/* base: tokens, reset, body, background canvas, progress bar, shared eyebrow + reveal */
:root{
  --bg:#0d0d0f; --ink:#ededee; --muted:#9a9aa0; --gold:#d29350; --gold-2:#e4ac6d;
  --line:rgba(255,255,255,.14); --card:#18181b;
  --goldgrad:linear-gradient(120deg,#c97b3e,#e0975a,#a85a2c,#e0975a);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;overscroll-behavior-x:none}
/* overscroll-behavior-x:none stops the Mac two-finger horizontal-swipe "go back / refresh"
   navigation gesture, so swiping sideways drives the fests carousel instead of leaving the page */
body{background:var(--bg);color:var(--ink);font-family:'Inter Tight',system-ui,sans-serif;overflow-x:hidden;overscroll-behavior-x:none}
@media (pointer:coarse){body{cursor:auto}}
#bgfx{position:fixed;inset:0;width:100vw;height:100vh;z-index:-1;pointer-events:none}
html.bgfx body{background:transparent}
::selection{background:var(--gold);color:var(--bg)}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}

.progress{position:fixed;top:0;left:0;height:2px;background:var(--gold);z-index:600;width:100%;transform:scaleX(0);transform-origin:left;will-change:transform}

@keyframes cblink{50%{opacity:0}}
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}

/* section shell / labels */
.eyebrow{font-family:'Inter Tight',sans-serif;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:22px;display:flex;align-items:center;gap:12px}
.eyebrow::before{content:'';width:28px;height:1px;background:var(--gold)}

/* reveal */
.reveal{opacity:0;transform:translateY(40px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}
.reveal.in{opacity:1;transform:none}
