html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { overflow-x: hidden; }
.eyebrow { font-family: "Barlow Condensed", sans-serif; font-weight: 600; text-transform: uppercase; letter-spacing: .18em; font-size: .9rem; color: #2B9BC8; display: flex; align-items: center; gap: .6rem; }
.eyebrow::before { content: ""; width: 1.75rem; height: 2px; background: currentColor; display: inline-block; }
.h2 { font-family: "Barlow Condensed", sans-serif; font-weight: 700; text-transform: uppercase; line-height: .95; letter-spacing: -.01em; font-size: clamp(2.25rem, 5vw, 3.75rem); color: #272F32; }
.lbl { display: block; font-weight: 600; font-size: .95rem; margin-bottom: .4rem; color: #272F32; }
.inp { width: 100%; min-height: 3.25rem; border-radius: .9rem; border: 1.5px solid rgba(39,47,50,.15); background: #fff; padding: .8rem 1rem; font: inherit; color: #272F32; transition: border-color .2s, box-shadow .2s; }
.inp:focus { outline: none; border-color: #2B9BC8; box-shadow: 0 0 0 4px rgba(43,155,200,.18); }
textarea.inp { min-height: 8rem; resize: vertical; }
.hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.form-msg { display: flex; gap: .75rem; align-items: flex-start; border-radius: .9rem; padding: 1rem 1.1rem; font-weight: 500; }
.form-msg[hidden] { display: none; }
.form-ok { background: #E5F0FE; color: #1F5F7D; border: 1.5px solid #2B9BC8; }
.form-err { background: #FDECEC; color: #8A1C1C; border: 1.5px solid #E5484D; }
.grecaptcha-badge { visibility: hidden; }
.btn-lift { transition: transform .25s ease, box-shadow .25s ease, background-color .2s, color .2s; }
.btn-lift:hover { transform: translateY(-2px); box-shadow: 0 12px 28px -10px rgba(43,155,200,.55); }
.reveal { opacity: 0; transform: translateY(24px); transition: opacity .8s ease, transform .8s cubic-bezier(.2,.7,.2,1); }
.reveal.is-in { opacity: 1; transform: none; }
.no-js .reveal { opacity: 1; transform: none; }
.marquee { overflow: hidden; mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.marquee-track { width: max-content; animation: marquee 45s linear infinite; }
.marquee:hover .marquee-track { animation-play-state: paused; }
@keyframes marquee { to { transform: translateX(-50%); } }
.swoosh path:first-child { stroke-dasharray: 2200; stroke-dashoffset: 2200; animation: draw 2.2s .3s cubic-bezier(.6,.1,.2,1) forwards; }
@keyframes draw { to { stroke-dashoffset: 0; } }
.no-scrollbar { scrollbar-width: none; } .no-scrollbar::-webkit-scrollbar { display: none; }
.lightbox.open { display: flex; }
.mobile-menu[hidden] { display: none; }
body.menu-open, body.lb-open { overflow: hidden; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal { opacity: 1; transform: none; transition: none; }
  .marquee-track, .swoosh path:first-child { animation: none; stroke-dashoffset: 0; }
  *, *::before, *::after { transition-duration: .01ms !important; }
}
.prose-jls { color: rgba(39,47,50,.78); font-size: 1.075rem; line-height: 1.75; }
.prose-jls p + p, .prose-jls p + ul, .prose-jls ul + p { margin-top: 1rem; }
.prose-jls strong { color: #272F32; }
.prose-jls ul.pl { list-style: none; padding: 0; }
.prose-jls ul.pl li { position: relative; padding-left: 1.6rem; margin-top: .5rem; }
.prose-jls ul.pl li::before { content: ""; position: absolute; left: 0; top: .7em; width: .7rem; height: 2px; background: #2B9BC8; }
/* Home hero: keep the van fleet clear and bright beside the headline */
.hero-ov { background: linear-gradient(180deg, rgba(39,47,50,.9) 0%, rgba(39,47,50,.8) 45%, rgba(39,47,50,.45) 68%, rgba(39,47,50,.12) 85%, rgba(39,47,50,.12) 100%); }
.hero-ov-b { background: linear-gradient(0deg, rgba(39,47,50,.8) 0%, rgba(39,47,50,0) 22%); }
@media (max-width: 639px) {
  .hero-ov { background: none; }
  .hero-ov-b { display: none; }
}
@media (min-width: 1024px) {
  .hero-img { -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 22%); mask-image: linear-gradient(90deg, transparent 0%, #000 22%); }
  .hero-ov { background: linear-gradient(90deg, rgba(39,47,50,.95) 0%, rgba(39,47,50,.9) 30%, rgba(39,47,50,.25) 68%, rgba(39,47,50,.15) 100%); }
}
