/* Reset */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Inter','Roboto',sans-serif;font-size:16px;line-height:1.6;background-color:#121212;color:#fff;min-height:100vh}
:focus-visible{outline:2px solid #FBC02D;outline-offset:2px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important}}

/* Variables */
:root{
  --color-red:#D32F2F;
  --color-silver:#B0BEC5;
  --color-yellow:#FBC02D;
  --color-blue:#2196F3;
  --bg-dark:#121212;
  --bg-card:#1E1E1E;
  --text-primary:#fff;
  --text-secondary:#B0BEC5;
  --heading-font:'Bebas Neue','Impact',sans-serif;
  --body-font:'Inter','Roboto',sans-serif;
  --score-font:'Fira Mono',monospace;
  --container-max:1280px;
  --border-thick:8px;
  --shadow-strong:0 8px 24px rgba(0,0,0,0.6);
}

/* Container */
.container{max-width:var(--container-max);margin:0 auto;padding:0 24px}

/* Skip link */
.skip-link{position:absolute;top:-100%;left:0;background:var(--color-red);color:#fff;padding:8px 16px;z-index:1000;font-weight:700}
.skip-link:focus{top:0}

/* Header */
.site-header{background:var(--bg-dark);border-bottom:var(--border-thick) solid var(--color-red);position:relative;z-index:100}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;padding:16px 0;position:relative}
.site-header__brand{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 16px}
.site-header__logo{font-family:var(--heading-font);font-size:2.5rem;color:var(--color-red);text-decoration:none;line-height:1;letter-spacing:2px;text-transform:uppercase;transition:color 0.2s}
.site-header__logo:hover{color:var(--color-yellow)}
.site-header__sub{font-size:0.875rem;color:var(--color-silver);text-transform:uppercase;letter-spacing:1px}
.site-header__strap{font-size:0.75rem;color:var(--text-secondary);white-space:nowrap}
.site-header__toggle{display:none;background:none;border:none;color:var(--text-primary);font-size:1.75rem;cursor:pointer;padding:4px 8px;border-radius:4px;transition:transform 0.3s}
.site-header__toggle[data-open] .hamburger-icon{display:block;transform:rotate(45deg);content:"×"}
.hamburger-icon{display:block;transition:transform 0.3s;line-height:1}
.site-header__nav ul{list-style:none;display:flex;gap:4px}
.site-header__nav a{display:block;padding:8px 16px;font-family:var(--heading-font);font-size:1.25rem;color:var(--text-secondary);text-decoration:none;text-transform:uppercase;letter-spacing:1px;border:2px solid transparent;transition:all 0.2s;position:relative}
.site-header__nav a::after{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:0;height:3px;background:var(--color-red);transition:width 0.2s}
.site-header__nav a:hover::after{width:80%}
.site-header__nav a[aria-current="page"],.site-header__nav a:hover{background:var(--color-red);color:#fff;border-color:var(--color-red);border-radius:4px}
.site-header__nav a[aria-current="page"]::after,.site-header__nav a:hover::after{display:none}

/* Footer */
.site-footer{background:var(--bg-dark);border-top:var(--border-thick) solid var(--color-red);padding:32px 0 16px}
.site-footer__inner{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;align-items:start}
.site-footer__logo{font-family:var(--heading-font);font-size:2rem;color:var(--color-red);display:block;line-height:1}
.site-footer__sub{font-size:0.75rem;color:var(--color-silver);display:block;margin-top:4px}
.site-footer__links{list-style:none;display:flex;flex-direction:column;gap:8px}
.site-footer__links a{color:var(--text-secondary);text-decoration:none;font-size:0.9375rem;transition:color 0.2s}
.site-footer__links a:hover{color:var(--color-yellow)}
.site-footer__contact{display:flex;flex-direction:column;gap:4px;font-size:0.875rem;color:var(--text-secondary)}
.site-footer__bottom{margin-top:24px;padding-top:16px;border-top:1px solid #333;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:0.8125rem;color:#888;text-align:center}
.site-footer__bottom span{padding:4px 0}

/* Utility classes */
.btn{display:inline-block;padding:12px 32px;font-family:var(--heading-font);font-size:1.25rem;color:#fff;background:var(--color-red);border:2px solid var(--color-red);border-radius:0;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:all 0.2s;box-shadow:var(--shadow-strong)}
.btn:hover{background:transparent;color:var(--color-red)}
.btn--secondary{background:transparent;border-color:var(--color-silver);color:var(--color-silver)}
.btn--secondary:hover{background:var(--color-silver);color:var(--bg-dark)}

/* Scroll progress */
[data-scroll-progress]{position:fixed;top:0;left:0;height:4px;background:var(--color-blue);z-index:9999;width:0;transition:width 0.1s linear;pointer-events:none}
@media (prefers-reduced-motion:reduce){[data-scroll-progress]{transition:none}}

/* Image placeholder (for pages) */
.img-box{position:relative;width:100%;padding-top:56.25%;background:var(--bg-card);border:1px solid var(--color-silver);overflow:hidden;border-radius:4px}
.img-box>img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}

/* General heading */
h1,h2,h3{font-family:var(--heading-font);font-weight:700}

/* Responsive */
@media (max-width:767px){
  .site-header__toggle{display:block}
  .site-header__nav{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(18,18,18,0.98);z-index:99;flex-direction:column;justify-content:center;align-items:center}
  .site-header__nav[data-open]{display:flex}
  .site-header__nav ul{flex-direction:column;gap:0;text-align:center}
  .site-header__nav a{font-size:1.75rem;padding:16px 32px;border:none;background:transparent;border-radius:0}
  .site-header__nav a:hover,.site-header__nav a[aria-current="page"]{background:var(--color-red);color:#fff}
  .site-header__strap{display:none}
  .site-footer__inner{grid-template-columns:1fr;text-align:center}
  .site-footer__bottom{flex-direction:column}
}
@media (min-width:768px) and (max-width:1023px){
  .site-header__logo{font-size:2rem}
  .site-header__nav a{font-size:1rem;padding:6px 12px}
  .site-footer__inner{grid-template-columns:1fr 1fr}
}
@media (min-width:1024px){
  .site-header__nav a{font-size:1.125rem;padding:8px 18px}
}
