@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700;800;900&family=IBM+Plex+Mono:wght@400;500&display=swap');

:root { color-scheme: dark; --bg:#171819; --surface:#212224; --ink:#fffaf0; --muted:#c3c0b7; --brand:#ffbf24; --line:#48443b; --page:78rem; }
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; scrollbar-gutter:stable; }
body { margin:0; min-height:100vh; display:flex; flex-direction:column; background:var(--bg); color:var(--ink); font-family:Archivo,Arial,sans-serif; -webkit-font-smoothing:antialiased; }
main { flex:1; }
a { color:inherit; text-decoration:none; }
a:hover { color:var(--brand); }
button { font:inherit; }
button:disabled { cursor:not-allowed; opacity:.43; }
:focus-visible { outline:2px solid var(--brand); outline-offset:5px; }
h1,h2,h3,p,dl,dd { margin:0; }
p { line-height:1.6; }
.frame { width:min(var(--page),calc(100% - 5rem)); margin-inline:auto; }
.nav { min-height:5.4rem; display:flex; align-items:center; justify-content:space-between; gap:1.4rem; }
.brand { display:inline-flex; gap:.65rem; align-items:center; font-weight:800; font-size:1.45rem; letter-spacing:-.035em; flex-shrink:0; }
.nav nav,.footer-inner { display:flex; gap:clamp(.75rem,2.7vw,2.2rem); align-items:center; }
.nav nav { font-size:.88rem; }
.nav [aria-current] { color:var(--brand); }
.action { display:inline-grid; place-items:center; width:max-content; min-height:2.8rem; padding:.65rem 1.3rem; border:1px solid transparent; border-radius:.15rem; font-size:.9rem; font-weight:700; white-space:nowrap; cursor:pointer; transition:background-color .16s,color .16s,border-color .16s; }
.quiet { background:transparent; color:var(--ink); border-color:var(--line); }
.quiet:hover:not(:disabled) { color:var(--brand); border-color:var(--brand); }
.primary { background:var(--brand); color:#181404; border-color:var(--brand); }
.primary:hover:not(:disabled) { color:#181404; background:#ffd965; border-color:#ffd965; }
.wide { width:100%; }
.hero { min-height:calc(100svh - 5.4rem); display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:clamp(2rem,5vw,5rem); padding-block:4.5rem 6rem; }
.hero h1 { font-size:clamp(3.1rem,6.3vw,6rem); font-weight:780; letter-spacing:-.044em; line-height:1; }
.hero-copy p { font-size:clamp(1rem,1.4vw,1.3rem); max-width:27rem; color:var(--muted); margin-top:1.65rem; }
.hero-copy .action { margin-top:1.8rem; }
.hero-art { position:relative; isolation:isolate; overflow:hidden; min-height:22rem; display:grid; place-items:center; aspect-ratio:1.15; background:#1c1d1e; }
.hero-art img { width:58%; height:auto; z-index:1; }
.print { position:absolute; inset:0; pointer-events:none; }
.print-one { background:radial-gradient(circle,#c38e1f 0 1px,transparent 1.4px) left top/6px 6px; mask-image:linear-gradient(140deg,transparent 46%,#000 96%); opacity:.56; }
.print-two { inset:4%; background:repeating-linear-gradient(135deg,transparent 0 9px,#93805e20 10px 11px); mask-image:linear-gradient(121deg,#000,transparent 48%); }
.how { background:#ffbe26; color:#181404; }
.how-inner { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,9vw,9rem); align-items:center; min-height:min(90svh,700px); padding-block:6rem; }
.how h2,.close h2 { font-size:clamp(2.9rem,5.15vw,5.6rem); line-height:1; font-weight:770; letter-spacing:-.045em; }
.steps { display:grid; gap:2rem; }
.steps h3 { font-size:1.45rem; margin-bottom:.45rem; letter-spacing:-.04em; }
.steps p { max-width:29rem; }
.close { padding-block:clamp(5rem,12vw,11rem); }
.close p { color:var(--muted); margin:1.3rem 0 1.8rem; max-width:30rem; }
.footer { background:#080808; }
.footer-inner { padding-block:3rem; gap:1.4rem 2rem; flex-wrap:wrap; font-size:.9rem; }
.footer-inner span { margin-left:auto; color:var(--muted); }
.docs { display:grid; grid-template-columns:minmax(9rem,1fr) minmax(0,4fr); gap:3rem; padding-block:5rem 7rem; }
.docs nav { display:grid; gap:1rem; position:sticky; top:2rem; color:var(--muted); }
.article { max-width:44rem; }
.article h1,.claim h1 { font-size:clamp(3.2rem,6vw,6.1rem); line-height:1; letter-spacing:-.045em; font-weight:780; }
.article .intro,.claim-intro p { margin-top:1rem; font-size:1.13rem; color:var(--muted); }
.article section { margin-top:3rem; scroll-margin-top:2rem; }
.article h2 { font-size:1.8rem; letter-spacing:-.04em; margin-bottom:.6rem; }
.article section p { color:var(--muted); margin-top:.8rem; }
.claim { padding-block:4.8rem 7rem; }
.claim-grid { display:grid; grid-template-columns:.98fr 1.02fr; gap:1.6rem; margin-top:3.4rem; max-width:62rem; }
.ticket,.claim-panel { background:var(--surface); padding:clamp(1.3rem,3.5vw,2.35rem); min-width:0; }
.ticket { border-left:4px solid var(--brand); }
.ticket-top { display:flex; align-items:center; justify-content:space-between; gap:1rem; color:var(--muted); font-size:.85rem; }
.ticket h2 { margin-top:1.35rem; font-size:clamp(1.8rem,3.9vw,3.1rem); letter-spacing:-.055em; line-height:1; }
.claim-panel h2 { font-size:1.8rem; letter-spacing:-.055em; }
.claim dl { display:grid; gap:1rem; margin-top:1.6rem; }
.claim dl > div { display:grid; grid-template-columns:auto minmax(0,1fr); gap:1rem; align-items:start; }
.claim dt { color:var(--muted); }
.claim dd { text-align:right; overflow-wrap:anywhere; font-family:'IBM Plex Mono',monospace; font-size:.82rem; }
.claim dd a { color:var(--brand); }
.proof-detail { color:var(--muted); margin-top:.85rem; }
.proof-action { margin-top:1.65rem; }
.status { margin:1.4rem 0; color:var(--muted); min-height:3.05rem; }
.status.error { color:#ffb3a4; }
.receipt { display:block; width:max-content; color:var(--brand); margin:0 0 1.25rem; }
[hidden] { display:none!important; }
@media (max-width:850px) {
  .frame { width:calc(100% - 3rem); }
  .hero { grid-template-columns:1fr; gap:2.5rem; padding-block:3.6rem 4.5rem; }
  .hero-art { aspect-ratio:1.8; min-height:auto; }
  .hero-art img { width:42%; }
  .claim-grid { gap:1rem; }
}
@media (max-width:590px) {
  .frame { width:calc(100% - 2rem); }
  .nav { min-height:4.5rem; gap:.65rem; }
  .nav nav { gap:.75rem; font-size:.81rem; }
  .nav nav a[href*='#how'] { display:none; }
  .nav .action { font-size:.78rem; padding-inline:.65rem; }
  .brand { font-size:1.2rem; gap:.45rem; }
  .how-inner,.docs,.claim-grid { grid-template-columns:1fr; }
  .how-inner { padding-block:4rem; gap:2.5rem; }
  .docs,.claim { padding-block:3rem 5rem; }
  .docs nav { display:flex; flex-wrap:wrap; gap:.75rem 1rem; font-size:.84rem; }
  .claim-grid { margin-top:2.4rem; }
  .claim dl > div { gap:.35rem; }
  .proof-action { width:100%; }
  .footer-inner { padding-block:2rem; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; } }
