/* Tokens v2 (PRD 0.2 §15, REFERENCE §9 — TICKET-214). The same hex as packages/shared-ts/src/theme.ts;
   scripts/lib/public-tokens.spec.ts holds the two to each other. Fonts are served from /fonts (OFL), never a font host. */
:root { --plum:#1A1233; --violet:#4A2B8C; --sun:#FFB627; --sand:#F6F3EC; --surface:#FFFFFF; --ink2:#6A6378; --rule:#E7E2D9;
  --violetTint:#EEE9F7; --sunTint:#FFF3D6; --sunInk:#9A6400; --sandDeep:#ECEBE4; --success:#1F6B3A; --successTint:#E6F2EA;
  --danger:#8F2D22; --dangerTint:#FBE9E7; --info:#1F6F78; }
@font-face { font-family:"Bricolage Grotesque"; font-weight:600; font-display:swap; src:url(/fonts/BricolageGrotesque-SemiBold.ttf) format("truetype"); }
@font-face { font-family:"Bricolage Grotesque"; font-weight:700; font-display:swap; src:url(/fonts/BricolageGrotesque-Bold.ttf) format("truetype"); }
@font-face { font-family:"Plus Jakarta Sans"; font-weight:400; font-display:swap; src:url(/fonts/PlusJakartaSans-Regular.ttf) format("truetype"); }
@font-face { font-family:"Plus Jakarta Sans"; font-weight:500; font-display:swap; src:url(/fonts/PlusJakartaSans-Medium.ttf) format("truetype"); }
@font-face { font-family:"Plus Jakarta Sans"; font-weight:600; font-display:swap; src:url(/fonts/PlusJakartaSans-SemiBold.ttf) format("truetype"); }
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; color:var(--plum); background:var(--sand); line-height:1.65; }
h1, h2, h3, .brand { font-family:"Bricolage Grotesque","Plus Jakarta Sans",system-ui,sans-serif; }
header { background:var(--plum); color:#fff; padding:2.2rem 1.25rem; border-radius:0 0 20px 20px; }
header .wrap, main { max-width:760px; margin:0 auto; }
header a.brand { color:#fff; text-decoration:none; font-weight:800; font-size:1.1rem; letter-spacing:.01em; }
header a.brand span { color:var(--sun); }
header h1 { font-size:1.8rem; margin-top:.8rem; font-weight:700; line-height:1.2; }
header p.meta { color:var(--rule); font-size:.9rem; margin-top:.4rem; }
main { padding:2rem 1.25rem 4rem; }
h2 { font-size:1.2rem; margin:2.2rem 0 .7rem; }
h2::before { content:""; display:inline-block; width:.55rem; height:.55rem; background:var(--sun); border-radius:2px; margin-right:.55rem; vertical-align:.1rem; }
p, li { margin-bottom:.55rem; }
ol, ul { padding-left:1.3rem; margin-bottom:.8rem; }
a { color:var(--violet); }
.cta { display:inline-block; background:var(--violet); color:#fff; text-decoration:none; font-weight:700; padding:.8rem 1.4rem; border-radius:24px; margin:.6rem 0 1rem; }
.note { background:var(--sunTint); color:var(--sunInk); padding:.8rem 1rem; border-radius:14px; margin:1rem 0; }
.grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1rem; margin:1.5rem 0; }
.card { background:var(--surface); border:1px solid var(--rule); border-radius:20px; padding:1.1rem; }
.card h3 { font-size:1rem; margin-bottom:.3rem; }
footer { border-top:1px solid var(--rule); padding:1.5rem 1.25rem 2.5rem; text-align:center; color:var(--ink2); font-size:.85rem; }
