@font-face{font-family:Montserrat;font-weight:800;font-display:swap;src:url(assets/fonts/Montserrat800.ttf)}
@font-face{font-family:Inter;font-weight:400;font-display:swap;src:url(assets/fonts/Inter400.ttf)}
@font-face{font-family:Inter;font-weight:600;font-display:swap;src:url(assets/fonts/Inter600.ttf)}
:root{--bg:#000;--shade:#141414;--grid:#262626;--fg:#fff;--sub:#B3B3B3;--violet:#7C3AED;--lime:#CCFF00;--pink:#FF2E88;--lilac:#A78BFA}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:400 1rem/1.6 Inter,system-ui,sans-serif}
img{max-width:100%;height:auto;display:block}
a{color:var(--lime)}a:hover{color:var(--fg)}
h1,h2,h3,.logo{font-family:Montserrat,Impact,sans-serif;font-weight:800;line-height:1.05;letter-spacing:-.01em;margin:0 0 .5em}
h1{font-size:clamp(1.9rem,9vw,4.6rem);overflow-wrap:break-word;text-transform:uppercase}
h2{font-size:clamp(1.6rem,5vw,2.4rem);text-transform:uppercase}
h3{font-size:1.15rem}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
header{border-bottom:1px solid var(--grid);position:sticky;top:0;background:rgba(0,0,0,.92);z-index:9}
header .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;flex-wrap:wrap}
.logo{display:flex;align-items:center;gap:10px;color:var(--fg);text-decoration:none;font-size:1.1rem;margin:0}
.logo img{width:36px;height:36px;border-radius:50%}
nav a{color:var(--sub);text-decoration:none;font-weight:600;margin-left:16px;font-size:.95rem}
nav a:hover,nav a[aria-current]{color:var(--lime)}
section{padding:56px 0}
.hero .wrap{display:grid;gap:24px;align-items:center}
.hero .mark{background:var(--lime);color:#0A0A0A;padding:0 .15em}
.lead{font-size:1.25rem;color:var(--sub);margin:0 0 1em}
.lead strong{color:var(--fg)}
.hero img{max-width:min(340px,100%);margin:0 auto}
.btns{display:flex;flex-wrap:wrap;gap:10px}
.btn{display:inline-block;padding:12px 18px;border-radius:8px;font-weight:600;text-decoration:none;border:2px solid var(--violet);color:var(--fg)}
.btn.primary{background:var(--lime);border-color:var(--lime);color:#0A0A0A}
.btn:hover{border-color:var(--lime);color:var(--lime)}.btn.primary:hover{background:#fff;border-color:#fff;color:#0A0A0A}
.eyebrow{color:var(--pink);font-weight:600;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;margin:0 0 .5em}
.grid{display:grid;gap:20px}
.card{background:var(--shade);border:1px solid var(--grid);border-radius:12px;overflow:hidden;position:relative}
.card .body{padding:16px 18px}
.card p{margin:.3em 0;color:var(--sub);font-size:.92rem}
.tag{display:inline-block;margin:14px 0 0 18px;background:var(--pink);color:#000;font:800 .72rem Montserrat,sans-serif;letter-spacing:.1em;padding:4px 8px;border-radius:4px}
.strip{background:var(--shade);border-top:1px solid var(--grid);border-bottom:1px solid var(--grid)}
.step{border-left:4px solid var(--violet);padding:4px 0 4px 16px}
.step h3{color:var(--lime)}.step p{margin:0;color:var(--sub)}
.social{display:flex;flex-wrap:wrap;gap:10px}
.newsletter{border:2px dashed var(--violet);border-radius:12px;padding:24px}
.newsletter form{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.newsletter input{flex:1 1 220px;padding:12px;border-radius:8px;border:1px solid var(--grid);background:#000;color:var(--sub);font:inherit}
.newsletter button{padding:12px 18px;border-radius:8px;border:0;background:var(--grid);color:var(--sub);font:600 1rem Inter,sans-serif}
.note{background:#1a1300;border:1px solid var(--pink);color:var(--fg);border-radius:8px;padding:12px 16px;font-size:.92rem}
.prose{max-width:760px}.prose p,.prose li{color:#ddd}
dl.kv{display:grid;grid-template-columns:1fr;gap:4px 16px}dl.kv dt{color:var(--lime);font-weight:600}dl.kv dd{margin:0 0 10px;color:#ddd}
.counter{border:1px solid var(--grid);border-radius:10px;padding:14px 16px;margin:0 0 12px;background:var(--shade)}
.counter b{color:var(--pink)}
footer{border-top:1px solid var(--grid);padding:28px 0;color:var(--sub);font-size:.88rem}
footer .wrap{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}
@media(min-width:760px){.hero .wrap{grid-template-columns:1.4fr 1fr}.hero img{max-width:100%}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}.g2{grid-template-columns:1fr 1fr}dl.kv{grid-template-columns:180px 1fr}section{padding:80px 0}}

/* --- accessibility hardening --- */
.grid>*,.hero .wrap>*{min-width:0}
h2,h3,p,li,dd{overflow-wrap:break-word}
.skip{position:absolute;left:8px;top:-60px;z-index:100;background:var(--lime);color:#0A0A0A;padding:10px 16px;border-radius:6px;font-weight:600;text-decoration:none}
.skip:focus{top:8px}
a:focus-visible,button:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--lime);outline-offset:3px;border-radius:4px;box-shadow:0 0 0 6px #000}
.btn.primary:focus-visible{outline-color:#fff}
main:focus{outline:none}
nav a{display:inline-block;padding:10px 4px;min-height:44px}
.btn{min-height:44px}
footer nav a,footer .legal a{display:inline-block;padding:6px 2px;min-height:24px;margin:0 6px 0 0;color:var(--lime)}
footer .wrap{flex-direction:column}
footer .disclaim{max-width:760px;margin:0}
.newsletter input:disabled,.newsletter button:disabled{color:#B3B3B3;opacity:1;cursor:not-allowed}
.newsletter label{display:block;width:100%;font-weight:600}
.legal-note{border:1px solid var(--pink);border-radius:8px;padding:12px 16px;background:#1a1300;margin:0 0 24px}
.prose h2{margin-top:1.4em;font-size:clamp(1.3rem,4vw,1.7rem)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media(max-width:759px){.grid,.hero .wrap{grid-template-columns:minmax(0,1fr)}}

/* receipts v3 */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 8px}
.chip{min-height:44px;padding:8px 16px;border-radius:999px;border:2px solid var(--violet);background:#000;color:var(--fg);font:600 .95rem Inter,sans-serif;cursor:pointer}
.chip[aria-pressed="true"]{background:var(--lime);border-color:var(--lime);color:#0A0A0A}
.chip:hover{border-color:var(--lime)}
.count{color:var(--sub);font-size:.9rem;margin:0 0 16px}
.rgrid{list-style:none;margin:0;padding:0;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.rcard{background:var(--shade);border:1px solid var(--grid);border-radius:12px;overflow:hidden}
.rcard:hover{border-color:var(--violet)}
.rlink{display:block;color:inherit;text-decoration:none;height:100%}
.rlink img{aspect-ratio:4/5;object-fit:cover;width:100%;border-bottom:1px solid var(--grid)}
.rcard .body{padding:12px 18px 18px}
.rcard h3{color:var(--fg);margin:.4em 0 .2em}
.rcard p{margin:.3em 0;color:var(--sub);font-size:.92rem}
.rcard .date{color:var(--lilac);font-weight:600;font-size:.85rem}
.rcard .more{color:var(--lime);font-weight:600}
.rlink:focus-visible{outline-offset:-3px}
.details .detail{margin:0 0 28px;scroll-margin-top:80px}
.details .g3 img{max-width:420px;width:100%}
.back{margin-top:8px}
[hidden]{display:none!important}

/* additions v4: forms, articles, how-we-check */
.newsletter.live{border-style:solid}
.newsletter.live input,.form input,.form textarea{color:var(--fg)}
.newsletter.live button,.form button{background:var(--lime);color:#0A0A0A;cursor:pointer;min-height:44px}
.newsletter.live button:hover,.form button:hover{background:#fff}
.form{max-width:640px;display:grid;gap:16px}
.form label{font-weight:600;display:block;margin-bottom:6px}
.form .hint{color:var(--sub);font-size:.88rem;font-weight:400}
.form input,.form textarea{width:100%;padding:12px;border-radius:8px;border:1px solid #555;background:#000;font:inherit}
.form textarea{min-height:140px;resize:vertical}
.form button{padding:12px 18px;border-radius:8px;border:0;font:600 1rem Inter,sans-serif;justify-self:start}
.check{display:flex;gap:10px;align-items:flex-start}.check input{width:22px;height:22px;flex:none;margin-top:3px}
.status{min-height:1.5em;color:var(--lime);font-weight:600;margin:0}
.hp{position:absolute;left:-9999px}
.empty{border:2px dashed var(--grid);border-radius:12px;padding:28px;max-width:760px}
table.cal{border-collapse:collapse;width:100%;font-size:.92rem}
table.cal th,table.cal td{border:1px solid var(--grid);padding:8px 10px;text-align:left;vertical-align:top}
table.cal th{background:var(--shade);color:var(--lime)}
.tablewrap{overflow-x:auto}
footer .newsletter{max-width:560px;padding:16px}
