/* =============================================================
   BASE — CSS custom properties, resets, universal helpers
   Upgrade Media · upgrade-media.com
   ============================================================= */

:root {
  --bg:    #050505;
  --bg2:   #0a0a0a;
  --bg3:   #101010;
  --text:  #f5f3ee;
  --muted: #8f8d87;
  --muted2:#62615d;
  --line:  rgba(255,255,255,.12);
  --gold:  #d5aa4b;
  --gold2: #f0cf7b;
  --display: "Anton", Impact, sans-serif;
  --sans:    "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --max:   1280px;
  --nav-h: 64px;
}

/* ------- reset ------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: auto; background: var(--bg); }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: var(--sans);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}
body.lock { overflow: hidden; }

::selection { background: var(--gold); color: #050505; }

a { color: inherit; text-decoration: none; }
em, i { font-style: normal; }
button, input, textarea, select { font: inherit; }
button { color: inherit; background: none; border: 0; cursor: pointer; }
img, video { display: block; max-width: 100%; }
img { user-select: none; }
[hidden] { display: none !important; }
:focus-visible { outline: 2px solid var(--gold2); outline-offset: 4px; }

/* ------- scroll progress bar ------- */
#progress {
  position: fixed;
  z-index: 600;
  left: 0; top: 0;
  width: 100%; height: 2px;
  background: linear-gradient(90deg, var(--gold), var(--gold2));
  transform: scaleX(0);
  transform-origin: left;
  pointer-events: none;
}

/* ------- reduced-motion overrides ------- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
  .reveal { opacity: 1 !important; transform: none !important; }
  .hero-title {
    transform: none !important;
    opacity: 1 !important;
    color: #f5f3ee !important;
  }
  .hero-kicker,
  .hero-sub,
  .hero-actions { opacity: 1 !important; transform: none !important; }
  .marquee-track { animation: none !important; }
}

