/* self-hosted, SIL OFL 1.1 (Google Fonts) */
@font-face {
  font-family: 'Gabarito';
  font-style: normal;
  font-weight: 500 900;
  font-display: swap;
  src: url(fonts/gabarito-QGYtz_0dZAGK.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(fonts/hanken-grotesk-ieVn2YZDLWuG.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Style "Anlass". Reference lock: Partiful. Preserve: white canvas; black filled CTA, 8px radius (never a coloured
   button); heavy rounded geometric display (Gabarito) with -0.03em; the product's pages shown like invitation cards,
   tilted ±8-12°, 12px radius, layered soft shadow, on a soft wash that fades to white; pills only for badges.
   Borrowed (Pop Manifesto): ONE full-bleed saturated block in the product colour for the closing call, black type.
   Reject: serif, italic accent words, cream canvas, ornaments, gradients on buttons or text. */
:root{--canvas:#fff;--paper:#fff;--ink:#000;--char:#333;--mute:#666;--stone:#ccc;--line:#ececec;
  --shadow:0 .8px 2.4px -.6px rgba(0,0,0,.05),0 2.4px 7.2px -1.25px rgba(0,0,0,.05),0 6.4px 19.1px -1.9px rgba(0,0,0,.05),0 20px 60px -2.5px rgba(0,0,0,.05);
  --accent:#2b3fd6;--serif:"Gabarito",Arial,sans-serif;--sans:"Hanken Grotesk",Arial,sans-serif}
body{background:#fff;font-family:var(--sans)}
h1,h2,.price .amt,.brand{font-family:Gabarito;font-weight:800;letter-spacing:-.03em}
h1{line-height:.98;font-size:clamp(44px,6vw,86px)}
h2{line-height:1.02;font-size:clamp(32px,4.2vw,52px)}
h3{font:700 19px/1.3 var(--sans);letter-spacing:-.02em}
.brand{font-size:26px}
.note{background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 22%,#fff),color-mix(in srgb,var(--accent) 10%,#fff));border:0;color:#000;font-weight:600}.note::before{display:none}
.eyebrow{border:0;background:rgba(0,0,0,.05);color:#000;font-weight:700;border-radius:960px}
.sub{color:var(--char)}
.btn{border-radius:8px;font-weight:700;letter-spacing:-.02em}.btn.primary{background:#000}.btn.primary:hover{opacity:.85;background:#000}
.btn.ghost{border:1px solid #000;border-radius:8px}
.hero{position:relative}
html{overflow-x:clip}
.hero{isolation:isolate}
.hero::before{content:"";position:absolute;top:0;bottom:0;left:calc(50% - 50vw);right:calc(50% - 50vw);z-index:-1;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 10%,#fff),#fff 85%)}
.stack{height:470px}
.sheet{border-radius:12px;border:0;box-shadow:var(--shadow)}
.sheet.s1{transform:rotate(-3deg)}
.sheet.s2{transform:rotate(-12deg) translate(-40px,26px);opacity:1;background:var(--accent)}
.sheet.s3{transform:rotate(10deg) translate(44px,20px);opacity:1;background:color-mix(in srgb,var(--accent) 30%,#fff)}
.sheet .tag{border-radius:960px;background:rgba(0,0,0,.05);color:#000;font-weight:700}
.sheet .doc,.sample blockquote,.result-box .text{font:400 18px/1.6 var(--sans);color:#1a1a1a}
.card,.sample,.price,.q,.tool,.result-box{border-radius:12px;box-shadow:var(--shadow);border:0}
.card .n{border:0;background:#000;color:#fff;font-weight:800}
.pains li,.opt{border-radius:12px}
.answers li,.qprog{border-radius:960px}.qprog i{background:#000}
details summary{font:700 19px/1.35 var(--sans)}
.price .amt{font-weight:900}
.final{position:relative;isolation:isolate;padding:84px 0;color:#000}
.final::before{content:"";position:absolute;top:0;bottom:0;left:calc(50% - 50vw);right:calc(50% - 50vw);z-index:-1;background:var(--accent)}
.final h2{color:#000}.final .sub{color:#000}.final .btn.primary{background:#000}
.glist a{font:700 20px var(--sans)}

:root{--accent:#2b3fd6}
