/* Reset & Variables */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --primary-red:#E53935;
  --primary-black:#1A1A1A;
  --accent-silver:#C0C0C0;
  --accent-blue:#00B4D8;
  --bg-dark:#121212;
  --bg-light:#FFFFFF;
  --text-primary:#FFFFFF;
  --text-secondary:#B0B0B0;
  --emphasis-red-bg:rgba(229,57,53,0.15);
  --font-heading:Arial Black,Impact,sans-serif;
  --font-body:Segoe UI,Roboto,sans-serif;
  --font-label:Courier New,monospace;
  --header-height:64px;
  --container-max:1280px;
}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);background:var(--bg-dark);color:var(--text-primary);line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:var(--primary-red);text-decoration:none;transition:color 0.2s}
a:hover,a:focus-visible{color:var(--accent-blue)}
.skip-link{position:absolute;left:-9999px;top:0;z-index:9999;padding:8px 16px;background:var(--primary-red);color:#fff;font-weight:bold}
.skip-link:focus{left:8px;top:8px}

/* Header */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  background:transparent;
  transition:background 0.3s,box-shadow 0.3s;
  padding:0 24px;
}
.site-header.scrolled{
  background:var(--primary-black);
  box-shadow:0 2px 12px rgba(0,0,0,0.6);
}
.header-inner{
  max-width:var(--container-max);margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  height:var(--header-height);
}
.header-brand .logo{
  font-family:var(--font-heading);font-size:24px;letter-spacing:4px;
  color:var(--primary-red);text-transform:uppercase;
}
.header-nav ul{list-style:none;display:flex;gap:24px}
.header-nav a{
  font-family:var(--font-label);font-size:14px;text-transform:uppercase;
  color:var(--text-primary);position:relative;padding:4px 0;
}
.header-nav a:hover,.header-nav a:focus-visible{color:var(--primary-red)}
.header-nav a[aria-current="page"]::after{
  content:'';position:absolute;bottom:-2px;left:0;right:0;
  height:2px;background:var(--primary-red);
}
.header-actions{display:flex;align-items:center;gap:16px}
.header-phone{font-family:var(--font-label);color:var(--accent-silver);font-size:14px}
.btn{
  display:inline-block;padding:10px 24px;
  font-family:var(--font-body);font-weight:700;font-size:14px;
  text-transform:uppercase;letter-spacing:1px;
  background:var(--primary-red);color:#fff;border:none;cursor:pointer;
  transition:filter 0.2s,transform 0.2s;
}
.btn:hover,.btn:focus-visible{filter:brightness(1.2);transform:translateY(-2px)}
.btn-cta{background:var(--accent-blue);color:var(--primary-black)}
[data-nav-toggle]{
  display:none;background:none;border:none;cursor:pointer;
  padding:8px;position:relative;width:36px;height:36px;
}
.hamburger,.hamburger::before,.hamburger::after{
  content:'';display:block;width:24px;height:2px;background:var(--text-primary);
  position:absolute;left:6px;transition:all 0.3s;
}
.hamburger{top:17px}
.hamburger::before{top:-8px}
.hamburger::after{top:8px}
[data-nav-toggle][aria-expanded="true"] .hamburger{background:transparent}
[data-nav-toggle][aria-expanded="true"] .hamburger::before{transform:rotate(45deg);top:0}
[data-nav-toggle][aria-expanded="true"] .hamburger::after{transform:rotate(-45deg);top:0}

/* Mobile Navigation */
@media (max-width:768px){
  [data-nav-toggle]{display:block}
  .header-nav ul{
    position:fixed;top:var(--header-height);left:0;right:0;bottom:0;
    background:var(--primary-black);flex-direction:column;align-items:center;
    justify-content:center;gap:32px;opacity:0;pointer-events:none;
    transition:opacity 0.3s;
  }
  .header-nav ul[data-open]{opacity:1;pointer-events:auto}
  .header-nav a{font-size:20px}
  .header-actions .btn{display:none}
  .header-phone{display:none}
}

/* Footer */
.site-footer{
  background:var(--primary-black);
  padding:48px 24px 24px;
  border-top:2px solid var(--primary-red);
}
.footer-inner{
  max-width:var(--container-max);margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr 1fr;gap:32px;
}
.footer-brand .logo{font-family:var(--font-heading);font-size:20px;color:var(--primary-red);letter-spacing:2px}
.trust-statement{color:var(--text-secondary);margin-top:12px;font-size:14px}
.footer-contact p{color:var(--text-secondary);font-size:14px;margin-bottom:8px}
.footer-contact a{color:var(--accent-blue)}
.footer-links{display:flex;flex-direction:column;gap:12px}
.footer-links a{color:var(--accent-silver);font-size:14px;transition:color 0.2s}
.footer-links a:hover,.footer-links a:focus-visible{color:var(--primary-red)}
.footer-copyright{
  grid-column:1/-1;
  display:flex;justify-content:space-between;align-items:center;
  padding-top:24px;border-top:1px solid rgba(255,255,255,0.1);
  color:var(--text-secondary);font-size:12px;
}
@media (max-width:768px){
  .footer-inner{grid-template-columns:1fr;text-align:center}
  .footer-copyright{flex-direction:column;gap:8px}
}

/* Common Components */
.container{max-width:var(--container-max);margin:0 auto;padding:0 24px}
.section-title{
  font-family:var(--font-heading);font-size:clamp(32px,5vw,56px);
  text-transform:uppercase;letter-spacing:3px;
  position:relative;padding-bottom:12px;margin-bottom:32px;
}
.section-title::after{
  content:'';position:absolute;bottom:0;left:0;width:80px;height:4px;
  background:var(--primary-red);
}
.card{
  background:rgba(255,255,255,0.06);
  backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,0.1);
  border-radius:12px;padding:24px;transition:transform 0.3s,box-shadow 0.3s;
}
.card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,0.4)}
.breadcrumb{
  padding:16px 0;list-style:none;display:flex;gap:8px;flex-wrap:wrap;
  color:var(--text-secondary);font-size:14px;
}
.breadcrumb li+li::before{content:'/';margin-right:8px;color:var(--accent-silver)}
.breadcrumb a{color:var(--accent-silver)}
.breadcrumb a:hover{color:var(--primary-red)}

/* Progress Bar */
.progress-bar{
  position:fixed;top:var(--header-height);left:0;right:0;z-index:999;
  height:3px;background:var(--emphasis-red-bg);
}
.progress-bar-inner{
  height:100%;background:var(--primary-red);
  width:0%;transition:width 0.1s linear;
}

/* Accessibility */
:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:0s!important;animation-duration:0s!important}
  html{scroll-behavior:auto}
}

/* Responsive Images Base */
.img-responsive{max-width:100%;height:auto;display:block}
.img-container{position:relative;overflow:hidden;background:var(--emphasis-red-bg)}
.img-container::before{content:'';display:block;padding-top:56.25%}/* 16:9 */
.img-container img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}

/* Misc */
.text-center{text-align:center}
.text-right{text-align:right}
.mt-1{margin-top:16px}
.mt-2{margin-top:32px}
.mb-1{margin-bottom:16px}
.mb-2{margin-bottom:32px}
