/* Basic reset */

*,

*::before,

*::after {

  box-sizing: border-box;

  margin: 0;

  padding: 0;

}


body {

  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  line-height: 1.6;

  color: #222;

  background: #f5f5f7;

}


/* Layout helpers */

.container {

  width: min(1100px, 100% - 2rem);

  margin: 0 auto;

}


/* Header & navigation */

.site-header {

  position: sticky;

  top: 0;

  z-index: 1000;

  background: #101014ee;

  backdrop-filter: blur(8px);

  color: #fff;

}


.header-inner {

  display: flex;

  align-items: center;

  justify-content: space-between;

  padding: 0.6rem 0;

  gap: 1.5rem;

}


.logo-wrap {

  display: flex;

  align-items: center;

}

.site-logo {

  height: 60px;

  max-width: 220px;

}


.main-nav {

  display: flex;

  gap: 1.2rem;

  font-size: 0.95rem;

}

.main-nav a {

  color: #f4f4f4;

  text-decoration: none;

  padding-bottom: 0.1rem;

  border-bottom: 2px solid transparent;

}

.main-nav a:hover {

  border-color: #f3a21b;

}


.language-switch {

  display: flex;

  gap: 0.4rem;

  font-size: 0.85rem;

}

.language-switch a {

  text-decoration: none;

  color: #ddd;

  padding: 0.25rem 0.45rem;

  border-radius: 999px;

  border: 1px solid transparent;

}

.language-switch a.active {

  background: #f3a21b;

  color: #101014;

  border-color: #f3a21b;

}


/* Hero section */

.hero {

  background: radial-gradient(circle at top, #2b2b34 0, #101014 45%, #050508 100%);

  color: #fff;

  padding: 4.5rem 0 3.5rem;

}

.hero-inner {

  display: flex;

  justify-content: center;

}

.hero-text {

  max-width: 640px;

}

.hero h1 {

  font-size: clamp(2.1rem, 3vw, 2.8rem);

  margin-bottom: 1rem;

}

.hero p {

  margin-bottom: 1rem;

  font-size: 1rem;

}

.hero-bullets {

  list-style: none;

  margin: 0 0 1.3rem 0;

}

.hero-bullets li::before {

  content: "• ";

  color: #f3a21b;

}

.btn-primary {

  display: inline-block;

  padding: 0.7rem 1.5rem;

  background: #f3a21b;

  color: #101014;

  text-decoration: none;

  border-radius: 999px;

  font-weight: 600;

  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.35);

}

.btn-primary:hover {

  background: #ffb640;

}


/* Sections */

.section {

  padding: 3.5rem 0;

  background: #f5f5f7;

}

.section-light {

  background: #ffffff;

}

.section h2 {

  font-size: 1.7rem;

  margin-bottom: 1.3rem;

}


/* Two-column layout */

.columns {

  display: grid;

  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));

  gap: 2rem;

  margin-top: 1rem;

}

.columns h3 {

  margin-bottom: 0.6rem;

}


/* Brands grid */

.brand-grid {

  margin-top: 1.5rem;

  display: grid;

  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));

  gap: 1.5rem;

  align-items: center;

}

.brand-item {

  text-align: center;

}

.brand-item img {

  max-width: 110px;

  max-height: 80px;

  object-fit: contain;

  filter: grayscale(100%);

  opacity: 0.85;

  transition: filter 0.2s, opacity 0.2s, transform 0.2s;

}

.brand-item img:hover {

  filter: grayscale(0%);

  opacity: 1;

  transform: translateY(-3px);

}

.brand-item figcaption {

  margin-top: 0.4rem;

  font-size: 0.9rem;

}

.brand-note {

  margin-top: 1rem;

  font-size: 0.8rem;

  color: #666;

}


/* Contact */

.contact-grid {

  display: grid;

  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);

  gap: 2rem;

  margin-top: 1rem;

}

.contact-list {

  list-style: none;

  margin-top: 0.6rem;

}

.contact-list li + li {

  margin-top: 0.2rem;

}

.contact-list a {

  color: inherit;

  text-decoration: none;

}

.contact-list a:hover {

  text-decoration: underline;

}


.contact-locations ul {

  list-style: none;

}


/* Footer */

.site-footer {

  background: #101014;

  color: #bbb;

  padding: 1rem 0;

  font-size: 0.85rem;

  text-align: center;

}


/* Responsive */

@media (max-width: 800px) {

  .header-inner {

    flex-wrap: wrap;

    justify-content: center;

  }


  .main-nav {

    order: 3;

    flex-wrap: wrap;

    justify-content: center;

  }


  .hero {

    padding-top: 3.2rem;

  }


  .contact-grid {

    grid-template-columns: 1fr;

  }

}