:root{--bone:#ece9e2;--paper:#f4f2ed;--ink:#3a3a37;--deep:#262624;--stone:#8d897f;--brass:#9a8153;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Jost',system-ui,sans-serif}
*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth;scroll-padding-top:70px}
body{background:var(--bone);color:var(--ink);font:300 16px/1.7 var(--sans);overflow-x:hidden}
a{color:inherit}img{max-width:100%;display:block}
h1,h2,h3{font-family:var(--serif);font-weight:300;line-height:1.02;letter-spacing:-.01em}
h2{font-size:clamp(2.4rem,5.5vw,4.6rem)}h3{font-size:1.5rem;font-weight:500}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px}
.curtain{position:fixed;inset:0;z-index:99;background:var(--deep);display:grid;place-items:center;color:var(--bone);font:300 3rem var(--serif);letter-spacing:.5em;animation:up 1.1s cubic-bezier(.8,0,.2,1) 1.1s forwards}
.curtain span{animation:fade 1s ease-out both}@keyframes fade{from{opacity:0;letter-spacing:1em}}@keyframes up{to{transform:translateY(-100%);visibility:hidden}}
.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:18px 4vw;transition:.4s}
.nav.s{background:rgba(236,233,226,.88);backdrop-filter:blur(12px);padding-block:12px}
.brand{font:500 1.4rem var(--serif);letter-spacing:.35em;text-decoration:none}
#menu{display:flex;gap:2rem}#menu a{text-decoration:none;font-size:.85rem;position:relative}
#menu a:after{content:"";position:absolute;left:0;bottom:-3px;height:1px;width:100%;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .4s}
#menu a:hover:after{transform:scaleX(1);transform-origin:left}
.pill,.btn,button.btn{display:inline-block;background:var(--ink);color:var(--bone);border:0;border-radius:99px;padding:.85em 1.8em;font:400 .9rem var(--sans);text-decoration:none;cursor:pointer;transition:.3s}
.pill:hover,.btn:hover{background:var(--brass);transform:translateY(-2px)}
.ghost{padding:.85em .4em;text-decoration:underline;text-underline-offset:6px;font-size:.9rem}
.burger{display:none;background:none;border:0;width:36px;height:26px;position:relative;cursor:pointer}.burger i{position:absolute;left:6px;right:6px;height:1px;background:var(--ink);transition:.3s}.burger i:first-child{top:9px}.burger i:last-child{top:16px}
.hero{min-height:100svh;display:grid;grid-template-columns:1.1fr .9fr;gap:4vw;align-items:center;padding:110px 4vw 50px}
.small{font-size:.8rem;color:var(--stone);margin-bottom:1.4rem}
.hero h1{font-size:clamp(3.4rem,9vw,8rem);margin-bottom:1.6rem}.hero h1 span{display:block;overflow:hidden}
.hero h1 span:nth-child(2){font-style:italic;padding-left:.6em}
.lede{max-width:46ch;margin-bottom:2rem}.cta{display:flex;gap:1.2rem;align-items:center;flex-wrap:wrap}
.count{display:flex;gap:2rem;margin-top:3rem}.count div{font-size:.75rem;color:var(--stone)}.count b{display:block;font:300 2.8rem/1 var(--serif);color:var(--ink)}
.arch{border-radius:50vw 50vw 0 0;overflow:hidden;aspect-ratio:3/4;max-height:78vh;justify-self:center;width:100%;max-width:520px;box-shadow:0 40px 80px -30px rgba(38,38,36,.45)}
.arch img{width:100%;height:115%;object-fit:cover;will-change:transform}
.marquee{overflow:hidden;white-space:nowrap;border-block:1px solid rgba(58,58,55,.2);padding:1rem 0;font:italic 300 2rem var(--serif)}
.marquee div{display:inline-block;animation:mq 40s linear infinite}@keyframes mq{to{transform:translateX(-50%)}}
.sec{padding:clamp(80px,12vw,160px) 4vw}
.rv{opacity:0;transform:translateY(40px);transition:1s cubic-bezier(.2,.7,.2,1)}.rv.in{opacity:1;transform:none}
.sigil,.idsec,.res{display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:center}
.intro p{margin-top:1.4rem;max-width:44ch}.hint{font-size:.8rem;color:var(--stone)}
.orbit{position:relative;aspect-ratio:1;max-width:560px;width:100%;justify-self:center}
.orbit:before{content:"";position:absolute;inset:6%;border:1px solid rgba(58,58,55,.25);border-radius:50%}
.core{position:absolute;inset:27%;border-radius:50%;overflow:hidden;box-shadow:0 20px 50px -15px rgba(0,0,0,.4)}.core img{width:100%;height:100%;object-fit:cover;transform:scale(1.35)}
.node{position:absolute;left:50%;top:50%;font:italic 400 1.05rem var(--serif);background:var(--bone);padding:.2em .8em;border:1px solid rgba(58,58,55,.25);border-radius:99px;transform:translate(-50%,-50%);white-space:nowrap;cursor:default;transition:background .3s,color .3s}
.node:hover{background:var(--ink);color:var(--bone)}
.flow{background:var(--paper)}.flow h2{max-width:14ch;margin-bottom:4rem}
.flow ol{list-style:none;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:0;counter-reset:s;border-top:1px solid var(--ink)}
.flow li{counter-increment:s;padding:2rem 1.4rem 0 0;position:relative}
.flow li:before{content:counter(s);position:absolute;top:-14px;left:0;background:var(--paper);padding-right:10px;font:italic 1.4rem var(--serif);color:var(--brass)}
.flow li p{font-size:.9rem;margin-top:.6rem}
.head{display:grid;grid-template-columns:1fr 1fr;gap:4vw;align-items:end;margin-bottom:4rem}
.grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1.2rem}
.grid article{display:flex;flex-direction:column;gap:.5rem}
.ph{aspect-ratio:3/4;background:linear-gradient(160deg,#dcd8cf,#c9c4b8);display:grid;place-items:center;overflow:hidden;position:relative;transition:.6s}
.ph:before{content:"";width:46%;aspect-ratio:1;border-radius:50%;border:1px solid rgba(58,58,55,.35);position:absolute;transition:.8s}
.ph em{font:300 1.1rem var(--serif);position:relative;color:var(--ink)}
.grid article:hover .ph{background:linear-gradient(160deg,#3a3a37,#262624)}.grid article:hover .ph em{color:var(--bone)}.grid article:hover .ph:before{transform:scale(1.5) rotate(90deg);border-color:var(--brass)}
.grid p{font-size:.85rem;flex:1}.grid b{font-weight:400}
.grid button,.pair+blockquote{cursor:pointer}
.grid button{background:none;border:1px solid var(--ink);border-radius:99px;padding:.6em 1em;font:inherit;font-size:.85rem;color:var(--ink);transition:.3s}.grid button:hover{background:var(--ink);color:var(--bone)}
.idsec{background:var(--paper)}
.card{width:100%;max-width:440px;aspect-ratio:1.586;justify-self:center;perspective:1200px;background:none;border:0;position:relative;cursor:pointer;color:var(--bone)}
.face{position:absolute;inset:0;border-radius:18px;padding:1.6rem;background:linear-gradient(135deg,#3a3a37,#1f1f1e);display:flex;flex-direction:column;justify-content:space-between;text-align:left;backface-visibility:hidden;transition:transform .9s cubic-bezier(.2,.7,.2,1);box-shadow:0 30px 60px -25px rgba(0,0,0,.6)}
.front img{width:64px;height:64px;border-radius:50%;object-fit:cover;transform:scale(1);border:1px solid var(--brass)}
.front b{font:300 1.7rem var(--serif);letter-spacing:.12em}.face small{font-size:.7rem;opacity:.7}
.back{transform:rotateY(180deg)}.card.f .front{transform:rotateY(-180deg)}.card.f .back{transform:none}
.back dl{display:grid;grid-template-columns:auto 1fr;gap:.2rem 1rem;font-size:.8rem}.back dt{opacity:.6}.back dd{margin:0}
.qr{position:absolute;right:1.6rem;top:1.6rem;width:58px;height:58px;background:repeating-conic-gradient(var(--bone) 0 25%,transparent 0 50%) 0 0/14px 14px;opacity:.85}
.circ .sub{max-width:52ch;margin:1.4rem 0 3.5rem}
.tiers{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink)}
.tiers div{padding:1.6rem 1.4rem 1.6rem 0;transition:.4s}.tiers div:hover{padding-left:1rem;background:var(--paper)}.tiers p{font-size:.9rem}
.path{margin-top:2.5rem;font:italic 1.4rem var(--serif);color:var(--brass)}
.about{background:var(--deep);color:var(--bone);text-align:center}.about .in{max-width:760px;margin:auto}
.about p{margin:1.6rem auto;max-width:50ch}
.pair{display:flex;justify-content:center;align-items:center;gap:2rem;margin:3rem 0}.pair div{display:flex;flex-direction:column}.pair small{color:var(--brass);font-size:.8rem}.pair b{font:300 1.6rem var(--serif)}
.pair span{width:80px;height:1px;background:var(--brass)}
blockquote{font:italic 300 clamp(1.8rem,4vw,3rem)/1.2 var(--serif)}
form{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
label{display:flex;flex-direction:column;gap:.3rem;font-size:.8rem;color:var(--stone)}.full,fieldset{grid-column:1/-1}
input,select,textarea{font:inherit;font-size:1rem;color:var(--ink);background:transparent;border:0;border-bottom:1px solid rgba(58,58,55,.4);padding:.5rem 0;border-radius:0;transition:.3s}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--brass);padding-left:.5rem}
fieldset{border:0;padding:0;display:flex;gap:.6rem;flex-wrap:wrap}legend{font-size:.8rem;color:var(--stone);margin-bottom:.5rem}
.chk{flex-direction:row;align-items:center;border:1px solid rgba(58,58,55,.4);border-radius:99px;padding:.4em 1.1em;color:var(--ink);cursor:pointer;gap:.5rem}
.chk:has(input:checked){background:var(--ink);color:var(--bone)}.chk input{appearance:none;width:0;height:0;position:absolute}
.chk:has(input:focus-visible){outline:2px solid var(--brass)}
.status{grid-column:1/-1;font-size:.9rem;min-height:1.5em}.status.err{color:#9b3b2e}
.faq{max-width:880px;margin:auto}.faq h2{margin-bottom:2rem}
details{border-bottom:1px solid rgba(58,58,55,.25);padding:1.1rem 0}summary{cursor:pointer;font:400 1.5rem var(--serif);list-style:none;display:flex;justify-content:space-between}
summary::after{content:"+";transition:.3s}details[open] summary::after{transform:rotate(45deg)}details p{margin-top:.6rem;max-width:60ch}
footer{background:var(--deep);color:var(--bone);padding:70px 4vw 30px;display:grid;grid-template-columns:1fr 1fr;gap:2rem}
footer div:nth-child(2){display:flex;flex-direction:column;gap:.4rem;align-items:flex-end}footer a{text-decoration:none;opacity:.8}footer a:hover{opacity:1;color:var(--brass)}
.fine{grid-column:1/-1;font-size:.75rem;opacity:.5;border-top:1px solid rgba(236,233,226,.15);padding-top:1.4rem}
@media(max-width:960px){
 .hero,.sigil,.idsec,.res,.head{grid-template-columns:1fr}.arch{max-height:60vh}
 .flow ol{grid-template-columns:1fr;border-top:0;border-left:1px solid var(--ink);gap:1.5rem}.flow li{padding:0 0 0 1.6rem}.flow li:before{top:0;left:-9px;background:var(--paper);padding:0 .3rem 0 0}
 .grid{grid-template-columns:repeat(2,1fr)}.tiers{grid-template-columns:1fr 1fr}
 .burger{display:block}#menu{position:fixed;inset:0;background:var(--deep);flex-direction:column;justify-content:center;align-items:center;gap:1.6rem;transform:translateY(-100%);transition:.6s cubic-bezier(.8,0,.2,1)}
 #menu a{color:var(--bone);font:300 2.2rem var(--serif)}body.open #menu{transform:none}body.open .burger i{background:var(--bone)}body.open .burger{z-index:60}
 body.open .burger i:first-child{top:12px;transform:rotate(45deg)}body.open .burger i:last-child{top:12px;transform:rotate(-45deg)}
 form{grid-template-columns:1fr}.pill{display:none}.nav{justify-content:space-between}footer{grid-template-columns:1fr}footer div:nth-child(2){align-items:flex-start}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.curtain{display:none}.rv{opacity:1;transform:none}}

/* ---- v2 luxury upgrade ---- */
:root{--gut:max(4vw,calc((100vw - 1480px)/2));--ease:cubic-bezier(.2,.7,.2,1)}
body{font-weight:300;letter-spacing:.015em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3{font-feature-settings:"liga","dlig","kern";text-wrap:balance}
h2{font-size:clamp(2.3rem,5.2vw,4.8rem);letter-spacing:-.015em}
.brand{font-weight:400;letter-spacing:.5em;font-size:clamp(1.1rem,2vw,1.4rem)}
#menu a,.pill,.btn,.ghost,.grid button,.small{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;font-weight:400}
.small{color:var(--brass)}
.nav,.hero,.sec,footer{padding-inline:var(--gut)}
.lede{font-size:clamp(1rem,1.3vw,1.15rem);line-height:1.8}
.hero h1{font-weight:300;letter-spacing:-.03em;line-height:.95}.hero h1 span{padding-bottom:.12em}
.hero h1 span i{display:inline-block;font-style:inherit;transform:translateY(115%);animation:rise 1.3s var(--ease) calc(1.7s + var(--i)*50ms) forwards}
@keyframes rise{to{transform:none}}
.arch{clip-path:inset(100% 0 0 0);animation:rev 1.8s cubic-bezier(.8,0,.2,1) 1.7s forwards}@keyframes rev{to{clip-path:inset(0)}}
.count b{font-weight:300;font-size:clamp(2rem,4vw,3rem)}
.prog{position:fixed;top:0;left:0;right:0;height:2px;background:var(--brass);transform:scaleX(0);transform-origin:left;z-index:60}
.cur{position:fixed;left:0;top:0;width:34px;height:34px;border:1px solid var(--brass);border-radius:50%;pointer-events:none;z-index:98;opacity:0;transition:width .3s,height .3s,background .3s,opacity .3s;mix-blend-mode:multiply}
.cur.h{width:64px;height:64px;background:rgba(154,129,83,.18)}
.drop .head{grid-template-columns:1.2fr 1fr}
.drop .grid{grid-template-columns:repeat(12,1fr);gap:4rem 2rem}
.p{display:flex;flex-direction:column;gap:.5rem}.p h3{margin-top:.8rem}
.p:nth-child(1){grid-column:1/8}.p:nth-child(2){grid-column:9/13;margin-top:9rem}.p:nth-child(3){grid-column:2/7}.p:nth-child(4){grid-column:8/12;margin-top:5rem}
.p .ph,.p:hover .ph{aspect-ratio:4/5;background:#e3dfd6;display:block;position:relative;overflow:hidden}
.ph:before{display:none}
.ph img{width:100%;height:100%;object-fit:contain;padding:9%;mix-blend-mode:multiply;transition:transform .9s var(--ease)}
.mark{position:absolute;left:var(--x);top:var(--y);width:17%;aspect-ratio:1;border-radius:50%;background:url(assets/sigil.png) center/140%;transform:translate(-50%,-50%) scale(.4) rotate(-90deg);opacity:0;transition:.8s var(--ease);box-shadow:0 0 0 1px var(--brass)}
.p:hover .mark{opacity:1;transform:translate(-50%,-50%)}.p:hover .ph img{transform:scale(1.05)}
.p p{font-size:.9rem}.p b{font:400 1.2rem var(--serif);letter-spacing:.06em}
.p button{align-self:flex-start}
.sec h2{max-width:16ch}.about h2,.faq h2{max-width:none}
details summary{font-size:clamp(1.25rem,2.2vw,1.6rem)}
.nav{transition:.5s var(--ease)}
@media(hover:none){.mark{opacity:.95;transform:translate(-50%,-50%)}.cur{display:none}}
@media(max-width:960px){
 .drop .head{grid-template-columns:1fr}.drop .grid{grid-template-columns:1fr 1fr;gap:2.5rem 1rem}
 .p:nth-child(n){grid-column:auto;margin-top:0}.p:nth-child(2n){margin-top:2.5rem}.p:nth-child(1){grid-column:1/-1}
 .hero{padding-top:100px;gap:2.5rem}.hero h1 span:nth-child(2){padding-left:.3em}}
@media(max-width:600px){
 body{font-size:15px}.nav{padding-block:14px}.count{gap:1.2rem}.cta{gap:.6rem}.btn{width:100%;text-align:center}
 .hero h1{font-size:clamp(3rem,16vw,4.4rem)}.node{font-size:.85rem;padding:.15em .6em}.core{inset:29%}
 .tiers{grid-template-columns:1fr}.pair{flex-direction:column;gap:1rem}.pair span{width:1px;height:40px}
 .marquee{font-size:1.4rem}.card .face{padding:1.1rem}.front b{font-size:1.25rem}.p h3{font-size:1.25rem}
 .p:nth-child(1){grid-column:1/-1}}
@media(min-width:1700px){html{font-size:18px}}
@media(prefers-reduced-motion:reduce){.hero h1 span i{transform:none}.arch{clip-path:none}.cur,.prog{display:none}}

/* ---- v3 pure black & white ---- */
:root{--bone:#fff;--paper:#fff;--ink:#000;--deep:#000;--stone:#6b6b6b;--brass:#000;--serif:'Bodoni Moda',Didot,'Times New Roman',serif;--sans:'Tenor Sans','Helvetica Neue',Arial,sans-serif}
.dark{--bone:#000;--paper:#000;--ink:#fff;--stone:#9a9a9a;--brass:#fff;background:#000;color:#fff}
.about,footer{background:#000;color:#fff}.curtain{background:#000}
::selection{background:#000;color:#fff}.dark ::selection{background:#fff;color:#000}
body{font-family:var(--sans);font-weight:400;letter-spacing:.02em}
h1,h2,h3{font-weight:400}h2{font-size:clamp(2.2rem,5vw,4.4rem);line-height:1.05}
.curtain img{width:clamp(90px,14vw,150px);animation:fade 1s ease-out both}
.nav{mix-blend-mode:difference;color:#fff}.nav.s{background:none;backdrop-filter:none}
.brand img{height:clamp(34px,4vw,48px);width:auto}footer .brand img{height:64px}
.burger i{background:#fff}.pill{background:#fff;color:#000}.pill:hover{background:#fff;opacity:.8}
body.open .nav{mix-blend-mode:normal}
.btn:hover{background:var(--ink);opacity:.75}
.small{color:var(--stone)}
.hero h1{font-size:clamp(3rem,7.4vw,6.8rem);font-weight:400;letter-spacing:-.02em}
.arch{aspect-ratio:1;max-height:none;width:min(100%,560px);background:none;border-radius:0;box-shadow:none;overflow:visible;position:relative;display:grid;place-items:center;clip-path:circle(0%);animation:rev2 1.8s cubic-bezier(.8,0,.2,1) 1.7s forwards;transition:transform .5s var(--ease)}
@keyframes rev2{to{clip-path:circle(75%)}}
.arch img{width:74%;height:auto;object-fit:contain;transform:none}
.arch:before,.arch:after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.arch:before{inset:0;border:1px solid rgba(255,255,255,.28)}.arch:after{inset:-6%;border:1px dashed rgba(255,255,255,.2);animation:spin 70s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.marquee{font-size:clamp(1.4rem,2.6vw,2.2rem)}
.core{inset:25%;border-radius:0;overflow:visible;box-shadow:none;display:grid;place-items:center}.core img{transform:none;object-fit:contain;width:100%;height:100%}
.orbit:after{content:"";position:absolute;inset:18%;border-radius:50%;border:1px solid rgba(0,0,0,.18);animation:pulse 5s ease-in-out infinite}
@keyframes pulse{50%{transform:scale(1.08);opacity:.3}}
.flow li:before{color:var(--ink)}
.p .ph,.p:hover .ph{background:#efefef}
.mark{background:#000 url(assets/logo-white.png) center/64% no-repeat;box-shadow:0 0 0 3px #fff}
.p .ph{clip-path:inset(0 0 100% 0)}.p.in .ph{clip-path:inset(0);transition:clip-path 1.5s cubic-bezier(.8,0,.2,1)}
.face{background:#fff;color:#000;border:1px solid #fff}.card{color:#000}
.front img{border:0;border-radius:0;width:58px;height:58px;object-fit:contain}
.tiers div:hover{background:#000;color:#fff;padding-left:1.2rem}
.path{color:var(--ink)}
.status.err{color:#000;font-weight:400;text-decoration:underline}
.cur{border-color:#fff;mix-blend-mode:difference}.cur.h{background:#fff}
.prog{background:#fff;mix-blend-mode:difference}
.fab{display:none}.toast{position:fixed;top:78px;left:50%;transform:translate(-50%,-16px);opacity:0;pointer-events:none;background:#fff;color:#000;border:1px solid #000;padding:.7em 1.5em;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;z-index:70;transition:.5s var(--ease);white-space:nowrap}.toast.on{opacity:1;transform:translate(-50%,0)}
@media(max-width:960px){.fab{display:block;position:fixed;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translate(-50%,200%);z-index:55;background:#000;color:#fff;box-shadow:0 0 0 1px #fff;transition:.6s var(--ease)}body.fab-on .fab{transform:translate(-50%,0)}.arch{width:min(78vw,420px)}.toast{white-space:normal;text-align:center;width:max-content;max-width:88vw}}
@media(prefers-reduced-motion:reduce){.arch,.p .ph{clip-path:none!important}.arch:after,.orbit:after{animation:none}}

/* ---- v4 fixes: LV / Gucci type, overflow, responsive ---- */
:root{--serif:'Jost','Futura','Century Gothic',Arial,sans-serif;--sans:'Jost','Futura','Century Gothic',Arial,sans-serif}
html{overflow-x:clip}body{overflow-x:clip;font-weight:300;letter-spacing:.04em}
h1,h2,h3,.marquee,.path,.node,blockquote,summary,.count b,.front b,.pair b,.p b{font-family:var(--serif);font-style:normal}
h1,h2,h3{text-transform:uppercase;font-weight:300;letter-spacing:.14em;line-height:1.18}
h1{font-size:clamp(2.1rem,5.6vw,5.4rem)!important;letter-spacing:.12em!important}
.hero h1 span:nth-child(2){padding-left:0;font-style:normal;font-weight:400}
h2{font-size:clamp(1.6rem,3.6vw,3.2rem)}h3{font-size:clamp(.95rem,1.3vw,1.1rem);font-weight:400;letter-spacing:.18em}
.sec h2{max-width:22ch}.about h2,.faq h2{max-width:none}
.marquee{text-transform:uppercase;letter-spacing:.3em;font-size:clamp(.8rem,1.4vw,1rem);padding:1.3rem 0;overflow:hidden}
.path,blockquote{text-transform:uppercase;letter-spacing:.14em;font-size:clamp(1rem,2.4vw,1.8rem);line-height:1.5}
.node{font-size:.7rem;text-transform:uppercase;letter-spacing:.16em;padding:.4em 1em}
summary{font-size:clamp(.9rem,1.5vw,1.05rem);text-transform:uppercase;letter-spacing:.14em;font-weight:400}
.p b,.count b,.front b,.pair b{font-weight:300;letter-spacing:.08em}
.count b{font-size:clamp(1.8rem,3.4vw,2.6rem)}
.flow li:before{font-family:var(--serif);font-style:normal;font-size:1rem;letter-spacing:.1em}
.small,.hint,label,legend{letter-spacing:.14em}
.nav{mix-blend-mode:normal;color:#fff;background:transparent;transition:background .5s,color .5s,padding .5s}
.nav.s{background:rgba(0,0,0,.92);color:#fff}
.nav .pill{background:#fff;color:#000}
.p .ph,.p:hover .ph{background:#f1f1f1}.ph img{mix-blend-mode:normal;padding:6%}
.cur,.prog{mix-blend-mode:normal}.cur{border-color:#888}.cur.h{background:rgba(128,128,128,.25)}.prog{background:#fff;height:1px}
.fab{width:auto!important;white-space:nowrap}
.hero{min-height:100svh;min-height:100dvh}
.arch{width:min(100%,520px)}
.sigil,.idsec,.res{gap:clamp(2rem,6vw,6rem)}
@media(max-width:960px){
 .hero{grid-template-columns:1fr;text-align:left;padding-top:96px;padding-bottom:70px;min-height:auto}
 .hero>.arch{order:-1;width:min(64vw,340px);margin:0 auto 1rem}
 .hero h1{font-size:clamp(1.9rem,8.6vw,3.2rem)!important}
 .count{gap:1.6rem}.orbit{max-width:460px}.sec{padding-block:clamp(64px,14vw,110px)}
 .head{gap:1.4rem;margin-bottom:2.5rem}.tiers{grid-template-columns:1fr 1fr}.card{max-width:100%}}
@media(max-width:600px){
 .nav{padding-inline:5vw}.sec,.hero{padding-inline:5vw}
 .small{font-size:.62rem;line-height:1.8}.cta .btn{width:100%}
 .node{font-size:.58rem;padding:.3em .7em;letter-spacing:.1em}
 .drop .grid{gap:2rem .8rem}.p h3{font-size:.8rem;letter-spacing:.12em}.p p{font-size:.78rem}.p button{font-size:.62rem;padding:.6em .9em}
 .tiers{grid-template-columns:1fr}.flow li{padding-left:1.4rem}footer{padding-bottom:90px}
 input,select,textarea{font-size:16px}.chk{padding:.5em 1em}}
@media(min-width:1700px){.sec,.nav,.hero,footer{padding-inline:max(4vw,calc((100vw - 1640px)/2))}}
@media(max-height:560px) and (orientation:landscape){.hero{min-height:auto;padding-block:90px 40px}}
@media(prefers-reduced-motion:reduce){.curtain{display:none}}
@media(max-width:960px){.p:nth-child(4){grid-column:1/-1;margin-top:1rem;width:calc(50% - .4rem)}}
/* ---- v5 enhancements ---- */
.btn{position:relative;overflow:hidden;isolation:isolate;border:1px solid var(--ink)}
.btn:before{content:"";position:absolute;inset:0;background:var(--bone);transform:translateY(101%);transition:transform .55s var(--ease);z-index:-1}
.btn:hover{background:var(--ink);color:var(--ink);opacity:1}.btn:hover:before{transform:none}
.nav .pill{border:1px solid #fff;transition:.4s}.nav .pill:hover{background:transparent;color:#fff;opacity:1}
.w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.14em;margin-bottom:-.14em}
.w i{display:inline-block;font-style:normal;transform:translateY(112%);transition:transform 1.1s var(--ease) calc(var(--k)*70ms)}
.in h2 .w i{transform:none}
.hero{position:relative}
.cue{position:absolute;left:50%;bottom:18px;width:1px;height:48px;background:linear-gradient(#fff,transparent);transform-origin:top;animation:cue 2.4s ease-in-out 3s infinite}
@keyframes cue{0%{transform:scaleY(0)}50%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1);opacity:0}}
.marquee div{animation:none;will-change:transform}
.cur{display:grid;place-items:center;font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:#fff;overflow:hidden}
.cur.l{width:86px;height:86px;background:#000;border-color:#fff}
.card{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .5s var(--ease)}
.p .ph{cursor:pointer}.p h3{cursor:pointer}
.dots{position:fixed;right:22px;top:50%;transform:translateY(-50%);z-index:45;display:flex;flex-direction:column;gap:14px;mix-blend-mode:difference}
.dots a{width:8px;height:8px;border:1px solid #fff;border-radius:50%;transition:.4s;position:relative}
.dots a.on{background:#fff;transform:scale(1.5)}
.dots a:after{content:attr(data-l);position:absolute;right:20px;top:50%;transform:translate(8px,-50%);opacity:0;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:#fff;white-space:nowrap;transition:.4s;pointer-events:none}
.dots a:hover:after{opacity:1;transform:translate(0,-50%)}
@media(max-width:1100px){.dots{display:none}}
details[open] p{animation:fi .6s var(--ease)}@keyframes fi{from{opacity:0;transform:translateY(-8px)}}
dialog.qv{border:0;padding:0;width:min(1000px,94vw);max-height:92dvh;background:#fff;color:#000;overflow:auto;margin:auto}
dialog.qv[open]{animation:dl .7s var(--ease)}@keyframes dl{from{opacity:0;transform:translateY(40px) scale(.97)}}
dialog.qv::backdrop{background:rgba(0,0,0,.78);backdrop-filter:blur(8px)}
.qv[open]{display:grid;grid-template-columns:1.1fr 1fr}
.qi{background:#f1f1f1;display:grid;place-items:center;min-height:300px}.qi img{width:100%;max-height:80dvh;object-fit:contain;padding:8%}
.qt{padding:clamp(1.6rem,4vw,3.4rem);display:flex;flex-direction:column;gap:1rem;justify-content:center}
.qt h3{font-size:clamp(1.2rem,2.4vw,1.8rem)}.qt b{font-weight:300;font-size:1.2rem;letter-spacing:.08em}.qt small{font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:#6b6b6b}
.sz{display:flex;gap:.5rem;flex-wrap:wrap}.sz button{min-width:46px;padding:.6em .8em;border:1px solid #000;background:#fff;color:#000;font:inherit;font-size:.72rem;letter-spacing:.12em;cursor:pointer;transition:.3s}
.sz button.on,.sz button:hover{background:#000;color:#fff}.qt .btn{align-self:flex-start;margin-top:.6rem;background:#000;color:#fff;border-color:#000}.qt .btn:before{background:#fff}.qt .btn:hover{color:#000}
.x{position:absolute;right:14px;top:8px;z-index:2;background:none;border:0;font-size:2rem;line-height:1;cursor:pointer;color:#000}
@media(max-width:700px){.qv[open]{grid-template-columns:1fr}.qi{min-height:0}.qi img{max-height:42dvh}}
@media(prefers-reduced-motion:reduce){.w i{transform:none}.cue{display:none}}

/* ---- v6 SEO pages + all-screen polish ---- */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.skip{position:absolute;left:-999px;top:0}.skip:focus{left:12px;top:12px;z-index:100;background:#fff;color:#000;padding:.7em 1.2em}
.nav{padding-left:max(var(--gut),env(safe-area-inset-left));padding-right:max(var(--gut),env(safe-area-inset-right))}
.nav .brand img{aspect-ratio:1}
.nav.s nav.pg{display:flex;gap:1.6rem;align-items:center}.pg a{text-decoration:none;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase}
.nav.s nav.pg .pill{display:inline-block}
.page{max-width:1100px;margin:auto;padding:130px max(5vw,env(safe-area-inset-left)) 90px;background:#fff;color:#000}
.page h1{font-size:clamp(1.8rem,4.6vw,3.6rem)!important;margin:1rem 0 2rem}.page h2{font-size:clamp(1.1rem,2.2vw,1.6rem);margin:3rem 0 1rem;max-width:none}
.page p,.page li{max-width:68ch;margin-bottom:1rem}.lead{font-size:clamp(1.05rem,1.6vw,1.25rem);line-height:1.8}
.page a{text-underline-offset:4px}.page .btn{text-decoration:none;color:#fff}.page .btn:hover{color:#000}
.crumbs{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:#6b6b6b}.crumbs a{color:inherit}
.pgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:2rem;margin:2.5rem 0}.pc img{width:100%;height:auto;background:#f1f1f1;aspect-ratio:4/5;object-fit:contain;padding:6%}.pc h2{margin:1rem 0 .4rem;font-size:1rem}
.attrs{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:1.4rem}.attrs li{border-top:1px solid #000;padding-top:.8rem;max-width:none}.attrs h3{font-size:.85rem}
.page ol{padding-left:1.2rem}
@media(max-width:600px){.nav.s nav.pg a:not(.pill){display:none}.page{padding-top:110px}}
@media(hover:none){.p button,.sz button,.chk,.btn,summary{min-height:44px}}
@media(max-width:340px){.hero h1{font-size:1.7rem!important}.count{gap:.9rem}.count b{font-size:1.5rem}.node{font-size:.5rem}.cta .btn{padding-inline:1rem}}
@media(min-width:2000px){html{font-size:20px}}
@media(min-width:2600px){html{font-size:24px}}
@media print{.nav,.fab,.dots,.cur,.curtain{display:none!important}}
:root{--gut:max(4vw,calc((100vw - 1640px)/2))}
