/* Nuvolis — art deco / neon on dark. Tokens first; every colour used below comes from here.
   Contrast notes (on --night #0A0B14): ivory 16:1, mute 8.9:1, brass 9.6:1, cyan 12:1, rose 6.4:1. */
:root{
  --night:#0A0B14; --deep:#12142A; --deep2:#1B1E3C;
  --brass:#D8B35A; --cyan:#3FE8E0; --rose:#FF4F9A;
  --ivory:#F3EDE0; --mute:#B4B2C6;
  --line:rgba(216,179,90,.34); --line-soft:rgba(216,179,90,.18);
  --r:6px; --ease:cubic-bezier(.16,1,.3,1);
  --display:'Big Shoulders Display','Arial Narrow',Impact,sans-serif;
  --body:'Instrument Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --gut:clamp(20px,4vw,56px); --head:68px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--head) + 16px);-webkit-text-size-adjust:100%;background:var(--night);scrollbar-color:var(--brass) var(--deep)}
html.lock{overflow:hidden}
body{margin:0;background:var(--night);color:var(--ivory);font:400 1.0625rem/1.65 var(--body);caret-color:var(--cyan);overflow-x:hidden}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
img,svg{display:block;max-width:100%}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:0;padding:0;cursor:pointer}
a{color:inherit}
::selection{background:var(--rose);color:var(--night)}
::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--deep)}
::-webkit-scrollbar-thumb{background:var(--brass);border:3px solid var(--deep);border-radius:8px}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:200;background:var(--brass);color:var(--night);padding:10px 16px;border-radius:var(--r);font-weight:600}
.skip:focus{top:10px}

/* film grain: one static SVG-noise layer, no animation */
body::after{content:"";position:fixed;inset:0;z-index:150;pointer-events:none;opacity:.075;mix-blend-mode:screen;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}

/* 12-column helpers (mirror of the Tailwind classes used in markup, so layout holds if the CDN is blocked) */
.wrap{width:100%;max-width:1280px;margin-inline:auto;padding-inline:var(--gut)}
.grid{display:grid}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}
.gap-x-8{column-gap:2rem}.gap-y-10{row-gap:2.5rem}.items-center{align-items:center}.items-start{align-items:start}
.col-span-12{grid-column:span 12/span 12}
@media(min-width:768px){
  .md\:col-span-3{grid-column:span 3/span 3}.md\:col-span-4{grid-column:span 4/span 4}.md\:col-span-5{grid-column:span 5/span 5}
  .md\:col-span-6{grid-column:span 6/span 6}.md\:col-span-7{grid-column:span 7/span 7}.md\:col-span-8{grid-column:span 8/span 8}
  .md\:col-span-9{grid-column:span 9/span 9}.md\:order-2{order:2}.md\:order-1{order:1}
  .md\:col-start-2{grid-column-start:2}.md\:col-start-7{grid-column-start:7}
}

/* type */
h1,h2,h3,.display{font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:.012em;line-height:.96;text-wrap:balance}
h1{font-size:clamp(2.9rem,8.2vw,6rem)}
h2{font-size:clamp(2.2rem,5vw,3.9rem)}
h3{font-size:clamp(1.55rem,2.6vw,2.2rem);line-height:1}
h4{font:600 1.05rem/1.3 var(--body)}
p{max-width:62ch;text-wrap:pretty}
.lead{font-size:clamp(1.1rem,1.6vw,1.3rem);color:var(--mute);max-width:54ch}
.mute{color:var(--mute)}
.ul{background:linear-gradient(currentColor,currentColor) left bottom/0 1px no-repeat;text-decoration:none;padding-bottom:2px;transition:background-size .4s var(--ease)}
.ul:hover,.ul:focus-visible,.ul[aria-current]{background-size:100% 1px}
.tlink{color:var(--cyan);font-weight:600}

/* buttons: brass fill + offset hairline ring (deco double line) */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;text-align:center;text-decoration:none;font-weight:600;line-height:1.2;
  padding:.9em 1.5em;border-radius:var(--r);background:var(--brass);color:var(--night);box-shadow:0 0 0 3px var(--night),0 0 0 4px var(--brass);
  transition:background-color .25s,transform .35s var(--ease)}
.btn:hover{background:var(--cyan)}
.btn:active{transform:translateY(1px)}
.btn--ghost{background:transparent;color:var(--ivory);box-shadow:inset 0 0 0 1px var(--brass)}
.btn--ghost:hover{background:var(--deep2)}
.btn--sm{padding:.65em 1.1em;font-size:.95rem}

/* header + mega menu */
.site-header{position:sticky;top:0;z-index:100;background:rgba(10,11,20,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft);transition:border-color .3s}
.site-header.scrolled{border-bottom-color:var(--line)}
.bar{display:flex;align-items:stretch;justify-content:space-between;height:var(--head);gap:20px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:800 1.7rem/1 var(--display);letter-spacing:.08em;text-transform:uppercase}
.brand svg{width:30px;height:30px;color:var(--brass)}
.nav{display:flex;align-items:stretch;gap:28px}
.nav>ul{display:flex;align-items:stretch;gap:6px}
.nav>ul>li{display:flex;align-items:center}
.nav-link{display:inline-flex;align-items:center;padding:8px 12px;font-weight:500;font-size:.98rem;text-decoration:none;color:var(--ivory)}
.has-mega{position:static}
.has-mega>.nav-link{padding-right:4px}
.chev{width:30px;height:30px;display:grid;place-items:center;color:var(--brass)}
.chev svg{width:12px;height:12px;transition:transform .3s var(--ease)}
.has-mega.open .chev svg{transform:rotate(180deg)}
.nav-end{display:flex;align-items:center;gap:18px}
.lang{display:flex;gap:2px;font-size:.88rem;font-weight:600}
.lang a{padding:6px 8px;text-decoration:none;color:var(--mute);border-radius:4px}
.lang a[aria-current]{color:var(--night);background:var(--brass)}
.lang a:not([aria-current]):hover{color:var(--ivory)}
.mega{position:absolute;left:0;right:0;top:100%;background:var(--deep);border-bottom:1px solid var(--line);
  visibility:hidden;clip-path:inset(0 0 100% 0);transition:clip-path .45s var(--ease),visibility 0s .45s;max-height:70vh;overflow:auto}
.has-mega.open .mega{visibility:visible;clip-path:inset(0);transition:clip-path .45s var(--ease)}
.mega-in{display:grid;grid-template-columns:repeat(3,1fr) 1.15fr;gap:36px;padding-block:34px 40px}
.mega h3{font-size:1.5rem;margin-bottom:4px}
.mega .cat-sub{font-size:.9rem;color:var(--mute);margin-bottom:14px}
.mega li+li{margin-top:12px}
.mega .m-item{display:block;text-decoration:none}
.mega .m-item strong{display:block;font-weight:600;color:var(--ivory)}
.mega .m-item span{display:block;font-size:.88rem;color:var(--mute);line-height:1.4}
.mega .m-item:hover strong{color:var(--cyan)}
.mega-feat{border:1px solid var(--line);border-radius:var(--r);padding:22px;background:var(--night);display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.mega-feat .price{font-size:2.2rem}
.menu-btn{display:none;align-self:center;width:46px;height:46px;border:1px solid var(--line);border-radius:var(--r);place-items:center}
.bars,.bars::before,.bars::after{display:block;width:20px;height:2px;background:var(--ivory);position:relative;transition:transform .3s var(--ease),background-color .2s}
.bars::before,.bars::after{content:"";position:absolute;left:0}
.bars::before{top:-6px}.bars::after{top:6px}
.menu-open .bars{background:transparent}.menu-open .bars::before{transform:translateY(6px) rotate(45deg)}.menu-open .bars::after{transform:translateY(-6px) rotate(-45deg)}

@media(max-width:1023px){
  :root{--head:60px}
  .menu-btn{display:grid}
  .nav{position:fixed;inset:var(--head) 0 0 0;background:var(--night);flex-direction:column;justify-content:space-between;gap:24px;padding:20px var(--gut) 28px;overflow:auto;transform:translateX(100%);visibility:hidden;transition:transform .45s var(--ease),visibility 0s .45s}
  .menu-open .nav{transform:none;visibility:visible;transition:transform .45s var(--ease)}
  .nav>ul{flex-direction:column;gap:0}
  .nav>ul>li{display:block;border-bottom:1px solid var(--line-soft)}
  .nav-link{font:800 1.9rem/1 var(--display);text-transform:uppercase;letter-spacing:.02em;padding:16px 0}
  .has-mega{display:flex!important;flex-wrap:wrap;align-items:center}
  .has-mega>.nav-link{flex:1}
  .chev{width:48px;height:48px}
  .mega{position:static;width:100%;visibility:visible;clip-path:none;display:none;background:transparent;border:0;max-height:none;transition:none}
  .has-mega.open .mega{display:block}
  .mega-in{grid-template-columns:1fr;gap:18px;padding:0 0 18px}
  .mega-feat{display:none}
  .nav-end{flex-direction:column;align-items:stretch;gap:14px}
  .nav-end .btn{width:100%}
  .lang{justify-content:center}
}

/* hero: centred over abstract-shape artwork */
.hero{position:relative;isolation:isolate;overflow:hidden;min-height:min(88vh,840px);display:grid;place-items:center;text-align:center;padding:clamp(64px,10vw,120px) var(--gut)}
.hero-art{position:absolute;inset:0;z-index:-2}
.hero-art .art{width:100%;height:100%}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse 60% 58% at 50% 52%,rgba(10,11,20,.9) 0 38%,rgba(10,11,20,.55) 70%,rgba(10,11,20,.1) 100%),linear-gradient(to bottom,transparent 70%,var(--night))}
.hero-in{max-width:920px;display:flex;flex-direction:column;align-items:center;gap:26px}
.hero-in p{margin-inline:auto}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center;justify-content:center;margin-top:6px}
.hero-note{font-size:.95rem;color:var(--mute)}
.fl{position:absolute;color:var(--brass);opacity:.8;z-index:-1;animation:drift 14s ease-in-out infinite alternate}
.fl svg{width:100%;height:100%}
.fl1{left:9%;top:22%;width:34px;height:44px;animation-duration:12s}
.fl2{right:11%;top:18%;width:56px;height:56px;color:var(--cyan);animation-duration:17s;animation-delay:-4s}
.fl3{left:16%;bottom:20%;width:46px;height:46px;color:var(--rose);animation-duration:15s;animation-delay:-8s}
.fl4{right:15%;bottom:24%;width:30px;height:40px;animation-duration:11s;animation-delay:-2s}
.fl5{left:48%;top:9%;width:26px;height:26px;color:var(--cyan);animation-duration:19s;animation-delay:-6s}
@keyframes drift{from{transform:translate3d(0,0,0) rotate(0)}to{transform:translate3d(14px,-26px,0) rotate(14deg)}}

/* page intro: split-text reveal (JS wraps words) */
.js .split .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em;margin-bottom:-.1em}
.js .split .wi{display:inline-block;transform:translateY(112%);animation:rise .95s var(--ease) forwards;animation-delay:calc(var(--i)*65ms + 120ms)}
@keyframes rise{to{transform:none}}

/* scroll effect: clip-path wipes */
.js .wipe{clip-path:inset(0 100% 0 0);transition:clip-path 1.1s var(--ease)}
.js .wipe.up{clip-path:inset(100% 0 0 0)}
.js .wipe.in{clip-path:inset(0)}

/* chapters */
.chapter{padding-block:clamp(72px,10vw,140px)}
.chapter+.chapter{border-top:1px solid var(--line-soft)}
.chap-head{display:flex;align-items:flex-end;gap:clamp(18px,3vw,40px);margin-bottom:clamp(36px,6vw,72px)}
.numeral{font:800 clamp(4rem,9vw,7.5rem)/.8 var(--display);color:transparent;-webkit-text-stroke:1px var(--brass);user-select:none}
.chap-head h2{max-width:16ch}
.chap-head p{margin-top:14px}
.tint{background:var(--deep)}
.rule{display:flex;align-items:center;gap:14px;color:var(--brass);margin-block:28px}
.rule::before,.rule::after{content:"";height:1px;background:var(--line);flex:1}
.rule i{width:9px;height:9px;transform:rotate(45deg);border:1px solid currentColor}

/* split rows: asymmetric 5/7 */
.srow{padding-block:clamp(28px,4vw,56px)}
.srow+.srow{border-top:1px solid var(--line-soft)}
.arch{position:relative;aspect-ratio:4/5;max-width:420px;width:100%;margin-inline:auto;border:1px solid var(--line);border-radius:999px 999px var(--r) var(--r);overflow:hidden;background:var(--deep)}
.arch::after{content:"";position:absolute;inset:8px;border:1px solid var(--line-soft);border-radius:999px 999px 4px 4px;pointer-events:none}
.arch svg{width:100%;height:100%}
.srow .body{display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.price{font:800 clamp(2.4rem,4.6vw,3.6rem)/1 var(--display);color:var(--cyan);letter-spacing:.01em}
.price small{font:500 1rem/1.3 var(--body);color:var(--mute);letter-spacing:0;margin-left:.4em}
.price .from{display:block;font:500 .95rem/1.2 var(--body);color:var(--mute);margin-bottom:4px;letter-spacing:0}
.ticks li{position:relative;padding-left:22px;color:var(--ivory)}
.ticks li+li{margin-top:6px}
.ticks li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;transform:rotate(45deg);background:var(--brass)}
.srow .cta-row{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center;margin-top:6px}

/* method steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;counter-reset:s}
.steps li{position:relative;padding:34px 24px 0 0;counter-increment:s}
.steps li::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--line)}
.steps li::after{content:counter(s);position:absolute;top:-17px;left:0;width:34px;height:34px;display:grid;place-items:center;background:var(--night);border:1px solid var(--brass);border-radius:50%;font:800 1.15rem/1 var(--display);color:var(--brass)}
.tint .steps li::after{background:var(--deep)}
.steps h3{font-size:1.7rem;margin-bottom:10px}
.steps p{font-size:.98rem;color:var(--mute)}
@media(max-width:899px){.steps{grid-template-columns:1fr;gap:34px;padding-left:22px;border-left:1px solid var(--line)}.steps li{padding:0 0 0 30px}.steps li::before{display:none}.steps li::after{top:0;left:-17px}}

/* principles + proof */
.stmts li{padding-block:26px}
.stmts li+li{border-top:1px solid var(--line-soft)}
.stmts h3{margin-bottom:8px;color:var(--ivory)}
.stmts p{color:var(--mute)}
.proof{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:clamp(36px,5vw,64px)}
.ph{border:1px dashed var(--line);border-radius:var(--r);padding:22px;color:var(--mute);font-size:.95rem}
.ph b{display:block;color:var(--brass);font-weight:600;margin-bottom:6px}
@media(max-width:767px){.proof{grid-template-columns:1fr}}

/* packages */
.pkgs{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:start}
.pkg{position:relative;border:1px solid var(--line);border-radius:var(--r);padding:28px 26px 30px;background:var(--deep);display:flex;flex-direction:column;gap:14px}
.pkg.rec{border:2px solid var(--brass);background:var(--deep2);margin-top:-14px;padding-top:42px}
.pkg .badge{position:absolute;top:-1px;left:24px;transform:translateY(-50%);background:var(--brass);color:var(--night);font-weight:600;font-size:.85rem;padding:5px 12px;border-radius:var(--r)}
.pkg h3{font-size:2.2rem}
.pkg .for{color:var(--mute);font-size:.98rem}
.pkg .btn{margin-top:8px;align-self:stretch}
@media(max-width:979px){.pkgs{grid-template-columns:1fr}.pkg.rec{margin-top:10px}}

/* closing CTA band */
.band{position:relative;border:1px solid var(--line);border-radius:var(--r);padding:clamp(40px,7vw,88px) var(--gut);text-align:center;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;align-items:center;gap:24px}
.band::before{content:"";position:absolute;inset:8px;border:1px solid var(--line-soft);border-radius:3px;z-index:-1}
.band .art{position:absolute;inset:0;width:100%;height:100%;z-index:-2;opacity:.5}
.band p{margin-inline:auto}

/* footer: large type */
.site-footer{border-top:1px solid var(--line);padding-top:clamp(48px,7vw,88px);overflow:hidden}
.f-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:36px}
.f-grid h2{font:600 .85rem/1.2 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--brass);margin-bottom:14px}
.f-grid li+li{margin-top:8px}
.f-grid a{text-decoration:none}
.f-brand p{font-size:.98rem;color:var(--mute)}
.f-brand address{font-style:normal;color:var(--mute);font-size:.98rem;margin-top:14px;line-height:1.6}
.f-brand address a{color:var(--ivory)}
.f-lang{margin-top:18px}
.mark{display:flex;font:800 clamp(72px,21.5vw,330px)/.78 var(--display);letter-spacing:-.02em;text-transform:uppercase;color:transparent;-webkit-text-stroke:1px var(--line);margin-top:clamp(36px,6vw,72px);margin-bottom:-.12em;justify-content:center;user-select:none;overflow:hidden;white-space:nowrap}
.mark span{display:inline-block;transition:transform .9s var(--ease)}
.js .mark span{transform:translateY(102%)}
.js .mark.in span{transform:none}
.f-legal{border-top:1px solid var(--line-soft);padding-block:20px;display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;font-size:.9rem;color:var(--mute);position:relative;z-index:1;background:var(--night)}
.f-legal ul{display:flex;flex-wrap:wrap;gap:6px 20px}
@media(max-width:899px){.f-grid{grid-template-columns:1fr 1fr}.f-brand{grid-column:1/-1}}
@media(max-width:479px){.f-grid{grid-template-columns:1fr}}

/* inner pages */
.page-head{padding-block:clamp(56px,8vw,112px) clamp(32px,5vw,64px);position:relative;isolation:isolate;overflow:hidden}
.page-head .art-bg{position:absolute;right:-6%;top:0;bottom:0;width:min(60%,720px);z-index:-1;opacity:.55}
.page-head .art-bg svg{width:100%;height:100%}
.page-head h1{max-width:15ch;margin-bottom:20px}
.crumbs{font-size:.9rem;color:var(--mute);margin-bottom:22px}
.crumbs ol{display:flex;flex-wrap:wrap;gap:6px 10px}
.crumbs li+li::before{content:"/";margin-right:10px;color:var(--line)}
.crumbs a{text-decoration:none}
.cat-block{padding-block:clamp(32px,5vw,64px)}
.cat-block>header{display:flex;align-items:flex-end;gap:24px;margin-bottom:20px}
.cat-block>header h2{font-size:clamp(2rem,4vw,3rem)}
.cat-block>header p{color:var(--mute);padding-bottom:6px}
.svc{display:grid;grid-template-columns:1fr auto;gap:12px 36px;align-items:center;padding:28px 0;border-top:1px solid var(--line-soft)}
.svc:last-child{border-bottom:1px solid var(--line-soft)}
.svc h3{margin-bottom:6px}
.svc p{color:var(--mute);font-size:1rem}
.svc .side{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.svc .price{font-size:2.3rem}
@media(max-width:699px){.svc{grid-template-columns:1fr}.svc .side{align-items:flex-start;text-align:left}}

.d-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:clamp(32px,5vw,72px);align-items:start;padding-bottom:clamp(56px,8vw,112px)}
.d-main section+section{margin-top:clamp(40px,5vw,64px)}
.d-main h2{font-size:clamp(1.9rem,3.4vw,2.7rem);margin-bottom:18px}
.buybox{position:sticky;top:calc(var(--head) + 20px);border:1px solid var(--line);border-radius:var(--r);padding:26px;background:var(--deep);display:flex;flex-direction:column;gap:14px}
.buybox::after{content:"";position:absolute;inset:6px;border:1px solid var(--line-soft);border-radius:3px;pointer-events:none}
.buybox .facts{font-size:.95rem;color:var(--mute)}
.buybox .facts div{display:flex;justify-content:space-between;gap:12px;padding-block:8px;border-top:1px solid var(--line-soft)}
.buybox .facts dt{color:var(--mute)}.buybox .facts dd{color:var(--ivory);text-align:right}
.buybox a.note{font-size:.88rem;color:var(--mute)}
@media(max-width:979px){.d-layout{grid-template-columns:1fr}.buybox{position:static}}
details{border-top:1px solid var(--line-soft)}
details:last-of-type{border-bottom:1px solid var(--line-soft)}
summary{list-style:none;cursor:pointer;padding:18px 40px 18px 0;font-weight:600;position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:"";position:absolute;right:6px;top:50%;width:10px;height:10px;border-right:2px solid var(--brass);border-bottom:2px solid var(--brass);transform:translateY(-70%) rotate(45deg);transition:transform .3s var(--ease)}
details[open] summary::after{transform:translateY(-25%) rotate(-135deg)}
details p{padding:0 0 20px;color:var(--mute)}

.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r)}
table{border-collapse:collapse;width:100%;min-width:640px;font-size:.98rem}
caption{text-align:left;padding:16px 18px;color:var(--mute)}
th,td{padding:14px 18px;text-align:left;border-top:1px solid var(--line-soft);vertical-align:top}
thead th{font:800 1.4rem/1 var(--display);text-transform:uppercase;color:var(--ivory);background:var(--deep)}
tbody th{font-weight:500}
td svg{width:18px;height:18px;color:var(--cyan)}
.addons{display:grid;grid-template-columns:repeat(2,1fr);gap:0 48px}
.addons li{display:flex;justify-content:space-between;gap:18px;padding:18px 0;border-top:1px solid var(--line-soft)}
.addons li div p{font-size:.95rem;color:var(--mute);margin-top:2px}
.addons .p{font:800 1.5rem/1 var(--display);color:var(--cyan);white-space:nowrap}
@media(max-width:767px){.addons{grid-template-columns:1fr}}
.terms-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:36px 56px}
.terms-grid h3{font-size:1.6rem;margin-bottom:10px}
.terms-grid p{color:var(--mute)}
@media(max-width:767px){.terms-grid{grid-template-columns:1fr}}

/* forms */
.form{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.form .full{grid-column:1/-1}
.field label{display:block;font-weight:600;font-size:.95rem;margin-bottom:6px}
.field .hint{font-weight:400;color:var(--mute);font-size:.88rem}
.field input,.field select,.field textarea{width:100%;background:var(--deep);border:1px solid var(--line);border-radius:var(--r);padding:.8em 1em;color:var(--ivory);transition:border-color .2s}
.field textarea{min-height:150px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--cyan);outline-offset:1px;border-color:var(--cyan)}
.field input::placeholder,.field textarea::placeholder{color:#8886A0}
.field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--brass) 50%),linear-gradient(135deg,var(--brass) 50%,transparent 50%);background-position:calc(100% - 20px) 55%,calc(100% - 14px) 55%;background-size:6px 6px;background-repeat:no-repeat;padding-right:40px}
.price-out{margin-top:8px;font:800 1.5rem/1.2 var(--display);color:var(--cyan);min-height:1.2em}
.hp{position:absolute;left:-9999px}
.notice{border:1px solid var(--cyan);border-radius:var(--r);padding:16px 20px;background:var(--deep);margin-bottom:24px}
.notice[hidden]{display:none}
.notice.err{border-color:var(--rose)}
.c-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(32px,6vw,88px);align-items:start;padding-bottom:clamp(56px,8vw,112px)}
.c-info{display:flex;flex-direction:column;gap:26px}
.c-info h2{font-size:1.7rem;margin-bottom:8px}
.c-info address{font-style:normal;color:var(--mute)}
.c-info a{color:var(--ivory)}
@media(max-width:899px){.c-layout{grid-template-columns:1fr}.form{grid-template-columns:1fr}}

/* legal / reading layout */
.prose{max-width:72ch;padding-bottom:clamp(56px,8vw,112px)}
.prose h2{font-size:clamp(1.7rem,3vw,2.3rem);margin:2.2em 0 .6em}
.prose p,.prose li{color:#D9D5E4;max-width:none}
.prose p+p{margin-top:1em}
.prose ul{margin:1em 0;padding-left:1.2em;list-style:square}
.prose li+li{margin-top:.4em}
.prose a{color:var(--cyan)}
.prose .toc{border:1px solid var(--line);border-radius:var(--r);padding:20px 24px;margin-bottom:12px}
.prose .toc ol{list-style:decimal;padding-left:1.2em;columns:2;column-gap:36px}
@media(max-width:599px){.prose .toc ol{columns:1}}
.prose .meta{color:var(--mute);font-size:.95rem}
.prose .draft{border:1px dashed var(--rose);border-radius:var(--r);padding:12px 16px;margin:20px 0;color:var(--ivory);font-size:.95rem}
.ph-inline{background:rgba(255,79,154,.16);color:var(--ivory);padding:0 .3em;border-radius:3px}

/* gate + 404 */
.gate{min-height:100svh;display:grid;place-items:center;text-align:center;padding:40px var(--gut);position:relative;isolation:isolate;overflow:hidden}
.gate .hero-art{position:absolute;inset:0;z-index:-2}
.gate-in{display:flex;flex-direction:column;align-items:center;gap:30px;max-width:900px}
.gate-links{display:flex;flex-wrap:wrap;gap:18px;justify-content:center}
.gate-links a{font:800 clamp(2.2rem,7vw,4.4rem)/1 var(--display);text-transform:uppercase;text-decoration:none;border:1px solid var(--brass);border-radius:var(--r);padding:.3em .8em;background:rgba(10,11,20,.7);transition:background-color .25s,color .25s}
.gate-links a:hover{background:var(--brass);color:var(--night)}
.big404{font:800 clamp(7rem,28vw,18rem)/.8 var(--display);color:transparent;-webkit-text-stroke:2px var(--brass)}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .split .wi,.js .mark span{transform:none!important}
  .js .wipe{clip-path:none!important}
  .fl{animation:none}
}
/* safety net: if site.js never finishes, reveal everything after 3 s (class set by inline head script) */
.shown .split .wi,.shown .mark span{transform:none!important}
.shown .wipe{clip-path:none!important}
@media(min-width:900px){.steps.s3{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1023px){.lang a{padding:11px 16px}.f-lang a{padding:11px 16px}}
@media(hover:none){.nav-link,.f-grid a{padding-block:6px}}
