:root{--base:rgb(6,10,36);--fg:rgb(245,239,230);--acc:rgb(255,210,122);--rgb:6,10,36;
--serif:'Instrument Serif',Georgia,serif;--sans:'Bricolage Grotesque',system-ui,sans-serif;
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);color-scheme:dark}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--base);scroll-behavior:smooth;scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0;background:transparent;color:var(--fg);font:400 1.05rem/1.65 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:60;opacity:.09;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
#bg{position:fixed;inset:0;width:100%;height:100%;z-index:-1;display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--acc);outline-offset:4px}
h1,h2,h3,.serif{font-family:var(--serif);font-weight:400;margin:0;letter-spacing:-.025em}
p{margin:0}
.wrap{max-width:1240px;margin:0 auto;padding:0 clamp(1.25rem,5vw,3.5rem)}
.pad{padding:clamp(6rem,14vw,11rem) 0}
.mute{opacity:.72}
.line{border-color:color-mix(in srgb,var(--fg) 22%,transparent)}

header{position:fixed;top:calc(env(safe-area-inset-top,0px) + .7rem);left:50%;transform:translateX(-50%);width:min(1120px,calc(100% - 1.5rem));z-index:40;display:flex;justify-content:space-between;align-items:center;padding:.6rem .6rem .6rem 1.5rem;background:rgba(var(--rgb),.42);-webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4);border-radius:999px;border:1px solid color-mix(in srgb,var(--fg) 18%,transparent)}
header .mark{font:400 1.55rem/1 var(--serif);text-decoration:none}
header nav{display:flex;align-items:center;gap:1.6rem;font-size:.95rem}
header nav a{text-decoration:none;opacity:.85}
header nav a:hover{opacity:1}
header nav .keep{background:var(--acc);color:#1b0f2b;opacity:1;font-weight:600;padding:.55rem 1.2rem;border-radius:999px}
@media(max-width:860px){header nav a:not(.keep){display:none}}

.w{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .06em .16em;margin:0 -.06em}
.w>span{display:inline-block;transform:translateY(112%) rotate(4deg);transform-origin:0 100%;transition:transform 1.3s cubic-bezier(.2,.8,.15,1);transition-delay:calc(var(--i)*70ms + var(--d,0ms))}
.in .w>span{transform:none}

.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;padding:7rem 0 clamp(2.5rem,8vh,5rem)}
.hero svg{position:absolute;right:2vw;top:50%;height:min(88%,1000px);width:auto;aspect-ratio:1;transform:translateY(-50%);color:var(--acc)}
.hero svg path{fill:none;stroke:currentColor;stroke-width:.4;stroke-linecap:round}
.dev{position:absolute;left:clamp(.5rem,4vw,3rem);top:16vh;font:400 clamp(6rem,22vw,20rem)/1 'Tiro Devanagari Hindi',serif;opacity:.07;user-select:none;pointer-events:none}
.hero .wrap{position:relative;width:100%}
.hero h1{font-size:clamp(3.4rem,14.5vw,13.5rem);line-height:.84;letter-spacing:-.05em}
.hero h1 .ln{display:block}
.hero h1 .ln+.ln{font-style:italic;padding-left:clamp(.8rem,10vw,9rem);--d:350ms}
.sub{margin-top:2.4rem;display:flex;flex-wrap:wrap;gap:1.4rem 3rem;align-items:center;justify-content:space-between}
.sub p{max-width:28ch;font-size:1.15rem}
.sub em{font:italic 400 1.8rem/1.1 var(--serif);color:var(--acc)}
.btn{display:inline-block;background:var(--acc);color:#1b0f2b;text-decoration:none;font-weight:600;padding:1rem 1.8rem;border-radius:999px;transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.btn:hover{transform:scale(1.07) rotate(-2deg)}

.mani{height:270vh;position:relative}
.stick{position:sticky;top:0;height:100svh;display:flex;align-items:center;overflow:hidden}
.lit{font:400 clamp(2rem,5.6vw,4.9rem)/1.1 var(--serif);letter-spacing:-.025em;max-width:18em}
.lit span{opacity:.14;transition:opacity .6s}
.lit span.on{opacity:1}
.lit span.g.on{color:var(--acc);font-style:italic}

.inter{height:230vh;position:relative}
.inter .stick{display:grid;place-items:center}
.inter svg{position:absolute;width:min(135vmin,1000px);height:auto;color:var(--acc);opacity:.9}
.inter svg path{fill:none;stroke:currentColor;stroke-width:.6;stroke-linecap:round}
.inter p{position:relative;text-align:center;font:italic 400 clamp(2.1rem,7vw,6.2rem)/1.02 var(--serif);max-width:11em;padding:0 1.5rem;text-wrap:balance}
.inter small{display:block;margin-top:1.6rem;font:400 1.1rem var(--sans);font-style:normal;opacity:.8}

.big{font-size:clamp(2.7rem,7.6vw,6.8rem);line-height:.98;max-width:11em;text-wrap:balance;transform:skewY(var(--sk,0deg))}
.offer{display:grid;grid-template-columns:1.15fr .85fr;gap:3rem 5rem;align-items:start}
.rows{margin-top:clamp(3rem,7vw,5rem);border-top:1px solid}
.row{position:relative;padding:2rem 0;border-bottom:1px solid;border-color:inherit;transition:padding-left .6s cubic-bezier(.2,.8,.2,1)}
.row::after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:0;background:var(--acc);transition:width .7s cubic-bezier(.2,.8,.2,1)}
.row:hover{padding-left:1rem}.row:hover::after{width:100%}
.row h3{font-size:clamp(1.9rem,3.8vw,3.1rem);line-height:1}
.row:nth-child(2) h3{font-style:italic}
.row p{margin-top:.7rem;max-width:44ch;opacity:.78}
.arches{position:relative;padding-top:2rem}
.arch{position:relative;width:64%;aspect-ratio:3/4.1;border-radius:999px 999px 6px 6px;overflow:hidden;box-shadow:0 40px 80px -30px rgba(0,0,0,.55)}
.arch canvas,.arch::after{position:absolute;inset:0;width:100%;height:100%}
.arch::after{content:"";box-shadow:inset 0 0 60px rgba(0,0,0,.35);border-radius:inherit}
.arch.b{width:50%;margin:-5rem 0 0 auto}
.arches figcaption{margin-top:1rem;font:italic 1.05rem var(--serif);opacity:.7;max-width:26ch}
@media(max-width:860px){.offer{grid-template-columns:1fr}.arches{margin-top:2rem}}

.pledge{overflow:hidden}
.pledge .l1,.pledge .l2{display:block;font:400 clamp(3.2rem,13vw,12rem)/.88 var(--serif);letter-spacing:-.05em;white-space:nowrap;will-change:transform}
.pledge .l2{font-style:italic;color:var(--acc);text-align:right;margin-top:.08em}
.txt{display:grid;grid-template-columns:1fr 1fr;gap:2rem 4rem;margin-top:clamp(3rem,7vw,5rem)}
.txt p:last-child{font:400 clamp(1.5rem,2.8vw,2.3rem)/1.18 var(--serif)}
.txt p:first-child{opacity:.8}

.team{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.team p{margin:1.6rem 0 2rem;max-width:40ch;opacity:.8}
.link{font:italic 400 1.65rem var(--serif);text-decoration:none;border-bottom:1px solid var(--acc);padding-bottom:2px}
.orbit{aspect-ratio:1;max-width:480px;width:100%;justify-self:center}
.orbit .r{fill:none;stroke:var(--fg);stroke-opacity:.25;stroke-width:.4}
.orbit .n{fill:var(--acc)}
.orbit g{transform-origin:100px 100px;animation:spin 60s linear infinite}
.orbit g.b{animation-duration:95s;animation-direction:reverse}.orbit g.b circle{fill:var(--fg)}
@keyframes spin{to{transform:rotate(360deg)}}

.duo{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid}
.duo>div{padding:clamp(2.5rem,6vw,5rem) 0}
.duo>div+div{padding-left:clamp(1.5rem,5vw,4.5rem);border-left:1px solid;border-color:inherit}
.duo h3{font-size:clamp(2.8rem,6.4vw,5.6rem);line-height:.95}
.duo p{margin:1rem 0 1.8rem;max-width:34ch;opacity:.8}

.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:3rem}
details{border-bottom:1px solid;border-color:inherit}
details:first-of-type{border-top:1px solid;border-color:inherit}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:1rem;padding:1.6rem 0;font:400 clamp(1.4rem,2.5vw,2rem)/1.15 var(--serif)}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font:300 2.2rem/1 var(--sans);color:var(--acc);transition:transform .45s}
details[open] summary::after{transform:rotate(135deg)}
details p{padding:0 3rem 1.7rem 0;opacity:.8;max-width:56ch}

.apply{text-align:center;padding:clamp(7rem,15vw,12rem) 0 clamp(5rem,10vw,8rem)}
.apply h2{font-size:clamp(2.6rem,7.4vw,6.6rem);line-height:.98;max-width:12em;margin:0 auto;text-wrap:balance}
.seal{position:relative;display:grid;place-items:center;width:min(310px,70vw);aspect-ratio:1;margin:4rem auto 0;text-decoration:none}
.seal svg{position:absolute;inset:0;width:100%;height:100%;animation:spin 24s linear infinite}
.seal text{font:500 11.5px var(--sans);letter-spacing:.14em;fill:var(--acc)}
.seal span{font:italic 400 2.8rem var(--serif);transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.seal:hover span{transform:scale(1.2)}
.seal::before{content:"";position:absolute;inset:18%;border-radius:50%;border:1px solid var(--acc);transition:inset .5s,background .5s}
.seal:hover::before{inset:10%;background:color-mix(in srgb,var(--acc) 16%,transparent)}
footer{padding:3rem 0 4rem;font-size:.92rem;border-top:1px solid;border-color:color-mix(in srgb,var(--fg) 22%,transparent)}
footer .wrap{display:grid;grid-template-columns:1fr 1fr;gap:2rem 4rem}
footer .serif{font-size:clamp(2.2rem,5vw,3.8rem);line-height:1}
footer p{opacity:.7}footer p+p{margin-top:.8rem}
@media(max-width:860px){.team,.faq,.txt,footer .wrap{grid-template-columns:1fr}}
@media(max-width:700px){.duo{grid-template-columns:1fr}.duo>div+div{padding-left:0;border-left:0;border-top:1px solid;border-color:inherit}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.w>span{transform:none}html{scroll-behavior:auto}}
.page{display:none}.page.on{display:block}
.hero.ph{min-height:86svh}
.hero.ph h1{font-size:clamp(3.2rem,11.5vw,10.5rem)}
.lead{margin-top:2rem;max-width:30ch;font:italic 400 clamp(1.4rem,2.7vw,2.3rem)/1.2 var(--serif)}
.curtain{position:fixed;inset:0;z-index:70;background:var(--acc);color:#1b0f2b;display:grid;place-items:center;font:italic 400 clamp(3.5rem,13vw,11rem)/1 var(--serif);letter-spacing:-.04em;transform:translateY(101%);transition:transform .78s cubic-bezier(.7,0,.2,1)}
.curtain.cover{transform:none}.curtain.leave{transform:translateY(-101%)}
header nav a[aria-current]:not(.keep){opacity:1;text-decoration:underline;text-decoration-color:var(--acc);text-underline-offset:7px;text-decoration-thickness:1.5px}
.mbtn{display:none;margin-left:.5rem;background:none;border:1px solid color-mix(in srgb,var(--fg) 35%,transparent);color:inherit;border-radius:999px;padding:.5rem 1.1rem;font:inherit;font-size:.95rem;cursor:pointer}
.menu{position:fixed;inset:0;z-index:35;background:rgba(var(--rgb),.97);display:flex;flex-direction:column;justify-content:center;padding:6rem 2rem 2rem;opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s}
.menu.open{opacity:1;visibility:visible}
.menu a{font:400 clamp(2.6rem,12vw,4.8rem)/1.12 var(--serif);text-decoration:none;letter-spacing:-.03em}
.menu a[aria-current]{font-style:italic;color:var(--acc)}
@media(max-width:860px){.mbtn{display:block}}
.doors{border-top:1px solid;margin-top:clamp(3rem,7vw,5rem)}
.doors a{display:flex;justify-content:space-between;align-items:baseline;gap:2rem;padding:1.8rem 0;border-bottom:1px solid;border-color:inherit;text-decoration:none;position:relative;transition:padding-left .6s cubic-bezier(.2,.8,.2,1)}
.doors a::after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:0;background:var(--acc);transition:width .7s cubic-bezier(.2,.8,.2,1)}
.doors a:hover{padding-left:1.4rem}.doors a:hover::after{width:100%}.doors a:hover h3{font-style:italic}
.doors h3{font-size:clamp(2.6rem,8.5vw,7.4rem);line-height:.95}
.doors span{max-width:24ch;text-align:right;opacity:.75}
@media(max-width:700px){.doors a{flex-direction:column;gap:.4rem}.doors span{text-align:left}}
.two{display:grid;grid-template-columns:1fr 1fr;gap:3rem 5rem;align-items:start}
.two>p,.two>div>p{opacity:.82;max-width:44ch}
.two p+p{margin-top:1.2rem}
@media(max-width:860px){.two{grid-template-columns:1fr}}
.mem{padding:1.6rem 0;border-bottom:1px solid;border-color:inherit;display:flex;justify-content:space-between;gap:2rem;align-items:baseline}
.mem h3{font-size:clamp(1.8rem,3.6vw,3rem);line-height:1}.mem p{opacity:.75;text-align:right}
.empty{font:italic 400 clamp(1.4rem,2.6vw,2.1rem)/1.25 var(--serif);max-width:28ch;opacity:.9}
.bigmail{font:400 clamp(2rem,6vw,5rem)/1 var(--serif);letter-spacing:-.03em;text-decoration:none;border-bottom:1px solid var(--acc);word-break:break-all}
.fnav{display:flex;flex-wrap:wrap;gap:.4rem 1.6rem;margin-top:1.4rem;font:italic 400 1.35rem var(--serif)}
.fnav a{text-decoration:none;opacity:.85}.fnav a:hover{opacity:1;color:var(--acc)}
.sealwrap{display:flex;flex-direction:column;align-items:center}
.profs{display:grid;grid-template-columns:repeat(3,1fr);gap:4rem 2.5rem;align-items:start}
.prof:nth-child(3n+2){margin-top:5.5rem}.prof:nth-child(3n+3){margin-top:2rem}
.pa{aspect-ratio:3/4.1;border-radius:999px 999px 8px 8px;overflow:hidden;position:relative;box-shadow:0 40px 70px -30px rgba(0,0,0,.55);transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.pa svg{width:100%;height:100%;display:block}.pa .sg{transform-box:fill-box;transform-origin:center;animation:spin 50s linear infinite}
.prof:hover .pa{transform:translateY(-12px) rotate(-1.4deg)}
.prof h3{font-size:clamp(2rem,3.2vw,2.8rem);margin-top:1.4rem;line-height:1}
.prof .role{font:italic 400 1.25rem var(--serif);color:var(--acc);margin-top:.35rem}
.prof .q{margin-top:.8rem;opacity:.82;max-width:30ch;font-size:1rem}
.prof ul{list-style:none;padding:0;margin:1rem 0 0;display:flex;flex-wrap:wrap;gap:.4rem}
.prof li{border:1px solid color-mix(in srgb,var(--fg) 32%,transparent);border-radius:999px;padding:.25rem .85rem;font-size:.85rem}
.pnote{margin-top:3.5rem}
@media(max-width:900px){.profs{grid-template-columns:1fr 1fr}.prof:nth-child(n){margin-top:0}.prof:nth-child(2n){margin-top:3rem}}
@media(max-width:560px){.profs{grid-template-columns:1fr}.prof:nth-child(n){margin-top:0}}
.chips{list-style:none;padding:0;margin:1.4rem 0 0;display:flex;flex-wrap:wrap;gap:.45rem}
.chips li{border:1px solid color-mix(in srgb,var(--fg) 32%,transparent);border-radius:999px;padding:.3rem .95rem;font-size:.88rem}
.ticks{list-style:none;padding:0;margin:1.4rem 0 0}
.ticks li{padding:.7rem 0 .7rem 1.7rem;border-top:1px solid color-mix(in srgb,var(--fg) 20%,transparent);position:relative;opacity:.92}
.ticks li::before{content:"";position:absolute;left:0;top:1.3rem;width:.55rem;height:.55rem;border-radius:50%;background:var(--acc)}
.track .two>div>p{opacity:.9}
.pbtns{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.8rem}
.btn.o{background:transparent;color:inherit;border:1px solid var(--acc)}.btn.o:hover{background:color-mix(in srgb,var(--acc) 18%,transparent)}
.notice{margin-top:2rem;padding:1.3rem 1.6rem;border:1px solid color-mix(in srgb,var(--fg) 28%,transparent);border-radius:1.2rem;max-width:52ch;font-size:.98rem}
.crow{display:grid;grid-template-columns:1.1fr 1.4fr auto;gap:1rem 3rem;align-items:center;padding:2rem 0;margin:0;border-bottom:1px solid;border-color:inherit}
.crow:hover{padding-left:0}.crow h3{font-size:clamp(1.8rem,3.4vw,2.8rem);line-height:1}.crow p{opacity:.78;max-width:42ch;margin:0}
@media(max-width:860px){.crow{grid-template-columns:1fr}}
.tag{display:inline-block;margin-left:.7rem;font:600 .75rem var(--sans);vertical-align:middle;border:1px solid var(--acc);color:var(--acc);border-radius:999px;padding:.15rem .7rem}
.fnd{display:grid;grid-template-columns:.8fr 1.2fr;gap:3rem 5rem;align-items:center}
.fnd .pa{max-width:440px;width:100%}
.fnd .fname{font:400 clamp(3rem,8.4vw,7.4rem)/.9 var(--serif);letter-spacing:-.045em;margin:.3rem 0 1.4rem}
.fnd p{max-width:50ch}.fnd p+p{margin-top:1rem;opacity:.82}.fnd .role{font:italic 400 1.5rem var(--serif);color:var(--acc);margin:0}
.fnd ul{list-style:none;padding:0;margin:1.4rem 0 0;display:flex;flex-wrap:wrap;gap:.4rem}
.fnd li{border:1px solid color-mix(in srgb,var(--fg) 32%,transparent);border-radius:999px;padding:.25rem .85rem;font-size:.85rem}
@media(max-width:860px){.fnd{grid-template-columns:1fr}}
.prof .q{max-width:32ch}
.prof details.more{border:0;margin-top:.9rem}
.prof details.more summary{display:inline-block;padding:0;font:italic 400 1.1rem var(--serif);color:var(--acc);cursor:pointer}
.prof details.more summary::after{content:none}
.prof details.more p{padding:.7rem 0 0;opacity:.85;font-size:.96rem;max-width:34ch}

/* full-screen Julia set explorer */
.arch .jl{cursor:zoom-in;touch-action:pan-y}
.julia-viewer{position:fixed;inset:0;z-index:90;overflow:hidden;background:#070b26;color:#f5efe6;clip-path:circle(0 at var(--origin-x) var(--origin-y));transition:clip-path 1.1s cubic-bezier(.2,.8,.15,1)}
.julia-viewer.open{clip-path:circle(160vmax at var(--origin-x) var(--origin-y))}
.julia-full{position:absolute;inset:0;width:100%;height:100%;cursor:grab;touch-action:none}
.julia-full.dragging{cursor:grabbing}
.julia-tools{position:absolute;inset:0 0 auto;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;padding:clamp(1.2rem,4vw,3.2rem);pointer-events:none;background:linear-gradient(rgba(6,10,36,.64),transparent)}
.julia-title,.julia-controls{pointer-events:auto}
.julia-title{display:grid;gap:.25rem;text-shadow:0 1px 10px rgba(0,0,0,.4)}
.julia-title span{font-size:.67rem;letter-spacing:.17em;color:var(--acc)}
.julia-title strong{font:italic 400 clamp(2rem,5vw,4rem)/1 var(--serif)}
.julia-title small{font-size:.82rem;opacity:.76}
.julia-controls{display:flex;align-items:center;gap:.55rem}
.julia-controls button{width:2.65rem;height:2.65rem;border:1px solid rgba(245,239,230,.58);border-radius:50%;background:rgba(7,11,38,.72);backdrop-filter:blur(12px);color:#f5efe6;font:400 1.4rem/1 var(--sans);cursor:pointer;transition:background .25s,border-color .25s,transform .25s}
.julia-controls button:hover{border-color:#ffd27a;background:rgba(52,30,67,.94);transform:scale(1.06)}
.julia-controls output{min-width:4.5rem;text-align:center;font:italic 400 1rem var(--serif);text-shadow:0 1px 10px rgba(0,0,0,.5)}
.julia-controls .julia-close{margin-left:.7rem;font-size:1.7rem}
.julia-hint{position:absolute;bottom:clamp(1.2rem,4vw,3rem);left:clamp(1.2rem,4vw,3.2rem);font:italic 400 clamp(1.2rem,2.5vw,1.8rem) var(--serif);opacity:.72;pointer-events:none;text-shadow:0 1px 10px rgba(0,0,0,.5)}
@media(max-width:600px){.julia-tools{flex-direction:column;gap:1rem}.julia-controls{align-self:flex-end}.julia-title small{max-width:22ch}}

/* application note */
.apply-form-section{padding-top:clamp(4rem,9vw,7rem)}
.form-heading{max-width:760px;margin-bottom:clamp(2.5rem,6vw,4rem)}
.form-kicker{font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;color:var(--acc);font-weight:600}
.form-heading .big{margin:.6rem 0 1.2rem}
.form-intro{font:italic 400 clamp(1.3rem,2.4vw,1.8rem)/1.25 var(--serif);opacity:.78;max-width:34ch}
.application{color:var(--fg);border:1px solid color-mix(in srgb,var(--fg) 28%,transparent);border-radius:1.8rem;padding:clamp(1.2rem,4vw,3rem);background:linear-gradient(140deg,color-mix(in srgb,var(--fg) 5%,transparent),rgba(var(--rgb),.2));box-shadow:0 35px 100px -55px rgba(0,0,0,.8);backdrop-filter:blur(14px)}
.track-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin-bottom:clamp(2rem,5vw,3.5rem)}
.track-choice{display:grid;grid-template-columns:2.1rem 1fr;grid-template-rows:auto auto;align-items:center;gap:.2rem .8rem;text-align:left;background:transparent;border:1px solid color-mix(in srgb,var(--fg) 24%,transparent);border-radius:1.1rem;padding:1rem 1.1rem;color:inherit;font:inherit;cursor:pointer;transition:background .35s,border-color .35s,transform .35s}
.track-choice:hover{transform:translateY(-3px);border-color:var(--acc)}
.track-choice[aria-pressed=true]{background:color-mix(in srgb,var(--acc) 15%,transparent);border-color:var(--acc)}
.track-choice>span{grid-row:1/3;font:italic 400 1.5rem var(--serif);color:var(--acc)}
.track-choice strong{font:400 1.35rem/1.05 var(--serif)}
.track-choice small{opacity:.68;font-size:.76rem}
.form-grid,.role-questions{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem 1.4rem}
.field{display:flex;flex-direction:column;gap:.5rem;min-width:0}
.field>span{font:400 1.2rem/1.1 var(--serif)}
.field i{font:italic .85rem var(--serif);opacity:.65}
.field small{font-size:.8rem;opacity:.67}
.field-wide{grid-column:1/-1}
.field input,.field textarea{width:100%;border:1px solid color-mix(in srgb,var(--fg) 34%,transparent);border-radius:.75rem;background:color-mix(in srgb,var(--base) 90%,var(--fg) 10%);padding:.95rem 1rem;color:var(--fg);font:400 .97rem/1.5 var(--sans);outline:none;transition:border-color .25s,background-color .25s,color .25s}
.field input::placeholder,.field textarea::placeholder{color:color-mix(in srgb,var(--fg) 72%,var(--base))}
.field input:focus,.field textarea:focus{border-color:var(--acc);background:color-mix(in srgb,var(--base) 84%,var(--fg) 16%)}
.field textarea{resize:vertical;min-height:6rem}
.track-fields{margin-top:2rem;padding-top:2rem;border-top:1px solid color-mix(in srgb,var(--fg) 20%,transparent)}
.form-hint{font:italic 400 1.2rem var(--serif);opacity:.68}
.role-intro{display:flex;gap:1.3rem;align-items:flex-start;margin-bottom:1.6rem}
.role-mark{font:italic 400 3rem/.9 var(--serif);color:var(--acc)}
.role-intro h3{font-size:clamp(1.8rem,4vw,2.6rem);margin:.25rem 0 .4rem}
.role-intro>div>p:last-child{opacity:.76;max-width:52ch}
.role-questions{margin-top:1.5rem}
.consent{display:flex;flex-direction:row;align-items:flex-start;gap:.8rem;margin-top:1.7rem;font-size:.84rem;opacity:.78;max-width:70ch}
.consent>span{font:400 .95rem/1.5 var(--sans)}
.consent input{accent-color:var(--acc);width:1.05rem;height:1.05rem;margin:.18rem 0 0;flex:none}
.form-end{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-top:1.6rem;padding-top:1.5rem;border-top:1px solid color-mix(in srgb,var(--fg) 18%,transparent)}
.form-note{font-size:.82rem;line-height:1.5;opacity:.7;max-width:38ch}
.submit-application{border:0;font:600 .96rem var(--sans);white-space:nowrap;cursor:pointer}
.submit-application span{margin-left:.5rem;font-size:1.2rem}
.form-status{min-height:1.4em;margin-top:.8rem;color:var(--acc);font-size:.9rem}
.privacy-card{display:flex;gap:1.1rem;align-items:flex-start;margin-top:1.5rem;padding:1.2rem 1.4rem;border-left:1px solid var(--acc);background:color-mix(in srgb,var(--fg) 4%,transparent);max-width:780px}
.privacy-card>span{font-size:1.4rem;color:var(--acc)}
.privacy-card strong{font:400 1.25rem var(--serif)}.privacy-card p{opacity:.7;font-size:.84rem;margin-top:.3rem}
@media(max-width:700px){.track-picker{grid-template-columns:1fr}.track-choice{grid-template-columns:2rem 1fr auto}.track-choice>span{grid-row:1}.track-choice small{grid-column:2;grid-row:2}.form-grid,.role-questions{grid-template-columns:1fr}.form-end{align-items:flex-start;flex-direction:column}.field-wide{grid-column:auto}}

/* calendar-day accents */
.calendar-moment{position:absolute;right:clamp(1.2rem,5vw,4rem);top:25%;z-index:2;text-align:right;max-width:16ch;pointer-events:none;animation:moment-in 1.4s both}
.calendar-moment span{font:italic 400 clamp(1.7rem,3vw,2.4rem)/1 var(--serif);color:var(--acc)}
.calendar-moment small{display:block;margin-top:.45rem;opacity:.72;font-size:.76rem}
@keyframes moment-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.math-sparkles{position:absolute;inset:10% 0 5%;overflow:hidden;pointer-events:none;color:var(--acc);opacity:.34}
.math-sparkles span{position:absolute;left:var(--x);top:var(--y);font:italic 1.1rem var(--serif);animation:spark-float 9s var(--delay) ease-in-out infinite alternate}
@keyframes spark-float{to{transform:translate3d(8px,-18px,0) rotate(12deg);opacity:.35}}
.calendar-moment,.math-sparkles{display:none}
body[data-calendar-moment] .calendar-moment,body[data-calendar-moment] .math-sparkles{display:block}
@media(max-width:700px){.calendar-moment{top:19%;right:1.3rem}.calendar-moment small{max-width:17ch}}

/* browseable resource shelves */
.library-tools{display:flex;align-items:center;gap:1rem 1.5rem;flex-wrap:wrap;padding:1.3rem 0;border-bottom:1px solid color-mix(in srgb,var(--fg) 20%,transparent);margin-top:1.5rem}
.library-search{position:relative;display:block;flex:1 1 260px}
.library-search input{width:100%;border:1px solid color-mix(in srgb,var(--fg) 28%,transparent);border-radius:999px;background:color-mix(in srgb,var(--fg) 5%,transparent);color:var(--fg);padding:.8rem 2.8rem .8rem 1.1rem;font:400 .95rem var(--sans)}
.library-search input:focus,.library-select select:focus{outline:2px solid var(--acc);outline-offset:2px}
.library-search>span:not(.sr-only){position:absolute;right:1rem;top:.35rem;font-size:1.5rem;color:var(--acc)}
.library-select{display:flex;align-items:center;gap:.55rem;font-size:.82rem;opacity:.8}
.library-select select{border:1px solid color-mix(in srgb,var(--fg) 25%,transparent);border-radius:999px;background:rgba(var(--rgb),.8);color:var(--fg);padding:.7rem 2.3rem .7rem .9rem;font:inherit}
.library-count{font-size:.78rem;opacity:.58;min-width:10ch}
.library-empty{padding:1.5rem 0;font:italic 400 1.2rem var(--serif);opacity:.7}
.library-item{grid-template-columns:1fr 1.1fr 1.4fr auto;grid-template-rows:auto auto;gap:.5rem 1.4rem;padding:2rem .8rem;border-radius:.6rem;transition:background .3s,transform .3s}
.library-item:hover{transform:translateX(.35rem);background:color-mix(in srgb,var(--shelf,#ffd27a) 6%,transparent)}
.library-item[hidden]{display:none}
.library-item:nth-child(1){--shelf:#ffd27a}.library-item:nth-child(2){--shelf:#ffa2c1}.library-item:nth-child(3){--shelf:#9fe6d5}
.library-item .shelf-mark{grid-column:1/-1;color:var(--shelf);font-size:.65rem;font-weight:600;letter-spacing:.16em}
.library-item h3{align-self:center;color:color-mix(in srgb,var(--shelf) 75%,var(--fg))}
.library-item p{align-self:center}
.library-item .btn{justify-self:end}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:860px){.library-item{grid-template-columns:1fr}.library-item .shelf-mark{grid-column:auto}.library-item .btn{justify-self:start}}
html.t .curtain{transform:none;transition:none}
.off{opacity:.45;pointer-events:none}

/* homepage intro */
html.intro-on{overflow:hidden}
html.intro-on header{opacity:0}
header{transition:opacity 1.1s}
html.intro-on .hero .wrap,html.intro-on .hero svg{visibility:hidden}
#intro{position:fixed;inset:0;z-index:80;cursor:pointer}
#intro canvas{display:block;width:100%;height:100%}
#intro .skip{position:absolute;right:clamp(1rem,3vw,2rem);bottom:calc(env(safe-area-inset-bottom,0px) + 1.4rem);background:none;border:0;color:#f5efe6;opacity:0;font:italic 400 1.2rem var(--serif);cursor:pointer;padding:.4rem .6rem;animation:skin .8s 1s forwards}
#intro .skip:hover{color:var(--acc)}
@keyframes skin{to{opacity:.65}}
.intro-played .hero .sub{animation:sfin 1.4s .9s both}
@keyframes sfin{from{opacity:0;transform:translateY(14px)}}
