/* Assist Mobile Tire — shared site styles */

:root{
  --amt-red:#E10600;
  --amt-red-dark:#B80500;
  --amt-black:#0A0A0A;
  --amt-charcoal:#1A1A1A;
  --amt-silver:#C9C9C9;
  --amt-white:#FFFFFF;
  --amt-gray:#6D6D6D;
}

html{scroll-behavior:smooth;}

body{
  font-family:'Inter',ui-sans-serif,system-ui,sans-serif;
  background:var(--amt-white);
  color:var(--amt-black);
}

h1,h2,h3,h4,.font-display{
  font-family:'Oswald','Inter',sans-serif;
  text-transform:uppercase;
  letter-spacing:0.02em;
}

/* Sticky header shadow on scroll */
#site-header.scrolled{
  box-shadow:0 4px 24px rgba(0,0,0,0.35);
}

/* Hero */
.hero-overlay{
  background:linear-gradient(115deg, rgba(10,10,10,0.92) 10%, rgba(10,10,10,0.55) 55%, rgba(10,10,10,0.25) 100%);
}
.section-overlay-dark{
  background:linear-gradient(180deg, rgba(10,10,10,0.85), rgba(10,10,10,0.85));
}

/* Animations */
@keyframes fadeUp{
  from{opacity:0; transform:translateY(28px);}
  to{opacity:1; transform:translateY(0);}
}
/* Reveal animation is opt-in: only applies once the early inline script
   confirms JS is running (html.js). No JS = content is visible by default,
   so nothing is ever permanently hidden. */
.reveal{opacity:1;}
html.js .reveal{opacity:0;}
html.js .reveal.in-view{
  animation:fadeUp 0.7s cubic-bezier(.21,.9,.31,1) forwards;
}
/* Safety net: if the observer script errors out after html.js was set,
   force-reveal everything shortly after load rather than staying blank. */
html.js.reveal-fallback .reveal{opacity:1; animation:none;}

@keyframes pulseRing{
  0%{box-shadow:0 0 0 0 rgba(225,6,0,0.45);}
  70%{box-shadow:0 0 0 14px rgba(225,6,0,0);}
  100%{box-shadow:0 0 0 0 rgba(225,6,0,0);}
}
.pulse-cta{
  animation:pulseRing 2.4s infinite;
}

/* Card hover lift */
.lift{
  transition:transform .35s ease, box-shadow .35s ease;
}
.lift:hover{
  transform:translateY(-6px);
  box-shadow:0 20px 40px -12px rgba(0,0,0,0.35);
}

/* Image zoom on hover */
.img-zoom{overflow:hidden;}
.img-zoom img{transition:transform .6s ease;}
.img-zoom:hover img{transform:scale(1.08);}

/* Numbered step badge */
.step-num{
  font-family:'Oswald',sans-serif;
  font-weight:700;
  -webkit-text-stroke:1.5px var(--amt-red);
  color:transparent;
}

/* Testimonial slider */
.slider-track{
  display:flex;
  transition:transform .6s cubic-bezier(.65,0,.35,1);
}
.slide{flex:0 0 100%;}

/* Mobile nav */
#mobile-menu{
  transform:translateX(100%);
  transition:transform .4s cubic-bezier(.65,0,.35,1);
}
#mobile-menu.open{
  transform:translateX(0);
}

/* Underline link effect */
.nav-link{position:relative;}
.nav-link::after{
  content:'';
  position:absolute; left:0; bottom:-4px;
  width:0; height:2px; background:var(--amt-red);
  transition:width .3s ease;
}
.nav-link:hover::after{width:100%;}

/* Focus visibility for accessibility */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible{
  outline:2px solid var(--amt-red);
  outline-offset:2px;
}

/* Scrollbar (webkit) */
::-webkit-scrollbar{width:10px;}
::-webkit-scrollbar-track{background:var(--amt-black);}
::-webkit-scrollbar-thumb{background:var(--amt-red); border-radius:8px;}
