/* Reset & base */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:"Inter",system-ui,sans-serif;background:#0B132B;color:#fff;line-height:1.6;min-height:100vh;overflow-x:hidden}
:focus-visible{outline:2px solid #F4A261;outline-offset:2px}

/* CSS variables */
:root{
  --primary-red:#E63946;
  --primary-black:#1D3557;
  --accent-gold:#F4A261;
  --dark-bg:#0B132B;
  --section-bg-light:#1A2A4A;
  --section-bg-alt:#233554;
  --text-primary:#fff;
  --text-secondary:#B0BEC5;
  --link-hover:#F4A261;
  --button-hover-bg:#C1272D;
  --font-heading:"Oswald","Impact",sans-serif;
  --font-body:"Inter",system-ui,sans-serif;
  --nav-width:220px;
  --content-max-width:1200px;
}

/* Skip link */
.skip-link{position:absolute;top:-40px;left:0;background:var(--accent-gold);color:var(--primary-black);padding:8px 16px;z-index:1000;transition:top .2s}
.skip-link:focus{top:0}

/* Side track navigation (desktop) */
.side-track-nav{
  position:fixed;top:0;left:0;width:var(--nav-width);height:100vh;
  background:var(--primary-black);color:#fff;
  display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;
  padding:2rem 1rem;z-index:100;
  border-right:3px solid var(--primary-red);
  box-shadow:4px 0 15px rgba(0,0,0,.5);
  transform:translateX(0);transition:transform .3s ease;
}
.brand-logo{
  font-family:var(--font-heading);font-size:2rem;font-weight:700;
  color:var(--primary-red);text-decoration:none;text-transform:uppercase;
  letter-spacing:2px;margin-bottom:2rem;display:block;
  position:relative;
}
.brand-logo::after{
  content:'';display:block;width:60%;height:3px;background:var(--accent-gold);
  margin-top:4px;
}
.side-track-nav__list{list-style:none;width:100%;padding:0}
.side-track-nav__item{margin-bottom:0.5rem}
.side-track-nav__link{
  display:block;font-family:var(--font-heading);font-size:1.2rem;font-weight:700;
  color:var(--text-secondary);text-decoration:none;padding:0.5rem 0.8rem;
  border-left:3px solid transparent;transition:all .2s;
  text-transform:uppercase;letter-spacing:1px;
}
.side-track-nav__link:hover,.side-track-nav__link:focus{
  color:var(--primary-red);border-left-color:var(--primary-red);text-decoration:underline overline var(--primary-red);
}
.side-track-nav__link[aria-current="page"]{
  color:var(--accent-gold);border-left-color:var(--accent-gold);
  background:linear-gradient(90deg, rgba(244,162,97,0.15) 0%, transparent 100%);
}

/* Mobile nav toggle */
.mobile-nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:10px;position:absolute;top:1rem;right:1rem;z-index:200}
.mobile-nav-toggle__bar{display:block;width:28px;height:3px;background:var(--primary-red);margin:5px 0;transition:all .3s}
.mobile-nav-toggle[data-open] .mobile-nav-toggle__bar:nth-child(1){transform:rotate(45deg) translate(6px,6px)}
.mobile-nav-toggle[data-open] .mobile-nav-toggle__bar:nth-child(2){opacity:0}
.mobile-nav-toggle[data-open] .mobile-nav-toggle__bar:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}

/* Main content area (desktop offset) */
.main-content{margin-left:var(--nav-width);min-height:100vh;background:var(--dark-bg)}

/* Section panels */
.section-panel{padding:4rem 2rem;position:relative}
.section-panel:nth-child(odd){background:var(--section-bg-light)}
.section-panel:nth-child(even){background:var(--section-bg-alt)}
.section-panel::before{
  content:'';position:absolute;top:0;left:0;right:0;height:5px;
  background:linear-gradient(135deg, var(--primary-red) 50%, var(--accent-gold) 50%);
}

/* Speed line decoration */
.speed-line{position:relative;overflow:hidden}
.speed-line::after{
  content:'';position:absolute;top:30%;left:-10%;width:120%;height:2px;
  background:linear-gradient(90deg, transparent, var(--primary-red), transparent);
  transform:rotate(-5deg);opacity:0.3;pointer-events:none;
}

/* Buttons */
.btn{
  display:inline-block;padding:0.8rem 2rem;font-family:var(--font-heading);
  font-weight:700;font-size:1.1rem;text-transform:uppercase;letter-spacing:1px;
  background:var(--primary-red);color:#fff;border:none;cursor:pointer;
  text-decoration:none;transition:background .2s, transform .2s;
  position:relative;clip-path:polygon(10% 0%, 100% 0%, 90% 100%, 0% 100%);
}
.btn:hover,.btn:focus{background:var(--button-hover-bg);transform:scale(1.03)}
.btn--gold{background:var(--accent-gold);color:var(--primary-black)}
.btn--gold:hover{background:#d48929}

/* Footer */
.page-footer{
  background:var(--dark-bg);color:var(--text-secondary);padding:3rem 2rem 1rem;
  border-top:3px solid var(--primary-red);
}
.page-footer__inner{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem;max-width:var(--content-max-width);margin:auto}
.footer-copyright p{font-size:0.9rem}
.footer-links__title,.footer-contact__title{
  font-family:var(--font-heading);font-size:1.2rem;font-weight:700;
  color:var(--accent-gold);margin-bottom:1rem;text-transform:uppercase;
}
.footer-links ul{list-style:none;padding:0}
.footer-links li{margin-bottom:0.5rem}
.footer-links a{color:var(--text-secondary);text-decoration:none;transition:color .2s}
.footer-links a:hover{color:var(--link-hover);text-decoration:underline}
.footer-contact p{margin-bottom:0.5rem;font-size:0.9rem}
.footer-contact a{color:var(--text-secondary);text-decoration:none}
.footer-contact a:hover{color:var(--link-hover)}
.footer-trust{text-align:center;margin-top:2rem;font-size:0.85rem;color:var(--text-secondary);max-width:var(--content-max-width);margin-left:auto;margin-right:auto;padding-top:1rem;border-top:1px solid var(--section-bg-light)}

/* Responsive */
@media(max-width:900px){
  .side-track-nav{
    width:100%;height:auto;position:relative;flex-direction:row;align-items:center;
    padding:1rem;border-right:none;border-bottom:3px solid var(--primary-red);
    justify-content:space-between;
  }
  .brand-logo{margin-bottom:0}
  .mobile-nav-toggle{display:block}
  .side-track-nav__nav{
    display:none;position:absolute;top:100%;left:0;width:100%;
    background:var(--primary-black);flex-direction:column;padding:1rem;
    z-index:100;border-bottom:3px solid var(--primary-red);
  }
  .side-track-nav__nav[data-open]{display:flex}
  .side-track-nav__list{flex-direction:column}
  .side-track-nav__link{border-left:none;border-bottom:1px solid rgba(255,255,255,0.1)}
  .main-content{margin-left:0}
  .page-footer__inner{grid-template-columns:1fr;text-align:center}
}
@media(max-width:600px){
  .section-panel{padding:2rem 1rem}
  .btn{padding:0.6rem 1.5rem;font-size:1rem}
}

/* Reduced motion */
@media(prefers-reduced-motion:reduce){
  *{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto}
}

/* Basic typography */
h1,h2,h3,h4{font-family:var(--font-heading);font-weight:700;line-height:1.1;text-transform:uppercase;letter-spacing:1px}
h1{font-size:4rem;color:var(--primary-red);margin-bottom:1rem;transform:skewX(-5deg)}
h2{font-size:2.5rem;color:var(--accent-gold);margin-bottom:0.8rem}
h3{font-size:1.75rem;color:var(--text-primary);margin-bottom:0.6rem}
p{max-width:70ch;margin-bottom:1rem}
a{color:var(--primary-red);text-decoration:underline;transition:color .2s}
a:hover{color:var(--link-hover)}

/* Scroll reveal base (to be activated by JS) */
[data-reveal]{opacity:0;transform:translateY(30px) skewX(-2deg);transition:opacity .6s ease,transform .6s ease}
[data-reveal].is-visible{opacity:1;transform:translateY(0) skewX(0)}
