/* Brand lockup override loaded after site.css */
@font-face {
  font-family: 'Ethnocentric';
  src: url('../fonts/ethnocentric-rg.otf') format('opentype');
  font-display: swap;
}

.logo-symcore,
.logo-gptech,
.home-link {
  font-family: 'Ethnocentric', 'Titillium Web', sans-serif !important;
}

.logo-symcore {
  color: #3dcd58 !important;
  letter-spacing: 0.08em !important;
  font-weight: 400 !important;
}

.logo-gptech {
  color: #3799e2 !important;
  letter-spacing: 0.06em !important;
  font-weight: 400 !important;
}

.home-link {
  color: #c7eac8 !important;
}

html {
  -webkit-text-size-adjust: 100%;
}

body {
  color: #dde4f2 !important;
}

.site-nav a {
  color: #e0e6f2 !important;
  font-size: 0.74rem !important;
  letter-spacing: 0.08em !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  background: rgba(255,255,255,0.05) !important;
}

.site-nav a:hover {
  color: #0f141c !important;
  background: #2ecc71 !important;
  border-color: #2ecc71 !important;
}

.site-nav {
  max-width: 100% !important;
}

.site-nav a {
  flex: 0 1 auto !important;
  min-width: 0 !important;
}

.featured-projects-links a {
  color: #d8e1ef !important;
  border-color: rgba(255,255,255,0.2) !important;
}

.section-label {
  color: #a7b4ca !important;
}

img,
svg,
video {
  max-width: 100%;
  height: auto;
}

@media (max-width: 900px) {
  .site-nav {
    display: none !important;
  }

  .cover-header {
    display: none !important;
  }

  .cover {
    grid-template-rows: 1fr auto !important;
  }
}

@media (max-width: 768px) {
  .site-nav-wrap {
    padding: 0.65rem 0.7rem !important;
    gap: 0.65rem !important;
  }

  .home-link {
    font-size: 0.72rem !important;
    letter-spacing: 0.05em !important;
  }

  .site-nav {
    width: 100% !important;
    gap: 0.4rem !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
  }

  .site-nav a {
    padding: 0.6rem 0.55rem !important;
    font-size: 0.67rem !important;
    letter-spacing: 0.06em !important;
    width: auto !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
    text-align: left !important;
  }

  .cover-header,
  .cover-hero,
  .cover-footer {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  .logo-symcore,
  .logo-gptech {
    font-size: 1.3rem !important;
    line-height: 1.05 !important;
  }

  .cover-title {
    font-size: clamp(1.7rem, 9vw, 2.8rem) !important;
    line-height: 1.02 !important;
  }

  .cover-subtitle {
    font-size: clamp(0.78rem, 3.8vw, 1rem) !important;
    letter-spacing: 0.12em !important;
    margin-bottom: 2rem !important;
  }

  .section-title {
    font-size: clamp(1.45rem, 7.2vw, 2.2rem) !important;
    margin-bottom: 1.2rem !important;
  }

  .section-body,
  .overview-description,
  .highlight-body,
  .jurisdiction-note,
  .footer-col p {
    font-size: 0.92rem !important;
    line-height: 1.65 !important;
  }

  .overview-inner,
  .highlights-inner,
  .gallery-inner,
  .gp-inner,
  .certs-inner,
  .products-inner,
  .callout-inner,
  .quick-projects-inner,
  .jurisdiction-inner,
  .leadership-inner,
  .footer-inner,
  .footer-bottom {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  .overview-inner,
  .highlights-inner,
  .gallery-inner,
  .gp-inner,
  .certs-inner,
  .products-inner,
  .callout-inner,
  .jurisdiction-inner,
  .leadership-inner,
  .footer-inner {
    padding-top: 2.6rem !important;
    padding-bottom: 2.6rem !important;
  }

  .highlights-grid,
  .vertical-grid,
  .products-grid,
  .gp-grid,
  .cert-grid,
  .scope-grid,
  .company-strip,
  .leadership-grid,
  .quick-projects-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 480px) {
  .home-link {
    font-size: 0.64rem !important;
    letter-spacing: 0.04em !important;
  }

  .site-nav {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    padding-bottom: 0.2rem !important;
  }

  .site-nav::-webkit-scrollbar {
    height: 4px;
  }

  .site-nav::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,0.25);
    border-radius: 2px;
  }

  .site-nav a {
    width: auto !important;
    flex: 0 0 auto !important;
    text-align: left !important;
    padding: 0.5rem !important;
    font-size: 0.63rem !important;
    white-space: nowrap !important;
  }

  .cover-header .address {
    font-size: 0.68rem !important;
    line-height: 1.45 !important;
  }

  .cover-title {
    font-size: clamp(1.45rem, 10vw, 2.1rem) !important;
  }

  .cover-meta-strip {
    gap: 0.85rem !important;
  }

  .meta-divider {
    display: none !important;
  }

  .meta-value {
    font-size: 0.8rem !important;
  }

  .gallery-caption,
  .footer-bottom p {
    font-size: 0.64rem !important;
    letter-spacing: 0.06em !important;
  }
}

@media (max-width: 430px) {
  .site-nav-wrap {
    padding-left: max(0.7rem, env(safe-area-inset-left)) !important;
    padding-right: max(0.7rem, env(safe-area-inset-right)) !important;
  }

  .home-link {
    font-size: 0.6rem !important;
    letter-spacing: 0.03em !important;
    line-height: 1.25 !important;
  }

  .site-nav a {
    min-height: 42px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    border-radius: 6px !important;
    font-size: 0.61rem !important;
    white-space: nowrap !important;
  }

  .logo-symcore,
  .logo-gptech {
    font-size: 1.08rem !important;
  }

  .cover-header,
  .cover-hero,
  .cover-footer,
  .overview-inner,
  .highlights-inner,
  .gallery-inner,
  .gp-inner,
  .certs-inner,
  .products-inner,
  .callout-inner,
  .quick-projects-inner,
  .jurisdiction-inner,
  .leadership-inner,
  .footer-inner,
  .footer-bottom {
    padding-left: max(0.8rem, env(safe-area-inset-left)) !important;
    padding-right: max(0.8rem, env(safe-area-inset-right)) !important;
  }

  .cover-header .address {
    font-size: 0.64rem !important;
    letter-spacing: 0.03em !important;
  }

  .cover-tag,
  .cover-eyebrow {
    font-size: 0.6rem !important;
    letter-spacing: 0.14em !important;
  }

  .section-label {
    font-size: 0.6rem !important;
    letter-spacing: 0.18em !important;
  }
}

@media (max-width: 390px) {
  .home-link {
    font-size: 0.56rem !important;
  }

  .site-nav a {
    min-height: 40px !important;
    font-size: 0.58rem !important;
    padding: 0.42rem !important;
  }

  .cover-title {
    font-size: clamp(1.3rem, 10.5vw, 1.85rem) !important;
    line-height: 1.05 !important;
  }

  .cover-subtitle {
    font-size: 0.72rem !important;
    letter-spacing: 0.1em !important;
    margin-bottom: 1.35rem !important;
  }

  .meta-label {
    font-size: 0.56rem !important;
    letter-spacing: 0.16em !important;
  }

  .meta-value {
    font-size: 0.72rem !important;
  }

  .section-title {
    font-size: clamp(1.25rem, 8vw, 1.75rem) !important;
  }

  .section-body,
  .overview-description,
  .highlight-body,
  .jurisdiction-note,
  .footer-col p {
    font-size: 0.86rem !important;
    line-height: 1.58 !important;
  }

  .cover-hero .cover-title {
    font-size: clamp(1.15rem, 9vw, 1.65rem) !important;
    letter-spacing: 0.03em !important;
  }

  .cover-companies {
    gap: 0.45rem !important;
  }

  .company-pill {
    padding: 0.5rem 0.6rem !important;
    font-size: 0.62rem !important;
    letter-spacing: 0.04em !important;
  }

  .company-pill span {
    font-size: 0.5rem !important;
    letter-spacing: 0.07em !important;
  }

  .featured-projects-links a {
    padding: 0.4rem 0.52rem !important;
    font-size: 0.58rem !important;
    letter-spacing: 0.04em !important;
  }

  .gp-section .section-title .logo-gptech {
    font-size: clamp(0.95rem, 6.6vw, 1.25rem) !important;
    letter-spacing: 0.015em !important;
  }
}

/* Keep nav buttons hidden consistently on small screens. */
@media (max-width: 900px) {
  .site-nav {
    display: none !important;
  }

  .cover-header {
    display: none !important;
  }
}
