/* ════════════════════════════════════════════════════════════════
   ThirdAct — thirdact.ai
   Body system replicated from docs.thirdact.ai (investor-update DNA):
   sec-head, cards, grids, teal-header tables, section-images,
   text-image splits, drop-caps, callouts, pull-quotes, stat-cards.
   Hero (globe + photoreal background) kept from the standalone.
   ════════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;0,900;1,400;1,600;1,700;1,900&family=Inter:wght@200;300;400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap');

:root{
  --font-serif:'Playfair Display',Georgia,serif;
  --font-sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --font-mono:'JetBrains Mono','SF Mono',monospace;
  --color-base:#FDF8F3;
  --color-white:#FFFFFF;
  --color-gold:#C8963E;
  --color-gold-light:#D4AC6E;
  --color-gold-dark:#A67A2E;
  --color-teal:#1A3A4A;
  --color-teal-light:#2A5A6A;
  --color-teal-deep:#0F2530;
  --color-teal-ink:#0A1A24;
  --color-text:#2C2420;
  --color-text-body:#2D2D2D;
  --color-text-light:#5A4E44;
  --color-muted:#6B5E53;
  --color-rule:#E8DFD4;
  --color-rule-strong:#D6C9B8;
  --color-pos:#28A745;
  --color-neg:#DC3545;
  --ease:cubic-bezier(0.4,0,0.2,1);
  --ease-out:cubic-bezier(0.16,1,0.3,1);
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{font-family:var(--font-sans);font-weight:400;line-height:1.75;color:var(--color-text-body);background:var(--color-base);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--color-teal);text-decoration:none;transition:color .18s var(--ease)}
.skip-link{position:absolute;left:-999px;top:0;background:var(--color-gold);color:var(--color-teal-ink);padding:.6rem 1rem;z-index:400}
.skip-link:focus{left:0}

/* ════════════════════════════════════════════════
   PROGRESS + HERO (globe + photoreal background)
   ════════════════════════════════════════════════ */
.progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:300;background:rgba(200,150,62,.12);pointer-events:none}
.progress .fill{height:100%;width:0;background:linear-gradient(90deg,var(--color-gold-dark),var(--color-gold),var(--color-gold-light));box-shadow:0 0 6px rgba(200,150,62,.4);transition:width .05s linear}

.hero{position:relative;width:100%;height:100vh;min-height:600px;background:radial-gradient(ellipse at 64% 46%,var(--color-teal-ink) 0%,#060d12 80%,#000 100%);color:var(--color-base);overflow:hidden;isolation:isolate}
.hero .scan,.hero .grain,.hero .vignette{position:absolute;inset:0;pointer-events:none}
.hero .scan{z-index:6;background:repeating-linear-gradient(to bottom,transparent 0,transparent 3px,rgba(253,248,243,.012) 3px,rgba(253,248,243,.012) 4px)}
.hero .grain{z-index:6;opacity:.06;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence baseFrequency='0.9'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}
.hero .vignette{z-index:5;background:radial-gradient(ellipse at center,transparent 35%,rgba(0,0,0,.85) 100%)}
.hero .stage{position:absolute;inset:0;overflow:hidden}
.hero .hero-bg{position:absolute;inset:0;z-index:1;overflow:hidden}
.hero .hero-bg img,.hero .hero-bg video{width:100%;height:180%;object-fit:cover;object-position:center;opacity:.55;will-change:transform;top:-40%;position:absolute;left:0}
.hero .hero-bg::after{content:'';position:absolute;inset:0;z-index:2;background:radial-gradient(ellipse at 64% 44%,transparent 16%,rgba(6,13,18,.5) 82%),linear-gradient(180deg,rgba(10,26,36,.26) 0%,rgba(10,26,36,.62) 100%)}

.hero .brand-block{position:absolute;z-index:11;top:2.5rem;left:3.5rem;display:flex;align-items:center;gap:1rem;pointer-events:none}
.hero .brand-block .symbol{width:52px;height:52px;background:url("../assets/logo/symbol-gold.png") center/contain no-repeat;flex-shrink:0;filter:drop-shadow(0 4px 16px rgba(0,0,0,.5))}
.hero .brand-block .wordmark{font-family:var(--font-serif);font-weight:400;font-size:2.5rem;line-height:.9;letter-spacing:-0.03em;color:var(--color-base);text-shadow:0 4px 24px rgba(0,0,0,.6)}
.hero .brand-block .wordmark em{font-style:italic;color:var(--color-gold);font-weight:400}

.hero .nav-secondary{display:none;position:absolute;z-index:11;top:2.5rem;right:3.5rem;height:52px;align-items:center;justify-content:flex-end;gap:clamp(1.1rem,2.2vw,2rem);max-width:calc(100% - 22rem)}
.hero .nav-secondary a{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(253,248,243,.62);padding:.5rem .1rem;position:relative;white-space:nowrap;transition:color .2s ease}
.hero .nav-secondary a:hover{color:var(--color-gold)}
.hero .nav-secondary a::after{content:'';position:absolute;left:50%;right:50%;bottom:0;height:1px;background:var(--color-gold);transition:left .3s var(--ease),right .3s var(--ease)}
.hero .nav-secondary a:hover::after{left:0;right:0}

.hero .crosshair{position:absolute;width:32px;height:32px;z-index:8;color:rgba(200,150,62,.5);pointer-events:none}
.hero .crosshair::before,.hero .crosshair::after{content:'';position:absolute;background:currentColor}
.hero .crosshair.tl{top:1.75rem;left:1.75rem}.hero .crosshair.tr{top:1.75rem;right:1.75rem}
.hero .crosshair.bl{bottom:1.75rem;left:1.75rem}.hero .crosshair.br{bottom:1.75rem;right:1.75rem}
.hero .crosshair.tl::before{width:18px;height:1px;top:0;left:0}.hero .crosshair.tl::after{width:1px;height:18px;top:0;left:0}
.hero .crosshair.tr::before{width:18px;height:1px;top:0;right:0}.hero .crosshair.tr::after{width:1px;height:18px;top:0;right:0}
.hero .crosshair.bl::before{width:18px;height:1px;bottom:0;left:0}.hero .crosshair.bl::after{width:1px;height:18px;bottom:0;left:0}
.hero .crosshair.br::before{width:18px;height:1px;bottom:0;right:0}.hero .crosshair.br::after{width:1px;height:18px;bottom:0;right:0}

.hero .globe-stage{position:absolute;inset:0;z-index:2;cursor:grab}
.hero .globe-stage:active{cursor:grabbing}
.hero .globe-canvas{width:100%;height:100%;display:block;opacity:.7}

.hero .copy-overlay{position:absolute;z-index:10;left:3.5rem;right:3.5rem;bottom:calc(3.5rem + 60px);max-width:min(42rem,calc(100% - 7rem));pointer-events:none}
.hero .copy-overlay>*{pointer-events:auto}
.hero .copy-overlay .eyebrow{font-family:var(--font-mono);font-size:clamp(.66rem,1.1vw,.78rem);letter-spacing:.32em;text-transform:uppercase;color:var(--color-gold);margin-bottom:1.4rem;display:inline-flex;align-items:center;gap:.9rem}
.hero .copy-overlay .eyebrow::before{content:'';width:28px;height:1px;background:var(--color-gold)}
.hero .copy-overlay h1{font-family:var(--font-serif);font-weight:400;font-size:clamp(3rem,7vw,6.4rem);line-height:.95;letter-spacing:-0.04em;color:var(--color-base);margin-bottom:1.6rem;text-shadow:0 4px 32px rgba(0,0,0,.75);text-wrap:balance}
.hero .copy-overlay h1 em{font-style:italic;color:var(--color-gold);font-weight:400;display:block}
.hero .copy-overlay .deck{font-family:var(--font-mono);font-style:normal;font-size:clamp(.8rem,1.02vw,.95rem);line-height:1.75;letter-spacing:.01em;color:rgba(253,248,243,.82);max-width:34rem;text-shadow:0 2px 16px rgba(0,0,0,.75)}
.hero .copy-overlay .deck strong{color:var(--color-gold-light);font-weight:600}
.hero .scroll-cue{position:absolute;z-index:10;bottom:2rem;left:50%;transform:translateX(-50%);font-family:var(--font-mono);font-size:.6rem;letter-spacing:.4em;text-transform:uppercase;color:rgba(253,248,243,.5);animation:cue 2.4s var(--ease) infinite}
@keyframes cue{0%,100%{opacity:.3;transform:translate(-50%,0)}50%{opacity:.8;transform:translate(-50%,6px)}}

.hamburger{display:inline-flex;position:fixed;z-index:360;top:1.4rem;right:1.5rem;width:52px;height:52px;border-radius:50%;background:rgba(10,26,36,.72);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(200,150,62,.45);cursor:pointer;padding:0;align-items:center;justify-content:center;transition:border-color .2s var(--ease),background .2s var(--ease),transform .2s var(--ease);box-shadow:0 6px 22px rgba(0,0,0,.28)}
.hamburger:hover{border-color:var(--color-gold);background:rgba(10,26,36,.88);transform:translateY(-1px)}
.hamburger:focus-visible{outline:2px solid var(--color-gold);outline-offset:3px}
.hamburger .stack{position:relative;width:20px;height:14px}
.hamburger .stack span{position:absolute;left:0;right:0;height:1.5px;background:var(--color-gold);transition:transform .3s var(--ease),opacity .2s ease,top .3s var(--ease)}
.hamburger .stack span:nth-child(1){top:0}.hamburger .stack span:nth-child(2){top:6px}.hamburger .stack span:nth-child(3){top:12px}
.hamburger.is-open .stack span:nth-child(1){top:6px;transform:rotate(45deg)}
.hamburger.is-open .stack span:nth-child(2){opacity:0}
.hamburger.is-open .stack span:nth-child(3){top:6px;transform:rotate(-45deg)}
/* scrim behind the slide-in panel */
.menu-scrim{position:fixed;inset:0;z-index:340;background:rgba(4,10,14,.6);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .4s var(--ease)}
.menu-scrim.open{opacity:1;pointer-events:auto}

.mobile-menu{position:fixed;top:0;right:0;bottom:0;height:100%;width:min(420px,100%);z-index:350;background:radial-gradient(ellipse at 80% 12%,rgba(26,58,74,.6) 0%,transparent 62%),var(--color-teal-ink);color:var(--color-base);display:flex;flex-direction:column;transform:translateX(100%);pointer-events:none;transition:transform .42s var(--ease-out);box-shadow:-24px 0 60px rgba(0,0,0,.45);border-left:1px solid rgba(200,150,62,.22)}
.mobile-menu.open{transform:none;pointer-events:auto}
.mobile-menu .mm-top{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 5.5rem 1.5rem 1.75rem;border-bottom:1px solid rgba(200,150,62,.15)}
.mobile-menu .mm-brand{display:flex;align-items:center;gap:.65rem}
.mobile-menu .mm-brand .symbol{width:30px;height:30px;background:url("../assets/logo/symbol-gold.png") center/contain no-repeat}
.mobile-menu .mm-brand .wordmark{font-family:var(--font-serif);font-weight:400;font-size:1.55rem;letter-spacing:-0.03em;color:var(--color-base)}
.mobile-menu .mm-brand .wordmark em{font-style:italic;color:var(--color-gold)}
.mobile-menu nav{flex:1;padding:1.5rem;display:flex;flex-direction:column;overflow-y:auto}
.mobile-menu nav a{display:flex;align-items:baseline;gap:1rem;padding:.7rem 0;border-bottom:1px solid rgba(200,150,62,.15);font-family:var(--font-serif);font-weight:400;font-size:clamp(1.25rem,3.6vw,1.6rem);line-height:1.2;letter-spacing:-0.02em;color:var(--color-base);opacity:0;transform:translateY(8px);transition:opacity .4s var(--ease),transform .4s var(--ease)}
.mobile-menu nav a .num{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.22em;color:var(--color-gold);width:2.4rem;flex-shrink:0}
.mobile-menu.open nav a{opacity:1;transform:none}
.mobile-menu.open nav a:nth-child(1){transition-delay:.05s}.mobile-menu.open nav a:nth-child(2){transition-delay:.1s}.mobile-menu.open nav a:nth-child(3){transition-delay:.15s}.mobile-menu.open nav a:nth-child(4){transition-delay:.2s}.mobile-menu.open nav a:nth-child(5){transition-delay:.25s}.mobile-menu.open nav a:nth-child(6){transition-delay:.3s}.mobile-menu.open nav a:nth-child(7){transition-delay:.35s}.mobile-menu.open nav a:nth-child(8){transition-delay:.4s}.mobile-menu.open nav a:nth-child(9){transition-delay:.45s}.mobile-menu.open nav a:nth-child(10){transition-delay:.5s}
.mobile-menu .mm-foot{padding:1.25rem 1.5rem;border-top:1px solid rgba(200,150,62,.15);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(253,248,243,.5)}

/* ════════════════════════════════════════════════
   SECTIONS  (docs.thirdact.ai system)
   ════════════════════════════════════════════════ */
.section{padding:5.5rem 2rem;position:relative}
.section.cream{background:var(--color-base)}
.section.white{background:var(--color-white)}
.section.dark{background:linear-gradient(180deg,var(--color-teal-deep) 0%,var(--color-teal) 100%);color:var(--color-base)}
.container{max-width:1200px;margin:0 auto}
.prose{max-width:44rem;margin:0}

.sec-head{margin-bottom:3rem;max-width:960px}
.sec-head.centered{margin-left:auto;margin-right:auto;text-align:center}
.sec-num{font-family:var(--font-mono);font-size:0.82rem;font-weight:500;letter-spacing:0.22em;text-transform:uppercase;color:var(--color-gold);margin-bottom:1rem;display:block}
.sec-title{font-family:var(--font-serif);font-weight:700;font-size:clamp(2rem,3.6vw,2.6rem);line-height:1.15;letter-spacing:-0.015em;color:var(--color-teal);margin-bottom:1.25rem}
.section.dark .sec-title{color:var(--color-base)}
.sec-bar{display:block;width:60px;height:3px;background:var(--color-gold);border-radius:2px;margin-bottom:1.75rem}
.sec-head.centered .sec-bar{margin-left:auto;margin-right:auto}
.sec-intro{font-size:1.2rem;line-height:1.7;color:var(--color-text-light);max-width:820px}
.sec-subtitle{font-family:var(--font-serif);font-weight:400;font-style:italic;font-size:clamp(1.3rem,2.3vw,1.85rem);line-height:1.25;color:var(--color-gold-dark);margin:-0.4rem 0 1.4rem;max-width:820px}
.section.dark .sec-subtitle{color:var(--color-gold-light)}
.section.dark .sec-intro{color:rgba(253,248,243,0.88)}

h2.sub{font-family:var(--font-serif);font-weight:700;font-size:1.85rem;line-height:1.2;letter-spacing:-0.01em;color:var(--color-teal);margin:2.5rem 0 1rem}
.cols-2>div>h2.sub:first-child{margin-top:0}
.section.dark h2.sub{color:var(--color-base)}
h3.label{font-family:var(--font-sans);font-weight:600;font-size:1rem;text-transform:uppercase;letter-spacing:0.14em;color:var(--color-teal);margin:2.5rem 0 1rem}
.section.dark h3.label{color:var(--color-gold-light)}
h3.serif{font-family:var(--font-serif);font-weight:700;font-size:1.5rem;line-height:1.25;color:var(--color-teal);margin:2rem 0 1rem}
p{font-size:1.05rem;line-height:1.75;color:var(--color-text-body);margin-bottom:1rem;max-width:44rem}
.section.dark p{color:rgba(253,248,243,0.88)}
p:last-child{margin-bottom:0}
strong{font-weight:600;color:var(--color-teal)}
.section.dark strong{color:var(--color-gold)}
em{font-style:italic}
.container>p,.prose>p{max-width:44rem}

/* gold small-caps emphasis paragraph (ported from the investor-doc system) */
.gold-caps{text-transform:uppercase;color:var(--color-gold-dark);letter-spacing:0.05em;font-weight:600;line-height:1.7}

/* drop cap: fallback (no initial-letter support) */
.drop-cap::first-letter{font-family:var(--font-serif);font-weight:700;font-size:5.2rem;color:var(--color-gold);float:left;line-height:0.6;padding:0.03em 0.12em 0 0}
/* drop cap: precise, spans exactly 3 lines (top of line 1 to baseline of line 3) */
@supports (initial-letter:3) or (-webkit-initial-letter:3){
  .drop-cap::first-letter{-webkit-initial-letter:3;initial-letter:3;float:none;font-size:inherit;line-height:1;padding:0;margin-right:0.14em}
}

.accent-statement{max-width:48rem;margin:0 auto;padding:1rem 0;text-align:center}
.accent-statement p,.accent-statement h2{font-family:var(--font-serif);font-weight:700;font-size:clamp(1.7rem,3.4vw,2.3rem);line-height:1.25;letter-spacing:-0.02em;color:var(--color-teal);margin-bottom:2rem;max-width:none}
.section.dark .accent-statement p,.section.dark .accent-statement h2{color:var(--color-base)}
.accent-statement .bar{display:block;width:4rem;height:3px;background:var(--color-gold);margin:0 auto;border-radius:2px}

.pull-quote{max-width:44rem;margin:3rem auto;padding:2.5rem 2rem;text-align:center;border-top:1px solid rgba(200,150,62,0.35);border-bottom:1px solid rgba(200,150,62,0.35);position:relative}
.pull-quote::before{content:'"';font-family:var(--font-serif);font-size:4.5rem;color:var(--color-gold);opacity:0.3;display:block;line-height:0.4;margin-bottom:1rem}
.pull-quote p{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(1.69rem,3.12vw,2.21rem);line-height:1.4;color:var(--color-gold-dark);margin:0 auto;max-width:none}

.callout{border-left:4px solid var(--color-gold);background:linear-gradient(90deg,rgba(200,150,62,0.08) 0%,rgba(200,150,62,0.02) 100%);padding:1.75rem 2rem;border-radius:0 12px 12px 0;margin:1.75rem 0}
.callout .highlight-label{font-family:var(--font-mono);font-size:0.82rem;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:var(--color-gold);margin-bottom:0.6rem;display:block}
.callout p{font-size:1.05rem;color:var(--color-teal);font-weight:500;line-height:1.7;margin:0;max-width:none}
.scope-banner{background:var(--color-teal-deep);border-left:4px solid var(--color-gold);padding:1.75rem 2rem;border-radius:0 12px 12px 0;margin:2rem 0}
.scope-banner p{color:rgba(253,248,243,0.92);font-size:1rem;line-height:1.7;margin:0;max-width:none}
.scope-banner strong{color:var(--color-gold)}

/* GRIDS + CARDS */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin:1.5rem 0;grid-auto-rows:1fr}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin:1.5rem 0;grid-auto-rows:1fr}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin:1.5rem 0;grid-auto-rows:1fr}
.cols-2{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;margin:1.5rem 0;align-items:start}
/* 5-card grid: 3 wide + 2 wider, no orphan slot */
.grid-5{display:grid;grid-template-columns:repeat(6,1fr);gap:1.5rem;margin:1.5rem 0;grid-auto-rows:1fr}
.grid-5>:nth-child(-n+3){grid-column:span 2}
.grid-5>:nth-child(n+4){grid-column:span 3}
.card{background:var(--color-white);border-radius:14px;padding:1.9rem;box-shadow:0 10px 30px rgba(15,37,48,0.10);border:1px solid var(--color-rule-strong);display:flex;flex-direction:column;height:100%}
.section.cream .card:not(.dark){background:var(--color-white)}
.section.white .card:not(.dark){background:var(--color-base)}
.card.dark{background:var(--color-teal);color:var(--color-base)}
.card.illus{padding:0;overflow:hidden}
.card.illus .card-illus{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;background:var(--color-base)}
.card.illus .card-body{padding:1.6rem 1.7rem 1.75rem;display:flex;flex-direction:column;flex:1}
.card-title,.card h4{font-family:var(--font-serif);font-weight:700;font-size:1.3rem;line-height:1.3;color:var(--color-teal);margin-bottom:0.6rem;display:block}
.card.dark h4,.card.dark .card-title{color:var(--color-base)}
.card p{font-size:0.98rem;color:var(--color-text-light);line-height:1.65;margin-bottom:0;max-width:none}
.card.dark p{color:rgba(253,248,243,0.90)}
.card.dark strong{color:var(--color-gold)}

/* SOFTWARE-PARADIGM INVERSION (three-stage narrative: Current State -> PAAI -> VALIR) */
.inversion-wrap{position:relative}
.inv-stage{position:relative;max-width:1000px;margin:0 auto;padding:clamp(2rem,4vw,3rem) 0;text-align:center}
/* oversized ghost numeral behind each stage */
.inv-stage::before{content:attr(data-step);position:absolute;top:-.35em;left:50%;transform:translateX(-50%);font-family:var(--font-serif);font-weight:700;font-size:clamp(8rem,18vw,15rem);line-height:1;color:var(--color-teal);opacity:.045;pointer-events:none;z-index:0;letter-spacing:-.04em}
.inv-stage>*{position:relative;z-index:1}
.inv-badge{width:56px;height:56px;margin:0 auto 1.1rem;border-radius:50%;border:1.5px solid var(--color-gold);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:.9rem;font-weight:600;color:var(--color-gold);background:rgba(200,150,62,.06);box-shadow:0 0 0 6px rgba(200,150,62,.05)}
.inv-step{display:inline-block;font-family:var(--font-mono);font-size:.74rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--color-gold-dark);margin-bottom:.7rem}
.inv-stage h3{font-family:var(--font-serif);font-weight:700;font-size:clamp(1.7rem,3vw,2.35rem);line-height:1.12;letter-spacing:-.02em;color:var(--color-teal);margin:0 0 1.5rem;text-wrap:balance}
.inv-figure{position:relative;border-radius:16px;overflow:hidden;background:var(--color-base);border:1px solid var(--color-rule-strong);border-top:3px solid var(--color-gold);box-shadow:0 22px 54px rgba(15,37,48,.15);margin-bottom:1.6rem;transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out)}
.inv-figure:hover{transform:translateY(-5px);box-shadow:0 30px 66px rgba(15,37,48,.22)}
.inv-diagram{width:100%;display:block}
.inv-desc{font-size:1.08rem;line-height:1.75;color:var(--color-text-body);max-width:44rem;margin:0 auto}
/* animated flow connector between stages */
.inv-connector{position:relative;height:78px;display:flex;justify-content:center;align-items:center}
.inv-connector::before{content:'';position:absolute;top:0;bottom:0;width:2px;background:linear-gradient(180deg,rgba(200,150,62,0),var(--color-gold),rgba(200,150,62,0))}
.inv-connector::after{content:'';position:absolute;top:0;width:7px;height:7px;border-radius:50%;background:var(--color-gold);box-shadow:0 0 12px 2px rgba(200,150,62,.55);animation:invflow 2.6s var(--ease) infinite}
@keyframes invflow{0%{top:2px;opacity:0}18%{opacity:1}82%{opacity:1}100%{top:calc(100% - 9px);opacity:0}}
@media(prefers-reduced-motion:reduce){.inv-connector::after{animation:none;top:50%}}
/* scroll-in for each stage */
.inv-stage.reveal{opacity:0;transform:translateY(26px)}
.inv-stage.reveal.in-view{opacity:1;transform:none}

/* VALIR / SPLIT LAYOUT (text-left, full-height image-right) — shared by VALIR and the Gradient section */
.valir-band{margin-top:0;margin-bottom:clamp(2.5rem,5vw,4rem)}
.valir-split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,4.5vw,4rem);align-items:stretch}
.valir-text{display:flex;flex-direction:column}
.valir-text .sec-head{margin-bottom:1.75rem}
.valir-lead{font-family:var(--font-serif);font-weight:600;font-size:clamp(1.2rem,1.7vw,1.5rem);line-height:1.5;color:var(--color-teal);margin-bottom:1.5rem;max-width:none}
.valir-lead strong{color:var(--color-teal);font-weight:600}
.valir-text>p{max-width:none}
.valir-media{position:relative;min-height:100%;border-radius:16px;overflow:hidden;box-shadow:0 20px 50px rgba(15,37,48,0.16);border:1px solid var(--color-rule-strong);background:var(--color-base)}
.valir-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.valir-media.contain img{object-fit:contain;padding:6%}
@media(max-width:900px){
  .valir-split{grid-template-columns:1fr;gap:1.75rem}
  .valir-media{min-height:0;aspect-ratio:3/4;order:2}
  .valir-media img{position:static;height:auto;aspect-ratio:3/4}
}

/* PROMINENT DEMAND CARDS (buyers section: the three shared demands) */
.demand-grid{margin-top:clamp(1.5rem,3vw,2.5rem)}
.card.illus.prominent{border-top:3px solid var(--color-gold);border-radius:16px;box-shadow:0 18px 46px rgba(15,37,48,0.16);transition:transform .3s var(--ease-out),box-shadow .3s var(--ease-out)}
.card.illus.prominent:hover{transform:translateY(-4px);box-shadow:0 26px 56px rgba(15,37,48,0.22)}
.card.illus.prominent .card-illus{aspect-ratio:4/3}
.card.illus.prominent .card-body{padding:1.9rem 1.9rem 2.1rem;text-align:center;align-items:center}
.card.illus.prominent .card-title{font-size:1.55rem;margin-bottom:.5rem}
.card.illus.prominent p{font-size:1.05rem;color:var(--color-text-light)}
.card.illus.prominent.left .card-body{text-align:left;align-items:flex-start}

/* CAPABILITY GRID (OBLIQ sovereign-AI capability cards, gold-capped, 5-up) */
.cap-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1.1rem;margin:clamp(1.5rem,3vw,2.5rem) 0}
.cap-card{background:var(--color-white);border-radius:12px;border:1px solid var(--color-rule-strong);border-top:3px solid var(--color-gold);padding:1.5rem 1.4rem;box-shadow:0 8px 24px rgba(15,37,48,0.09);display:flex;flex-direction:column}
.cap-card h4{font-family:var(--font-serif);font-weight:700;font-size:1.15rem;line-height:1.2;color:var(--color-teal);margin:0 0 .55rem}
.cap-card p{font-size:.95rem;line-height:1.55;color:var(--color-text-light);margin:0;max-width:none}
@media(max-width:1080px){.cap-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.cap-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:460px){.cap-grid{grid-template-columns:1fr}}

/* POINT LIST */
.point-list{list-style:none;padding:0;margin:0.75rem 0 0;max-width:44rem}
.point-list li{position:relative;padding:0.85rem 0 0.85rem 1.5rem;border-bottom:1px solid rgba(26,58,74,0.08);font-size:1rem;line-height:1.65}
.point-list li:last-child{border-bottom:none}
.point-list li::before{content:'';position:absolute;left:0;top:1.35rem;width:6px;height:6px;border-radius:50%;background:var(--color-gold)}
.section.dark .point-list li{color:rgba(253,248,243,0.86);border-bottom-color:rgba(232,223,212,0.14)}
.point-list.tight li{padding:0.55rem 0}

/* BIG statement list (large, stylized) */
.big-list{list-style:none;max-width:60rem;margin:2.75rem 0 0.5rem;padding:0}
.big-list li{position:relative;padding:1.5rem 0 1.5rem 2rem;border-top:1px solid var(--color-rule-strong);font-family:var(--font-serif);font-weight:400;font-size:clamp(1.25rem,1.9vw,1.65rem);line-height:1.35;letter-spacing:-0.01em;color:var(--color-teal);max-width:none}
.big-list li:first-child{border-top:none}
.big-list li::before{content:'';position:absolute;left:0.1rem;top:calc(1.5rem + 0.425em);width:0.5em;height:0.5em;border-radius:50%;background:var(--color-gold)}
.big-list li strong{color:var(--color-gold-dark);font-weight:700}
@media(max-width:768px){.big-list li{padding-left:1.7rem}}

/* STAT CARDS */
.stat-card{background:var(--color-white);border-radius:12px;padding:1.75rem;box-shadow:0 2px 16px rgba(0,0,0,0.06);text-align:left;display:flex;flex-direction:column;min-height:100%}
.section.cream .stat-card:not(.dark){background:var(--color-white)}
.stat-card.dark{background:var(--color-teal);color:var(--color-base)}
.stat-card .stat-label{font-family:var(--font-mono);font-size:0.8rem;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;color:var(--color-muted);margin-bottom:1rem;line-height:1.3}
.stat-card .stat-value{font-family:var(--font-serif);font-weight:700;font-size:2.4rem;line-height:1.05;color:var(--color-gold-dark);margin-bottom:0.75rem;letter-spacing:-0.01em}
.stat-card .stat-value.teal{color:var(--color-teal)}
.stat-card .stat-sub{font-size:0.95rem;line-height:1.55;color:var(--color-text-light);margin-top:auto}

/* TABLES (teal header, zebra, gold accents) */
.table-wrap{overflow-x:auto;margin:1.75rem 0;border-radius:12px;box-shadow:0 2px 16px rgba(0,0,0,0.06)}
table{width:100%;border-collapse:collapse;font-size:1rem;background:var(--color-white)}
.section.white table{background:var(--color-base)}
thead tr{background:var(--color-teal)}
thead th{font-family:var(--font-sans);font-size:0.9rem;font-weight:600;color:var(--color-base);padding:1rem 1.25rem;text-align:left;letter-spacing:0.04em;white-space:nowrap}
th.c,td.c{text-align:center}
th.r,td.r{text-align:right}
tbody tr{border-bottom:1px solid var(--color-rule)}
tbody tr:last-child{border-bottom:none}
tbody tr:nth-child(even){background:rgba(232,223,212,0.18)}
tbody td{padding:0.95rem 1.25rem;font-size:1rem;color:var(--color-text-body);vertical-align:top;line-height:1.5}
td.bold{font-weight:600;color:var(--color-teal);white-space:nowrap}
td.muted{color:var(--color-muted)}
td.own{color:var(--color-gold-dark);font-family:var(--font-mono);font-weight:700;text-align:center}
td.vnd{color:var(--color-muted);font-family:var(--font-mono);text-align:center}
td.mono{font-family:var(--font-mono);font-size:0.95rem}
tr.total td{background:rgba(200,150,62,0.1);font-weight:600;border-top:2px solid var(--color-gold)}

/* SECTION IMAGE + TEXT-IMAGE */
.section-image{width:100%;border-radius:12px;margin:1.75rem 0;box-shadow:0 4px 24px rgba(0,0,0,0.08);display:block;background:var(--color-base)}
.section-image.large{max-height:540px;object-fit:cover}
.text-image{display:grid;grid-template-columns:3fr 2fr;gap:2.5rem;align-items:center;margin:2rem 0}
.text-image.top{align-items:flex-start}
.text-image.reverse{grid-template-columns:2fr 3fr}
.text-image.reverse .t-text{order:2}
.text-image.reverse .t-image{order:1}
.text-image .section-image{margin:0}
.text-image .t-text>*:first-child{margin-top:0}
/* melt image: full-height right column, feathered into the section background */
.text-image.melt{align-items:stretch}
.text-image.melt .t-image{display:flex}
.melt-img{width:100%;height:100%;min-height:380px;object-fit:cover;border-radius:0;box-shadow:none;background:transparent;
  -webkit-mask-image:radial-gradient(80% 84% at 50% 48%,#000 46%,transparent 100%);
          mask-image:radial-gradient(80% 84% at 50% 48%,#000 46%,transparent 100%)}

.text-image.fill-media{align-items:stretch}
.text-image.fill-media .t-image{display:flex;min-height:100%}
.text-image.fill-media .t-image .section-image{width:100%;height:100%;min-height:100%;object-fit:cover;margin:0}
@media(max-width:1024px){.text-image.fill-media .t-image{min-height:0}.text-image.fill-media .t-image .section-image{height:auto;min-height:0;aspect-ratio:4/3}}

/* STATEMENT (full-bleed cinematic moment) */
.statement{position:relative;overflow:hidden;background:var(--color-teal-ink);color:var(--color-base);padding:clamp(5.5rem,13vw,10rem) 2rem;isolation:isolate}
.statement-bg{position:absolute;inset:-34% 0;z-index:0}
.statement-bg img{width:100%;height:120%;object-fit:cover;opacity:.5;will-change:transform}
.statement::after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(10,26,36,.72) 0%,rgba(10,26,36,.42) 45%,rgba(10,26,36,.86) 100%)}
.statement-inner{position:relative;z-index:2;max-width:1180px;margin:0 auto;text-align:left}
.statement .sec-num{display:block;text-align:left;color:var(--color-gold-light);margin-bottom:2.8rem}
.statement-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:clamp(2.5rem,5vw,5rem);align-items:start}
.statement-lead{max-width:none;margin:0}
.statement-lead p{color:rgba(253,248,243,.84);font-size:1.05rem;line-height:1.62;margin:0 0 1rem;max-width:none}
.statement-lead p:last-child{margin-bottom:0}
.statement-main{max-width:none}
.statement-hero{font-family:var(--font-serif);font-weight:700;font-size:clamp(2rem,3.7vw,3.35rem);line-height:1.16;letter-spacing:-0.02em;color:var(--color-base);max-width:none;margin:0}
.statement-hero .hl{color:var(--color-gold)}
.statement-rule{display:block;width:64px;height:3px;background:var(--color-gold);border-radius:2px;margin:2.4rem 0 0}

/* ── 01 · Approach — full-bleed dark confrontation ── */
.approach-dark{padding:0;background:var(--color-teal-ink);color:var(--color-base);position:relative}
.approach-stage{position:relative;min-height:min(88vh,860px);display:flex;align-items:center;overflow:hidden;isolation:isolate}
.approach-bg{position:absolute;inset:0;z-index:0;overflow:hidden}
.approach-bg img{position:absolute;top:-35%;left:0;width:100%;height:170%;object-fit:cover;object-position:66% 50%;will-change:transform}
.approach-scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(6,13,19,.96) 0%,rgba(6,13,19,.9) 28%,rgba(6,13,19,.62) 50%,rgba(6,13,19,.2) 74%,rgba(6,13,19,0) 100%),linear-gradient(0deg,rgba(6,13,19,.72) 0%,rgba(6,13,19,0) 40%)}
.approach-frame{position:relative;z-index:2;width:100%;max-width:1200px;margin:0 auto;padding:clamp(4rem,8vw,7rem) 2rem}
.approach-dark .sec-num{color:var(--color-gold-light);margin-bottom:clamp(1.6rem,3vw,2.4rem)}
.approach-setup{font-family:var(--font-sans);font-size:clamp(1.05rem,1.4vw,1.32rem);line-height:1.5;color:rgba(253,248,243,.82);margin:0 0 clamp(1.4rem,2.4vw,2rem);max-width:30ch}
.approach-hero{font-family:var(--font-serif);font-weight:700;font-size:clamp(3rem,8vw,6.8rem);line-height:.96;letter-spacing:-0.035em;color:var(--color-base);margin:0 0 clamp(1.6rem,2.6vw,2.2rem);text-shadow:0 6px 44px rgba(0,0,0,.55)}
.approach-hero .hl{color:var(--color-gold);font-style:italic;font-weight:600}
.approach-tail{font-family:var(--font-sans);font-size:clamp(1.1rem,1.5vw,1.42rem);line-height:1.5;color:rgba(253,248,243,.92);font-weight:500;margin:0;max-width:34ch}
.approach-def{background:var(--color-teal-ink);padding:0 2rem clamp(5rem,8vw,7rem)}
.approach-def-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:minmax(0,0.85fr) minmax(0,1.15fr);gap:clamp(2rem,4.5vw,4.5rem);align-items:start;border-top:1px solid rgba(200,150,62,.28);padding-top:clamp(3rem,5.5vw,4.5rem)}
.approach-lead{font-family:var(--font-serif);font-weight:600;font-size:clamp(1.55rem,2.7vw,2.35rem);line-height:1.2;letter-spacing:-0.015em;color:var(--color-base);margin:0}
.approach-lead::before{content:'';display:block;width:56px;height:3px;background:var(--color-gold);border-radius:2px;margin-bottom:1.7rem}
.approach-body{font-family:var(--font-sans);font-size:clamp(1.05rem,1.3vw,1.22rem);line-height:1.62;color:rgba(253,248,243,.82);margin:0;max-width:60ch;padding-top:calc(1.7rem + 3px)}
.approach-body .approach-em{color:var(--color-gold-light);font-weight:600}
@media(max-width:860px){
  .approach-stage{min-height:auto;display:block}
  .approach-bg{position:relative;inset:auto;aspect-ratio:4/3;overflow:hidden}
  .approach-bg img{object-position:66% 50%}
  .approach-scrim{display:none}
  .approach-frame{padding:clamp(2.2rem,7vw,3rem) 1.5rem clamp(.5rem,2vw,1rem)}
  .approach-setup,.approach-tail{max-width:none}
  .approach-def{padding:clamp(2.4rem,7vw,3rem) 1.5rem clamp(3.5rem,10vw,5rem)}
  .approach-def-grid{grid-template-columns:1fr;gap:1.4rem;padding-top:clamp(2.4rem,7vw,3rem)}
  .approach-lead::before{margin-bottom:1.2rem}
  .approach-body{padding-top:0}
}
@media(max-width:820px){.statement-grid{grid-template-columns:1fr;gap:2.4rem}}

/* FULL-BLEED parallax band (breaks out of the container) */
.fullbleed{position:relative;left:50%;width:100vw;transform:translateX(-50vw);height:clamp(340px,52vh,620px);overflow:hidden;margin:clamp(2.5rem,5vw,4rem) 0;background:var(--color-teal-ink);isolation:isolate}
.fullbleed-media{position:absolute;inset:-30% 0;z-index:0}
.fullbleed-media img{width:100%;height:120%;object-fit:cover;will-change:transform}
.fullbleed::after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(10,26,36,.15),rgba(10,26,36,.5));pointer-events:none}

/* BUILD BAND — full-bleed image fused into the dark section above, bright centered title, strong parallax */
.build-band{position:relative;left:50%;width:100vw;transform:translateX(-50vw);height:clamp(440px,64vh,760px);overflow:hidden;isolation:isolate;background:var(--color-teal-ink);display:flex;flex-direction:column;align-items:center;justify-content:center;margin-bottom:clamp(1rem,3vw,2.5rem)}
.build-band-media{position:absolute;inset:-40% 0;z-index:0}
.build-band-media img{width:100%;height:180%;object-fit:cover;will-change:transform}
/* top feather fuses into the dark section above; bottom feather melts into the white section below; radial vignette lifts the centered title */
.build-band::before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(52% 34% at 50% 52%,rgba(10,26,36,.6) 0%,rgba(10,26,36,.34) 55%,rgba(10,26,36,0) 100%),linear-gradient(180deg,var(--color-teal-ink) 0%,rgba(10,26,36,.6) 12%,rgba(10,26,36,0) 34%),linear-gradient(0deg,var(--color-white) 0%,rgba(255,255,255,.35) 8%,rgba(255,255,255,0) 24%),radial-gradient(120% 92% at 50% 46%,rgba(10,26,36,0) 38%,rgba(10,26,36,.55) 100%)}
.band-num{position:relative;z-index:2;color:var(--color-base);margin-bottom:.9rem;text-shadow:0 1px 3px rgba(0,0,0,.9),0 2px 18px rgba(0,0,0,.8)}
.build-band-title{position:relative;z-index:2;font-family:var(--font-serif);font-weight:700;font-size:clamp(2.6rem,6vw,5.2rem);line-height:1.02;letter-spacing:-0.02em;text-align:center;color:var(--color-base);text-shadow:0 6px 44px rgba(0,0,0,.6);padding:0 1.5rem;margin:0;max-width:20ch;text-wrap:balance}

/* PILLAR BANDS (full-bleed alternating feature per differentiator) */
.section.pillars{padding-left:0;padding-right:0}
/* pillars zero the section gutter for full-bleed bands, so the container needs its own
   gutter below the point where the 1200px container stops providing one (keeps the
   heading flush with every other section at all widths) */
@media(max-width:1264px){.section.pillars>.container{padding-left:2rem;padding-right:2rem}}
@media(max-width:768px){.section.pillars>.container{padding-left:1.25rem;padding-right:1.25rem}}
.pillar{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;min-height:clamp(480px,64vh,700px);width:100%}
.pillar .pl-media{position:relative;overflow:hidden;background:var(--color-teal-ink)}
.pillar .pl-media img{position:absolute;top:-35%;left:0;right:0;width:100%;height:170%;object-fit:cover;will-change:transform}
.pillar .pl-text{display:flex;flex-direction:column;justify-content:center;padding:clamp(3rem,5vw,5.5rem) clamp(2rem,4vw,4rem)}
.pillar:not(.flip) .pl-text{padding-left:max(2rem,calc((100vw - 1200px)/2 + 2rem))}
.pillar.flip .pl-media{order:1}
.pillar.flip .pl-text{order:2;padding-right:max(2rem,calc((100vw - 1200px)/2 + 2rem))}
.pillar .pl-num{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--color-gold);margin-bottom:1.1rem}
.pillar .pl-title{font-family:var(--font-serif);font-weight:700;font-size:clamp(2rem,3.1vw,2.8rem);line-height:1.08;letter-spacing:-.02em;color:var(--color-teal);margin-bottom:1.4rem}
.pillar .pl-text p{color:var(--color-text-body);max-width:34rem;margin-bottom:1rem;font-size:1.05rem;line-height:1.7}
.pillar .pl-text p:last-child{margin-bottom:0}
.pillar.dark{background:var(--color-teal-deep);color:var(--color-base)}
.pillar.dark .pl-title{color:var(--color-base)}
.pillar.dark .pl-num{color:var(--color-gold-light)}
.pillar.dark .pl-text p{color:rgba(253,248,243,.86)}
.pillar.dark strong{color:var(--color-gold)}
.pl-senses{list-style:none;margin:1.4rem 0 0;padding:0;max-width:34rem}
.pl-senses li{padding:.8rem 0;font-size:1rem;line-height:1.55;border-top:1px solid var(--color-rule);color:var(--color-text-light)}
.pl-senses li:first-child{border-top:none;padding-top:0}
.pl-senses li b{color:var(--color-gold-dark);font-weight:600}
.pillar.dark .pl-senses li{border-top-color:rgba(253,248,243,.16);color:rgba(253,248,243,.86)}
.pillar.dark .pl-senses li b{color:var(--color-gold)}
@media(max-width:860px){
  .pillar{grid-template-columns:1fr;min-height:0}
  .pillar .pl-media{order:1!important;height:64vw;min-height:260px}
  .pillar .pl-text{order:2!important;padding:clamp(2.2rem,7vw,3rem) 1.25rem!important}
}

/* TIER LADDER (sovereign gradient) */
.tiers2{display:flex;flex-direction:column;gap:1rem;margin:2.5rem 0}
.tier2{display:grid;grid-template-columns:auto 1fr auto;gap:1.75rem;align-items:center;background:var(--color-white);border-radius:12px;padding:1.5rem 1.9rem;box-shadow:0 2px 16px rgba(0,0,0,.06)}
.section.white .tier2{background:var(--color-base)}
.tier2 .t2-code{font-family:var(--font-serif);font-weight:700;font-size:2.6rem;color:var(--color-gold);line-height:1}
.tier2 .t2-name{font-family:var(--font-serif);font-weight:700;font-size:1.25rem;color:var(--color-teal);margin-bottom:.25rem}
.tier2 .t2-desc{font-size:.96rem;color:var(--color-text-light);line-height:1.55;max-width:56ch}
.tier2 .t2-status{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--color-gold-dark);background:rgba(200,150,62,.1);padding:.45rem .9rem;border-radius:999px;white-space:nowrap}

/* PHOTO DRIVER (buyer class cards) */
.pc-driver{font-size:.92rem;color:var(--color-text-light);margin-bottom:.8rem;line-height:1.5;max-width:none}
.pc-driver:last-child{margin-bottom:0}
.pc-driver b{display:block;font-family:var(--font-mono);font-size:.64rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--color-gold);margin-bottom:.2rem}
.card.illus.tall .card-illus{aspect-ratio:4/5}

/* CONTACT / CLOSE */
.close{background:linear-gradient(180deg,var(--color-teal-deep) 0%,var(--color-teal-ink) 100%);color:var(--color-base);padding:6rem 2rem;text-align:center;position:relative;overflow:hidden}
.close::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 120%,rgba(200,150,62,.14),transparent 55%);pointer-events:none}
.close .inner{position:relative;z-index:2;max-width:44rem;margin:0 auto}
.close .sec-num{justify-content:center;text-align:center}
.close h2{font-family:var(--font-serif);font-weight:700;color:var(--color-base);font-size:clamp(2rem,4.5vw,3rem);line-height:1.1;margin-bottom:1.4rem;letter-spacing:-0.015em}
.close p{color:rgba(253,248,243,.86);margin:0 auto 2.4rem;max-width:34rem}
.cta{display:inline-flex;align-items:center;gap:.7rem;background:var(--color-gold);color:var(--color-teal-ink);font-family:var(--font-mono);font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;padding:1.05rem 2.1rem;border-radius:6px;transition:background .25s var(--ease),transform .25s var(--ease-out)}
.cta:hover{background:var(--color-gold-light);transform:translateY(-2px)}
.close .secondary{margin-top:2.2rem;display:flex;gap:2rem;justify-content:center;flex-wrap:wrap;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}
.close .secondary a{color:rgba(253,248,243,.7);border-bottom:1px solid rgba(200,150,62,.35);padding-bottom:.25rem}
.close .secondary a:hover{color:var(--color-gold-light)}

/* FOOTER */
.doc-footer{background:linear-gradient(180deg,var(--color-teal-deep) 0%,var(--color-teal-ink) 100%);color:rgba(253,248,243,.88);padding:clamp(3.5rem,7vw,5rem) 2rem 2rem;border-top:2px solid var(--color-gold);font-size:.95rem;line-height:1.7}
.foot-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.7fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.foot-mark{display:flex;align-items:center;gap:.8rem;margin-bottom:1.1rem}
.foot-mark .symbol{width:40px;height:40px;background:url("../assets/logo/symbol-gold.png") center/contain no-repeat;flex-shrink:0}
.foot-mark .wordmark{font-family:var(--font-serif);font-weight:400;font-size:2rem;line-height:1;letter-spacing:-.03em;color:var(--color-base)}
.foot-mark .wordmark em{font-style:italic;color:var(--color-gold)}
.foot-tag{font-family:var(--font-serif);font-style:italic;font-size:1.25rem;color:var(--color-gold-light);margin:0 0 .9rem;max-width:none}
.foot-line{color:rgba(253,248,243,.78);font-size:.98rem;line-height:1.7;margin:0;max-width:34rem}
.foot-nav{display:flex;flex-direction:column;gap:.6rem}
.foot-heading{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--color-gold);margin-bottom:.5rem}
.foot-nav a{color:rgba(253,248,243,.82);font-size:.98rem;width:fit-content;position:relative;transition:color .2s var(--ease)}
.foot-nav a:hover{color:var(--color-gold-light)}
.foot-nav a::after{content:'';position:absolute;left:0;right:100%;bottom:-2px;height:1px;background:var(--color-gold);transition:right .3s var(--ease)}
.foot-nav a:hover::after{right:0}
.foot-bottom{max-width:1200px;margin:clamp(2.5rem,5vw,3.5rem) auto 0;padding-top:1.5rem;border-top:1px solid rgba(200,150,62,.28);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(253,248,243,.7)}
.foot-bottom p{margin:0;font-size:inherit;color:inherit;max-width:none}
.doc-footer .brand{color:var(--color-gold);font-weight:600}
@media(max-width:820px){.foot-inner{grid-template-columns:1fr;gap:2.2rem}.foot-bottom{flex-direction:column;gap:.5rem}}

/* ── MICRO-INTERACTIONS ──────────────────────────────────────────────
   Scroll micro-reveals (JS adds .mi / .mi-bar so no-JS shows everything),
   plus restrained hover states. Deliberately small: sophistication is
   restraint, not motion everywhere. */
.mi{opacity:0;transform:translateY(9px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}
.mi.mi-in{opacity:1;transform:none}
/* gold rules draw themselves in rather than just appearing */
.mi-bar{transform:scaleX(0);transform-origin:left center;transition:transform .85s var(--ease-out)}
.mi-bar.mi-in{transform:scaleX(1)}
.accent-statement .bar.mi-bar{transform-origin:center}

/* illustrated cards: the artwork breathes on hover, frame stays put */
.card.illus .card-illus{transition:transform .7s var(--ease-out)}
.card.illus:hover .card-illus{transform:scale(1.045)}
/* plain and capability cards get a whisper of lift */
.card:not(.illus),.cap-card{transition:transform .35s var(--ease-out),box-shadow .35s var(--ease-out)}
.card:not(.illus):hover,.cap-card:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(15,37,48,.14)}
/* tier ladder: lift with a gold edge that slides in */
.tier2{position:relative;transition:transform .35s var(--ease-out),box-shadow .35s var(--ease-out)}
.tier2::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--color-gold);border-radius:2px 0 0 2px;transform:scaleY(0);transform-origin:top;transition:transform .4s var(--ease-out)}
.tier2:hover{transform:translateX(4px);box-shadow:0 12px 30px rgba(15,37,48,.12)}
.tier2:hover::before{transform:scaleY(1)}
/* table rows respond to the cursor */
tbody tr{transition:background .25s var(--ease)}
tbody tr:hover{background:rgba(200,150,62,.07)}
/* menu links ease sideways toward the number */
.mobile-menu nav a{transition:opacity .4s var(--ease),transform .4s var(--ease),color .25s var(--ease),padding-left .3s var(--ease)}
.mobile-menu.open nav a:hover{color:var(--color-gold-light);padding-left:.5rem}
/* big-list bullets pulse gold on hover */
.big-list li{transition:color .3s var(--ease)}
.big-list li::before{transition:transform .35s var(--ease-out),background .3s var(--ease)}
.big-list li:hover::before{transform:scale(1.5)}
@media(prefers-reduced-motion:reduce){
  .mi,.mi-bar{opacity:1;transform:none;transition:none}
  .card.illus:hover .card-illus,.card:not(.illus):hover,.cap-card:hover,.tier2:hover{transform:none}
}

/* SPLIT-FLAP HEADLINE REVEAL (departure-board letter cycling on scroll) */
.fw{white-space:nowrap}
.fc{display:inline-block;text-align:center}
.fc.cycling{opacity:.82}
.fc.settled{animation:flapSettle .2s var(--ease-out)}
@keyframes flapSettle{0%{transform:translateY(-.06em) scaleY(.86);opacity:.7}100%{transform:none;opacity:1}}

/* REVEAL */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out);-webkit-backface-visibility:hidden;backface-visibility:hidden}
.reveal.in-view{opacity:1;transform:translateZ(0)}
/* subtle staged card entry on scroll: slides down from top, slow ease-in, uniform on every card
   (JS adds .will-reveal so no-JS shows cards normally; animation, not transition, so it never fights hover) */
.will-reveal{opacity:0;transform:translateY(-50px)}
.will-reveal.is-in{opacity:1;transform:none;animation:cardIn .41s ease-in both}
@keyframes cardIn{from{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.will-reveal,.will-reveal.is-in{opacity:1;transform:none;animation:none}}

/* RESPONSIVE */
@media(max-width:1024px){
  .grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}
  .grid-5{grid-template-columns:repeat(2,1fr)}
  .grid-5>:nth-child(-n+3),.grid-5>:nth-child(n+4){grid-column:auto}
  .grid-5>:nth-child(5){grid-column:1 / -1}
  .text-image,.text-image.reverse{grid-template-columns:1fr;gap:1.5rem}
  .text-image.reverse .t-text{order:1}.text-image.reverse .t-image{order:2}
  .text-image.melt .melt-img{height:auto;aspect-ratio:4/5;min-height:0}
}
@media(max-width:820px){
  .hero .brand-block{top:1.4rem;left:1.5rem;gap:.65rem}
  .hero .brand-block .symbol{width:32px;height:32px}
  .hero .brand-block .wordmark{font-size:1.55rem}
  .hero .crosshair{width:18px;height:18px}
  .hero .crosshair.tl,.hero .crosshair.tr{top:1rem}.hero .crosshair.bl,.hero .crosshair.br{bottom:1rem}
  .hero .crosshair.tl,.hero .crosshair.bl{left:1rem}.hero .crosshair.tr,.hero .crosshair.br{right:1rem}
  .hero .crosshair.tl::before,.hero .crosshair.tr::before,.hero .crosshair.bl::before,.hero .crosshair.br::before{width:10px}
  .hero .crosshair.tl::after,.hero .crosshair.tr::after,.hero .crosshair.bl::after,.hero .crosshair.br::after{height:10px}
  .hero .copy-overlay{left:1.5rem;right:1.5rem;bottom:3.5rem}
  .hero .copy-overlay h1{font-size:clamp(2.4rem,11vw,3.6rem)}
  .hero .copy-overlay .deck{font-size:.95rem;max-width:100%}
  .hero .scroll-cue{display:none}
}
@media(max-width:768px){
  html{font-size:15px}
  .section{padding:3.5rem 1.25rem}
  .grid-2,.grid-3,.grid-4,.cols-2,.grid-5{grid-template-columns:1fr}
  .grid-2,.grid-3,.grid-4,.grid-5{grid-auto-rows:auto}
  .grid-5>:nth-child(5){grid-column:auto}
  .tier2{grid-template-columns:auto 1fr;gap:1rem 1.25rem}
  .tier2 .t2-status{grid-column:2;justify-self:start;margin-top:.3rem}
  .drop-cap::first-letter{font-size:3.5rem}
}
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none;transition:none}
  .hero .scroll-cue{animation:none}
}
