:root{--paper:#f1edde;--paper-2:#eae5d2;--card:#faf7ec;--line:#d9d2bc;--ink:#241b3e;--mute:#6f6885;--purple:#5b3fc8;--purple-deep:#3b2a86;--purple-soft:#5b3fc81f;--purple-a20:#5b3fc833;--purple-a25:#5b3fc840;--purple-a26:#5b3fc842;--purple-deep-a10:#3b2a861a;--purple-deep-a14:#3b2a8624;--purple-light:#8b6ff0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;overflow-x:hidden}::selection{background:var(--purple);color:var(--paper)}.amb{z-index:0;pointer-events:none;color:#0000;-webkit-text-stroke:1.5px var(--purple-a26);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:min(70vw,34rem);transition:opacity .6s;display:flex;position:fixed;inset:0}.amb-off{opacity:0}.amb span{animation:40s linear infinite drift;display:block}@keyframes drift{to{transform:rotate(360deg)}}main{z-index:1;position:relative}header{z-index:5;background:linear-gradient(var(--paper) 40%, transparent);justify-content:space-between;align-items:center;padding:.9rem 5vw;display:flex;position:fixed;top:0;left:0;right:0}.brand{align-items:center;gap:.7rem;display:flex}.brand .mark{width:2.3rem;height:2.3rem}.wordmark-sm{letter-spacing:.32em;color:var(--purple-deep);font-size:.82rem;font-weight:800}header a{color:var(--mute);letter-spacing:.12em;text-transform:uppercase;font-size:.8rem;text-decoration:none}header a:hover,header a:focus-visible{color:var(--purple)}.mark circle{fill:var(--purple)}.mark text{fill:var(--paper);font-family:system-ui,sans-serif;font-weight:800}.hero{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1.3rem;min-height:100svh;padding:0 5vw;display:flex}.hero h1{letter-spacing:.14em;white-space:nowrap;margin:0;font-size:clamp(2.6rem,10vw,7.5rem);font-weight:800;position:relative}.halo{z-index:-1;background:radial-gradient(50% 50% at 50% 50%, var(--purple-a20), transparent 70%);filter:blur(28px);width:130%;height:150%;animation:5s ease-in-out infinite pulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes pulse{50%{opacity:.5;transform:translate(-50%,-50%)scale(1.12)}}.hero h1 b{color:#0000;background:linear-gradient(115deg, var(--purple-deep) 32%, var(--purple) 46%, var(--purple-light) 52%, var(--purple-deep) 66%);animation:rise .9s calc(.15s + var(--i) * 70ms) cubic-bezier(.2, .7, .2, 1) both, glint 5.5s calc(1.6s + var(--i) * .14s) ease-in-out infinite;background-position:100% 0;background-size:320% 100%;-webkit-background-clip:text;background-clip:text;font-weight:800;display:inline-block}@keyframes glint{0%,55%,to{background-position:100% 0}25%{background-position:0 0}}.hero .tag{color:var(--mute);font-size:clamp(1rem,2.4vw,1.4rem);animation:1.1s cubic-bezier(.2,.7,.2,1) .5s both rise}.hero .tag em{color:var(--purple);font-style:normal;font-weight:600}.hero .thread{max-width:34rem;color:var(--mute);margin:0;font-size:.95rem;animation:1.1s cubic-bezier(.2,.7,.2,1) .65s both rise}.scroll-cue{color:var(--purple);letter-spacing:.3em;text-transform:uppercase;margin-top:1.6rem;font-size:.75rem;animation:1.1s .85s both rise,2.2s ease-in-out 2s infinite bob}@keyframes rise{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}@keyframes bob{50%{transform:translateY(6px)}}.offerings{max-width:76rem;margin:0 auto;padding:8vh 5vw 10vh}.offerings .label{text-align:center;letter-spacing:.3em;text-transform:uppercase;color:var(--mute);margin-bottom:1rem;font-size:.75rem}.loop-wrap{width:100%;position:relative}.loop-wrap svg{width:100%;height:auto;display:block}#loopPath{fill:none;stroke:var(--purple);stroke-width:2.5px;stroke-linecap:round;opacity:.55}.loop-wrap.in #loopPath{animation:2.4s cubic-bezier(.4,0,.2,1) both draw}@keyframes draw{0%{stroke-dashoffset:var(--len)}to{stroke-dashoffset:0}}.node{background:var(--card);border:1.5px solid var(--purple);color:var(--purple-deep);letter-spacing:.03em;white-space:nowrap;box-shadow:0 4px 16px var(--purple-deep-a10);opacity:0;transition:opacity .5s,scale .5s cubic-bezier(.2,.7,.2,1),background .25s,color .25s;transition-delay:var(--d), var(--d), 0s, 0s;border-radius:99px;align-items:center;gap:.45rem;padding:.5rem .95rem;font-size:.82rem;font-weight:600;text-decoration:none;display:inline-flex;position:absolute;transform:translate(-50%,-50%)scale(.6)}.loop-wrap.in .node{opacity:1;scale:1}.node:hover,.node:focus-visible{background:var(--purple);color:var(--paper)}.node .n{opacity:.7;font-variant-numeric:tabular-nums;font-size:.68rem}.node-dot{background:var(--purple);opacity:0;width:8px;height:8px;transition:opacity .4s;transition-delay:var(--d);border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.loop-wrap.in .node-dot{opacity:.8}@media (width<=720px){.offerings{padding-left:3vw;padding-right:3vw}.node{gap:.35rem;padding:.42rem .75rem;font-size:.74rem}.node .n{font-size:.6rem}}.chapter{max-width:72rem;margin:0 auto;padding:12vh 5vw;scroll-margin-top:3.5rem}.chapter-head{align-items:baseline;gap:1rem;margin-bottom:.6rem;display:flex}.chapter-head .idx{color:var(--purple);letter-spacing:.2em;font-variant-numeric:tabular-nums;font-size:.8rem}.chapter h2{letter-spacing:.04em;text-transform:uppercase;color:var(--purple-deep);margin:0;font-size:clamp(1.6rem,4.5vw,2.8rem);font-weight:800}.chapter .about{color:var(--mute);max-width:40rem;margin:0 0 2rem}.cards{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:1.2rem;display:grid}.card{color:inherit;background:var(--card);border:1px solid var(--line);border-radius:6px;text-decoration:none;transition:transform .35s cubic-bezier(.2,.7,.2,1),border-color .35s,box-shadow .35s;display:block;overflow:hidden}.card:hover,.card:focus-visible{border-color:var(--purple);box-shadow:0 12px 30px var(--purple-deep-a14);transform:translateY(-6px)}.thumb{aspect-ratio:16/9;background:radial-gradient(120% 90% at 30% 20%, var(--purple-a20), transparent 60%), var(--paper-2);color:var(--purple);justify-content:center;align-items:center;font-size:1.6rem;display:flex}.card .meta{padding:.9rem 1rem 1.1rem}.card .title{margin:0 0 .3rem;font-size:.95rem;font-weight:600}.card .blurb{color:var(--mute);margin:0;font-size:.85rem}.card .src{letter-spacing:.18em;text-transform:uppercase;color:var(--purple);margin-top:.7rem;font-size:.68rem;display:inline-block}@media (width<=640px){.cards{scroll-snap-type:x mandatory;scrollbar-width:none;gap:.9rem;margin-right:-5vw;padding-bottom:.6rem;padding-right:5vw;display:flex;overflow-x:auto}.cards::-webkit-scrollbar{display:none}.card{scroll-snap-align:start;flex:0 0 76%}}.reveal{opacity:0;transition:opacity .8s,transform .8s cubic-bezier(.2,.7,.2,1);transform:translateY(36px)}.reveal.in{opacity:1;transform:none}.cards .reveal:nth-child(2){transition-delay:.12s}.cards .reveal:nth-child(3){transition-delay:.24s}.brands{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper-2);padding:10vh 0}.brands .label{text-align:center;letter-spacing:.3em;text-transform:uppercase;color:var(--mute);margin-bottom:2.2rem;font-size:.75rem}.marquee{overflow:hidden}.marquee-track{letter-spacing:.12em;width:max-content;color:var(--purple-deep);white-space:nowrap;opacity:.55;gap:4.5rem;font-size:1.15rem;font-weight:700;animation:28s linear infinite slide;display:flex}@keyframes slide{to{transform:translate(-50%)}}.marquee-track span{align-items:center;gap:.5em;display:inline-flex}.marquee-track .brand-logo{border-radius:4px;width:auto;height:1.5em}footer{text-align:center;padding:10vh 5vw 12vh}footer .big{letter-spacing:.06em;color:var(--purple-deep);margin:0 0 1rem;font-size:clamp(1.4rem,4vw,2.4rem);font-weight:800}footer a.cta{background:var(--purple);border:1.5px solid var(--purple);color:var(--paper);letter-spacing:.2em;text-transform:uppercase;border-radius:99px;margin-top:1rem;padding:.8rem 1.8rem;font-size:.78rem;text-decoration:none;transition:background .3s,color .3s,box-shadow .3s;display:inline-block}footer a.cta:hover,footer a.cta:focus-visible{color:var(--purple);box-shadow:0 8px 26px var(--purple-a25);background:0 0}footer .fine{color:var(--mute);margin-top:2.5rem;font-size:.78rem}@media (prefers-reduced-motion:reduce){.amb{transition:none}.amb span,.scroll-cue,.marquee-track,.halo,.hero h1 b{animation:none}.hero h1 b{background-position:55% 0}.hero .tag,.hero .thread{animation-duration:10ms}.loop-wrap.in #loopPath{animation:none}.node,.node-dot{transition-delay:0s}.reveal{opacity:1;transition:none;transform:none}}.gate{background:var(--paper);min-height:100vh;color:var(--ink);place-items:center;padding:1rem;display:grid}.gate-card{background:var(--card);border:1px solid var(--line);text-align:center;width:min(360px,100%);box-shadow:0 14px 40px var(--purple-deep-a10);border-radius:16px;padding:2.5rem 2rem}.gate-mark{width:56px;height:56px;margin-bottom:1rem}.gate-mark circle{fill:none;stroke:var(--purple);stroke-width:3px}.gate-mark text{fill:var(--purple);font-weight:700}.gate-title{margin:0 0 .35rem;font-size:1.25rem}.gate-sub{color:var(--mute);margin:0 0 1.5rem;font-size:.95rem}.gate-card input{box-sizing:border-box;border:1px solid var(--line);background:var(--paper);width:100%;color:var(--ink);font:inherit;border-radius:10px;margin-bottom:.75rem;padding:.7rem .9rem}.gate-card input:focus{outline:2px solid var(--purple-a25);border-color:var(--purple)}.gate-card button{background:var(--purple);color:#fff;width:100%;font:inherit;cursor:pointer;border:0;border-radius:10px;padding:.7rem .9rem;font-weight:600}.gate-card button:disabled{opacity:.55;cursor:default}.gate-error{color:#a4322c;margin:.9rem 0 0;font-size:.9rem}
