:root{
  --black:#050505;
  --ink:#0A0A0B;
  --card:#111111;
  --grey:#F5F5F7;
  --rule:#E3E3E8;
  --slate:#1D1D1F;
  --slate-2:#6E6E73;
  --gray-on-dark:#A1A1AA;

  --gold:#D4AF37;
  --gold-soft:#E8CE7B;
  --gold-grad:linear-gradient(118deg,#F2E3B8,#D4AF37 46%,#A8801F 66%,#E8D294);

  --ui:'Inter Tight', -apple-system, BlinkMacSystemFont, 'SF Pro Display', system-ui, sans-serif;
  --lux:'Bodoni Moda', Didot, 'Times New Roman', Georgia, serif;
}

*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
html.lenis{scroll-behavior:auto !important}
body{background:var(--black); font-family:var(--ui); color:var(--slate); -webkit-font-smoothing:antialiased; overflow-x:hidden}
a{color:inherit; text-decoration:none}
img,video{max-width:100%; display:block}
:focus-visible{outline:1.5px solid var(--gold); outline-offset:4px; border-radius:3px}

.gold{background:var(--gold-grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent}

/* ═══ MOTION TEXT — masked line reveal ═══ */
.reveal{display:block; overflow:hidden}
.reveal > .ln{display:block; transform:translateY(105%)}
.up{opacity:0; transform:translateY(24px)}

/* ═══ NAV ═══ */
.nav{
  position:sticky; top:0; z-index:200; height:58px;
  background:rgba(5,5,5,.7);
  backdrop-filter:saturate(180%) blur(20px);
  -webkit-backdrop-filter:saturate(180%) blur(20px);
  border-bottom:1px solid rgba(255,255,255,.07);
}
.nav-in{max-width:1180px; height:100%; margin:0 auto; padding:0 28px; display:flex; align-items:center; justify-content:space-between}
.nav-mark{display:flex; align-items:center; gap:11px}
.nav-mark svg, .nav-mark img{width:22px; height:22px; display:block; object-fit:contain}
.nav-mark span{font-family:var(--lux); font-size:16px; font-weight:700; color:#F5F2EC; letter-spacing:.09em}
.nav-links{display:flex; align-items:center; gap:32px}
.nav-links > a, .nav-drop > button{
  font-size:12.5px; font-weight:400; letter-spacing:.03em; color:rgba(255,255,255,.72); transition:color .25s;
  background:none; border:none; font-family:inherit; cursor:pointer; display:flex; align-items:center; gap:5px;
}
.nav-links > a:hover, .nav-drop:hover > button, .nav-drop.open > button{color:#fff}
.nav-links a.current{color:var(--gold-soft)}
.nav-drop{position:relative}
.nav-drop svg{width:9px; height:9px; transition:transform .3s}
.nav-drop.open svg{transform:rotate(180deg)}
.nav-drop-menu{
  position:absolute; top:calc(100% + 16px); left:50%; transform:translateX(-50%) translateY(-8px);
  min-width:220px; padding:10px; border-radius:14px;
  background:rgba(12,12,13,.92); backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px);
  border:1px solid rgba(255,255,255,.08); box-shadow:0 30px 60px -20px rgba(0,0,0,.7);
  opacity:0; pointer-events:none; transition:.28s cubic-bezier(.2,.8,.2,1);
}
.nav-drop.open .nav-drop-menu{opacity:1; pointer-events:auto; transform:translateX(-50%) translateY(0)}
.nav-drop-menu a{display:flex; flex-direction:column; gap:2px; padding:10px 12px; border-radius:9px; transition:background .2s}
.nav-drop-menu a:hover{background:rgba(255,255,255,.05)}
.nav-drop-menu .t{font-family:var(--lux); font-weight:700; font-size:14.5px; color:#F5F2EC; letter-spacing:.02em}
.nav-drop-menu .d{font-size:11.5px; color:var(--gray-on-dark)}
.nav-cta{
  font-size:12.5px; font-weight:600; letter-spacing:.02em; color:var(--black) !important;
  background:var(--gold-grad); padding:9px 18px; border-radius:99px; transition:transform .3s, box-shadow .3s;
}
.nav-cta:hover{transform:translateY(-1px); box-shadow:0 10px 24px -8px rgba(212,175,55,.5)}
.nav-burger{display:none; background:none; border:none; color:#fff; padding:6px}

/* ═══ TILES / SECTION SHELLS ═══ */
.tile{position:relative; text-align:center; overflow:hidden}
.tile.dark{background:var(--black); color:#F5F5F7}
.tile.light{background:var(--grey); color:var(--slate)}
.tile + .tile{margin-top:10px}
.inner{max-width:960px; margin:0 auto; padding:0 28px; position:relative; z-index:1}
.inner.wide{max-width:1180px}

.tile.product::before{
  content:''; position:absolute; top:0; left:0; right:0; height:140px; z-index:0; pointer-events:none;
  background:linear-gradient(to bottom, rgba(0,0,0,.05), transparent);
}
.tile.dark.product::before{ background:linear-gradient(to bottom, rgba(255,255,255,.035), transparent) }

.eyebrow{
  display:inline-flex; align-items:center; gap:8px; font-size:11px; font-weight:600; letter-spacing:.26em;
  text-transform:uppercase; color:var(--gold-soft); margin-bottom:22px;
}
.eyebrow::before{content:''; width:22px; height:1px; background:var(--gold-soft)}

.tile h2{
  font-family:var(--lux); font-weight:700;
  font-size:clamp(38px,5.4vw,62px);
  letter-spacing:.02em; line-height:1.05; margin-bottom:16px;
}
.tile .sub{
  font-family:var(--ui); font-size:clamp(18px,2vw,25px);
  font-weight:300; line-height:1.3; letter-spacing:-.008em;
}
.tile.dark .sub{color:#A8A8AE}
.tile.light .sub{color:var(--slate-2)}
.tile .note{font-size:11px; font-weight:500; letter-spacing:.24em; text-transform:uppercase; margin-top:28px}
.tile.dark .note{color:#55555C}
.tile.light .note{color:#96969C}

.links{display:flex; gap:30px; justify-content:center; margin-top:28px; flex-wrap:wrap}
.lnk{font-size:15px; font-weight:400; letter-spacing:.01em; display:inline-flex; align-items:center; gap:6px; transition:opacity .25s}
.lnk::after{content:'\203A'; font-size:18px; line-height:1; position:relative; top:-1px}
.lnk:hover{opacity:.6}
.tile.dark .lnk{color:var(--gold-soft)}
.tile.light .lnk{color:#8A6A1C}

.btn{
  display:inline-flex; align-items:center; gap:8px; font-size:14.5px; font-weight:600; letter-spacing:.01em;
  padding:15px 28px; border-radius:99px; transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s;
}
.btn.primary{background:var(--gold-grad); color:var(--black)}
.btn.primary:hover{transform:translateY(-2px); box-shadow:0 16px 32px -10px rgba(212,175,55,.5)}
.btn.ghost{border:1px solid rgba(255,255,255,.18); color:#F5F5F7}
.btn.ghost:hover{border-color:rgba(255,255,255,.4); transform:translateY(-2px)}
.tile.light .btn.ghost{border-color:rgba(0,0,0,.16); color:var(--slate)}
.tile.light .btn.ghost:hover{border-color:rgba(0,0,0,.35)}
.btn-row{display:flex; gap:16px; justify-content:center; flex-wrap:wrap; margin-top:40px}

/* magnetic wrapper — JS toggles a translate via inline transform on :hover-tracked elements */
.magnetic{display:inline-block; will-change:transform}

/* ═══ HERO ═══ */
.hero{padding:150px 0 130px; min-height:92vh; display:flex; align-items:center}
.hero-canvas{position:absolute; inset:0; z-index:0; opacity:0; transition:opacity 1.4s ease}
.hero-canvas.ready{opacity:1}
.hero .glow{
  position:absolute; top:50%; left:50%; width:min(1000px,150vw); height:min(1000px,150vw);
  transform:translate(-50%,-50%); z-index:0; pointer-events:none; filter:blur(50px);
  background:radial-gradient(circle, rgba(212,175,55,.14), rgba(212,175,55,.04) 42%, transparent 72%);
  animation:glowPulse 9s ease-in-out infinite;
}
@keyframes glowPulse{
  0%,100%{ transform:translate(-50%,-50%) scale(1); opacity:.8 }
  50%{ transform:translate(-50%,-50%) scale(1.14); opacity:1 }
}
.hero .crest{width:76px; height:76px; margin:0 auto 44px; display:block; opacity:0; position:relative; z-index:1; object-fit:contain}
.hero h1{
  font-family:var(--lux); font-weight:700;
  font-size:clamp(44px,7vw,88px); line-height:1.06;
  letter-spacing:.005em; color:#F7F5F0; margin-bottom:26px;
}
.hero .thesis{
  font-size:clamp(17px,2vw,22px); font-weight:300; color:#A1A1AA;
  max-width:44ch; margin:0 auto; line-height:1.55;
}
.hero .btn-row{margin-top:44px}

/* page hero — smaller cinematic banner for interior pages */
.page-hero{padding:150px 0 90px; text-align:center; position:relative}
.page-hero .eyebrow{justify-content:center; width:100%}
.page-hero h1{
  font-family:var(--lux); font-weight:700; letter-spacing:.01em; line-height:1.08;
  font-size:clamp(36px,5.6vw,64px); color:#F7F5F0; margin-bottom:20px;
}
.tile.light .page-hero h1{color:var(--slate)}
.page-hero p{font-size:clamp(16px,1.8vw,19px); font-weight:300; color:#A1A1AA; max-width:56ch; margin:0 auto; line-height:1.6}
.tile.light .page-hero p{color:var(--slate-2)}

/* ═══ STAT STRIP ═══ */
.stats{position:relative; overflow:hidden; background:var(--ink); padding:96px 28px; margin-top:10px}
.stats::before{
  content:''; position:absolute; top:50%; left:50%; width:900px; height:340px; z-index:0; pointer-events:none;
  transform:translate(-50%,-50%); filter:blur(60px);
  background:radial-gradient(ellipse, rgba(212,175,55,.08), transparent 72%);
}
.stat-row{position:relative; z-index:1; max-width:1100px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:8px; text-align:center}
.stat .ic{
  display:flex; align-items:center; justify-content:center; width:40px; height:40px; margin:0 auto 16px;
  border-radius:50%; background:rgba(212,175,55,.1); color:var(--gold-soft);
}
.stat .num{font-family:var(--lux); font-weight:700; font-size:clamp(34px,4.2vw,52px); color:#F5F2EC}
.stat .lbl{margin-top:10px; font-size:11.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--gray-on-dark)}

/* ═══ PRODUCT TILES (pinned reveal) ═══ */
.product{padding:96px 0 0}
.stage{display:flex; justify-content:center; margin-top:58px; perspective:1400px}
.device{
  width:250px; height:508px; border-radius:38px; padding:8px;
  background:linear-gradient(160deg,#2E2E31,#0B0B0D 42%,#3E3E43);
  box-shadow:0 40px 80px -22px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.06);
  margin-bottom:-64px;
  transform-style:preserve-3d; will-change:transform;
}
.screen{
  width:100%; height:100%; border-radius:31px; overflow:hidden;
  display:flex; align-items:center; justify-content:center;
  background-image:var(--shot,none); background-size:cover; background-position:center;
  background-color:#0C0B0A; position:relative;
}
.screen::before{
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse 80% 55% at 50% 42%, rgba(212,175,55,.1), transparent 70%);
  transition:opacity .6s ease;
}
.screen .plate{
  font-family:var(--lux); font-weight:700; font-size:22px; letter-spacing:.09em;
  color:rgba(245,242,236,.3); position:relative; z-index:1;
  transition:opacity .5s ease;
}
.screen video{
  width:100%; height:100%; object-fit:cover;
  position:absolute; inset:0; z-index:2;
  opacity:0; transition:opacity .6s ease;
}
.screen.live video{opacity:1}
.screen.live .plate, .screen.live::before{opacity:0}

/* ═══ GLASS CARDS — Our Companies ═══ */
.grid-cards{max-width:1180px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:22px}
.glass-card{
  position:relative; text-align:left; padding:36px 32px; border-radius:22px; overflow:hidden;
  background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.08);
  backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
  transition:transform .5s cubic-bezier(.2,.8,.2,1), border-color .5s, background .5s;
  will-change:transform;
}
.glass-card:hover{border-color:rgba(212,175,55,.4); background:rgba(255,255,255,.045)}
.glass-card .gc-glow{
  position:absolute; top:-40%; right:-30%; width:60%; height:60%; border-radius:50%;
  background:radial-gradient(circle, rgba(212,175,55,.16), transparent 70%); filter:blur(20px);
  opacity:0; transition:opacity .5s;
}
.glass-card:hover .gc-glow{opacity:1}
.glass-card .gc-name{font-family:var(--lux); font-weight:700; font-size:26px; letter-spacing:.02em; color:#F5F2EC; margin-bottom:6px; position:relative; z-index:1}
.glass-card .gc-tag{font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-soft); margin-bottom:20px; position:relative; z-index:1}
.glass-card ul{list-style:none; display:flex; flex-direction:column; gap:9px; position:relative; z-index:1}
.glass-card li{font-size:14px; font-weight:300; color:var(--gray-on-dark); display:flex; align-items:center; gap:9px}
.glass-card li::before{content:''; width:4px; height:4px; border-radius:50%; background:var(--gold-soft); flex-shrink:0}
.glass-card .gc-link{margin-top:24px; display:inline-flex; align-items:center; gap:6px; font-size:13.5px; font-weight:600; color:var(--gold-soft); position:relative; z-index:1}
.glass-card .gc-link::after{content:'\203A'; font-size:16px}
.glass-card.soon{opacity:.55}
.glass-card.soon:hover{transform:none !important; border-color:rgba(255,255,255,.08)}

/* ═══ THE HOUSE ═══ */
.house{background:var(--ink); padding:124px 28px; margin-top:10px; text-align:center; color:#F5F5F7}
.house h2{font-family:var(--lux); font-weight:700; font-size:clamp(32px,4vw,52px); letter-spacing:.015em; margin-bottom:22px}
.house p{color:#7C7C84; font-size:18px; font-weight:300; max-width:54ch; margin:0 auto; line-height:1.6}
.row{display:flex; justify-content:center; gap:14px; flex-wrap:wrap; margin-top:66px}
.chip{
  display:flex; align-items:center; justify-content:center;
  min-width:210px; padding:32px 34px;
  border:1px solid rgba(255,255,255,.09); border-radius:12px;
  background:rgba(255,255,255,.015);
  font-family:var(--lux); font-weight:700; font-size:22px; letter-spacing:.05em; color:#F5F2EC;
  transition:.45s cubic-bezier(.2,.8,.2,1);
}
.chip:hover{border-color:rgba(212,175,55,.5); background:rgba(212,175,55,.05); transform:translateY(-3px)}
.chip.soon{
  font-family:var(--ui); font-weight:500; font-size:11px; letter-spacing:.24em; text-transform:uppercase;
  color:#42424A; border-style:dashed;
}
.chip.soon:hover{transform:none; border-color:rgba(255,255,255,.14); background:transparent}

/* ═══ MISSION — big centered fade-lines ═══ */
.mission{position:relative; overflow:hidden; background:var(--black); padding:150px 28px; text-align:center; margin-top:10px}
.mission .mark{
  position:absolute; top:50%; left:50%; width:640px; height:640px; z-index:0; pointer-events:none;
  transform:translate(-50%,-50%); opacity:.05; object-fit:contain;
}
.mission .glow{
  position:absolute; top:50%; left:50%; width:800px; height:500px; z-index:0; pointer-events:none;
  transform:translate(-50%,-50%); filter:blur(70px);
  background:radial-gradient(ellipse, rgba(212,175,55,.10), transparent 70%);
}
.mission .ln-block{position:relative; z-index:1; max-width:820px; margin:0 auto; display:flex; flex-direction:column; gap:6px}
.mission p{
  font-family:var(--lux); font-weight:600; font-size:clamp(24px,4vw,42px); letter-spacing:.005em; line-height:1.32;
  color:#7C7C84;
}
.mission p .gold{opacity:1}
.mission p.hi{color:#F5F2EC}

/* ═══ SERVICES ═══ */
.services{background:var(--grey); padding:124px 28px; margin-top:10px}
.svc-grid{max-width:1180px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:18px}
.svc-card{
  padding:32px 26px; border-radius:18px; background:#fff; border:1px solid var(--rule);
  text-align:left; transition:transform .45s cubic-bezier(.2,.8,.2,1), box-shadow .45s, border-color .45s;
  will-change:transform;
}
.svc-card:hover{transform:translateY(-6px); box-shadow:0 30px 50px -24px rgba(0,0,0,.18); border-color:rgba(212,175,55,.45)}
.svc-card .n{font-family:var(--lux); font-size:12px; font-weight:700; letter-spacing:.18em; color:var(--gold); display:block; margin-bottom:16px}
.svc-card h4{font-size:19px; font-weight:600; letter-spacing:-.01em; margin-bottom:9px; color:var(--slate)}
.svc-card p{font-size:14px; font-weight:300; color:var(--slate-2); line-height:1.6}

/* ═══ TECHNOLOGIES ═══ */
.tech{background:var(--black); padding:120px 28px; margin-top:10px; text-align:center}
.tech-grid{max-width:1000px; margin:56px auto 0; display:flex; flex-wrap:wrap; justify-content:center; gap:12px}
.tech-chip{
  padding:13px 22px; border-radius:99px; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.02);
  font-size:13.5px; font-weight:500; color:#D8D8DC; letter-spacing:.01em; transition:.35s;
}
.tech-chip:hover{border-color:rgba(212,175,55,.5); color:#fff; transform:translateY(-2px)}

/* ═══ TIMELINE ═══ */
.timeline{background:var(--grey); padding:130px 28px; margin-top:10px}
.tl-wrap{max-width:760px; margin:70px auto 0; position:relative; padding-left:36px}
.tl-wrap::before{content:''; position:absolute; left:6px; top:6px; bottom:6px; width:1.5px; background:var(--rule)}
.tl-item{position:relative; padding-bottom:56px}
.tl-item:last-child{padding-bottom:0}
.tl-item::before{
  content:''; position:absolute; left:-36px; top:4px; width:13px; height:13px; border-radius:50%;
  background:var(--grey); border:2px solid var(--gold); transform:scale(0); transition:transform .5s cubic-bezier(.2,.8,.2,1);
}
.tl-item.on::before{transform:scale(1)}
.tl-item .yr{font-family:var(--lux); font-weight:700; font-size:14px; letter-spacing:.12em; color:var(--gold); margin-bottom:6px}
.tl-item h4{font-size:21px; font-weight:600; color:var(--slate); letter-spacing:-.01em}
.tl-item p{margin-top:6px; font-size:14.5px; color:var(--slate-2); font-weight:300; max-width:46ch}

/* ═══ TRUST STRIP ═══ */
.trust{background:var(--ink); padding:110px 28px; margin-top:10px; text-align:center}
.trust-grid{max-width:1000px; margin:60px auto 0; display:grid; grid-template-columns:repeat(3,1fr); gap:34px 22px}
.trust-item{display:flex; flex-direction:column; align-items:center; gap:14px}
.trust-item .ic{width:44px; height:44px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:rgba(212,175,55,.1); color:var(--gold-soft)}
.trust-item h5{font-size:15px; font-weight:600; color:#F5F2EC; letter-spacing:-.005em}

/* ═══ STANDARDS ═══ */
.standards{background:var(--grey); padding:122px 28px; margin-top:10px}
.std-in{max-width:1120px; margin:0 auto}
.standards h2{font-family:var(--lux); font-weight:700; font-size:clamp(32px,4.2vw,54px); letter-spacing:.015em; margin-bottom:20px}
.standards .intro{font-size:19px; font-weight:300; color:var(--slate-2); max-width:52ch; margin-bottom:76px; line-height:1.6}
.cols{display:grid; grid-template-columns:repeat(4,1fr)}
.col{padding:0 34px; border-left:1px solid var(--rule)}
.col:first-child{padding-left:0; border-left:0}
.col:last-child{padding-right:0}
.col .n{display:block; font-family:var(--lux); font-size:13px; font-weight:700; letter-spacing:.16em; color:var(--gold); margin-bottom:22px}
.col h4{font-size:18px; font-weight:600; letter-spacing:-.015em; margin-bottom:11px; line-height:1.3}
.col p{font-size:14.5px; font-weight:300; color:var(--slate-2); line-height:1.65}

/* ═══ CONTACT / ENQUIRIES ═══ */
.enq{position:relative; overflow:hidden; background:var(--black); padding:130px 28px; margin-top:10px; text-align:center; color:#F5F5F7}
.enq::before{
  content:''; position:absolute; top:-10%; left:50%; width:760px; height:500px; z-index:0; pointer-events:none;
  transform:translateX(-50%); filter:blur(65px);
  background:radial-gradient(ellipse, rgba(212,175,55,.09), transparent 72%);
}
.enq > *{position:relative; z-index:1}
.enq h2{font-family:var(--lux); font-weight:700; font-size:clamp(32px,4vw,50px); letter-spacing:.015em; margin-bottom:18px}
.enq p{color:#7C7C84; font-size:17px; font-weight:300; max-width:48ch; margin:0 auto 20px}
.enq a.mail{font-size:19px; color:var(--gold-soft); border-bottom:1px solid rgba(212,175,55,.3); padding-bottom:4px; transition:.3s}
.enq a.mail:hover{border-color:var(--gold-soft)}
.enq-grid{max-width:640px; margin:56px auto 0; display:grid; grid-template-columns:1fr 1fr; gap:16px; text-align:left}
.enq-card{padding:24px; border-radius:16px; border:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.02)}
.enq-card h5{font-size:13px; letter-spacing:.1em; text-transform:uppercase; color:var(--gold-soft); margin-bottom:8px}
.enq-card p{margin:0; font-size:14.5px; color:#D8D8DC}

/* ═══ FOOTER ═══ */
.foot{background:var(--grey); padding:22px 28px 50px; font-size:12px; color:var(--slate-2)}
.foot-in{max-width:1180px; margin:0 auto; border-top:1px solid var(--rule); padding-top:20px}
.fine{line-height:1.6; padding-bottom:18px; border-bottom:1px solid var(--rule); margin-bottom:26px; max-width:78ch}
.fcols{display:grid; grid-template-columns:2fr repeat(3,1fr); gap:28px; padding-bottom:28px; border-bottom:1px solid var(--rule)}
.fcol h5{font-size:12px; font-weight:600; color:var(--slate); margin-bottom:12px}
.fcol a{display:block; padding:3.5px 0; color:var(--slate-2); transition:color .2s}
.fcol a:hover{color:var(--slate); text-decoration:underline}
.fbrand{font-family:var(--lux); font-weight:700; font-size:15px; color:var(--slate); letter-spacing:.03em; margin-bottom:8px; display:flex; align-items:center; gap:10px}
.fbrand-mark{width:24px; height:24px; display:block; object-fit:contain}
.ftag{font-size:13px; color:var(--slate-2); max-width:26ch; line-height:1.5}
.fbottom{display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; padding-top:22px}
.fbottom .legal a:hover{text-decoration:underline}

@media (prefers-reduced-motion:reduce){
  *{animation:none !important; transition:none !important; scroll-behavior:auto}
  .up{opacity:1 !important; transform:none !important}
  .reveal > .ln{transform:none !important}
  .hero .crest{opacity:1 !important}
  .hero .glow{animation:none !important; opacity:.8}
  .device{transform:none !important}
  .hero-canvas{display:none !important}
}

@media (max-width:1080px){
  .grid-cards{grid-template-columns:1fr}
  .svc-grid{grid-template-columns:1fr 1fr}
  .trust-grid{grid-template-columns:1fr 1fr}
  .stat-row{grid-template-columns:1fr 1fr; gap:36px 8px}
}
@media (max-width:940px){
  .cols{grid-template-columns:1fr 1fr; gap:46px 0}
  .col:nth-child(3){padding-left:0; border-left:0}
  .fcols{grid-template-columns:1fr 1fr; gap:24px}
}
@media (max-width:680px){
  .nav-links{position:fixed; top:58px; left:0; right:0; bottom:0; flex-direction:column; align-items:stretch;
    gap:0; padding:18px 24px; background:rgba(5,5,5,.97); backdrop-filter:blur(20px);
    transform:translateY(-8px); opacity:0; pointer-events:none; transition:.35s cubic-bezier(.2,.8,.2,1);
    overflow-y:auto;
  }
  body.nav-open .nav-links{opacity:1; pointer-events:auto; transform:translateY(0)}
  .nav-links a:not(.nav-cta){padding:16px 0; border-bottom:1px solid rgba(255,255,255,.06); font-size:15px}
  .nav-drop{display:block}
  .nav-drop-menu{position:static; opacity:1; pointer-events:auto; transform:none; background:none; border:none;
    backdrop-filter:none; box-shadow:none; padding:0 0 0 14px; display:none;}
  .nav-drop.open .nav-drop-menu{display:block}
  .nav-drop > button{width:100%; padding:16px 0; border-bottom:1px solid rgba(255,255,255,.06); justify-content:space-between}
  .nav-cta{align-self:flex-start; margin-top:18px}
  .nav-burger{display:block}
  .hero{padding:110px 0 80px; min-height:auto}
  .page-hero{padding:120px 0 70px}
  .product{padding-top:76px}
  .house,.standards,.enq,.stats,.services,.tech,.timeline,.trust,.mission{padding:80px 20px}
  .cols{grid-template-columns:1fr; gap:42px}
  .col{padding:0; border-left:0}
  .device{width:216px; height:440px; margin-bottom:-54px}
  .stage{margin-top:44px}
  .links{gap:22px}
  .svc-grid{grid-template-columns:1fr}
  .trust-grid{grid-template-columns:1fr}
  .fcols{grid-template-columns:1fr; gap:22px}
  .enq-grid{grid-template-columns:1fr}
}
