/* Generated by scripts/build-tokens.mjs from design/tokens.json — SLOFF festival tokens. Do not edit by hand. */
:where(:root){
--sloff-bg:#000000;
--sloff-surface-1:#111111;
--sloff-surface-2:#1a1a1a;
--sloff-surface-3:#252525;
--sloff-scrim:rgba(0,0,0,.75);
--sloff-text:#ffffff;
--sloff-text-body:rgba(255,255,255,.85);
--sloff-text-muted:rgba(255,255,255,.72);
--sloff-text-faint:rgba(255,255,255,.55);
--sloff-ink:#000000;
--sloff-line:rgba(255,255,255,.14);
--sloff-line-strong:rgba(255,255,255,.24);
--sloff-line-input:rgba(255,255,255,.42);
--sloff-fest-accent:#e3d325;
--sloff-fest-accent-hover:#f1e769;
--sloff-fest-accent-ink:#000000;
--sloff-fest-highlight:#ec86b4;
--sloff-fest-highlight-ink:#000000;
--sloff-fest-paper:#111111;
--sloff-fest-cream:#e2d8a5;
--sloff-fest-sage:#a1bdb8;
--sloff-fest-olive:#cab14c;
--sloff-fest-olive-ink:#796725;
--sloff-fest-orange:#eb5941;
--sloff-fest-gold:#e3cb40;
--sloff-fest-rose:#ecae7b;
--sloff-palm-orange:#e95421;
--sloff-palm-orange-ink:#000000;
--sloff-palm-orange-bg:#2a1409;
--sloff-error:#ff8fa8;
--sloff-error-bg:#2a0f16;
--sloff-success-bg:#222006;
--sloff-warning:#ffb35c;
--sloff-warning-bg:#3a1f00;
--sloff-saved-bg:#23141b;
--sloff-font:Montserrat, "Montserrat Fallback", system-ui, sans-serif;
--sloff-fw-regular:400;
--sloff-fw-medium:500;
--sloff-fw-semibold:600;
--sloff-fw-bold:700;
--sloff-fw-extrabold:800;
--sloff-fw-black:900;
--sloff-fs-11:11px;
--sloff-fs-12:12px;
--sloff-fs-13:13px;
--sloff-fs-14:14px;
--sloff-fs-15:15px;
--sloff-fs-16:16px;
--sloff-fs-18:18px;
--sloff-fs-20:20px;
--sloff-fs-22:22px;
--sloff-fs-24:24px;
--sloff-fs-32:32px;
--sloff-fs-display:clamp(32px, 8vw, 52px);
--sloff-lh-display:1;
--sloff-lh-tight:1.1;
--sloff-lh-snug:1.2;
--sloff-lh-body:1.5;
--sloff-ls-display:-.01em;
--sloff-ls-button:.04em;
--sloff-ls-label:.08em;
--sloff-ls-eyebrow:.1em;
--sloff-ls-wide:.12em;
--sloff-radius-pill:999px;
--sloff-radius-card:14px;
--sloff-radius-row:12px;
--sloff-radius-panel:18px;
--sloff-radius-sheet:22px;
--sloff-radius-control:8px;
--sloff-space-1:4px;
--sloff-space-2:8px;
--sloff-space-3:12px;
--sloff-space-4:16px;
--sloff-space-5:20px;
--sloff-space-6:24px;
--sloff-space-pill-x:10px;
--sloff-space-button-x:22px;
--sloff-tap-min:44px;
--sloff-button-h:48px;
--sloff-focus:var(--sloff-fest-accent);
--sloff-focus-w:2px;
--sloff-focus-offset:2px;
}
.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:var(--sloff-space-2);min-height:var(--sloff-button-h);padding:0 var(--sloff-space-button-x);border:1px solid var(--sloff-fest-accent);border-radius:var(--sloff-radius-pill);background:var(--sloff-fest-accent);color:var(--sloff-fest-accent-ink);font-family:var(--sloff-font);font-size:var(--sloff-fs-14);font-weight:var(--sloff-fw-extrabold);line-height:var(--sloff-lh-tight);letter-spacing:var(--sloff-ls-button);text-transform:uppercase;text-decoration:none;white-space:nowrap;cursor:pointer}
.btn-primary:hover{background:var(--sloff-fest-accent-hover);border-color:var(--sloff-fest-accent-hover);color:var(--sloff-fest-accent-ink)}
.btn-primary:focus-visible,.btn-secondary:focus-visible{outline:var(--sloff-focus-w) solid var(--sloff-focus);outline-offset:var(--sloff-focus-offset)}
.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:var(--sloff-space-2);min-height:var(--sloff-button-h);padding:0 var(--sloff-space-button-x);border:1px solid var(--sloff-text);border-radius:var(--sloff-radius-pill);background:transparent;color:var(--sloff-text);font-family:var(--sloff-font);font-size:var(--sloff-fs-14);font-weight:var(--sloff-fw-extrabold);line-height:var(--sloff-lh-tight);letter-spacing:var(--sloff-ls-button);text-transform:uppercase;text-decoration:none;white-space:nowrap;cursor:pointer}
.btn-secondary:hover{border-color:var(--sloff-fest-accent);color:var(--sloff-fest-accent)}
.card{background:var(--sloff-surface-1);border:1px solid var(--sloff-line);border-radius:var(--sloff-radius-card);padding:var(--sloff-space-4);color:var(--sloff-text)}
.pill{display:inline-flex;align-items:center;gap:var(--sloff-space-1);padding:var(--sloff-space-1) var(--sloff-space-pill-x);border-radius:var(--sloff-radius-pill);background:var(--sloff-surface-3);color:var(--sloff-text);font-family:var(--sloff-font);font-size:var(--sloff-fs-11);font-weight:var(--sloff-fw-extrabold);line-height:var(--sloff-lh-tight);letter-spacing:var(--sloff-ls-button);text-transform:uppercase;white-space:nowrap}
.badge-premiere{display:inline-flex;align-items:center;padding:var(--sloff-space-1) var(--sloff-space-2);border:1px solid var(--sloff-fest-highlight);border-radius:var(--sloff-radius-pill);background:transparent;color:var(--sloff-fest-highlight);font-family:var(--sloff-font);font-size:var(--sloff-fs-11);font-weight:var(--sloff-fw-extrabold);line-height:var(--sloff-lh-tight);letter-spacing:var(--sloff-ls-button);text-transform:uppercase;white-space:nowrap}
.badge-access{display:inline-flex;align-items:center;padding:var(--sloff-space-1) var(--sloff-space-2);border:1px solid var(--sloff-line-strong);border-radius:var(--sloff-radius-pill);background:transparent;color:var(--sloff-text);font-family:var(--sloff-font);font-size:var(--sloff-fs-11);font-weight:var(--sloff-fw-extrabold);line-height:var(--sloff-lh-tight);letter-spacing:var(--sloff-ls-button);text-transform:uppercase;white-space:nowrap}
.section-head{margin:0;color:var(--sloff-text);font-family:var(--sloff-font);font-size:var(--sloff-fs-22);font-weight:var(--sloff-fw-extrabold);line-height:var(--sloff-lh-snug);text-transform:uppercase}
.eyebrow{margin:0;color:var(--sloff-fest-highlight);font-family:var(--sloff-font);font-size:var(--sloff-fs-12);font-weight:var(--sloff-fw-extrabold);line-height:var(--sloff-lh-tight);letter-spacing:var(--sloff-ls-eyebrow);text-transform:uppercase}
.muted{color:var(--sloff-text-muted)}
