:root{--navy:#021a3d;--ink:#343440;--blue:#0759bd;--red:#cf1c22;--header-height:171px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--header-height)}
body{margin:0;color:var(--ink);background:#343440;font-family:Montserrat,Arial,sans-serif}
img{max-width:100%;display:block}a{color:inherit}
.skip{position:fixed;top:-100px;left:12px;z-index:50;padding:12px;background:#fff;color:var(--navy)}.skip:focus{top:10px}
a:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.site-header{position:sticky;top:0;z-index:20;background:#fff;border-bottom:4px double #343440}
.family-banner{min-height:26px;background:#282828;color:#fff;display:flex;justify-content:center;align-items:center;gap:48px;padding:5px 18px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.header-inner{position:relative;width:min(100% - 40px,1040px);height:139px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) 434px;grid-template-rows:81px 48px;align-items:center;gap:0 24px}
.brand{grid-row:1/3;width:400px;max-width:100%;text-decoration:none}.brand img{width:400px;height:auto;object-fit:contain}
.weather-frame{justify-self:center;align-self:start;margin-top:8px;border:0;width:360px;max-width:100%;height:70px;background:transparent;transform:translateY(-3px)}
.header-inner nav{display:flex;align-items:stretch;justify-content:space-between;border-bottom:1px solid #d3d7dd;align-self:end;margin-bottom:5px}
.header-inner nav a{position:relative;padding:13px 12px;text-transform:uppercase;font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap;letter-spacing:.025em}
.header-inner nav a[aria-current]{background:#343440;color:white}.header-inner nav a[aria-current]::after{content:"";position:absolute;left:calc(50% - 7px);bottom:-8px;border:7px solid transparent;border-top-color:#343440;border-bottom:0}
.header-inner nav a:hover{background:#ededf2;color:#343440}
.hero{position:relative;outline:none;overflow:hidden}
.hero-inner{position:relative;width:min(100% - 72px,980px);margin:auto;padding:40px 0 30px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:30px 34px;align-items:start}
.hero-message{min-width:0}.hero h1{margin:0;color:var(--navy);text-transform:uppercase;line-height:1.1;font-family:Oswald,Impact,sans-serif}
.hero h1 span{display:block;font-size:28px;font-weight:500;color:#343440;margin-bottom:7px}.hero h1 strong{display:block;font-size:48px;font-weight:700;line-height:1.12;letter-spacing:0}
.headline-rule{width:100%;height:4px;object-fit:fill;margin:21px 0 23px}
.hero-copy{font-size:16px;line-height:1.75;color:#343440;max-width:none;text-shadow:none}.hero-copy p{margin:0}.hero-copy p+p{margin-top:14px}
.hero-visual{display:flex;min-width:0;flex-direction:column;align-items:center;padding-top:2px;gap:14px}
.bosch-pro{width:154px;height:auto;object-fit:contain}.equipment{width:100%;height:auto;object-fit:contain;margin:3px 0 0}
.van-stage{position:relative;display:block;width:100%;height:104px;overflow:hidden;pointer-events:none}
.service-van{position:absolute;bottom:5px;left:50%;width:min(220px,85%);height:auto;transform:translateX(-50%)}
.van-stage.is-arriving .service-van{animation:van-arrive 4.8s cubic-bezier(.18,.58,.28,1) both}
@keyframes van-arrive{from{left:calc(100% + 120px);transform:translateX(0)}to{left:50%;transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.van-stage.is-arriving .service-van{animation:none}}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin:26px 0 0}
.hero-actions a{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 18px;min-height:46px;border:1px solid #343440;border-radius:4px;background:#fff;text-decoration:none;text-transform:uppercase;letter-spacing:.04em;font-size:13px;font-weight:600}
.hero-actions a.primary{background:#021a3d;border-color:#021a3d;color:#fff}.hero-actions a:hover{background:#ededf2}.hero-actions a.primary:hover{background:#07336b}
.reassurance{grid-column:1/-1;margin:4px 0 0;padding:22px 0 0;border-top:1px solid #cbd2dc;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;width:100%;gap:18px}
.reassurance li{display:flex;align-items:center;justify-content:center;gap:14px;color:#021a3d;font-size:13px;line-height:1.5;text-transform:uppercase;letter-spacing:.02em}
.reassurance li+li{border-left:1px solid #cbd2dc}.reassurance i{font-size:34px;line-height:1;color:#021a3d}.reassurance strong{font-weight:700}
.content-section{scroll-margin-top:0}
.section-frame{display:block;width:100%;border:0}.section-frame:focus{outline:none}
footer{padding:24px 18px;text-align:center;font-size:12px;line-height:1.6}footer p{margin:5px 0}footer a{text-decoration:none}
@media(max-width:1000px){.header-inner{grid-template-columns:minmax(0,1fr) 404px;gap:16px}.brand{width:360px}.header-inner nav a{padding:13px 9px}.hero-inner{width:calc(100% - 48px);gap:28px}.hero h1 strong{font-size:43px}}
@media(max-width:900px){.hero-inner{grid-template-columns:1fr}.hero-visual{display:grid;grid-template-columns:1fr 1.8fr;align-items:center;max-width:600px;width:100%;justify-self:center;gap:6px 28px}.bosch-pro{width:140px;justify-self:center}.equipment{grid-column:2;grid-row:1/3;max-width:340px}.van-stage{grid-column:1;grid-row:2;height:104px}.hero-copy{max-width:none}.hero h1 strong{font-size:46px}.reassurance{margin-top:10px}.reassurance li{gap:10px;font-size:12px}.reassurance i{font-size:30px}}
@media(max-width:760px){.header-inner{height:auto;width:100%;padding:9px 14px 8px;display:flex;flex-direction:column;gap:7px}.brand{width:255px;margin:auto}.brand img{width:255px;height:auto}.weather-frame{display:block;margin:0;align-self:center}.header-inner nav{width:100%;margin:0}.header-inner nav a{flex:1;text-align:center;font-size:11px;padding:13px 3px}.hero-inner{width:calc(100% - 44px);padding:30px 0 28px}.hero h1 span{font-size:23px}.hero h1 strong{font-size:38px}.hero-copy{font-size:16px;line-height:1.7}.headline-rule{margin:18px 0 20px}.hero-actions{gap:10px;margin-top:22px}.hero-actions a{flex:1;padding:14px 10px;font-size:12px}.hero-visual{grid-template-columns:1fr;gap:13px;max-width:350px}.bosch-pro{width:125px}.equipment{grid-column:1;grid-row:auto;max-width:350px;margin:0}.van-stage{grid-column:1;grid-row:auto;height:104px}.reassurance{margin-top:0}.reassurance li+li{border:0}.content-section{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}


/* Final mobile refinement: an independent first pass and compact trust row. */
.hero-pass{position:absolute;inset:0;z-index:2;overflow:hidden;pointer-events:none}
.hero-pass-van{position:absolute;bottom:0;left:100%;width:auto;max-width:none;height:100%;visibility:hidden}
.hero-pass.is-driving .hero-pass-van{visibility:visible;animation:hero-van-pass 6s linear both}
.hero-pass.is-complete .hero-pass-van{visibility:hidden}
@keyframes hero-van-pass{from{left:100%;transform:translateX(0)}to{left:0;transform:translateX(-100%)}}
.van-stage.is-waiting .service-van{left:calc(100% + 120px);transform:translateX(0)}
@media(max-width:760px){
  .family-banner{flex-direction:row;flex-wrap:nowrap;gap:clamp(8px,2.8vw,18px);min-height:25px;padding:5px 8px;font-size:clamp(8px,2.3vw,10px);line-height:1.4;letter-spacing:.015em;white-space:nowrap}
  .header-inner nav a{display:flex;align-items:center;justify-content:center;min-height:44px}
  .hero-inner{gap:24px}
  .reassurance{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding-top:20px;align-items:stretch}
  .reassurance li{flex-direction:column;justify-content:flex-start;text-align:center;gap:9px;font-size:clamp(9px,2.65vw,11px);line-height:1.45;letter-spacing:0;padding:0 6px;min-width:0}
  .reassurance li+li{border-left:1px solid #cbd2dc}
  .reassurance i{font-size:27px}
  .reassurance span{display:block;max-width:100%}
  .reassurance strong{display:inline-block}
}
@media(prefers-reduced-motion:reduce){
  .hero-pass{display:none}
  .van-stage.is-waiting .service-van{left:50%;transform:translateX(-50%)}
}

/* V4 owner refinement: retain the approved blueprint treatment between panels. */
:root{--section-gap:40px}
body{background-color:#f8f8f9;background-image:linear-gradient(#f8f8f99c,#f8f8f99c),url('blueprint-perf-20261016.webp');background-position:center top;background-size:auto,auto;background-repeat:repeat,repeat-y}
.hero{background:transparent}
.content-section{width:min(980px,calc(100% - 36px));margin:0 auto var(--section-gap);background:#fbfbfc;border:1px solid #d2d7de;border-radius:6px;box-shadow:0 4px 18px #021a3d0a;overflow:hidden}
#about{margin-top:var(--section-gap)}
#services{background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible}
.section-frame{background:transparent}
footer{background:#fbfbfc}
/* Original body pixels stay fixed; only circular rim crops rotate. */
.hero-pass-van{aspect-ratio:662/277}
.hero-van-body{width:100%;height:100%;max-width:none}
.hero-wheel{position:absolute;display:block;width:7.55287009%;height:18.05054152%;top:74.00722022%;overflow:hidden;border-radius:50%;transform-origin:50% 50%;pointer-events:none}
.hero-wheel-front{left:8.30815710%}
.hero-wheel-rear{left:73.26283988%}
.hero-wheel img{position:absolute;width:1324%;height:554%;max-width:none;top:-410%;left:-110%;pointer-events:none}
.hero-wheel-rear img{left:-970%}
.hero-pass.is-driving .hero-wheel{animation:hero-wheel-roll 6s linear both}
@keyframes hero-wheel-roll{from{transform:rotate(0deg)}to{transform:rotate(var(--wheel-turn,0deg))}}
@media(max-width:760px){
  :root{--section-gap:36px}
  body{background-image:linear-gradient(#f8f8f9c9,#f8f8f9c9),url('blueprint-perf-20261016.webp');background-size:auto,auto 100vh}
  .family-banner{font-size:clamp(7.2px,2.25vw,10px);padding:5px 6px;gap:clamp(6px,2vw,12px);letter-spacing:0}
  .family-banner span{flex:0 0 auto}
  .content-section{width:calc(100% - 24px)}
}
@media(prefers-reduced-motion:reduce){.hero-pass.is-driving .hero-wheel{animation:none}}

/* Mobile reading space: keep the sticky header's flow height and move only its paint. */
@media(max-width:760px){
  html{scroll-padding-top:0}
  .hero,.content-section{scroll-margin-top:var(--header-height)}
  .site-header{transition:transform .2s ease-out}
  .site-header.is-retracted{transform:translateY(-100%);pointer-events:none}
  .site-header.has-keyboard-focus{transform:none;pointer-events:auto;transition:none}
}
@media(max-width:760px) and (prefers-reduced-motion:reduce){.site-header{transition:none}}

/* Randall's Workshop footer mark: existing approved artwork, separate from AAS. */
footer .footer-inner{display:flex;align-items:center;justify-content:center;gap:24px;max-width:1120px;margin:0 auto}footer .workshop-logo{display:block;width:128px;height:auto;flex:0 0 auto}footer .footer-copy{min-width:0}@media(max-width:600px){footer .footer-inner{gap:14px}footer .workshop-logo{width:88px}footer .footer-copy{font-size:11px}}

/* Linked site-builder credit. */
footer .workshop-credit{display:flex;align-items:center;gap:10px;flex:0 0 auto}footer .workshop-label{font-size:11px;white-space:nowrap;color:#4d5663}footer .workshop-link{display:block;border-radius:3px}footer .workshop-link:focus-visible{outline:2px solid #0059b8;outline-offset:5px}@media(max-width:600px){footer .footer-inner{flex-direction:column;gap:10px}footer .workshop-label{font-size:10px}}
