@font-face {
  font-family: 'StrongGlasgow';
  src: url('/assets/fonts/StrongGlasgowRegular.woff2') format('woff2'),
       url('/assets/fonts/StrongGlasgowRegular.ttf') format('truetype');
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: 'StrongGlasgow';
  src: url('/assets/fonts/StrongGlasgowBold.woff2') format('woff2'),
       url('/assets/fonts/StrongGlasgowBold.ttf') format('truetype');
  font-weight: 700;
  font-display: swap;
}
@font-face {
  font-family: 'Brasilia';
  src: url('/assets/fonts/BrasiliaThin.woff2') format('woff2'),
       url('/assets/fonts/BrasiliaThin.ttf') format('truetype');
  font-weight: 300;
  font-display: swap;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --bg:      #191816;
  --bg2:     #211f1c;
  --bg3:     #2c2a26;
  --gold:    #c9944a;
  --gold-lt: #e0b878;
  --cream:   #f0ead6;
  --muted:   #9a9186;
  --line:    rgba(201, 148, 74, .2);
}

html { scroll-behavior: smooth; }

.skip-link {
  position: absolute; top: -40px; left: 0;
  background: var(--gold); color: #000;
  padding: 8px 16px; z-index: 9999;
  font-size: 14px; text-decoration: none;
}
.skip-link:focus { top: 0; }

:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }

.sr-only {
  position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

.accent { color: var(--gold); }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
  }
  html { scroll-behavior: auto; }
}

.cookie-banner {
  position: fixed; left: 50%; bottom: 1.2rem; transform: translateX(-50%);
  z-index: 9999; width: min(680px, calc(100% - 2rem));
  background: var(--bg); color: var(--cream);
  border: 1px solid var(--gold); border-radius: 10px;
  padding: 1rem 1.2rem;
  display: flex; flex-wrap: wrap; align-items: center;
  gap: .8rem 1.2rem;
  box-shadow: 0 10px 40px rgba(0, 0, 0, .5);
  font-family: 'Gill Sans', 'Optima', Georgia, sans-serif;
  text-align: left;
}
.cookie-banner[hidden] { display: none; }
.cookie-text { flex: 1 1 280px; font-size: .85rem; line-height: 1.5; color: var(--cream); }
.cookie-text span { color: var(--muted); }
.cookie-actions { display: flex; gap: .6rem; margin-left: auto; }
.cookie-btn {
  font-size: .72rem; letter-spacing: .12em; text-transform: uppercase;
  color: var(--bg); background: var(--gold); border: 1px solid var(--gold);
  padding: .6rem 1.2rem; border-radius: 6px; cursor: pointer;
  transition: background .2s, color .2s;
}
.cookie-btn:hover { background: var(--gold-lt); border-color: var(--gold-lt); }
.cookie-btn--ghost { background: transparent; color: var(--gold); }
.cookie-btn--ghost:hover { background: var(--gold); color: var(--bg); }
