/* Oconee Diesel Center — site styles
   Charcoal + ODC orange. Barlow Condensed (headings), Barlow (body), JetBrains Mono (labels).
   Breakpoints: 1100 (small laptop), 850 (tablet / mobile menu), 600 (phone). */

:root{
  --ink:#222526;--deep:#191c1d;--paper:#f0f1ef;--white:#fff;
  --orange:#bd571f;--orange-hover:#a94715;--bright:#e58547;
  --muted:#5b6162;--line:#d7dbd8;
  --heading:'Barlow Condensed','Arial Narrow',sans-serif;
  --body:'Barlow',Arial,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,Menlo,Consolas,monospace;
  --label:12px; /* smallest text size used anywhere */
}

/* ---------- Base ---------- */
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button,a,summary{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
img{max-width:100%;display:block}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-family:var(--heading);font-weight:800;line-height:.98;letter-spacing:-.025em;text-transform:uppercase;text-wrap:balance}
h2{font-size:clamp(42px,4.5vw,66px)}
h3{font-size:30px;line-height:1.1}
p+p{margin-top:18px}

/* Keyboard focus: orange on light surfaces, bright orange on charcoal (both ≥3:1) */
:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
:is(.header,.hero,.story,.contact,footer,.detail-hero) :focus-visible{outline-color:var(--bright)}
:is(.shop-info,.contact-card) :focus-visible{outline-color:var(--orange)}
.mobile-call a:focus-visible{outline-color:#fff;outline-offset:-6px}

.wrap{width:min(1240px,calc(100% - 96px));margin:auto}
.section{padding:100px 0}
.light{background:var(--paper)}
.eyebrow{font-family:var(--mono);font-size:var(--label);font-weight:600;letter-spacing:.1em;line-height:1.5}
.orange{color:var(--bright)}
.period{color:var(--orange)}
.line{display:inline-block;width:26px;height:2px;background:currentColor;vertical-align:middle;margin-right:10px}
.mono{font-family:var(--mono)}
.skip{position:fixed;top:-100px;left:10px;background:#fff;color:#000;padding:10px;z-index:100}
.skip:focus{top:10px}
.small-note{font-size:13px;color:var(--muted);margin-top:22px}
.small-note a{text-decoration:underline;text-underline-offset:4px}

/* ---------- Buttons & links ---------- */
.button{display:inline-flex;justify-content:center;align-items:center;gap:26px;background:var(--orange);color:#fff;font:700 19px var(--heading);letter-spacing:.025em;text-transform:uppercase;padding:17px 23px;border:1px solid transparent;border-radius:4px;min-height:55px;transition:background .2s,transform .2s}
.button:hover{background:var(--orange-hover);transform:translateY(-2px)}
.text-link{font-family:var(--heading);font-size:19px;font-weight:600;display:inline-flex;gap:12px;align-items:center;border-bottom:1px solid #7c8380;padding:7px 0}
.text-link:hover{color:var(--bright)}

/* ---------- Header ---------- */
.header{position:sticky;top:0;background:var(--ink);border-bottom:2px solid var(--orange);z-index:20}
.nav{min-height:96px;display:flex;align-items:center;gap:30px}
.logo{flex-shrink:0}
.logo img{width:168px;height:auto}
.nav nav{display:flex;align-items:center;gap:28px;margin-left:auto}
.nav nav a{color:#e5e6e4;font:700 18px var(--heading);text-transform:uppercase;letter-spacing:.035em;padding:15px 0}
.nav nav a:hover{color:var(--bright)}
.nav-cta{font-size:17px;min-height:48px;padding:10px 18px;gap:.25em}
.header-call{font:600 15px var(--mono);color:#cfd8df;padding:12px 0;white-space:nowrap}
.header-call:hover{color:var(--bright)}
@media(max-width:1100px){.header-call{display:none}}
@media(max-width:430px){.cta-more{display:none}}
.menu-toggle{display:none}

/* Services dropdown: wipe-down panel, orange bar sweeps in, items stagger up */
.nav-drop{position:relative;display:flex;align-items:center}
.nav-drop-link{display:inline-flex;align-items:center;gap:9px}
.caret{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-3px) rotate(45deg);transition:transform .3s}
.drop-panel{position:absolute;top:100%;left:50%;width:600px;padding-top:24px;transform:translateX(-50%);visibility:hidden;pointer-events:none;z-index:30;transition:visibility 0s .35s}
.drop-inner{background:var(--deep);border:1px solid #33383a;border-radius:6px;box-shadow:0 30px 60px #0007;overflow:hidden;clip-path:inset(0 0 100% 0 round 6px);transition:clip-path .35s cubic-bezier(.2,.8,.2,1)}
.drop-inner::before{content:"";display:block;height:3px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .5s .08s cubic-bezier(.2,.8,.2,1)}
.drop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;list-style:none;margin:0;padding:12px}
.nav nav .drop-grid a{display:grid;grid-template-columns:44px minmax(0,1fr);gap:2px 14px;align-items:center;padding:12px;border-radius:4px;color:#e5e6e4;font:400 14px/1.35 var(--body);text-transform:none;letter-spacing:0;opacity:0;transform:translateY(10px);transition:opacity .3s,transform .3s,background .2s;transition-delay:calc(var(--i) * 45ms)}
.drop-grid img{grid-row:span 2;width:44px;height:36px;object-fit:contain;filter:brightness(0) invert(1);opacity:.8;transition:transform .25s}
.drop-grid b{font:700 20px/1.05 var(--heading);text-transform:uppercase;letter-spacing:.02em;color:#fff;transition:color .2s}
.drop-grid small{font-size:13px;color:#aab3ad}
.nav nav .drop-grid a:hover{background:#262a2b}
.drop-grid a:hover b{color:var(--bright)}
.drop-grid a:hover img{transform:translateX(3px)}
.drop-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:4px 24px;border-top:1px solid #33383a;font:600 var(--label) var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#aab3ad}
.nav nav .drop-foot a{font:inherit;letter-spacing:inherit;padding:12px 0;color:#e5e6e4}
.nav-drop:is(:hover,:focus-within) .caret{transform:translateY(2px) rotate(225deg)}
.nav-drop:is(:hover,:focus-within) .drop-panel{visibility:visible;pointer-events:auto;transition-delay:0s}
.nav-drop:is(:hover,:focus-within) .drop-inner{clip-path:inset(0 0 0 0 round 6px)}
.nav-drop:is(:hover,:focus-within) .drop-inner::before{transform:scaleX(1)}
.nav nav .nav-drop:is(:hover,:focus-within) .drop-grid a{opacity:1;transform:none}
.nav-drop.closed .drop-panel{visibility:hidden;pointer-events:none}
.nav-drop.closed .caret{transform:translateY(-3px) rotate(45deg)}

/* ---------- Hero ---------- */
.hero{background:repeating-linear-gradient(132deg,transparent,transparent 32px,#ffffff02 32px,#ffffff02 64px),var(--ink);color:#f7f8f6;padding-top:66px;overflow-x:clip}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(0,1fr);align-items:center;gap:70px;padding-bottom:60px}
.hero h1{font-size:clamp(72px,7.5vw,114px);letter-spacing:-.035em;margin:24px 0}
.hero h1 .o,.hero .period{color:var(--bright)}
.hero-copy{font-size:19px;color:#c8cecc;max-width:520px;line-height:1.65}
.hero-copy strong{font-weight:500;color:#f8f9f6}
.actions{display:flex;align-items:center;gap:25px;margin-top:30px}

.shop-info{background:#fafbf9;color:var(--ink);border-radius:7px;overflow:hidden;box-shadow:0 25px 50px #0002}
.info-bar{background:var(--orange);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 23px;font:700 18px var(--heading);letter-spacing:.05em}
.info-bar .mono{font-size:var(--label)}
.info-inner{padding:22px 26px 4px}
.status{display:flex;flex-wrap:wrap;align-items:center;gap:9px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.status strong{font-family:var(--heading);font-size:25px;text-transform:uppercase}
.status>span:last-child{font-size:13px;color:var(--muted);margin-left:12px}
.status-dot{height:9px;width:9px;border-radius:50%;background:#8d3933;box-shadow:0 0 0 4px #8d393315;margin:0 5px}
.status.open .status-dot{background:#317450;box-shadow:0 0 0 4px #31745020}
dl{margin:0}
dl>div{display:grid;grid-template-columns:75px minmax(0,1fr);gap:14px;padding:20px 0;border-bottom:1px solid var(--line)}
dl>div:last-child{border:0}
dt{font:600 var(--label) var(--mono);padding-top:6px;color:var(--muted)}
dd{margin:0;font-weight:600;font-size:18px;line-height:1.45}
dd span{display:block;font-weight:400;color:var(--muted);font-size:14px;margin-top:5px}
dd a:hover{color:var(--orange)}
.number{font-family:var(--mono);font-weight:600;font-size:clamp(16px,1.6vw,23px);white-space:nowrap}
.info-bottom{padding:11px 24px;background:#e9ece7;font:600 var(--label) var(--mono);letter-spacing:.075em}

/* Vehicle silhouettes under the hero */
.vehicle-strip{border-top:1px solid #454949;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;padding:26px 0 30px;text-transform:uppercase;font:600 18px var(--heading);letter-spacing:.04em;color:#ced2cf}
.vehicle-strip>div{text-align:center;min-width:0}
.vehicle-strip .vehicle-icon{width:100%;height:78px;object-fit:contain;filter:brightness(0) invert(1);opacity:.8;margin:0 auto 12px}
.vehicle-strip span{font-size:16px}

/* ---------- Section headings ---------- */
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:44px}
.section-heading .eyebrow{margin-bottom:15px;color:var(--muted)}
.section-heading>p{max-width:390px;color:var(--muted);font-size:18px}

/* ---------- Services ---------- */
.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.service-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:6px;padding:28px;transition:transform .2s,border-color .2s}
.service-card:hover{transform:translateY(-4px);border-color:var(--orange)}
.service-card.featured{background:var(--ink);color:#fff}
.card-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:26px}
.card-top .eyebrow{color:var(--muted)}
.featured .eyebrow{color:var(--bright)}
.card-top .service-art{width:110px;height:76px;object-fit:contain;filter:brightness(0)}
.featured .service-art{filter:brightness(0) invert(1)}
.service-card h3{font-size:33px;margin-bottom:14px}
.service-card p{font-size:16px;color:var(--muted);line-height:1.65;margin-bottom:24px;max-width:560px}
.featured p{color:#cbd0cd}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}
.tags span{font:500 var(--label) var(--mono);padding:5px 8px;background:#eceeeb;border-radius:3px;line-height:1.5}
.featured .tags span,.detail-hero .tags span{background:#363b3b;color:#e1e4df}
.card-link{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:23px;padding-top:15px;font:600 17px var(--heading);text-transform:uppercase}
.featured .card-link{border-color:#4b504d}
.service-note{border-top:1px solid var(--line);margin-top:33px;padding-top:23px;font-size:15px;display:flex;flex-wrap:wrap;gap:8px 20px;color:var(--muted)}
.service-note>span{font:600 var(--label) var(--mono);letter-spacing:.04em;align-self:center;margin-right:auto;color:var(--ink)}
.service-note a{color:var(--ink);text-decoration:underline;text-underline-offset:4px}

/* ---------- Story ---------- */
.story{background:var(--ink);color:#fff}
.story-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:75px;align-items:center}
.shop-photo{position:relative}
.shop-photo img{width:100%;height:560px;object-fit:cover;border-radius:5px}
.photo-label{position:absolute;bottom:18px;left:18px;right:18px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 14px;background:#191c1de8;color:#eee;font:500 var(--label) var(--mono);padding:15px}
.story-copy h2{margin:15px 0 28px}
.story-copy p:not(.eyebrow){color:#c8ceca;font-size:17px}
.story-facts{display:flex;gap:48px;border-top:1px solid #484c49;margin-top:30px;padding-top:24px}
.story-facts strong{display:block;font:700 44px var(--heading);color:var(--bright)}
.story-facts span{font:500 var(--label) var(--mono);letter-spacing:.04em}

/* ---------- Equipment ---------- */
.equipment{padding-bottom:20px}
.equipment-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.equipment-grid figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:5px;padding:20px 14px 17px;text-align:center}
.equipment-grid .vehicle-icon{width:100%;height:100px;object-fit:contain;margin:0 auto 12px}
.equipment-grid figcaption{font:600 17px var(--heading);text-transform:uppercase;letter-spacing:.02em}
.equipment-grid figure:last-child{grid-column:3}

/* ---------- Brands ---------- */
.brand-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:#fff;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.brand-logo{display:flex;align-items:center;justify-content:center;min-height:132px;padding:24px;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}
.brand-logo img{width:auto;height:auto;max-width:145px;max-height:72px;object-fit:contain}
.brand-logo img:is([alt="Isuzu"],[alt="Kubota"],[alt="Takeuchi"],[alt="Doosan"]){width:145px}

/* ---------- Reviews ---------- */
.testimonial{background:#e5e8e2;border-top:1px solid #d0d5ce;border-bottom:1px solid #d0d5ce;padding:66px 0}
.testimonial .section-heading{align-items:center}
.testimonial .section-heading h2{font-size:48px}
.review-controls{display:flex;gap:10px;flex-shrink:0}
.review-controls button{border:1px solid #929b90;background:transparent;color:var(--ink);border-radius:4px;padding:10px 18px;font:600 18px var(--heading);min-height:44px}
.review-controls button:hover{background:var(--ink);color:#fff}
.review-controls button:disabled{opacity:.35;cursor:default}
.review-cta{display:flex;align-items:center;gap:22px;margin-top:26px;padding:20px 24px;background:#fff;border:1px solid #d0d5ce;border-radius:8px}
.review-cta .stars{color:var(--orange);font-size:22px;letter-spacing:3px;line-height:1;flex-shrink:0}
.review-cta p{margin:0;flex:1;font-size:17px;min-width:0}
.review-cta .button{flex-shrink:0;min-height:50px;padding:12px 20px;font-size:17px}
@media(max-width:700px){.review-cta{flex-direction:column;align-items:flex-start;gap:12px;padding:18px}.review-cta .button{width:100%}}
.review-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 0 20px;scrollbar-color:var(--orange) #cfd5cc;scrollbar-width:thin}
.review-track:focus-visible{outline-offset:2px}
.review-card{flex:0 0 calc((100% - 40px)/3);display:flex;flex-direction:column;scroll-snap-align:start;background:#fff;border:1px solid #d0d5ce;border-radius:5px;padding:28px;min-width:0}
blockquote{margin:0}
.review-card blockquote{font:400 19px/1.65 var(--body);margin:0 0 28px}
figcaption{display:flex;flex-direction:column;font-size:15px}
figcaption span{font-size:13px;color:var(--muted)}
.review-card figcaption{margin-top:auto;border-top:1px solid var(--line);padding-top:18px}

/* ---------- Team ---------- */
.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}
.person{padding:0 0 24px;min-width:0}
.team-photo{width:100%;height:auto;aspect-ratio:5/4;object-fit:cover;border-radius:5px;margin-bottom:24px}
.person h3{font-size:29px}
.person p{color:var(--muted);margin-top:8px}
.person a{display:block;font:500 14px/1.6 var(--mono);border-top:1px solid var(--line);padding-top:17px;margin-top:25px;overflow-wrap:anywhere}
.person a:hover{color:var(--orange)}

/* ---------- FAQ ---------- */
.faq{padding-top:35px;background:var(--paper)}
.faq-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:85px;border-top:1px solid var(--line);padding-top:65px}
.faq h2{font-size:52px;margin:18px 0 22px}
.faq p{color:var(--muted)}
.faq a{text-decoration:underline;text-underline-offset:4px}
.questions details{border-top:1px solid #cbd1ca}
.questions details:last-child{border-bottom:1px solid #cbd1ca}
.questions summary{cursor:pointer;font:600 25px var(--heading);padding:21px 35px 21px 0;list-style:none;position:relative}
.questions summary::-webkit-details-marker{display:none}
.questions summary::after{content:'+';position:absolute;right:5px;color:var(--orange);font:400 26px var(--body);top:16px}
.questions details[open] summary::after{content:'−'}
.questions details p{padding:0 28px 24px 0;font-size:16px}

/* ---------- Contact & careers ---------- */
.contact{background:var(--ink);color:#fff}
.contact-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:80px}
.contact h2{font-size:clamp(52px,5.6vw,80px);margin:18px 0 25px}
.contact p:not(.eyebrow){color:#c9cfcc}
.big-phone{display:flex;gap:25px;align-items:center;font:700 clamp(29px,3.1vw,44px) var(--heading);margin:28px 0 22px}
.contact-detail{font-size:15px;line-height:1.8}
.contact .text-link{margin-top:20px}
.contact-card{background:#f8f9f6;border-radius:6px;padding:34px;color:var(--ink);align-self:start}
.contact-card h3{font-size:31px;margin-bottom:15px}
.contact .contact-card p:not(.eyebrow){color:var(--muted);font-size:16px}
.contact-card .button{margin-top:24px;width:100%}
.contact .contact-card .small-note{font-size:13px;margin-top:12px}
.careers{border-top:1px solid var(--line);margin-top:30px;padding-top:28px;scroll-margin-top:130px}
.careers .eyebrow{margin-bottom:14px;color:#9c4317}
.careers h3{font-size:25px}
.careers a{display:inline-block;margin-top:16px;border-bottom:1px solid var(--orange);font:600 20px var(--heading)}
.email-addr{-webkit-user-select:all;user-select:all;font-weight:600;color:var(--ink);overflow-wrap:anywhere}
.contact .contact-card .mail-alt{font-size:14px;margin-top:12px}

/* ---------- Footer ---------- */
footer{background:var(--deep);color:#fff;padding:42px 0 20px}
.footer-top{display:flex;align-items:center;gap:60px;padding-bottom:35px}
.footer-top p{font:700 22px var(--heading);text-transform:uppercase}
.footer-top p span{font:400 13px var(--body);text-transform:none;color:#abb4ad}
.footer-phone{margin-left:auto;font:500 17px var(--mono);padding:10px 0}
.footer-bottom{border-top:1px solid #414641;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding-top:12px;color:#b5bdb7;font-size:var(--label)}
.footer-bottom>div{display:flex;flex-wrap:wrap;gap:4px 25px}
.footer-bottom a{display:inline-block;padding:10px 0}
.footer-bottom a:hover{color:#fff}
.mobile-call{display:none}

/* ---------- Service detail pages ---------- */
.detail-hero{padding:28px 0 52px;background:var(--ink);color:#fff}
.detail-hero+.section{padding-top:56px}
.breadcrumb{display:inline-block;color:#c9cfcc;font-size:15px;margin-bottom:24px;padding:6px 0}
.detail-hero h1{font-size:clamp(55px,8vw,108px);margin:14px 0}
.detail-hero>div>p:not(.eyebrow){font-size:23px;color:#c9cfcc;margin-bottom:26px}
.detail-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:80px}
.detail-grid article p{color:var(--muted);margin-bottom:25px}
.large-copy{font-size:23px}
.service-fleet{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;border-top:1px solid var(--line);margin-top:44px;padding-top:20px}
.service-fleet .eyebrow{color:var(--muted)}
.fleet-icons{display:flex;align-items:center;gap:20px}
.fleet-icons .vehicle-icon{width:80px;height:38px;object-fit:contain;opacity:.45}
.detail-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:6px 0 32px}
.detail-photos figure{margin:0;min-width:0}
.detail-photos img{width:100%;height:auto;object-fit:cover;border-radius:5px;background:#e2e5df}
.detail-photos .wide{grid-column:1 / -1}
.detail-photos .wide img{aspect-ratio:16/10}
.detail-photos .half img{aspect-ratio:4/3}
.detail-photos .portrait{grid-column:1 / -1;max-width:420px}
.detail-aside{background:#fff;border:1px solid var(--line);padding:30px;border-radius:5px;align-self:start}
.detail-aside .number{display:block;margin:20px 0;font-size:22px}
.detail-aside p{font-size:15px;color:var(--muted)}
.detail-aside hr{border:0;border-top:1px solid var(--line);margin:28px 0}
.detail-aside h2{font-size:27px}
.related a{display:flex;justify-content:space-between;gap:20px;font-size:16px;padding:12px 0;border-bottom:1px solid var(--line)}
.related a:hover{color:var(--orange)}
.legal{max-width:68ch}
.legal h2{font-size:28px;margin:36px 0 12px}
.legal h2:first-child{margin-top:0}
.legal p{color:var(--ink);margin-bottom:16px}
.legal a{color:var(--orange);text-decoration:underline;text-underline-offset:3px}
.legal-hero{padding-bottom:40px}

/* ================= ≤1100px ================= */
@media(max-width:1100px){
  .wrap{width:calc(100% - 56px)}
  .nav{gap:20px}
  .nav nav{gap:18px}
  .nav nav a{font-size:16px}
  .logo img{width:140px}
  .drop-panel{left:-12px;transform:none}
  .hero-grid{gap:35px}
  .hero h1{font-size:88px}
  .hero-copy{font-size:18px}
  .actions{flex-wrap:wrap;gap:16px}
  .services-grid{gap:15px}
  .service-card{padding:24px}
  .story-grid,.contact-grid{gap:40px}
}

/* ================= ≤850px: tablet, mobile menu ================= */
@media(max-width:850px){
  html{scroll-padding-top:90px}
  .header .nav{min-height:80px}
  .nav nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--ink);border-bottom:2px solid var(--orange);padding:20px 28px;flex-direction:column;align-items:stretch;gap:0}
  .nav nav.open{display:flex;max-height:calc(100vh - 80px);overflow-y:auto}
  .nav-drop{display:block}
  .nav-drop-link{display:flex}
  .caret{display:none}
  .drop-panel{position:static;width:auto;padding:0;transform:none;visibility:visible;pointer-events:auto;transition:none}
  .drop-inner{background:none;border:0;border-radius:0;box-shadow:none;clip-path:none}
  .drop-inner::before,.drop-foot,.drop-grid img,.drop-grid small{display:none}
  .drop-grid{grid-template-columns:1fr;gap:0;padding:0 0 0 18px}
  .nav nav .drop-grid a{display:block;opacity:1;transform:none;padding:10px 0;border-bottom:1px solid #454b46;border-radius:0}
  .drop-grid b{font-size:18px;color:#c9cfcc}
  .detail-hero+.section{padding-top:44px}
  .nav nav a{font-size:22px;border-bottom:1px solid #454b46;padding:12px 0}
  .menu-toggle{display:flex;gap:10px;align-items:center;border:1px solid #666c67;border-radius:3px;background:none;color:#fff;padding:8px 12px;min-height:44px;font:600 18px var(--heading);text-transform:uppercase;margin-left:auto}
  .nav-cta{margin-left:0}

  .hero-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:28px}
  .hero h1{font-size:72px}
  .hero .actions .button{font-size:17px;padding:14px}
  .info-inner{padding:18px}
  .number{font-size:17px}
  dl>div{grid-template-columns:58px minmax(0,1fr);gap:10px}
  dd{font-size:16px}
  .vehicle-strip{gap:20px}
  .vehicle-strip .vehicle-icon{height:64px}
  .vehicle-strip span{font-size:14px}

  .section{padding:70px 0}
  .section-heading{gap:35px}
  .section-heading>p{max-width:290px;font-size:16px}
  .services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .story-grid{gap:30px}
  .shop-photo img{height:480px}
  .photo-label{flex-direction:column}
  .story-copy h2{font-size:45px}
  .story-facts{gap:30px}
  .equipment-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .equipment-grid figure:last-child{grid-column:auto}
  .brand-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .brand-logo{padding:20px}
  .brand-logo img{max-width:120px}
  .review-card{flex-basis:calc((100% - 20px)/2)}
  .team-grid{grid-template-columns:1fr;gap:20px}
  .team-photo{max-height:440px;object-position:center}
  .person h3{font-size:26px}
  .person p{font-size:15px}
  .person a{font-size:15px}
  .faq-grid{gap:40px}
  .faq h2{font-size:45px}
  .contact-grid{gap:30px;grid-template-columns:repeat(2,minmax(0,1fr))}
  .contact-card{padding:26px}
  .footer-top{gap:30px}
  .detail-grid{gap:35px}
}

/* ================= ≤600px: phone ================= */
@media(max-width:600px){
  .wrap{width:calc(100% - 36px)}
  .nav{gap:12px}
  .logo img{width:125px}
  .nav-cta{margin-left:auto;font-size:16px;min-height:44px;padding:8px 12px;white-space:nowrap}
  .menu-toggle{order:2;margin-left:0;font-size:16px;padding:8px 10px;gap:8px}
  .nav{gap:10px}
  .header .logo img{width:136px}

  .hero{padding-top:38px}
  .hero-grid{grid-template-columns:minmax(0,1fr);gap:36px;padding-bottom:32px}
  .hero h1{font-size:clamp(52px,16vw,94px);margin:23px 0}
  .hero-copy{font-size:17px}
  .hero-copy br{display:none}
  .actions{gap:18px 24px}
  .hero .actions .button{font-size:18px;padding:15px 20px}
  .text-link{font-size:17px}
  .info-inner{padding:18px 23px 0}
  .info-bar{padding:12px 23px}
  .number{font-size:22px}
  dl>div{grid-template-columns:64px minmax(0,1fr);padding:16px 0}
  dd{font-size:17px}
  .status{padding-bottom:17px}
  .status>span:last-child{flex-basis:100%;margin:-4px 0 0 28px}
  .vehicle-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px;padding:22px 0}
  .vehicle-strip .vehicle-icon{height:65px;margin-bottom:8px}
  .vehicle-strip span{font-size:15px}

  .section{padding:58px 0}
  .section-heading{display:block;margin-bottom:30px}
  .section-heading>p{max-width:none;margin-top:18px;font-size:17px}
  .section-heading h2{font-size:46px}
  .section-heading .eyebrow{margin-bottom:12px}
  .services-grid{grid-template-columns:minmax(0,1fr);gap:14px}
  .service-card{padding:24px}
  .service-card h3{font-size:32px}
  .card-top{margin-bottom:22px}
  .service-note{display:block;margin-top:26px}
  .service-note>span{display:block;margin-bottom:12px}
  .service-note a{display:block;margin-top:4px;padding:6px 0}

  .story-grid{grid-template-columns:minmax(0,1fr);gap:36px}
  .shop-photo img{height:300px}
  .photo-label{flex-direction:row;left:12px;right:12px;bottom:12px;padding:12px}
  .story-copy h2{font-size:48px}
  .story-facts{gap:50px}

  .equipment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .equipment-grid figure{padding:14px 10px}
  .equipment-grid .vehicle-icon{height:84px}
  .equipment-grid figcaption{font-size:16px}
  .equipment-grid figure:last-child{grid-column:1 / -1}
  .equipment-grid figure:last-child .vehicle-icon{width:200px;height:100px}

  .brand-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .brand-logo{min-height:112px;padding:20px}
  .brand-logo img{max-width:120px;max-height:64px}

  .testimonial{padding:48px 0}
  .testimonial .section-heading h2{font-size:40px}
  .review-controls{margin-top:24px}
  .review-track{gap:14px}
  .review-card{flex-basis:88%;padding:24px}
  .review-card blockquote{font-size:18px}

  .team-grid{gap:12px}
  .person{padding:0 0 28px}
  .team-photo{margin-bottom:20px;max-height:none}
  .person h3{font-size:29px}
  .person p{font-size:16px}
  .person a{font-size:14px;margin-top:20px}

  .faq{padding-top:0}
  .faq-grid{grid-template-columns:minmax(0,1fr);gap:30px;padding-top:40px}
  .faq h2{font-size:46px}
  .questions summary{font-size:23px}

  .contact-grid{grid-template-columns:minmax(0,1fr);gap:35px}
  .contact h2{font-size:clamp(44px,15vw,57px)}
  .big-phone{font-size:40px;gap:20px}

  footer{padding-bottom:85px}
  .footer-top{flex-wrap:wrap;gap:24px}
  .footer-top .logo img{width:140px}
  .footer-top p{font-size:19px}
  .footer-phone{margin:0;font-size:17px;width:100%}
  .footer-bottom{display:block}
  .footer-bottom>div{margin-top:8px;gap:0 22px}
  .mobile-call{display:block;position:fixed;bottom:0;left:0;right:0;z-index:25;padding-bottom:env(safe-area-inset-bottom);background:var(--orange);box-shadow:0 -4px 25px #0002}
  .mobile-call a{display:flex;justify-content:center;padding:14px 22px;color:#fff;text-transform:uppercase;font:700 21px var(--heading)}

  .detail-hero{padding:20px 0 36px}
  .breadcrumb{margin-bottom:16px}
  .detail-hero+.section{padding-top:34px}
  .detail-hero h1{font-size:clamp(44px,15vw,62px);overflow-wrap:anywhere}
  .detail-hero>div>p:not(.eyebrow){font-size:20px}
  .detail-grid{grid-template-columns:minmax(0,1fr);gap:35px}
  .large-copy{font-size:21px}
  .fleet-icons{gap:14px}
  .fleet-icons .vehicle-icon{width:64px;height:32px}
  .detail-photos{gap:8px}
}

/* ================= Request-service intake ================= */
.intake-hero{padding-bottom:44px}
.intake-hero h1{font-size:clamp(46px,6.4vw,88px)}
.intake-hero .wrap>p:not(.eyebrow){font-size:20px;color:#c9cfcc;max-width:46ch}
.intake-section{padding-top:44px}
.intake-demo{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;background:#fff5ec;border:1px solid #efc9ab;color:#6b3412;border-radius:6px;padding:12px 16px;margin:0 0 24px;font-size:15px}
.intake-demo b{font:600 var(--label) var(--mono);letter-spacing:.1em;text-transform:uppercase;background:var(--orange);color:#fff;padding:3px 8px;border-radius:3px}
.intake-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:40px;align-items:start}
.intake{background:#fff;border:1px solid var(--line);border-radius:8px;padding:28px 30px 26px;min-width:0}
.intake-steps{list-style:none;margin:0 0 14px;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.intake-steps li{display:flex;flex-direction:column;gap:2px;color:#8a908e;min-width:0}
.intake-steps .n{font:600 var(--label) var(--mono);letter-spacing:.06em}
.intake-steps .t{font:600 14px var(--heading);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.intake-steps li.past{color:var(--muted)}
.intake-steps li.on{color:var(--ink)}
.intake-steps li.on .n{color:var(--orange)}
.intake-bar{height:4px;background:#eceeeb;border-radius:4px;overflow:hidden;margin-bottom:28px}
.intake-bar span{display:block;height:100%;width:0;background:var(--orange);border-radius:4px;transition:width .45s cubic-bezier(.2,.7,.2,1)}
.step{border:0;margin:0;padding:0;min-width:0}
.step legend{padding:0;margin-bottom:22px;width:100%}
.step legend .eyebrow{color:var(--muted);display:block;margin-bottom:8px}
.step h2{font-size:clamp(32px,3.4vw,44px)}
.step h2:focus{outline:none}
.hint{color:var(--muted);font-size:15px;margin-top:8px}
.step-err{color:#a3261e;font-weight:600;font-size:15px;min-height:22px;margin-top:14px}
.step-err:empty{min-height:0;margin:0}
.step.shake{animation:odc-shake .35s}
@keyframes odc-shake{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}

/* tiles */
.tiles{display:grid;gap:10px}
.tiles-equip{grid-template-columns:repeat(4,minmax(0,1fr))}
.tiles-svc{grid-template-columns:repeat(2,minmax(0,1fr))}
.tile{position:relative;cursor:pointer;min-width:0}
.tile input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.tile-face{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;height:100%;min-height:118px;padding:14px 10px;border:2px solid var(--line);border-radius:8px;background:#fafbf9;transition:border-color .2s,background .2s,transform .2s,box-shadow .2s}
.tile-face img{width:100%;max-width:120px;height:52px;object-fit:contain;filter:brightness(0);opacity:.75;transition:opacity .2s,transform .3s cubic-bezier(.2,.7,.2,1)}
.tile-face b{font:700 17px/1.1 var(--heading);text-transform:uppercase;letter-spacing:.02em}
.tile-face small{font-size:13px;color:var(--muted);line-height:1.3}
.tile-plus{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;border:2px dashed #a9b0ad;font:700 26px var(--heading);color:var(--muted)}
.tile-svc .tile-face{flex-direction:row;justify-content:flex-start;text-align:left;min-height:92px;gap:16px;padding:14px 16px}
.tile-svc .tile-face img{width:64px;height:50px;flex-shrink:0}
.tile-svc .tile-face b{display:block;margin-bottom:3px}
.tile-svc .tile-face>b,.tile-svc .tile-face>small{flex:none}
.tile-svc .tile-face{display:grid;grid-template-columns:64px minmax(0,1fr);grid-template-rows:auto auto;column-gap:16px;row-gap:2px;align-content:center}
.tile-svc .tile-face img,.tile-svc .tile-face .tile-plus{grid-row:span 2;justify-self:center}
.tile:hover .tile-face{border-color:#c7ccc9;transform:translateY(-2px);box-shadow:0 8px 20px #0000000d}
.tile:hover .tile-face img{opacity:1;transform:translateX(3px)}
.tile input:checked+.tile-face{border-color:var(--orange);background:#fff5ec;box-shadow:inset 0 0 0 1px var(--orange)}
.tile input:checked+.tile-face img{opacity:1;filter:brightness(0) saturate(100%) invert(38%) sepia(80%) saturate(1400%) hue-rotate(354deg) brightness(88%)}
.tile input:checked+.tile-face .tile-plus{border-color:var(--orange);color:var(--orange)}
.tile input:focus-visible+.tile-face{outline:3px solid var(--orange);outline-offset:3px}

/* fields */
.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px;margin-bottom:6px}
.fields.one{grid-template-columns:minmax(0,1fr);margin-top:22px}
.f{display:flex;flex-direction:column;gap:6px;min-width:0}
.f label,.group-label{font:600 var(--label) var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.f label i,.group-label i{font-style:normal;color:var(--orange);margin-left:6px;text-transform:none;letter-spacing:0}
.intake input:not([type=radio]):not([type=checkbox]),.intake textarea{font:inherit;font-size:17px;color:var(--ink);background:#fafbf9;border:1.5px solid var(--line);border-radius:6px;padding:12px 14px;min-height:50px;width:100%;transition:border-color .2s,background .2s}
.intake textarea{resize:vertical;min-height:110px}
.intake input:focus,.intake textarea:focus{outline:none;border-color:var(--orange);background:#fff}
.intake input.mono{font-family:var(--mono);text-transform:uppercase}
.group-label{margin:22px 0 10px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative;cursor:pointer}
.chip input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.chip span{display:inline-block;padding:9px 14px;border:1.5px solid var(--line);border-radius:999px;background:#fafbf9;font-weight:600;font-size:15px;transition:background .2s,border-color .2s,color .2s}
.chip:hover span{border-color:#b9bfbc}
.chip input:checked+span{background:var(--ink);border-color:var(--ink);color:#fff}
.chip input:focus-visible+span{outline:3px solid var(--orange);outline-offset:2px}
.choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}
.choice{position:relative;cursor:pointer}
.choice input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.choice span{display:flex;flex-direction:column;gap:2px;height:100%;padding:13px 16px 13px 42px;border:1.5px solid var(--line);border-radius:6px;background:#fafbf9;position:relative;transition:border-color .2s,background .2s}
.choice span::before{content:"";position:absolute;left:15px;top:16px;width:16px;height:16px;border-radius:50%;border:2px solid #a9b0ad;transition:border .2s}
.choice b{font-weight:700}
.choice small{font-size:13px;color:var(--muted)}
.choice input:checked+span{border-color:var(--orange);background:#fff5ec}
.choice input:checked+span::before{border:5px solid var(--orange)}
.choice input:focus-visible+span{outline:3px solid var(--orange);outline-offset:2px}
.consent{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;margin-top:24px;padding:14px 16px;border:1px solid var(--line);border-radius:6px;background:#fafbf9;font-size:14px;color:var(--muted);cursor:pointer}
.consent input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--orange)}
.consent a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0}

/* review */
.review{margin:0;display:grid;gap:0;border-top:1px solid var(--line)}
.rv-sec{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.rv-sec dt button{all:unset;cursor:pointer;display:flex;flex-direction:column;gap:2px;font:700 18px var(--heading);text-transform:uppercase}
.rv-sec dt button span{font:600 var(--label) var(--mono);letter-spacing:.08em;color:var(--orange)}
.rv-sec dt button:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.rv-sec dd{margin:0;font-size:16px;overflow-wrap:anywhere}

/* nav */
.intake-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}
.intake-nav [hidden],.intake-done[hidden],.intake[hidden],.intake-aside[hidden]{display:none!important}
.intake-nav .button{margin-left:auto;min-width:180px}
.btn-back{background:none;border:1.5px solid var(--line);border-radius:4px;min-height:55px;padding:0 22px;font:700 18px var(--heading);text-transform:uppercase;color:var(--ink)}
.btn-back:hover{border-color:var(--ink)}
.intake .button[disabled]{opacity:.6;cursor:progress}

/* summary */
.intake-aside{position:sticky;top:120px}
.sum{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:12px}
.sum li{display:grid;gap:2px}
.sum span{font:600 var(--label) var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.sum b{font-weight:600;overflow-wrap:anywhere}
.sum-empty{color:var(--muted);font-size:15px}

/* done */
.intake-done{grid-column:1 / -1;background:var(--ink);color:#fff;border-radius:8px;padding:56px 28px 52px;text-align:center;overflow:hidden;position:relative}
.intake-done:focus{outline:none}
.intake-done h2{font-size:clamp(48px,7vw,84px);margin:22px 0 12px}
.intake-done .period{color:var(--bright)}
.done-lead{font-size:clamp(20px,2.2vw,26px);color:#e8ebe7;font-weight:500}
.done-ref{font:500 var(--label) var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--bright);margin-top:14px}
.done-help{color:#c9cfcc;margin:22px 0 10px}
.done-help a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.intake-done .text-link{border-color:#7c8380}
.done-road{position:relative;height:84px;max-width:640px;margin:0 auto 6px}
.done-line{position:absolute;left:0;right:0;bottom:6px;height:2px;background:repeating-linear-gradient(90deg,#5b6162 0 18px,transparent 18px 30px)}
.done-truck{position:absolute;left:50%;bottom:8px;width:150px;height:auto;margin-left:-75px;filter:brightness(0) invert(1);opacity:.9}
.done-check{width:110px;height:110px;margin:0 auto;display:block}
.done-check circle{fill:none;stroke:var(--bright);stroke-width:5}
.done-check path{fill:none;stroke:#fff;stroke-width:7;stroke-linecap:round;stroke-linejoin:round}
@media(prefers-reduced-motion:no-preference){
  .step:not([hidden]){animation:odc-step .45s cubic-bezier(.2,.7,.2,1)}
  .done-check circle{stroke-dasharray:330;stroke-dashoffset:330}
  .done-check path{stroke-dasharray:90;stroke-dashoffset:90}
  .done-truck{transform:translateX(120vw)}
  .intake-done h2,.done-lead,.done-ref,.done-help,.intake-done .text-link{opacity:0;transform:translateY(14px)}
  .intake-done.go .done-truck{animation:odc-arrive 1.3s cubic-bezier(.15,.75,.25,1) .05s forwards}
  .intake-done.go .done-check circle{animation:odc-draw .7s ease-out .9s forwards}
  .intake-done.go .done-check path{animation:odc-draw .45s ease-out 1.45s forwards}
  .intake-done.go h2{animation:odc-up .6s cubic-bezier(.2,.75,.2,1) 1.55s forwards}
  .intake-done.go .done-lead{animation:odc-up .6s cubic-bezier(.2,.75,.2,1) 1.7s forwards}
  .intake-done.go .done-ref{animation:odc-up .6s cubic-bezier(.2,.75,.2,1) 1.85s forwards}
  .intake-done.go .done-help,.intake-done.go .text-link{animation:odc-up .6s cubic-bezier(.2,.75,.2,1) 2s forwards}
}
@keyframes odc-step{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
@keyframes odc-arrive{0%{transform:translateX(120vw)}78%{transform:translateX(-14px)}100%{transform:none}}
@keyframes odc-draw{to{stroke-dashoffset:0}}

@media(max-width:1100px){.tiles-equip{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){
  .intake-grid{grid-template-columns:minmax(0,1fr)}
  .intake-aside{position:static;order:-1;display:none}
  .intake-steps .t{display:none}
}
@media(max-width:600px){
  .intake{padding:20px 16px 18px}
  .intake-section{padding-top:28px}
  .tiles-equip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tiles-svc{grid-template-columns:minmax(0,1fr)}
  .tile-face{min-height:104px}
  .fields{grid-template-columns:minmax(0,1fr)}
  .rv-sec{grid-template-columns:minmax(0,1fr);gap:6px}
  .intake-nav .button{min-width:0;flex:1}
  .intake-done{padding:40px 18px 36px}
  .done-truck{width:120px;margin-left:-60px}
}

/* ================= Motion =================
   Everything below only runs for visitors who haven't asked their device to reduce motion.
   Content is fully visible without it: load-in uses CSS keyframes, and scroll reveals only hide
   things once script.js has added .reveal-ready to <html>. */
.hero h1 .hl{display:block}
.hero h1 .hl>span{display:inline-block}
.card-link>span{background:linear-gradient(var(--orange),var(--orange)) 0 100%/0 2px no-repeat;padding-bottom:3px;transition:background-size .35s cubic-bezier(.2,.7,.2,1)}
.service-card:hover .card-link>span,.service-card:focus-visible .card-link>span{background-size:100% 2px}
.card-top .service-art{transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.service-card:hover .service-art{transform:translateX(5px) rotate(-4deg)}
.story-facts strong{font-variant-numeric:tabular-nums}
.brand-logo{transition:background .3s}
.brand-logo img{transition:transform .35s cubic-bezier(.2,.7,.2,1)}
@media(hover:hover){
  .brand-logo:hover{background:#f5f6f4}
  .brand-logo:hover img{transform:translateY(-3px) scale(1.08)}
}

@media(prefers-reduced-motion:no-preference){
  /* 1. Hero headline: lines rise out of a mask, then the orange period stamps in */
  .hero h1 .hl{clip-path:inset(-20% -10% 0 -10%)}
  .hero h1 .hl>span{animation:odc-rise .8s cubic-bezier(.2,.75,.2,1) both}
  .hero h1 .hl:nth-child(2)>span{animation-delay:.12s}
  .hero h1 .hl:nth-child(3)>span{animation-delay:.24s}
  .hero h1 .period{display:inline-block;animation:odc-stamp .45s cubic-bezier(.3,1.6,.5,1) .85s both}
  .hero .eyebrow{animation:odc-fade .6s ease .1s both}
  .hero .eyebrow .line{transform-origin:left;animation:odc-grow .7s cubic-bezier(.2,.75,.2,1) .2s both}
  .hero-copy{animation:odc-up .7s cubic-bezier(.2,.75,.2,1) .45s both}
  .hero .actions{animation:odc-up .7s cubic-bezier(.2,.75,.2,1) .58s both}
  .shop-info{animation:odc-up .8s cubic-bezier(.2,.75,.2,1) .35s both}

  /* 2. Live "open" dot */
  .status.open .status-dot{animation:odc-pulse 2.2s ease-out infinite}

  /* 3. Vehicles roll in and settle (triggered when the strip is on screen) */
  .reveal-ready .vehicle-strip>div{opacity:0}
  .reveal-ready .vehicle-strip.in>div{animation:odc-roll 1s cubic-bezier(.2,.7,.25,1) both}
  .reveal-ready .vehicle-strip.in>div:nth-child(1){animation-delay:1s}
  .reveal-ready .vehicle-strip.in>div:nth-child(2){animation-delay:.85s}
  .reveal-ready .vehicle-strip.in>div:nth-child(3){animation-delay:.7s}
  .reveal-ready .vehicle-strip.in>div:nth-child(4){animation-delay:.55s}

  /* 4. Sections ease in as they scroll into view */
  .reveal-ready .rv{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
  .reveal-ready .rv.in{opacity:1;transform:none}
}
@keyframes odc-rise{from{transform:translateY(105%)}to{transform:none}}
@keyframes odc-stamp{0%{opacity:0;transform:scale(3) translateY(-10%)}100%{opacity:1;transform:none}}
@keyframes odc-fade{from{opacity:0}to{opacity:1}}
@keyframes odc-grow{from{transform:scaleX(0)}to{transform:none}}
@keyframes odc-up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes odc-pulse{0%{box-shadow:0 0 0 0 #317450aa}70%{box-shadow:0 0 0 10px #31745000}100%{box-shadow:0 0 0 0 #31745000}}
@keyframes odc-roll{0%{opacity:0;transform:translateX(70px)}70%{opacity:1;transform:translateX(-5px)}100%{opacity:1;transform:none}}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important}
}
@media(max-width:359px){.header .logo img{width:112px}.nav-cta{padding:8px 10px}}
