  :root{
    --navy-deep:#0b1830;
    --navy:#122748;
    --navy-mid:#1b3660;
    --navy-line:rgba(255,255,255,0.14);
    --gold:#c69a63;
    --gold-light:#e3cba2;
    --gold-dim:#9c7c50;
    --sage:#7fa084;
    --sage-light:#c3d9c1;
    --sage-dim:#4f6d54;
    --cream:#f5f0e7;
    --cream-dim:#eae2d3;
    --ink:#122036;
    --ink-soft:#4a5670;
    --white:#ffffff;
    --teal:#3f7b78;
    --radius:2px;
    --maxw:1180px;
    --shadow-soft:0 2px 10px rgba(8,16,32,0.08);
    --shadow-mid:0 22px 50px rgba(10,20,40,0.16);
    --shadow-deep:0 45px 90px rgba(5,12,26,0.45);
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    font-family:'Inter',sans-serif;
    color:var(--ink);
    background:var(--white);
    line-height:1.65;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  h1,h2,h3,h4,.brand{
    font-family:'Poppins',sans-serif;
    font-weight:400;
    margin:0;
  }
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px;position:relative;}
  .eyebrow{
    text-transform:uppercase;
    letter-spacing:.18em;
    font-size:.72rem;
    font-weight:600;
    color:var(--gold-dim);
  }
  section{padding:110px 0;position:relative;}
  [id]{scroll-margin-top:86px;}
  @media (max-width:768px){
    section{padding:70px 0;}
    .wrap{padding:0 22px;}
  }
  a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible{
    outline:2px solid var(--gold);
    outline-offset:3px;
  }
  .skip-link{
    position:absolute;left:-9999px;top:0;z-index:10001;
    background:var(--gold);color:var(--navy-deep);
    padding:12px 20px;font-size:.85rem;font-weight:600;letter-spacing:.05em;
  }
  .skip-link:focus{left:0;}

  /* ---------- grain texture overlay ---------- */
  .grain{
    position:fixed;inset:0;z-index:9999;pointer-events:none;
    opacity:.03;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
    mix-blend-mode:overlay;
  }

  /* ---------- Diamond logo mark ---------- */
  .mark{display:inline-flex;align-items:center;gap:12px;}
  .mark svg{display:block;flex-shrink:0;}
  .brand{
    letter-spacing:.32em;
    font-size:1.02rem;
    font-weight:500;
  }

  /* ---------- floating ambient icons ---------- */
  .floaty{position:absolute;opacity:.22;pointer-events:none;z-index:0;animation:drift 14s ease-in-out infinite;}
  @keyframes drift{0%,100%{transform:translate(0,0) rotate(0deg);}50%{transform:translate(14px,-18px) rotate(8deg);}}
  .floaty .rot{transform-origin:center;transform-box:fill-box;animation:orbitSpin 46s linear infinite;}
  section.dark .floaty, #why-now .floaty, #timeline .floaty, #contact .floaty, #master-plan .floaty, #app .floaty, #problem .floaty, #consortium .floaty{opacity:.26;}

  /* ---------- NAV ---------- */
  header.site{
    position:fixed;top:0;left:0;right:0;z-index:100;
    background:rgba(11,24,48,0.0);
    transition:background .4s ease, box-shadow .4s ease, backdrop-filter .4s ease, padding .3s ease;
    padding:22px 0;
    border-bottom:1px solid transparent;
  }
  header.site.scrolled{
    background:rgba(11,24,48,0.78);
    backdrop-filter:blur(14px) saturate(1.2);
    -webkit-backdrop-filter:blur(14px) saturate(1.2);
    box-shadow:0 8px 30px rgba(0,0,0,0.25), inset 0 1px 0 rgba(255,255,255,0.06);
    padding:14px 0;
    border-bottom:1px solid rgba(198,154,99,0.15);
  }
  header.site .wrap{display:flex;align-items:center;justify-content:space-between;}
  header.site .brand{color:var(--white);}
  nav.main-nav{display:flex;align-items:center;gap:32px;}
  nav.main-nav a.nav-link{
    color:var(--cream);
    font-size:.8rem;
    letter-spacing:.04em;
    opacity:.85;
    transition:opacity .2s ease;
  }
  nav.main-nav a.nav-link:hover{opacity:1;}
  .btn{
    display:inline-block;
    position:relative;
    overflow:hidden;
    padding:13px 28px;
    font-size:.78rem;
    letter-spacing:.1em;
    text-transform:uppercase;
    font-weight:600;
    border:1px solid var(--gold);
    color:var(--gold-light);
    background:transparent;
    cursor:pointer;
    transition:all .25s ease, transform .15s ease;
    white-space:nowrap;
  }
  .btn::before{
    content:"";position:absolute;top:0;left:-60%;width:45%;height:100%;
    background:linear-gradient(120deg, transparent, rgba(255,255,255,0.4), transparent);
    transform:skewX(-20deg);
    transition:left .55s ease;
    pointer-events:none;
  }
  .btn:hover::before{left:130%;}
  .btn:hover{background:var(--gold);color:var(--navy-deep);box-shadow:0 10px 26px rgba(198,154,99,0.35);}
  .btn:active{transform:translateY(2px);box-shadow:0 4px 10px rgba(198,154,99,0.25);}
  .btn.solid{background:var(--gold);color:var(--navy-deep);box-shadow:0 12px 30px rgba(198,154,99,0.25);}
  .btn.solid:hover{background:var(--gold-light);border-color:var(--gold-light);}
  .btn.dark{border-color:var(--navy);color:var(--navy);}
  .btn.dark:hover{background:var(--navy);color:var(--white);}

  .nav-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:6px;}
  .nav-toggle span{width:24px;height:2px;background:var(--cream);display:block;}

  @media (max-width:960px){
    nav.main-nav{
      position:fixed;top:0;right:0;height:100vh;width:280px;
      background:var(--navy-deep);
      flex-direction:column;align-items:flex-start;
      padding:100px 32px 40px;
      gap:26px;
      transform:translateX(100%);
      transition:transform .35s ease;
      box-shadow:-10px 0 30px rgba(0,0,0,0.3);
    }
    nav.main-nav.open{transform:translateX(0);}
    .nav-toggle{display:flex;}
  }

  /* ---------- HERO (cinematic) ---------- */
  .hero{
    position:relative;
    min-height:100vh;
    min-height:100svh;
    display:flex;
    align-items:flex-end;
    background:#0b1830;
    color:var(--white);
    overflow:hidden;
    text-align:left;
    isolation:isolate;
  }

  /* media stack: static composition -> shader -> brand film -> veil */
  .hero-media{position:absolute;inset:0;z-index:0;}
  .hero-fallback{
    position:absolute;inset:0;
    background:
      radial-gradient(140% 90% at 78% 26%, rgba(198,154,99,0.20) 0%, rgba(198,154,99,0.05) 34%, transparent 62%),
      radial-gradient(90% 70% at 16% 80%, rgba(127,160,132,0.12) 0%, transparent 55%),
      linear-gradient(112deg, transparent 42%, rgba(227,203,162,0.13) 49%, rgba(198,154,99,0.28) 50.5%, rgba(156,124,80,0.10) 53.5%, transparent 61%),
      linear-gradient(168deg, #0d1d3a 0%, #0b1830 45%, #060d1c 100%);
  }
  .hero-fallback::after{
    content:"";position:absolute;inset:0;
    background:radial-gradient(120% 90% at 50% 42%, transparent 38%, rgba(4,9,20,0.72) 100%);
  }
  .hero-shader{
    position:absolute;inset:0;width:100%;height:100%;
    opacity:0;transition:opacity 1.8s ease;
  }
  .hero-shader.on{opacity:1;}
  .hero-video{
    position:absolute;inset:0;width:100%;height:100%;
    object-fit:cover;
    opacity:0;transition:opacity 2s ease;
  }
  .hero-video.live{opacity:1;}
  .hero-veil{
    position:absolute;inset:0;z-index:3;pointer-events:none;
    background:
      linear-gradient(180deg, rgba(11,24,48,0.60) 0%, rgba(11,24,48,0) 28%),
      linear-gradient(0deg, rgba(6,13,28,0.82) 0%, rgba(6,13,28,0) 48%),
      radial-gradient(120% 95% at 50% 45%, transparent 42%, rgba(4,9,20,0.5) 100%);
  }

  /* composition: cinematic lower third */
  .hero-inner{
    position:relative;z-index:2;
    width:min(1280px,100%);
    margin:0 auto;
    padding:0 clamp(24px,6vw,72px) clamp(92px,13vh,150px);
    display:flex;flex-direction:column;align-items:flex-start;
  }
  .hero-eyebrow{
    display:inline-flex;align-items:center;gap:12px;
    color:var(--sage-light);
    letter-spacing:.28em;font-size:.68rem;text-transform:uppercase;font-weight:500;
    margin-bottom:clamp(20px,3.4vh,36px);
  }
  .hero-eyebrow::before{content:"";width:36px;height:1px;background:var(--gold);flex:none;}
  .hero h1{
    font-family:'Poppins',sans-serif;
    font-weight:300;
    font-size:clamp(3rem,9.5vw,7.5rem);
    line-height:1.03;
    letter-spacing:.005em;
    margin:0 0 clamp(18px,3vh,30px);
  }
  .hero h1 em{
    font-style:normal;
    background:linear-gradient(105deg,var(--gold-light) 0%,var(--gold) 48%,var(--gold-light) 92%);
    -webkit-background-clip:text;background-clip:text;
    color:transparent;
    -webkit-text-fill-color:transparent;
  }
  .hero p.sub{
    color:rgba(245,240,231,0.66);
    font-size:clamp(.95rem,1.4vw,1.12rem);
    font-weight:300;
    line-height:1.7;
    max-width:44ch;
    margin:0 0 clamp(30px,4.5vh,46px);
    letter-spacing:.01em;
  }
  .hero-cta{display:flex;align-items:center;gap:clamp(18px,3vw,36px);flex-wrap:wrap;}
  .hero-link{
    position:relative;
    color:rgba(245,240,231,0.72);
    font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500;
    padding-bottom:5px;text-decoration:none;
    transition:color .35s ease;
  }
  .hero-link::after{
    content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;
    background:linear-gradient(90deg,var(--gold),transparent);
    transform:scaleX(.45);transform-origin:left;
    transition:transform .45s ease;
  }
  .hero-link:hover{color:var(--gold-light);}
  .hero-link:hover::after{transform:scaleX(1);}

  /* circular scroll cue */
  .scroll-orb{
    position:absolute;z-index:2;
    right:clamp(24px,5vw,64px);bottom:clamp(30px,6vh,56px);
    width:62px;height:62px;border-radius:50%;
    border:1px solid rgba(198,154,99,0.45);
    display:flex;align-items:center;justify-content:center;
    color:var(--gold-light);
    background:rgba(11,24,48,0.25);
    -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
    transition:border-color .35s ease, background .35s ease, transform .35s ease;
  }
  .scroll-orb:hover{border-color:var(--gold);background:rgba(198,154,99,0.12);transform:translateY(2px);}
  .scroll-orb svg{animation:orbDrift 2.8s ease-in-out infinite;}
  @keyframes orbDrift{
    0%,100%{transform:translateY(-3px);opacity:.95;}
    50%{transform:translateY(3px);opacity:.45;}
  }

  /* entrance choreography (triggered by .hero-in after preloader) */
  .hero .hero-eyebrow,
  .hero h1,
  .hero p.sub,
  .hero .hero-cta,
  .hero .scroll-orb{
    opacity:0;transform:translateY(26px);
    transition:opacity 1.1s cubic-bezier(.22,1,.36,1), transform 1.1s cubic-bezier(.22,1,.36,1);
  }
  .hero .scroll-orb{transform:translateY(14px);}
  .hero.hero-in .hero-eyebrow{transition-delay:.08s;}
  .hero.hero-in h1{transition-delay:.2s;}
  .hero.hero-in p.sub{transition-delay:.36s;}
  .hero.hero-in .hero-cta{transition-delay:.52s;}
  .hero.hero-in .scroll-orb{transition-delay:.85s;}
  .hero.hero-in .hero-eyebrow,
  .hero.hero-in h1,
  .hero.hero-in p.sub,
  .hero.hero-in .hero-cta,
  .hero.hero-in .scroll-orb{opacity:1;transform:none;}

  /* narrow widths: centred, symmetric — emblem above, type below */
  @media (max-width:760px){
    .hero-inner{align-items:center;text-align:center;}
    .hero-eyebrow::after{content:"";width:36px;height:1px;background:var(--gold);flex:none;}
    .hero p.sub{margin-left:auto;margin-right:auto;}
    .hero-cta{justify-content:center;}
  }
  /* mobile: deliberate cut, not a stacked desktop */
  @media (max-width:640px){
    .hero-inner{padding:0 22px calc(76px + env(safe-area-inset-bottom, 0px));}
    .hero h1{font-size:clamp(2.1rem,14vw,4.4rem);line-height:1.08;}
    .hero p.sub{font-size:.95rem;max-width:34ch;}
    .hero-eyebrow{letter-spacing:.2em;font-size:.6rem;}
    .hero-eyebrow::before{width:24px;}
    .hero-cta{flex-direction:column;align-items:stretch;width:100%;gap:20px;}
    .hero-cta .btn{width:100%;text-align:center;}
    .hero-link{align-self:center;}
    .scroll-orb{display:none;}
  }

  @media (prefers-reduced-motion:reduce){
    .hero-shader,.hero-video{transition:none;}
    .scroll-orb svg{animation:none;}
    .hero .hero-eyebrow,
    .hero h1,
    .hero p.sub,
    .hero .hero-cta,
    .hero .scroll-orb{opacity:1;transform:none;transition:none;}
  }

  /* ---------- HERO EMBLEM (the mark as a cinematic planet) ---------- */
  .hero-emblem{
    position:absolute;z-index:3;
    top:47%;right:clamp(20px,8vw,140px);
    width:min(46vw,64vh,600px);aspect-ratio:1/1;
    pointer-events:none;
    opacity:0;transform:translateY(-46%) scale(.965);
    transition:opacity 2.4s ease .35s, transform 2.4s cubic-bezier(.22,1,.36,1) .35s;
  }
  .hero.hero-in .hero-emblem{opacity:1;transform:translateY(-50%) scale(1);}

  /* slow breathing — the "shifting in and out" */
  .emblem-breathe{position:absolute;inset:0;animation:emBreathe 17s ease-in-out infinite;}
  @keyframes emBreathe{
    0%,100%{transform:scale(1) translateY(0);}
    50%{transform:scale(1.045) translateY(-10px);}
  }

  /* atmosphere: three glows crossfading through the brand's themes */
  .emblem-glow{position:absolute;inset:-16%;border-radius:50%;mix-blend-mode:screen;}
  .emblem-glow.g-gold{
    background:radial-gradient(50% 50% at 50% 48%, rgba(227,203,162,0.20) 0%, rgba(198,154,99,0.10) 40%, transparent 70%);
    animation:themeGold 45s ease-in-out infinite;
  }
  .emblem-glow.g-sage{
    background:radial-gradient(50% 50% at 50% 48%, rgba(195,217,193,0.17) 0%, rgba(127,160,132,0.09) 40%, transparent 70%);
    opacity:0;animation:themeSage 45s ease-in-out infinite;
  }
  .emblem-glow.g-teal{
    background:radial-gradient(50% 50% at 50% 48%, rgba(105,175,170,0.16) 0%, rgba(63,123,120,0.08) 40%, transparent 70%);
    opacity:0;animation:themeTeal 45s ease-in-out infinite;
  }
  @keyframes themeGold{0%,100%{opacity:.95;}33%{opacity:.18;}66%{opacity:.5;}}
  @keyframes themeSage{0%,100%{opacity:0;}33%{opacity:.85;}66%{opacity:.15;}}
  @keyframes themeTeal{0%,100%{opacity:0;}33%{opacity:.12;}66%{opacity:.7;}}

  .emblem-scene{position:absolute;inset:0;perspective:1150px;}

  /* the mark itself: three line-art layers turning in true 3D — the original logo, made planetary */
  .emblem-core{
    position:absolute;inset:11%;z-index:1;
    transform-style:preserve-3d;
    animation:emSpin 30s linear infinite;
  }
  @keyframes emSpin{
    from{transform:rotateX(9deg) rotateY(0deg);}
    to{transform:rotateX(9deg) rotateY(360deg);}
  }
  .em-layer{position:absolute;inset:0;width:100%;height:100%;}
  .em-front{transform:translateZ(36px);filter:drop-shadow(0 0 7px rgba(227,203,162,0.55));}
  .em-mid{opacity:.75;filter:drop-shadow(0 0 5px rgba(198,154,99,0.4));animation:midSpin 70s linear infinite;}
  @keyframes midSpin{from{transform:translateZ(0) rotate(0deg);}to{transform:translateZ(0) rotate(360deg);}}
  .em-back{transform:translateZ(-36px) rotate(22.5deg);opacity:.32;}
  .em-side{transform:rotateY(90deg);opacity:.5;filter:drop-shadow(0 0 5px rgba(198,154,99,0.35));}
  .em-ring{transform:rotateX(80deg);opacity:.55;}

  /* planetary rings: one behind, one in front, each carrying a small moon */
  .orbit-tilt{position:absolute;inset:-4%;transform:rotateX(72deg);}
  .orbit-tilt.front{z-index:2;inset:5%;transform:rotateX(72deg) rotate(18deg);opacity:.6;}
  .orbit{
    position:absolute;inset:0;border-radius:50%;
    border:1px dashed rgba(198,154,99,0.42);
    animation:orbitSpin 22s linear infinite;
  }
  .orbit-tilt.front .orbit{
    border-color:rgba(127,160,132,0.40);
    animation:orbitSpin 15s linear infinite reverse;
  }
  .orbit .moon{
    position:absolute;top:-3px;left:50%;width:6px;height:6px;border-radius:50%;
    background:var(--gold-light);
    box-shadow:0 0 12px rgba(227,203,162,0.95), 0 0 26px rgba(198,154,99,0.5);
  }
  .orbit-tilt.front .moon{background:var(--sage-light);box-shadow:0 0 10px rgba(195,217,193,0.9);}

  @media (max-width:1200px){
    .hero-emblem{width:min(38vw,46vh,430px);top:32%;right:clamp(14px,4vw,80px);}
  }
  @media (max-width:760px){
    .hero-emblem{
      width:min(52vw,24vh,240px);
      right:auto;left:50%;top:clamp(56px,8vh,110px);
      transform:translateX(-50%) scale(.965);
      transition:opacity 2.4s ease .35s;
    }
    .hero.hero-in .hero-emblem{transform:translateX(-50%) scale(1);}
  }
  @media (max-width:900px) and (max-height:430px){
    .hero-emblem{display:none;}
  }
  @media (prefers-reduced-motion:reduce){
    .hero-emblem{opacity:1;transform:translateY(-50%);transition:none;}
    .emblem-breathe,.emblem-glow,.emblem-core,.orbit{animation:none !important;}
  }

  /* ===== GEO CONSTELLATION LINE-WORK ===== */
  .geo-lines{position:absolute;pointer-events:none;z-index:0;opacity:.26;height:auto;}
  section.dark .geo-lines,#why-now .geo-lines,#timeline .geo-lines,#contact .geo-lines,#master-plan .geo-lines,#app .geo-lines,#problem .geo-lines,#consortium .geo-lines{opacity:.32;}
  .geo-lines .dash-drift{animation:geoDashDrift 75s linear infinite;}
  @keyframes geoDashDrift{to{stroke-dashoffset:-140;}}
  .geo-lines.orbitline .sat{transform-box:view-box;transform-origin:150px 150px;animation:geoSatOrbit 52s linear infinite;}
  @keyframes geoSatOrbit{to{transform:rotate(360deg);}}
  @media (prefers-reduced-motion:reduce){
    .geo-lines .dash-drift,.geo-lines.orbitline .sat{animation:none;}
  }
  @media (max-width:640px){
    .geo-lines{display:none;}
  }

  /* ---------- cosmo life: wander, shooting stars, market rise ---------- */
  .geo-lines{animation:geoWander 28s ease-in-out infinite alternate;}
  .geo-lines:nth-of-type(even){animation-duration:36s;animation-direction:alternate-reverse;}
  @keyframes geoWander{
    from{transform:translate(0,0) rotate(0deg);}
    to{transform:translate(24px,-18px) rotate(1.6deg);}
  }

  .shoot{
    position:absolute;z-index:1;width:180px;height:1.5px;pointer-events:none;opacity:0;
    box-shadow:0 0 7px rgba(227,203,162,0.6);
    background:linear-gradient(90deg, rgba(227,203,162,0) 0%, rgba(227,203,162,1) 78%, rgba(255,255,255,1) 100%);
    animation:shootL var(--sd,13s) linear infinite;
    animation-delay:var(--del,0s);
  }
  .shoot.r{animation-name:shootR;}
  @keyframes shootL{
    0%{opacity:0;transform:translate(0,0) rotate(145deg);}
    2%{opacity:1;}
    8.5%{opacity:0;transform:translate(-340px,238px) rotate(145deg);}
    100%{opacity:0;transform:translate(-340px,238px) rotate(145deg);}
  }
  @keyframes shootR{
    0%{opacity:0;transform:translate(0,0) rotate(35deg);}
    2%{opacity:1;}
    8.5%{opacity:0;transform:translate(340px,238px) rotate(35deg);}
    100%{opacity:0;transform:translate(340px,238px) rotate(35deg);}
  }

  .market-rise{position:absolute;pointer-events:none;z-index:0;opacity:.4;height:auto;}
  section.dark .market-rise, #consortium .market-rise, #contact .market-rise{opacity:.5;}
  .market-rise .rise{stroke-dasharray:540;stroke-dashoffset:540;animation:riseDraw 17s cubic-bezier(.45,0,.2,1) infinite;}
  .market-rise .rise-tip{opacity:0;animation:riseTip 17s linear infinite;}
  @keyframes riseDraw{
    0%{stroke-dashoffset:540;opacity:0;}
    5%{opacity:1;}
    46%{stroke-dashoffset:0;opacity:1;}
    72%{stroke-dashoffset:0;opacity:1;}
    84%{stroke-dashoffset:0;opacity:0;}
    100%{stroke-dashoffset:540;opacity:0;}
  }
  @keyframes riseTip{
    0%,42%{opacity:0;}
    50%,72%{opacity:1;}
    84%,100%{opacity:0;}
  }

  @media (max-width:640px){
    .market-rise{display:none;}
  }
  @media (prefers-reduced-motion:reduce){
    .geo-lines{animation:none;}
    .shoot{display:none;}
    .market-rise .rise{animation:none;stroke-dashoffset:0;}
    .market-rise .rise-tip{animation:none;opacity:1;}
  }

  /* ---------- subpage hero band ---------- */
  .page-hero{
    position:relative;overflow:hidden;
    background:
      radial-gradient(ellipse at 78% 20%, rgba(198,154,99,0.14), transparent 58%),
      linear-gradient(180deg,#0a1730 0%,#0e2140 70%,#122748 100%);
    color:var(--white);
    padding:200px 0 104px;
  }
  .page-hero .eyebrow{color:var(--sage-light);display:inline-flex;align-items:center;gap:14px;}
  .page-hero .eyebrow::before{content:"";width:36px;height:1px;background:var(--gold);flex:none;}
  .page-hero h1{
    font-family:'Poppins',sans-serif;font-weight:300;
    font-size:clamp(2.4rem,5.5vw,4.2rem);line-height:1.08;
    margin:18px 0 0;
  }
  .page-hero .lede{color:rgba(245,240,231,0.6);font-size:1.02rem;max-width:600px;margin:20px 0 0;line-height:1.7;}
  .page-hero .ph-mark{position:absolute;right:6%;top:50%;transform:translateY(-44%);opacity:.14;pointer-events:none;}
  @media (max-width:768px){.page-hero{padding:150px 0 70px;}.page-hero .ph-mark{width:150px;height:150px;right:-30px;}}

  /* ---------- closing CTA band ---------- */
  .cta-band{
    background:linear-gradient(180deg,#0d1c34,#08111f);
    color:var(--white);text-align:center;position:relative;overflow:hidden;
    padding:100px 0;
  }
  .cta-band h2{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:400;margin:16px 0 30px;}
  .cta-band h2 .accent{color:var(--gold);}
  .cta-band .eyebrow{color:var(--gold-light);}

  /* ---------- nav current page ---------- */
  nav.main-nav a.nav-link.active{opacity:1;color:var(--gold-light);}
  nav.main-nav a.nav-login{border:1px solid rgba(198,154,99,0.4);padding:7px 16px;border-radius:2px;opacity:1;transition:border-color .25s ease,background .25s ease,color .25s ease;}
  nav.main-nav a.nav-login:hover{border-color:var(--gold);background:rgba(198,154,99,0.1);color:var(--gold-light);}
  @media (max-width:960px){nav.main-nav a.nav-login{align-self:flex-start;margin-top:4px;}}
  .nav-login-tag{font-size:.56rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-dim);margin-left:7px;padding-left:7px;border-left:1px solid rgba(198,154,99,0.35);opacity:.85;}

  /* ---------- image interludes ---------- */
  .interlude{
    position:relative;min-height:56vh;display:flex;align-items:flex-end;overflow:hidden;
    background-size:cover;background-position:center;background-attachment:fixed;
  }
  @media (max-width:900px), (hover:none){ .interlude{background-attachment:scroll;min-height:44vh;} }
  .interlude::before{content:"";position:absolute;inset:0;
    background:linear-gradient(180deg, rgba(6,13,28,0.5) 0%, rgba(6,13,28,0.16) 45%, rgba(6,13,28,0.74) 100%);}
  .interlude .wrap{position:relative;z-index:1;padding-top:72px;padding-bottom:54px;width:100%;}
  .interlude .eyebrow{color:var(--gold-light);}
  .interlude h2{font-weight:300;font-size:clamp(1.6rem,3.2vw,2.5rem);line-height:1.35;max-width:700px;color:#fff;margin-top:14px;}
  .interlude .credit{margin-top:28px;font-size:.66rem;letter-spacing:.06em;color:rgba(255,255,255,0.4);}

  /* ---------- editorial teaser cards ---------- */
  #explore{background:var(--white);}
  .teaser-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;margin-top:50px;}
  @media (max-width:860px){.teaser-grid{grid-template-columns:1fr;}}
  a.teaser-card{
    position:relative;display:flex;align-items:flex-end;aspect-ratio:4/5;overflow:hidden;
    background-size:cover;background-position:center;
    transition:transform .5s cubic-bezier(.22,1,.36,1), box-shadow .5s ease;
  }
  a.teaser-card::before{content:"";position:absolute;inset:0;
    background:linear-gradient(180deg, rgba(6,13,28,0.06) 30%, rgba(6,13,28,0.85) 100%);}
  a.teaser-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-mid);}
  .teaser-inner{position:relative;z-index:1;padding:26px;color:#fff;}
  .teaser-inner .eyebrow{color:var(--gold-light);}
  .teaser-inner h3{color:#fff;font-size:1.3rem;font-weight:400;margin:10px 0 8px;}
  .teaser-inner p{color:rgba(255,255,255,0.72);font-size:.85rem;margin:0 0 14px;}
  .teaser-inner .rd{font-size:.75rem;color:var(--gold-light);letter-spacing:.1em;text-transform:uppercase;font-weight:600;}

  /* ---------- principles trio ---------- */
  #principles{background:var(--white);}
  .principles{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(18,32,54,0.08);border:1px solid rgba(18,32,54,0.08);margin-top:50px;}
  @media (max-width:860px){.principles{grid-template-columns:1fr;}}
  .principle{background:var(--white);padding:38px 32px;}
  .principle h4{color:var(--ink);font-size:1.05rem;font-weight:600;margin:0 0 10px;}
  .principle p{color:var(--ink-soft);font-size:.9rem;margin:0;}

  /* ---------- metal card stage ---------- */
  .card-stage{
    background:
      linear-gradient(160deg, rgba(16,31,56,0.94), rgba(26,48,87,0.96)),
      url('assets/img/skyline-boardroom.jpg');
    background-size:cover;background-position:center;
    padding:110px 0;text-align:center;color:var(--white);position:relative;overflow:hidden;
  }
  .card-stage h2{font-weight:300;font-size:clamp(1.7rem,3vw,2.4rem);margin:14px 0 0;color:#fff;}
  .card-stage .stage-note{color:rgba(255,255,255,0.6);max-width:520px;margin:50px auto 0;font-size:.95rem;}
  .stage-card{
    width:min(430px,84vw);aspect-ratio:43/27;margin:52px auto 0;border-radius:18px;position:relative;
    background:linear-gradient(135deg,#1c3050,#0a1526);
    border:1px solid rgba(198,154,99,0.45);
    box-shadow:var(--shadow-deep);
    transform:rotate(-4deg);
    text-align:left;padding:7% 8%;
    transition:transform .15s ease-out, box-shadow .3s ease;
    will-change:transform;
  }
  .stage-card:hover{box-shadow:0 55px 100px rgba(5,12,26,0.55);}
  .stage-card::after{content:"";position:absolute;inset:0;border-radius:18px;pointer-events:none;
    background:linear-gradient(115deg, transparent 32%, rgba(227,203,162,0.16) 46%, rgba(255,255,255,0.1) 50%, transparent 64%);
    background-size:250% 100%;background-position:120% 0;
    animation:cardSheen 6.5s ease-in-out infinite;}
  @keyframes cardSheen{0%,55%,100%{background-position:120% 0;}25%{background-position:-40% 0;}}
  .stage-card .chip{width:13%;aspect-ratio:36/26;background:linear-gradient(135deg,var(--gold-light),var(--gold-dim));border-radius:6px;}
  .stage-card .cnum{color:rgba(255,255,255,0.55);font-size:clamp(.8rem,2.4vw,1.05rem);letter-spacing:.18em;margin-top:11%;}
  .stage-card .cname{color:var(--gold-light);font-family:'Poppins',sans-serif;letter-spacing:.24em;font-size:clamp(.66rem,1.8vw,.8rem);position:absolute;bottom:9%;left:8%;}
  .stage-card .cmark{position:absolute;bottom:8%;right:7%;opacity:.75;}

  /* ---------- quiet FAQ ---------- */
  #faq{background:var(--cream);}
  .faq{max-width:760px;margin:50px auto 0;}
  .faq details{border-top:1px solid rgba(18,32,54,0.14);}
  .faq details:last-child{border-bottom:1px solid rgba(18,32,54,0.14);}
  .faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 4px;font-weight:600;color:var(--ink);font-size:.98rem;}
  .faq summary::-webkit-details-marker{display:none;}
  .faq summary::after{content:"+";color:var(--gold-dim);font-size:1.4rem;font-weight:300;flex:none;transition:transform .3s ease;}
  .faq details[open] summary::after{transform:rotate(45deg);}
  .faq .faq-a{padding:0 4px 22px;color:var(--ink-soft);font-size:.92rem;max-width:640px;}

  /* ---------- SECTION HEADERS ---------- */
  .sec-head{max-width:700px;margin-bottom:56px;position:relative;z-index:1;}
  .sec-head.center{margin-left:auto;margin-right:auto;text-align:center;}
  .sec-head.center .eyebrow{display:inline-flex;align-items:center;gap:14px;}
  .sec-head.center .eyebrow::before, .sec-head.center .eyebrow::after{
    content:"";width:32px;height:1px;background:currentColor;opacity:.45;flex:none;
  }
  .sec-head h2{
    font-size:clamp(1.8rem,3.4vw,2.6rem);
    color:var(--ink);
    margin-top:12px;
    line-height:1.22;
  }
  .sec-head h2 .accent{color:var(--gold-dim);}
  .sec-head p{color:var(--ink-soft);font-size:1.02rem;margin-top:16px;}
  section.dark .sec-head h2{color:var(--white);}
  section.dark .sec-head p{color:rgba(255,255,255,0.65);}

  /* ---------- WE ARE / VISION ---------- */
  #vision{background:var(--white);overflow:hidden;}
  .vision-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:70px;align-items:center;}
  @media (max-width:860px){.vision-grid{grid-template-columns:1fr;gap:40px;}}
  .vision-visual{position:relative;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;perspective:1200px;}
  .diamond-photo{
    width:78%;aspect-ratio:1/1;
    background:linear-gradient(135deg,#233a5c,#0d1c34);
    transform:rotate(45deg);
    position:relative;
    overflow:hidden;
    box-shadow:var(--shadow-deep);
    animation:gemFloat 9s ease-in-out infinite;
    will-change:transform;
  }
  @keyframes gemFloat{0%,100%{transform:translateY(0) rotate(45deg);}50%{transform:translateY(-16px) rotate(45deg);}}
  .diamond-photo::after{
    content:"";position:absolute;inset:0;
    background:
      repeating-linear-gradient(115deg, rgba(198,154,99,0.12) 0 2px, transparent 2px 26px);
  }
  .diamond-photo .glow{
    position:absolute;width:60%;height:60%;left:20%;top:20%;
    background:radial-gradient(circle, rgba(198,154,99,0.5), transparent 70%);
  }
  .diamond-photo .glow.sage{
    width:40%;height:40%;left:auto;right:8%;top:auto;bottom:10%;
    background:radial-gradient(circle, rgba(127,160,132,0.55), transparent 70%);
  }
  .diamond-behind{
    position:absolute;width:60%;aspect-ratio:1/1;
    border:1px solid var(--gold-light);
    transform:rotate(45deg);
    top:6%;left:-6%;
    animation:orbitSpin 30s linear infinite;
  }
  .diamond-behind.sage{
    width:42%;border-color:var(--sage-light);opacity:.7;
    top:auto;bottom:2%;left:auto;right:-4%;
    animation:orbitSpin 22s linear infinite reverse;
  }
  .vision-text .eyebrow{margin-bottom:16px;display:block;}
  .vision-text h2{font-size:clamp(2rem,4vw,2.7rem);color:var(--ink);line-height:1.2;margin-bottom:22px;}
  .vision-text h2 em{font-style:normal;color:var(--sage-dim);}
  .vision-text p{color:var(--ink-soft);font-size:1.03rem;max-width:540px;}
  .vision-text p + p{margin-top:16px;}
  .vision-pillars-mini{display:flex;gap:26px;margin-top:32px;flex-wrap:wrap;}
  .vpm{font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-dim);border-top:1px solid rgba(18,32,54,0.15);padding-top:10px;}

  /* ---------- MARKET CONTEXT ---------- */
  #market{background:var(--cream);}
  .market-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(18,32,54,0.1);border:1px solid rgba(18,32,54,0.1);margin-top:50px;perspective:900px;}
  @media (max-width:760px){.market-stats{grid-template-columns:1fr;}}
  .market-cell{background:var(--cream);padding:38px 30px;text-align:center;transition:transform .15s ease-out, box-shadow .3s ease;will-change:transform;}
  .market-cell:hover{box-shadow:var(--shadow-mid);}
  .market-cell .num{font-family:'Poppins',sans-serif;font-size:clamp(2rem,4vw,2.8rem);color:var(--gold-dim);font-weight:600;}
  .market-cell .cap{color:var(--ink-soft);font-size:.85rem;margin-top:8px;}
  .market-cell .src{color:rgba(18,32,54,0.4);font-size:.7rem;margin-top:10px;}
  .market-quote{margin-top:50px;border-top:1px solid rgba(18,32,54,0.14);padding-top:36px;max-width:800px;}
  .market-quote p{color:var(--ink-soft);font-size:1rem;line-height:1.6;font-style:normal;}
  .market-quote cite{display:block;margin-top:14px;color:var(--gold-dim);font-size:.82rem;letter-spacing:.03em;}

  /* ---------- WHY NOW STATS ---------- */
  #why-now{background:var(--navy-deep);color:var(--white);position:relative;overflow:hidden;}
  .stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--navy-line);border:1px solid var(--navy-line);margin-bottom:60px;perspective:900px;}
  @media (max-width:760px){.stat-row{grid-template-columns:1fr;}}
  .stat-cell{
    background:linear-gradient(160deg, rgba(255,255,255,0.03), rgba(255,255,255,0));
    padding:38px 30px;text-align:center;
    transition:transform .15s ease-out, box-shadow .3s ease;
    will-change:transform;
  }
  .stat-cell:hover{box-shadow:0 22px 40px rgba(0,0,0,0.35);}
  .stat-icon{margin:0 auto 14px;width:34px;height:34px;opacity:.85;}
  .stat-cell .year{color:var(--gold-light);opacity:.8;font-size:.85rem;letter-spacing:.1em;margin-bottom:6px;}
  .stat-cell .num{font-family:'Poppins',sans-serif;font-size:clamp(2.2rem,4.5vw,3.2rem);color:var(--gold);font-weight:500;}
  .stat-cell .cap{color:rgba(255,255,255,0.6);font-size:.85rem;margin-top:8px;}
  .stat-cell .src{color:rgba(255,255,255,0.35);font-size:.7rem;margin-top:10px;}

  .quote-strip{
    display:grid;grid-template-columns:repeat(4,1fr);gap:30px;
    border-top:1px solid var(--navy-line);padding-top:50px;
  }
  @media (max-width:900px){.quote-strip{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:520px){.quote-strip{grid-template-columns:1fr;}}
  .quote-cell .num{font-family:'Poppins',sans-serif;color:var(--gold);font-size:2.1rem;font-weight:500;}
  .quote-cell p{color:rgba(255,255,255,0.7);font-size:.88rem;margin-top:6px;}

  /* ---- sustainable bond iso bar chart ---- */
  .bond-chart{margin-top:70px;border-top:1px solid var(--navy-line);padding-top:56px;position:relative;z-index:1;}
  .bond-head h3{color:var(--white);font-size:1.3rem;font-weight:500;margin-bottom:6px;}
  .bond-head h3 span{color:var(--sage-light);}
  .bond-head p{color:rgba(255,255,255,0.55);font-size:.88rem;}
  .bond-bars{display:flex;align-items:flex-end;gap:22px;height:190px;padding:40px 14px 30px;margin-top:20px;justify-content:center;}
  @media (max-width:700px){
    .bond-bars{gap:10px;overflow-x:auto;justify-content:flex-start;-webkit-overflow-scrolling:touch;}
    .bond-bar{width:26px;flex-shrink:0;}
  }
  .bond-bar{
    position:relative;width:34px;
    background:linear-gradient(180deg,var(--gold-light),var(--gold-dim));
    min-height:8px;border-radius:2px 2px 0 0;
    box-shadow:0 10px 20px rgba(0,0,0,0.25);
  }
  .bond-bar::before{
    content:"";position:absolute;top:-8px;left:0;width:100%;height:8px;
    background:var(--gold-light);filter:brightness(1.25);
    transform:skewX(-45deg);transform-origin:bottom left;
  }
  .bond-bar::after{
    content:"";position:absolute;top:0;right:-8px;width:8px;height:100%;
    background:var(--gold-dim);filter:brightness(0.7);
    transform:skewY(-45deg);transform-origin:top left;
  }
  .bond-bar.sage{background:linear-gradient(180deg,var(--sage-light),var(--sage-dim));}
  .bond-bar.sage::before{background:var(--sage-light);}
  .bond-bar.sage::after{background:var(--sage-dim);}
  .bond-bar .val{position:absolute;top:-30px;left:50%;transform:translateX(-50%);font-size:.64rem;color:var(--gold-light);white-space:nowrap;}
  .bond-bar .yr{position:absolute;bottom:-24px;left:50%;transform:translateX(-50%);font-size:.64rem;color:rgba(255,255,255,0.45);}

  /* ---- impact dials ---- */
  .dial-row{display:flex;gap:60px;justify-content:center;margin-top:60px;flex-wrap:wrap;border-top:1px solid var(--navy-line);padding-top:56px;}
  .dial{display:flex;align-items:center;gap:20px;}
  .dial svg{width:104px;height:104px;transform:rotate(-90deg);}
  .dial-track{fill:none;stroke:rgba(255,255,255,0.1);stroke-width:8;}
  .dial-progress{fill:none;stroke:url(#dialGradient);stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset 1.6s cubic-bezier(.16,.84,.44,1);}
  .dial-label strong{display:block;font-family:'Poppins',sans-serif;font-size:1.6rem;color:var(--gold);}
  .dial-label span{font-size:.78rem;color:rgba(255,255,255,0.6);max-width:180px;display:block;}

  /* ---------- OPPORTUNITY ---------- */
  #opportunity{background:var(--cream);}
  .opp-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;}
  @media (max-width:860px){.opp-grid{grid-template-columns:1fr;gap:40px;}}
  .opp-diagram{position:relative;height:420px;display:flex;align-items:center;justify-content:center;perspective:1000px;}
  .opp-node{
    position:absolute;
    display:flex;align-items:center;justify-content:center;text-align:center;
    font-size:.82rem;font-weight:600;letter-spacing:.03em;
    padding:6px;
    transition:transform .3s ease, box-shadow .3s ease;
  }
  .opp-node.neo{
    width:190px;height:190px;
    border:1.5px dashed var(--gold);
    transform:rotate(45deg);
    top:0;left:50%;margin-left:-95px;
    color:var(--gold-dim);
    box-shadow:0 20px 40px rgba(198,154,99,0.18);
    background:radial-gradient(circle, rgba(198,154,99,0.08), transparent 70%);
  }
  .opp-node.neo span{transform:rotate(-45deg);}
  .opp-node.old,.opp-node.new{
    width:140px;height:140px;
    border:1.5px solid var(--navy-mid);
    transform:rotate(45deg);
    bottom:64px;
    color:var(--navy);
    box-shadow:var(--shadow-soft);
  }
  .opp-node.old{left:8%;}
  .opp-node.new{right:8%;}
  .opp-node.old span,.opp-node.new span{transform:rotate(-45deg);}
  .opp-arrow{position:absolute;bottom:180px;left:50%;transform:translateX(-50%);color:var(--gold-dim);font-size:1.6rem;}
  .opp-tags{
    position:absolute;width:100%;bottom:14px;
    display:flex;justify-content:space-between;
    font-size:.72rem;letter-spacing:.03em;
    color:var(--ink-soft);padding:0 9%;
    text-align:center;
  }
  .opp-tags span{max-width:110px;}
  .opp-list{list-style:none;margin:26px 0 0;padding:0;}
  .opp-list li{
    display:flex;gap:14px;align-items:flex-start;
    padding:14px 0;border-bottom:1px solid rgba(18,32,54,0.1);
    color:var(--ink-soft);
  }
  .opp-list li .ic{color:var(--sage-dim);flex-shrink:0;margin-top:2px;}

  /* ---------- PROBLEM ---------- */
  #problem{background:var(--navy);color:var(--white);overflow:hidden;}
  .problem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--navy-line);border:1px solid var(--navy-line);margin-top:50px;perspective:900px;}
  @media (max-width:800px){.problem-grid{grid-template-columns:1fr;}}
  .problem-cell{background:var(--navy);padding:38px 34px;transition:transform .2s ease, box-shadow .3s ease;}
  .problem-cell:hover{box-shadow:0 20px 40px rgba(0,0,0,0.3);}
  .problem-cell h3{color:var(--gold-light);font-size:1.1rem;margin-bottom:14px;font-weight:500;}
  .problem-cell p{color:rgba(255,255,255,0.62);font-size:.92rem;}

  /* ---------- INDUSTRY QUOTE ---------- */
  #industry-view{background:var(--cream-dim);}
  .industry-quote{max-width:840px;margin:0 auto;text-align:center;position:relative;z-index:1;}
  .quote-mark{font-family:'Poppins',sans-serif;font-size:4.4rem;color:var(--gold);opacity:.45;line-height:1;margin-bottom:6px;}
  .industry-quote blockquote{
    font-family:'Poppins',sans-serif;font-weight:300;
    font-size:clamp(1.15rem,2.2vw,1.55rem);color:var(--ink);line-height:1.55;margin:0 0 26px;
  }
  .industry-quote cite{display:block;font-style:normal;color:var(--gold-dim);font-size:.85rem;letter-spacing:.04em;margin-bottom:26px;}
  .industry-quote .note{color:var(--ink-soft);font-size:.95rem;max-width:620px;margin:0 auto;}

  /* ---------- SOLUTION / PILLARS ---------- */
  #solution{background:var(--white);}
  .action-tags{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:6px;}
  .pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:20px;perspective:1200px;}
  @media (max-width:900px){.pillars{grid-template-columns:1fr;}}
  .pillar-card{
    border:1px solid rgba(18,32,54,0.1);
    padding:0;
    display:flex;flex-direction:column;
    transition:box-shadow .3s ease, transform .15s ease-out;
    will-change:transform;
    background:var(--white);
  }
  .pillar-card:hover{box-shadow:var(--shadow-mid);}
  .pillar-top{
    background:var(--navy-deep);
    padding:44px 32px 34px;
    text-align:center;
    position:relative;
    overflow:hidden;
  }
  .pillar-num{position:absolute;top:18px;left:20px;font-size:.68rem;letter-spacing:.15em;color:rgba(255,255,255,0.4);}
  .ribbon{
    position:absolute;top:18px;right:-34px;transform:rotate(45deg);
    background:var(--sage-dim);color:#fff;font-size:.58rem;letter-spacing:.08em;
    padding:4px 36px;text-transform:uppercase;box-shadow:0 4px 10px rgba(0,0,0,0.35);
  }
  .pillar-diamond{
    width:78px;height:78px;margin:0 auto 18px;
    border:1px solid var(--gold);
    transform:rotate(45deg);
    display:flex;align-items:center;justify-content:center;
    background:linear-gradient(135deg, rgba(198,154,99,0.18), transparent);
    box-shadow:0 0 26px rgba(198,154,99,0.25), inset 0 0 12px rgba(198,154,99,0.15);
  }
  .pillar-diamond svg{transform:rotate(-45deg);}
  .pillar-top h3{color:var(--white);font-size:1.28rem;font-weight:500;}
  .pillar-body{padding:30px 32px 36px;flex:1;display:flex;flex-direction:column;}
  .pillar-body p.lede{color:var(--ink-soft);font-size:.95rem;margin-bottom:20px;}
  .pillar-body ul{list-style:none;margin:0;padding:0;flex:1;}
  .pillar-body li{
    font-size:.87rem;color:var(--ink);
    padding:9px 0;border-top:1px solid rgba(18,32,54,0.08);
    display:flex;gap:10px;
  }
  .pillar-body li:first-child{border-top:none;}
  .pillar-body li::before{content:"◇";color:var(--gold-dim);flex-shrink:0;}

  /* ---------- FRONTIER FUND ---------- */
  #master-plan{
    background:linear-gradient(160deg,#101f38,#1a3057);
    color:var(--white);
    position:relative;
    overflow:hidden;
  }
  .action-tags .action-tag{
    border:1px solid rgba(127,160,132,0.5);color:var(--sage-light);
    font-size:.72rem;letter-spacing:.05em;padding:6px 16px;border-radius:20px;
    background:rgba(127,160,132,0.08);
  }
  .mpf-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--navy-line);border:1px solid var(--navy-line);margin-top:50px;perspective:1000px;}
  @media (max-width:960px){.mpf-grid{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:560px){.mpf-grid{grid-template-columns:1fr;}}
  .mpf-cell{background:#122748;padding:30px 26px;min-height:190px;transition:transform .15s ease-out, box-shadow .3s ease;will-change:transform;}
  .mpf-cell:hover{box-shadow:0 20px 40px rgba(0,0,0,0.35);}
  .mpf-cell h4{color:var(--gold-light);font-size:1rem;font-weight:500;margin-bottom:10px;}
  .mpf-cell p{color:rgba(255,255,255,0.6);font-size:.82rem;}
  .fund-terms{text-align:center;color:rgba(255,255,255,0.4);font-size:.78rem;margin-top:40px;letter-spacing:.02em;}

  /* ---------- OUR PROCESS ---------- */
  #process{background:var(--white);}
  .process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(18,32,54,0.08);border:1px solid rgba(18,32,54,0.08);margin-top:50px;perspective:1000px;}
  .process-grid.cols-4{grid-template-columns:repeat(4,1fr);}
  @media (max-width:860px){.process-grid{grid-template-columns:1fr;}}
  @media (max-width:860px) and (min-width:561px){.process-grid.cols-4{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:560px){.process-grid.cols-4{grid-template-columns:1fr;}}
  .process-cell{background:var(--white);padding:34px 32px;position:relative;transition:transform .15s ease-out, box-shadow .3s ease;will-change:transform;}
  .process-cell:hover{box-shadow:var(--shadow-mid);}
  .process-num{
    font-family:'Poppins',sans-serif;font-size:2.6rem;font-weight:600;
    color:transparent;-webkit-text-stroke:1.4px var(--gold-dim);
    margin-bottom:12px;
  }
  .process-cell h4{font-size:1.02rem;color:var(--ink);font-weight:600;margin-bottom:10px;}
  .process-cell p{font-size:.87rem;color:var(--ink-soft);}

  /* ---------- IMPACT SPECTRUM (3D ascending steps) ---------- */
  #impact-spectrum{background:var(--cream);overflow:hidden;}
  .spectrum-track{
    display:flex;align-items:flex-end;gap:26px;justify-content:center;
    margin-top:76px;border-bottom:2px solid var(--gold-dim);position:relative;
  }
  .spectrum-track::after{
    content:"";position:absolute;left:6%;right:6%;bottom:-22px;height:22px;
    background:radial-gradient(ellipse at center, rgba(18,32,54,0.18), transparent 72%);
  }
  .step{display:flex;flex-direction:column;justify-content:flex-end;}
  .step.h1{height:64px;}
  .step.h2{height:126px;}
  .step.h3{height:188px;}
  .spectrum-seg{
    width:250px;padding:26px 24px;text-align:center;position:relative;
    border-radius:4px 4px 0 0;
    box-shadow:0 -10px 24px rgba(18,32,54,0.1), var(--shadow-mid);
  }
  .spectrum-seg h4{font-size:1.02rem;margin-bottom:10px;color:var(--ink);font-weight:600;}
  .spectrum-seg p{font-size:.8rem;color:var(--ink-soft);}
  .spectrum-seg .sfdr{display:inline-block;margin-top:12px;font-size:.66rem;letter-spacing:.08em;color:var(--gold-dim);border:1px solid var(--gold-dim);padding:3px 10px;}
  .spectrum-seg.s1{background:#f2ece0;}
  .spectrum-seg.s2{background:#dfe8d7;}
  .spectrum-seg.s2 .sfdr{color:var(--sage-dim);border-color:var(--sage-dim);}
  .spectrum-seg.s3{background:linear-gradient(150deg,var(--gold),var(--sage));}
  .spectrum-seg.s3 h4, .spectrum-seg.s3 p{color:#1c2a12;}
  .spectrum-seg.s3 .sfdr{color:#1c2a12;border-color:#1c2a12;}
  .spectrum-labels{display:flex;justify-content:space-between;margin-top:36px;font-size:.75rem;color:var(--ink-soft);letter-spacing:.05em;text-transform:uppercase;}
  .spectrum-track .step{
    opacity:0;transform:translateY(36px);
    transition:opacity .9s cubic-bezier(.22,1,.36,1), transform .9s cubic-bezier(.22,1,.36,1);
  }
  .reveal.in .spectrum-track .step{opacity:1;transform:none;}
  .reveal.in .spectrum-track .step:nth-child(1){transition-delay:.05s;}
  .reveal.in .spectrum-track .step:nth-child(2){transition-delay:.24s;}
  .reveal.in .spectrum-track .step:nth-child(3){transition-delay:.44s;}
  @media (max-width:700px){
    .spectrum-track{flex-direction:column;align-items:center;gap:20px;}
    .step{height:auto !important;}
  }

  /* ---------- CARD/APP FEATURE STRIP ---------- */
  #app{background:var(--navy-deep);color:var(--white);overflow:hidden;}
  .app-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:70px;align-items:center;}
  @media (max-width:900px){.app-grid{grid-template-columns:1fr;}}
  .app-feats{display:grid;grid-template-columns:1fr 1fr;gap:30px;}
  @media (max-width:520px){.app-feats{grid-template-columns:1fr;}}
  .app-feat h4{color:var(--gold-light);font-size:.95rem;margin-bottom:10px;letter-spacing:.03em;display:flex;align-items:center;gap:10px;}
  .app-feat h4 svg{flex-shrink:0;}
  .app-feat ul{list-style:none;margin:0;padding:0;}
  .app-feat li{color:rgba(255,255,255,0.62);font-size:.85rem;padding:5px 0;}
  .card-visual{
    position:relative;height:380px;perspective:1400px;
  }
  .phone-float{position:absolute;left:36%;top:50%;animation:floatPhone 5.5s ease-in-out infinite;}
  @keyframes floatPhone{0%,100%{transform:translate(-50%,-50%) translateY(0);}50%{transform:translate(-50%,-50%) translateY(-14px);}}
  .phone-mock{
    width:184px;height:330px;border-radius:24px;
    background:linear-gradient(160deg,#1a2c4a,#0a1526);
    border:1px solid rgba(198,154,99,0.3);
    box-shadow:var(--shadow-deep);
    padding:16px;transform:rotate(5deg);
    transition:transform .15s ease-out;will-change:transform;
  }
  .phone-screen{background:rgba(255,255,255,0.04);border-radius:14px;height:100%;padding:16px;display:flex;flex-direction:column;justify-content:space-between;}
  .ph-row{display:flex;justify-content:space-between;align-items:center;font-size:.7rem;color:var(--gold-light);letter-spacing:.05em;}
  .ph-dot{width:8px;height:8px;border-radius:50%;background:var(--sage);box-shadow:0 0 10px var(--sage);}
  .ph-bars{display:flex;align-items:flex-end;gap:6px;height:84px;}
  .ph-bars div{flex:1;background:linear-gradient(180deg,var(--gold-light),var(--sage));border-radius:2px 2px 0 0;}
  .ph-foot{font-size:.66rem;color:rgba(255,255,255,0.55);}
  .ph-foot strong{color:var(--sage-light);}

  .card-float{position:absolute;left:66%;top:64%;animation:floatCard 6.5s ease-in-out infinite reverse;}
  @keyframes floatCard{0%,100%{transform:translate(-50%,-50%) translateY(0);}50%{transform:translate(-50%,-50%) translateY(-14px);}}
  .card-mock{
    width:250px;height:158px;border-radius:14px;
    background:linear-gradient(135deg,#1c3050,#0a1526);
    border:1px solid rgba(198,154,99,0.4);
    box-shadow:var(--shadow-deep);
    position:relative;
    padding:22px;
    transform:rotate(-8deg);
    transition:transform .15s ease-out;will-change:transform;
  }
  .card-mock .chip{width:36px;height:26px;background:linear-gradient(135deg,var(--gold-light),var(--gold-dim));border-radius:4px;margin-bottom:26px;}
  .card-mock .cnum{color:rgba(255,255,255,0.5);font-size:.76rem;letter-spacing:.15em;}
  .card-mock .cname{color:var(--gold-light);font-family:'Poppins',sans-serif;letter-spacing:.2em;font-size:.7rem;position:absolute;bottom:20px;left:22px;}
  .card-mock .cleaf{position:absolute;bottom:18px;right:20px;opacity:.7;}

  /* ---------- ACCOUNT ARCHITECTURE DIAGRAM ---------- */
  .arch-block{margin-top:86px;padding-top:60px;border-top:1px solid var(--navy-line);}
  .arch-head{max-width:640px;margin-bottom:44px;}
  .arch-head h3{color:#fff;font-size:1.25rem;font-weight:500;margin-bottom:12px;}
  .arch-head p{color:rgba(255,255,255,0.6);font-size:.92rem;}
  .arch-diagram{display:flex;align-items:center;justify-content:center;gap:0;flex-wrap:wrap;margin:0 auto;max-width:980px;}
  .arch-tier{display:flex;flex-direction:column;gap:22px;}
  .arch-node{
    width:168px;padding:16px 18px;text-align:center;
    border:1px solid rgba(198,154,99,0.4);
    background:linear-gradient(160deg, rgba(198,154,99,0.06), rgba(255,255,255,0.02));
    color:var(--cream);
    transition:transform .3s cubic-bezier(.22,1,.36,1), box-shadow .3s ease, border-color .3s ease;
    cursor:default;
  }
  .arch-node:hover{
    transform:translateY(-5px) scale(1.03);
    border-color:var(--gold);
    box-shadow:0 18px 34px rgba(198,154,99,0.2);
  }
  .arch-node .lbl{font-family:'Poppins',sans-serif;font-size:.86rem;color:var(--gold-light);letter-spacing:.02em;}
  .arch-node .sub{font-size:.72rem;color:rgba(255,255,255,0.5);margin-top:5px;line-height:1.5;}
  .arch-node .detail{
    max-height:0;overflow:hidden;opacity:0;
    font-size:.7rem;color:rgba(227,203,162,0.75);line-height:1.6;margin-top:0;
    transition:max-height .35s ease, opacity .35s ease, margin-top .35s ease;
  }
  .arch-node:hover .detail{max-height:80px;opacity:1;margin-top:9px;}
  .arch-connector{width:70px;height:2px;position:relative;flex-shrink:0;}
  .arch-connector svg{display:block;width:100%;height:100%;overflow:visible;}
  .arch-connector svg line{
    stroke-dasharray:80;stroke-dashoffset:80;
    transition:stroke-dashoffset 1.1s cubic-bezier(.22,1,.36,1);
  }
  .arch-block.in-view .arch-connector svg line{stroke-dashoffset:0;}
  .arch-hub{
    width:196px;padding:24px 20px;text-align:center;
    border:1.5px solid var(--gold);
    background:radial-gradient(circle, rgba(198,154,99,0.14), rgba(198,154,99,0.02) 70%);
    box-shadow:0 0 34px rgba(198,154,99,0.18);
    color:#fff;
  }
  .arch-hub .lbl{font-family:'Poppins',sans-serif;font-size:1rem;color:var(--gold-light);}
  .arch-hub .sub{font-size:.74rem;color:rgba(255,255,255,0.55);margin-top:6px;line-height:1.55;}
  .arch-note{max-width:760px;margin:38px auto 0;color:rgba(255,255,255,0.5);font-size:.82rem;text-align:center;line-height:1.7;}
  @media (max-width:860px){
    .arch-diagram{flex-direction:column;}
    .arch-tier{flex-direction:row;flex-wrap:wrap;justify-content:center;}
    .arch-connector{width:2px;height:36px;}
  }

  /* ---------- AUDIENCE ---------- */
  #audience{background:var(--white);}
  .audience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:50px;perspective:1000px;}
  @media (max-width:860px){.audience-grid{grid-template-columns:1fr;}}
  .audience-card{
    border-left:2px solid var(--gold);padding:4px 22px 4px 22px;
    transition:transform .15s ease-out, box-shadow .3s ease;
    will-change:transform;
  }
  .audience-card:hover{box-shadow:var(--shadow-mid);}
  .audience-card h3{color:var(--navy);font-size:1.12rem;font-weight:600;margin-bottom:12px;}
  .audience-card p{color:var(--ink-soft);font-size:.92rem;}

  /* ---------- DARK COMPONENT SECTIONS ----------
     #structure (private-banking) and #desk-fund (investment-desk) render the .arch-*
     component, whose rules hardcode color:#fff and rgba(255,255,255,.6). Neither section
     painted a background, so it inherited the white body: heading, body copy AND the
     client-money paragraph rendered white-on-white at 1:1 contrast — invisible, not merely
     low-contrast. Same declaration as #consortium, which is the working precedent. */
  #structure,
  #desk-fund{background:var(--navy-deep);color:var(--white);overflow:hidden;}

  /* ---------- THE CONSORTIUM ---------- */
  #consortium{background:var(--navy-deep);color:var(--white);overflow:hidden;}
  #consortium .sec-head{max-width:760px;}
  #consortium .eyebrow{color:var(--gold-light);}
  #consortium .sec-head h2 .accent{color:var(--gold);}
  #consortium .csr-def{
    font-family:'Poppins',sans-serif;font-weight:300;font-style:italic;
    color:rgba(255,255,255,0.45);font-size:.92rem;letter-spacing:.03em;margin-top:18px;
  }
  #consortium .csr-def em{font-style:normal;color:var(--gold-light);}
  .csr-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--navy-line);border:1px solid var(--navy-line);margin-top:50px;perspective:1000px;}
  @media (max-width:960px){.csr-grid{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:560px){.csr-grid{grid-template-columns:1fr;}}
  .csr-cell{
    background:var(--navy-deep);padding:34px 30px;min-height:210px;
    position:relative;isolation:isolate;
    transition:transform .15s ease-out, box-shadow .3s ease;will-change:transform;
  }
  .csr-cell:hover{box-shadow:0 20px 40px rgba(0,0,0,0.35);}
  .csr-cell::before{
    content:"";position:absolute;inset:-2px;z-index:-1;
    background:linear-gradient(135deg, var(--gold), var(--sage));
    border-radius:inherit;opacity:0;filter:blur(18px);
    transition:opacity .45s cubic-bezier(.16,.84,.44,1);pointer-events:none;
  }
  .csr-cell:hover::before{opacity:.5;}
  .csr-glyph{
    width:28px;height:28px;margin:5px 7px 26px;
    border:1px solid var(--gold-dim);transform:rotate(45deg);
    display:flex;align-items:center;justify-content:center;
    background:linear-gradient(135deg, rgba(198,154,99,0.16), transparent);
  }
  .csr-glyph::after{content:"";width:9px;height:9px;border-radius:50%;border:1px solid var(--gold);}
  .csr-cell h4{color:var(--gold-light);font-size:1rem;font-weight:500;margin-bottom:10px;}
  .csr-cell p{color:rgba(255,255,255,0.6);font-size:.82rem;}
  .csr-cta{text-align:center;margin-top:48px;position:relative;z-index:1;}
  .csr-cta p{color:rgba(255,255,255,0.55);font-size:.9rem;max-width:520px;margin:0 auto 26px;}
  /* stagger — mirrors the site-wide fadeUpStagger pattern for the new grid */
  .csr-grid > *{animation:fadeUpStagger .7s cubic-bezier(.16,.84,.44,1) paused;animation-fill-mode:both;}
  .csr-grid.in > *{animation-play-state:running;}
  .csr-grid.in > *:nth-child(1){animation-delay:.02s;}
  .csr-grid.in > *:nth-child(2){animation-delay:.09s;}
  .csr-grid.in > *:nth-child(3){animation-delay:.16s;}
  .csr-grid.in > *:nth-child(4){animation-delay:.23s;}
  @media (prefers-reduced-motion: reduce){
    .csr-grid > *{animation:none !important;opacity:1;}
  }

  /* ---------- INSIGHTS ---------- */
  #insights{background:var(--cream);}
  .insight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:50px;perspective:1000px;}
  @media (max-width:900px){.insight-grid{grid-template-columns:1fr;}}
  .insight-card{
    background:var(--white);border:1px solid rgba(18,32,54,0.1);padding:30px 28px;
    display:flex;flex-direction:column;gap:14px;
    transition:transform .15s ease-out, box-shadow .3s ease;will-change:transform;
  }
  .insight-card:hover{box-shadow:var(--shadow-mid);}
  .insight-tag{display:inline-block;font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--sage-dim);border:1px solid var(--sage-dim);padding:4px 10px;width:fit-content;}
  .insight-card h3{font-size:1.1rem;color:var(--ink);font-weight:600;line-height:1.34;}
  .insight-card p{font-size:.87rem;color:var(--ink-soft);flex:1;}
  .insight-card .rd{font-size:.8rem;color:var(--gold-dim);font-weight:600;letter-spacing:.03em;transition:color .2s ease;}
  .insight-card .rd:hover{color:var(--gold);}

  /* ---------- PATH TO LAUNCH ---------- */
  #timeline{background:var(--navy);color:var(--white);overflow:hidden;}
  .timeline-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--navy-line);border:1px solid var(--navy-line);margin-top:50px;perspective:1000px;}
  @media (max-width:900px){.timeline-steps{grid-template-columns:1fr 1fr;}}
  @media (max-width:520px){.timeline-steps{grid-template-columns:1fr;}}
  .tl-cell{background:var(--navy);padding:34px 28px;position:relative;transition:transform .15s ease-out, box-shadow .3s ease;will-change:transform;}
  .tl-cell:hover{box-shadow:0 20px 40px rgba(0,0,0,0.3);}
  .tl-roman{font-family:'Poppins',sans-serif;color:var(--gold);font-size:1.15rem;letter-spacing:.12em;margin-bottom:14px;}
  .tl-cell h4{color:var(--white);font-size:1rem;font-weight:500;margin-bottom:10px;}
  .tl-cell p{color:rgba(255,255,255,0.6);font-size:.84rem;}

  /* ---------- CONTACT / CTA ---------- */
  #contact{
    background:linear-gradient(180deg,#0d1c34,#08111f);
    color:var(--white);
    text-align:center;
    overflow:hidden;
  }
  #contact .sec-head{max-width:620px;}
  .contact-form{
    max-width:520px;margin:40px auto 0;
    display:flex;flex-direction:column;gap:16px;
    position:relative;z-index:1;
  }
  .contact-form input, .contact-form select{
    background:rgba(255,255,255,0.06);
    border:1px solid rgba(255,255,255,0.18);
    color:var(--white);
    padding:14px 16px;
    font-family:'Inter',sans-serif;
    font-size:.92rem;
    transition:border-color .2s ease, box-shadow .2s ease;
  }
  .contact-form input::placeholder{color:rgba(255,255,255,0.4);}
  .contact-form input:focus, .contact-form select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(198,154,99,0.15);}
  .contact-note{margin-top:16px;font-size:.78rem;color:rgba(255,255,255,0.4);max-width:480px;margin-left:auto;margin-right:auto;}
  .form-msg{margin-top:16px;font-size:.85rem;color:var(--gold-light);display:none;}

  /* ---------- FOOTER ---------- */
  footer{background:var(--navy-deep);color:rgba(255,255,255,0.55);padding:60px 0 30px;}
  .footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:40px;padding-bottom:40px;border-bottom:1px solid var(--navy-line);}
  @media (max-width:800px){.footer-grid{grid-template-columns:1fr 1fr;}}
  .footer-grid h5{color:var(--white);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:16px;font-weight:600;}
  .footer-grid ul{list-style:none;margin:0;padding:0;}
  .footer-grid li{margin-bottom:9px;font-size:.85rem;}
  .footer-grid li a:hover{color:var(--gold-light);}
  .footer-brand p{font-size:.85rem;max-width:290px;margin-top:14px;color:rgba(255,255,255,0.45);}
  .footer-bottom{padding-top:28px;font-size:.72rem;color:rgba(255,255,255,0.35);line-height:1.7;}
  .footer-bottom .legal{max-width:980px;}
  .footer-meta{display:flex;justify-content:space-between;margin-top:18px;flex-wrap:wrap;gap:10px;font-size:.75rem;color:rgba(255,255,255,0.4);}

  /* reveal animation — cinematic blur/scale entrance */
  .reveal{
    opacity:0;
    transform:translateY(28px) scale(.98);
    filter:blur(6px);
    transition:opacity .9s cubic-bezier(.16,.84,.44,1), transform .9s cubic-bezier(.16,.84,.44,1), filter .9s cubic-bezier(.16,.84,.44,1);
  }
  .reveal.in{opacity:1;transform:translateY(0) scale(1);filter:blur(0);}

  @keyframes fadeUpStagger{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}
  :is(.pillars,.mpf-grid,.problem-grid,.audience-grid,.insight-grid,.process-grid,.timeline-steps,.market-stats,.stat-row,.quote-strip) > *{
    animation:fadeUpStagger .7s cubic-bezier(.16,.84,.44,1) paused;
    animation-fill-mode:both;
  }
  :is(.pillars,.mpf-grid,.problem-grid,.audience-grid,.insight-grid,.process-grid,.timeline-steps,.market-stats,.stat-row,.quote-strip).in > *{
    animation-play-state:running;
  }
  :is(.pillars,.mpf-grid,.problem-grid,.audience-grid,.insight-grid,.process-grid,.timeline-steps,.market-stats,.stat-row,.quote-strip).in > *:nth-child(1){animation-delay:.02s;}
  :is(.pillars,.mpf-grid,.problem-grid,.audience-grid,.insight-grid,.process-grid,.timeline-steps,.market-stats,.stat-row,.quote-strip).in > *:nth-child(2){animation-delay:.09s;}
  :is(.pillars,.mpf-grid,.problem-grid,.audience-grid,.insight-grid,.process-grid,.timeline-steps,.market-stats,.stat-row,.quote-strip).in > *:nth-child(3){animation-delay:.16s;}
  :is(.pillars,.mpf-grid,.problem-grid,.audience-grid,.insight-grid,.process-grid,.timeline-steps,.market-stats,.stat-row,.quote-strip).in > *:nth-child(4){animation-delay:.23s;}
  :is(.pillars,.mpf-grid,.problem-grid,.audience-grid,.insight-grid,.process-grid,.timeline-steps,.market-stats,.stat-row,.quote-strip).in > *:nth-child(5){animation-delay:.30s;}
  :is(.pillars,.mpf-grid,.problem-grid,.audience-grid,.insight-grid,.process-grid,.timeline-steps,.market-stats,.stat-row,.quote-strip).in > *:nth-child(6){animation-delay:.37s;}
  :is(.pillars,.mpf-grid,.problem-grid,.audience-grid,.insight-grid,.process-grid,.timeline-steps,.market-stats,.stat-row,.quote-strip).in > *:nth-child(7){animation-delay:.44s;}
  :is(.pillars,.mpf-grid,.problem-grid,.audience-grid,.insight-grid,.process-grid,.timeline-steps,.market-stats,.stat-row,.quote-strip).in > *:nth-child(8){animation-delay:.51s;}

  /* ---------- premium glow-hover halo ---------- */
  .pillar-card, .mpf-cell, .insight-card, .market-cell, .process-cell, .tl-cell, .audience-card{
    position:relative;
    isolation:isolate;
  }
  .pillar-card::before, .mpf-cell::before, .insight-card::before, .market-cell::before, .process-cell::before, .tl-cell::before, .audience-card::before{
    content:"";
    position:absolute;
    inset:-2px;
    z-index:-1;
    background:linear-gradient(135deg, var(--gold), var(--sage));
    border-radius:inherit;
    opacity:0;
    filter:blur(18px);
    transition:opacity .45s cubic-bezier(.16,.84,.44,1);
    pointer-events:none;
  }
  .pillar-card:hover::before, .mpf-cell:hover::before, .insight-card:hover::before, .market-cell:hover::before, .process-cell:hover::before, .tl-cell:hover::before, .audience-card:hover::before{opacity:.5;}

  /* ---------- preloader ---------- */
  #preloader{
    position:fixed;inset:0;z-index:10000;
    background:var(--navy-deep);
    display:flex;align-items:center;justify-content:center;
    transition:opacity .8s cubic-bezier(.16,.84,.44,1), visibility .8s;
  }
  #preloader.hide{opacity:0;visibility:hidden;pointer-events:none;}
  .pre-mark{display:flex;flex-direction:column;align-items:center;gap:16px;animation:preFade 1.6s ease forwards;}
  .pre-mark span{font-family:'Poppins',sans-serif;letter-spacing:.4em;font-size:.8rem;color:var(--gold-light);animation:preText .8s ease .5s both;}
  @keyframes preFade{from{opacity:0;transform:scale(.92);}to{opacity:1;transform:scale(1);}}
  @keyframes preText{to{opacity:1;}}

  /* ---------- scroll progress ---------- */
  .scroll-progress{
    position:fixed;top:0;left:0;height:2px;width:0%;
    background:linear-gradient(90deg,var(--gold),var(--sage));
    z-index:200;transition:width .1s linear;
    box-shadow:0 0 10px rgba(198,154,99,0.65);
  }

  /* ---------- ambient cursor glow ---------- */
  .cursor-glow{
    position:fixed;top:0;left:0;width:440px;height:440px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(198,154,99,0.12), transparent 70%);
    transform:translate(-50%,-50%);
    pointer-events:none;z-index:5;
    transition:opacity .4s ease;
    opacity:0;
    mix-blend-mode:screen;
  }
  .cursor-glow.active{opacity:1;}
  .cursor-dot{
    position:fixed;top:0;left:0;width:8px;height:8px;border-radius:50%;
    background:var(--gold);pointer-events:none;z-index:9998;
    transform:translate(-50%,-50%);
    transition:width .25s cubic-bezier(.16,.84,.44,1), height .25s cubic-bezier(.16,.84,.44,1), background .25s ease, border .25s ease;
    opacity:0;
  }
  .cursor-dot.show{opacity:.9;}
  .cursor-dot.big{width:38px;height:38px;background:rgba(198,154,99,0.18);border:1px solid var(--gold-light);}

  /* ---------- exclusivity marquee ---------- */
  .marquee-strip{
    background:var(--navy-deep);
    border-top:1px solid var(--navy-line);
    border-bottom:1px solid var(--navy-line);
    overflow:hidden;
    padding:16px 0;
    white-space:nowrap;
    position:relative;
    z-index:5;
  }
  .marquee-track{display:inline-flex;align-items:center;gap:28px;animation:marqueeScroll 30s linear infinite;}
  .marquee-track span{font-family:'Poppins',sans-serif;font-size:.72rem;letter-spacing:.22em;color:var(--gold-light);opacity:.8;text-transform:uppercase;}
  .marquee-track .dot{color:var(--sage);opacity:.6;font-size:.6rem;}
  @keyframes marqueeScroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}

  /* ---------- live status dot ---------- */
  .live-dot{
    display:inline-block;width:6px;height:6px;border-radius:50%;
    background:var(--sage);margin-right:8px;position:relative;top:-1px;
    box-shadow:0 0 0 0 rgba(127,160,132,0.6);
    animation:pulseDot 2.2s infinite;
  }
  @keyframes pulseDot{
    0%{box-shadow:0 0 0 0 rgba(127,160,132,0.55);}
    70%{box-shadow:0 0 0 9px rgba(127,160,132,0);}
    100%{box-shadow:0 0 0 0 rgba(127,160,132,0);}
  }


  /* ultra-narrow safety: nothing may force a horizontal scroll */
  @media (max-width:400px){
    .btn{white-space:normal;}
    .mpf-cell,.csr-cell,.problem-cell,.tl-cell{padding:26px 18px;}
    .action-tags .action-tag{font-size:.66rem;padding:5px 10px;}
    .card-mock{width:210px;height:132px;padding:18px;}
    .phone-mock{width:156px;height:280px;}
    .spectrum-seg{width:min(250px, 82vw);}
  }

  @media (prefers-reduced-motion: reduce){
    *{animation:none !important; transition:none !important;}
    .reveal{opacity:1;transform:none;filter:none;}
    :is(.pillars,.mpf-grid,.problem-grid,.audience-grid,.insight-grid,.process-grid,.timeline-steps,.market-stats,.stat-row,.quote-strip) > *{animation:none !important;opacity:1;}
    .spectrum-track .step{opacity:1;transform:none;}
    .cursor-glow, .cursor-dot{display:none;}
  }
