/* ============================================================
   TERAMERGE — THE HORIZON  (/company/)  ·  the final page
   Arriving at the horizon. The company becomes the focus.
   ONE continuous ascent: SCROLL = camera rise + video time + story.
   TIME = subtle warm haze / sun shimmer that keeps the dawn alive.
   Bright & open — the sky stays visible; contrast comes from
   localized warm scrims only, never a full-screen overlay.
   ============================================================ */

.teamrow{ display:flex; flex-wrap:wrap; gap:clamp(0.7rem,1.6vw,1.1rem); }
.tm{ text-decoration:none; width:clamp(88px,12vw,116px); }
.tm__ph{ display:block; aspect-ratio:3/4; border-radius:7px; background-size:cover; background-position:center 22%;
  border:1px solid rgba(226,168,92,0.35); filter:grayscale(0.12) contrast(1.02); box-shadow:0 12px 26px -16px rgba(20,14,8,0.7); transition:transform .45s var(--ease), filter .45s, box-shadow .45s; }
.tm:hover .tm__ph{ transform:translateY(-5px); filter:none; box-shadow:0 20px 40px -18px rgba(20,14,8,0.8); }
.tm__no{ display:block; margin-top:0.5rem; font-size:0.58rem; letter-spacing:0.22em; color:rgb(226,168,92); }
.tm__role{ display:block; font-size:0.72rem; letter-spacing:0.05em; color:var(--paper); }

.flow{ display:inline-flex; align-items:center; flex-wrap:wrap; gap:0.5rem 0.8rem; justify-content:center; }
.flow span{ font-size:clamp(0.95rem,1.7vw,1.4rem); font-weight:300; letter-spacing:0.02em; color:var(--paper);
  padding:0.4rem 0.95rem; border:1px solid rgba(226,168,92,0.45); border-radius:30px;
  background:rgba(38,28,20,0.18); -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); }
.flow i{ font-style:normal; color:rgb(226,168,92); font-size:1.1rem; }

:root{
  --paper:      #FCF8F0;                 /* warm near-white (dawn light) */
  --paper-soft: rgba(252,248,240,0.84);
  --paper-faint:rgba(252,248,240,0.52);

  --ink:        38,28,20;                /* deep warm umber (rgb) for local scrims */
  --gold:       226,168,92;             /* sunrise gold — the accent */
  --gold-soft:  238,196,140;
  --haze:       244,214,168;             /* atmospheric warm haze */

  --grade:      1.0;                     /* keep the sunrise crisp */

  --pad: clamp(1.5rem, 6vw, 8rem);
  --s-huge: clamp(2.6rem, 7vw, 5.4rem);
  --s-hero: clamp(1.85rem, 3.5vw, 2.9rem);
  --s-lg:   clamp(1.5rem, 2.7vw, 2.25rem);
  --s-md:   clamp(1.3rem, 2.1vw, 1.8rem);
  --fs-lead:  clamp(1rem, 1.4vw, 1.28rem);
  --fs-label: clamp(0.76rem, 0.98vw, 0.9rem);
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
}

*{ box-sizing:border-box; margin:0; padding:0; }
body{
  font-family:"Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;
  color:var(--paper); background:#1b2733;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; overflow-x:hidden;
}

/* ===== the horizon (fixed, scroll-scrubbed video + subtle haze canvas) ===== */
.env{ position:fixed; inset:0; z-index:0; overflow:hidden; background:#1b2733; }
.env__inner{ position:absolute; inset:0; }   /* no overscan / zoom — the video fills the frame exactly */
.env__video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  filter:none; }   /* shown exactly as supplied — no colour or brightness changes */
.env__fx{ position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }   /* twinkling stars */
.env__grade{ position:absolute; inset:0; pointer-events:none; display:none;
  background:
    linear-gradient(to bottom, rgba(28,20,12,0.20) 0%, rgba(28,20,12,0) 16%,
      rgba(28,20,12,0) 72%, rgba(24,16,10,0.30) 100%); }     /* whisper-light top/bottom seat only */

/* ===== global nav ===== */
.nav{ position:fixed; inset:0 0 auto 0; z-index:8; display:flex; align-items:center;
  justify-content:space-between; padding:clamp(1.1rem,2.4vw,1.8rem) var(--pad); pointer-events:none; }
.nav__brand{ pointer-events:auto; display:flex; align-items:center; gap:0.6rem; text-decoration:none;
  font-size:var(--fs-label); letter-spacing:0.34em; text-transform:uppercase; font-weight:600;
  color:var(--paper); text-shadow:0 1px 18px rgba(28,18,8,0.7); }
.nav__brand .dot{ width:5px; height:5px; border-radius:50%; background:rgba(var(--gold),0.98);
  box-shadow:0 0 12px rgba(var(--gold),0.7); }
.nav__links{ display:flex; align-items:center; gap:clamp(0.8rem,1.7vw,1.5rem); }
.nav__link{ pointer-events:auto; position:relative; text-decoration:none;
  font-size:var(--fs-label); letter-spacing:0.26em; text-transform:uppercase; font-weight:500;
  color:var(--paper-faint); text-shadow:0 1px 16px rgba(28,18,8,0.68); transition:color 0.35s var(--ease); white-space:nowrap; }
.nav__link:hover{ color:var(--paper); }
.nav__link.is-active{ color:var(--paper); }
.nav__link.is-active::after{ content:""; position:absolute; left:0; right:0; bottom:-0.5em; height:1px; background:rgba(var(--gold),0.9); }
.nav__link.is-soon{ opacity:0.5; }
.nav__link:focus-visible{ outline:2px solid rgba(var(--gold),0.95); outline-offset:4px; border-radius:2px; }

/* ===== sections ===== */
main{ position:relative; z-index:2; }
.s{ position:relative; min-height:100vh; display:flex; padding:calc(var(--pad) + 4rem) var(--pad); align-items:center; }
.s__wrap{ position:relative; width:100%; max-width:min(1080px, 88vw); }
.s--center{ justify-content:center; text-align:center; }
.s--center .s__wrap{ max-width:min(980px,90vw); }
.s--tall{ min-height:150vh; }

/* localized warm reading scrims (feathered — the sky stays visible around them) */
.scrim{ position:absolute; z-index:-1; pointer-events:none; filter:blur(50px); }
.scrim--l{ left:calc(var(--pad)*-0.5); top:50%; transform:translateY(-50%);
  width:min(960px,92vw); height:min(760px,80vh);
  background:radial-gradient(58% 60% at 34% 50%, rgba(var(--ink),0.9) 0%, rgba(var(--ink),0.6) 40%, rgba(var(--ink),0.2) 60%, rgba(var(--ink),0) 76%); }
.scrim--c{ left:50%; top:50%; transform:translate(-50%,-50%);
  width:min(1280px,98vw); height:min(920px,96vh);
  background:radial-gradient(56% 58% at 50% 50%, rgba(var(--ink),0.86) 0%, rgba(var(--ink),0.56) 40%, rgba(var(--ink),0.18) 60%, rgba(var(--ink),0) 78%); }

/* ===== type ===== */
.eyebrow{ display:inline-block; font-size:var(--fs-label); letter-spacing:0.4em; text-transform:uppercase;
  font-weight:600; color:rgba(var(--gold-soft),0.98); text-shadow:0 1px 14px rgba(28,18,8,0.7); }
.statement{ font-weight:300; text-transform:none; letter-spacing:0.005em; line-height:1.14; color:var(--paper);
  text-wrap:balance; text-shadow:0 2px 26px rgba(16,10,4,0.92), 0 2px 8px rgba(0,0,0,0.72), 0 0 2px rgba(0,0,0,0.5); }
.s-huge{ font-size:var(--s-huge); font-weight:200; letter-spacing:-0.01em; line-height:0.92; }
.s-hero{ font-size:var(--s-hero); }
.pagename{ font-weight:200; text-transform:uppercase; letter-spacing:0.06em; line-height:1.02;
  font-size:clamp(2.3rem, 5.6vw, 4.9rem); color:var(--paper);
  text-shadow:0 1px 50px rgba(28,18,8,0.4), 0 1px 10px rgba(28,18,8,0.4); }
.s-lg{ font-size:var(--s-lg); }
.s-md{ font-size:var(--s-md); letter-spacing:0.04em; }
.statement .soft{ color:var(--paper-soft); }
.statement .gold{ color:rgba(var(--gold),0.98); }
.lead{ font-size:var(--fs-lead); line-height:1.66; font-weight:400; color:var(--paper-soft); max-width:48ch;
  text-shadow:0 1px 16px rgba(16,10,4,0.88), 0 1px 5px rgba(0,0,0,0.6); }
.lead .em{ color:var(--paper); font-weight:500; }
.stack > * + *{ margin-top:clamp(1.5rem,3.2vw,2.7rem); }

/* category label */
.cat{ display:inline-block; font-size:var(--fs-label); letter-spacing:0.44em; text-transform:uppercase;
  font-weight:600; color:rgba(var(--gold-soft),0.96); text-shadow:0 1px 14px rgba(28,18,8,0.7); }

/* reveal-on-scroll */
.r{ opacity:0; transform:translateY(28px); transition:opacity 0.9s var(--ease), transform 0.9s var(--ease);
  transition-delay:var(--d,0s); will-change:opacity,transform; }
.r.in{ opacity:1; transform:none; }

/* ===== the organization — one living system (not cards) ===== */
.org{ position:relative; }
.org__scrim{ position:absolute; z-index:-1; pointer-events:none; filter:blur(64px); left:50%; top:50%;
  transform:translate(-50%,-50%); width:min(900px,94vw); height:min(1300px,150vh);
  background:radial-gradient(46% 42% at 50% 50%, rgba(var(--ink),0.52) 0%, rgba(var(--ink),0.26) 46%, rgba(var(--ink),0) 66%); }
.org__head{ text-align:center; max-width:760px; margin:0 auto clamp(3rem,7vh,6rem); }
.org__head .lead{ margin:1.2rem auto 0; max-width:52ch; }
.org__spine{ position:relative; margin:0 auto; max-width:820px; padding-left:0; }
.org__line{ position:absolute; left:50%; top:0; bottom:0; width:1px; transform:translateX(-0.5px);
  background:linear-gradient(to bottom, rgba(var(--gold),0) 0%, rgba(var(--gold),0.7) 8%,
    rgba(var(--gold),0.7) 92%, rgba(var(--gold),0) 100%); }
.tier{ position:relative; text-align:center; padding:clamp(1.6rem,4vh,3rem) 0; }
.tier__node{ position:relative; width:11px; height:11px; margin:0 auto 1.1rem; border-radius:50%;
  background:rgba(var(--gold),0.98); box-shadow:0 0 0 5px rgba(var(--ink),0.32), 0 0 22px rgba(var(--gold),0.8); }
.tier__label{ font-size:clamp(1.05rem,2.2vw,1.7rem); font-weight:300; letter-spacing:0.22em; text-transform:uppercase;
  color:var(--paper); text-shadow:0 1px 26px rgba(28,18,8,0.6); }
.tier__role{ margin-top:0.5rem; font-size:var(--fs-label); letter-spacing:0.28em; text-transform:uppercase;
  color:rgba(var(--gold-soft),0.9); }
.tier__items{ margin:1.1rem auto 0; max-width:640px; display:flex; flex-wrap:wrap; justify-content:center;
  gap:0.55rem 0; list-style:none; }
.tier__items li{ position:relative; font-size:clamp(0.8rem,1.15vw,0.98rem); font-weight:400; letter-spacing:0.14em;
  text-transform:uppercase; color:var(--paper-soft); padding:0 clamp(0.7rem,1.5vw,1.15rem); text-shadow:0 1px 14px rgba(28,18,8,0.6); }
.tier__items li + li::before{ content:""; position:absolute; left:0; top:50%; width:1px; height:0.9em;
  transform:translateY(-50%); background:rgba(252,248,240,0.28); }
.org__foot{ text-align:center; max-width:640px; margin:clamp(3rem,7vh,6rem) auto 0; }
.org__foot .statement{ line-height:1.24; }

/* ===== mission ===== */
.mission .statement{ line-height:1.02; }

/* ===== values — revealed one at a time as the camera rises ===== */
.values{ display:flex; flex-direction:column; gap:clamp(2.4rem,7vh,6rem); }
.value{ position:relative; }
.value__word{ font-size:clamp(2rem,6vw,4.6rem); font-weight:200; letter-spacing:0.04em; text-transform:uppercase;
  color:var(--paper); line-height:1; text-shadow:0 1px 34px rgba(28,18,8,0.55); }
.value__word .dot{ color:rgba(var(--gold),0.98); }
.value__note{ margin-top:0.7rem; font-size:var(--fs-lead); font-weight:400; letter-spacing:0.02em;
  color:var(--paper-soft); text-shadow:0 1px 14px rgba(28,18,8,0.55); max-width:38ch; }

/* ===== final CTA — set directly into the horizon ===== */
.final__mark{ font-size:clamp(2.6rem,9vw,8rem); font-weight:200; letter-spacing:0.14em; text-transform:uppercase;
  color:var(--paper); line-height:1; text-shadow:0 2px 60px rgba(28,18,8,0.5); }
.talk{ display:inline-flex; align-items:center; gap:0.7rem; margin-top:clamp(1.6rem,5vh,3rem);
  font-size:clamp(0.9rem,1.35vw,1.12rem); font-weight:700; letter-spacing:0.12em; text-transform:uppercase;
  color:#1a1207; text-decoration:none; position:relative; cursor:pointer; isolation:isolate;
  padding:0.85rem 1.7rem; border-radius:999px; border:1px solid rgba(var(--gold),0.85);
  background:linear-gradient(150deg, rgba(var(--gold),1) 0%, rgba(216,182,128,0.98) 55%, rgba(198,166,110,1) 100%);
  box-shadow:0 12px 30px rgba(0,0,0,0.4), 0 2px 0 rgba(255,255,255,0.4) inset, 0 -8px 16px rgba(120,86,30,0.32) inset;
  transition:transform .35s var(--ease), box-shadow .4s var(--ease), filter .35s var(--ease); }
.talk .arrow{ color:#1a1207; transition:transform 0.45s var(--ease); }
.talk::after{ content:""; position:absolute; inset:0; border-radius:inherit; z-index:-1;
  background:linear-gradient(150deg, rgba(255,255,255,0.5), transparent 45%); opacity:.6; }
.talk:hover{ transform:translateY(-3px) scale(1.02); filter:saturate(1.08);
  box-shadow:0 18px 40px rgba(0,0,0,0.48), 0 0 28px rgba(226,168,92,0.55), 0 2px 0 rgba(255,255,255,0.45) inset, 0 -8px 16px rgba(120,86,30,0.32) inset; }
.talk:hover .arrow{ transform:translateX(6px); }
.talk:active{ transform:translateY(-1px) scale(1); }
.talk:focus-visible{ outline:2px solid rgba(var(--gold),0.98); outline-offset:5px; }

/* contact row (invitation section) — email + phone in a neat glass strip */
/* sits on its OWN line, centered BELOW the "Let's Talk" button */
.contactrow{ display:flex; width:fit-content; max-width:min(680px,94%); margin-left:auto; margin-right:auto;
  align-items:center; justify-content:center; flex-wrap:wrap;
  gap:clamp(0.8rem,2.4vw,2rem); margin-top:clamp(1.4rem,3vh,2rem);
  padding:clamp(0.7rem,1.4vh,1rem) clamp(1.1rem,2.6vw,2rem); border-radius:14px;
  background:linear-gradient(155deg, rgba(252,248,240,0.08), rgba(252,248,240,0.02) 62%);
  -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  border:1px solid rgba(var(--gold),0.22); box-shadow:0 20px 50px -28px rgba(0,0,0,0.7); }
.contactrow__i{ display:inline-flex; align-items:center; gap:0.7rem; text-decoration:none; color:var(--paper);
  transition:color .3s var(--ease); }
.contactrow__ic{ display:grid; place-items:center; width:34px; height:34px; flex:0 0 auto; border-radius:50%;
  background:radial-gradient(circle at 40% 34%, rgba(var(--gold),0.24), rgba(38,28,20,0.5));
  border:1px solid rgba(var(--gold),0.4); }
.contactrow__ic svg{ width:16px; height:16px; fill:none; stroke:rgba(var(--gold),0.98); stroke-width:1.6;
  stroke-linecap:round; stroke-linejoin:round; }
.contactrow__t{ display:flex; flex-direction:column; line-height:1.2; text-align:left;
  font-size:clamp(0.86rem,1.15vw,1rem); font-weight:500; letter-spacing:0.01em; }
.contactrow__t b{ font-size:0.6rem; letter-spacing:0.22em; text-transform:uppercase; font-weight:600;
  color:rgba(var(--gold),0.9); margin-bottom:0.12rem; }
.contactrow__i:hover{ color:rgba(var(--gold),0.98); }
.contactrow__sep{ width:1px; height:28px; background:linear-gradient(180deg, transparent, rgba(var(--gold),0.4), transparent); }
@media (max-width:520px){
  /* phone: one left-aligned column — icons stacked on the same vertical line, labels and values aligned */
  .contactrow{ flex-direction:column; align-items:stretch; flex-wrap:nowrap; gap:0; width:min(300px,100%);
    padding:0.35rem 1.1rem; }
  .contactrow__i{ display:flex; justify-content:flex-start; gap:0.9rem; padding:0.75rem 0; }
  .contactrow__t{ font-size:0.95rem; }
  .contactrow__sep{ width:100%; height:1px; background:linear-gradient(90deg,transparent,rgba(var(--gold),0.4),transparent); }
}

.scroll-cue{ display:inline-flex; align-items:center; gap:0.9rem; font-size:var(--fs-label); letter-spacing:0.32em;
  text-transform:uppercase; color:var(--paper-soft); font-weight:500; text-shadow:0 1px 14px rgba(28,18,8,0.7); }
.scroll-cue__rail{ width:46px; height:1px; background:rgba(252,248,240,0.3); position:relative; overflow:hidden; }
.scroll-cue__rail::after{ content:""; position:absolute; inset:0; width:40%;
  background:linear-gradient(90deg, transparent, var(--paper)); animation:cue 2.8s var(--ease) infinite; }
@keyframes cue{ 0%{transform:translateX(-100%)} 65%{transform:translateX(280%)} 100%{transform:translateX(280%)} }

.progress{ position:fixed; left:0; top:0; height:2px; width:100%; z-index:8; transform-origin:left; transform:scaleX(0);
  background:linear-gradient(90deg, rgba(var(--gold-soft),0.85), rgba(var(--gold),0.95)); }

.boot{ position:fixed; inset:0; z-index:30; display:grid; place-items:center; background:#1b2733;
  transition:opacity 0.9s ease, visibility 0.9s; }
.boot.is-done{ opacity:0; visibility:hidden; }
.boot__mark{ font-size:var(--fs-label); letter-spacing:0.5em; text-transform:uppercase; color:var(--paper-soft); font-weight:500; }

/* ============================================================
   OUR TEAM — immersive scan stage (scroll-reveal, black + blue)
   ============================================================ */
.teamsec{ position:relative; }
.teamsec--immersive{ min-height:560vh; }                 /* tall scroll track drives the scan */
.teamsec--immersive .teamsec__fallback{ display:none; }
.teamsec__list{ list-style:none; display:flex; flex-direction:column; gap:0.6rem; margin-top:1.4rem; }
.teamsec__list li{ font-size:clamp(0.95rem,1.6vw,1.25rem); font-weight:300; letter-spacing:0.03em; color:var(--paper-soft); }
.teamsec__list span{ color:rgba(var(--gold-soft),0.95); font-size:0.7rem; letter-spacing:0.2em; margin-right:0.8rem; }

/* fixed stage: black + blue data-point space, fades over the horizon */
.teamstage{ position:fixed; inset:0; z-index:1; opacity:0; visibility:hidden; pointer-events:none;
  background:#000; --ttx:#EAF1FB; --tt2:#8FA3C0; --tacc:#6f9bd8; }
#teamscene{ position:absolute; inset:0; width:100%; height:100%; display:block; }

/* scan frame + crosshairs + rulers */
.tstage__frame{ position:absolute; inset:clamp(14px,2vw,30px); border:1px solid rgba(180,205,255,0.16); }
.tcross{ position:absolute; color:rgba(180,205,255,0.34); font-size:0.9rem; line-height:1; font-weight:300; transform:translate(-50%,-50%); }
.tc-tl{left:0;top:0}.tc-tr{left:100%;top:0}.tc-bl{left:0;top:100%}.tc-br{left:100%;top:100%}
.tc-l{left:0;top:50%}.tc-c{left:50%;top:50%}.tc-r{left:100%;top:50%}
.truler{ position:absolute; left:50%; transform:translateX(-50%); width:min(360px,40vw); height:6px;
  background-image:radial-gradient(circle, rgba(180,205,255,0.5) 1px, transparent 1.5px); background-size:12px 6px; background-position:center; }
.truler--top{ top:12px; } .truler--bot{ bottom:12px; }

/* stage HUD text */
.tstage__eye{ position:absolute; left:clamp(1.8rem,4vw,3.4rem); top:clamp(4.6rem,8vh,6rem);
  font-size:0.6rem; letter-spacing:0.34em; text-transform:uppercase; color:var(--tt2); }
.tstage__idx{ position:absolute; right:clamp(1.8rem,4vw,3.4rem); top:clamp(4.6rem,8vh,6rem);
  font-size:0.62rem; letter-spacing:0.28em; color:var(--tacc); font-variant-numeric:tabular-nums; }
.tstage__title{ position:absolute; left:50%; top:38%; transform:translate(-50%,-50%); text-align:center; opacity:0;
  font-family:"Archivo",sans-serif; font-weight:200; text-transform:uppercase; letter-spacing:0.05em;
  font-size:clamp(2rem,5.5vw,4.4rem); line-height:1.02; color:var(--ttx); transition:opacity .4s var(--ease); pointer-events:none;
  text-shadow:0 2px 50px rgba(0,0,0,0.6); }
.tstage__info{ position:absolute; left:clamp(1.8rem,4vw,3.6rem); bottom:clamp(3.2rem,10vh,5rem); max-width:min(420px,66vw); opacity:0; transition:opacity .4s var(--ease); }
.tstage__info.sw .tstage__role, .tstage__info.sw .tstage__bio{ opacity:0; transform:translateY(10px); }
.tstage__role{ font-family:"Archivo",sans-serif; font-weight:300; font-size:clamp(1.5rem,3vw,2.5rem); letter-spacing:0.01em; color:var(--ttx);
  transition:opacity .3s var(--ease), transform .3s var(--ease); }
.tstage__bio{ margin-top:0.7rem; font-size:0.92rem; line-height:1.6; color:var(--tt2); max-width:40ch;
  transition:opacity .3s var(--ease), transform .3s var(--ease); }
.tstage__bar{ margin-top:1.1rem; width:min(240px,46vw); height:1px; background:rgba(180,205,255,0.16); overflow:hidden; }
.tstage__bar i{ display:block; height:100%; width:20%; background:var(--tacc); transition:width .5s var(--ease); }
.tstage__dots{ position:absolute; left:50%; bottom:clamp(1.8rem,5vh,2.8rem); transform:translateX(-50%); display:flex; gap:0.6rem; }
.tstage__dots span{ width:7px; height:7px; border-radius:50%; background:rgba(180,205,255,0.24); transition:background .3s, transform .3s; }
.tstage__dots span.on{ background:var(--tacc); transform:scale(1.35); }
.tstage__cue{ position:absolute; right:clamp(1.8rem,4vw,3.6rem); bottom:clamp(3.4rem,10vh,5rem); display:flex; align-items:center; gap:0.7rem;
  font-size:0.58rem; letter-spacing:0.26em; text-transform:uppercase; color:var(--tt2); opacity:0; transition:opacity .4s var(--ease); }
.tstage__cue i{ width:34px; height:1px; background:rgba(180,205,255,0.4); position:relative; overflow:hidden; }
.tstage__cue i::after{ content:""; position:absolute; inset:0; width:40%; background:linear-gradient(90deg,transparent,var(--tacc)); animation:tcue 2.6s var(--ease) infinite; }
@keyframes tcue{ 0%{transform:translateX(-100%)} 65%{transform:translateX(260%)} 100%{transform:translateX(260%)} }

@media (max-width:760px){
  .teamsec--immersive{ min-height:640vh; }
  .tstage__title{ font-size:2rem; top:34%; }
  .tstage__info{ max-width:80vw; bottom:8rem; }
  .tstage__cue{ display:none; }
}

/* ===== RESPONSIVE ===== */
@media (max-width:1180px){ .nav__link.is-soon{ display:none; } }
@media (max-width:760px){
  html{ scroll-padding-top:5.8rem; }
  :root{ --pad:1.4rem; }
  .nav{ padding:calc(env(safe-area-inset-top, 0px) + 0.9rem) var(--pad) 1rem; }
  .nav__brand{ position:relative; z-index:21; }
  .nav__links{ gap:0.85rem; }
  /* (removed: .nav__link:not(.is-active){display:none} — the hamburger panel now shows all page links) */
  .s{ padding:calc(var(--pad)+6.1rem) var(--pad) calc(var(--pad) + 1.2rem) !important; }
  .s--tall{ min-height:auto; }
  .lead{ max-width:100%; }
  .tier__items{ gap:0.4rem 0; }
}
@media (max-width:400px){ .nav__brand{ font-size:0.6rem; letter-spacing:0.2em; } }

/* ===== REDUCED MOTION ===== */
@media (prefers-reduced-motion:reduce){
  .env__inner{ transform:none !important; }
  .scroll-cue__rail::after{ animation:none; }
  .r{ opacity:1 !important; transform:none !important; transition:none; }
}

/* ============================================================
   COMPANY REBUILD (2026-09-22) — doc content: $393T story,
   leadership tree w/ headshots + pillars, advisory, careers.
   ============================================================ */
.em{ color:var(--paper); font-weight:500; }

/* big animated stat */
.bigstat{ display:flex; align-items:baseline; gap:clamp(1rem,2.5vw,2.2rem); flex-wrap:wrap;
  margin-top:clamp(1.4rem,3.4vh,2.4rem); max-width:60ch; }
.bigstat__n{ font-family:var(--sans,"Archivo"),sans-serif; font-weight:200; line-height:0.9;
  font-size:clamp(3rem,9vw,7rem); color:rgba(var(--gold),0.98); letter-spacing:-0.01em;
  text-shadow:0 4px 60px rgba(0,0,0,0.4); font-variant-numeric:tabular-nums; }
.bigstat__l{ flex:1 1 300px; font-size:clamp(0.98rem,1.3vw,1.18rem); line-height:1.55; color:var(--paper-soft); }

/* thesis flow — Buy right → Run it on intelligence → Compound it into billions */
.thline{ display:flex; align-items:center; flex-wrap:wrap; gap:0.7rem 0.9rem; margin-top:clamp(1.4rem,3.4vh,2.4rem); }
.thline span{ font-size:clamp(1.05rem,1.7vw,1.45rem); font-weight:400; color:var(--paper);
  border:1px solid rgba(var(--gold),0.28); border-radius:40px; padding:0.5rem 1.2rem; background:rgba(38,28,20,0.36); }
.thline .thline__end{ color:rgba(var(--gold),0.98); border-color:rgba(var(--gold),0.55); }
.thline i{ font-style:normal; color:rgba(var(--gold),0.9); font-size:1.2rem; }

/* leadership tree */
.lead__head{ text-align:center; }
.ltree{ margin-top:clamp(1.8rem,4.5vh,3.4rem); display:flex; flex-direction:column; align-items:center; }
.lnode{ position:relative; width:min(320px,88vw); text-align:center; padding:clamp(1.1rem,1.9vw,1.6rem);
  border:1px solid rgba(var(--gold),0.24); border-radius:16px; background:rgba(38,28,20,0.46);
  -webkit-backdrop-filter:blur(7px); backdrop-filter:blur(7px);
  transition:border-color .35s var(--ease), box-shadow .35s var(--ease); transform-style:preserve-3d; }
.lnode:hover{ border-color:rgba(var(--gold),0.55); box-shadow:0 18px 54px rgba(0,0,0,0.42); }
.lnode--hub{ width:min(360px,90vw); border-color:rgba(var(--gold),0.42);
  background:linear-gradient(180deg, rgba(var(--gold),0.08), rgba(38,28,20,0.5)); }
.lavatar{ position:relative; width:clamp(60px,7.5vw,80px); height:clamp(60px,7.5vw,80px); border-radius:50%;
  margin:0 auto 0.85rem; display:grid; place-items:center; font-weight:300; font-size:clamp(1.5rem,2.4vw,2rem);
  color:rgba(var(--gold),0.98); background:radial-gradient(circle at 40% 34%, rgba(var(--gold),0.24), rgba(38,28,20,0.65));
  border:1px solid rgba(var(--gold),0.45); box-shadow:0 0 28px rgba(var(--gold),0.14); transform:translateZ(26px); }
.lavatar__ph{ position:absolute; bottom:-7px; left:50%; transform:translateX(-50%); font-size:0.5rem; letter-spacing:0.18em;
  text-transform:uppercase; color:var(--paper-faint); background:rgba(38,28,20,0.85); padding:0.08rem 0.4rem; border-radius:10px;
  border:1px solid rgba(var(--gold),0.2); }
.lname{ font-size:clamp(1.1rem,1.6vw,1.35rem); font-weight:500; color:var(--paper); transform:translateZ(14px); }
.lrole{ font-size:clamp(0.78rem,1vw,0.9rem); color:var(--paper-soft); margin-top:0.3rem; line-height:1.36; }
.ldiv{ font-size:0.62rem; letter-spacing:0.22em; text-transform:uppercase; color:rgba(var(--gold),0.95); margin-top:0.6rem; }
.lpillars{ display:flex; flex-wrap:wrap; justify-content:center; gap:0.3rem 0.34rem; margin-top:0.7rem; }
.lpillars span{ font-size:0.66rem; color:var(--paper-soft); border:1px solid rgba(var(--gold),0.22);
  border-radius:16px; padding:0.16rem 0.55rem; }
.ltree__spine{ width:1px; height:clamp(22px,3.4vh,40px); background:linear-gradient(rgba(var(--gold),0.6), rgba(var(--gold),0.14));
  margin:0.8rem 0; }
.lrow{ position:relative; display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(0.8rem,1.7vw,1.5rem);
  width:100%; max-width:1040px; }
.lrow::before{ content:""; position:absolute; top:calc(-1 * clamp(11px,1.8vh,20px)); left:16.66%; right:16.66%; height:1px;
  background:linear-gradient(90deg, transparent, rgba(var(--gold),0.45), transparent); }
.lrow .lnode::before{ content:""; position:absolute; top:calc(-1 * clamp(11px,1.8vh,20px)); left:50%;
  width:1px; height:clamp(11px,1.8vh,20px); background:rgba(var(--gold),0.4); }

/* experience line (comment 2) */
.lexp{ text-align:center; margin-top:clamp(1.8rem,4vh,3rem); display:flex; flex-direction:column; gap:0.4rem; }
.lexp__soon{ font-size:0.66rem; letter-spacing:0.3em; text-transform:uppercase; color:var(--paper-faint); }
.lexp__big{ font-size:clamp(1.1rem,2vw,1.7rem); font-weight:300; color:var(--paper); }
.lexp__big b{ color:rgba(var(--gold),0.98); font-weight:500; }

/* advisory board */
.advgrid{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(0.7rem,1.5vw,1.3rem);
  margin-top:clamp(1.4rem,3.4vh,2.4rem); }
.advcard{ padding:clamp(1rem,1.6vw,1.4rem); border:1px solid rgba(var(--gold),0.2); border-radius:14px;
  background:rgba(38,28,20,0.4); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  transition:border-color .35s var(--ease), transform .35s var(--ease); }
.advcard:hover{ border-color:rgba(var(--gold),0.45); transform:translateY(-3px); }
.advcard__dom{ display:block; font-size:0.6rem; letter-spacing:0.22em; text-transform:uppercase; color:rgba(var(--gold),0.95); }
.advcard__nm{ display:block; font-size:clamp(0.95rem,1.3vw,1.12rem); color:var(--paper); margin:0.4rem 0 0.4rem; font-weight:400; }
.advcard__ln{ display:block; font-size:0.8rem; line-height:1.45; color:var(--paper-soft); }

/* careers */
.careers__cta{ display:flex; flex-direction:column; align-items:center; gap:0.7rem; margin-top:clamp(1.2rem,3vh,2rem); }
.careers__note{ font-size:0.66rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--paper-faint); }

@media (max-width:820px){
  .lrow{ grid-template-columns:1fr; }
  .lrow::before, .lrow .lnode::before{ display:none; }
  .advgrid{ grid-template-columns:repeat(2,1fr); }
}

/* row nodes fill their grid column (avoid fixed-width overflow) */
.lrow .lnode{ width:100%; }

/* $393 Trillion unit */
.bigstat__n{ display:flex; align-items:baseline; gap:0.5rem; flex-wrap:wrap; }
.bigstat__u{ font-size:clamp(1.1rem,2.4vw,2.2rem); font-weight:300; letter-spacing:0.04em;
  color:rgba(var(--gold),0.9); text-transform:uppercase; }

/* ---- manifesto sections: right-size so headline + stat + lead fit one frame ---- */
.s--tight{ padding-top:calc(var(--pad) + 1rem); padding-bottom:calc(var(--pad) + 1rem); }
#rebuild .statement{ font-size:clamp(1.8rem,3.5vw,3rem); line-height:1.1; max-width:26ch; margin-inline:auto; text-wrap:balance; }
#rebuild .bigstat{ margin-top:clamp(1rem,2.6vh,1.9rem); flex-direction:column; align-items:center; gap:0.55rem; text-align:center; max-width:none; }
#rebuild .bigstat__n{ font-size:clamp(2.7rem,5vw,4.3rem); justify-content:center; }
#rebuild .bigstat__u{ font-size:clamp(1rem,1.7vw,1.5rem); }
#rebuild .bigstat__l{ flex:0 0 auto; font-size:clamp(0.9rem,1.1vw,1.06rem); line-height:1.5; max-width:46ch; margin-inline:auto; }
#rebuild .lead{ margin-top:clamp(1rem,2.4vh,1.6rem); }
#thesis .thesis__h{ display:flex; flex-direction:column; align-items:center; gap:clamp(0.45rem,1.2vh,0.9rem);
  max-width:none; margin-inline:auto; }
.thesis__setup{ display:block; font-size:clamp(1.05rem,2vw,1.6rem); font-weight:300; line-height:1.14;
  color:var(--paper-soft); letter-spacing:0.03em; white-space:nowrap; }
.thesis__punch{ display:block; font-size:clamp(1.7rem,3.3vw,2.8rem); font-weight:300; line-height:1.06;
  letter-spacing:0.005em; white-space:nowrap; }
@media (max-width:600px){ .thesis__setup, .thesis__punch{ white-space:normal; } }
#thesis .lead{ max-width:56ch; }
/* stack rhythm a touch tighter on these dense sections */
#rebuild .stack > * + *, #thesis .stack > * + *{ margin-top:clamp(0.7rem,1.6vh,1.3rem); }

/* ---- fit every Company section to one frame (2026-09-22 pass 2) ---- */
/* careers headline was giant → moderate, fits */
#careers .final__mark{ font-size:clamp(1.7rem,3.4vw,3rem) !important; line-height:1.1; letter-spacing:0.01em; }
#careers .careers__cta{ margin-top:clamp(1.4rem,3vh,2.2rem); }

/* leadership tree — compress so hub + 3 nodes + experience fit one frame */
#leadership .lead__head .statement{ font-size:clamp(1.35rem,2.3vw,1.95rem); }
#leadership .ltree{ margin-top:clamp(1rem,2.4vh,1.9rem); }
#leadership .lnode{ padding:clamp(0.75rem,1.3vw,1.1rem); }
#leadership .lavatar{ width:clamp(46px,5vw,58px); height:clamp(46px,5vw,58px); margin-bottom:0.55rem; font-size:clamp(1.3rem,2vw,1.6rem); }
#leadership .lrole{ font-size:clamp(0.72rem,0.92vw,0.82rem); margin-top:0.22rem; }
#leadership .ldiv{ margin-top:0.4rem; }
#leadership .lpillars{ margin-top:0.5rem; gap:0.26rem 0.3rem; }
#leadership .lpillars span{ font-size:0.6rem; padding:0.12rem 0.48rem; }
#leadership .ltree__spine{ height:clamp(14px,2vh,24px); margin:0.5rem 0; }
#leadership .lexp{ margin-top:clamp(1rem,2.2vh,1.6rem); }
#leadership .lexp__big{ font-size:clamp(1rem,1.7vw,1.45rem); }

/* advisory a touch tighter */
#advisory .statement{ font-size:clamp(1.4rem,2.6vw,2.3rem); }

/* ============================================================
   ORGANIZATION CHART (2026-09-22) — apex · divisions · foundation
   Ported from the reference org chart, warm-dawn themed.
   ============================================================ */
.org__intro{ text-align:center; max-width:min(780px,94%); margin:0 auto; }
.org__intro .statement{ font-size:clamp(1.5rem,2.8vw,2.4rem); }
.org__intro .lead{ margin:0.8rem auto 0; max-width:66ch; font-size:clamp(0.92rem,1.15vw,1.06rem); }
.org{ margin-top:clamp(1.2rem,2.6vh,2rem); overflow-x:auto; }
.org__chart{ position:relative; min-width:900px; }
.org__wires{ position:absolute; inset:0; z-index:0; overflow:visible; pointer-events:none; }
.org__wires path{ stroke:rgba(var(--gold),0.34); stroke-width:1.3; fill:none; }
.org__wires path.dash{ stroke-dasharray:5 4; opacity:0.7; }
.org__wires text{ fill:var(--paper-faint); font-size:9px; letter-spacing:0.14em; text-transform:uppercase; }

.org__av{ border-radius:50%; display:grid; place-items:center; font-weight:600; margin:0 auto 7px;
  width:42px; height:42px; font-size:13px; background:rgba(var(--gold),0.16); color:var(--paper); border:1px solid rgba(var(--gold),0.36); }
.org__av--sm{ width:36px; height:36px; font-size:12px; }
.org__av--lg{ width:54px; height:54px; font-size:16px; background:linear-gradient(160deg,#e2a85c,#96743a); color:#221c14; border:0; }

/* apex */
.org__apex{ position:relative; z-index:1; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; }
.org__ea{ justify-self:end; margin-right:52px; text-align:center; max-width:230px;
  background:rgba(38,28,20,0.52); border:1px solid rgba(var(--gold),0.22); border-radius:12px; padding:11px 15px;
  -webkit-backdrop-filter:blur(5px); backdrop-filter:blur(5px); }
.org__ceo{ justify-self:center; text-align:center; min-width:248px; padding:16px 30px; border-radius:16px;
  background:linear-gradient(180deg, rgba(var(--gold),0.14), rgba(38,28,20,0.58)); border:1.5px solid rgba(var(--gold),0.6);
  box-shadow:0 0 46px rgba(var(--gold),0.16); -webkit-backdrop-filter:blur(5px); backdrop-filter:blur(5px); }
.org__adv{ justify-self:start; margin-left:52px; text-align:center; color:var(--paper-soft);
  border:1px dashed rgba(var(--gold),0.34); border-radius:12px; padding:12px 18px; background:rgba(252,248,240,0.02); }
.org__nm{ font-weight:600; font-size:14px; color:var(--paper); }
.org__nm--ceo{ font-weight:400; font-size:1.18rem; letter-spacing:0.01em; }
.org__rl{ font-size:11px; color:var(--paper-soft); margin-top:2px; }
.org__rl--gold{ color:rgba(var(--gold),0.98); font-size:11.5px; letter-spacing:0.09em; text-transform:uppercase; margin-top:5px; }
.org__hats{ font-size:9px; letter-spacing:0.14em; text-transform:uppercase; color:rgba(var(--gold),0.9); margin-top:6px; }
.org__advt{ font-size:13px; color:var(--paper); }
.org__advs{ font-size:10px; letter-spacing:0.12em; text-transform:uppercase; color:var(--paper-faint); margin-top:4px; }

/* divisions */
.org__divs{ position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:52px; }
.org__col{ transition:transform .35s var(--ease); }
.org__col:hover{ transform:translateY(-3px); }
.org__head{ background:rgba(38,28,20,0.54); border:1.5px solid rgba(var(--gold),0.34); border-radius:14px 14px 0 0;
  padding:13px 14px 11px; text-align:center; -webkit-backdrop-filter:blur(5px); backdrop-filter:blur(5px); }
.org__tag{ font-size:9px; letter-spacing:0.2em; text-transform:uppercase; color:rgba(var(--gold),0.92); }
.org__pname{ font-size:1.04rem; color:var(--paper); margin-top:3px; }
.org__prole{ font-size:10.5px; letter-spacing:0.05em; text-transform:uppercase; color:var(--paper-soft); margin-top:3px; }
.org__pdiv{ font-size:11.5px; color:rgba(var(--gold),0.96); margin-top:9px; padding-top:8px; border-top:1px solid rgba(var(--gold),0.2); }
.org__pdiv em{ display:block; font-style:normal; font-size:8.5px; letter-spacing:0.2em; text-transform:uppercase; color:var(--paper-faint); margin-top:2px; }
.org__depts{ border:1px solid rgba(var(--gold),0.16); border-top:0; border-radius:0 0 14px 14px; overflow:hidden;
  background:rgba(38,28,20,0.3); -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); }
.org__dept{ font-size:11.5px; color:var(--paper-soft); padding:6.5px 14px; border-top:1px solid rgba(var(--gold),0.09); }
.org__dept:first-child{ border-top:0; }

/* foundation */
.org__foot{ position:relative; z-index:1; margin-top:44px; }
.org__fbar{ border:1px solid rgba(var(--gold),0.22); border-radius:12px; padding:13px 20px; text-align:center;
  background:linear-gradient(180deg, rgba(var(--gold),0.06), transparent); -webkit-backdrop-filter:blur(5px); backdrop-filter:blur(5px); }
.org__ft{ font-size:11px; letter-spacing:0.2em; text-transform:uppercase; color:rgba(var(--gold),0.95); }
.org__fs{ color:var(--paper-soft); font-size:12.5px; margin-top:5px; }

/* caption + stat */
.org__caption{ text-align:center; color:var(--paper-faint); font-size:12.5px; margin-top:clamp(1rem,2.6vh,1.7rem); }
.org__caption b{ color:var(--paper-soft); font-weight:500; }
.org__stat{ margin-top:clamp(1rem,2.4vh,1.6rem); border-top:1px solid rgba(var(--gold),0.16);
  padding-top:clamp(0.9rem,2vh,1.4rem); display:flex; flex-wrap:wrap; gap:10px 40px; align-items:baseline; }
.org__statn{ font-weight:200; font-size:clamp(1.7rem,3.2vw,2.5rem); color:rgba(var(--gold),0.98); line-height:1; }
.org__statl{ color:var(--paper-faint); font-size:11px; letter-spacing:0.14em; text-transform:uppercase; margin-top:5px; }
.org__stat p{ color:var(--paper-soft); max-width:54ch; margin:0; font-size:0.9rem; line-height:1.5; }

/* org readability over the bright sky + compression to fit closer to one frame */
.org__caption, .org__stat p, .org__statl, .org__statn{ text-shadow:0 1px 10px rgba(16,10,4,0.8), 0 1px 4px rgba(0,0,0,0.55); }
.org__intro .lead{ max-width:60ch; font-size:clamp(0.9rem,1.1vw,1.0rem); line-height:1.55; }
.org{ margin-top:clamp(1rem,2.2vh,1.7rem); }
.org__divs{ margin-top:44px; }
.org__foot{ margin-top:34px; }
.org__dept{ padding:5.5px 14px; }
.org__caption{ margin-top:clamp(0.8rem,2vh,1.3rem); }
.org__stat{ margin-top:clamp(0.8rem,2vh,1.3rem); padding-top:clamp(0.8rem,1.8vh,1.2rem); }

/* org chart sits on a strong dark field (dense diagram needs it, like the ref) —
   sky still peeks at the edges so the page keeps its dawn character */
#leadership .scrim{ inset:0; left:0; top:0; width:100%; height:100%; transform:none; filter:blur(8px);
  background:radial-gradient(112% 82% at 50% 46%, rgba(12,8,6,0.62) 0%, rgba(12,8,6,0.5) 52%, rgba(12,8,6,0.26) 78%, rgba(12,8,6,0.05) 100%); }

/* readable dark field for the manifesto sections (dawn still shows at edges) */
.scrim--field{ inset:0; left:0; top:0; width:100%; height:100%; transform:none; filter:blur(10px);
  background:radial-gradient(110% 70% at 50% 50%, rgba(12,8,6,0.5) 0%, rgba(12,8,6,0.34) 50%, rgba(12,8,6,0.12) 78%, rgba(12,8,6,0) 100%); }
.bigstat__l b{ color:var(--paper); font-weight:600; }

/* "still runs on" pills (text → visual) */
.runson{ display:flex; flex-wrap:wrap; align-items:center; gap:0.55rem 0.7rem; margin-top:clamp(1rem,2.4vh,1.6rem); }
.runson__lb{ font-size:0.72rem; letter-spacing:0.22em; text-transform:uppercase; font-weight:700;
  color:rgba(var(--gold),0.98); margin-right:0.35rem; text-shadow:0 1px 10px rgba(0,0,0,0.75); }
.runson__p{ display:inline-flex; align-items:center; gap:0.5rem; font-size:clamp(0.82rem,1.05vw,0.98rem); color:var(--paper);
  border:1px solid rgba(var(--gold),0.32); border-radius:30px; padding:0.4rem 0.95rem; background:rgba(38,28,20,0.58);
  -webkit-backdrop-filter:blur(5px); backdrop-filter:blur(5px);
  transition:border-color .35s var(--ease), transform .35s var(--ease); }
.runson__p:hover{ border-color:rgba(var(--gold),0.6); transform:translateY(-2px); }
.runson__p svg{ width:16px; height:16px; stroke:rgba(var(--gold),0.95); fill:none; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }

/* thesis pills — darker so text (incl. gold) reads over the bright sun */
.thline span{ background:rgba(38,28,20,0.62) !important; -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); }
.thline .thline__end{ background:rgba(38,28,20,0.74) !important; }

/* org chart — tighter so the collapsed chart + intro + stat fit one frame */
#leadership .org__intro .statement{ font-size:clamp(1.3rem,2.1vw,1.8rem); }
#leadership .org__intro .lead{ font-size:clamp(0.84rem,1vw,0.94rem); line-height:1.44; margin-top:0.55rem; max-width:64ch; }
#leadership .org{ margin-top:clamp(0.8rem,1.8vh,1.3rem); }
#leadership .org__divs{ margin-top:30px; }
#leadership .org__foot{ margin-top:22px; }
#leadership .org__ceo{ padding:13px 26px; }
#leadership .org__stat{ margin-top:clamp(0.7rem,1.5vh,1.1rem); padding-top:clamp(0.7rem,1.4vh,1rem); }
#leadership .org__statn{ font-size:clamp(1.5rem,2.5vw,2.1rem); }
#leadership .org__stat p{ font-size:0.85rem; line-height:1.45; }

/* ============================================================
   COMPANY — 2026-09-23 pass: reference org chart (departments
   always visible + Pravlika sub-card + advisory focus list),
   section index, nav dropdown, scan / advisory / careers / close.
   ============================================================ */

/* --- departments = hover/click dropdown so the whole tree fits ONE frame --- */
.org__person{ position:relative; outline:none; }
.org__head, .org__sub{ cursor:pointer; transition:border-color .3s var(--ease), box-shadow .3s var(--ease); }
.org__person:hover .org__head, .org__person:hover .org__sub,
.org__person.is-open .org__head, .org__person.is-open .org__sub{
  border-color:rgba(var(--gold),0.75); box-shadow:0 0 0 1px rgba(var(--gold),0.3), 0 16px 40px -18px rgba(0,0,0,0.7); }
/* a small cue under each person */
.org__head::after{ content:"Hover / tap for departments"; display:block; margin-top:0.5rem; font-size:0.52rem;
  letter-spacing:0.13em; text-transform:uppercase; color:rgba(var(--gold),0.72); transition:color .3s var(--ease); }
.org__person:hover .org__head::after, .org__person.is-open .org__head::after{ color:rgba(var(--gold),0.98); }
.org__person.is-open .org__head::after{ content:"Tap to close"; }
/* the dropdown panel (absolute → never changes the tree's height) */
.org__depts{ position:absolute; left:0; right:0; top:100%; margin-top:7px; z-index:30;
  border:1px solid rgba(var(--gold),0.4); border-radius:12px; overflow:hidden;
  background:rgba(14,9,5,0.97); -webkit-backdrop-filter:blur(9px); backdrop-filter:blur(9px);
  box-shadow:0 26px 54px rgba(0,0,0,0.62);
  opacity:0; visibility:hidden; transform:translateY(-8px) scale(0.98); transform-origin:top center; pointer-events:none;
  transition:opacity .26s var(--ease), transform .26s var(--ease), visibility .26s; }
.org__person:hover .org__depts, .org__person:focus-within .org__depts, .org__person.is-open .org__depts{
  opacity:1; visibility:visible; transform:none; pointer-events:auto; }
.org__deptsh{ font-size:0.54rem; letter-spacing:0.22em; text-transform:uppercase; color:rgba(var(--gold),0.9);
  padding:8px 14px 6px; border-bottom:1px solid rgba(var(--gold),0.16); }

/* advisory apex — 100+ years + focus domains */
.org__adv{ text-align:left; max-width:300px; padding:14px 18px;
  background:linear-gradient(180deg, rgba(var(--gold),0.06), rgba(252,248,240,0.01)); }
.org__advbig{ font-weight:200; font-size:1.6rem; color:rgba(var(--gold),0.98); line-height:1.05; margin-top:6px; }
.org__advbl{ font-size:10px; letter-spacing:0.1em; text-transform:uppercase; color:var(--paper-faint); }
.org__advfocus{ list-style:none; margin:11px 0 9px; padding-top:10px; border-top:1px solid rgba(var(--gold),0.16); }
.org__advfocus li{ position:relative; font-size:11.5px; color:var(--paper-soft); padding:5px 0 5px 13px; }
.org__advfocus li::before{ content:""; position:absolute; left:0; top:50%; width:5px; height:5px; border-radius:50%;
  background:rgba(var(--gold),0.9); transform:translateY(-50%); }

/* Pravlika sub-card under the Intelligence column */
.org__sub{ margin-top:26px; text-align:center; background:rgba(38,28,20,0.54); border:1px solid rgba(var(--gold),0.3);
  border-radius:12px 12px 0 0; padding:11px 13px; -webkit-backdrop-filter:blur(5px); backdrop-filter:blur(5px); position:relative; }
.org__subdepts{ display:block; border:1px solid rgba(var(--gold),0.16); border-top:0; border-radius:0 0 12px 12px;
  overflow:hidden; background:rgba(38,28,20,0.3); }

/* --- section index (bottom-right, like every other page) --- */
.secindex{ position:fixed; right:var(--pad); bottom:clamp(1.1rem,2.6vh,1.8rem); z-index:7; text-align:right;
  pointer-events:none; text-shadow:0 1px 16px rgba(28,18,8,0.7); }
.secindex__name{ display:block; font-size:0.62rem; letter-spacing:0.28em; text-transform:uppercase; color:var(--paper-soft); }
.secindex__no{ display:block; margin-top:0.3rem; font-size:0.66rem; letter-spacing:0.14em; color:var(--paper-faint); }
.secindex__no b{ color:rgba(var(--gold),0.98); font-weight:600; font-size:1.35rem; letter-spacing:0.02em; }
.secindex__no em{ font-style:normal; }
@media (max-width:760px){ .secindex{ display:none; } }

/* --- nav dropdown on Company --- */
/* hero brand emblem — tasteful globe above the COMPANY / TERAMERGE title */
.hero__logo{ display:block; margin:0 auto clamp(0.9rem,2.4vh,1.6rem); height:clamp(54px,6.6vw,78px); width:auto;
  pointer-events:none; filter:drop-shadow(0 2px 12px rgba(0,0,0,0.55)); }
/* mobile: a clear breather between sections (distinct screens, not one long scroll) */
@media (max-width:560px){
  .s + .s{ margin-top:clamp(2rem,6vh,3.6rem); }
  /* §2 "Still runs on" — label on its own line, then Gut · Paperwork · Delay on ONE line */
  .runson{ justify-content:center; gap:0.4rem; }
  .runson__lb{ flex:0 0 100%; text-align:center; margin-bottom:0.15rem; }
  .runson__p{ font-size:0.78rem; padding:0.32rem 0.6rem; gap:0.38rem; }
  .runson__p svg{ width:14px; height:14px; }
  /* §3 thesis flow — stack the three centred, arrows point down */
  .thline{ flex-direction:column; align-items:center; gap:0.55rem; }
  .thline i{ transform:rotate(90deg); font-size:1rem; }
}
.nav__grp{ position:relative; pointer-events:auto; }
.nav__menu{ position:absolute; top:100%; right:0; margin-top:0.7rem; min-width:190px; display:flex; flex-direction:column;
  padding:0.5rem; border-radius:12px; background:rgba(20,14,9,0.92); border:1px solid rgba(var(--gold),0.28);
  -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); box-shadow:0 22px 50px rgba(0,0,0,0.5);
  opacity:0; visibility:hidden; transform:translateY(-6px); transition:opacity .3s var(--ease), transform .3s var(--ease), visibility .3s; }
.nav__grp:hover .nav__menu, .nav__grp:focus-within .nav__menu{ opacity:1; visibility:visible; transform:translateY(0); }
.nav__mlink{ text-decoration:none; color:var(--paper-soft); font-size:0.72rem; letter-spacing:0.14em; text-transform:uppercase;
  padding:0.6rem 0.8rem; border-radius:8px; transition:background .25s var(--ease), color .25s var(--ease); white-space:nowrap; }
.nav__mlink:hover{ background:rgba(var(--gold),0.14); color:var(--paper); }
/* mobile hamburger: show the company section links (About/Leadership/Careers/Contact)
   as a visible stacked sub-list instead of the desktop hover dropdown */
@media (max-width:940px){
  .nav__grp{ display:flex; flex-direction:column; width:100%; }
  .nav__menu{ position:static; opacity:1; visibility:visible; transform:none; margin:0; min-width:0;
    padding:0; background:none; border:0; box-shadow:none; -webkit-backdrop-filter:none; backdrop-filter:none; }
  .nav__mlink{ width:100%; box-sizing:border-box; white-space:normal;
    padding:0.85rem 0 0.85rem 1.4rem; border-radius:0; font-size:0.84rem; letter-spacing:0.16em;
    color:rgba(246,242,234,0.72); border-bottom:1px solid rgba(255,255,255,0.07); }
  .nav__mlink:last-child{ border-bottom:0; }
  .nav__mlink::before{ content:""; position:absolute; margin-left:-0.9rem; margin-top:0.52em;
    width:4px; height:4px; border-radius:50%; background:rgba(var(--gold),0.6); }
  .nav__mlink{ position:relative; }
}

/* --- S4 · the scanning system visual --- */
.scan{ position:relative; width:min(760px,94%); margin:clamp(1.2rem,3vh,2.2rem) auto 0;
  aspect-ratio:16/8; border-radius:16px; overflow:hidden; border:1px solid rgba(var(--gold),0.24);
  background:linear-gradient(180deg, rgba(18,12,7,0.72), rgba(18,12,7,0.5)); }
.scan__grid{ position:absolute; inset:0; opacity:0.5;
  background-image:repeating-linear-gradient(90deg, rgba(var(--gold),0.10) 0 1px, transparent 1px 42px),
    repeating-linear-gradient(0deg, rgba(var(--gold),0.08) 0 1px, transparent 1px 34px);
  -webkit-mask-image:radial-gradient(120% 100% at 50% 50%, #000 55%, transparent 92%);
  mask-image:radial-gradient(120% 100% at 50% 50%, #000 55%, transparent 92%); }
.scan__svg{ position:absolute; inset:0; width:100%; height:100%; }
.scan__b{ fill:rgba(var(--gold),0.06); stroke:rgba(var(--gold),0.55); stroke-width:1; vector-effect:non-scaling-stroke; }
.scan__w{ fill:rgba(var(--gold),0.34); }
.scan__node{ fill:rgba(var(--gold),0.98); }
.scan__line{ position:absolute; top:0; bottom:0; width:2px; left:0;
  background:linear-gradient(180deg, transparent, rgba(var(--gold),0.95), transparent);
  box-shadow:0 0 22px 5px rgba(var(--gold),0.5); animation:scanSweep 4.6s cubic-bezier(.5,0,.5,1) infinite; }
@keyframes scanSweep{ 0%{ left:2%; opacity:0; } 10%{ opacity:1; } 90%{ opacity:1; } 100%{ left:98%; opacity:0; } }
.scan__tag{ position:absolute; left:14px; bottom:12px; font-size:0.58rem; letter-spacing:0.24em; text-transform:uppercase;
  color:rgba(var(--gold),0.92); }
@media (prefers-reduced-motion:reduce){ .scan__line{ animation:none; left:50%; } }

/* --- S4 · the team — embedded cinematic WebGL scan (the Lusion dithered-portrait effect) --- */
#build{ padding:0; display:block; }
.teamembed{ position:relative; width:100%; min-height:100vh; overflow:hidden; background:#000; }
.teamembed__frame{ position:absolute; inset:0; width:100%; height:100%; border:0; display:block;
  pointer-events:none;                                       /* never traps the page scroll */
  background:#000; }
/* darken the left so the copy reads; keep the scanned face visible right-of-centre */
.teamembed__grade{ position:absolute; inset:0; pointer-events:none; z-index:1;
  background:
    linear-gradient(90deg, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.62) 26%, rgba(0,0,0,0.12) 50%, rgba(0,0,0,0) 66%),
    linear-gradient(0deg, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0) 34%); }
.teamembed__body{ position:relative; z-index:2; display:flex; flex-direction:column; justify-content:center;
  min-height:100vh; max-width:min(560px,92vw); padding:calc(var(--pad) + 4rem) var(--pad); text-align:left; gap:clamp(1rem,2.4vh,1.8rem); }
.teamembed__body .statement{ text-align:left; }
.teamembed__body .lead{ max-width:44ch; }
.teamembed__body .talk{ align-self:flex-start; margin-top:0; }
@media (max-width:820px){
  .teamembed__grade{ background:linear-gradient(0deg, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.3) 46%, rgba(0,0,0,0.55) 100%); }
  .teamembed__body{ justify-content:flex-end; padding-bottom:calc(var(--pad) + 2rem); max-width:100%; }
}

/* --- S6 · advisory board section --- */
.advfocus{ display:flex; flex-wrap:wrap; justify-content:center; gap:0.5rem 0.6rem; margin-top:clamp(1.2rem,3vh,2rem); }
.advfocus span{ font-size:clamp(0.78rem,1.05vw,0.95rem); color:var(--paper); border:1px solid rgba(var(--gold),0.4);
  border-radius:30px; padding:0.45rem 1.1rem; background:rgba(38,28,20,0.5);
  -webkit-backdrop-filter:blur(5px); backdrop-filter:blur(5px); }
.advsoon{ display:inline-block; margin-top:clamp(1rem,2.4vh,1.6rem); font-size:0.82rem; letter-spacing:0.22em;
  text-transform:uppercase; font-weight:700; color:#1a1207;
  background:linear-gradient(150deg, rgba(var(--gold),1), rgba(216,182,128,0.98));
  padding:0.5rem 1.2rem; border-radius:999px;
  box-shadow:0 8px 20px rgba(0,0,0,0.4), 0 1px 0 rgba(255,255,255,0.35) inset; }

/* --- S7 · careers roles (click-to-expand) --- */
.roles{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:clamp(0.7rem,1.5vw,1.1rem);
  align-items:start; margin-top:clamp(1.2rem,3vh,2rem); max-width:980px; margin-inline:auto; }
.role{ position:relative; text-align:left; border:1px solid rgba(var(--gold),0.24); border-radius:12px;
  background:rgba(38,28,20,0.44); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  transition:border-color .35s var(--ease), transform .35s var(--ease), background .35s var(--ease); }
.role:hover{ border-color:rgba(var(--gold),0.5); transform:translateY(-3px); }
/* closed cards all share ONE uniform height regardless of title / one-liner length */
.role__head{ list-style:none; cursor:pointer; padding:clamp(0.9rem,1.5vw,1.25rem) clamp(1rem,1.6vw,1.35rem);
  padding-right:2.6rem; min-height:180px; box-sizing:border-box; }
.role[open] .role__head{ min-height:0; }
.role__reports{ font-size:0.62rem; letter-spacing:0.12em; text-transform:uppercase; color:rgba(var(--gold),0.78);
  margin-bottom:0.7rem; }
.role__head::-webkit-details-marker{ display:none; }
.role__t{ font-size:clamp(0.92rem,1.25vw,1.08rem); color:var(--paper); font-weight:500; }
.role__d{ font-size:0.78rem; color:var(--paper-soft); margin-top:0.3rem; line-height:1.4; }
.role__team{ font-size:0.58rem; letter-spacing:0.2em; text-transform:uppercase; color:rgba(var(--gold),0.9); margin-bottom:0.4rem; }
/* the +/- toggle glyph */
.role__more{ position:absolute; top:clamp(0.95rem,1.6vw,1.3rem); right:clamp(0.95rem,1.6vw,1.3rem);
  width:18px; height:18px; flex:none; }
.role__more::before,.role__more::after{ content:""; position:absolute; top:50%; left:50%; background:rgba(var(--gold),0.95);
  transform:translate(-50%,-50%); transition:opacity .3s var(--ease), transform .3s var(--ease); }
.role__more::before{ width:14px; height:1.5px; }
.role__more::after{ width:1.5px; height:14px; }
.role[open] .role__more::after{ opacity:0; transform:translate(-50%,-50%) rotate(90deg); }
/* expanded card spans the full row so the description has room */
.role[open]{ grid-column:1/-1; border-color:rgba(var(--gold),0.6); background:rgba(42,31,21,0.6); transform:none; }
.role[open]:hover{ transform:none; }
.role__full{ padding:0 clamp(1rem,1.6vw,1.35rem) clamp(1.1rem,1.8vw,1.5rem);
  border-top:1px solid rgba(var(--gold),0.16); margin-top:0.15rem; padding-top:clamp(0.9rem,1.5vw,1.2rem);
  animation:roleReveal .4s var(--ease) both; }
@keyframes roleReveal{ from{ opacity:0; transform:translateY(-6px); } to{ opacity:1; transform:none; } }
.role__lead{ font-size:clamp(0.84rem,1vw,0.95rem); color:var(--paper); line-height:1.55; max-width:72ch; }
.role__cols{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:clamp(1.1rem,2.4vw,2.2rem);
  margin-top:clamp(1rem,2vh,1.4rem); }
.role__sub{ font-size:0.6rem; letter-spacing:0.18em; text-transform:uppercase; color:rgba(var(--gold),0.92); margin-bottom:0.55rem; }
.role__cols ul{ list-style:none; display:flex; flex-direction:column; gap:0.42rem; }
.role__cols li{ position:relative; padding-left:1.1rem; font-size:0.8rem; color:var(--paper-soft); line-height:1.45; }
.role__cols li::before{ content:""; position:absolute; left:0; top:0.52em; width:5px; height:5px; border-radius:50%;
  background:rgba(var(--gold),0.8); }
.role__note{ margin-top:clamp(1rem,2vh,1.4rem); font-size:0.78rem; line-height:1.55;
  color:var(--paper-soft); font-style:italic; }
.role__apply{ margin-top:clamp(1.1rem,2.2vh,1.6rem); padding-top:clamp(0.9rem,1.6vh,1.2rem);
  border-top:1px solid rgba(var(--gold),0.16); font-size:0.76rem; letter-spacing:0.08em; line-height:1.6;
  color:rgba(var(--gold),0.95); font-weight:500; text-transform:uppercase; }
.role__apply a{ color:var(--paper); text-decoration:underline; text-decoration-color:rgba(var(--gold),0.6);
  text-underline-offset:3px; }
.role__apply a:hover{ color:rgba(var(--gold),1); }

/* --- org chart: compress hard so the whole reference chart fits ~one frame --- */
#leadership{ padding-top:calc(var(--pad) + 0.6rem); padding-bottom:clamp(0.5rem,1.6vh,1.2rem); align-items:flex-start; }
#leadership .s__wrap{ max-width:min(1120px,94vw); }
#leadership .org__intro{ max-width:min(860px,94%); margin-bottom:0; }
#leadership .org__intro .statement{ font-size:clamp(1.15rem,1.9vw,1.6rem); }
#leadership .org__intro .lead{ font-size:clamp(0.78rem,0.92vw,0.86rem); line-height:1.34; margin-top:0.35rem; max-width:78ch; }
#leadership .org{ margin-top:clamp(0.6rem,1.4vh,1rem); }
#leadership .org__chart{ min-width:940px; }
#leadership .org__av--lg{ width:46px; height:46px; font-size:14px; }
#leadership .org__av{ width:36px; height:36px; font-size:12px; margin-bottom:5px; }
#leadership .org__av--sm{ width:30px; height:30px; font-size:11px; }
#leadership .org__ceo{ padding:11px 24px; min-width:220px; }
#leadership .org__nm--ceo{ font-size:1.04rem; }
#leadership .org__adv{ padding:11px 15px; max-width:280px; }
#leadership .org__advbig{ font-size:1.28rem; margin-top:4px; }
#leadership .org__advfocus{ margin:8px 0 6px; padding-top:8px; }
#leadership .org__advfocus li{ font-size:10.5px; padding:3px 0 3px 12px; }
#leadership .org__divs{ margin-top:14px; gap:16px; }
#leadership .org__head{ padding:10px 12px 9px; }
#leadership .org__pname{ font-size:0.96rem; }
#leadership .org__prole{ font-size:9.5px; margin-top:2px; }
#leadership .org__pdiv{ margin-top:6px; padding-top:6px; font-size:11px; }
#leadership .org__dept{ font-size:12px; padding:7px 15px; }
#leadership .org__person--sub{ margin-top:clamp(12px,2vh,18px); }
#leadership .org__person--sub .org__sub{ margin-top:0; padding:9px 13px; }
#leadership .org__sub .org__av--sm{ margin-bottom:4px; }
#leadership .org__foot{ margin-top:12px; }
#leadership .org__fbar{ padding:9px 18px; }
#leadership .org__fs{ font-size:11.5px; }
#leadership .org__caption{ margin-top:clamp(0.5rem,1.2vh,0.9rem); font-size:11px; }


/* ============================================================
   LEADERSHIP CONSTELLATION (2026-09-24) — circular photo pods
   on glowing orbital rings; click a person → departments panel.
   ============================================================ */
#leadership{ padding-top:calc(var(--pad) + 2.4rem); padding-bottom:clamp(1rem,3vh,2rem); align-items:center; }
.orgc{ display:grid; grid-template-columns:minmax(0,1.5fr) minmax(250px,0.92fr); gap:clamp(1.4rem,3vw,3rem);
  align-items:center; width:100%; max-width:min(1240px,95vw); margin:0 auto; }
.orgc__stage{ position:relative; width:100%; display:flex; justify-content:center; }

/* ---- hierarchical org TREE (Vamsi → Anitha·Vamsi·Srinath → Pravlika), one frame ---- */
.tree{ --connH:clamp(18px,3vh,34px); position:relative; width:100%; max-width:780px;
  display:flex; flex-direction:column; align-items:center; }
.tree__root{ position:relative; z-index:2; display:flex; justify-content:center; }
.tree__conn{ position:relative; width:100%; height:var(--connH); }
.tree__conn::before{ content:""; position:absolute; left:50%; top:0; height:50%; width:0;
  border-left:1.5px solid rgba(var(--gold),0.5); transform:translateX(-50%); }
.tree__conn::after{ content:""; position:absolute; left:16.667%; right:16.667%; top:50%; height:0;
  border-top:1.5px solid rgba(var(--gold),0.5); }
.tree__kids{ position:relative; width:100%; display:grid; grid-template-columns:repeat(3,1fr); gap:0; align-items:start; }
.tree__kids > .pod{ padding-inline:clamp(0.25rem,1vw,0.9rem); }
.tree__kids > .pod::before{ content:""; position:absolute; top:calc(-0.5 * var(--connH)); left:50%; height:calc(0.5 * var(--connH));
  width:0; border-left:1.5px solid rgba(var(--gold),0.5); transform:translateX(-50%); }
/* connector from the centre of the triad down to Pravlika */
.tree__conn2{ position:relative; width:100%; height:var(--connH); }
.tree__conn2::before{ content:""; position:absolute; left:50%; top:0; height:100%; width:0;
  border-left:1.5px solid rgba(var(--gold),0.5); transform:translateX(-50%); }
.tree__leaf{ position:relative; z-index:2; display:flex; justify-content:center; width:100%; }

.pod{ position:relative; width:100%; max-width:224px; text-align:center; z-index:2; cursor:pointer; margin:0;
  transition:transform .4s var(--ease); }
.pod--root{ max-width:238px; }
/* compact photos so all three tiers sit inside one frame */
.tree .pod__photo{ width:clamp(64px,7vw,92px); height:clamp(64px,7vw,92px); }
.pod--root .pod__photo{ width:clamp(74px,8.2vw,104px); height:clamp(74px,8.2vw,104px); }
.tree .pod__nm{ margin-top:0.42rem; font-size:clamp(0.86rem,1.05vw,1rem); }
.tree .pod__card{ margin-top:0.42rem; padding:0.4rem 0.6rem; }
.tree .pod__cue{ margin-top:0.3rem; }
/* letter monogram in place of a photo (e.g. Pravlika = "P") */
.pod__photo--mono span{ display:grid; place-items:center; background:linear-gradient(158deg,#241b10,#0f0d09);
  color:rgba(var(--gold),0.98); font-weight:600; font-size:clamp(1.5rem,2.4vw,2rem); line-height:1; }
.pod:hover, .pod.is-open{ transform:translateY(-4px); }

.pod__photo{ width:clamp(82px,9.6vw,116px); height:clamp(82px,9.6vw,116px); border-radius:50%; margin:0 auto; padding:3px;
  background:conic-gradient(from 220deg, rgba(226,168,92,0.95), rgba(226,168,92,0.12) 55%, rgba(226,168,92,0.95));
  box-shadow:0 0 26px rgba(226,168,92,0.42); transition:box-shadow .35s var(--ease); }
.pod:hover .pod__photo, .pod.is-open .pod__photo{ box-shadow:0 0 40px rgba(226,168,92,0.7); }
.pod__photo span{ display:block; width:100%; height:100%; border-radius:50%; background-size:cover; background-position:center 16%;
  border:2px solid rgba(8,6,3,0.92); }
.pod__nm{ margin-top:0.55rem; font-size:clamp(0.92rem,1.15vw,1.08rem); font-weight:600; color:var(--paper); letter-spacing:0.01em;
  text-shadow:0 1px 12px rgba(0,0,0,0.8); }
.pod__rl{ font-size:0.58rem; letter-spacing:0.14em; text-transform:uppercase; color:rgba(var(--gold),0.95); margin-top:0.2rem;
  text-shadow:0 1px 10px rgba(0,0,0,0.8); }
.pod__card{ display:flex; align-items:center; gap:0.55rem; text-align:left; margin:0.55rem auto 0; max-width:230px;
  padding:0.5rem 0.7rem; border:1px solid rgba(var(--gold),0.3); border-radius:10px;
  background:rgba(10,7,4,0.74); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  transition:border-color .3s var(--ease), box-shadow .3s var(--ease); }
.pod:hover .pod__card, .pod.is-open .pod__card{ border-color:rgba(var(--gold),0.72); box-shadow:0 14px 34px -16px rgba(0,0,0,0.85); }
.pod__ic{ flex:0 0 auto; width:28px; height:28px; display:grid; place-items:center; border-radius:8px;
  background:rgba(var(--gold),0.14); border:1px solid rgba(var(--gold),0.42); }
.pod__ic svg{ width:16px; height:16px; fill:none; stroke:rgba(var(--gold),0.98); stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.pod__dv{ font-size:0.8rem; font-weight:600; color:var(--paper); line-height:1.2; }
.pod__tg{ font-size:0.56rem; letter-spacing:0.02em; color:var(--paper-faint); margin-top:0.15rem; line-height:1.3; }
.pod__cue{ display:block; margin-top:0.4rem; font-size:0.5rem; letter-spacing:0.16em; text-transform:uppercase;
  color:rgba(var(--gold),0.72); opacity:0; transition:opacity .3s var(--ease); }
.pod:hover .pod__cue, .pod.is-open .pod__cue{ opacity:1; }
.pod.is-open .pod__cue{ color:rgba(var(--gold),0.98); }

/* centered departments panel (opens on click) */
.orgc__detail{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%) scale(0.95); z-index:9;
  width:min(370px,74%); padding:1.05rem 1.25rem 1.2rem; border-radius:16px;
  border:1px solid rgba(var(--gold),0.55); background:rgba(12,8,5,0.98);
  -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); box-shadow:0 34px 74px rgba(0,0,0,0.72);
  opacity:0; visibility:hidden; pointer-events:none; text-align:left;
  transition:opacity .28s var(--ease), transform .28s var(--ease), visibility .28s; }
.orgc__detail.is-on{ opacity:1; visibility:visible; transform:translate(-50%,-50%) scale(1); pointer-events:auto; }
.orgc__dnm{ font-size:1.08rem; font-weight:600; color:var(--paper); padding-right:1.4rem; }
.orgc__drl{ font-size:0.6rem; letter-spacing:0.14em; text-transform:uppercase; color:rgba(var(--gold),0.96); margin-top:0.22rem; }
.orgc__dh{ font-size:0.54rem; letter-spacing:0.2em; text-transform:uppercase; color:rgba(var(--gold),0.85);
  margin:0.85rem 0 0.55rem; padding-top:0.7rem; border-top:1px solid rgba(var(--gold),0.18); }
.orgc__dl{ display:flex; flex-wrap:wrap; gap:0.38rem; }
.orgc__dl span{ font-size:0.72rem; color:var(--paper-soft); border:1px solid rgba(var(--gold),0.24);
  border-radius:8px; padding:0.3rem 0.58rem; background:rgba(var(--gold),0.05); }
.orgc__dx{ position:absolute; top:0.7rem; right:0.8rem; width:26px; height:26px; border:0; cursor:pointer; border-radius:50%;
  background:rgba(var(--gold),0.14); color:var(--paper); font-size:1.05rem; line-height:1; }
.orgc__dx:hover{ background:rgba(var(--gold),0.26); }

/* side column */
.orgc__side{ text-align:left; }
.orgc__side .statement{ text-align:left; }
.orgc__side .lead{ max-width:38ch; }
.orgc__prins{ margin-top:clamp(1rem,2.4vh,1.6rem); display:flex; flex-direction:column; gap:0.7rem; }
.prin{ position:relative; padding-left:1.05rem; }
.prin::before{ content:""; position:absolute; left:0; top:0.3em; width:6px; height:6px; border-radius:50%;
  background:rgba(var(--gold),0.95); box-shadow:0 0 10px rgba(var(--gold),0.7); }
.prin b{ display:block; font-size:0.62rem; letter-spacing:0.22em; text-transform:uppercase; color:var(--paper); font-weight:600; }
.prin span{ display:block; font-size:0.62rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--paper-faint); margin-top:0.12rem; }
.orgc__adv{ margin-top:clamp(1.2rem,2.6vh,1.9rem); padding-top:clamp(1rem,2vh,1.4rem); border-top:1px solid rgba(var(--gold),0.2); }
.orgc__advt{ font-size:0.6rem; letter-spacing:0.2em; text-transform:uppercase; color:rgba(var(--gold),0.95); }
.orgc__advn{ font-size:clamp(1.3rem,1.9vw,1.7rem); font-weight:200; color:rgba(var(--gold),0.98); line-height:1.08; margin-top:0.3rem; }
.orgc__advn em{ display:block; font-style:normal; font-size:0.6rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--paper-faint); margin-top:0.25rem; }
.orgc__advf{ display:flex; flex-wrap:wrap; gap:0.36rem; margin-top:0.75rem; }
.orgc__advf span{ font-size:0.64rem; color:var(--paper-soft); border:1px solid rgba(var(--gold),0.28); border-radius:20px; padding:0.24rem 0.62rem; }
.orgc__advsoon{ display:inline-block; margin-top:0.95rem; font-size:0.68rem; letter-spacing:0.2em; text-transform:uppercase; font-weight:700;
  color:#1a1207; background:linear-gradient(150deg, rgba(var(--gold),1), rgba(216,182,128,0.98)); padding:0.42rem 1.05rem; border-radius:999px;
  box-shadow:0 8px 20px rgba(0,0,0,0.4), 0 1px 0 rgba(255,255,255,0.35) inset; }

@media (max-width:900px){
  .orgc{ grid-template-columns:1fr; }
  .orgc__side{ order:-1; text-align:center; }
  .orgc__side .statement, .orgc__side .lead{ text-align:center; margin-inline:auto; }
  .orgc__prins{ align-items:center; }
  .orgc__stage{ max-width:640px; margin:0 auto; }
}
/* narrow phones: TWO screens.
   § A  "The structure" → principles (Leadership · Partners · Execution), laid out like desktop
   § B  the org chart in its desktop shape — CEO on top, three leaders across, Pravalika below —
        every pod with its department card (icon · department · focus areas) */
@media (max-width:560px){
  #leadership{ padding-top:0 !important; padding-bottom:calc(var(--pad) + 1.6rem) !important; }
  .orgc{ gap:0; }
  /* § A */
  .orgc__side{ min-height:100vh; min-height:100svh; box-sizing:border-box; display:flex; flex-direction:column;
    justify-content:center; align-items:center; text-align:center; padding:5.5rem 0 2.5rem; }
  .orgc__side .cat{ display:block; margin-bottom:1rem; }
  .orgc__side .statement{ font-size:clamp(1.6rem,7vw,2rem); line-height:1.18; margin:0 auto 1.1rem; }
  .orgc__side .lead{ font-size:1rem; line-height:1.6; max-width:30ch; }
  .orgc__prins{ align-items:flex-start; gap:1rem; margin-top:2rem; }
  .prin{ text-align:left; padding-left:1.2rem; }
  .prin b{ font-size:0.66rem; letter-spacing:0.22em; }
  .prin span{ font-size:0.62rem; letter-spacing:0.18em; margin-top:0.25rem; }

  /* § B — the chart */
  .orgc__stage{ max-width:none; min-height:100vh; min-height:100svh; box-sizing:border-box;
    display:flex; flex-direction:column; justify-content:center; padding:4.6rem 0 1rem; }
  .tree{ --connH:22px; max-width:none; width:100%; }
  .tree__kids{ grid-template-columns:repeat(3,1fr); gap:0; }
  .tree__kids > .pod{ padding-inline:0.14rem; }
  .pod, .pod--root{ max-width:none; }
  .pod--root{ width:auto; }
  .pod:hover, .pod.is-open{ transform:none; }
  .tree .pod__photo{ width:62px; height:62px; padding:2px; }
  .pod--root .pod__photo{ width:70px; height:70px; }
  .tree .pod__nm{ font-size:0.8rem; margin-top:0.4rem; line-height:1.18; }
  .pod__rl{ font-size:0.47rem; letter-spacing:0.07em; margin-top:0.2rem; line-height:1.4; }
  /* department card: icon + text side by side on the wide pods, stacked inside the narrow columns */
  .tree .pod__card{ display:flex; margin:0.5rem auto 0; padding:0.45rem 0.55rem; gap:0.45rem; border-radius:9px; max-width:240px; }
  .tree__kids .pod__card{ flex-direction:column; align-items:center; text-align:center; gap:0.3rem; padding:0.45rem 0.3rem; width:100%; box-sizing:border-box; }
  .pod__ic{ width:24px; height:24px; border-radius:7px; }
  .pod__ic svg{ width:13px; height:13px; }
  .pod__dv{ font-size:0.66rem; line-height:1.2; }
  .pod__tg{ font-size:0.5rem; margin-top:0.12rem; line-height:1.3; }
  .tree .pod__cue{ display:none; }
  /* line the three department cards up on one baseline */
  .tree__kids{ align-items:stretch; }
  .tree__kids > .pod{ display:flex; flex-direction:column; align-items:center; }
  .tree__kids .pod__rl{ margin-bottom:0.5rem; }
  .tree__kids .pod__card{ margin-top:auto; flex:1 1 auto; max-height:9rem; justify-content:center; }
  .tree__leaf .pod{ width:auto; max-width:250px; }
  /* one hint for the whole chart instead of a cue under every pod */
  .tree::after{ content:"Tap anyone for their departments"; display:block; margin-top:1.3rem;
    font-size:0.52rem; letter-spacing:0.2em; text-transform:uppercase; color:rgba(var(--gold),0.78); }
  /* departments panel: pinned to the screen so it opens where you tapped */
  .orgc__detail{ position:fixed; width:min(340px,88vw); z-index:40; }
}

.nav__name{ color:inherit; }
.nav__ai{ color:#e9c46a; }
.nav__mark{ filter:drop-shadow(0 1px 6px rgba(0,0,0,0.5)); }

/* portrait screens (phones) use a dedicated VERTICAL cut of the video (company-bg-m.mp4):
   it fills the whole screen edge to edge, and its frame follows the nebula through the clip,
   so nothing important is cut off and nothing is stretched or zoomed */
.env{ background:#030304; }

/* the backdrop is pinned to the LARGE viewport height, so it never moves or resizes
   when a phone's address bar slides in/out during scrolling */
.env{ top:0; bottom:auto; height:100vh; height:100lvh; }

/* phones: smooth scrolling — no live blur filters over the moving video (the scrims are
   already soft radial gradients), and a lighter hero scrim so the video keeps its brightness */
@media (max-width:760px){
  .scrim, #leadership .scrim, .scrim--field{ filter:none; }
  /* feather the text panels' top/bottom edges (cheap mask instead of the costly blur) */
  #leadership .scrim, .scrim--field{
    -webkit-mask-image:linear-gradient(to bottom, transparent 0%, #000 18%, #000 82%, transparent 100%);
            mask-image:linear-gradient(to bottom, transparent 0%, #000 18%, #000 82%, transparent 100%); }
  .scrim--c{ background:radial-gradient(56% 58% at 50% 50%, rgba(var(--ink),0.5) 0%, rgba(var(--ink),0.3) 45%, rgba(var(--ink),0) 78%); }
  main *{ -webkit-backdrop-filter:none !important; backdrop-filter:none !important; }
  .env__video{ will-change:contents; }
}
