@font-face{font-family:"Young Serif";src:url("fonts/young-serif-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url("fonts/hanken-grotesk-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url("fonts/hanken-grotesk-latin-600-normal.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url("fonts/hanken-grotesk-latin-700-normal.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}

:root{
  --ink:#1E1B33;
  --mist:#ECE8F5;
  --paper:#FBFAFE;
  --amber:#F2A33A;
  --rose:#C2315A;
  --rose-deep:#A82650;
  --slate:#5B5675;
  --line:#CFC8E0;
  --display:"Young Serif","Iowan Old Style","Palatino Linotype",Georgia,serif;
  --body:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --gutter:20px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
html:not(.age-ok){overflow:hidden}
body{margin:0;background:var(--mist);color:var(--ink);font:400 1.0625rem/1.6 var(--body);overflow-x:clip}
img,svg{max-width:100%}
a{color:var(--rose-deep);text-underline-offset:.18em}
a:hover{color:var(--ink)}
:focus-visible{outline:3px solid var(--rose);outline-offset:3px}

.wrap{width:100%;max-width:1040px;margin:0 auto;padding:0 var(--gutter)}

.skip{position:absolute;left:-999px;top:0}
.skip:focus{left:12px;top:12px;z-index:200;background:var(--paper);color:var(--ink);padding:10px 14px;border-radius:8px}

/* buttons */
.btn{display:inline-block;min-height:48px;padding:.85rem 1.5rem;border:0;border-radius:999px;background:var(--rose);color:#fff;font:700 1rem/1.25 var(--body);text-align:center;text-decoration:none;cursor:pointer}
.btn:hover{background:var(--rose-deep);color:#fff}
.btn--quiet{background:transparent;color:inherit;border:1.5px solid currentColor}
.btn--quiet:hover{background:rgba(236,232,245,.12);color:inherit}
.btn--small{min-height:40px;padding:.55rem 1.1rem;font-size:.95rem}

/* header */
.site-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:18px;padding-bottom:18px}
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font:400 clamp(1.1rem,5vw,1.4rem)/1 var(--display);text-decoration:none}
.brand:hover{color:var(--ink)}
.brand img{display:block}

/* age gate */
.gate{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px;background:var(--ink);color:var(--mist);overflow:auto}
html.age-ok .gate{display:none}
.gate-box{width:100%;max-width:440px;display:grid;gap:18px}
.gate-box h2{margin:0;font:400 clamp(2rem,9vw,2.8rem)/1.05 var(--display)}
.gate-box p{margin:0;color:#CFC8E0}
.gate-actions{display:grid;gap:12px;margin-top:6px}
.gate .btn--quiet{color:var(--mist)}
.gate :focus-visible{outline-color:var(--amber)}
.gate-small{font-size:.9rem}

/* hero */
.hero-band{overflow:hidden}
.hero{display:grid;gap:44px;padding-top:44px;padding-bottom:68px}
.hero h1{margin:0 0 18px;max-width:16ch;font:400 clamp(2.15rem,8.4vw,3.75rem)/1.06 var(--display);letter-spacing:-.01em}
.lede{margin:0 0 26px;max-width:46ch;color:var(--slate);font-size:1.125rem}
.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px}
.fine{margin:0;color:var(--slate);font-size:.9375rem}

.lit{position:relative;width:min(100%,380px);aspect-ratio:1;justify-self:center}
.lit::before{content:"";position:absolute;inset:-14%;border-radius:50%;background:radial-gradient(circle,rgba(242,163,58,.62) 0%,rgba(226,98,96,.30) 42%,rgba(194,49,90,0) 68%);animation:warm 1.6s ease-out both}
.lit svg{position:relative;display:block;width:100%;height:100%}
.gear-price{font:400 31px/1 var(--display)}
.gear-sub{font:600 10px/1 var(--body)}
@keyframes warm{from{opacity:0;transform:scale(.82)}to{opacity:1;transform:scale(1)}}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .lit::before{animation:none}
}
@media (min-width:860px){
  .hero{grid-template-columns:1.15fr .85fr;align-items:center;gap:56px}
}

/* sections */
.section{padding:56px 0;border-top:1px solid var(--line)}
.section h2{margin:0 0 28px;font:400 clamp(1.6rem,5vw,2.2rem)/1.15 var(--display)}

.facts{margin:0}
.facts > div{display:grid;gap:4px;padding:20px 0;border-top:1px solid var(--line)}
.facts > div:first-child{padding-top:0;border-top:0}
.facts dt{font-weight:700;font-size:1.1rem;line-height:1.3}
.facts dd{margin:0;max-width:56ch;color:var(--slate)}
@media (min-width:760px){
  .facts > div{grid-template-columns:260px 1fr;gap:24px}
}

.steps{margin:0;padding:0;list-style:none;counter-reset:step;display:grid;gap:24px}
.steps li{counter-increment:step;display:grid;grid-template-columns:44px 1fr;column-gap:16px;row-gap:2px}
.steps li::before{content:counter(step);grid-row:span 2;display:grid;place-items:center;width:44px;height:44px;border:1.5px solid var(--ink);border-radius:50%;font:400 1.25rem/1 var(--display)}
.steps h3{margin:0;font-size:1.1rem;line-height:1.3}
.steps p{margin:0;max-width:52ch;color:var(--slate)}

.panel{padding:6px 22px;background:var(--paper);border:1px solid var(--line);border-radius:16px}
.panel dl{margin:0}
.panel .row{display:grid;gap:2px;padding:16px 0;border-top:1px solid var(--line)}
.panel .row:first-child{border-top:0}
.panel dt{font-weight:700}
.panel dd{margin:0;color:var(--slate)}
@media (min-width:700px){
  .panel .row{grid-template-columns:210px 1fr;gap:24px}
}
.panel-cta{margin-top:28px}

.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{position:relative;list-style:none;padding:18px 40px 18px 0;font-weight:700;cursor:pointer}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);font:400 1.6rem/1 var(--display);transition:transform .2s}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq details p{margin:0 0 18px;max-width:60ch;color:var(--slate)}

/* legal documents */
.doc{padding-top:36px;padding-bottom:72px}
.doc h1{margin:0 0 8px;font:400 clamp(2rem,7vw,3rem)/1.1 var(--display)}
.doc .updated{margin:0 0 32px;color:var(--slate);font-size:.95rem}
.doc h2{margin:34px 0 8px;font-size:1.2rem;line-height:1.3}
.doc p,.doc li{max-width:68ch}
.doc p{margin:0 0 12px}
.doc ul{margin:0 0 12px;padding-left:1.25rem}
.doc li{margin-bottom:6px}

/* footer */
.site-foot{padding:44px 0 56px;background:var(--ink);color:var(--mist)}
.site-foot a{color:var(--mist)}
.site-foot a:hover{color:var(--amber)}
.site-foot :focus-visible{outline-color:var(--amber)}
.foot-grid{display:grid;gap:28px}
.site-foot h2{margin:0 0 10px;font:400 1.25rem/1.2 var(--display)}
.site-foot p{margin:0 0 6px;color:#CFC8E0}
.foot-links{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.legal-note{margin:30px 0 0;padding-top:20px;border-top:1px solid rgba(236,232,245,.2);font-size:.9rem}
@media (min-width:760px){
  .foot-grid{grid-template-columns:1.3fr 1fr}
}
