/* ================================================================
   ICON Design Automation — shared.css  v6 — AUTHORITATIVE
   This file controls ALL: navbar, mobile menu, footer, helpers.
   Individual pages have ONLY their unique component styles.
   ================================================================ */

/* ── VARIABLES ──────────────────────────────────────────────────── */
:root {
  --navy:          #0a1628;
  --navy-mid:      #112240;
  --navy-light:    #1a3a5c;
  --accent:        #FFF000;
  --accent-light:  #f5c050;
  --steel:         #8899aa;
  --steel-light:   #b0c4d8;
  --white:         #f0f4f8;
  --text:          #ccd6e8;
  --text-muted:    #7890a8;
  --border:        rgba(180,210,255,0.12);
  --border-accent: rgba(232,160,32,0.3);
  --font-display:  'Sora', sans-serif;
  --font-body:     'DM Sans', sans-serif;
  --transition:    0.3s ease;
  --shadow:        0 4px 24px rgba(0,0,0,0.4);
}

/* ── RESET ──────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--font-body);
  background: var(--navy);
  color: var(--text);
  line-height: 1.7;
  overflow-x: hidden;
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
a   { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }

/* ================================================================
   NAVBAR — white floating pill
   ================================================================ */
.navbar {
  position: fixed;
  top: 14px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1000;
  background: #ffffff;
  border-radius: 60px;
  /* CRITICAL: NO overflow:hidden — would clip dropdown panels */
  height: 80px;
  width: calc(100% - 40px);
  max-width: 1280px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 14px 0 24px;
  box-shadow: 0 4px 24px rgba(0,0,0,.15);
  transition: box-shadow .3s, top .3s;
}
.navbar.scrolled {
  box-shadow: 0 6px 32px rgba(0,0,0,.22);
  top: 8px;
}

/* Logo */
.nav-logo              { display: flex; align-items: center; flex-shrink: 0; }
.nav-logo img          { height: 62px; width: auto; display: block; }

/* Link list — full navbar height so hover zone is tall */
.nav-links {
  display: flex;
  align-items: stretch;
  list-style: none;
  height: 100%;
  margin: 0; padding: 0;
}
.nav-links > li {
  position: relative;
  display: flex;
  align-items: center;
}
.nav-links > li > a {
  font-family: var(--font-display);
  font-size: 14.5px;
  font-weight: 500;
  color: #1a1a2e;
  padding: 0 1rem;
  display: flex;
  align-items: center;
  height: 100%;
  white-space: nowrap;
  transition: color .18s;
  cursor: pointer;
  user-select: none;
}
.nav-links > li > a:hover,
.nav-links > li > a.active { color: #2563eb; }

/* ─────────────────────────────────────────────────────────────────
   DROPDOWN — THE FIX
   top:100% = flush to bottom of <li>, NO gap in DOM.
   padding-top creates the visual gap but the hover area is
   continuous — mouse stays inside <li> the whole way down.
   opacity + pointer-events avoids display:none flicker.
   ───────────────────────────────────────────────────────────────── */
.dropdown {
  position: absolute;
  top: 100%;          /* flush — NO gap */
  left: 0;
  padding-top: 10px;  /* visual gap lives here, still in hover zone */
  z-index: 9999;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-4px);
  transition: opacity .18s ease, transform .18s ease;
  min-width: 200px;
}
.nav-links > li:hover > .dropdown {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

/* The visible card inside the dropdown */
.dropdown-box {
  background: #ffffff;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 14px 44px rgba(0,0,0,.16);
  padding: .5rem 0;
  min-width: 220px;
}
.dropdown-box a {
  display: block;
  padding: .65rem 1.4rem;
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 500;
  color: #2d3748;
  white-space: nowrap;
  transition: color .14s, background .14s;
}
.dropdown-box a:hover  { color: #2563eb; background: #eef2ff; }
.dropdown-box a.active { color: #2563eb; font-weight: 700; background: #f0f5ff; }
.dropdown-box hr {
  border: none;
  border-top: 1px solid rgba(0,0,0,.08);
  margin: .35rem .85rem;
}

/* CTA pill */
.nav-cta {
  font-family: var(--font-display) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #ffffff !important;
  background: #2563eb !important;
  border-radius: 50px !important;
  padding: .52rem 1.3rem !important;
  height: auto !important;
  align-self: center;
  margin-left: .4rem;
  white-space: nowrap;
  transition: background .2s !important;
  line-height: 1.3 !important;
}
.nav-cta:hover { background: #1d4ed8 !important; }

/* Partner logo ticker on right */
.nav-partner {
  display: flex;
  align-items: center;
  padding-left: .9rem;
  border-left: 1px solid rgba(0,0,0,.1);
  margin-left: .4rem;
  flex-shrink: 0;
}
.nav-partner-ticker     { position: relative; width: 136px; height: 62px; }
.nav-partner-ticker img {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  max-height: 55px;
  max-width: 128px;
  object-fit: contain;
  opacity: 0;
  transition: opacity .6s;
  pointer-events: none;
}
.nav-partner-ticker img.np-active { opacity: 1; }

/* ── HAMBURGER ──────────────────────────────────────────────────── */
.hamburger {
  display: none;
  flex-direction: column;
  gap: 5px;
  padding: .5rem;
  background: none;
  border: none;
  cursor: pointer;
  flex-shrink: 0;
}
.hamburger span {
  display: block;
  width: 24px; height: 2px;
  background: #1a1a2e;
  border-radius: 2px;
  transition: transform .28s, opacity .28s;
}
.hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity: 0; }
.hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ── MOBILE MENU ────────────────────────────────────────────────── */
.mobile-menu {
  display: none;
  position: fixed;
  top: 102px;
  left: 12px; right: 12px;
  background: #ffffff;
  border-radius: 16px;
  box-shadow: 0 10px 44px rgba(0,0,0,.18);
  z-index: 998;
  overflow: hidden;
  max-height: calc(100vh - 116px);
  overflow-y: auto;
}
.mobile-menu.open { display: block; }
.mobile-partner-strip {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: .85rem 1.5rem;
  border-bottom: 1px solid rgba(0,0,0,.07);
  background: #f8fafc;
}
.mobile-partner-ticker     { position: relative; width: 136px; height: 52px; }
.mobile-partner-ticker img {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  max-height: 46px;
  max-width: 128px;
  object-fit: contain;
  opacity: 0;
  transition: opacity .6s;
  pointer-events: none;
}
.mobile-partner-ticker img.mnp-active { opacity: 1; }
.mobile-menu a {
  display: block;
  padding: .75rem 1.5rem;
  font-family: var(--font-display);
  font-size: 15px;
  font-weight: 500;
  color: #1a1a2e;
  border-bottom: 1px solid rgba(0,0,0,.055);
  transition: color .15s, background .15s;
}
.mobile-menu a:last-child { border-bottom: none; }
.mobile-menu a:hover      { color: #2563eb; background: #f0f5ff; }
.mobile-sub {
  padding-left: 2.6rem !important;
  font-size: 13px !important;
  color: #6b7c93 !important;
}

/* Hide desktop nav on mobile */
@media (max-width: 960px) {
  .nav-links, .nav-partner { display: none; }
  .hamburger { display: flex; }
}

/* ── PAGE HERO (inner pages) ────────────────────────────────────── */
.page-hero {
  position: relative;
  padding: 148px 6vw 72px;
  background: var(--navy-mid);
  border-bottom: 1px solid var(--border);
  overflow: hidden;
}

.page-hero-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: .09;
}

.page-hero-inner {
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
  text-align: center;
}

.page-breadcrumb {
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 1rem;

  display: flex;
  justify-content: center;
  align-items: center;
  gap: .5rem;
}

.page-breadcrumb a {
  color: var(--text-muted);
  transition: color .2s;
}

.page-breadcrumb a:hover {
  color: var(--accent);
}

.page-breadcrumb span {
  color: var(--text-muted);
}

.page-eyebrow {
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: .9rem;
}

.page-title,
.page-hero h1 {
  font-family: var(--font-display);
  font-size: clamp(2.4rem, 5vw, 4.2rem);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -.04em;
  color: #fff;
  margin-bottom: 1.5rem;
}

.page-title em,
.page-hero h1 em {
  font-style: normal;
  background: linear-gradient(
    90deg,
    var(--accent) 0%,
    #f5c050 100%
  );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.page-subtitle,
.page-hero-desc {
  font-family: var(--font-body);
  font-size: 1.12rem;
  font-weight: 300;
  color: rgba(190,210,235,.88);
  line-height: 1.9;

  max-width: 950px;
  width: 100%;

  margin: 0 auto;

  text-align: center;

  column-count: 1 !important;
  columns: auto !important;
}

@media (max-width: 768px) {

  .page-hero {
    padding: 130px 5vw 60px;
  }

  .page-title,
  .page-hero h1 {
    font-size: clamp(2rem, 8vw, 3rem);
  }

  .page-subtitle,
  .page-hero-desc {
    font-size: 1rem;
    max-width: 100%;
  }

  .page-breadcrumb {
    flex-wrap: wrap;
    gap: .3rem;
  }
}

/* ── STATS BAR ──────────────────────────────────────────────────── */
.stats-bar  { background: var(--navy-light); border-bottom: 1px solid var(--border); padding: 2rem 4vw; }
.stats-grid { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: repeat(4,1fr); gap: 1.5rem; }
.stat-item  { text-align: center; }
.stat-number {
  font-family: var(--font-display); font-size: 2.6rem;
  font-weight: 800; letter-spacing: -.03em;
  color: var(--accent); line-height: 1.1;
}
.stat-label {
  font-family: var(--font-display); font-size: 11px;
  font-weight: 600; letter-spacing: .16em;
  text-transform: uppercase; color: var(--text-muted); margin-top: .3rem;
}
@media (max-width: 600px) { .stats-grid { grid-template-columns: repeat(2,1fr); } }

/* ── SECTION HELPERS ────────────────────────────────────────────── */
section { padding: 5rem 4vw; }
.sec-inner, .inner { max-width: 1200px; margin: 0 auto; }
.section-label {
  font-family: var(--font-display); font-size: 11px; font-weight: 600;
  letter-spacing: .22em; text-transform: uppercase;
  color: var(--accent); margin-bottom: .6rem;
}
.section-title {
  font-family: var(--font-display);
  font-size: clamp(1.8rem, 3.5vw, 2.6rem);
  font-weight: 700; color: var(--white);
  line-height: 1.15; letter-spacing: -.02em; margin-bottom: 1rem;
}
.section-title em {
  font-style: normal;
  background: linear-gradient(90deg, var(--accent), #f5c050);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
.section-line { width: 48px; height: 3px; background: var(--accent); border-radius: 2px; margin-bottom: 1.5rem; }
.section-desc { font-family: var(--font-body); font-size: 1rem; color: var(--text-muted); line-height: 1.8; max-width: 640px; }

/* ── BUTTONS ────────────────────────────────────────────────────── */
.btn-primary {
  font-family: var(--font-display); font-size: 15px; font-weight: 600;
  color: var(--navy); background: var(--accent);
  padding: .85rem 2.2rem; border-radius: 50px;
  border: 2px solid var(--accent); transition: all .3s;
  display: inline-flex; align-items: center; gap: .5rem;
}
.btn-primary:hover { background: var(--accent-light); }
.btn-outline {
  font-family: var(--font-display); font-size: 15px; font-weight: 600;
  color: var(--accent); background: transparent;
  border: 2px solid var(--border-accent); padding: .85rem 2.2rem;
  border-radius: 50px; transition: all .3s; display: inline-block;
}
.btn-outline:hover { border-color: var(--accent); background: rgba(232,160,32,.08); }

/* ── CTA BAND ───────────────────────────────────────────────────── */
.cta-band {
  background: linear-gradient(135deg, var(--navy-light), var(--navy-mid));
  border-top: 1px solid var(--border-accent);
  border-bottom: 1px solid var(--border);
  padding: 4rem 4vw; text-align: center;
}
.cta-band h2 {
  font-family: var(--font-display);
  font-size: clamp(1.6rem, 3vw, 2.3rem);
  font-weight: 700; letter-spacing: -.02em; color: #fff; margin-bottom: .8rem;
}
.cta-band p {
  font-family: var(--font-body); font-size: 1rem; color: var(--text-muted);
  line-height: 1.75; margin-bottom: 2rem;
  max-width: 520px; margin-left: auto; margin-right: auto;
}
.cta-buttons { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }

/* ── LOGO SCROLL STRIP ──────────────────────────────────────────── */
.logostrip-section {
  background: #f0f4f8;
  border-top: 1px solid #dde4ed;
  border-bottom: 1px solid #dde4ed;
  padding: 3rem 4vw;
}
.ls-inner { max-width: 1200px; margin: 0 auto; }
.ls-label {
  font-family: var(--font-display); font-size: 11px; font-weight: 700;
  letter-spacing: .2em; text-transform: uppercase;
  color: #6b7c93; text-align: center; margin-bottom: 2rem;
}
.ls-track-wrap { overflow: hidden; position: relative; }
.ls-track-wrap::before,
.ls-track-wrap::after {
  content: ''; position: absolute; top: 0; bottom: 0; width: 80px; z-index: 2;
}
.ls-track-wrap::before { left:  0; background: linear-gradient(to right, #f0f4f8, transparent); }
.ls-track-wrap::after  { right: 0; background: linear-gradient(to left,  #f0f4f8, transparent); }
.ls-track { display: flex; gap: 2.5rem; width: max-content; animation: lsScroll 36s linear infinite; }
.ls-track.reverse { animation-direction: reverse; animation-duration: 42s; }
.ls-track img { height: 60px; object-fit: contain; flex-shrink: 0; }
@keyframes lsScroll { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }

/* ── FOOTER ─────────────────────────────────────────────────────── */
footer {
  background: var(--navy-mid);
  border-top: 1px solid var(--border);
  padding: 3.5rem 4vw 2rem;
}
.footer-grid {
  max-width: 1200px; margin: 0 auto;
  display: grid; grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 3rem; margin-bottom: 2.5rem;
}
.footer-brand img           { height: 36px; margin-bottom: 1rem; }
.footer-brand p             { font-family: var(--font-body); font-size: .875rem; color: var(--text-muted); line-height: 1.75; margin-bottom: 1.2rem; }
.footer-socials             { display: flex; gap: .7rem; }
.social-btn {
  width: 36px; height: 36px; border: 1px solid var(--border); border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  color: var(--text-muted); transition: all .3s;
}
.social-btn:hover           { border-color: var(--accent); color: var(--accent); background: rgba(232,160,32,.08); }
.footer-col h4 {
  font-family: var(--font-display); font-size: 11px; font-weight: 700;
  letter-spacing: .18em; text-transform: uppercase;
  color: var(--accent); margin-bottom: 1rem;
}
.footer-col ul              { list-style: none; }
.footer-col ul li           { margin-bottom: .5rem; }
.footer-col ul li a         { font-family: var(--font-body); font-size: .875rem; color: var(--text-muted); transition: color .3s; }
.footer-col ul li a:hover   { color: var(--steel-light); }
.footer-contact-item        { display: flex; gap: .6rem; margin-bottom: .65rem; font-family: var(--font-body); font-size: .875rem; color: var(--text-muted); align-items: flex-start; }
.footer-contact-item .icon  { color: var(--accent); margin-top: 2px; flex-shrink: 0; }
.footer-contact-item a      { color: var(--text-muted); transition: color .3s; }
.footer-contact-item a:hover{ color: var(--accent); }
.footer-bottom {
  max-width: 1200px; margin: 0 auto; padding-top: 1.5rem;
  border-top: 1px solid var(--border);
  display: flex; justify-content: space-between; align-items: center;
  flex-wrap: wrap; gap: .75rem;
  font-family: var(--font-body); font-size: 12px; color: var(--text-muted);
}
.footer-legal               { display: flex; gap: 1.5rem; }
.footer-legal a             { color: var(--text-muted); transition: color .3s; }
.footer-legal a:hover       { color: var(--accent); }
@media (max-width: 1024px) { .footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 768px)  { .footer-grid { grid-template-columns: 1fr; } .footer-bottom { flex-direction: column; text-align: center; } }

/* ── SCROLL REVEAL ──────────────────────────────────────────────── */
.reveal         { opacity: 0; transform: translateY(24px); transition: opacity .65s, transform .65s; }
.reveal.visible { opacity: 1; transform: translateY(0); }


/* ── REVEAL FALLBACK ─────────────────────────────────────────────
   If IntersectionObserver doesn't fire (e.g. prerendering, some
   browser configs), elements become visible after 1s via animation.
   ─────────────────────────────────────────────────────────────── */
@keyframes revealFallback { from { opacity:0; transform:translateY(22px); } to { opacity:1; transform:translateY(0); } }
.reveal { animation: revealFallback 0.65s ease 0.8s both; }
.reveal.visible { animation: none; opacity:1; transform:translateY(0); }

/* ================================================================
   PAGE-SPECIFIC COMPONENT STYLES
   All component CSS from every page centralised here.
   ================================================================ */

/* ══════════════════════════════════════════════════════════════════
   HOME PAGE — HERO SLIDER
   ══════════════════════════════════════════════════════════════════ */
/* ── NAVBAR — pill/capsule white container matching beta reference ── */





    /* Dropdown — white card style */

    /* Contact Us — blue pill button */

    /* Partner badge — right side of navbar, JS crossfade rotation */

    /* FIX: Hamburger menu — fully functional */


    /* Partner logos strip — top of mobile menu, centered */

    /* Nav links below the partner strip */

    /* ══ HERO — full-width immersive with filmstrip ══ */
    .hero {
      position: relative;
      width: 100%;
      height: 100vh;
      min-height: 660px;
      overflow: hidden;
    }

    /* ── Background layers ── */
    .hero-bg-layer {
      position: absolute;
      inset: 0;
      z-index: 1;
    }
    .hbg {
      position: absolute;
      inset: 0;
      opacity: 0;
      visibility: hidden;
      z-index: 1;
      transition: opacity .9s ease, visibility 0s linear .9s;
    }
    .hbg.hbg-active {
      opacity: 1;
      visibility: visible;
      z-index: 2;
      transition: opacity .9s ease, visibility 0s;
    }
    .hbg-img {
      background-repeat:no-repeat;
      background-size:cover;
      background-position:center center;
      transform:scale(1.05);
      transition: transform 8s linear, opacity .9s ease;
    }
    .hbg-img.hbg-active {
      transform:scale(1);
    }
    /* Video backgrounds */
    .hbg-video { background: #000; }
    .hbg-video iframe {
      position: absolute;
      top: 50%; left: 50%;
      width: 177.78vh;
      height: 100vh;
      min-width: 100%; min-height: 56.25vw;
      transform: translate(-50%, -50%);
      pointer-events: none;
      border: none;
    }

    /* Gradient overlay — full width */
    .hero-overlay {
      position: absolute;
      inset: 0;
      z-index: 2;
      background:
        linear-gradient(105deg, rgba(5,14,30,0.94) 0%, rgba(5,14,30,0.7) 40%, rgba(5,14,30,0.25) 80%, transparent 100%),
        linear-gradient(to top, rgba(5,14,30,0.75) 0%, transparent 45%);
    }

    /* ── Slide text content ── */
    .hero-content {
      position: absolute;
      inset: 0;
      z-index: 4;
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 0 7vw;
      max-width: 800px;
    }
    .hslide {
      position: absolute;
      top: 0; left: 0; right: 0;
      opacity: 0;
      transform: translateY(30px);
      transition: opacity 0s, transform 0s;
      pointer-events: none;
    }
    .hslide.hs-in {
      position: relative;
      opacity: 1;
      transform: translateY(0);
      pointer-events: auto;
      transition: opacity 0.8s 0.15s ease, transform 0.8s 0.15s ease;
    }
    .hslide.hs-out {
      opacity: 0;
      transform: translateY(-18px);
      transition: opacity 0.35s ease, transform 0.35s ease;
    }
    .hslide-eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      font-family: var(--font-display);
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.32em;
      text-transform: uppercase;
      color: var(--accent);
      margin-bottom: 1.4rem;
    }
    .hslide-eyebrow::before {
      content: '';
      width: 24px; height: 2px;
      background: var(--accent);
      border-radius: 2px;
    }
    .hslide-title {
      font-family: var(--font-display);
      font-size: clamp(2.6rem, 5.5vw, 5rem);
      font-weight: 800;
      line-height: 1.03;
      letter-spacing: -0.04em;
      color: #ffffff;
      margin-bottom: 1.4rem;
    }
    .hslide-title em {
      font-style: normal;
      background: linear-gradient(90deg, var(--accent) 0%, #f5c050 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }
    .hslide-desc {
      font-family: var(--font-body);
      font-size: 1.05rem;
      font-weight: 300;
      color: rgba(185,205,230,0.88);
      line-height: 1.82;
      max-width: 520px;
      margin-bottom: 2.6rem;
    }
    .hslide-actions {
      display: flex;
      align-items: center;
      gap: 1.2rem;
      flex-wrap: wrap;
    }
    .hslide-btn {
      font-family: var(--font-display);
      font-size: 13px;
      font-weight: 600;
      color: var(--navy);
      background: var(--accent);
      padding: 0.82rem 2.1rem;
      border-radius: 50px;
      border: 2px solid var(--accent);
      transition: all 0.3s;
      white-space: nowrap;
    }
    .hslide-btn:hover { background: transparent; color: var(--accent); }
    .hslide-link {
      font-family: var(--font-display);
      font-size: 13px;
      font-weight: 500;
      color: rgba(255,255,255,0.5);
      display: inline-flex;
      align-items: center;
      gap: 6px;
      transition: color 0.3s, gap 0.3s;
    }
    .hslide-link:hover { color: #fff; gap: 10px; }

    /* ── Right filmstrip ── */
    .hero-filmstrip {
      position: absolute;
      right: 2rem;
      top: 50%;
      transform: translateY(-50%);
      z-index: 10;
      display: flex;
      flex-direction: column;
      gap: 10px;
    }
    .hfs-thumb {
      width: 82px; height: 54px;
      border-radius: 8px;
      overflow: hidden;
      cursor: pointer;
      position: relative;
      border: 2px solid transparent;
      transition: border-color 0.3s, transform 0.3s, opacity 0.3s;
      opacity: 0.55;
      flex-shrink: 0;
    }
    .hfs-thumb:hover { opacity: 0.85; transform: scale(1.04); }
    .hfs-thumb.hft-active { border-color: var(--accent); opacity: 1; transform: scale(1.07); }
    .hfs-img {
      width: 100%; height: 100%;
      background-size: cover;
      background-position: center;
    }
    .hfs-overlay {
      position: absolute;
      inset: 0;
      background: rgba(0,0,0,0.3);
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .hfs-overlay svg { width: 16px; height: 16px; fill: rgba(255,255,255,0.9); display: none; }
    .hfs-thumb.hft-video .hfs-overlay svg { display: block; }
    .hfs-bar {
      position: absolute;
      bottom: 0; left: 0;
      height: 3px;
      width: 0%;
      background: var(--accent);
      border-radius: 0 0 6px 6px;
    }
    .hfs-thumb.hft-active .hfs-bar {
      width: 100%;
      transition: width 6.5s linear;
    }

    /* ── Bottom controls ── */
    .hero-bottombar {
      position: absolute;
      bottom: 0; left: 0; right: 0;
      z-index: 10;
      padding: 0 7vw 2.6rem;
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
    }
    .hbb-left {
      display: flex;
      flex-direction: column;
      gap: 6px;
    }
    .hbb-num {
      font-family: var(--font-display);
      font-size: 11px;
      letter-spacing: 0.1em;
      color: rgba(255,255,255,0.35);
      user-select: none;
    }
    .hbb-num b { font-size: 2.4rem; font-weight: 800; color: rgba(255,255,255,0.9); letter-spacing: -0.04em; line-height: 1; display: block; }
    .hbb-arrows {
      display: flex;
      gap: 8px;
    }
    .hbb-arrow {
      width: 44px; height: 44px;
      border: 1px solid rgba(255,255,255,0.18);
      border-radius: 50%;
      background: rgba(255,255,255,0.05);
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
      color: rgba(255,255,255,0.65);
      display: flex; align-items: center; justify-content: center;
      cursor: pointer;
      font-size: 18px;
      transition: all 0.3s;
    }
    .hbb-arrow:hover { border-color: var(--accent); color: var(--accent); background: rgba(232,160,32,0.12); }

    /* Scroll hint centered bottom */
    .hero-scroll-hint {
      position: absolute;
      bottom: 2.4rem;
      left: 50%;
      transform: translateX(-50%);
      z-index: 10;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 6px;
      font-family: var(--font-display);
      font-size: 9px;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: rgba(255,255,255,0.2);
    }
    .hero-scroll-hint::after {
      content: '';
      width: 1px; height: 40px;
      background: linear-gradient(to bottom, rgba(232,160,32,0.8), transparent);
      animation: scrollPulse 2s ease-in-out infinite;
    }
    @keyframes scrollPulse { 0%,100%{opacity:0.2;transform:scaleY(0.4)} 50%{opacity:1;transform:scaleY(1)} }

    /* ── Mobile hero ── */
    @media (max-width: 768px) {
      .hero-filmstrip { display: none; }
      .hero-content { padding: 0 5vw; max-width: 100%; }
      .hslide-title { font-size: clamp(2rem, 8vw, 3rem); }
      .hslide-desc { max-width: 100%; font-size: 0.92rem; }
      .hero-bottombar { padding: 0 5vw 1.8rem; }
      .hbb-num b { font-size: 1.8rem; }
      .hero-scroll-hint { display: none; }
    }

    /* ── STATS BAR (NEW) ── */

    /* ── NEWS TICKER ── */
    .ticker-bar {
      background: var(--navy-light);
      border-bottom: 1px solid var(--border);
      padding: 0;
      overflow: hidden;
      display: flex;
      align-items: center;
      height: 42px;
    }
    .ticker-label {
      background: var(--accent);
      color: var(--navy);
      font-family: var(--font-display);
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      padding: 0 1.4rem;
      height: 100%;
      display: flex;
      align-items: center;
      white-space: nowrap;
      flex-shrink: 0;
      z-index: 1;
    }
    .ticker-track { overflow: hidden; flex: 1; }
    .ticker-inner {
      display: flex;
      white-space: nowrap;
      animation: ticker 28s linear infinite;
    }
    .ticker-inner:hover { animation-play-state: paused; }
    .ticker-item {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      font-family: var(--font-body);
      font-size: 13px;
      font-weight: 400;
      color: var(--steel-light);
      padding: 0 2.5rem;
    }
    .ticker-item .dot { color: var(--accent); font-size: 16px; line-height: 1; }
    @keyframes ticker { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }

    /* ── SECTION COMMONS ── */

    /* ── ABOUT SECTION ── */
    .about-section {
      background: var(--navy-mid);
      border-top: 1px solid var(--border);
      border-bottom: 1px solid var(--border);
    }
    .about-inner {
      max-width: 1200px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 4rem;
      align-items: center;
    }
    .about-text p {
      font-family: var(--font-body);
      color: var(--text-muted);
      font-size: 1rem;
      font-weight: 400;
      line-height: 1.85;
      margin-bottom: 1rem;
    }
    .about-text p strong { color: var(--text); font-weight: 600; }
    .about-link {
      display: inline-flex;
      align-items: center;
      gap: 0.4rem;
      font-family: var(--font-display);
      font-size: 14px;
      font-weight: 600;
      letter-spacing: 0.01em;
      text-transform: none;
      color: var(--accent);
      border-bottom: 1px solid var(--border-accent);
      padding-bottom: 2px;
      margin-top: 0.5rem;
      transition: gap var(--transition), border-color var(--transition);
    }
    .about-link:hover { gap: 0.8rem; border-color: var(--accent); }

    /* FIX: About image — note to user about replacing with real photo */
    .about-img-wrap {
      position: relative;
      border-radius: 8px;
      overflow: hidden;
      aspect-ratio: 4/3;
    }
    .about-img-wrap::before {
      content: '';
      position: absolute;
      inset: 0;
      border: 2px solid var(--border-accent);
      border-radius: 8px;
      z-index: 2;
      pointer-events: none;
    }
    .about-img-wrap img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      filter: brightness(0.85) saturate(0.8);
    }
    .about-img-caption {
      position: absolute;
      bottom: 0;
      left: 0; right: 0;
      background: linear-gradient(to top, rgba(10,22,40,0.9), transparent);
      padding: 1.2rem 1rem 0.8rem;
      font-size: 12px;
      color: var(--text-muted);
      letter-spacing: 0.04em;
      z-index: 3;
    }

    /* ── VERTICALS ───────────────────────────────────────── */

.verticals-section{
  background:var(--navy);
}

.verticals-inner{
  max-width:1200px;
  margin:0 auto;
}

.verticals-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.8rem;
  margin-top:2.8rem;
}

/* CARD */
.vertical-card{
  background:linear-gradient(
    180deg,
    rgba(255,255,255,0.03) 0%,
    rgba(255,255,255,0.015) 100%
  );

  border:1px solid var(--border);

  border-radius:22px;

  overflow:hidden;

  transition:
    transform .35s ease,
    border-color .35s ease,
    box-shadow .35s ease;

  position:relative;
}

.vertical-card:hover{
  transform:translateY(-6px);

  border-color:rgba(232,160,32,0.35);

  box-shadow:
    0 20px 40px rgba(0,0,0,0.35);
}

/* TOP IMAGE */
.vertical-icon{
  position:relative;

  width:100%;

  height:240px;

  overflow:hidden;

  background:#0f1f34;
}

/* IMAGE */
.vertical-icon img{
  width:100%;

  height:100%;

  object-fit:cover;

  display:block;

  transition:
    transform .6s ease,
    filter .5s ease;

  filter:
    brightness(.92)
    saturate(.95);
}

/* IMAGE HOVER */
.vertical-card:hover .vertical-icon img{
  transform:scale(1.06);

  filter:
    brightness(1)
    saturate(1.05);
}

/* OVERLAY */
.vertical-icon::after{
  content:'';

  position:absolute;

  inset:0;

  background:
    linear-gradient(
      to top,
      rgba(10,22,40,.92) 0%,
      rgba(10,22,40,.15) 45%,
      transparent 100%
    );
}

/* CONTENT */
.vertical-card h3{
  font-family:var(--font-display);

  font-size:1.22rem;

  font-weight:700;

  color:var(--white);

  letter-spacing:-0.02em;

  margin:
    1.5rem
    1.5rem
    0.8rem;
}

.vertical-card p{
  font-family:var(--font-body);

  font-size:0.95rem;

  color:var(--text-muted);

  line-height:1.8;

  margin:
    0
    1.5rem
    1.3rem;
}

/* PARTNER PILLS */
.partner-pills{
  display:flex;

  flex-wrap:wrap;

  gap:.5rem;

  margin:
    0
    1.5rem
    1.4rem;
}

.pill{
  font-family:var(--font-body);

  font-size:11px;

  font-weight:600;

  letter-spacing:.02em;

  background:
    rgba(232,160,32,.10);

  color:var(--accent);

  border:
    1px solid
    rgba(232,160,32,.22);

  border-radius:999px;

  padding:
    5px
    12px;
}

/* LINK */
.card-link{
  display:inline-flex;

  align-items:center;

  gap:.35rem;

  margin:
    0
    1.5rem
    1.7rem;

  font-family:var(--font-display);

  font-size:13px;

  font-weight:600;

  color:var(--accent);

  transition:gap .3s ease;
}

.card-link:hover{
  gap:.7rem;
}

/* TABLET */
@media (max-width:1024px){

  .verticals-grid{
    grid-template-columns:1fr;
  }

  .vertical-icon{
    height:260px;
  }
}

/* MOBILE */
@media (max-width:768px){

  .vertical-icon{
    height:210px;
  }

  .vertical-card h3{
    font-size:1.1rem;
  }

  .vertical-card p{
    font-size:.9rem;
  }
}

    /* ══════════════════════════════════════════
       CAPABILITIES DEEP-DIVE (tabbed)
    ══════════════════════════════════════════ */
    .capabilities-section {
      background: var(--navy-mid);
      border-top: 1px solid var(--border);
      border-bottom: 1px solid var(--border);
    }
    .cap-inner { max-width: 1200px; margin: 0 auto; }
    .cap-tabs {
      display: flex;
      gap: 0;
      border-bottom: 1px solid var(--border);
      margin-bottom: 3rem;
      overflow-x: auto;
      scrollbar-width: none;
    }
    .cap-tabs::-webkit-scrollbar { display: none; }
    .cap-tab {
      font-family: var(--font-display);
      font-size: 13px;
      font-weight: 600;
      letter-spacing: 0.04em;
      color: var(--text-muted);
      padding: 1rem 1.6rem;
      border: none;
      border-bottom: 3px solid transparent;
      cursor: pointer;
      white-space: nowrap;
      transition: color 0.25s, border-color 0.25s;
      background: none;
      margin-bottom: -1px;
    }
    .cap-tab:hover { color: var(--white); }
    .cap-tab.ct-active { color: var(--accent); border-bottom-color: var(--accent); }
    .cap-panel {
      display: none;
      grid-template-columns: 1fr 1fr;
      gap: 4rem;
      align-items: start;
    }
    .cap-panel.cp-active { display: grid; }
    .cap-panel-img {
      border-radius: 12px;
      overflow: hidden;
      aspect-ratio: 4/3;
      position: relative;
    }
    .cap-panel-img img { width: 100%; height: 100%; object-fit: cover; filter: brightness(0.82) saturate(0.7); }
    .cap-panel-img::after {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(to top, var(--navy-mid) 0%, transparent 50%);
    }
    .cap-panel-body h3 {
      font-family: var(--font-display);
      font-size: 1.55rem;
      font-weight: 700;
      letter-spacing: -0.02em;
      color: var(--white);
      margin-bottom: 0.8rem;
    }
    .cap-desc {
      font-family: var(--font-body);
      font-size: 0.97rem;
      color: var(--text-muted);
      line-height: 1.82;
      margin-bottom: 1.8rem;
    }
    .cap-specs {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 0.75rem;
      margin-bottom: 2rem;
    }
    .cap-spec {
      background: rgba(255,255,255,0.03);
      border: 1px solid var(--border);
      border-radius: 8px;
      padding: 0.85rem 1rem;
      transition: border-color 0.3s;
    }
    .cap-spec:hover { border-color: var(--border-accent); }
    .cap-spec-label {
      font-family: var(--font-display);
      font-size: 9px;
      font-weight: 700;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--text-muted);
      margin-bottom: 3px;
    }
    .cap-spec-value {
      font-family: var(--font-display);
      font-size: 0.9rem;
      font-weight: 600;
      color: var(--accent);
    }

    /* ══════════════════════════════════════════
       RF SPECTRUM COVERAGE
    ══════════════════════════════════════════ */
    .spectrum-section { background: var(--navy); overflow: hidden; }
    .spectrum-inner { max-width: 1200px; margin: 0 auto; }
    .spectrum-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 1px;
      background: var(--border);
      border: 1px solid var(--border);
      border-radius: 12px;
      overflow: hidden;
      margin-top: 3rem;
    }
    .spectrum-band {
      background: var(--navy-mid);
      padding: 1.8rem 1.4rem;
      position: relative;
      overflow: hidden;
      transition: background 0.3s;
    }
    .spectrum-band:hover { background: rgba(232,160,32,0.06); }
    .spectrum-band::after {
      content: '';
      position: absolute;
      bottom: 0; left: 0;
      width: 100%; height: 3px;
      background: var(--accent);
      transform: scaleX(0);
      transform-origin: left;
      transition: transform 0.7s ease;
    }
    .spectrum-band.sb-revealed::after { transform: scaleX(1); }
    .spectrum-band-name {
      font-family: var(--font-display);
      font-size: 2.2rem;
      font-weight: 800;
      letter-spacing: -0.05em;
      color: var(--accent);
      line-height: 1;
      margin-bottom: 0.3rem;
    }
    .spectrum-band-range {
      font-family: var(--font-display);
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.12em;
      color: var(--text-muted);
      margin-bottom: 0.8rem;
    }
    .spectrum-wave {
      display: flex;
      align-items: flex-end;
      gap: 3px;
      height: 24px;
      margin: 0.7rem 0;
    }
    .sw-bar {
      flex: 1;
      background: var(--accent);
      opacity: 0.25;
      border-radius: 2px 2px 0 0;
      animation: waveAnim 1.2s ease-in-out infinite alternate;
    }
    .sw-bar:nth-child(1){height:35%;animation-delay:0s}
    .sw-bar:nth-child(2){height:65%;animation-delay:.1s}
    .sw-bar:nth-child(3){height:90%;animation-delay:.2s}
    .sw-bar:nth-child(4){height:50%;animation-delay:.15s}
    .sw-bar:nth-child(5){height:85%;animation-delay:.05s}
    .sw-bar:nth-child(6){height:60%;animation-delay:.25s}
    .sw-bar:nth-child(7){height:40%;animation-delay:.1s}
    .sw-bar:nth-child(8){height:70%;animation-delay:.3s}
    .spectrum-band:hover .sw-bar { opacity: 0.85; }
    @keyframes waveAnim { from{transform:scaleY(0.5)} to{transform:scaleY(1)} }
    .spectrum-band-desc {
      font-family: var(--font-body);
      font-size: 0.82rem;
      color: var(--text-muted);
      line-height: 1.6;
      margin-bottom: 0.8rem;
    }
    .spectrum-app-tag {
      display: inline-block;
      font-family: var(--font-display);
      font-size: 9px;
      font-weight: 700;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      background: rgba(232,160,32,0.1);
      color: var(--accent);
      border: 1px solid rgba(232,160,32,0.22);
      border-radius: 4px;
      padding: 2px 7px;
      margin: 2px 2px 0 0;
    }

    /* ══════════════════════════════════════════
       MISSION TIMELINE
    ══════════════════════════════════════════ */
    .timeline-section {
      background: var(--navy-mid);
      border-top: 1px solid var(--border);
    }
    .timeline-inner { max-width: 900px; margin: 0 auto; }
    .timeline {
      position: relative;
      margin-top: 3.5rem;
      padding-left: 2rem;
    }
    .timeline::before {
      content: '';
      position: absolute;
      left: 0; top: 8px; bottom: 20px;
      width: 2px;
      background: linear-gradient(to bottom, var(--accent), rgba(232,160,32,0.08));
    }
    .tl-item {
      position: relative;
      padding: 0 0 2.6rem 2.5rem;
      opacity: 0;
      transform: translateX(-16px);
      transition: opacity 0.6s ease, transform 0.6s ease;
    }
    .tl-item.tl-visible { opacity: 1; transform: translateX(0); }
    .tl-dot {
      position: absolute;
      left: -2.82rem;
      top: 5px;
      width: 13px; height: 13px;
      border-radius: 50%;
      background: var(--navy-mid);
      border: 2px solid var(--accent);
      transition: background 0.3s;
      z-index: 2;
    }
    .tl-item:hover .tl-dot { background: var(--accent); }
    .tl-year {
      font-family: var(--font-display);
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.22em;
      color: var(--accent);
      margin-bottom: 0.35rem;
    }
    .tl-title {
      font-family: var(--font-display);
      font-size: 1.05rem;
      font-weight: 700;
      color: var(--white);
      letter-spacing: -0.01em;
      margin-bottom: 0.4rem;
    }
    .tl-desc {
      font-family: var(--font-body);
      font-size: 0.9rem;
      color: var(--text-muted);
      line-height: 1.75;
    }
    .tl-badge {
      display: inline-block;
      margin-top: 0.5rem;
      font-family: var(--font-display);
      font-size: 9px;
      font-weight: 700;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      background: rgba(232,160,32,0.1);
      color: var(--accent);
      border: 1px solid rgba(232,160,32,0.28);
      border-radius: 4px;
      padding: 3px 8px;
    }

    /* ══════════════════════════════════════════
       NEWS & RECOGNITION
    ══════════════════════════════════════════ */
    .news-section { background: var(--navy); border-top: 1px solid var(--border); }
    .news-inner { max-width: 1200px; margin: 0 auto; }
    .news-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1.5rem;
      margin-top: 3rem;
    }
    .news-card {
      background: var(--navy-mid);
      border: 1px solid var(--border);
      border-radius: 12px;
      overflow: hidden;
      transition: border-color 0.3s, transform 0.3s;
      display: flex;
      flex-direction: column;
    }
    .news-card:hover { border-color: var(--border-accent); transform: translateY(-5px); }
    .news-card-img { aspect-ratio: 16/9; overflow: hidden; position: relative; }
    .news-card-img img {
      width: 100%; height: 100%;
      object-fit: cover;
      filter: brightness(0.78) saturate(0.65);
      transition: transform 0.5s, filter 0.4s;
    }
    .news-card:hover .news-card-img img { transform: scale(1.06); filter: brightness(0.9) saturate(0.8); }
    .news-card-tag {
      position: absolute;
      top: 0.8rem; left: 0.8rem;
      font-family: var(--font-display);
      font-size: 9px;
      font-weight: 700;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      background: var(--accent);
      color: var(--navy);
      border-radius: 4px;
      padding: 3px 8px;
    }
    .news-card-body { padding: 1.4rem 1.4rem 1.6rem; flex: 1; display: flex; flex-direction: column; }
    .news-card-date {
      font-family: var(--font-display);
      font-size: 10px;
      font-weight: 600;
      letter-spacing: 0.14em;
      color: var(--text-muted);
      margin-bottom: 0.5rem;
    }
    .news-card-title {
      font-family: var(--font-display);
      font-size: 1rem;
      font-weight: 700;
      letter-spacing: -0.01em;
      color: var(--white);
      line-height: 1.35;
      margin-bottom: 0.65rem;
      flex: 1;
    }
    .news-card-desc {
      font-family: var(--font-body);
      font-size: 0.875rem;
      color: var(--text-muted);
      line-height: 1.7;
      margin-bottom: 1.2rem;
    }
    .news-card-link {
      font-family: var(--font-display);
      font-size: 12px;
      font-weight: 600;
      color: var(--accent);
      display: inline-flex;
      align-items: center;
      gap: 5px;
      transition: gap 0.3s;
    }
    .news-card-link:hover { gap: 9px; }

    /* Responsive for new sections */
    @media (max-width: 1024px) {
      .spectrum-grid { grid-template-columns: repeat(2,1fr); }
      .news-grid { grid-template-columns: repeat(2,1fr); }
    }
    @media (max-width: 768px) {
      .cap-panel.cp-active { grid-template-columns: 1fr; }
      .cap-panel-img { aspect-ratio: 16/9; }
      .spectrum-grid { grid-template-columns: 1fr 1fr; }
      .news-grid { grid-template-columns: 1fr; }
      .cap-specs { grid-template-columns: 1fr 1fr; }
      .timeline { padding-left: 1.5rem; }
    }

    /* ─────────────────────────────────────
   PARTNERS & CUSTOMERS SECTION
───────────────────────────────────── */

.partners-section{
  position:relative;

  background:
    radial-gradient(circle at top left, rgba(37,99,235,0.08), transparent 35%),
    linear-gradient(180deg,#0b1728 0%, #101d31 100%);

  padding:5rem 4vw;

  overflow:hidden;
}

.partners-inner{
  max-width:1200px;
  margin:0 auto;
  position:relative;
  z-index:2;
}

.partners-header{
  text-align:center;
  margin-bottom:2rem;
}

.strip-label{
  display:inline-block;

  padding:0.75rem 1.5rem;

  font-family:var(--font-display);
  font-size:11px;
  font-weight:700;
  letter-spacing:0.22em;
  text-transform:uppercase;

  color:#9ec5ff;

  background:rgba(255,255,255,0.04);

  border-radius:999px;

  backdrop-filter:blur(10px);
}

/* scrolling container */
.logo-track-wrap{
  position:relative;

  overflow:hidden;

  width:100%;

  padding:2rem 0;

  margin-top:2rem;
}

/* scrolling row */
.logo-track{
  display:flex;

  align-items:center;

  gap:2.5rem;

  width:max-content;

  animation:logoScroll 35s linear infinite;
}

.logo-track:hover{
  animation-play-state:paused;
}

/* logo styling */
.logo-track img{
  flex-shrink:0;

  height:72px;
  width:170px; /* uniform width */

  object-fit:contain;

  padding:14px;

  background:rgba(255,255,255,1);

  border:1px solid rgba(255,255,255,1);

  border-radius:14px;

  box-shadow:none;

  filter:none;

  opacity:0.95;

  transition:
    transform .35s ease,
    opacity .35s ease,
    border-color .35s ease,
    background .35s ease;
}

.logo-track img:hover{
  transform:
    translateY(-3px)
    scale(1.02);

  opacity:1;

  border-color:rgba(255,255,255,1);

  background:rgba(255,255,255,1);
}

/* animation */
@keyframes logoScroll{
  0%{
    transform:translateX(0);
  }

  100%{
    transform:translateX(-50%);
  }
}

.customers-label{
  margin-top:3rem;
}

/* mobile */
@media (max-width:768px){

  .partners-section{
    padding:4rem 4vw;
  }

  .logo-track-wrap{
    padding:1.5rem 0;
  }

  .logo-track{
    gap:1.5rem;
  }

  .logo-track img{
    width:130px;
    height:58px;

    padding:10px;

    border-radius:12px;
  }
}

    /* ── CTA BAND (NEW) ── */

    /* ── FOOTER ── */

    /* FIX: Footer social links including LinkedIn */



    /* FIX: Footer includes © year, registration, privacy policy link */

    /* ── RESPONSIVE ── */
    @media (max-width: 1024px) {
    }

    @media (max-width: 768px) {


      .about-inner { grid-template-columns: 1fr; }
      .about-img-wrap { aspect-ratio: 16/9; }

      .verticals-grid { grid-template-columns: 1fr; }
      .hslide-title { font-size: clamp(1.9rem, 7vw, 2.8rem); }
    }


    /* ── SCROLL ANIMATION ── */
    .sector-tabs{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:3rem;overflow-x:auto;scrollbar-width:none}
    .sector-tabs::-webkit-scrollbar{display:none}
    .sector-tab{font-family:var(--font-display);font-size:13px;font-weight:600;color:var(--text-muted);padding:1rem 1.6rem;border:none;border-bottom:3px solid transparent;cursor:pointer;background:none;white-space:nowrap;transition:color .25s,border-color .25s;margin-bottom:-1px}
    .sector-tab:hover{color:var(--white)}.sector-tab.active{color:var(--accent);border-bottom-color:var(--accent)}
    .sector-panel{display:none}.sector-panel.active{display:block}
    .sector-intro{display:grid;grid-template-columns:1fr 2fr;gap:3rem;align-items:start;margin-bottom:3rem}
    .sector-stat-big{font-family:var(--font-display);font-size:4rem;font-weight:800;color:var(--accent);letter-spacing:-.05em;line-height:1}
    .sector-stat-label{font-family:var(--font-display);font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);margin-top:.3rem}
    .sector-desc p{font-family:var(--font-body);font-size:.97rem;color:var(--text-muted);line-height:1.82;margin-bottom:.8rem}
    .cust-logo-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin-top:2rem}
    .cust-logo-card{background:var(--navy-mid);border:1px solid var(--border);border-radius:10px;padding:1.2rem;display:flex;align-items:center;justify-content:center;aspect-ratio:2/1;transition:border-color .3s}
    .cust-logo-card:hover{border-color:var(--border-accent)}
    .cust-logo-card img{max-height:40px;max-width:90%;object-fit:contain;filter:brightness(0) invert(1);opacity:.55;transition:opacity .3s}
    .cust-logo-card:hover img{opacity:.9}
    .testimonials{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:2.5rem}
    .testimonial{background:var(--navy-mid);border:1px solid var(--border);border-radius:12px;padding:2rem;position:relative}
    .testimonial::before{content:'"';font-family:var(--font-display);font-size:4rem;color:var(--accent);opacity:.2;position:absolute;top:.5rem;left:1.5rem;line-height:1}
    .testimonial p{font-family:var(--font-body);font-size:.95rem;color:var(--text-muted);line-height:1.8;font-style:italic;margin-bottom:1.2rem;padding-top:1rem}
    .testimonial-author{font-family:var(--font-display);font-size:12px;font-weight:700;color:var(--white)}
    .testimonial-org{font-family:var(--font-display);font-size:10px;letter-spacing:.1em;color:var(--accent)}
    @media(max-width:1024px){.cust-logo-grid{grid-template-columns:repeat(3,1fr)}.testimonials{grid-template-columns:1fr}.sector-intro{grid-template-columns:1fr}}
    @media(max-width:768px){.cust-logo-grid{grid-template-columns:repeat(2,1fr)}}

/* ══════════════════════════════════════════════════════════════════
   ABOUT PAGE
   ══════════════════════════════════════════════════════════════════ */
/* ── ABOUT INTRO ── */
    .about-intro { background: var(--navy-mid); border-bottom: 1px solid var(--border); }
    .about-intro-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 5rem;
      align-items: center;
    }
    .about-body p {
      font-family: var(--font-body);
      font-size: 1rem;
      color: var(--text-muted);
      line-height: 1.85;
      margin-bottom: 1.1rem;
    }
    .about-body p strong { color: var(--text); font-weight: 600; }
    .about-img {
      border-radius: 12px;
      overflow: hidden;
      aspect-ratio: 4/3;
      position: relative;
    }
    .about-img img {
      width: 100%; height: 100%;
      object-fit: cover;
      filter: brightness(.82) saturate(.7);
    }
    .about-img::after {
      content: '';
      position: absolute;
      inset: 0;
      border: 2px solid var(--border-accent);
      border-radius: 12px;
      pointer-events: none;
    }

    /* ── VALUES ── */
    .values-section { background: var(--navy); }
    .values-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1.5rem;
      margin-top: 2.5rem;
    }
    .val-card {
      background: var(--navy-mid);
      border: 1px solid var(--border);
      border-radius: 12px;
      padding: 2rem;
      transition: border-color .3s, transform .3s;
      position: relative;
      overflow: hidden;
    }
    .val-card::before {
      content: '';
      position: absolute;
      top: 0; left: 0; right: 0;
      height: 3px;
      background: var(--accent);
      transform: scaleX(0);
      transform-origin: left;
      transition: transform .3s;
    }
    .val-card:hover { border-color: var(--border-accent); transform: translateY(-4px); }
    .val-card:hover::before { transform: scaleX(1); }
    .val-icon {
      width: 48px; height: 48px;
      background: rgba(232,160,32,.1);
      border: 1px solid var(--border-accent);
      border-radius: 10px;
      display: flex; align-items: center; justify-content: center;
      margin-bottom: 1.2rem;
      font-size: 22px;
    }
    .val-card h3 {
      font-family: var(--font-display);
      font-size: 1.05rem;
      font-weight: 700;
      color: var(--white);
      margin-bottom: .5rem;
    }
    .val-card p {
      font-family: var(--font-body);
      font-size: .88rem;
      color: var(--text-muted);
      line-height: 1.75;
    }

    /* ── TEAM ── */
    .team-section { background: var(--navy-mid); border-top: 1px solid var(--border); }
    .team-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 2rem;
      margin-top: 2.5rem;
    }
    .team-card {
      background: var(--navy);
      border: 1px solid var(--border);
      border-radius: 12px;
      overflow: hidden;
      transition: border-color .3s, transform .3s;
    }
    .team-card:hover { border-color: var(--border-accent); transform: translateY(-4px); }
    .team-img { aspect-ratio: 1/1; overflow: hidden; position: relative; }
    .team-img img {
      width: 100%; height: 100%;
      object-fit: cover;
      object-position: top;
      filter: brightness(.85) saturate(.65);
      transition: transform .5s;
    }
    .team-card:hover .team-img img { transform: scale(1.04); }
    .team-img::after {
      content: '';
      position: absolute;
      bottom: 0; left: 0; right: 0;
      height: 50%;
      background: linear-gradient(to top, var(--navy), transparent);
    }
    .team-body { padding: 1.4rem 1.5rem 1.6rem; }
    .team-name {
      font-family: var(--font-display);
      font-size: 1.05rem;
      font-weight: 700;
      color: var(--white);
      margin-bottom: .2rem;
    }
    .team-role {
      font-family: var(--font-display);
      font-size: 10px;
      font-weight: 700;
      letter-spacing: .18em;
      text-transform: uppercase;
      color: var(--accent);
      margin-bottom: .7rem;
    }
.team-bio {
  position: relative;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3; /* show only 3 lines */
  -webkit-box-orient: vertical;
  transition: all 0.3s ease;
}

.team-bio.expanded {
  -webkit-line-clamp: unset;
  overflow: visible;
}

.read-more-btn {
  margin-top: 10px;
  display: inline-block;
  background: none;
  border: none;
  color: #0b66ff;
  font-weight: 600;
  cursor: pointer;
  padding: 0;
  font-size: 14px;
}

.read-more-btn:hover {
  text-decoration: underline;
}

    /* ── WHY ICON ── */
    .why-section { background: var(--navy); }
    .why-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1rem;
      margin-top: 2.5rem;
    }
    .why-item {
      display: flex;
      gap: 1.2rem;
      align-items: flex-start;
      background: var(--navy-mid);
      border: 1px solid var(--border);
      border-radius: 10px;
      padding: 1.5rem;
      transition: border-color .3s, transform .3s;
    }
    .why-item:hover { border-color: var(--border-accent); transform: translateY(-2px); }
    .why-num {
      font-family: var(--font-display);
      font-size: 1.8rem;
      font-weight: 800;
      color: rgba(232,160,32,.25);
      letter-spacing: -.04em;
      line-height: 1;
      flex-shrink: 0;
      min-width: 2.5rem;
    }
    .why-text h4 {
      font-family: var(--font-display);
      font-size: .95rem;
      font-weight: 700;
      color: var(--white);
      margin-bottom: .35rem;
    }
    .why-text p {
      font-family: var(--font-body);
      font-size: .875rem;
      color: var(--text-muted);
      line-height: 1.72;
    }

    /* ── CERTIFICATIONS ── */
    .certs-section { background: var(--navy-mid); border-top: 1px solid var(--border); }
    .certs-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 1.2rem;
      margin-top: 2.5rem;
    }
    .cert-card {
      background: var(--navy);
      border: 1px solid var(--border);
      border-radius: 10px;
      padding: 1.6rem 1.4rem;
      text-align: center;
      transition: border-color .3s;
    }
    .cert-card:hover { border-color: var(--border-accent); }
    .cert-badge {
      font-size: 2rem;
      margin-bottom: .8rem;
      line-height: 1;
    }
    .cert-name {
      font-family: var(--font-display);
      font-size: .85rem;
      font-weight: 700;
      color: var(--white);
      margin-bottom: .3rem;
    }
    .cert-desc {
      font-family: var(--font-body);
      font-size: .8rem;
      color: var(--text-muted);
      line-height: 1.6;
    }

    /* ── RESPONSIVE ── */
    @media (max-width: 900px) {
      .about-intro-grid { grid-template-columns: 1fr; gap: 2.5rem; }
      .values-grid { grid-template-columns: 1fr 1fr; }
      .certs-grid { grid-template-columns: 1fr 1fr; }
    }
    @media (max-width: 768px) {
      .team-grid { grid-template-columns: 1fr 1fr; }
      .why-grid { grid-template-columns: 1fr; }
    }
    @media (max-width: 560px) {
      .values-grid { grid-template-columns: 1fr; }
      .team-grid { grid-template-columns: 1fr; }
      .certs-grid { grid-template-columns: 1fr 1fr; }
    }

/* ══════════════════════════════════════════════════════════════════
   CONTACT PAGE
   ══════════════════════════════════════════════════════════════════ */
/* CONTACT LAYOUT */
    .contact-section{padding:5rem 4vw;background:var(--navy-mid);border-top:1px solid var(--border)}
    .contact-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.2fr 1fr;gap:5rem;align-items:start}
    /* FORM */
    .contact-form{display:flex;flex-direction:column;gap:1.2rem}
    .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
    .form-group{display:flex;flex-direction:column;gap:.4rem}
    .form-group label{font-family:var(--font-display);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}
    .form-group input,.form-group select,.form-group textarea{font-family:var(--font-body);font-size:.95rem;background:rgba(255,255,255,.05);border:1px solid var(--border);border-radius:8px;padding:.8rem 1rem;color:var(--white);transition:border-color .25s,background .25s;outline:none;width:100%}
    .form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}
    .form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent);background:rgba(232,160,32,.04)}
    .form-group select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237890a8' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem;color:var(--white)}
    .form-group select option{background:#112240;color:var(--white)}
    .form-group textarea{resize:vertical;min-height:130px;line-height:1.65}
    .form-note{font-family:var(--font-body);font-size:.8rem;color:var(--text-muted);line-height:1.6}
    .submit-btn{font-family:var(--font-display);font-size:15px;font-weight:600;color:var(--navy);background:var(--accent);padding:.9rem 2.4rem;border:2px solid var(--accent);border-radius:50px;cursor:pointer;transition:all .3s;align-self:flex-start;display:inline-flex;align-items:center;gap:.5rem}
    .submit-btn:hover{background:transparent;color:var(--accent)}
    .submit-success{display:none;background:rgba(22,163,74,.1);border:1px solid rgba(22,163,74,.3);border-radius:8px;padding:1.2rem 1.5rem;font-family:var(--font-display);font-size:.9rem;color:#4ade80}
    /* CONTACT DETAILS */
    .contact-details{display:flex;flex-direction:column;gap:2rem}
    .contact-info-card{background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:12px;padding:2rem;transition:border-color .3s}
    .contact-info-card:hover{border-color:var(--border-accent)}
    .cic-icon{font-size:1.8rem;margin-bottom:.8rem;line-height:1}
    .cic-title{font-family:var(--font-display);font-size:.9rem;font-weight:700;color:var(--white);letter-spacing:-.01em;margin-bottom:.3rem}
    .cic-val{font-family:var(--font-body);font-size:.92rem;color:var(--text-muted);line-height:1.65}
    .cic-val a{color:var(--accent);transition:color .2s}.cic-val a:hover{color:var(--accent-light)}
    .contact-topics{background:rgba(255,255,255,.025);border:1px solid var(--border);border-radius:12px;padding:1.8rem}
    .ct-title{font-family:var(--font-display);font-size:.85rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem}
    .ct-item{display:flex;gap:.8rem;padding:.65rem 0;border-bottom:1px solid var(--border);font-family:var(--font-body);font-size:.88rem;color:var(--text-muted);align-items:flex-start;line-height:1.5}
    .ct-item:last-child{border-bottom:none}
    .ct-arrow{color:var(--accent);font-weight:700;flex-shrink:0;margin-top:1px}
    @media(max-width:900px){.contact-inner{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}}
    @media(max-width:768px){.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;text-align:center}}

/* ══════════════════════════════════════════════════════════════════
   CUSTOMERS PAGE
   ══════════════════════════════════════════════════════════════════ */
.sector-tabs{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:3rem;overflow-x:auto;scrollbar-width:none}
    .sector-tabs::-webkit-scrollbar{display:none}
    .sector-tab{font-family:var(--font-display);font-size:13px;font-weight:600;color:var(--text-muted);padding:1rem 1.6rem;border:none;border-bottom:3px solid transparent;cursor:pointer;background:none;white-space:nowrap;transition:color .25s,border-color .25s;margin-bottom:-1px}
    .sector-tab:hover{color:var(--white)}.sector-tab.active{color:var(--accent);border-bottom-color:var(--accent)}
    .sector-panel{display:none}.sector-panel.active{display:block}
    .sector-intro{display:grid;grid-template-columns:1fr 2fr;gap:3rem;align-items:start;margin-bottom:3rem}
    .sector-stat-big{font-family:var(--font-display);font-size:4rem;font-weight:800;color:var(--accent);letter-spacing:-.05em;line-height:1}
    .sector-stat-label{font-family:var(--font-display);font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);margin-top:.3rem}
    .sector-desc p{font-family:var(--font-body);font-size:.97rem;color:var(--text-muted);line-height:1.82;margin-bottom:.8rem}
    .cust-logo-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin-top:2rem}
    .cust-logo-card{background:var(--navy-mid);border:1px solid var(--border);border-radius:10px;padding:1.2rem;display:flex;align-items:center;justify-content:center;aspect-ratio:2/1;transition:border-color .3s}
    .cust-logo-card:hover{border-color:var(--border-accent)}
    .cust-logo-card img{max-height:40px;max-width:90%;object-fit:contain;filter:brightness(0) invert(1);opacity:.55;transition:opacity .3s}
    .cust-logo-card:hover img{opacity:.9}
    .testimonials{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:2.5rem}
    .testimonial{background:var(--navy-mid);border:1px solid var(--border);border-radius:12px;padding:2rem;position:relative}
    .testimonial::before{content:'"';font-family:var(--font-display);font-size:4rem;color:var(--accent);opacity:.2;position:absolute;top:.5rem;left:1.5rem;line-height:1}
    .testimonial p{font-family:var(--font-body);font-size:.95rem;color:var(--text-muted);line-height:1.8;font-style:italic;margin-bottom:1.2rem;padding-top:1rem}
    .testimonial-author{font-family:var(--font-display);font-size:12px;font-weight:700;color:var(--white)}
    .testimonial-org{font-family:var(--font-display);font-size:10px;letter-spacing:.1em;color:var(--accent)}
    @media(max-width:1024px){.cust-logo-grid{grid-template-columns:repeat(3,1fr)}.testimonials{grid-template-columns:1fr}.sector-intro{grid-template-columns:1fr}}
    @media(max-width:768px){.cust-logo-grid{grid-template-columns:repeat(2,1fr)}}
@keyframes logoScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ══════════════════════════════════════════════════════════════════
   PARTNERS PAGE
   ══════════════════════════════════════════════════════════════════ */
/* PARTNER CARDS */
    .partners-section{background:var(--navy-mid);border-top:1px solid var(--border)}
    .partner-type-title{font-family:var(--font-display);font-size:.8rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);margin-bottom:1.5rem;margin-top:3rem;padding-bottom:.6rem;border-bottom:1px solid var(--border)}
    .partner-type-title:first-of-type{margin-top:0}
    .pcard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:2rem}
    .pcard{background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:12px;padding:2rem 1.8rem;transition:border-color .3s,transform .3s;position:relative}
    .pcard:hover{border-color:var(--border-accent);transform:translateY(-4px)}
    .pcard-logo{height:70px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:8px;margin-bottom:1.2rem;overflow:hidden;padding:.5rem 1rem}
    .pcard-logo img{max-height:55px;max-width:180px;object-fit:contain}
    .pcard-logo .logo-fallback{font-family:var(--font-display);font-size:1.2rem;font-weight:800;color:#1a1a2e;letter-spacing:-.03em}
    .pcard-badge{position:absolute;top:.75rem;right:.75rem;font-family:var(--font-display);font-size:8px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;background:rgba(232,160,32,.12);color:var(--accent);border:1px solid rgba(232,160,32,.25);border-radius:4px;padding:2px 7px}
    .pcard h3{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--white);letter-spacing:-.01em;margin-bottom:.4rem}
    .pcard-type{font-family:var(--font-display);font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:.8rem}
    .pcard p{font-family:var(--font-body);font-size:.88rem;color:var(--text-muted);line-height:1.72;margin-bottom:1rem}
    .pcard-link{font-family:var(--font-display);font-size:12px;font-weight:600;color:var(--accent);display:inline-flex;align-items:center;gap:5px;transition:gap .3s}
    .pcard-link:hover{gap:9px}

    /* LOGO STRIP */


    @media(max-width:768px){.pcard-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;text-align:center}}

/* ══════════════════════════════════════════════════════════════════
   PRODUCTS PAGE
   ══════════════════════════════════════════════════════════════════ */
.filter-bar{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:2.5rem}
    .filter-btn{font-family:var(--font-display);font-size:12px;font-weight:600;letter-spacing:.06em;padding:.5rem 1.2rem;border-radius:50px;border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;transition:all .3s}
    .filter-btn:hover{border-color:var(--border-accent);color:var(--accent)}
    .filter-btn.active{background:var(--accent);color:var(--navy);border-color:var(--accent)}
    .prod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
    .prod-card{background:var(--navy-mid);border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:border-color .3s,transform .3s;display:flex;flex-direction:column}
    .prod-card:hover{border-color:var(--border-accent);transform:translateY(-5px)}
    .prod-card-img{aspect-ratio:16/9;overflow:hidden;position:relative;background:rgba(0,0,0,.4)}
    .prod-card-img img{width:100%;height:100%;object-fit:cover;filter:brightness(.75) saturate(.6);transition:transform .5s}
    .prod-card:hover .prod-card-img img{transform:scale(1.06)}
    .prod-tag{position:absolute;top:.8rem;left:.8rem;font-family:var(--font-display);font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;background:var(--accent);color:var(--navy);border-radius:4px;padding:3px 8px}
    .proc-tag{position:absolute;top:.8rem;right:.8rem;font-family:var(--font-display);font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;background:rgba(10,22,40,.8);color:var(--steel-light);border:1px solid var(--border);border-radius:4px;padding:3px 8px}
    .prod-body{padding:1.5rem;flex:1;display:flex;flex-direction:column}
    .prod-body h3{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--white);margin-bottom:.5rem}
    .prod-body p{font-family:var(--font-body);font-size:.875rem;color:var(--text-muted);line-height:1.7;flex:1;margin-bottom:1rem}
    .prod-specs{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}
    .spec-pill{font-family:var(--font-display);font-size:10px;font-weight:600;background:rgba(232,160,32,.08);color:var(--accent);border:1px solid rgba(232,160,32,.2);border-radius:4px;padding:2px 8px}
    .prod-link{font-family:var(--font-display);font-size:12px;font-weight:600;color:var(--accent);display:inline-flex;align-items:center;gap:5px;transition:gap .3s;margin-top:auto}
    .prod-link:hover{gap:9px}
    .process-section{background:var(--navy-mid);border-top:1px solid var(--border);padding:4rem 4vw}
    .process-inner{max-width:1200px;margin:0 auto}
    .process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem}
    .proc-card{background:var(--navy);border:1px solid var(--border);border-radius:12px;padding:2rem;transition:border-color .3s}
    .proc-card:hover{border-color:var(--border-accent)}
    .proc-name{font-family:var(--font-display);font-size:2rem;font-weight:800;color:var(--accent);letter-spacing:-.04em;margin-bottom:.4rem}
    .proc-full{font-family:var(--font-display);font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--text-muted);margin-bottom:1rem}
    .proc-card p{font-family:var(--font-body);font-size:.9rem;color:var(--text-muted);line-height:1.75;margin-bottom:1rem}
    .proc-feats{list-style:none;display:flex;flex-direction:column;gap:.4rem}
    .proc-feats li{font-family:var(--font-body);font-size:.85rem;color:var(--text-muted);display:flex;align-items:flex-start;gap:.5rem}
    .proc-feats li::before{content:'→';color:var(--accent);font-weight:700;flex-shrink:0}
    @media(max-width:1024px){.prod-grid{grid-template-columns:repeat(2,1fr)}.process-grid{grid-template-columns:repeat(2,1fr)}}
    @media(max-width:768px){.prod-grid,.process-grid{grid-template-columns:1fr}}

/* ══════════════════════════════════════════════════════════════════
   SYSTEMS PAGE
   ══════════════════════════════════════════════════════════════════ */
.sys-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;margin-bottom:4rem}
    .sys-hero-body p{font-family:var(--font-body);font-size:1rem;color:var(--text-muted);line-height:1.85;margin-bottom:1rem}
    .sys-hero-body p strong{color:var(--text);font-weight:600}
    .sys-img{border-radius:12px;overflow:hidden;aspect-ratio:4/3;position:relative}
    .sys-img img{width:100%;height:100%;object-fit:cover;filter:brightness(.8) saturate(.65)}
    .sys-img::after{content:'';position:absolute;inset:0;border:2px solid var(--border-accent);border-radius:12px;pointer-events:none}
    .systems-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-top:2.5rem}
    .sys-card{background:var(--navy-mid);border:1px solid var(--border);border-radius:16px;overflow:hidden;transition:border-color .3s,transform .3s}
    .sys-card:hover{border-color:var(--border-accent);transform:translateY(-5px)}
    .sys-card-header{position:relative;aspect-ratio:16/7;overflow:hidden}
    .sys-card-header img{width:100%;height:100%;object-fit:cover;filter:brightness(.72) saturate(.6);transition:transform .5s}
    .sys-card:hover .sys-card-header img{transform:scale(1.05)}
    .sys-card-header::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,var(--navy-mid),transparent 60%)}
    .sys-badge{position:absolute;top:1rem;left:1rem;z-index:2;font-family:var(--font-display);font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;background:var(--accent);color:var(--navy);border-radius:4px;padding:3px 8px}
    .sys-card-body{padding:1.8rem 2rem 2rem}
    .sys-card-body h3{font-family:var(--font-display);font-size:1.2rem;font-weight:700;color:var(--white);letter-spacing:-.02em;margin-bottom:.6rem}
    .sys-card-body p{font-family:var(--font-body);font-size:.9rem;color:var(--text-muted);line-height:1.75;margin-bottom:1.2rem}
    .sys-specs-row{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.2rem}
    .sys-spec{font-family:var(--font-display);font-size:10px;font-weight:600;background:rgba(232,160,32,.08);color:var(--accent);border:1px solid rgba(232,160,32,.2);border-radius:4px;padding:2px 8px}
    .sys-link{font-family:var(--font-display);font-size:13px;font-weight:600;color:var(--accent);display:inline-flex;align-items:center;gap:5px;transition:gap .3s}
    .sys-link:hover{gap:9px}
    .delivery-section{background:var(--navy-mid);border-top:1px solid var(--border)}
    .delivery-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:3rem;position:relative}
    .delivery-steps::before{content:'';position:absolute;top:28px;left:10%;right:10%;height:2px;background:linear-gradient(to right,var(--accent),rgba(232,160,32,.2));z-index:0}
    .delivery-step{display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;z-index:1}
    .step-num{width:56px;height:56px;border-radius:50%;background:var(--navy);border:2px solid var(--accent);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1rem;font-weight:800;color:var(--accent);margin-bottom:1rem}
    .step-title{font-family:var(--font-display);font-size:.85rem;font-weight:700;color:var(--white);margin-bottom:.4rem}
    .step-desc{font-family:var(--font-body);font-size:.8rem;color:var(--text-muted);line-height:1.6}
    @media(max-width:1024px){.systems-grid{grid-template-columns:1fr}}
    @media(max-width:768px){.sys-hero-grid{grid-template-columns:1fr}.delivery-steps{grid-template-columns:repeat(2,1fr);gap:2rem}.delivery-steps::before{display:none}}

/* ══════════════════════════════════════════════════════════════════
   TECHNOLOGY PAGE
   ══════════════════════════════════════════════════════════════════ */
.partner-cards { display: grid; grid-template-columns: repeat(2,1fr); gap: 2rem; margin-top: 2.5rem; }
    .pcard {
      background: var(--navy-mid); border: 1px solid var(--border);
      border-radius: 14px; overflow: hidden;
      transition: border-color .3s, transform .3s;
      display: flex; flex-direction: column;
    }
    .pcard:hover { border-color: var(--border-accent); transform: translateY(-4px); }
    .pcard-top {
      padding: 2rem 2rem 1.5rem;
      display: flex; align-items: center; gap: 1.5rem;
      border-bottom: 1px solid var(--border);
    }
    .pcard-logo-box {
      width: 120px; height: 60px; background: #fff;
      border-radius: 8px; display: flex; align-items: center; justify-content: center;
      flex-shrink: 0; overflow: hidden; padding: .5rem;
    }
    .pcard-logo-box img { max-height: 46px; max-width: 108px; object-fit: contain; }
    .pcard-badge { font-family: var(--font-display); font-size: 10px; font-weight: 700;
      letter-spacing: .14em; text-transform: uppercase; background: rgba(232,160,32,.12);
      color: var(--accent); border: 1px solid var(--border-accent);
      border-radius: 4px; padding: 2px 8px; display: inline-block; margin-bottom: .4rem; }
    .pcard-name { font-family: var(--font-display); font-size: 1.1rem; font-weight: 700; color: var(--white); }
    .pcard-body { padding: 1.5rem 2rem 2rem; flex: 1; display: flex; flex-direction: column; }
    .pcard-desc { font-family: var(--font-body); font-size: .9rem; color: var(--text-muted);
      line-height: 1.78; margin-bottom: 1.2rem; flex: 1; }
    .pcard-products { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: 1.4rem; }
    .prod-pill { font-family: var(--font-display); font-size: 11px; font-weight: 600;
      background: rgba(255,255,255,.05); border: 1px solid var(--border);
      color: var(--text-muted); border-radius: 4px; padding: 3px 10px; }
    .pcard-link { font-family: var(--font-display); font-size: 13px; font-weight: 600;
      color: var(--accent); display: inline-flex; align-items: center; gap: 5px;
      transition: gap .25s; }
    .pcard-link:hover { gap: 9px; }
    .why-eda { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.2rem; margin-top: 2.5rem; }
    .why-card { background: var(--navy-mid); border: 1px solid var(--border); border-radius: 10px;
      padding: 1.5rem; transition: border-color .3s; }
    .why-card:hover { border-color: var(--border-accent); }
    .why-icon { font-size: 1.8rem; margin-bottom: .8rem; line-height:1; }
    .why-card h4 { font-family: var(--font-display); font-size: .95rem; font-weight: 700;
      color: var(--white); margin-bottom: .4rem; }
    .why-card p { font-family: var(--font-body); font-size: .875rem; color: var(--text-muted); line-height: 1.7; }
    @media(max-width:900px){ .partner-cards { grid-template-columns: 1fr; } }
    @media(max-width:768px){ .why-eda { grid-template-columns: 1fr 1fr; } }
    @media(max-width:480px){ .why-eda { grid-template-columns: 1fr; } }

/* ══════════════════════════════════════════════════════════════════
   PARTNER SUB-PAGES (Cadence / Dassault / Modelithics / Sonnet)
   ══════════════════════════════════════════════════════════════════ */
/* partner sub-page styles */
    .partner-intro { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:start; }
    .partner-intro-text p { font-family:var(--font-body); font-size:.97rem; color:var(--text-muted); line-height:1.82; margin-bottom:1rem; }
    .partner-intro-text p strong { color:var(--text); font-weight:600; }
    .partner-logo-panel { background:var(--navy-mid); border:1px solid var(--border); border-radius:14px; padding:3rem 2.5rem; display:flex; flex-direction:column; align-items:center; gap:2rem; }
    .partner-logo-panel img { max-height:70px; max-width:220px; object-fit:contain; }
    .partner-logo-panel .pl-badge { font-family:var(--font-display); font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; background:rgba(232,160,32,.12); color:var(--accent); border:1px solid var(--border-accent); border-radius:4px; padding:3px 10px; }
    .partner-logo-panel p { font-family:var(--font-body); font-size:.85rem; color:var(--text-muted); text-align:center; line-height:1.7; }
    .pl-link { font-family:var(--font-display); font-size:13px; font-weight:600; color:var(--accent); display:inline-flex; align-items:center; gap:5px; }
    .pl-link:hover { opacity:.8; }

    /* product grid */
    .prod-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin-top:2.5rem; }
    .prod-card { background:var(--navy-mid); border:1px solid var(--border); border-radius:12px; overflow:hidden; transition:border-color .3s,transform .3s; display:flex; flex-direction:column; }
    .prod-card:hover { border-color:var(--border-accent); transform:translateY(-4px); }
    .prod-header { padding:1.4rem 1.5rem 1rem; border-bottom:1px solid var(--border); }
    .prod-name { font-family:var(--font-display); font-size:1rem; font-weight:700; color:var(--white); margin-bottom:.3rem; }
    .prod-type { font-family:var(--font-display); font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); }
    .prod-body { padding:1.2rem 1.5rem 1.5rem; flex:1; display:flex; flex-direction:column; }
    .prod-desc { font-family:var(--font-body); font-size:.875rem; color:var(--text-muted); line-height:1.75; margin-bottom:1rem; flex:1; }
    .prod-features { list-style:none; margin-bottom:1.2rem; display:flex; flex-direction:column; gap:.35rem; }
    .prod-features li { font-family:var(--font-body); font-size:.8rem; color:var(--text-muted); padding-left:1rem; position:relative; }
    .prod-features li::before { content:'→'; position:absolute; left:0; color:var(--accent); font-size:.75rem; }
    .prd-btn { font-family:var(--font-display); font-size:12px; font-weight:600; color:var(--accent); display:inline-flex; align-items:center; gap:4px; transition:gap .2s; }
    .prd-btn:hover { gap:8px; }

    @media(max-width:1024px){ .prod-grid { grid-template-columns:repeat(2,1fr); } }
    @media(max-width:900px){ .partner-intro { grid-template-columns:1fr; } }
    @media(max-width:600px){ .prod-grid { grid-template-columns:1fr; } }

/* ══════════════════════════════════════════════════════════════════
   PRIVACY PAGE
   ══════════════════════════════════════════════════════════════════ */
.privacy-layout{max-width:1200px;margin:0 auto;padding:4rem 4vw 5rem;display:grid;grid-template-columns:240px 1fr;gap:4rem;align-items:start}
    .privacy-toc{position:sticky;top:120px}
    .toc-title{font-family:var(--font-display);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem}
    .toc-list{list-style:none;display:flex;flex-direction:column;gap:.1rem}
    .toc-list a{font-family:var(--font-body);font-size:.875rem;color:var(--text-muted);padding:.4rem .75rem;border-radius:6px;display:block;transition:color .2s,background .2s;border-left:2px solid transparent}
    .toc-list a:hover,.toc-list a.active{color:var(--accent);background:rgba(232,160,32,.08);border-left-color:var(--accent)}

    .privacy-content h2{font-family:var(--font-display);font-size:1.4rem;font-weight:700;letter-spacing:-.02em;color:var(--white);margin:2.5rem 0 .75rem;padding-top:1rem}
    .privacy-content h2:first-child{margin-top:0}
    .privacy-content p{font-family:var(--font-body);font-size:.97rem;color:var(--text-muted);line-height:1.85;margin-bottom:1rem}
    .privacy-content p strong{color:var(--text);font-weight:600}
    .privacy-content ul{list-style:none;padding:0;margin:.5rem 0 1.2rem}
    .privacy-content ul li{font-family:var(--font-body);font-size:.97rem;color:var(--text-muted);line-height:1.75;padding:.3rem 0 .3rem 1.4rem;position:relative}
    .privacy-content ul li::before{content:'—';position:absolute;left:0;color:var(--accent);font-weight:600}
    .privacy-content a{color:var(--accent);text-decoration:underline;text-decoration-color:var(--border-accent)}
    .privacy-content a:hover{text-decoration-color:var(--accent)}
    .privacy-divider{border:none;border-top:1px solid var(--border);margin:2rem 0}
    .privacy-highlight{background:rgba(232,160,32,.07);border:1px solid var(--border-accent);border-radius:10px;padding:1.4rem 1.6rem;margin:1.5rem 0}
    .privacy-highlight p{margin-bottom:0;color:var(--text)}


    @media(max-width:900px){.privacy-layout{grid-template-columns:1fr}.privacy-toc{display:none}}

/* ══════════════════════════════════════════════════════════════════
   PARTNERS MAIN PAGE — category grid
   ══════════════════════════════════════════════════════════════════ */
.partners-hero-strip {
  background: var(--navy-light);
  border-bottom: 1px solid var(--border);
  padding: 1.5rem 4vw;
}
.partner-category-nav {
  max-width: 1200px; margin: 0 auto;
  display: flex; gap: .75rem; flex-wrap: wrap;
}
.pcn-btn {
  font-family: var(--font-display); font-size: 12px; font-weight: 600;
  color: var(--text-muted); background: rgba(255,255,255,.05);
  border: 1px solid var(--border); border-radius: 50px;
  padding: .45rem 1.1rem; cursor: pointer; transition: all .2s;
  text-decoration: none; display: inline-block;
}
.pcn-btn:hover, .pcn-btn.active {
  color: var(--accent); border-color: var(--border-accent);
  background: rgba(232,160,32,.08);
}
.partner-cat-section { padding: 4rem 4vw; }
.partner-cat-section:nth-child(even) { background: var(--navy-mid); }
.partner-cat-section:nth-child(odd)  { background: var(--navy); }
.cat-header { max-width: 1200px; margin: 0 auto 2.5rem; }
.cat-label {
  font-family: var(--font-display); font-size: 10px; font-weight: 700;
  letter-spacing: .22em; text-transform: uppercase;
  color: var(--accent); margin-bottom: .4rem;
}
.cat-title {
  font-family: var(--font-display); font-size: clamp(1.4rem, 2.5vw, 2rem);
  font-weight: 700; color: var(--white);
  letter-spacing: -.02em; margin-bottom: .5rem;
}
.cat-subtitle {
  font-family: var(--font-body); font-size: .92rem;
  color: var(--text-muted); line-height: 1.7;
}
.partner-cards-grid {
  max-width: 1200px; margin: 0 auto;
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.25rem;
}
.pcard-main {
  background: rgba(255,255,255,.035);
  border: 1px solid var(--border);
  border-radius: 14px; overflow: hidden;
  transition: border-color .28s, transform .28s;
  display: flex; flex-direction: column;
  text-decoration: none;
}
.pcard-main:hover { border-color: var(--border-accent); transform: translateY(-5px); }
.pcard-main-logo {
  height: 90px; background: #fff;
  display: flex; align-items: center; justify-content: center;
  padding: .75rem 1.5rem;
}
.pcard-main-logo img { max-height: 60px; max-width: 160px; object-fit: contain; }
.pcard-main-logo .logo-text {
  font-family: var(--font-display); font-size: 1rem; font-weight: 800;
  color: #1a1a2e; letter-spacing: -.02em; text-align: center;
}
.pcard-main-body { padding: 1.2rem 1.4rem 1.5rem; flex: 1; display: flex; flex-direction: column; }
.pcard-main-cat {
  font-family: var(--font-display); font-size: 9px; font-weight: 700;
  letter-spacing: .18em; text-transform: uppercase;
  color: var(--accent); margin-bottom: .4rem;
}
.pcard-main-name {
  font-family: var(--font-display); font-size: .95rem; font-weight: 700;
  color: var(--white); letter-spacing: -.01em; margin-bottom: .5rem; line-height: 1.3;
}
.pcard-main-desc {
  font-family: var(--font-body); font-size: .82rem;
  color: var(--text-muted); line-height: 1.65; flex: 1; margin-bottom: 1rem;
}
.pcard-main-cta {
  font-family: var(--font-display); font-size: 12px; font-weight: 600;
  color: var(--accent); display: inline-flex; align-items: center; gap: 4px;
  transition: gap .2s;
}
.pcard-main:hover .pcard-main-cta { gap: 8px; }
@media(max-width:1024px){ .partner-cards-grid { grid-template-columns: repeat(3,1fr); } }
@media(max-width:768px) { .partner-cards-grid { grid-template-columns: repeat(2,1fr); } }
@media(max-width:480px) { .partner-cards-grid { grid-template-columns: 1fr; } }

/* ══════════════════════════════════════════════════════════════════
   PARTNER DETAIL PAGE — packaging/foundry variant
   ══════════════════════════════════════════════════════════════════ */
.partner-detail-grid {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 4rem; align-items: start;
}
.partner-detail-text p {
  font-family: var(--font-body); font-size: .97rem;
  color: var(--text-muted); line-height: 1.82; margin-bottom: 1rem;
}
.partner-detail-text p strong { color: var(--text); font-weight: 600; }
.partner-panel {
  background: var(--navy-mid); border: 1px solid var(--border);
  border-radius: 14px; padding: 2.5rem 2rem;
  display: flex; flex-direction: column; align-items: center; gap: 1.5rem;
  position: sticky; top: 110px;
}
.partner-panel-logo {
  background: #fff; border-radius: 10px;
  padding: 1.2rem 2rem; width: 100%; text-align: center;
  min-height: 90px; display: flex; align-items: center; justify-content: center;
}
.partner-panel-logo img { max-height: 65px; max-width: 200px; object-fit: contain; }
.partner-panel-logo .logo-text {
  font-family: var(--font-display); font-size: 1.2rem; font-weight: 800;
  color: #1a1a2e; letter-spacing: -.02em;
}
.partner-panel-badge {
  font-family: var(--font-display); font-size: 10px; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase;
  background: rgba(232,160,32,.12); color: var(--accent);
  border: 1px solid var(--border-accent); border-radius: 5px; padding: 3px 12px;
}
.partner-panel p {
  font-family: var(--font-body); font-size: .875rem;
  color: var(--text-muted); text-align: center; line-height: 1.72;
}
.partner-panel-link {
  font-family: var(--font-display); font-size: 13px; font-weight: 600;
  color: var(--accent); display: inline-flex; align-items: center; gap: 5px;
  transition: gap .2s;
}
.partner-panel-link:hover { gap: 9px; }
.spec-grid {
  display: grid; grid-template-columns: repeat(2, 1fr);
  gap: 1rem; margin-top: 2rem;
}
.spec-card {
  background: rgba(255,255,255,.03); border: 1px solid var(--border);
  border-radius: 10px; padding: 1.2rem 1.3rem; transition: border-color .25s;
}
.spec-card:hover { border-color: var(--border-accent); }
.spec-card-label {
  font-family: var(--font-display); font-size: 9px; font-weight: 700;
  letter-spacing: .18em; text-transform: uppercase;
  color: var(--text-muted); margin-bottom: 4px;
}
.spec-card-value {
  font-family: var(--font-display); font-size: .9rem; font-weight: 700; color: var(--accent);
}
.app-pills { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: 1.5rem; }
.app-pill {
  font-family: var(--font-display); font-size: 11px; font-weight: 600;
  background: rgba(255,255,255,.06); border: 1px solid var(--border);
  color: var(--text-muted); border-radius: 5px; padding: 3px 10px;
}
@media(max-width:900px){ .partner-detail-grid { grid-template-columns: 1fr; } .spec-grid { grid-template-columns: 1fr 1fr; } .partner-panel { position: static; } }
@media(max-width:480px){ .spec-grid { grid-template-columns: 1fr; } }

/* ══════════════════════════════════════════════════════════════════
   ABOUT PAGE — customers section added
   ══════════════════════════════════════════════════════════════════ */
.customers-in-about {
  background: var(--navy); border-top: 1px solid var(--border);
}

/* ══════════════════════════════════════════════════════════════════
   CONTACT PAGE
   ══════════════════════════════════════════════════════════════════ */

/* Layout: form left, info right */
.contact-layout {
  display: grid;
  grid-template-columns: 1.25fr 1fr;
  gap: 5rem;
  align-items: start;
}
.contact-form-col { min-width: 0; }
.contact-info-col { min-width: 0; }

/* Form elements */
.contact-form { display: flex; flex-direction: column; gap: 1.2rem; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem; }
.form-group { display: flex; flex-direction: column; gap: .4rem; }
.form-group label {
  font-family: var(--font-display); font-size: 11px; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase; color: var(--text-muted);
}
.form-group .req { color: var(--accent); }
.form-group input,
.form-group select,
.form-group textarea {
  font-family: var(--font-body); font-size: .95rem;
  background: rgba(255,255,255,.05);
  border: 1px solid var(--border);
  border-radius: 8px; padding: .8rem 1rem;
  color: var(--white); transition: border-color .22s, background .22s;
  outline: none; width: 100%;
}
.form-group input::placeholder,
.form-group textarea::placeholder { color: var(--text-muted); }
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  border-color: var(--accent); background: rgba(232,160,32,.04);
}
.form-group select {
  cursor: pointer; appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237890a8' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 1rem center;
  padding-right: 2.5rem;
}
.form-group select option,
.form-group select optgroup { background: #112240; color: var(--white); }
.form-group textarea { resize: vertical; min-height: 128px; line-height: 1.65; }
.form-note {
  font-family: var(--font-body); font-size: .8rem;
  color: var(--text-muted); line-height: 1.6;
}
.submit-btn {
  font-family: var(--font-display); font-size: 15px; font-weight: 600;
  color: var(--navy); background: var(--accent);
  padding: .88rem 2.4rem; border: 2px solid var(--accent);
  border-radius: 50px; cursor: pointer; transition: all .3s;
  align-self: flex-start; display: inline-flex; align-items: center; gap: .5rem;
}
.submit-btn:hover { background: transparent; color: var(--accent); }
.submit-success {
  display: none; margin-top: 1rem;
  background: rgba(22,163,74,.1); border: 1px solid rgba(22,163,74,.3);
  border-radius: 8px; padding: 1.1rem 1.4rem;
  font-family: var(--font-display); font-size: .9rem; color: #4ade80;
  display: none; align-items: center; gap: .6rem;
}
.submit-success.visible { display: flex; }

/* Info cards */
.contact-info-col { display: flex; flex-direction: column; gap: 1rem; }
.contact-info-card {
  background: rgba(255,255,255,.03);
  border: 1px solid var(--border); border-radius: 12px;
  padding: 1.4rem 1.6rem; transition: border-color .3s;
  display: flex; gap: 1rem; align-items: flex-start;
}
.contact-info-card:hover { border-color: var(--border-accent); }
.cic-icon { font-size: 1.3rem; line-height: 1; flex-shrink: 0; margin-top: 2px; }
.cic-title {
  font-family: var(--font-display); font-size: .85rem;
  font-weight: 700; color: var(--white); margin-bottom: .25rem;
}
.cic-val {
  font-family: var(--font-body); font-size: .875rem;
  color: var(--text-muted); line-height: 1.65;
}
.cic-val a { color: var(--accent); transition: color .2s; }
.cic-val a:hover { color: var(--accent-light); }

/* Tips box */
.contact-topics {
  background: rgba(255,255,255,.025);
  border: 1px solid var(--border); border-radius: 12px;
  padding: 1.4rem 1.6rem;
}
.ct-title {
  font-family: var(--font-display); font-size: .8rem;
  font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: var(--accent); margin-bottom: .85rem;
}
.ct-item {
  display: flex; gap: .7rem; padding: .45rem 0;
  border-bottom: 1px solid var(--border);
  font-family: var(--font-body); font-size: .84rem;
  color: var(--text-muted); align-items: flex-start; line-height: 1.55;
}
.ct-item:last-child { border-bottom: none; }
.ct-arrow { color: var(--accent); font-weight: 700; flex-shrink: 0; }

/* Google Map section */
.map-section {
  background: var(--navy);
  border-top: 1px solid var(--border);
  padding: 4rem 4vw 0;
}
.map-header {
  max-width: 1200px; margin: 0 auto 2.5rem;
}
.map-embed-wrap {
  position: relative;
  max-width: 1200px; margin: 0 auto;
  border-radius: 16px 16px 0 0;
  overflow: hidden;
  box-shadow: 0 -4px 40px rgba(0,0,0,.35);
}
.map-embed-wrap iframe {
  width: 100%;
  height: 460px;
  border: 0;
  display: block;
  filter: brightness(.92) saturate(.85);
}
.map-overlay-card {
  position: absolute;
  bottom: 1.5rem; left: 1.5rem;
  background: rgba(10,22,40,.92);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid var(--border);
  border-radius: 12px; padding: 1.1rem 1.4rem;
  max-width: 260px;
}
.map-card-name {
  font-family: var(--font-display); font-size: .9rem;
  font-weight: 700; color: var(--white); margin-bottom: .25rem;
}
.map-card-addr {
  font-family: var(--font-body); font-size: .82rem;
  color: var(--text-muted); margin-bottom: .7rem; line-height: 1.5;
}
.map-card-link {
  font-family: var(--font-display); font-size: 12px;
  font-weight: 600; color: var(--accent);
  transition: color .2s;
}
.map-card-link:hover { color: var(--accent-light); }

/* Responsive */
@media (max-width: 960px) {
  .contact-layout { grid-template-columns: 1fr; gap: 3rem; }
}
@media (max-width: 640px) {
  .form-row { grid-template-columns: 1fr; }
  .map-embed-wrap iframe { height: 320px; }
  .map-overlay-card { position: static; max-width: 100%; border-radius: 0 0 12px 12px; margin: 0; }
  .map-embed-wrap { border-radius: 16px; }
}
.hero-video{
  width:100%;
  height:100%;
  object-fit:cover;
  position:absolute;
  inset:0;
}
/* ═══════════════════════ EXECUTIVE LEADERSHIP ═══════════════════════ */

.leadership-section{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at top right, rgba(0,140,255,.10), transparent 30%),
    radial-gradient(circle at bottom left, rgba(0,80,255,.10), transparent 35%),
    #07101d;

  padding:7rem 4vw;
}

/* GRID BACKGROUND */

.leadership-noise{
  position:absolute;
  inset:0;

  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);

  background-size:70px 70px;

  opacity:.45;

  mask-image:linear-gradient(
    to bottom,
    transparent,
    black 15%,
    black 85%,
    transparent
  );

  pointer-events:none;
}

/* HEADER */

.leadership-header{
  position:relative;
  z-index:2;

  text-align:center;

  margin-bottom:6rem;
}

.leadership-title{
  font-size:clamp(2.5rem,5vw,4.8rem);

  line-height:1.05;

  color:#fff;

  margin:1rem 0 1.5rem;

  letter-spacing:-.03em;
}

.leadership-subtitle{
  max-width:820px;

  margin:auto;

  color:rgba(255,255,255,.68);

  font-size:1.05rem;

  line-height:1.9;
}

/* ROW */

.leader-row{
  position:relative;
  z-index:2;

  display:grid;

  grid-template-columns:380px 1fr;

  gap:4rem;

  align-items:center;

  margin-bottom:6rem;
}

.leader-row.reverse{
  grid-template-columns:1fr 380px;
}

.leader-row.reverse .leader-visual{
  order:2;
}

.leader-row.reverse .leader-content{
  order:1;
}

/* IMAGE */

.leader-visual{
  position:relative;
}

.leader-frame{
  position:absolute;

  inset:-12px;

  border:1px solid rgba(0,180,255,.28);

  border-radius:28px;

  transform:rotate(-1.5deg);

  z-index:1;
}

.leader-photo{
  width:100%;

  height:480px;

  object-fit:cover;

  border-radius:24px;

  position:relative;

  z-index:2;

  box-shadow:0 30px 80px rgba(0,0,0,.45);

  transition:transform .5s ease;
}

.leader-row:hover .leader-photo{
  transform:scale(1.02);
}

.leader-overlay{
  position:absolute;

  inset:0;

  border-radius:24px;

  background:
    linear-gradient(
      to top,
      rgba(0,0,0,.78),
      transparent 45%
    );

  z-index:3;
}

/* EXPERIENCE BADGE */

.leader-mini-card{
  position:absolute;

  bottom:22px;
  left:22px;

  z-index:4;

  padding:.9rem 1rem;

  border-radius:16px;

  background:rgba(10,18,30,.78);

  backdrop-filter:blur(12px);

  border:1px solid rgba(255,255,255,.08);

  min-width:130px;
}

.mini-label{
  font-size:.72rem;

  color:rgba(255,255,255,.5);

  text-transform:uppercase;

  letter-spacing:.12em;
}

.mini-value{
  font-size:1.1rem;

  font-weight:700;

  color:#fff;

  margin-top:.15rem;
}

/* CONTENT */

.leader-content{
  position:relative;
}

.leader-line{
  width:80px;

  height:4px;

  border-radius:999px;

  background:linear-gradient(
    90deg,
    #00d2ff,
    #005eff
  );

  margin-bottom:1.5rem;
}

.leader-role{
  font-size:.8rem;

  letter-spacing:.22em;

  text-transform:uppercase;

  color:#66c9ff;

  margin-bottom:1rem;

  font-weight:700;
}

.leader-name{
  font-size:2.5rem;

  line-height:1.05;

  color:#fff;

  margin-bottom:1.2rem;

  letter-spacing:-.02em;
}

.leader-bio{
  color:rgba(255,255,255,.72);

  line-height:1.95;

  font-size:1rem;

  max-width:760px;
}

/* EXPAND SECTION */

.leader-expand{
  margin-top:1rem;
}

.leader-hidden{
  max-height:0;

  overflow:hidden;

  transition:max-height .55s ease;
}

.leader-hidden p{
  color:rgba(255,255,255,.72);

  line-height:1.95;

  margin-top:.8rem;

  font-size:1rem;
}

.leader-expand.active .leader-hidden{
  max-height:500px;
}

/* BUTTON */

.leader-btn{
  margin-top:1.5rem;

  background:none;

  border:none;

  color:#fff;

  font-size:.88rem;

  font-weight:700;

  letter-spacing:.12em;

  text-transform:uppercase;

  cursor:pointer;

  padding:0;

  position:relative;
}

.leader-btn::after{
  content:'';

  position:absolute;

  left:0;
  bottom:-7px;

  width:100%;
  height:2px;

  background:#00a6ff;

  transition:transform .3s ease;

  transform-origin:left;
}

.leader-btn:hover::after{
  transform:scaleX(.45);
}

/* HOVER EFFECT */

.leader-row::before{
  content:'';

  position:absolute;

  inset:0;

  border-radius:28px;

  background:
    radial-gradient(circle at top right,
    rgba(0,180,255,.08),
    transparent 40%);

  opacity:0;

  transition:opacity .4s ease;

  pointer-events:none;
}

.leader-row:hover::before{
  opacity:1;
}

/* TABLET */

@media(max-width:1100px){

  .leader-row,
  .leader-row.reverse{
    grid-template-columns:1fr;

    gap:2rem;
  }

  .leader-row.reverse .leader-visual,
  .leader-row.reverse .leader-content{
    order:unset;
  }

  .leader-photo{
    height:420px;
  }

  .leader-name{
    font-size:2rem;
  }
}

/* MOBILE */

@media(max-width:640px){

  .leadership-section{
    padding:5rem 1.2rem;
  }

  .leadership-header{
    margin-bottom:4rem;
  }

  .leadership-title{
    font-size:2.1rem;
  }

  .leadership-subtitle{
    font-size:.95rem;
    line-height:1.8;
  }

  .leader-row{
    margin-bottom:4rem;
  }

  .leader-photo{
    height:340px;
  }

  .leader-name{
    font-size:1.6rem;
  }

  .leader-bio,
  .leader-hidden p{
    font-size:.95rem;
    line-height:1.85;
  }

  .leader-btn{
    font-size:.8rem;
  }
}

/* GLOBAL TEXT JUSTIFICATION */
body,
p,
.section-desc,
.page-subtitle,
.leader-bio,
.leader-hidden p,
.val-card p,
.why-text p,
.cert-desc,
.sector-desc p,
.footer-brand p,
.footer-contact-item span,
.cta-band p {
    text-align: justify;
    text-justify: inter-word;
}

/* OPTIONAL: Better readability */
p,
.section-desc,
.page-subtitle,
.leader-bio,
.leader-hidden p,
.val-card p,
.why-text p,
.cert-desc,
.sector-desc p {
    line-height: 1.8;
}

/* MOBILE OPTIMIZATION */
@media (max-width: 768px) {
    p,
    .section-desc,
    .page-subtitle,
    .leader-bio,
    .leader-hidden p,
    .val-card p,
    .why-text p,
    .cert-desc,
    .sector-desc p {
        text-align: left;
    }
}
.logo-bg{
  background: rgba(255,255,255,0.92);
  border-radius: 18px;
  padding: 18px 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.18);
  backdrop-filter: blur(6px);
}

.logo-bg img{
  max-width: 100%;
  height: auto;
  display: block;
}
/* ===== PARTNERSHIP REDESIGN ===== */

.redesigned-partnership{
  display:grid;
  grid-template-columns:1.2fr 0.8fr;
  gap:4rem;
  align-items:center;
}

.grad-text{
  background:linear-gradient(90deg,#ff4d4d,#ffffff);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
}

.partnership-highlights{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
  margin-top:2rem;
}

.ph-item{
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:18px;
  padding:1rem;
  backdrop-filter:blur(10px);
}

.ph-item span{
  display:block;
  font-size:1.15rem;
  font-weight:700;
  color:#fff;
  margin-bottom:.35rem;
}

.ph-item small{
  color:rgba(255,255,255,.65);
  line-height:1.4;
}

.partner-actions{
  display:flex;
  gap:1rem;
  flex-wrap:wrap;
  margin-top:2rem;
}

/* RIGHT PANEL */

.partner-brand-card{
  position:relative;
}

.brand-card-glow{
  position:absolute;
  inset:10%;
  background:radial-gradient(circle at center,
    rgba(255,70,70,.35),
    transparent 70%);
  filter:blur(60px);
  z-index:0;
}

.brand-card-inner{
  position:relative;
  z-index:2;
  background:linear-gradient(
    145deg,
    rgba(255,255,255,0.06),
    rgba(255,255,255,0.02)
  );
  border:1px solid rgba(255,255,255,0.08);
  border-radius:32px;
  padding:2.5rem;
  overflow:hidden;
  backdrop-filter:blur(16px);
  box-shadow:
    0 20px 60px rgba(0,0,0,.35),
    inset 0 1px 0 rgba(255,255,255,.06);
}

.brand-top-badge{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.55rem 1rem;
  border-radius:999px;
  background:rgba(255,70,70,.12);
  border:1px solid rgba(255,70,70,.25);
  color:#ff7a7a;
  font-size:.78rem;
  letter-spacing:.12em;
  font-weight:700;
  margin-bottom:2rem;
}

.partner-logo-shell{
  background:#fff;
  border-radius:24px;
  padding:2.5rem;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:200px;
}

.partner-logo-shell img{
  max-width:100%;
  max-height:90px;
  object-fit:contain;
}

.partner-divider{
  height:1px;
  background:linear-gradient(
    90deg,
    transparent,
    rgba(255,255,255,.15),
    transparent
  );
  margin:2rem 0;
}

.partner-meta{
  display:flex;
  flex-direction:column;
  gap:1.3rem;
}

.pm-item{
  display:flex;
  flex-direction:column;
  gap:.35rem;
}

.pm-label{
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:rgba(255,255,255,.45);
}

.pm-item strong{
  color:#fff;
  font-size:.98rem;
  font-weight:600;
}

/* MOBILE */

@media (max-width:980px){

  .redesigned-partnership{
    grid-template-columns:1fr;
    gap:2.5rem;
  }

  .partnership-highlights{
    grid-template-columns:1fr;
  }

  .brand-card-inner{
    padding:2rem;
  }
}
.wa-wrapper{
    position: fixed;
    right: 25px;
    bottom: 25px;
    display: flex;
    align-items: center;
    gap: 10px;
    z-index: 9999;
}

.wa-text{
    background: #fff;
    padding: 10px 14px;
    border-radius: 25px;
    box-shadow: 0 3px 10px rgba(0,0,0,.15);
    font-size: 14px;
    font-weight: 600;
    color: #333;
}