@font-face{font-family:'IT';src:url(fonts/it.woff2) format('woff2');font-weight:100 900;font-display:swap}@font-face{font-family:'FR';src:url(fonts/fr.woff2) format('woff2');font-weight:100 900;font-display:swap}@font-face{font-family:'FR';src:url(fonts/fri.woff2) format('woff2');font-weight:100 900;font-style:italic;font-display:swap}@font-face{font-family:'JB';src:url(fonts/jb.woff2) format('woff2');font-display:swap}:root{--paper:#f4efe6;--ink:#14110f;--deep:#1b1512;--mute:#5b544c;--rule:#d8d0c2;--pink:#eb0089;--a:#5b4a8a;--b:#b78039;--sans:'IT','Inter Tight',Arial,sans-serif;--ser:'FR',Georgia,serif;--mono:'JB',ui-monospace,monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 18px/1.6 var(--sans)}
canvas#scene{position:fixed;inset:0;width:100vw;height:100vh;z-index:0;pointer-events:none;display:none}.gl canvas#scene{display:block}
main,header,footer{position:relative;z-index:1}.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.6rem 1rem;z-index:10}.skip:focus{left:0}
a{color:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--pink);outline-offset:3px}
.top{position:fixed;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:.9rem clamp(1rem,3vw,2rem);background:color-mix(in srgb,var(--paper) 94%,transparent);border-bottom:1px solid var(--rule);z-index:5}
.brand{display:flex;align-items:baseline;gap:.6rem;text-decoration:none}.brand b{font:700 1.8rem/1 var(--sans);letter-spacing:-.05em;position:relative}.brand i{position:absolute;right:.12em;top:.42em;width:.2em;height:.2em;border-radius:50%;background:var(--pink)}.brand span{font:600 1.05rem var(--sans)}
nav{display:flex;gap:1.6rem;align-items:center;font:500 .95rem var(--sans)}nav a{text-decoration:none}nav a:hover{text-decoration:underline}nav .pill{border:1px solid var(--ink);border-radius:99px;padding:.5rem 1.1rem}nav .pill:hover{background:var(--ink);color:var(--paper);text-decoration:none}
.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:8rem clamp(1rem,3vw,2rem) 3rem;max-width:1400px;margin:auto}
.eyebrow{font:400 .78rem var(--mono);letter-spacing:.14em;color:var(--mute);margin:0 0 1.2rem}
h1{font:650 clamp(3.2rem,9vw,8.4rem)/.96 var(--sans);letter-spacing:-.045em;margin:0 0 1.6rem;max-width:11ch}
.F-serif h1{font:400 clamp(3rem,8.4vw,7.8rem)/.98 var(--ser);letter-spacing:-.03em}h1 em{font-family:var(--ser);font-style:italic;font-weight:400;color:var(--pink);letter-spacing:-.02em}
.H-stack h1{max-width:none}
.lede{max-width:34ch;font-size:1.3rem;margin:0 0 1.8rem;color:var(--ink)}
.paths{display:flex;gap:.6rem;flex-wrap:wrap}.paths button{font:500 1rem var(--sans);padding:.75rem 1.3rem;border-radius:99px;border:1px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer}.paths button[aria-pressed=true]{background:var(--pink);border-color:var(--pink);color:#fff}
.pathtext{max-width:42ch;margin:1.1rem 0 0;border-left:3px solid var(--pink);padding-left:.8rem}
.toc{list-style:none;display:flex;flex-wrap:wrap;gap:0 1.6rem;padding:1rem 0 0;margin:3rem 0 0;border-top:1px solid var(--ink);font:400 .8rem var(--mono);letter-spacing:.06em;text-transform:uppercase;max-width:min(100%,900px)}.toc a{text-decoration:none;display:block;padding:.2rem 0}.toc a:hover{color:var(--pink)}.toc span{color:var(--mute)}
.chap{margin:0 0 36vh;background:color-mix(in srgb,var(--paper) 95%,transparent);border-top:1px solid var(--ink);border-bottom:1px solid var(--rule)}
.in{max-width:1400px;margin:auto;padding:clamp(2rem,6vw,4.5rem) clamp(1rem,3vw,2rem)}.chap .in{display:grid;grid-template-columns:minmax(10rem,1fr) 3fr;gap:2rem}
.lab{font:400 .78rem var(--mono);letter-spacing:.12em;color:var(--mute);margin:.5rem 0 0}
h2{font:650 clamp(1.8rem,4vw,3.2rem)/1.04 var(--sans);letter-spacing:-.035em;margin:0 0 1rem}.F-serif h2{font:400 clamp(1.9rem,4vw,3.3rem)/1.06 var(--ser);letter-spacing:-.02em}
.chap p:not(.lab){margin:0;max-width:52ch;font-size:1.15rem}
.chap:nth-child(3n+1){border-top-color:var(--a)}.chap:nth-child(3n+2){border-top-color:var(--pink)}.chap:nth-child(3n){border-top-color:var(--b)}
.H-stack .chap .in{grid-template-columns:1fr}.H-stack .chap h2{max-width:20ch}
.offer{background:var(--paper)}.grid{list-style:none;padding:0;margin:2rem 0 0;border-top:1px solid var(--ink)}.grid li{display:grid;grid-template-columns:4rem 1fr;gap:1rem;padding:1.2rem 0;border-bottom:1px solid var(--rule);align-items:baseline}.grid span{font:400 .8rem var(--mono);color:var(--mute)}.grid h3{margin:0;font:600 clamp(1.2rem,2.4vw,1.8rem) var(--sans);letter-spacing:-.02em}.grid li:hover h3{color:var(--pink)}
.enq{background:var(--deep);color:var(--paper)}.enq h2{font-size:clamp(2.4rem,7vw,6rem)}.enq p{max-width:40ch;font-size:1.2rem}.btn{display:inline-block;margin-top:1rem;background:var(--pink);color:#fff;font:600 1.1rem var(--sans);padding:1rem 1.8rem;border-radius:99px;text-decoration:none}
footer{background:var(--deep);color:var(--paper);border-top:1px solid #3a322b;padding:1.4rem clamp(1rem,3vw,2rem);font:400 .8rem var(--mono)}footer p{margin:0;max-width:1400px;margin:auto}
.rv{opacity:0;transform:translateY(20px);transition:opacity .7s,transform .7s}.rv.in2,.rv.in{opacity:1;transform:none}
@media(max-width:800px){.lede,.pathtext{background:color-mix(in srgb,var(--paper) 80%,transparent)}nav a:not(.pill){display:none}.chap .in{grid-template-columns:1fr;gap:.5rem}.hero{padding-top:6.5rem}.chap{margin-bottom:24vh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rv{opacity:1;transform:none;transition:none}}
