/* ═══════════════════════════════════════════════
   EDITH · SECTION³ · $200K+ 3D Homepage
   Concept: The Architectural Section — you descend
   through a building's cross-section as you scroll.
   Three.js for hero/services/closing 3D scenes.
   CSS 3D for brand + projects spatial depth.
   ═══════════════════════════════════════════════ */
:root{
  --ink:#fff;--tint:255,255,255;--void-rgb:5,7,10;--s0-rgb:11,15,20;--s1-rgb:17,21,26;--shade:0,0,0;--gold-rgb:197,160,89;
  --gold-hi:#d8b26c;--gold-hi2:#e6c67f;--gold-hov:#d4b06a;
  --void:#05070A;--ground:#0A0D11;--s1:#11151A;--s2:#171C23;--s3:#1E2430;
  --gold:#C5A059;--gd:#8B6A2B;--gg:rgba(197,160,89,.10);--gl:rgba(197,160,89,.18);
  --ln:rgba(255,255,255,.06);--lm:rgba(255,255,255,.11);
  --w95:rgba(255,255,255,.95);--w70:rgba(255,255,255,.70);
  --w45:rgba(255,255,255,.45);--w22:rgba(255,255,255,.22);--w10:rgba(255,255,255,.10);
  --green:rgba(74,222,128,.9);
  --fd:'Space Grotesk',sans-serif;--fb:'IBM Plex Sans',sans-serif;--fm:'IBM Plex Mono',monospace;
  --W:1360px;--gut:clamp(1.5rem,5vw,4rem);
  --ease:cubic-bezier(.22,1,.36,1);--eio:cubic-bezier(.4,0,.2,1);
}
@media(prefers-reduced-motion:reduce){*,::before,::after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth}
body{background:var(--void);color:var(--w95);font-family:var(--fb);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button{cursor:pointer;font-family:inherit}
h1,h2,h3,h4{font-family:var(--fd);line-height:1.05;letter-spacing:-.03em}
p{max-width:64ch}
.wrap{max-width:var(--W);margin-inline:auto;padding-inline:var(--gut)}
.skip{position:absolute;left:-9999px;top:1rem;z-index:9999;background:var(--gold);color:var(--void);padding:.5rem 1rem;font-weight:700;font-size:.8rem}
.skip:focus{left:1rem}
.nav>ul>li>a,.nav>ul>li>button,.hlang{white-space:nowrap}
@media(max-width:1000px){.nav>ul>li>a,.nav>ul>li>button{padding-inline:.55rem}.hbar{gap:1rem}}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* ── BUTTONS ── */
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--fd);font-size:.875rem;font-weight:500;letter-spacing:-.01em;padding:.75rem 1.5rem;border:1px solid transparent;white-space:nowrap;transition:background .25s var(--ease),border-color .25s var(--ease),color .25s var(--ease),transform .2s var(--ease)}
.btn:hover{transform:translateY(-1px)}
.btn-gold{background:var(--gold);color:var(--void);border-color:var(--gold)}
.btn-gold:hover{background:var(--gold-hov);border-color:var(--gold-hov)}
.btn-outline{background:transparent;color:var(--w95);border-color:var(--lm)}
.btn-outline:hover{border-color:var(--gl);color:var(--gold)}
.btn-ghost{background:transparent;color:var(--w45);border:0;padding-inline:0;transform:none}
.btn-ghost:hover{color:var(--w95)}

/* ── SECTION LABEL ── */
.slbl{font-family:var(--fm);font-size:.72rem;letter-spacing:.12em;color:var(--gold);display:flex;align-items:center;gap:12px;margin-bottom:1.5rem}
.slbl::before{content:'';width:22px;height:1px;background:var(--gd);flex-shrink:0}

/* ── REVEAL ── */
[data-rv]{opacity:0;transform:translateY(18px);transition:opacity .65s var(--ease),transform .65s var(--ease)}
[data-rv].vis{opacity:1;transform:none}
[data-rv][data-d="1"]{transition-delay:.1s}[data-rv][data-d="2"]{transition-delay:.22s}
[data-rv][data-d="3"]{transition-delay:.34s}[data-rv][data-d="4"]{transition-delay:.46s}

/* ── HEADER ── */
.hdr{position:fixed;top:0;left:0;right:0;z-index:300;padding-block:1.4rem;border-bottom:1px solid transparent;transition:background .3s var(--ease),padding .3s var(--ease),border-color .3s var(--ease),transform .45s var(--ease)}
.hdr.hide{transform:translateY(-110%)}
.hdr.cond{padding-block:.85rem;background:rgba(var(--void-rgb),.9);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom-color:var(--ln)}
.hbar{display:flex;align-items:center;justify-content:space-between;gap:2rem}
.logo{font-family:var(--fd);font-weight:700;font-size:1.1rem;letter-spacing:.05em;color:var(--ink);flex-shrink:0}
.logo .dot{color:var(--gold)}
.logo-img{display:flex;align-items:center;line-height:0}
.logo-img img{height:42px;width:auto;transition:height .3s var(--ease)}
.hdr.cond .logo-img img{height:34px}
@media(max-width:720px){.logo-img img{height:34px}.hdr.cond .logo-img img{height:30px}}
.nav>ul{display:flex;align-items:center}
.nav>ul>li{position:relative}
.nav>ul>li>a,.nav>ul>li>button{background:none;border:0;font-family:var(--fb);font-size:.82rem;font-weight:500;color:var(--w45);padding:.5rem .9rem;display:flex;align-items:center;transition:color .2s;position:relative}
.nav>ul>li>a::after,.nav>ul>li>button::after{content:'';position:absolute;bottom:0;left:.9rem;right:.9rem;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .2s var(--ease)}
.nav>ul>li>a:hover,.nav>ul>li>button:hover{color:var(--ink)}
.nav>ul>li>a:hover::after,.nav>ul>li>button:hover::after{transform:scaleX(1)}
.nav li.open>button{color:var(--gold)}
.nav li.open>button::after{transform:scaleX(1)}
.dd{position:absolute;top:calc(100%+10px);left:0;min-width:220px;background:var(--s1);border:1px solid var(--lm);padding:.5rem;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .18s,transform .18s var(--ease)}
.nav li.open .dd{opacity:1;pointer-events:auto;transform:none}
.dd a{display:block;padding:.5rem .75rem;font-size:.82rem;color:var(--w45);transition:color .15s,background .15s}
.dd a:hover{color:var(--ink);background:var(--s2)}
.hact{display:flex;align-items:center;gap:.75rem}
.hlang{background:none;border:1px solid var(--ln);color:var(--w45);font-family:var(--fm);font-size:.7rem;letter-spacing:.06em;padding:.4rem .7rem;transition:border-color .2s,color .2s}
.hlang:hover{border-color:var(--gl);color:var(--w95)}
.ntog{display:none;background:none;border:0;width:36px;height:36px;flex-direction:column;justify-content:center;align-items:center;gap:5px;flex-shrink:0}
.ntog span{display:block;width:22px;height:1.5px;background:var(--w95);transform-origin:center;transition:transform .25s var(--ease),opacity .2s}
.ntog.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.ntog.open span:nth-child(2){opacity:0}
.ntog.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

/* ── FOOTER ── */
/* ── FOOTER ─ one-viewport scene ───────────────────────────────────────────
   Palette is lifted straight from the logo: blue #32617F · green #84BA6F.
   The top edge is the house's gable; the two halves are cut by the same slit as the mark. */
.ft{--f-blue:#32617F;--f-green:#84BA6F;--f-ink:#0E2230;--f-band:#1A3A4F;--f-abyss:#0F2432;--f-hi:#B4E0A3;--rise:clamp(28px,4.4vw,72px);--slit:6px;position:relative;display:flex;flex-direction:column;color:#fff}
@media(min-width:1000px) and (min-height:600px){.ft{min-height:100svh}}
.ft a:focus-visible{outline-color:#fff}
.ft svg{display:block}
.ft-top{flex:1 1 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:var(--slit)}
.ft-a,.ft-b{display:flex;flex-direction:column;justify-content:space-between;gap:clamp(2rem,5vh,3.5rem);padding-top:calc(var(--rise) + clamp(1.75rem,4.5vh,3.25rem));padding-bottom:clamp(2rem,5vh,3.5rem)}
.ft-a{background:var(--f-blue);clip-path:polygon(0 var(--rise),100% 0,100% 100%,0 100%);padding-left:max(var(--gut),calc(100% + 3px - var(--W)/2 + var(--gut)));padding-right:clamp(2rem,4vw,4.5rem)}
.ft-b{background:var(--f-green);color:var(--f-ink);clip-path:polygon(0 0,100% var(--rise),100% 100%,0 100%);padding-left:clamp(2rem,4vw,4.5rem);padding-right:max(var(--gut),calc(100% + 3px - var(--W)/2 + var(--gut)))}
.ft-logo{display:inline-block;line-height:0}
.ft-logo img{height:clamp(60px,min(8vw,11vh),100px);width:auto}
.ft-tl{font-family:var(--fd);font-size:clamp(1.2rem,min(2vw,3.6vh),1.75rem);line-height:1.36;letter-spacing:-.018em;color:rgba(255,255,255,.82);max-width:26ch}
.ft-tl strong{color:#fff;font-weight:600}
.ft-cta{display:inline-flex;align-items:center;gap:.75rem;margin-top:clamp(1rem,3vh,1.75rem);padding:.85rem 1.35rem;background:#fff;color:var(--f-ink);font-family:var(--fd);font-size:.9rem;font-weight:600;letter-spacing:-.01em;transition:background .25s var(--ease),gap .3s var(--ease)}
.ft-cta svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:square}
.ft-cta:hover{background:var(--f-hi);gap:1.1rem}
.ft-eye{font-family:var(--fm);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:rgba(14,34,48,.72);margin-bottom:.9rem}
.ft-tels{border-top:1px solid rgba(14,34,48,.3)}
.ft-tels li{border-bottom:1px solid rgba(14,34,48,.3)}
.ft-tel{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-inline:-1rem;padding:clamp(.6rem,1.8vh,1rem) 1rem;font-family:var(--fd);font-size:clamp(1.6rem,min(2.9vw,5.4vh),3.1rem);font-weight:600;line-height:1.1;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--f-ink);transition:background .25s var(--ease),color .25s var(--ease)}
.ft-tel .num{display:flex;align-items:baseline}
.ft-tel .cc{font-size:.52em;font-weight:500;letter-spacing:0;margin-right:.6em;opacity:.7}
.ft-tel .ar{width:clamp(16px,1.5vw,22px);height:clamp(16px,1.5vw,22px);flex:none;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:square;opacity:.55;transition:transform .3s var(--ease),opacity .25s}
.ft-tel .dg{position:relative;isolation:isolate;margin-inline:.04em;padding:0 .1em;font-weight:700;color:var(--f-green);transition:color .25s}
.ft-tel .dg::before{content:'';position:absolute;inset:0;z-index:-1;background:var(--f-ink);transform-origin:left;transition:background-color .25s}
.ft-tel:hover{background:var(--f-ink);color:var(--f-green)}
.ft-tel:hover .dg{color:var(--f-ink)}
.ft-tel:hover .dg::before{background:var(--f-green)}
.ft-tel:hover .ar{opacity:1;transform:translate(3px,-3px)}
.ft-meta{display:grid;grid-template-columns:auto 1fr;gap:1.5rem clamp(2rem,4vw,3.5rem)}
.ft-meta .ft-eye{margin-bottom:.5rem}
.ft-meta a,.ft-meta address{font-style:normal;font-size:.95rem;line-height:1.55;color:var(--f-ink)}
.ft-meta a{font-weight:500;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.ft-meta a:hover{text-decoration-thickness:2px}
.ft-band{background:var(--f-band)}
.ft-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1.5rem,4vw,4rem);padding-block:clamp(1.75rem,4.2vh,3rem)}
.ft-c{border-top:1px solid rgba(255,255,255,.22);padding-top:1.1rem}
.ft-c h3{font-family:var(--fm);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--f-green);margin-bottom:1rem}
.ft-c ul{display:flex;flex-direction:column;gap:.5rem}
.ft-c ul a{font-size:.88rem;line-height:1.4;color:rgba(255,255,255,.84);transition:color .2s}
.ft-c ul a:hover{color:var(--f-hi)}
.ft-c .ft-soc{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid rgba(255,255,255,.2);border-left:1px solid rgba(255,255,255,.2)}
.ft-c .ft-soc a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;aspect-ratio:1/.8;border-right:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2);font-family:var(--fm);font-size:.58rem;letter-spacing:.07em;text-transform:uppercase;line-height:1;color:rgba(255,255,255,.82);transition:background .2s,color .2s}
.ft-c .ft-soc a:hover{background:var(--f-green);color:var(--f-ink)}
.ft-soc svg{width:18px;height:18px;fill:currentColor}
.ft-legal{background:var(--f-abyss)}
.ft-l{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem 2.5rem;padding-block:1.2rem;font-family:var(--fm);font-size:.66rem;letter-spacing:.04em;color:rgba(255,255,255,.62)}
.ft-l div{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1.75rem}
.ft-l a{color:rgba(255,255,255,.62);transition:color .2s}
.ft-l a:hover{color:#fff}
@media(min-width:1000px) and (max-height:820px){
  .ft{--rise:clamp(22px,3.2vw,46px)}
  .ft-a,.ft-b{gap:1.5rem;padding-top:calc(var(--rise) + 1.25rem);padding-bottom:1.5rem}
  .ft-logo img{height:clamp(52px,9vh,70px)}
  .ft-tl{font-size:clamp(1.1rem,3.2vh,1.4rem)}
  .ft-cta{margin-top:1rem;padding:.7rem 1.2rem}
  .ft-tel{padding-block:.5rem}
  .ft-cols{padding-block:1.3rem}
  .ft-c{padding-top:.9rem}.ft-c h3{margin-bottom:.8rem}
  .ft-c ul{gap:.4rem}
  .ft-c .ft-soc a{aspect-ratio:1/.7}
  .ft-l{padding-block:.85rem}
}
@media(max-width:1500px){.ft-l{padding-right:calc(var(--gut) + 3.5rem)}}
@media(max-width:900px){
  .ft{--rise:clamp(26px,7vw,48px)}
  .ft-top{grid-template-columns:1fr;column-gap:0;row-gap:var(--slit)}
  .ft-a{clip-path:polygon(0 var(--rise),50% 0,100% var(--rise),100% 100%,0 100%);padding:calc(var(--rise) + 2.25rem) var(--gut) 2.5rem}
  .ft-b{clip-path:none;padding:2.5rem var(--gut)}
  .ft-tel{font-size:clamp(1.6rem,6.6vw,2.6rem)}
  .ft-cols{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:2.5rem}
}
@media(max-width:560px){.ft-c .ft-soc{grid-template-columns:repeat(2,minmax(0,1fr))}.ft-c .ft-soc a{aspect-ratio:1/.72}}
@media(max-width:560px){.ft-meta{grid-template-columns:1fr}}
/* entrance — only when JS is present; the footer is fully visible without it */
.ft-anim .ft-a,.ft-anim .ft-b{opacity:0;transform:translateY(36px);transition:opacity .8s var(--ease),transform 1.1s var(--ease)}
.ft-anim .ft-b{transition-delay:.12s}
.ft-anim .ft-band,.ft-anim .ft-legal{opacity:0;transition:opacity .9s var(--eio) .45s}
.ft-anim.in .ft-a,.ft-anim.in .ft-b,.ft-anim.in .ft-band,.ft-anim.in .ft-legal{opacity:1;transform:none}
.ft-anim:not(.in) .dg::before{transform:scaleX(0)}
.ft-anim:not(.in) .dg{color:var(--f-ink)}
.ft-anim.in .dg::before{animation:dgWipe .55s var(--ease) .95s backwards}
.ft-anim.in .dg{animation:dgTxt .3s linear 1.05s backwards}
@keyframes dgWipe{from{transform:scaleX(0)}}
@keyframes dgTxt{from{color:var(--f-ink)}}
@media(prefers-reduced-motion:reduce){.ft-anim .ft-a,.ft-anim .ft-b,.ft-anim .ft-band,.ft-anim .ft-legal{opacity:1;transform:none;transition:none}.ft-anim .dg::before{transform:none!important;animation:none!important}.ft-anim .dg{color:var(--f-green)!important;animation:none!important}}


/* ── WA FAB ── */
.wa-fab{position:fixed;bottom:2rem;right:2rem;z-index:100;width:52px;height:52px;background:#25D366;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 20px rgba(var(--shade),.4);transition:transform .2s var(--ease),box-shadow .2s}
.wa-fab:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(var(--shade),.5)}

/* ── RESPONSIVE ── */
@media(max-width:1100px){
  .s06-triptych{grid-template-columns:1fr}
  .s06-div{display:none}
  .s06-panel{border-bottom:1px solid var(--ln)}
}
@media(max-width:900px){
  .s02-layout{grid-template-columns:1fr;gap:3rem}
  .s02-div{display:none}
  .s02-proof{grid-template-columns:1fr 1fr}
  .s04-main{width:100%}
  .s04-card{position:static;width:100%;transform:none!important;margin:2rem var(--gut) clamp(3rem,6vh,5rem);backdrop-filter:none;background:rgba(var(--s0-rgb),.92)}
  .s04-feature{flex-direction:column;justify-content:flex-start}
  .s04-sec{grid-template-columns:1fr}
  .s07-grid{grid-template-columns:1fr;gap:3rem}
  .s07-div{display:none}
  #s01{padding-top:6.25rem}
  .hero-grid{grid-template-columns:1fr;gap:2.75rem}
  .hero-content{max-width:none}
  .stage-frame{aspect-ratio:4/3.1;max-height:60svh}
  .scue{display:none}
  .hero-content>*{order:5}.hero-content>.hero-eye{order:0}.hero-content>h1{order:1}.hero-content>.hero-cta{order:2;margin-bottom:2rem}.hero-content>.chips-lbl{order:3}.hero-content>.chips{order:4}
  .s03-wrap{grid-template-columns:1fr;gap:2.25rem}
  .feat-stage{height:clamp(230px,38vw,320px)}
}
@media(max-width:720px){
  .nav{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:var(--void);z-index:190;padding:6rem var(--gut) 3rem;overflow-y:auto}
  .nav.open{display:block}
  .nav>ul{flex-direction:column;gap:0}
  .nav>ul>li>a,.nav>ul>li>button{font-size:1.1rem;padding:.85rem 0;color:var(--w70)}
  .nav .dd{position:static;opacity:1;pointer-events:auto;transform:none;background:none;border:0;padding-left:1rem;display:none}
  .nav li.open .dd{display:block}
  .ntog{display:flex}
  .hact .btn{display:none}
  .hlang{display:none}
  #s01 h1{font-size:clamp(3.2rem,15vw,5.5rem)}
  .stage-frame{aspect-ratio:1/.95;max-height:none}
  .stage-tag{font-size:.56rem}
  .sp-num{display:none}
  .s03-btns{gap:.4rem}
  .sb{padding:.25rem .25rem .6rem}
  .sb-meta{flex-direction:column;gap:.1rem;padding:0 .3rem}
  .sb-nm{font-size:.74rem}.sb-a{display:none}
  .feat-stage{height:250px;margin-bottom:1.75rem}
  .sp-stat strong{font-size:1.6rem}
  .s02-proof{grid-template-columns:1fr 1fr}
  .s04-card{width:calc(100% - 2*var(--gut))}
  .sp-stats{flex-wrap:wrap;gap:1.5rem}
}
@media(max-width:480px){
  .chips{gap:.35rem}
  .chip{font-size:.65rem;padding:.5rem .65rem;gap:.55rem}
  .s02-proof{grid-template-columns:1fr}
  .proof-card:hover{transform:none}
}

/* ══ THEME: light ═════════════════════════════════════════════════════
   Warm ivory + ink. The footer keeps its brand blue/green in both themes. */
html[data-theme="light"]{
  color-scheme:light;
  --void:#F6F2E9;--ground:#EFEADD;--s1:#FBF8F1;--s2:#F1ECE0;--s3:#E6DFCE;
  --gold:#8A6420;--gd:#B08D4A;--gg:rgba(138,100,32,.10);--gl:rgba(138,100,32,.22);
  --ln:rgba(24,32,42,.10);--lm:rgba(24,32,42,.18);
  --w95:rgba(20,28,38,.96);--w70:rgba(20,28,38,.76);--w45:rgba(20,28,38,.60);--w22:rgba(20,28,38,.38);--w10:rgba(20,28,38,.10);
  --green:rgba(21,122,64,.95);
  --ink:#141C26;--tint:20,28,38;--void-rgb:246,242,233;--s0-rgb:251,248,241;--s1-rgb:255,255,255;--shade:70,52,20;--gold-rgb:138,100,32;
  --gold-hi:#74531A;--gold-hi2:#664914;--gold-hov:#9C7326;
}
html[data-theme="light"] .vp-m.iso img,html[data-theme="light"] .vp-m.map img{mix-blend-mode:multiply;filter:invert(1) hue-rotate(180deg) contrast(1.05)}
html[data-theme="light"] .btn-gold{color:#fff}
html[data-theme="light"] .btn-gold:hover{color:#fff}
/* logo swap */
.logo-img .lg-light{display:none}
html[data-theme="light"] .logo-img .lg-dark{display:none}
html[data-theme="light"] .logo-img .lg-light{display:block}
/* theme toggle */
.tt{position:relative;display:flex;align-items:center;justify-content:space-between;flex:none;width:56px;height:30px;padding:0 6px;background:var(--s1);border:1px solid var(--lm);transition:border-color .2s}
.tt:hover{border-color:var(--gd)}
.tt-k{position:absolute;top:3px;left:3px;width:22px;height:22px;background:var(--gold);transition:transform .35s var(--ease)}
html[data-theme="dark"] .tt-k,:root:not([data-theme]) .tt-k{transform:translateX(26px)}
.tt-i{position:relative;z-index:1;width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;color:var(--w45);transition:color .25s}
html[data-theme="light"] .tt-sun,html[data-theme="dark"] .tt-moon,:root:not([data-theme]) .tt-moon{color:var(--void)}
html[data-theme="light"] .tt-sun{color:#fff}
/* smooth cross-fade only while switching */
html.theme-anim *,html.theme-anim *::before,html.theme-anim *::after{transition:background-color .35s ease,color .35s ease,border-color .35s ease,fill .35s ease,stroke .35s ease,box-shadow .35s ease,filter .35s ease!important}

/* ══════════════════════════════════════════════════════════════════
   EDITH LIGHT THEME — PREMIUM ARCHITECTURAL  (isolated; dark untouched)
   Material language: warm paper · limestone · graphite · champagne metal
   ══════════════════════════════════════════════════════════════════ */
/* Light — Tokens */
html[data-theme="light"]{
  --void:#F4F1E9;--ground:#ECE8DE;--s1:#FAF8F3;--s2:#F0ECE3;--s3:#E4DED2;
  --ink:#171B20;--tint:23,27,32;--void-rgb:244,241,233;--s0-rgb:250,248,243;--s1-rgb:250,248,243;--shade:48,38,22;--gold-rgb:140,106,43;
  --gold:#8C6A2B;--gd:#B3945B;--gg:rgba(140,106,43,.08);--gl:rgba(140,106,43,.26);
  --gold-hi:#7A5C24;--gold-hi2:#6A4F1E;--gold-hov:#A98443;
  --ln:rgba(23,27,32,.11);--lm:rgba(23,27,32,.19);
  --w95:rgba(23,27,32,.95);--w70:rgba(23,27,32,.76);--w45:rgba(23,27,32,.62);--w22:rgba(23,27,32,.34);--w10:rgba(23,27,32,.10);
}
html[data-theme="light"] ::selection{background:rgba(140,106,43,.25);color:var(--ink)}
html[data-theme="light"] canvas{filter:none}
html[data-theme="light"] input,html[data-theme="light"] select,html[data-theme="light"] textarea{background:var(--s1);color:var(--ink);border-color:var(--lm)}
html[data-theme="light"] input:focus-visible,html[data-theme="light"] select:focus-visible,html[data-theme="light"] textarea:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

/* Light — Buttons: champagne primary, graphite-ruled secondary */
html[data-theme="light"] .btn-gold{background:#C4A468;border-color:#C4A468;color:#171B20}
html[data-theme="light"] .btn-gold:hover{background:#171B20;border-color:#171B20;color:#F4F1E9}
html[data-theme="light"] .btn-outline{border-color:rgba(23,27,32,.45);color:var(--ink)}
html[data-theme="light"] .btn-outline:hover{border-color:var(--ink);background:rgba(23,27,32,.045);color:var(--ink)}
html[data-theme="light"] .btn:hover{transform:translateY(-1px)}
html[data-theme="light"] .btn-ghost:hover{color:var(--ink)}

/* Light — Header */
html[data-theme="light"] .hdr.cond{background:rgba(244,241,233,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom-color:var(--lm)}
html[data-theme="light"] .nav>ul>li>a,html[data-theme="light"] .nav>ul>li>button{color:var(--w70)}
html[data-theme="light"] .nav>ul>li>a:hover,html[data-theme="light"] .nav>ul>li>button:hover,html[data-theme="light"] .nav li.open>button{color:var(--ink)}
html[data-theme="light"] .dd{background:var(--s1);border-color:var(--lm);box-shadow:0 14px 28px -18px rgba(23,27,32,.35)}
html[data-theme="light"] .hlang{border-color:var(--lm);color:var(--w70)}
html[data-theme="light"] .tt{background:var(--s1);border-color:var(--lm)}
html[data-theme="light"] .tt-k{background:#171B20}
html[data-theme="light"] .tt-sun{color:#F4F1E9}
html[data-theme="light"] .tt-moon{color:var(--w45)}

/* Light — Hero */
html[data-theme="light"] #s01{background:var(--void)}
html[data-theme="light"] #s01::before{background:
  radial-gradient(55% 60% at 76% 62%,rgba(255,252,244,.9),transparent 72%),
  linear-gradient(rgba(23,27,32,.045) 1px,transparent 1px) 0 0/64px 64px,
  linear-gradient(90deg,rgba(23,27,32,.045) 1px,transparent 1px) 0 0/64px 64px}
html[data-theme="light"] .hero-eye::before,html[data-theme="light"] .slbl::before,html[data-theme="light"] .sp-eye::before{background:var(--gd)}
html[data-theme="light"] #s01 h1 .w.g{animation-name:growFillGold}
@keyframes growFillGold{to{color:var(--gold);-webkit-text-stroke-width:0}}
html[data-theme="light"] .chips-lbl::before{background:var(--gd)}
html[data-theme="light"] .chip{background:rgba(250,248,243,.72);border-color:var(--lm);color:var(--w70);box-shadow:0 1px 0 rgba(23,27,32,.05)}
html[data-theme="light"] .chip::before{background:linear-gradient(90deg,rgba(140,106,43,.13),transparent 85%)}
html[data-theme="light"] .chip:hover,html[data-theme="light"] .chip:focus-visible,html[data-theme="light"] .chip.on{scale:1;transform:translateY(-2px);background:var(--s1);border-color:var(--ink);color:var(--ink);box-shadow:0 8px 14px -10px rgba(23,27,32,.4)}
html[data-theme="light"] .chip svg{stroke:var(--ink)}
html[data-theme="light"] .hero-note::before{border-radius:0;background:var(--gd)}

/* Light — Hero 3D stage: drafting crop marks + soft ground tone (scene itself is re-lit in JS) */
html[data-theme="light"] .stage-frame{background:radial-gradient(60% 22% at 50% 86%,rgba(23,27,32,.075),transparent 72%)}
html[data-theme="light"] .stage-frame::before{--m:rgba(23,27,32,.38);content:'';position:absolute;inset:-10px;z-index:0;pointer-events:none;background:
  linear-gradient(var(--m),var(--m)) 0 0/16px 1px no-repeat,linear-gradient(var(--m),var(--m)) 0 0/1px 16px no-repeat,
  linear-gradient(var(--m),var(--m)) 100% 0/16px 1px no-repeat,linear-gradient(var(--m),var(--m)) 100% 0/1px 16px no-repeat,
  linear-gradient(var(--m),var(--m)) 0 100%/16px 1px no-repeat,linear-gradient(var(--m),var(--m)) 0 100%/1px 16px no-repeat,
  linear-gradient(var(--m),var(--m)) 100% 100%/16px 1px no-repeat,linear-gradient(var(--m),var(--m)) 100% 100%/1px 16px no-repeat}
html[data-theme="light"] .stage-key li.on{color:var(--ink)}

/* Light — Section 02: editorial proof grid */
html[data-theme="light"] #s02{background:var(--s1)}
html[data-theme="light"] .s02-floor{background-image:repeating-linear-gradient(90deg,rgba(23,27,32,.06) 0 1px,transparent 1px 80px),repeating-linear-gradient(0deg,rgba(23,27,32,.06) 0 1px,transparent 1px 80px);background-color:transparent}
html[data-theme="light"] .s02-col{background:var(--ln)}
html[data-theme="light"] .s02-div{background:var(--lm)}
html[data-theme="light"] .proof-card{background:var(--s1);border-color:var(--lm);box-shadow:0 1px 0 rgba(23,27,32,.05),0 10px 18px -16px rgba(23,27,32,.3)}
html[data-theme="light"] .proof-card:nth-child(2),html[data-theme="light"] .proof-card:nth-child(3){background:transparent;box-shadow:none}
html[data-theme="light"] .proof-card:nth-child(3){background:var(--s2)}
html[data-theme="light"] .proof-card:hover{transform:translateY(-2px);box-shadow:0 12px 20px -16px rgba(23,27,32,.4)}
html[data-theme="light"] .proof-card::before{background:linear-gradient(90deg,var(--gd),transparent)}
html[data-theme="light"] .cb{border-color:var(--lm)}
html[data-theme="light"] .cb-g{border-color:var(--gd);background:rgba(140,106,43,.08)}

/* Light — Section 03: model-room presentation */
html[data-theme="light"] #s03{background:var(--void)}
html[data-theme="light"] #s03::before{background:
  radial-gradient(50% 60% at 78% 40%,rgba(255,252,244,.85),transparent 70%),
  linear-gradient(rgba(23,27,32,.04) 1px,transparent 1px) 0 0/48px 48px,
  linear-gradient(90deg,rgba(23,27,32,.04) 1px,transparent 1px) 0 0/48px 48px}
html[data-theme="light"] .sb{background:var(--s1)}
html[data-theme="light"] .sb:hover{border-color:var(--lm);background:var(--s2)}
html[data-theme="light"] .sb.active{border-color:var(--ink);background:var(--s1)}
html[data-theme="light"] .sb::before{background:var(--gd)}
html[data-theme="light"] .sb-nm{color:var(--w70)}
html[data-theme="light"] .sb.active .sb-nm,html[data-theme="light"] .sb:hover .sb-nm{color:var(--ink)}
@media(min-width:901px){
  html[data-theme="light"] .sb{background:none}
  html[data-theme="light"] .sb:hover,html[data-theme="light"] .sb.active{background:none}
  html[data-theme="light"] .sb-nm{color:var(--w45)}
  html[data-theme="light"] .sb:hover .sb-nm{color:var(--w95)}
  html[data-theme="light"] .sb.active .sb-nm{color:var(--ink)}
  html[data-theme="light"] .s03-mark{background:var(--gd);box-shadow:none;width:2px}
}
/* nine forms: limestone volumes, graphite linework, champagne structure */
html[data-theme="light"] #s03 svg .f-t{fill:#F3EFE5}
html[data-theme="light"] #s03 svg .f-l{fill:#D9D2C2}
html[data-theme="light"] #s03 svg .f-r{fill:#BEB6A4}
html[data-theme="light"] #s03 svg .g-t{fill:#CDAE70}
html[data-theme="light"] #s03 svg .g-l{fill:#AB8644}
html[data-theme="light"] #s03 svg .g-r{fill:#80632F}
html[data-theme="light"] #s03 svg .p-t{fill:rgba(23,27,32,.045)}
html[data-theme="light"] #s03 svg .p-l{fill:rgba(23,27,32,.025)}
html[data-theme="light"] #s03 svg .p-r{fill:rgba(23,27,32,.075)}
html[data-theme="light"] #s03 svg polygon{stroke:rgba(23,27,32,.42)}
html[data-theme="light"] #s03 svg .p-t,html[data-theme="light"] #s03 svg .p-l,html[data-theme="light"] #s03 svg .p-r{stroke:rgba(23,27,32,.16)}
html[data-theme="light"] #s03 svg .g-t,html[data-theme="light"] #s03 svg .g-l,html[data-theme="light"] #s03 svg .g-r{stroke:rgba(62,46,14,.55)}
html[data-theme="light"] #s03 svg .band,html[data-theme="light"] #s03 svg .ext{stroke:rgba(23,27,32,.4)}
html[data-theme="light"] #s03 svg .fence{stroke:rgba(23,27,32,.55)}
html[data-theme="light"] #s03 svg .chk{stroke:#171B20}
html[data-theme="light"] #s03 svg .spindle .f-t{fill:#D6C8A6}
html[data-theme="light"] .feat-obj svg{filter:drop-shadow(0 8px 8px rgba(48,38,22,.2))}
/* live viewport photography: natural colour, no darkening */
html[data-theme="light"] .vp-m.bleed img{filter:saturate(.95) contrast(1.02)}
html[data-theme="light"] .vp-m.ph img{filter:saturate(.95);box-shadow:0 16px 28px -20px rgba(23,27,32,.4),0 0 0 1px var(--lm)}
html[data-theme="light"] .vp-m.sheet img{filter:contrast(1.03);box-shadow:0 16px 28px -20px rgba(23,27,32,.4),0 0 0 1px var(--lm)}
html[data-theme="light"] .vp-m.iso img,html[data-theme="light"] .vp-m.map img{filter:invert(1) hue-rotate(180deg) sepia(.12) contrast(1.05)}
html[data-theme="light"] .vp-prog{background:var(--ln)}
html[data-theme="light"] .vp-prog i{background:var(--gd)}
html[data-theme="light"] .vc-l li.d::before{background:var(--gd);border-color:var(--gd)}

/* Light — Section 04: projects as editorial plates */
html[data-theme="light"] #s04{background:var(--ground)}
html[data-theme="light"] .s04-bg img{filter:saturate(.95)}
html[data-theme="light"] .s04-bg::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to top,rgba(244,241,233,.95) 0,rgba(244,241,233,.6) 36%,transparent 70%)}
html[data-theme="light"] .s04-card{background:rgba(250,248,243,.94);border:1px solid var(--lm);box-shadow:0 18px 36px -28px rgba(23,27,32,.4);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
html[data-theme="light"] .s04-sc img{filter:saturate(.95)}
html[data-theme="light"] .s04-sc:hover img{filter:saturate(1)}
html[data-theme="light"] .s04-sc{border-right-color:var(--lm)}

/* Light — Section 05: lifecycle drawn as an architect's elevation */
html[data-theme="light"] #s05{background:var(--s1)}
html[data-theme="light"] #s05::before{background-image:linear-gradient(rgba(23,27,32,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(23,27,32,.04) 1px,transparent 1px)}
html[data-theme="light"] .lc-svg .ground{stroke:rgba(23,27,32,.7)}
html[data-theme="light"] .lc-svg .sep{stroke:rgba(23,27,32,.14)}
html[data-theme="light"] .lc-svg .ol{stroke:rgba(23,27,32,.78)}
html[data-theme="light"] .lc-svg .ol.thin{stroke:rgba(23,27,32,.36)}
html[data-theme="light"] .lc-svg .fc{fill:#EFEADD;stroke:rgba(23,27,32,.6)}
html[data-theme="light"] .lc-svg .wn{fill:#D7CFBD;stroke:rgba(23,27,32,.3)}
html[data-theme="light"] .lc-svg .gh{stroke:rgba(23,27,32,.4)}
html[data-theme="light"] .lc-svg .dm{stroke:var(--gold-hi)}
html[data-theme="light"] .lc-svg .wg,html[data-theme="light"] .lc-svg .au{fill:var(--gd)}
html[data-theme="light"] .lc-svg .bay-bg{fill:rgba(140,106,43,.08);stroke:rgba(140,106,43,.4)}
html[data-theme="light"] .s05-panels{background:var(--s1);border-color:var(--lm);box-shadow:0 1px 0 rgba(23,27,32,.05)}
html[data-theme="light"] .s05-panels::before{background:var(--gd)}

/* Light — Sections 06/07 (token-driven) */
html[data-theme="light"] .s06-div{background:var(--lm)}
html[data-theme="light"] #s06{background:var(--void)}

/* ==========================================================
   EDITH — SCENE 07 · FINAL ENTRY / READY WHEN YOU ARE
   Everything below is scoped to #s07. Six piers = six routes.
   ========================================================== */
#s07{--s7-bay:4.6;background:var(--void);border-top:1px solid var(--ln);border-bottom:1px solid var(--lm);justify-content:flex-end}
#s07::before{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background:
  linear-gradient(rgba(var(--tint),.04) 1px,transparent 1px) 0 0/64px 64px,
  linear-gradient(90deg,rgba(var(--tint),.04) 1px,transparent 1px) 0 0/64px 64px;
  -webkit-mask-image:linear-gradient(180deg,#000 0,transparent 55%);mask-image:linear-gradient(180deg,#000 0,transparent 55%)}
#s07 #ctaCanvas{opacity:.85;z-index:0;-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.3) 0,rgba(0,0,0,.45) 40%,#000 78%);mask-image:linear-gradient(90deg,rgba(0,0,0,.3) 0,rgba(0,0,0,.45) 40%,#000 78%)}
html[data-theme="light"] #s07 #ctaCanvas{opacity:.75}
/* quiet veils: the scene lives behind the statement and the ledger, never competes with them */
#s07 .s07-inner::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(55% 75% at 26% 52%,rgba(var(--void-rgb),.78),transparent 74%),radial-gradient(38% 62% at 79% 54%,rgba(var(--void-rgb),.6),transparent 76%)}
#s07 .s07-inner{padding:clamp(5.25rem,11vh,8rem) 0 clamp(1.25rem,3vh,2rem)}
#s07 .s07-grid{display:grid;grid-template-columns:minmax(0,1.08fr) 13px minmax(0,.92fr);gap:0 clamp(1.75rem,4.5vw,5rem);align-items:stretch}
#s07 .s07-left{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0}
#s07 .s07-left .slbl{margin-bottom:clamp(1rem,3vh,1.9rem);color:var(--gold);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase}
#s07 .s07-left .slbl::before{width:40px;background:var(--gd)}
#s07 .s07-left h2{font-size:clamp(2.4rem,min(5.6vw,9.6vh),5.8rem);line-height:.95;letter-spacing:-.05em;margin:0 0 clamp(1.1rem,3vh,2rem)}
#s07 h2 .ln{display:block;overflow:hidden;padding-bottom:.08em}
#s07 h2 .ln>span{display:block;transform:translateY(104%);transition:transform 1s var(--ease)}
#s07 .s07-left.vis h2 .ln>span{transform:none}
#s07 .s07-left.vis h2 .ln:nth-child(2)>span{transition-delay:.12s}
#s07 .s07-left.vis h2 .ln:nth-child(3)>span{transition-delay:.24s}
#s07 h2 .ln.hl{color:var(--gold)}
#s07 .s07-left>p{max-width:44ch;margin:0 0 clamp(1.4rem,3.6vh,2.4rem);font-size:clamp(.95rem,1.15vw,1.05rem);line-height:1.75;color:var(--w70)}
#s07 .cta-row{margin:0;gap:.6rem;align-items:center}
#s07 .cta-row .btn-gold{padding:1rem 1.9rem;font-weight:600}
#s07 .cta-row .btn-outline{padding:.95rem 1.3rem;color:var(--w70);border-color:var(--lm)}
#s07 .cta-row .btn-outline:hover{color:var(--ink);border-color:var(--ink);background:transparent}
/* datum: measured vertical rule between statement and routes */
#s07 .s07-div{position:relative;width:13px;background:linear-gradient(var(--lm),var(--lm)) 0 0/1px 100% no-repeat,repeating-linear-gradient(180deg,var(--w22) 0 1px,transparent 1px 22px) 0 0/7px 100% no-repeat}
#s07 .s07-div::before{content:'';position:absolute;left:0;top:0;width:1px;height:64px;background:var(--gold);transform-origin:top;animation:s7Datum 1.6s var(--eio) both}
@keyframes s7Datum{from{transform:scaleY(0)}}
/* six entry paths */
#s07 .s07-routes{counter-reset:rt;gap:0;background:none;border-top:1px solid var(--lm);align-self:center}
#s07 .rt{counter-increment:rt;position:relative;background:none;padding:clamp(.85rem,2vh,1.3rem) 0;gap:1.2rem;justify-content:flex-start;border-bottom:1px solid var(--ln);overflow:visible;transition:none}
#s07 .rt::before{content:counter(rt,decimal-leading-zero);flex:none;width:1.7rem;font-family:var(--fm);font-size:.66rem;letter-spacing:.08em;color:var(--w45);transition:color .3s}
#s07 .rt::after{content:'';position:absolute;left:0;right:0;top:auto;bottom:-1px;width:auto;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease)}
#s07 .rt>div{flex:1;min-width:0;transition:transform .45s var(--ease)}
#s07 .rt-who{font-size:.6rem;letter-spacing:.14em;color:var(--w45);margin-bottom:.3rem;transition:color .3s}
#s07 .rt-lbl{font-size:clamp(1rem,1.35vw,1.2rem);font-weight:600;letter-spacing:-.02em;color:var(--ink)}
#s07 .rt-arr{margin-left:auto;font-size:1rem;color:var(--w45);transition:transform .45s var(--ease),color .3s}
#s07 .rt:hover::after,#s07 .rt:focus-visible::after{transform:scaleX(1)}
#s07 .rt:hover>div,#s07 .rt:focus-visible>div{transform:translateX(6px)}
#s07 .rt:hover::before,#s07 .rt:focus-visible::before,#s07 .rt:hover .rt-who,#s07 .rt:focus-visible .rt-who{color:var(--gold)}
#s07 .rt:hover .rt-arr,#s07 .rt:focus-visible .rt-arr{transform:translateX(6px);color:var(--ink)}
#s07 .rt:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
/* verification metadata strip */
#s07 .creds{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,auto);justify-content:space-between;gap:.5rem 2rem;margin:clamp(1.25rem,4vh,2.75rem) 0 0;padding-top:.9rem;border-top:1px solid var(--lm);position:relative;max-width:none;line-height:1.5}
#s07 .creds::before{content:'';position:absolute;left:0;top:-1px;width:56px;height:1px;background:var(--gold)}
#s07 .creds dt{font-family:var(--fm);font-size:.56rem;letter-spacing:.16em;text-transform:uppercase;color:var(--w45)}
#s07 .creds dd{font-family:var(--fm);font-size:.68rem;letter-spacing:.05em;color:var(--w70)}
@media(max-width:900px){
  #s07{justify-content:flex-start}
  #s07 #ctaCanvas{opacity:.5;-webkit-mask-image:none;mask-image:none}
  #s07 .s07-inner::before{background:linear-gradient(180deg,rgba(var(--void-rgb),.55),rgba(var(--void-rgb),.82))}
  #s07 .s07-inner{padding:clamp(5.5rem,22vw,8rem) 0 2rem}
  #s07 .s07-grid{grid-template-columns:1fr;gap:2.25rem}
  #s07 .s07-div{display:none}
  #s07 .s07-left h2{font-size:clamp(2.3rem,10.5vw,4rem)}
  #s07 .creds{grid-template-columns:1fr 1fr;justify-content:stretch;margin-top:.5rem}
}
@media(max-width:480px){#s07 .cta-row .btn{flex:1 1 100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){#s07 h2 .ln>span{transform:none}}
/* light: architectural paper — hover read as a tonal shift, not a box */
html[data-theme="light"] #s07 .rt:hover,html[data-theme="light"] #s07 .rt:focus-visible{background:linear-gradient(90deg,rgba(255,252,244,.9),transparent)}
html[data-theme="light"] #s07 .rt:hover .rt-arr{color:var(--ink)}
/* ═══ INVEST WITH US — page styles ═══ */

/* ═══════════════════════════════════════════════════════════
   INVEST WITH US — Page-specific styles
   ═══════════════════════════════════════════════════════════ */

/* ── I01: Cinematic Hero ──────────────────────────────────── */
.iv-hero {
  position: relative;
  height: 100svh;
  min-height: 600px;
  max-height: 980px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  background: var(--void);
}
.iv-hero__canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.iv-hero__content {
  position: relative;
  z-index: 2;
  padding: 0 var(--gut) clamp(2.5rem,5vh,4.5rem);
  max-width: var(--W);
  margin: 0 auto;
  width: 100%;
}
.iv-hero__stream {
  font-family: var(--fm);
  font-size: .62rem;
  letter-spacing: .15em;
  color: var(--w22);
  margin-bottom: clamp(1.25rem,2.5vh,2rem);
  display: flex;
  align-items: center;
  gap: 12px;
}
.iv-hero__stream::before {
  content: '';
  width: 24px;
  height: 1px;
  background: var(--gd);
}
.iv-hero__hed {
  font-family: var(--fd);
  font-size: clamp(2.5rem, 6.5vw, 7rem);
  font-weight: 700;
  letter-spacing: -.04em;
  line-height: .96;
  color: var(--ink);
  max-width: 16ch;
  margin-bottom: clamp(.75rem,1.5vh,1.25rem);
}
.iv-hero__sub {
  font-size: clamp(.85rem, 1.1vw, .95rem);
  color: var(--w45);
  max-width: 52ch;
  line-height: 1.65;
  margin-bottom: clamp(2rem,3.5vh,3rem);
}
.iv-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .85rem;
  margin-bottom: clamp(2.5rem,4vh,4rem);
}
/* Stats — architectural annotation strip */
.iv-hero__stats {
  display: grid;
  grid-template-columns: repeat(4, auto);
  justify-content: start;
  gap: 0;
  border-top: 1px solid var(--ln);
  padding-top: 1.5rem;
}
.iv-stat {
  padding-right: clamp(1.5rem,3.5vw,3rem);
  margin-right: clamp(1.5rem,3.5vw,3rem);
  border-right: 1px solid var(--ln);
}
.iv-stat:last-child { border-right: 0; padding-right: 0; margin-right: 0; }
.iv-stat__val {
  font-family: var(--fd);
  font-size: clamp(1.1rem,2vw,1.6rem);
  font-weight: 600;
  letter-spacing: -.03em;
  color: var(--ink);
  line-height: 1;
  margin-bottom: .35rem;
}
.iv-stat__val span { color: var(--gold); }
.iv-stat__key {
  font-family: var(--fm);
  font-size: .58rem;
  letter-spacing: .1em;
  color: var(--w22);
  line-height: 1.5;
}

/* ── I02: Capital → Value thesis ──────────────────────────── */
.iv-thesis {
  padding: clamp(5rem,10vw,9rem) 0;
  background: var(--ground);
  border-bottom: 1px solid var(--ln);
  overflow: hidden;
}
.iv-thesis__inner {
  max-width: var(--W);
  margin: 0 auto;
  padding-inline: var(--gut);
}
.iv-thesis__header {
  margin-bottom: clamp(3rem,6vw,5rem);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  align-items: end;
}
.iv-thesis__hed {
  font-family: var(--fd);
  font-size: clamp(1.75rem, 3.5vw, 3rem);
  font-weight: 600;
  letter-spacing: -.03em;
  line-height: 1.06;
}
.iv-thesis__sub {
  font-size: .95rem;
  color: var(--w70);
  max-width: 46ch;
  line-height: 1.75;
}

/* ── I03: Two Models ──────────────────────────────────────── */
.iv-models {
  padding: clamp(5rem,10vw,9rem) 0;
  background: var(--void);
  border-bottom: 1px solid var(--ln);
}
.iv-models__inner {
  max-width: var(--W);
  margin: 0 auto;
  padding-inline: var(--gut);
}
.iv-models__header {
  margin-bottom: clamp(3rem,6vw,5rem);
}
.iv-models__label {
  font-family: var(--fm);
  font-size: .62rem;
  letter-spacing: .12em;
  color: var(--gold);
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 1.25rem;
}
.iv-models__label::before {
  content: '';
  width: 22px;
  height: 1px;
  background: var(--gd);
}
.iv-models__hed {
  font-family: var(--fd);
  font-size: clamp(1.75rem, 3.5vw, 3rem);
  font-weight: 600;
  letter-spacing: -.03em;
  line-height: 1.06;
  margin-bottom: .75rem;
}
.iv-models__intro {
  font-size: .95rem;
  color: var(--w70);
  max-width: 60ch;
  line-height: 1.75;
}

/* Model panels — axis-based layout */
.iv-model-axis {
  display: grid;
  grid-template-columns: 1fr 1px 1fr;
  border: 1px solid var(--ln);
}
.iv-model-divider {
  background: var(--gl);
}
.iv-model-panel {
  padding: clamp(2rem,4vw,3.5rem);
  position: relative;
  overflow: hidden;
}
.iv-model-panel--a { background: var(--s1); }
.iv-model-panel--b { background: var(--s2); }
.iv-model-panel__tag {
  font-family: var(--fm);
  font-size: .6rem;
  letter-spacing: .12em;
  color: var(--gold);
  border: 1px solid var(--gl);
  padding: .3rem .75rem;
  display: inline-block;
  margin-bottom: 1.75rem;
}
.iv-model-panel__hed {
  font-family: var(--fd);
  font-size: clamp(1.25rem, 2.2vw, 1.75rem);
  font-weight: 600;
  letter-spacing: -.02em;
  line-height: 1.1;
  color: var(--ink);
  margin-bottom: .85rem;
}
.iv-model-panel__body {
  font-size: .9rem;
  color: var(--w70);
  line-height: 1.75;
  max-width: 46ch;
  margin-bottom: 2rem;
}

/* Model visual diagram */
.iv-model-diagram {
  margin-bottom: 2rem;
  border-top: 1px solid var(--ln);
  padding-top: 1.5rem;
}

/* Attribute list */
.iv-attrs {
  display: flex;
  flex-direction: column;
  gap: .65rem;
  margin-bottom: 2rem;
}
.iv-attr {
  display: grid;
  grid-template-columns: 88px 1fr;
  gap: .75rem;
  font-size: .88rem;
  align-items: baseline;
}
.iv-attr__key {
  font-family: var(--fm);
  font-size: .58rem;
  letter-spacing: .08em;
  color: var(--w22);
  padding-top: .15rem;
  line-height: 1.5;
}
.iv-attr__val { color: var(--w95); line-height: 1.5; }

/* ── I04: Protection Structure ────────────────────────────── */
.iv-protect {
  padding: clamp(5rem,10vw,9rem) 0;
  background: var(--ground);
  border-bottom: 1px solid var(--ln);
  overflow: hidden;
}
.iv-protect__inner {
  max-width: var(--W);
  margin: 0 auto;
  padding-inline: var(--gut);
}
.iv-protect__header {
  margin-bottom: clamp(3rem,5vw,5rem);
}
.iv-protect__label {
  font-family: var(--fm);
  font-size: .62rem;
  letter-spacing: .12em;
  color: var(--gold);
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 1.25rem;
}
.iv-protect__label::before {
  content: '';
  width: 22px;
  height: 1px;
  background: var(--gd);
}
.iv-protect__hed {
  font-family: var(--fd);
  font-size: clamp(1.75rem, 3.5vw, 3rem);
  font-weight: 600;
  letter-spacing: -.03em;
  line-height: 1.06;
  margin-bottom: .75rem;
}
.iv-protect__intro {
  font-size: .95rem;
  color: var(--w70);
  max-width: 58ch;
  line-height: 1.75;
}
/* Main layout: diagram left, layers right */
.iv-protect__layout {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: clamp(3rem,5vw,6rem);
  align-items: center;
}
/* Four layers as stacked rows */
.iv-layers {
  display: flex;
  flex-direction: column;
  gap: 1px;
  background: var(--ln);
}
.iv-layer {
  background: var(--ground);
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 1.25rem;
  padding: clamp(1.25rem,2.5vw,2rem) clamp(1.25rem,2.5vw,1.75rem);
  align-items: start;
  transition: background 240ms;
}
.iv-layer:hover { background: var(--s1); }
.iv-layer__n {
  font-family: var(--fd);
  font-size: 2.5rem;
  font-weight: 700;
  letter-spacing: -.06em;
  line-height: 1;
  color: var(--w10);
  flex-shrink: 0;
  padding-top: .1rem;
}
.iv-layer__name {
  font-family: var(--fd);
  font-size: 1rem;
  font-weight: 600;
  color: var(--ink);
  margin-bottom: .4rem;
  letter-spacing: -.01em;
}
.iv-layer__body {
  font-size: .85rem;
  color: var(--w70);
  line-height: 1.65;
  max-width: none;
}

/* ── I05: Risk Disclosure ─────────────────────────────────── */
.iv-risk {
  padding: clamp(5rem,10vw,9rem) 0;
  background: var(--s1);
  border-bottom: 1px solid var(--ln);
}
.iv-risk__inner {
  max-width: var(--W);
  margin: 0 auto;
  padding-inline: var(--gut);
}
.iv-risk__header {
  margin-bottom: clamp(2.5rem,4vw,4rem);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  align-items: end;
}
.iv-risk__hed {
  font-family: var(--fd);
  font-size: clamp(1.75rem, 3.5vw, 3rem);
  font-weight: 600;
  letter-spacing: -.03em;
  line-height: 1.06;
}
.iv-risk__intro {
  font-size: .95rem;
  color: var(--w70);
  line-height: 1.75;
  max-width: 44ch;
}

/* ── I06: Projects ────────────────────────────────────────── */
.iv-projects {
  padding: clamp(5rem,10vw,9rem) 0;
  background: var(--void);
  border-bottom: 1px solid var(--ln);
}
.iv-projects__inner {
  max-width: var(--W);
  margin: 0 auto;
  padding-inline: var(--gut);
}
.iv-projects__header {
  margin-bottom: clamp(2.5rem,5vw,4rem);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  align-items: end;
}
.iv-projects__label {
  font-family: var(--fm);
  font-size: .62rem;
  letter-spacing: .12em;
  color: var(--gold);
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 1rem;
}
.iv-projects__label::before {
  content: '';
  width: 22px;
  height: 1px;
  background: var(--gd);
}
.iv-projects__hed {
  font-family: var(--fd);
  font-size: clamp(1.75rem, 3.5vw, 3rem);
  font-weight: 600;
  letter-spacing: -.03em;
  line-height: 1.06;
}
.iv-projects__note {
  font-size: .88rem;
  color: var(--w45);
  line-height: 1.7;
  max-width: 44ch;
}

/* Project entries */
.iv-project-list {
  border-top: 1px solid var(--ln);
}
.iv-project {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2rem;
  padding: clamp(2rem,4vw,3rem) 0;
  border-bottom: 1px solid var(--ln);
  align-items: start;
}
.iv-project__meta {
  font-family: var(--fm);
  font-size: .6rem;
  letter-spacing: .09em;
  color: var(--w22);
  margin-bottom: .65rem;
  line-height: 1.8;
}
.iv-project__name {
  font-family: var(--fd);
  font-size: clamp(1.1rem, 2vw, 1.5rem);
  font-weight: 600;
  letter-spacing: -.02em;
  color: var(--ink);
  margin-bottom: .5rem;
}
.iv-project__desc {
  font-size: .9rem;
  color: var(--w70);
  line-height: 1.7;
  max-width: 60ch;
  margin-bottom: 1.25rem;
}
.iv-project__details {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem 1.5rem;
  margin-bottom: 1.5rem;
}
.iv-project__detail {
  display: flex;
  align-items: baseline;
  gap: .5rem;
  font-size: .82rem;
}
.iv-project__detail-key {
  font-family: var(--fm);
  font-size: .58rem;
  letter-spacing: .08em;
  color: var(--w22);
}
.iv-project__detail-val { color: var(--w70); }
.iv-project__status {
  font-family: var(--fm);
  font-size: .6rem;
  letter-spacing: .09em;
  color: var(--gold);
  border: 1px solid var(--gl);
  padding: .35rem .85rem;
  height: fit-content;
  white-space: nowrap;
  flex-shrink: 0;
}

/* ── I07: Investor Process ────────────────────────────────── */
.iv-process {
  padding: clamp(5rem,10vw,9rem) 0;
  background: var(--ground);
  border-bottom: 1px solid var(--ln);
}
.iv-process__inner {
  max-width: var(--W);
  margin: 0 auto;
  padding-inline: var(--gut);
}
.iv-process__header {
  margin-bottom: clamp(3rem,5vw,5rem);
}
.iv-process__label {
  font-family: var(--fm);
  font-size: .62rem;
  letter-spacing: .12em;
  color: var(--gold);
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 1.25rem;
}
.iv-process__label::before {
  content: '';
  width: 22px;
  height: 1px;
  background: var(--gd);
}
.iv-process__hed {
  font-family: var(--fd);
  font-size: clamp(1.75rem, 3.5vw, 3rem);
  font-weight: 600;
  letter-spacing: -.03em;
  line-height: 1.06;
}
/* Horizontal timeline on desktop, vertical on mobile */
.iv-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--ln);
  position: relative;
}
/* Connecting line between steps */
.iv-steps::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, var(--gd) 0%, rgba(197,160,89,.4) 50%, var(--gd) 100%);
  pointer-events: none;
}
.iv-step {
  padding: clamp(2rem,3.5vw,2.75rem) clamp(1.5rem,2.5vw,2rem);
  border-right: 1px solid var(--ln);
  position: relative;
}
.iv-step:last-child { border-right: 0; }
.iv-step::before {
  content: '';
  position: absolute;
  top: 0;
  left: clamp(1.5rem,2.5vw,2rem);
  width: 6px;
  height: 6px;
  background: var(--gold);
  transform: translate(-50%, -50%);
}
.iv-step__n {
  font-family: var(--fm);
  font-size: .58rem;
  letter-spacing: .1em;
  color: var(--w22);
  margin-bottom: 1rem;
}
.iv-step__name {
  font-family: var(--fd);
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: -.01em;
  color: var(--ink);
  margin-bottom: .5rem;
}
.iv-step__body {
  font-size: .85rem;
  color: var(--w45);
  line-height: 1.65;
  max-width: none;
}

/* ── I08: Register Interest ──────────────────────────────── */
.iv-register {
  padding: clamp(5rem,10vw,9rem) 0;
  background: var(--void);
  border-bottom: 1px solid var(--ln);
}
.iv-register__inner {
  max-width: var(--W);
  margin: 0 auto;
  padding-inline: var(--gut);
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: clamp(3rem,6vw,8rem);
  align-items: start;
}
.iv-register__label {
  font-family: var(--fm);
  font-size: .62rem;
  letter-spacing: .12em;
  color: var(--gold);
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 1.25rem;
}
.iv-register__label::before {
  content: '';
  width: 22px;
  height: 1px;
  background: var(--gd);
}
.iv-register__hed {
  font-family: var(--fd);
  font-size: clamp(2rem, 4vw, 3.5rem);
  font-weight: 700;
  letter-spacing: -.04em;
  line-height: 1.04;
  color: var(--ink);
  margin-bottom: 1rem;
}
.iv-register__sub {
  font-size: .95rem;
  color: var(--w70);
  max-width: 48ch;
  line-height: 1.75;
  margin-bottom: 2.5rem;
}
/* Steps inside the form context panel */
.iv-steps-inline {
  display: flex;
  flex-direction: column;
  border-top: 1px solid var(--ln);
}
.iv-step-inline {
  display: grid;
  grid-template-columns: 2.5rem 1fr;
  gap: 1rem;
  padding: 1.1rem 0;
  border-bottom: 1px solid var(--ln);
  align-items: start;
}
.iv-step-inline__n {
  font-family: var(--fm);
  font-size: .6rem;
  letter-spacing: .1em;
  color: var(--gold);
  padding-top: .1rem;
}
.iv-step-inline__name {
  font-family: var(--fd);
  font-size: .92rem;
  font-weight: 600;
  color: var(--ink);
  margin-bottom: .3rem;
  letter-spacing: -.01em;
}
.iv-step-inline__body {
  font-size: .82rem;
  color: var(--w45);
  line-height: 1.6;
  max-width: none;
}

/* ── I09: Closing CTA ────────────────────────────────────── */
.iv-close {
  position: relative;
  padding: clamp(6rem,12vw,12rem) 0;
  background: var(--void);
  overflow: hidden;
  text-align: center;
}
.iv-close__canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: .35;
}
.iv-close__inner {
  position: relative;
  z-index: 2;
  max-width: var(--W);
  margin: 0 auto;
  padding-inline: var(--gut);
  display: flex;
  flex-direction: column;
  align-items: center;
}
.iv-close__hed {
  font-family: var(--fd);
  font-size: clamp(2rem,5.5vw,5.5rem);
  font-weight: 700;
  letter-spacing: -.04em;
  line-height: 1.02;
  color: var(--ink);
  max-width: 22ch;
  margin-bottom: 1.25rem;
}
.iv-close__sub {
  font-size: .95rem;
  color: var(--w45);
  max-width: 50ch;
  line-height: 1.7;
  margin-bottom: 2.5rem;
}
.iv-close__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
}

/* ── SVG animation (reused from about page pattern) ─────── */
.iv-svg-path {
  stroke-dasharray: 800;
  stroke-dashoffset: 800;
  transition: stroke-dashoffset 1.5s var(--ease);
}
.vis .iv-svg-path { stroke-dashoffset: 0; }
.vis .iv-svg-path:nth-child(2) { transition-delay: .2s; }
.vis .iv-svg-path:nth-child(3) { transition-delay: .4s; }
.vis .iv-svg-path:nth-child(4) { transition-delay: .6s; }
.vis .iv-svg-path:nth-child(5) { transition-delay: .8s; }
.vis .iv-svg-path:nth-child(6) { transition-delay: 1.0s; }

.iv-svg-node {
  opacity: 0;
  transition: opacity .4s ease;
}
.vis .iv-svg-node { opacity: 1; }
.vis .iv-svg-node:nth-child(2) { transition-delay: .3s; }
.vis .iv-svg-node:nth-child(3) { transition-delay: .6s; }
.vis .iv-svg-node:nth-child(4) { transition-delay: .9s; }
.vis .iv-svg-node:nth-child(5) { transition-delay: 1.2s; }

/* ── Responsive ─────────────────────────────────────────── */
@media (max-width: 1000px) {
  .iv-thesis__header { grid-template-columns: 1fr; }
  .iv-protect__layout { grid-template-columns: 1fr; }
  .iv-risk__header { grid-template-columns: 1fr; }
  .iv-projects__header { grid-template-columns: 1fr; }
  .iv-register__inner { grid-template-columns: 1fr; }
  .iv-steps { grid-template-columns: 1fr 1fr; }
  .iv-steps::before { display: none; }
}
@media (max-width: 720px) {
  .iv-model-axis { grid-template-columns: 1fr; }
  .iv-model-divider { display: none; }
  .iv-steps { grid-template-columns: 1fr; }
  .iv-project { grid-template-columns: 1fr; }
  .iv-project__status { width: fit-content; }
  .iv-hero__stats { grid-template-columns: 1fr 1fr; gap: 1.25rem 0; }
  .iv-stat { border-right: 0; padding-right: 0; margin-right: 0; border-bottom: 1px solid var(--ln); padding-bottom: 1rem; }
  .iv-stat:nth-child(2n) { padding-left: 1rem; border-left: 1px solid var(--ln); }
  .iv-stat:nth-last-child(-n+2) { border-bottom: 0; }
}
@media (max-width: 480px) {
  .iv-hero__stats { grid-template-columns: 1fr; }
  .iv-stat { border-left: 0!important; padding-left: 0!important; border-bottom: 1px solid var(--ln)!important; }
}

/* ── shared page components (tokens from the EDITH system) ── */
.iv-label{font-family:var(--fm);font-size:.62rem;letter-spacing:.12em;color:var(--gold);display:flex;align-items:center;gap:10px;margin-bottom:1.25rem}
.iv-label::before{content:'';width:22px;height:1px;background:var(--gd);flex-shrink:0}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--ln)}
.risk-table{width:100%;min-width:640px;border-collapse:collapse;font-size:.88rem}
.risk-table th{font-family:var(--fm);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;font-weight:500;color:var(--gold);text-align:left;padding:1rem 1.25rem;border-bottom:1px solid var(--lm);background:var(--s1)}
.risk-table td{padding:1.1rem 1.25rem;border-bottom:1px solid var(--ln);vertical-align:top;color:var(--w70);line-height:1.6}
.risk-table td:first-child{font-family:var(--fd);font-weight:600;color:var(--ink);letter-spacing:-.01em;white-space:nowrap}
.risk-table tr:last-child td{border-bottom:0}
.disclaimer-box{border:1px solid var(--ln);border-left:2px solid var(--gd);padding:1.1rem 1.4rem;font-size:.82rem;line-height:1.7;color:var(--w70);background:rgba(var(--gold-rgb),.03);margin-top:2rem}
.disclaimer-box strong{color:var(--ink);font-weight:600}
.form-card{background:var(--s1);border:1px solid var(--lm);padding:clamp(1.5rem,3vw,2.5rem)}
.form-card h2{font-size:1.35rem;font-weight:600;margin-bottom:1.5rem}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.field{display:flex;flex-direction:column;gap:.45rem;min-width:0}
.field--full{grid-column:1/-1}
.field label{font-family:var(--fm);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--w45)}
.field input,.field select,.field textarea{width:100%;font:inherit;font-size:.92rem;color:var(--ink);background:var(--void);border:1px solid var(--lm);padding:.8rem .9rem;border-radius:0;transition:border-color .2s,background .2s}
.field textarea{resize:vertical;min-height:90px}
.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--gd)}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-color:var(--gold)}
.field select option{background:var(--s1);color:var(--ink)}
.form-submit{margin-top:1.5rem;display:flex;flex-direction:column;gap:1rem;align-items:flex-start}
.form-legal{font-size:.74rem;line-height:1.6;color:var(--w45)}
.form-status{font-size:.85rem;line-height:1.6;min-height:1.4em}
.form-status.ok{color:var(--green)}
.form-status.err{color:#e07a5f}
.btn-wa{background:transparent;color:var(--w95);border-color:var(--lm)}
.btn-wa:hover{border-color:#25D366;color:#25D366}
.btn[disabled]{opacity:.55;cursor:wait;transform:none}
@media(max-width:640px){.form-grid{grid-template-columns:1fr}.iv-hero__stats{grid-template-columns:1fr 1fr;row-gap:1.25rem}.iv-stat{border-right:0;margin-right:0}}
@media(prefers-reduced-motion:reduce){.iv-svg-path{stroke-dashoffset:0!important}.iv-svg-node{opacity:1!important}}
html[data-theme="light"] .iv-hero__hed,html[data-theme="light"] .iv-stat__val{color:var(--ink)}

.iv-hero{justify-content:center;padding-top:clamp(6.5rem,13vh,8.5rem)}
.iv-hero__canvas{left:auto;right:0;width:58%;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 38%);mask-image:linear-gradient(90deg,transparent 0,#000 38%)}
.iv-hero__hed{font-size:clamp(2.4rem,5.2vw,5.4rem);max-width:15ch}
.iv-hero__stream{max-width:none;white-space:nowrap}
.iv-attr__key{color:var(--w45)}
.iv-stat__key{color:var(--w45)}
@media(max-width:900px){.iv-hero__canvas{width:100%;opacity:.5}.iv-hero__stream{white-space:normal}}

.iv-prog{position:fixed;top:0;left:0;right:0;height:2px;z-index:400;background:var(--gold);transform:scaleX(0);transform-origin:left;pointer-events:none}
.iv-hero__content>*{opacity:0;transform:translateY(20px);animation:ivUp .9s var(--ease) forwards}
.iv-hero__content>*:nth-child(2){animation-delay:.12s}.iv-hero__content>*:nth-child(3){animation-delay:.28s}.iv-hero__content>*:nth-child(4){animation-delay:.42s}.iv-hero__content>*:nth-child(5){animation-delay:.58s}
@keyframes ivUp{to{opacity:1;transform:none}}
.iv-hero__canvas{transition:transform .6s var(--ease)}
.iv-fl{opacity:0;animation:ivFl 9s ease-in-out infinite}
@keyframes ivFl{0%{opacity:0;transform:translateY(14px)}8%,82%{opacity:1;transform:none}94%,100%{opacity:0}}
.iv-fl{transform-box:fill-box}
.iv-simple{padding:clamp(3.5rem,7vw,6rem) 0;background:var(--ground);border-bottom:1px solid var(--ln)}
.iv-simple__inner{max-width:var(--W);margin:0 auto;padding-inline:var(--gut)}
.iv-simple__row{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,4vw,4rem);counter-reset:s}
.iv-simple__row li{position:relative;padding-top:1.75rem;border-top:1px solid var(--lm)}
.iv-simple__row li::before{content:'';position:absolute;top:-1px;left:0;height:1px;width:100%;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 1.1s var(--ease)}
.vis .iv-simple__row li::before{transform:scaleX(1)}
.vis .iv-simple__row li:nth-child(2)::before{transition-delay:.4s}.vis .iv-simple__row li:nth-child(3)::before{transition-delay:.8s}
.iv-simple__n{font-family:var(--fm);font-size:.7rem;letter-spacing:.14em;color:var(--gold)}
.iv-simple__row h2{font-size:clamp(1.8rem,3.4vw,3rem);font-weight:700;letter-spacing:-.04em;margin:.6rem 0 .75rem}
.iv-simple__row p{font-size:.95rem;color:var(--w70);line-height:1.7;max-width:34ch}
@media(max-width:800px){.iv-simple__row{grid-template-columns:1fr}}
.iv-layer__n{color:var(--gold)!important;opacity:.7}
.iv-layer{transition:background .25s,padding .25s;cursor:default}
.iv-layer:hover,.iv-layer:focus-visible,.iv-layer.on{background:rgba(var(--gold-rgb),.05)}
.iv-protect svg g.hl rect{stroke:var(--gold)!important;fill:rgba(var(--gold-rgb),.07)!important}
.iv-protect svg g rect{transition:stroke .3s,fill .3s}
.iv-step,.iv-project{transition:background .3s,border-color .3s}
.iv-step:hover,.iv-project:hover{background:rgba(var(--gold-rgb),.04)}
@media(prefers-reduced-motion:reduce){.iv-hero__content>*{opacity:1;transform:none;animation:none}.iv-fl{opacity:1;animation:none}.iv-prog{display:none}}

.iv-hero__canvas{left:auto;right:clamp(0px,3vw,48px);top:5rem;bottom:0;height:calc(100% - 5rem);width:48%;-webkit-mask-image:none;mask-image:none;opacity:1}
.iv-hero__hed{max-width:12ch}
.iv-hero__stream{color:var(--w70)!important}
.iv-fl{opacity:0;animation:ivFl 10s ease-in-out infinite;transform-box:fill-box}
.iv-win{fill:rgba(197,160,89,0);animation:ivWin 10s ease-in-out infinite}
@keyframes ivWin{0%,12%{fill:rgba(197,160,89,0)}25%,80%{fill:rgba(197,160,89,.55)}95%,100%{fill:rgba(197,160,89,0)}}
.iv-hook{animation:ivHook 5s ease-in-out infinite alternate}
@keyframes ivHook{to{transform:translateY(6px)}}
.iv-tick{overflow:hidden;border-block:1px solid var(--ln);background:var(--void);padding:.9rem 0}
.iv-tick div{display:flex;gap:3rem;width:max-content;animation:ivTick 40s linear infinite}
.iv-tick span{font-family:var(--fm);font-size:.7rem;letter-spacing:.18em;color:var(--w45);white-space:nowrap}
.iv-tick span::before{content:'◆';color:var(--gold);margin-right:3rem;font-size:.5rem}
@keyframes ivTick{to{transform:translateX(-50%)}}
.iv-bars{width:100%;height:auto;max-height:none;margin:1.5rem 0}
.iv-bar{transform-box:fill-box;transform-origin:bottom;transform:scaleY(0);transition:transform 1.3s var(--ease)}
.vis .iv-bar{transform:scaleY(1)}.vis .iv-bar:nth-child(2){transition-delay:.35s}.vis .iv-bar:nth-child(3){transition-delay:.7s}
.iv-models,.iv-protect,.iv-process{background-image:linear-gradient(rgba(var(--gold-rgb),.035) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--gold-rgb),.035) 1px,transparent 1px);background-size:56px 56px}
.iv-models__hed,.iv-protect__hed,.iv-process__hed,.iv-thesis__hed{font-size:clamp(2rem,4.6vw,4rem);letter-spacing:-.045em;line-height:1}
.iv-step{position:relative;border-top:1px solid var(--lm)}
.iv-step::before{content:'';position:absolute;top:-1px;left:0;width:100%;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 1s var(--ease)}
.vis .iv-step::before{transform:scaleX(1)}.vis .iv-step:nth-child(2)::before{transition-delay:.15s}.vis .iv-step:nth-child(3)::before{transition-delay:.3s}.vis .iv-step:nth-child(4)::before{transition-delay:.45s}.vis .iv-step:nth-child(5)::before{transition-delay:.6s}.vis .iv-step:nth-child(6)::before{transition-delay:.75s}
.iv-step__n{font-family:var(--fd)!important;font-size:clamp(2.6rem,5vw,4.2rem)!important;font-weight:700;letter-spacing:-.05em;color:transparent!important;-webkit-text-stroke:1px var(--gold);transition:color .4s}
.iv-step:hover .iv-step__n{color:var(--gold)!important}
.iv-close__hed{font-size:clamp(2.4rem,6.5vw,6rem)!important;letter-spacing:-.05em!important;line-height:.98!important}
@media(max-width:900px){.iv-hero__canvas{width:100%;right:0;opacity:.28;top:4rem}.iv-hero__hed{max-width:none}}
@media(prefers-reduced-motion:reduce){.iv-tick div{animation:none}.iv-win{fill:rgba(197,160,89,.5);animation:none}.iv-hook{animation:none}.iv-bar{transform:none}}

.iv-hero__canvas{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 22%);mask-image:linear-gradient(90deg,transparent 0,#000 22%);width:54%}
.iv-sheen{animation:ivSheen 8s ease-in-out infinite}
@keyframes ivSheen{0%{transform:translateX(-80px)}60%,100%{transform:translateX(260px)}}
.iv-tw{animation:ivTw 4s ease-in-out infinite}
@keyframes ivTw{50%{opacity:.25}}
.iv-pulse{transform-box:fill-box;transform-origin:center;animation:ivPulse 3s ease-in-out infinite}
@keyframes ivPulse{50%{transform:scale(1.35);opacity:.4}}
.iv-protect svg g.hl polygon{stroke:var(--gold)!important}.iv-protect svg g.hl polygon:first-child{fill:rgba(197,160,89,.2)!important}
.iv-project{display:grid!important;grid-template-columns:minmax(200px,300px) 1fr auto;gap:2rem;align-items:center}
.iv-thumb{position:relative;border:1px solid var(--lm);overflow:hidden}.iv-thumb svg{display:block;width:100%;height:auto;transition:transform .8s var(--ease)}.iv-project:hover .iv-thumb svg{transform:scale(1.05)}
.iv-thumb span{position:absolute;left:.6rem;bottom:.5rem;font-family:var(--fm);font-size:.55rem;letter-spacing:.14em;color:var(--w70)}
.iv-close{position:relative;overflow:hidden}.iv-close__canvas{position:absolute;inset:0;width:100%;height:100%}.iv-close__inner{position:relative;z-index:2}
@media(max-width:900px){.iv-project{grid-template-columns:1fr!important}.iv-hero__canvas{width:100%}}
@media(prefers-reduced-motion:reduce){.iv-sheen,.iv-tw,.iv-pulse{animation:none}}

.iv-hero__gl{position:absolute;right:0;top:3rem;width:66%;height:calc(100% - 3rem);z-index:0;transition:opacity .6s;pointer-events:none}
.iv-gl .iv-hero__canvas{display:none}
.iv-stage{position:absolute;right:5.5rem;bottom:1.2rem;width:min(250px,24vw);padding:1rem 1.1rem;border:1px solid var(--lm);background:rgba(var(--void-rgb,5,7,10),.72);backdrop-filter:blur(6px);z-index:2}
.iv-stage__bar{height:1px;background:var(--ln);margin-bottom:.8rem}.iv-stage__bar i{display:block;height:1px;background:var(--gold);transform-origin:left;transform:scaleX(0)}
.iv-stage__n{font-family:var(--fm);font-size:.6rem;letter-spacing:.14em;color:var(--gold)}
.iv-stage strong{display:block;font-family:var(--fd);font-size:1.3rem;letter-spacing:-.02em;margin:.2rem 0 .3rem;color:var(--ink)}
.iv-stage p{font-size:.78rem;line-height:1.55;color:var(--w70)}
.iv-plain{font-size:1rem;line-height:1.6;color:var(--ink);border-left:2px solid var(--gold);padding:.1rem 0 .1rem .9rem;margin:1.1rem 0 0}
@media(max-width:900px){.iv-hero__gl{width:100%;opacity:.4;top:3.5rem}.iv-stage{display:none}}

.iv-journey{display:grid;grid-template-columns:repeat(6,1fr);gap:1.25rem;position:relative;margin-top:3rem;list-style:none;padding:0}
.iv-journey::before{content:'';position:absolute;left:4%;right:4%;top:42px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);transform:scaleX(0);transform-origin:left;transition:transform 1.6s var(--ease)}
.vis .iv-journey::before{transform:scaleX(1)}
.iv-journey::after{content:'';position:absolute;top:39px;left:4%;width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 14px var(--gold);animation:ivJ 6s linear infinite}
@keyframes ivJ{to{left:96%}}
.iv-journey li{position:relative;text-align:center;opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:calc(var(--i)*.15s)}
.vis .iv-journey li{opacity:1;transform:none}
.iv-j__ic{display:grid;place-items:center;width:84px;height:84px;margin:0 auto 1rem;border:1px solid var(--lm);background:var(--ground,var(--void));color:var(--gold);position:relative;z-index:1;transition:background .3s,transform .3s}
.iv-j__ic svg{width:54px;height:54px}
.iv-journey li:hover .iv-j__ic{background:rgba(var(--gold-rgb),.1);transform:translateY(-4px)}
.iv-j__n{display:block;font-family:var(--fm);font-size:.62rem;letter-spacing:.14em;color:var(--gold)}
.iv-journey strong{display:block;font-family:var(--fd);font-size:1.1rem;letter-spacing:-.02em;margin:.25rem 0 .4rem;color:var(--ink)}
.iv-journey p{font-size:.84rem;line-height:1.55;color:var(--w70);max-width:20ch;margin:0 auto}
@media(max-width:900px){.iv-journey{grid-template-columns:repeat(2,1fr);row-gap:2rem}.iv-journey::before,.iv-journey::after{display:none}}
@media(max-width:520px){.iv-journey{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.iv-journey::after{display:none}.iv-journey li{opacity:1;transform:none}}

.iv-stage3d.gl .stage-key{position:absolute;z-index:3;right:.9rem;top:50%;transform:translateY(-50%);display:flex;flex-direction:column-reverse;gap:.55rem;margin:0;padding:0 0 0 .9rem;list-style:none;border-left:1px solid var(--w10);font-family:var(--fm);font-size:.6rem;letter-spacing:.06em;line-height:1.3;color:var(--w22);pointer-events:none}
.stage-key li{position:relative;transition:color .5s var(--eio);white-space:nowrap}
.stage-key li::before{content:'';position:absolute;left:-.9rem;top:.62em;width:.5rem;height:1px;background:var(--w22);transition:background .5s var(--eio)}
.stage-key b{font-weight:500;margin-right:.55em;opacity:.7}
.stage-key li.on{color:var(--w70)}
.stage-key li.on::before{background:var(--gold)}
.stage-key li.on b{color:var(--gold);opacity:1}
.iv-stage3d:not(.gl) .stage-key{display:none}
@media(max-width:480px){.stage-key{right:.5rem;font-size:.54rem;gap:.4rem}}
.iv-stage3d{position:absolute;right:0;top:3rem;width:64%;height:calc(100% - 3rem);margin:0;z-index:0;pointer-events:none}
.iv-stage3d .stage-frame{position:absolute;inset:0}
.iv-stage3d canvas{width:100%;height:100%;display:block}
.iv-stage3d .stage-key{pointer-events:none}
@media(max-width:900px){.iv-stage3d{width:100%;opacity:.45;top:3.5rem}.iv-stage3d .stage-key{display:none}}

.iv-j__ic svg{width:54px;height:54px}
.iv-journey *,.iv-journey::after{animation-play-state:paused}
.vis .iv-journey *,.vis .iv-journey::after{animation-play-state:running}
.iv-journey::after{animation:jDot 14s linear infinite!important;left:8.3%}
@keyframes jDot{0%{left:8.3%;opacity:1}85.7%{left:91.7%;opacity:1}93%,100%{left:91.7%;opacity:0}}
.iv-j__ic{animation:jAct 14s infinite;animation-delay:calc(var(--i)*2s)}
@keyframes jAct{0%,13%{border-color:var(--gold);background:rgba(var(--gold-rgb),.12);transform:translateY(-4px);box-shadow:0 0 26px rgba(var(--gold-rgb),.28)}16%,100%{border-color:var(--lm);background:var(--ground,var(--void));transform:none;box-shadow:none}}
.iv-journey strong{animation:jTxt 14s infinite;animation-delay:calc(var(--i)*2s)}
@keyframes jTxt{0%,13%{color:var(--gold)}16%,100%{color:var(--ink)}}
.j-a,.j-s,.j-w,.j-r,.j-d{animation-duration:14s;animation-iteration-count:infinite;animation-fill-mode:both;animation-delay:calc(var(--i)*2s + var(--k,0)*.3s);transform-box:fill-box}
.j-a{animation-name:jDrop}.j-s{animation-name:jSlide}.j-w{animation-name:jLit;fill:var(--gold);stroke:none}.j-r{animation-name:jRise;transform-origin:50% 100%}.j-d{animation-name:jDraw;stroke-dasharray:1}
@keyframes jDrop{0%{opacity:0;transform:translateY(-12px)}5%,100%{opacity:1;transform:none}}
@keyframes jSlide{0%{opacity:0;transform:translateX(-14px)}6%,100%{opacity:1;transform:none}}
@keyframes jLit{0%{opacity:0}5%,100%{opacity:1}}
@keyframes jRise{0%{transform:scaleY(0)}7%,100%{transform:none}}
@keyframes jDraw{0%{stroke-dashoffset:1}6%,100%{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){.iv-journey *,.iv-journey::after,.iv-j__ic{animation:none!important}}

.iv-thesis,.iv-thesis__inner{overflow:visible!important}
.th-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(2rem,5vw,5rem);align-items:stretch;margin-top:clamp(2.5rem,5vw,4.5rem)}
.th-stick{position:static}
.th{margin:0;position:sticky;top:6rem}
.th-svg{max-height:62vh;width:auto;max-width:100%}.th-svg{width:100%;height:auto;display:block;overflow:visible}
.th-plot{stroke:rgba(var(--tint),.25);transition:stroke .6s}.th[data-s="1"] .th-plot,.th[data-s="2"] .th-plot,.th[data-s="3"] .th-plot,.th[data-s="4"] .th-plot,.th[data-s="5"] .th-plot,.th[data-s="6"] .th-plot{stroke:var(--gold)}
.th-raft{stroke:rgba(var(--tint),.2);fill:transparent;transition:fill .6s,stroke .6s}.th:is([data-s="3"],[data-s="4"],[data-s="5"],[data-s="6"]) .th-raft{fill:rgba(var(--gold-rgb),.35);stroke:var(--gold)}
.th .fl{fill:transparent;stroke:rgba(var(--tint),.13);transition:fill .7s var(--ease),stroke .7s var(--ease);transition-delay:calc(var(--i)*70ms)}
.th-w{fill:transparent;transition:fill .8s;transition-delay:calc(var(--i)*40ms)}
.th:is([data-s="4"],[data-s="5"],[data-s="6"]) .th-f:nth-child(-n+6) .fl,.th:is([data-s="5"],[data-s="6"]) .th-f:nth-child(n+7) .fl{fill:rgba(var(--gold-rgb),.09);stroke:rgba(var(--gold-rgb),.75)}
.th[data-s="6"] .th-w{fill:var(--gold)}
.th-roof{stroke:var(--gold);stroke-width:2.4;opacity:0;transition:opacity .6s .5s}.th[data-s="6"] .th-roof{opacity:1}
.th-dim,.th-ticks{opacity:0;transition:opacity .6s}.th:is([data-s="4"],[data-s="5"],[data-s="6"]) .th-dim{opacity:1}.th:is([data-s="5"],[data-s="6"]) .th-ticks{opacity:1}
.th-c{opacity:0;transform:translateX(-8px);transition:opacity .5s,transform .5s}.th[data-s="1"] .th-c[data-for="1"]{opacity:1;transform:none}.th[data-s="2"] .th-c[data-for="2"]{opacity:1;transform:none}.th[data-s="3"] .th-c[data-for="3"]{opacity:1;transform:none}.th[data-s="4"] .th-c[data-for="4"]{opacity:1;transform:none}.th[data-s="5"] .th-c[data-for="5"]{opacity:1;transform:none}.th[data-s="6"] .th-c[data-for="6"]{opacity:1;transform:none}
.th-read{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--lm);margin-top:1.2rem;padding-top:.9rem}
.th-rn{font-family:var(--fm);font-size:.65rem;letter-spacing:.14em;color:var(--gold)}.th-rt{font-family:var(--fd);font-size:1.15rem;letter-spacing:-.02em;color:var(--ink)}
.th-list{list-style:none;margin:0;padding:0;position:relative;--p:0}
.th-list::before,.th-list::after{content:'';position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--ln)}
.th-list::after{background:var(--gold);transform-origin:top;transform:scaleY(var(--p))}
.th-row{display:grid;grid-template-columns:3.6rem 1fr;gap:1rem;padding:clamp(1.8rem,4vw,3rem) 0 clamp(1.8rem,4vw,3rem) 2rem;border-bottom:1px solid var(--ln);opacity:.38;transition:opacity .5s}
.th-row.done{opacity:.62}.th-row.cur{opacity:1}
.th-n{font-family:var(--fd);font-weight:700;font-size:2.4rem;letter-spacing:-.05em;line-height:1;color:transparent;-webkit-text-stroke:1px var(--gold);transition:color .4s}
.th-row.cur .th-n{color:var(--gold)}
.th-row h3{font-family:var(--fd);font-size:clamp(1.4rem,2.4vw,2rem);letter-spacing:-.035em;color:var(--ink);margin:0 0 .5rem}
.th-row p{font-size:.95rem;line-height:1.65;color:var(--w70);max-width:36ch;margin:0 0 .9rem}
.th-tag{font-family:var(--fm);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);border:1px solid var(--gl,var(--lm));padding:.3rem .6rem;display:inline-block}
@media(max-width:900px){.th-grid{display:block}.th-stick{position:sticky;top:4.2rem;z-index:3;background:var(--ground,var(--void));padding-bottom:.6rem}.th{position:static}.th-svg{max-height:34vh}.th-read{margin-top:.4rem}.th-list{padding-top:1rem}}
@media(prefers-reduced-motion:reduce){.th *,.th-row{transition:none!important}}

.m-scrub+.mdl .m-bg{border-top-width:1px}.m-trunk{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;margin:clamp(2rem,4vw,3.5rem) 0 0}
.m-trunk span{font-family:var(--fm);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);border:1px solid var(--lm);padding:.5rem .8rem;background:var(--s1)}
.m-trunk .m-same{color:var(--gold);border-color:transparent;background:none}
.m-fork{display:block;width:100%;height:clamp(70px,9vw,120px);fill:none;stroke:var(--gold);stroke-width:1.4;margin-bottom:.4rem}
.m-fork path{vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.6s var(--ease)}.m-fork.vis path{stroke-dashoffset:0}
.mdl{position:relative;display:grid;grid-template-columns:1fr 1fr;column-gap:0}
.m-bg{position:absolute;top:0;bottom:0;width:50%;border:1px solid var(--lm)}.m-bg-a{left:0;background:var(--s1)}.m-bg-b{right:0;background:var(--s2);border-left-width:0}
.mc{position:relative;z-index:1;padding:0 clamp(1.2rem,3.2vw,3rem)}
.mc.m-tag{padding-top:clamp(1.4rem,3vw,2.4rem)}.m-tag span{font-family:var(--fm);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);border:1px solid var(--gl,var(--lm));padding:.4rem .7rem;display:inline-block}
.m-svg{width:100%;height:auto;display:block;margin:1.2rem 0}
.m-hed{font-family:var(--fd);font-size:clamp(1.9rem,3.3vw,3.1rem);letter-spacing:-.045em;line-height:1.02;color:var(--ink);margin:.4rem 0 1rem}
.m-body p{font-size:.95rem;line-height:1.7;color:var(--w70);margin:0 0 1rem;max-width:48ch}.m-body .iv-plain{color:var(--ink);margin:0 0 1.6rem}
.mc.m-attr{display:grid;grid-template-columns:7rem 1fr;gap:1rem;padding-block:.95rem;border-top:1px solid var(--ln)}
.m-ak{font-family:var(--fm);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--w45);padding-top:.25rem}.m-av{font-size:.95rem;color:var(--ink);line-height:1.5}
.mc.m-cta{padding-top:1.8rem;padding-bottom:clamp(1.6rem,3vw,2.6rem)}
.ma-f{fill:transparent;stroke:rgba(var(--tint),.16);transition:fill .6s var(--ease),stroke .6s var(--ease)}.ma-f.on{fill:rgba(var(--gold-rgb),.08);stroke:rgba(var(--gold-rgb),.7)}
.ma-w{fill:rgba(var(--gold-rgb),0);stroke:none;transition:fill .8s}.ma-ws.on .ma-w{fill:rgba(var(--gold-rgb),.75)}
.ma-flat{fill:transparent;stroke:var(--gold);stroke-width:1.6;opacity:0;transition:opacity .6s,fill .6s}.ma-flat.on{opacity:1;fill:rgba(var(--gold-rgb),.45);animation:mPulse 2.8s ease-in-out infinite}
@keyframes mPulse{50%{fill:rgba(var(--gold-rgb),.2)}}
.m-bar{transform-box:fill-box;transform-origin:bottom;transform:scaleY(0);transition:transform 1s var(--ease)}.m-bar.on{transform:scaleY(1)}
.m-br,.m-lbl{opacity:0;transition:opacity .5s}.m-br.on,.m-lbl.on{opacity:1}
.cn{opacity:0;transform:translateY(-16px);transition:opacity .5s,transform .6s var(--ease)}.cn.on{opacity:1;transform:none}
.m-scrub{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:clamp(1.2rem,4vw,4rem);align-items:center;border:1px solid var(--lm);border-bottom:0;background:var(--s1);padding:1.2rem clamp(1.2rem,3.2vw,3rem)}
.m-sn{font-family:var(--fm);font-size:.62rem;letter-spacing:.14em;color:var(--gold);display:block}.m-sl{font-family:var(--fd);font-size:1.5rem;letter-spacing:-.03em;color:var(--ink);display:block;margin:.15rem 0}.m-sd{font-size:.85rem;line-height:1.5;color:var(--w70);display:block;min-height:2.6em}
.m-track{position:relative;padding-bottom:1.8rem}
#mScrub{-webkit-appearance:none;appearance:none;width:100%;height:24px;background:transparent;cursor:pointer;margin:0;--v:0%}
#mScrub::-webkit-slider-runnable-track{height:2px;background:linear-gradient(90deg,var(--gold) var(--v),var(--ln) var(--v))}#mScrub::-moz-range-track{height:2px;background:linear-gradient(90deg,var(--gold) var(--v),var(--ln) var(--v))}
#mScrub::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;margin-top:-8px;background:var(--gold);border:0;border-radius:0;box-shadow:0 0 0 5px rgba(var(--gold-rgb),.22)}#mScrub::-moz-range-thumb{width:18px;height:18px;background:var(--gold);border:0;border-radius:0;box-shadow:0 0 0 5px rgba(var(--gold-rgb),.22)}
#mScrub:focus-visible{outline:2px solid var(--gold);outline-offset:6px}
.m-marks{position:absolute;left:0;right:0;top:1.9rem}.m-marks span{position:absolute;font-family:var(--fm);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--w45);white-space:nowrap;transition:color .3s}.m-marks span.cur{color:var(--gold)}.m-marks span:last-child{transform:translateX(-30%)}
@media(max-width:860px){.m-scrub{grid-template-columns:1fr}.m-marks span{font-size:.5rem;letter-spacing:.06em}.mdl{grid-template-columns:1fr}.m-bg{display:none}.mc{grid-column:1!important;grid-row:auto!important;order:var(--o);background:var(--s1)}.mdl{border:1px solid var(--lm)}.mc.m-b{background:var(--s2)}.mc.m-b.m-tag{border-top:1px solid var(--lm)}.m-fork{display:none}}
@media(prefers-reduced-motion:reduce){.cn,.ma-f,.ma-w,.ma-flat,.m-bar,.m-br,.m-fork path{transition:none!important;animation:none!important}.cn,.m-bar,.ma-flat,.m-br{opacity:1;transform:none}.m-fork path{stroke-dashoffset:0}}

.pf-scene .iv-fl{animation:none!important;opacity:1!important;transform:none!important}.pf-scene .iv-tw{animation:none}
.pf-list{display:flex;flex-direction:column;gap:clamp(2rem,4vw,3.5rem)}
.pf{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:stretch;border-top:1px solid var(--lm);padding-top:clamp(1.5rem,3vw,2.5rem)}
.pf-scene{position:relative;overflow:hidden;border:1px solid var(--lm);align-self:start}.pf-scene svg{display:block;width:100%;height:auto;transition:transform 1.2s var(--ease)}.pf:hover .pf-scene svg{transform:scale(1.04)}
.pf-scene::before,.pf-scene::after{content:'';position:absolute;width:22px;height:22px;border:1px solid var(--gold);z-index:2;transition:transform .5s var(--ease)}.pf-scene::before{top:10px;left:10px;border-right:0;border-bottom:0}.pf-scene::after{right:10px;bottom:10px;border-left:0;border-top:0}.pf:hover .pf-scene::before{transform:translate(4px,4px)}.pf:hover .pf-scene::after{transform:translate(-4px,-4px)}
.pf-meta{font-family:var(--fm);font-size:.62rem;letter-spacing:.14em;color:var(--w70);margin:0 0 .8rem}
.pf-name{font-family:var(--fd);font-size:clamp(1.8rem,3.4vw,3rem);letter-spacing:-.045em;line-height:1.02;color:var(--ink);margin:0 0 1rem}
.pf-desc{font-size:.95rem;line-height:1.7;color:var(--w70);max-width:56ch;margin:0 0 1.6rem}
.pf-facts{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:0;margin:0 0 1.8rem;border-block:1px solid var(--ln)}.pf-facts div{padding:1rem 2rem 1rem 0;margin-right:2rem;border-right:1px solid var(--ln)}.pf-facts div:last-child{border-right:0;margin-right:0}
.pf-facts dt{font-family:var(--fm);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--w45);margin-bottom:.35rem}.pf-facts dd{margin:0;font-size:1rem;color:var(--ink)}
.pf-status p{font-family:var(--fm);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--w45);margin:0 0 .9rem;display:flex;gap:.8rem}.pf-status p b{color:var(--gold);font-weight:500}
.pf-gates{list-style:none;margin:0 0 1.8rem;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;position:relative}
.pf-gates li{position:relative;padding-top:1.4rem;font-size:.78rem;line-height:1.4;color:var(--w45)}
.pf-gates li::before{content:'';position:absolute;top:5px;left:0;right:-.6rem;height:1px;background:var(--ln)}.pf-gates li:last-child::before{right:0}
.pf-gates i{position:absolute;top:0;left:0;width:11px;height:11px;border:1px dashed var(--w45);background:var(--void);z-index:1}
.pf-gates li.cur{color:var(--ink)}.pf-gates li.cur i{border:0;background:var(--gold);box-shadow:0 0 0 4px rgba(var(--gold-rgb),.2)}.pf-gates li.cur::before{background:linear-gradient(90deg,var(--gold),var(--ln))}
@media(max-width:900px){.pf{grid-template-columns:1fr}.pf-facts{grid-template-columns:1fr 1fr 1fr}.pf-facts div{padding-right:.8rem;margin-right:.8rem}.pf-gates{grid-template-columns:1fr 1fr;row-gap:1rem}.pf-gates li::before{display:none}}
.hy-key{display:flex;justify-content:space-between;max-width:var(--W);margin:2.5rem auto 1.2rem;font-family:var(--fm);font-size:.62rem;letter-spacing:.16em;color:var(--gold)}.hy-key span:last-child{color:var(--w70)}
.hy{list-style:none;margin:0 auto;padding:0;position:relative;--p:0;display:flex;flex-direction:column;gap:clamp(1rem,2vw,1.6rem)}
.hy::before,.hy::after{content:'';position:absolute;left:50%;top:0;bottom:0;width:1px;background:repeating-linear-gradient(var(--w22) 0 4px,transparent 4px 9px)}
.hy::after{background:var(--gold);transform-origin:top;transform:scaleY(var(--p))}
.hy-mark{position:relative;z-index:2;align-self:center;font-family:var(--fm);font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:var(--w70);background:var(--void);border:1px solid var(--lm);padding:.4rem .8rem}.hy-m2{color:var(--gold);border-color:var(--gold)}
.hy-i{position:relative;display:grid;grid-template-columns:1fr 1fr;opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.hy-i.on{opacity:1;transform:none}
.hy-dot{position:absolute;left:50%;top:2.2rem;width:13px;height:13px;margin-left:-6px;background:var(--void);border:1px solid var(--gold);z-index:2;transition:background .4s}.hy-i.on .hy-dot{background:var(--gold)}
.hy-c{position:relative;z-index:1;background:var(--s1);border:1px solid var(--lm);padding:clamp(1.3rem,2.4vw,2rem);width:calc(100% - 2.4rem)}
.hy-i[data-a=you] .hy-c{grid-column:1;justify-self:start}.hy-i[data-a=edith] .hy-c{grid-column:2;justify-self:end}.hy-i[data-a=both] .hy-c{grid-column:1/-1;justify-self:center;width:min(100%,640px);border-color:var(--gold)}
.hy-n{font-family:var(--fd);font-weight:700;font-size:2.2rem;letter-spacing:-.05em;line-height:1;color:transparent;-webkit-text-stroke:1px var(--gold);position:absolute;top:1.1rem;right:1.4rem}
.hy-tag{font-family:var(--fm);font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);border:1px solid var(--gl,var(--lm));padding:.25rem .55rem;display:inline-block;margin-bottom:.8rem}.hy-i[data-a=edith] .hy-tag{color:var(--w70);border-color:var(--lm)}
.hy-c h3{font-family:var(--fd);font-size:clamp(1.2rem,2vw,1.6rem);letter-spacing:-.03em;color:var(--ink);margin:0 0 .5rem;max-width:20ch}.hy-c p{font-size:.92rem;line-height:1.65;color:var(--w70);margin:0;max-width:44ch}
@media(max-width:800px){.hy::before,.hy::after{left:.6rem}.hy-i{grid-template-columns:1fr}.hy-dot{left:.6rem}.hy-i .hy-c,.hy-i[data-a=you] .hy-c,.hy-i[data-a=edith] .hy-c,.hy-i[data-a=both] .hy-c{grid-column:1;justify-self:end;width:calc(100% - 2rem)}.hy-mark{align-self:flex-start;margin-left:2rem}.hy-key{display:none}}
@media(prefers-reduced-motion:reduce){.hy-i{opacity:1;transform:none;transition:none}.pf-scene svg{transition:none}}

.iv-hero__canvas{display:none!important}.iv-hero.iv-nogl .iv-hero__canvas{display:block!important}
.iv-stage{opacity:0;transition:opacity .9s .3s}.iv-gl .iv-stage{opacity:1}
#heroCanvas{transition:none}
@media(max-width:900px){.iv-hero{height:auto!important;max-height:none!important;min-height:100svh;overflow:visible!important}.iv-tick{position:relative;z-index:2}.iv-stage3d{position:relative!important;order:9;flex:none!important;min-height:min(86vw,520px);width:100%!important;height:min(86vw,560px)!important;top:auto!important;right:auto!important;opacity:1!important;margin:1.5rem 0 0!important}.iv-stage3d .stage-key{display:none!important}.iv-stage3d .stage-frame{position:absolute;inset:0}}
@media(min-width:721px) and (max-width:1100px){.hlang{display:none}.hact .btn{padding:.6rem .9rem;font-size:.82rem;white-space:nowrap}.nav>ul>li>a,.nav>ul>li>button{padding-inline:.4rem;font-size:.84rem}}
@media(max-width:720px){.hact .btn{display:none}}

.iv-stage3d::before,.iv-stage3d::after,.iv-stage3d .stage-frame::before,.iv-stage3d .stage-frame::after,.hero-stage::before,.hero-stage::after{display:none!important;content:none!important}
.pf-scene text{fill:rgba(255,255,255,.72)}.pf-scene text[fill*="gold"]{fill:#C5A059}
html[data-theme="light"] .th-row{opacity:.5}html[data-theme="light"] .th-row.done{opacity:.72}html[data-theme="light"] .th-row.cur{opacity:1}
