/* EDITH shell: tokens, header, buttons, footer — from index.html */
: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}
.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)}
.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}
[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}
.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)}
.dot{color:var(--gold)}
.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}}
.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}
@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}}
@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}}
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"] .btn-gold{color:#fff}
html[data-theme="light"] .btn-gold:hover{color:#fff}
.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}
.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}
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}
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"] .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)}
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)}
@keyframes dgWipe{from{transform:scaleX(0)}}
@keyframes dgTxt{from{color:var(--f-ink)}}
/* Internships */
:root{--u:clamp(4.5rem,10vw,9rem)}
html{scroll-padding-top:5rem}html:not(.js) [data-rv]{opacity:1;transform:none}
main p{color:var(--w70)}.mono{font-family:var(--fm);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}
.sec{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-block:clamp(5.5rem,11vh,7rem) clamp(2rem,6vh,4rem)}.sec>.wrap{width:100%}.grd{background:var(--ground)}
.sec h2{font-size:clamp(2rem,min(4.4vw,8.2vh),4.2rem);max-width:17ch;margin-bottom:1.1rem;letter-spacing:-.045em;font-weight:600;color:var(--ink)}
.o{color:transparent;-webkit-text-stroke:1.5px var(--ink)}em{font-style:normal;color:var(--gold)}
.actions{display:flex;gap:.75rem;flex-wrap:wrap}
/* hero */
.hero{position:relative;min-height:100svh;overflow:hidden;display:flex;align-items:center;padding:clamp(5.5rem,10vh,7rem) 0 6.8rem;background:var(--void);touch-action:pan-y;user-select:none;-webkit-user-select:none;cursor:col-resize}
.scene{position:absolute;inset:0;z-index:0}.scene canvas{display:block;width:100%;height:100%;opacity:0;transition:opacity 1.1s var(--ease)}.scene.gl canvas{opacity:1}.fb{display:none}.scene.nogl .fb{display:block}.scene.nogl canvas{display:none}
.scene::before{content:'';position:absolute;inset:0;background:radial-gradient(48% 56% at 68% 56%,rgba(var(--gold-rgb),.09),transparent 70%),linear-gradient(rgba(var(--gold-rgb),.035) 1px,transparent 1px) 0 0/48px 48px,linear-gradient(90deg,rgba(var(--gold-rgb),.035) 1px,transparent 1px) 0 0/48px 48px;transition:opacity 1.1s}.scene.gl::before{opacity:0}
.fb{position:absolute;color:var(--ink);--v:.5}.fb .fbb{clip-path:inset(0 0 0 calc(var(--v)*100%))}.fb .fbp{clip-path:inset(0 calc(100% - var(--v)*100%) 0 0)}
.hero::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(var(--void-rgb),.88) 0,rgba(var(--void-rgb),.5) 28%,rgba(var(--void-rgb),0) 50%),linear-gradient(0deg,rgba(var(--void-rgb),.85) 0,rgba(var(--void-rgb),0) 24%)}
.hero .wrap{position:relative;z-index:2;width:100%;pointer-events:none}.copy{max-width:44rem}.copy a,.copy .actions{pointer-events:auto}
.crumb{display:flex;gap:.6rem;color:var(--w45);margin-bottom:1rem}.crumb a:hover{color:var(--gold)}
.eyeline{color:var(--w45);margin-bottom:clamp(1rem,3vh,2rem);display:flex;gap:14px;align-items:center}.eyeline::before{content:'';width:28px;height:1px;background:var(--gd)}
.hero h1{font-size:clamp(3.2rem,min(7.6vw,14.5vh),8.4rem);font-weight:700;letter-spacing:-.055em;line-height:.93;color:var(--ink);margin-bottom:clamp(1.2rem,3vh,2rem)}.hero h1 span{display:block;white-space:nowrap}
.hero h1 .b{color:transparent;-webkit-text-stroke:1.5px var(--ink);animation:fill .7s var(--eio) .7s forwards}.hero h1 .b .dot{-webkit-text-stroke:0;color:var(--gold)}
@keyframes fill{to{color:var(--ink);-webkit-text-stroke-width:0}}
.hero-sub{max-width:30rem;font-size:.98rem;margin-bottom:1.8rem}
.thr-h{position:absolute;left:0;top:0;z-index:3;width:44px;height:44px;margin:-22px 0 0 -22px;border:1px solid var(--gold);border-radius:50%;background:rgba(var(--void-rgb),.55);display:grid;place-items:center;pointer-events:none;opacity:0;transition:opacity .5s}
.hero.live .thr-h{opacity:1}.thr-h i{width:18px;height:8px;background:linear-gradient(var(--gold),var(--gold)) center/100% 1px no-repeat;position:relative}
.thr-h i::before,.thr-h i::after{content:'';position:absolute;top:50%;width:5px;height:5px;border:solid var(--gold);border-width:1px 0 0 1px}.thr-h i::before{left:0;transform:translateY(-50%) rotate(-45deg)}.thr-h i::after{right:0;transform:translateY(-50%) rotate(135deg)}
.hint{position:absolute;z-index:3;left:50%;bottom:5.4rem;transform:translateX(-50%);color:var(--w45);transition:opacity .6s}.hint.off{opacity:0}
.thr-bar{position:absolute;z-index:3;left:0;right:0;bottom:1.4rem}.thr-bar .wrap{display:grid;grid-template-columns:auto 1fr auto;gap:1.2rem;align-items:center;pointer-events:auto}.thr-bar .mono{color:var(--w45)}.thr-bar label{cursor:pointer}
input[type=range]:disabled{opacity:.35;cursor:default}input[type=range]{width:100%;appearance:none;background:none;height:28px;cursor:ew-resize}input[type=range]::-webkit-slider-runnable-track{height:1px;background:var(--lm)}input[type=range]::-moz-range-track{height:1px;background:var(--lm)}
input[type=range]::-webkit-slider-thumb{appearance:none;width:12px;height:12px;margin-top:-6px;background:var(--gold);transform:rotate(45deg);border:0}input[type=range]::-moz-range-thumb{width:12px;height:12px;background:var(--gold);border:0;border-radius:0}
/* journey */
.stmt2 h2{font-size:clamp(2.8rem,min(8vw,15vh),8.4rem);max-width:none;line-height:.95;margin-bottom:clamp(2rem,7vh,4.5rem)}
.stages{display:grid;grid-template-columns:repeat(7,1fr);list-style:none;position:relative;font:500 clamp(.9rem,1.5vw,1.25rem) var(--fd);letter-spacing:-.02em;color:var(--w70)}
.stages li{position:relative;padding:1.4rem .6rem 0 0;border-top:1px dashed var(--lm);transition:color .3s}.stages li:nth-child(n+3){border-top:1px solid var(--gd)}
.stages li::before{content:'';position:absolute;top:-4px;left:0;width:7px;height:7px;background:var(--gd);transform:rotate(45deg)}.stages li.k::before{width:11px;height:11px;top:-6px;background:var(--gold)}.stages li.k{color:var(--ink)}
.stages li:nth-child(3)::after{content:'';position:absolute;left:5px;bottom:100%;width:1px;height:clamp(2.5rem,9vh,5rem);background:linear-gradient(transparent,var(--gold))}
.stages b{display:block;font:500 .68rem var(--fm);letter-spacing:.12em;color:var(--gd);margin-bottom:.5rem}.stages li:hover{color:var(--ink)}
.stages li{opacity:0;transform:translateY(12px);transition:opacity .7s var(--ease),transform .7s var(--ease),color .3s}.stages.vis li{opacity:1;transform:none}
.stages.vis li:nth-child(2){transition-delay:.08s}.stages.vis li:nth-child(3){transition-delay:.16s}.stages.vis li:nth-child(4){transition-delay:.24s}.stages.vis li:nth-child(5){transition-delay:.32s}.stages.vis li:nth-child(6){transition-delay:.4s}.stages.vis li:nth-child(7){transition-delay:.48s}
/* roles */
.rl{display:grid;grid-template-columns:5fr 7fr;gap:clamp(2rem,6vw,6rem);align-items:center}.rlL>p{margin-bottom:1.6rem;max-width:34rem}
.rtabs{display:grid;border-top:1px solid var(--lm)}.rtab{display:grid;grid-template-columns:3rem 1fr;text-align:left;background:none;border:0;border-bottom:1px solid var(--ln);color:var(--w45);padding:.85rem 0;font:500 1.02rem var(--fd);letter-spacing:-.02em;position:relative;transition:color .25s,padding .35s var(--ease)}
.rtab span{font:.72rem var(--fm);color:var(--gd);align-self:center}.rtab::after{content:'';position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.rtab:hover{color:var(--ink)}.rtab[aria-selected=true]{color:var(--ink);padding-left:.6rem}.rtab[aria-selected=true]::after{transform:scaleX(1)}.rtab[aria-selected=true] span{color:var(--gold)}
.rlR{min-height:min(30rem,58vh)}.rp{display:none;border-top:1px solid var(--lm);padding-top:1.6rem}.rp.on{display:block;animation:rise2 .55s var(--ease)}@keyframes rise2{from{opacity:0;transform:translateY(8px)}}
.rid{color:var(--gold);margin-bottom:.8rem}.rp h3{font-size:clamp(1.6rem,min(2.8vw,5.4vh),2.5rem);margin-bottom:.9rem;max-width:18ch;color:var(--ink)}.rp>p:not(.rid){max-width:44rem;font-size:.95rem}
.art{margin-top:1.4rem;border:1px solid var(--ln);background:var(--s1);padding:1.1rem 1.3rem}
.boq{width:100%;border-collapse:collapse;font:.82rem var(--fm);margin-bottom:1rem}.boq caption{text-align:left;color:var(--gold);padding-bottom:.6rem}.boq th,.boq td{padding:.4rem 1rem .4rem 0;border-bottom:1px solid var(--ln);text-align:left;font-weight:400;color:var(--w70)}.boq thead th{color:var(--w45);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase}.boq td:not(:first-child),.boq th:not(:first-child){text-align:right}
.chain{display:flex;flex-wrap:wrap;list-style:none;gap:.3rem 0;color:var(--w70)}.chain li{display:flex;align-items:center}.chain li+li::before{content:'';width:22px;height:1px;background:var(--gd);margin:0 .7rem}
.diary p{color:var(--gold)!important;margin-bottom:.4rem}.diary ul{list-style:none}.diary li{display:grid;grid-template-columns:12rem 1fr;gap:1rem;align-items:end;padding:.55rem 0;font-size:.88rem;color:var(--w70)}.diary li i{border-bottom:1px dotted var(--lm);height:1px;margin-bottom:.35rem}.diary li.flag{color:var(--gold)}.diary li.flag i{border-bottom:1px solid var(--gold)}
.chk2{list-style:none;display:grid;gap:0}.chk2 li{display:flex;flex-wrap:wrap;gap:.3rem .6rem;align-items:baseline;padding:.6rem 0;border-bottom:1px solid var(--ln);font-size:.88rem;color:var(--w70)}.chk2 li:last-child{border:0}.chk2 b{width:6.5rem;color:var(--gold);font-weight:500}.chk2 span+span::before{content:'+ ';color:var(--gd)}
.cmp2{display:flex;align-items:center;gap:1.2rem;margin-bottom:1rem}.cmp2 figure{flex:1;border:1px dashed var(--lm);padding:.6rem .8rem;color:var(--ink)}.cmp2 svg{width:100%;height:auto;max-height:90px;display:block}.cmp2 figcaption{color:var(--w45);margin-top:.3rem;font-size:.66rem}.cmp2>span{color:var(--gold)}
/* programme */
.pg{display:grid;grid-template-columns:5fr 7fr;gap:clamp(2rem,6vw,6rem);align-items:center}.pgL>p{max-width:30rem}
.facts{margin-top:clamp(1.4rem,4vh,2.4rem);border-top:1px solid var(--lm)}.facts>div{display:grid;grid-template-columns:minmax(8rem,auto) 1fr;gap:1rem;align-items:baseline;padding:.8rem 0;border-bottom:1px solid var(--ln)}
.facts dd{font:600 clamp(2rem,min(4vw,7vh),3.4rem)/1 var(--fd);letter-spacing:-.05em;color:var(--ink);order:-1}.facts small{font-size:.55em;color:var(--gold);letter-spacing:-.03em;margin-left:.1em}.facts dt{font:.66rem var(--fm);letter-spacing:.1em;text-transform:uppercase;color:var(--w45);max-width:16rem}
.facts>div{grid-template-columns:auto 1fr}
.tb{width:100%;border-collapse:collapse;border:1px solid var(--lm);font-size:.88rem}.tb thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.tb th,.tb td{text-align:left;vertical-align:top;padding:.78rem 1rem;border:1px solid var(--ln);font-weight:400;color:var(--w70)}.tb tbody th{width:9.5rem;font:500 .68rem var(--fm);letter-spacing:.1em;text-transform:uppercase;color:var(--gold);background:var(--s1)}
.tb tbody tr{transition:background .25s}.tb tbody tr:hover td{background:var(--gg)}
/* leave */
.lv{display:grid;grid-template-columns:6fr 5fr;gap:clamp(2rem,6vw,6rem);align-items:center}.lv h2{max-width:none;font-size:clamp(2.4rem,min(5.4vw,10vh),5.4rem);line-height:.98;margin-bottom:1.4rem}
.outs{list-style:none;border-top:1px solid var(--lm)}.outs li{display:grid;grid-template-columns:2.6rem 1fr;padding:.65rem 0;border-bottom:1px solid var(--ln);align-items:baseline;transition:padding .3s var(--ease)}.outs li:hover{padding-left:.5rem}
.outs b{font:.7rem var(--fm);color:var(--gd)}.outs h3{font-size:1.05rem;letter-spacing:-.02em;color:var(--ink);display:inline}.outs p{display:inline;font-size:.84rem;margin-left:.5rem}
.sow{position:relative;max-width:26rem;margin-inline:auto;background:var(--s1);border:1px solid var(--lm);padding:1.6rem 1.8rem 1.4rem;box-shadow:12px 14px 0 -2px rgba(var(--gold-rgb),.08)}
.sow-h{color:var(--ink);font-size:.86rem!important;letter-spacing:.2em!important}.sow-s{color:var(--gold)!important;margin:.2rem 0 1.2rem}.sow dl>div{display:grid;grid-template-columns:5.5rem 1fr;align-items:end;padding:.45rem 0}.sow dt{color:var(--w45);font-size:.64rem}.sow dd{border-bottom:1px solid var(--lm);height:1.1rem}
.sow-l{color:var(--w45)!important;font-size:.64rem!important;margin:1rem 0 .2rem}.sow i{display:block;height:1.5rem;border-bottom:1px dotted var(--lm)}.sow-p{font-size:.84rem;margin-top:.1rem}.sig{display:flex;justify-content:space-between;margin-top:1.6rem;color:var(--w45)}.sig span{border-top:1px solid var(--lm);padding-top:.35rem;width:46%;font-size:.62rem}
.path{margin-top:clamp(1.6rem,5vh,3rem)}.path>p{color:var(--gold);margin-bottom:.8rem}.path ol{list-style:none;display:grid;grid-template-columns:repeat(5,1fr)}
.path li{position:relative;padding:1rem .6rem 0 0;border-top:1px solid var(--lm)}.path li::before{content:'';position:absolute;top:-4px;left:0;width:7px;height:7px;background:var(--gd);transform:rotate(45deg)}.path li.here{border-top-color:var(--gold)}.path li.here::before{background:var(--gold);width:11px;height:11px;top:-6px}
.path b{display:block;font-weight:500;color:var(--ink)}.path li.here b{color:var(--gold)}.path span{font-size:.82rem;color:var(--w45)}.path a:hover{color:var(--gold)}
/* apply */
.ap{display:grid;grid-template-columns:5fr 6fr;gap:clamp(2rem,6vw,6rem);align-items:center}.apL>p{max-width:32rem}
.steps{list-style:none;margin-top:1.6rem;border-top:1px solid var(--lm)}.steps li{display:grid;grid-template-columns:2.6rem 1fr;gap:.2rem;padding:.8rem 0;border-bottom:1px solid var(--ln);font-size:.86rem;color:var(--w70)}.steps b{color:var(--gold);font-weight:500;padding-top:.15rem}.steps strong{display:block;color:var(--ink);font:500 1rem var(--fd);margin-bottom:.15rem}
.field label{display:block;font:500 .7rem var(--fm);letter-spacing:.1em;text-transform:uppercase;color:var(--w45);margin-bottom:.3rem}
input[type=text],input[type=tel],select,textarea{width:100%;background:transparent;border:0;border-bottom:1px solid var(--lm);color:var(--ink);font:400 1rem var(--fb);padding:.6rem 0;border-radius:0;transition:border-color .25s}
select option{background:var(--s1);color:var(--ink)}input:focus,select:focus,textarea:focus{outline:0;border-color:var(--gold)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem 2rem}.field--full{grid-column:1/-1}.form-submit{margin-top:1.6rem;display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap}.form-legal{font-size:.78rem;color:var(--w45)!important;flex:1;min-width:220px}
.form-card>h2{font:500 .72rem var(--fm)!important;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)!important;margin-bottom:1.4rem!important;max-width:none!important}
/* close */
.cls h2{font-size:clamp(2.8rem,min(9vw,17vh),9.5rem);max-width:none;line-height:.94;letter-spacing:-.055em}.rule{display:block;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 1.6s var(--eio) .2s;margin:clamp(1.2rem,4vh,2.4rem) 0}.rule.vis{transform:scaleX(1)}
.cls-row{display:flex;gap:2rem;align-items:end;justify-content:space-between;flex-wrap:wrap}.cls-row p{max-width:36rem}
html[data-theme=light] .thr-h{background:rgba(var(--void-rgb),.8)}
@media(max-height:820px){.crumb{display:none}.hero-sub{margin-bottom:1.2rem}.sec{padding-block:5rem 1.5rem}.sec h2{font-size:clamp(1.9rem,min(4vw,7vh),3.6rem)}.tb th,.tb td{padding:.5rem .8rem;font-size:.8rem}.rp>p:not(.rid){font-size:.88rem}.art{margin-top:1rem;padding:.8rem 1rem}.outs li{padding:.5rem 0}.outs p{font-size:.8rem}.steps li{padding:.6rem 0}.facts>div{padding:.55rem 0}}
@media(max-height:700px){.hero-sub{display:none}.outs p{display:none}.diary li{padding:.35rem 0}}
@media(max-width:1000px){.rl,.pg,.lv,.ap{grid-template-columns:minmax(0,1fr)}.rlR{min-height:0}.stages{grid-template-columns:repeat(7,minmax(5.4rem,1fr));overflow-x:auto;padding-top:1rem;scrollbar-width:none}.stages::-webkit-scrollbar{display:none}.path ol{grid-template-columns:repeat(5,minmax(7rem,1fr));overflow-x:auto}.lvR{display:none}}
@media(max-width:900px){.hero{display:block;padding:0 0 6.8rem;min-height:100svh}.scene{position:relative;inset:auto;height:46svh;margin-top:4.2rem}.hero::after{background:linear-gradient(0deg,rgba(var(--void-rgb),.9) 0,rgba(var(--void-rgb),0) 22%)}.hero .wrap{padding-top:1.4rem}.crumb{display:none}.hero h1{font-size:clamp(2.6rem,min(11vw,8.5vh),4.6rem);margin-bottom:1rem}.hint{bottom:auto;top:calc(4.2rem + 46svh - 2rem)}.thr-h{margin-top:0}}
@media(max-width:720px){.hero-sub{display:none}.thr-bar .mono:last-child{display:none}.thr-bar .wrap{grid-template-columns:auto 1fr}.diary li{grid-template-columns:8.5rem 1fr}.form-grid{grid-template-columns:1fr}.chain li+li::before{width:12px;margin:0 .4rem}.facts>div{grid-template-columns:auto 1fr}.stages li{font-size:.9rem}.tb tbody th{width:7rem}}
@media(min-width:1001px) and (min-height:700px){html{scroll-snap-type:y proximity}.sec{scroll-snap-align:start}}
.rl>*,.pg>*,.lv>*,.ap>*{min-width:0}
.hint{opacity:0}.hero.live .hint{opacity:1}.hero.live .hint.off{opacity:0}
@media(max-width:720px){
.thr-bar .wrap{grid-template-columns:auto 1fr auto;gap:.8rem}.thr-bar .mono:last-child{display:inline}.thr-bar .mono{font-size:.64rem}
.stages{display:grid;grid-template-columns:minmax(0,1fr);overflow:visible;border-left:1px solid var(--gd);padding:0 0 0 1.4rem}
.stages li,.stages li:nth-child(n+3){border-top:0;padding:.6rem 0;font-size:1.1rem;display:flex;gap:.9rem;align-items:baseline}
.stages li::before{top:1.1rem;left:calc(-1.4rem - 4px)}.stages li.k::before{top:1rem;left:calc(-1.4rem - 6px)}.stages li:nth-child(3)::after{display:none}.stages b{margin:0;min-width:1.6rem}
.path ol{grid-template-columns:minmax(0,1fr);overflow:visible;border-left:1px solid var(--lm);padding-left:1.4rem}.path li,.path li.here{border-top:0;padding:.5rem 0 .7rem}.path li::before{top:.85rem;left:calc(-1.4rem - 4px)}.path li.here::before{top:.75rem;left:calc(-1.4rem - 6px)}.path li.here{border-left:0}.path li.here b{color:var(--gold)}}

.fb{inset:auto 0 auto auto;top:50%;transform:translateY(-50%);width:min(72%,1000px);height:auto;aspect-ratio:900/520}
@media(max-width:900px){.fb{position:relative;inset:auto;transform:none;width:100%;top:auto;margin:0 auto}}
