:root{color-scheme:only light}
:root{--navy:#0b1f3a;--navy2:#132f55;--amber:#f59e0b;--amber2:#b45309;--ink:#1f2937;--muted:#5b6575;--bg:#f6f8fb}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,sans-serif;color:var(--ink);line-height:1.6;background:#fff}
h1,h2,h3{font-family:Montserrat,Inter,sans-serif;line-height:1.2;margin:0 0 .6em;color:var(--navy)}
a{color:var(--amber2)}.wrap{max-width:1120px;margin:auto;padding:0 20px}
header{position:sticky;top:0;z-index:10;background:var(--navy);color:#fff}
.nav{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:flex;gap:10px;align-items:center;color:#fff;text-decoration:none;font-weight:700;font-family:Montserrat}
.brand img{width:36px;height:36px}.nav ul{display:none;list-style:none;gap:22px;margin:0;padding:0}
.nav ul a{color:#dbe4f0;text-decoration:none;font-size:.95rem}.nav ul a:hover{color:var(--amber)}
.btn{display:inline-block;background:var(--amber);color:var(--navy);font-weight:700;padding:.85em 1.4em;border-radius:8px;text-decoration:none;border:0;cursor:pointer;font-size:1rem}
.btn:hover{background:#fbbf24}.btn.ghost{background:transparent;color:#fff;border:2px solid #ffffff55}
.hero{background:linear-gradient(160deg,var(--navy) 0%,var(--navy2) 100%);color:#fff;padding:72px 0 80px;position:relative;overflow:hidden}
.hero h1{color:#fff;font-size:clamp(2rem,6vw,3.4rem)}.hero p{color:#cfd9e8;font-size:1.1rem;max-width:620px}
.tag{display:inline-block;background:#f59e0b22;color:var(--amber);border:1px solid #f59e0b66;padding:.3em .8em;border-radius:99px;font-size:.85rem;font-weight:600;margin-bottom:18px}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.hero svg.line{position:absolute;bottom:0;left:0;width:100%;height:90px;opacity:.35}
.badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px;padding:0;list-style:none}
.badges li{background:#ffffff12;padding:.45em .9em;border-radius:6px;font-size:.9rem}
section{padding:64px 0}section.alt{background:var(--bg)}
.lead{color:var(--muted);max-width:680px;margin-bottom:32px}
.grid{display:grid;gap:18px;grid-template-columns:1fr}
.card{background:#fff;border:1px solid #e5e9f0;border-radius:12px;padding:24px;box-shadow:0 1px 2px #0b1f3a0d}
.card .ic{width:44px;height:44px;border-radius:10px;background:var(--navy);display:grid;place-items:center;margin-bottom:14px}
.card h3{font-size:1.15rem}.card p{margin:0;color:var(--muted)}
.list{padding-left:1.1em;margin:0}.list li{margin:.3em 0}
.lanes{background:var(--navy);color:#dbe4f0}.lanes h2,.lanes h3{color:#fff}.lanes .lead{color:#b8c5d8}
.lanes .card{background:var(--navy2);border-color:#ffffff1a}.lanes .card p,.lanes .card li{color:#cfd9e8}
.ports{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.ports span{background:var(--amber);color:var(--navy);font-weight:700;font-size:.85rem;padding:.25em .7em;border-radius:5px}
.spec{display:grid;grid-template-columns:1fr;gap:28px;align-items:center}
.spec table{width:100%;border-collapse:collapse}.spec td{padding:12px 6px;border-bottom:1px solid #e5e9f0;vertical-align:top}.spec td:first-child{font-weight:600;color:var(--navy);width:42%}
.note{background:#fff7e6;border-left:4px solid var(--amber);padding:12px 16px;border-radius:6px;margin-top:18px;font-size:.95rem}
form{display:grid;gap:14px;grid-template-columns:1fr}
label{font-weight:600;font-size:.9rem;color:var(--navy);display:block;margin-bottom:4px}
input,textarea{width:100%;padding:.75em .9em;border:1px solid #cdd5e0;border-radius:8px;font:inherit}
input:focus,textarea:focus{outline:2px solid var(--amber);border-color:transparent}
.contact-box{background:var(--navy);color:#dbe4f0;border-radius:12px;padding:26px}.contact-box h3{color:#fff}.contact-box a{color:var(--amber)}
footer{background:#07152a;color:#8a9ab3;padding:28px 0;font-size:.9rem}footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px}
@media(min-width:760px){.grid.c3{grid-template-columns:repeat(3,1fr)}.grid.c2{grid-template-columns:repeat(2,1fr)}.spec{grid-template-columns:1fr 1fr}form .half{grid-column:span 1}form{grid-template-columns:1fr 1fr}form .full{grid-column:1/-1}.contact-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:32px}.hero{padding:110px 0 120px}}
@media(min-width:960px){.nav ul{display:flex}.menu-btn{display:none!important}.nav ul .menu-only{display:none}}
@media(max-width:759px){.contact-grid>*+*{margin-top:24px}}

.brand img{width:auto;height:38px;background:#fff;border-radius:8px;padding:3px 6px}
.hero-logo{background:#fff;border-radius:18px;padding:14px 18px;max-width:520px;margin:0 0 26px;box-shadow:0 12px 34px rgba(0,0,0,.35)}
.hero-logo img{display:block;width:100%;height:auto}
@media(max-width:420px){.brand span{font-size:.9rem}}

/* Self-hosted fonts (OFL, see fonts/README.txt). No Google Fonts requests. */
@font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/inter-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/inter-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700 800;font-display:swap;src:url(fonts/montserrat-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700 800;font-display:swap;src:url(fonts/montserrat-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:Michroma;src:url(michroma.ttf);font-display:swap}
.intl{font-family:Michroma,Montserrat,sans-serif;letter-spacing:.42em;text-transform:uppercase;color:#f59e0b;font-weight:400}
.brand .bn{display:flex;flex-direction:column;line-height:1.15}
.brand .intl{font-size:.55rem;margin-top:3px}
.intl-hero{color:#0b1f3a;text-align:center;font-size:clamp(.7rem,2.6vw,1rem);margin:-4px 0 4px;padding-left:.42em}
.intl-hero::before,.intl-hero::after{content:"";display:inline-block;width:2.2em;height:2px;background:#f59e0b;vertical-align:middle;margin:0 .8em}
.intl-foot{font-size:.62rem;margin-left:.3em}

/* ---------- Instant quote ---------- */
.qcard{background:#fff;border:1px solid #e5e9f0;border-top:4px solid var(--amber);border-radius:14px;padding:20px 16px;box-shadow:0 6px 22px #0b1f3a14}
#iq{display:grid;grid-template-columns:1fr;gap:14px}
#iq .step{margin:4px 0 -4px;font-family:Montserrat,sans-serif;font-weight:800;color:var(--navy);display:flex;align-items:center;gap:8px}
#iq .step span{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--navy);color:var(--amber);font-size:.85rem}
#iq i{font-style:normal;font-weight:400;color:var(--muted);font-size:.8rem}
select{width:100%;padding:.75em .9em;border:1px solid #cdd5e0;border-radius:8px;font:inherit;background:#fff}
select:focus{outline:2px solid var(--amber);border-color:transparent}
.ac{position:relative}.ac input.bad{border-color:#d97706;background:#fff7e6}
.ac-list{display:none;position:absolute;z-index:20;left:0;right:0;top:100%;margin:4px 0 0;padding:4px;list-style:none;background:#fff;border:1px solid #cdd5e0;border-radius:10px;box-shadow:0 10px 30px #0b1f3a33;max-height:300px;overflow:auto}
.ac-list li{padding:.55em .7em;border-radius:7px;cursor:pointer;display:flex;flex-direction:column;line-height:1.3}
.ac-list li span{font-size:.8rem;color:var(--muted)}.ac-list li:hover,.ac-list li.on{background:#fff7e6}
.seg{display:grid;grid-template-columns:1fr;gap:8px}
.seg label{margin:0;cursor:pointer}.seg input{position:absolute;opacity:0}
.seg span{display:block;border:2px solid #dbe2ec;border-radius:10px;padding:.6em .8em;font-weight:700;color:var(--navy)}
.seg small{display:block;font-weight:400;color:var(--muted);font-size:.8rem}
.seg input:checked+span{border-color:var(--amber);background:#fff7e6;box-shadow:inset 4px 0 0 var(--amber)}
.seg input:focus-visible+span{outline:2px solid var(--navy)}
.lbox{background:var(--bg);border-radius:10px;padding:12px}.lbox .hint{margin:0 0 10px;font-size:.88rem;color:var(--muted)}
.lrow{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px;background:#fff;border:1px solid #e5e9f0;border-radius:10px;padding:10px 40px 10px 10px;margin-bottom:8px;position:relative}
.lrow label{font-size:.8rem;margin:0}.lrow label.wide{grid-column:1/-1}.lrow input,.lrow select{margin-top:3px;padding:.55em .6em}
.lrow .wt{display:flex;gap:4px}.lrow .wt select{width:64px;flex:none}
.lrow .rm{position:absolute;top:8px;right:8px;width:26px;height:26px;border:0;border-radius:50%;background:#eef2f7;color:var(--navy);cursor:pointer}
.add{background:none;border:2px dashed #cdd5e0;border-radius:8px;padding:.5em .9em;color:var(--navy);font-weight:700;cursor:pointer;width:100%}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.caveat{background:#fff7e6;border:2px solid var(--amber);border-radius:10px;padding:12px 14px;font-weight:700;color:#7c4a03;font-size:.95rem;margin:14px 0}
.caveat.small{font-size:.85rem;margin:0;padding:10px 12px}
.err{color:#b45309;font-weight:600;margin:0}.err:empty{display:none}
.qgo{width:100%;font-size:1.1rem;padding:1em}.qgo:disabled{opacity:.7;cursor:wait}
.fine{margin:-4px 0 0;text-align:center;font-size:.8rem;color:var(--muted)}
.qres .eyebrow{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;font-weight:700;color:var(--amber2)}
.qres .big{font-family:Montserrat,sans-serif;font-weight:800;font-size:2.8rem;color:var(--navy);line-height:1.1}
.qres .big small{font-size:1rem;color:var(--muted);font-weight:600}
.qres .rt{margin:.3em 0 .8em;font-weight:600;color:var(--navy)}
.bd{width:100%;border-collapse:collapse;font-size:.92rem}.bd td{padding:8px 4px;border-bottom:1px solid #e5e9f0;vertical-align:top}
.bd td:last-child{text-align:right;white-space:nowrap;font-weight:600;padding-left:10px}.bd tr.tot td{font-weight:800;color:var(--navy);border-bottom:0;border-top:2px solid var(--navy)}
.qres ul.stop{padding-left:1.1em;color:#b45309;font-weight:600}.qres ul.warn,.qres ul.notes{padding-left:1.1em;font-size:.9rem;color:var(--ink)}
.route{font-size:.9rem;margin:10px 0}.route summary{cursor:pointer;font-weight:700;color:var(--navy)}
.route ul{list-style:none;padding:0;margin:8px 0}.route li{padding:4px 0;border-bottom:1px dashed #e5e9f0;display:flex;justify-content:space-between;gap:10px}.route li.sea{color:#1d4ed8}
.route p{font-size:.8rem;color:var(--muted);margin:4px 0}
.disc{font-size:.82rem;color:var(--muted)}
.qbtns{display:flex;flex-direction:column;gap:10px}.qbtns .btn{text-align:center}
.btn.ghost2{background:#fff;color:var(--navy);border:2px solid var(--navy)}
.manual{margin-top:18px;background:#fff;border:1px solid #e5e9f0;border-radius:12px;padding:12px 16px}
.manual summary{cursor:pointer;font-weight:700;color:var(--navy)}.manual form{margin-top:14px}
@media(min-width:560px){.seg{grid-template-columns:repeat(3,1fr)}.seg:has(input[value=traction]){grid-template-columns:repeat(2,1fr)}.lrow{grid-template-columns:repeat(4,1fr)}.qbtns{flex-direction:row}.qcard{padding:26px}}

[hidden]{display:none!important}@media(min-width:900px){.seg:has(input[value=traction]){grid-template-columns:repeat(4,1fr)}}.seg label{position:relative}
#quote,#iqr,#iq{scroll-margin-top:76px}

footer .legal{flex-basis:100%;margin:6px 0 0;font-size:.8rem;color:#6f819d}footer a{color:#b8c5d8}
.callbar{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;background:var(--navy);box-shadow:0 -2px 10px #0004}
.callbar a{flex:1;text-align:center;padding:14px 6px;color:#fff;font-weight:700;text-decoration:none;border-right:1px solid #ffffff22}
.callbar a:last-child{background:var(--amber);color:var(--navy);border:0}
@media(max-width:759px){body{padding-bottom:52px}}
@media(min-width:760px){.callbar{left:auto;right:20px;bottom:20px;border-radius:10px;overflow:hidden}.callbar a{flex:none;padding:12px 18px}}
.policy{max-width:760px;margin:0 auto;padding:48px 20px}.policy h2{margin-top:1.4em;font-size:1.2rem}

.truck-shot{margin:0;align-self:center;position:relative}.truck-shot img{width:100%;height:auto;display:block;filter:drop-shadow(0 18px 22px #0b1f3a40)}.truck-shot:after{content:'';position:absolute;left:8%;right:4%;bottom:2%;height:14px;border-radius:50%;background:radial-gradient(#0b1f3a55,transparent 70%);z-index:-1}

.tm-card{grid-column:span 2}
.tm-card .list{columns:2;column-gap:28px}
@media(max-width:860px){.tm-card{grid-column:auto}.tm-card .list{columns:1}}

/* ---------- GDPR: credits + privacy page ---------- */
.qres .credit,.fine.credit{font-size:.75rem;color:var(--muted);margin:.6em 0 0;text-align:center}
.qres .credit a,.fine a{color:var(--muted)}
.policy ul{padding-left:1.2em}.policy li{margin:.3em 0}
.policy table{width:100%;border-collapse:collapse;font-size:.92rem;margin:.6em 0 1em}.policy th,.policy td{border:1px solid #e5e9f0;padding:8px 10px;text-align:left;vertical-align:top}.policy th{background:var(--bg);color:var(--navy)}
.policy .ph{background:#fff7e6;padding:0 .3em;border-radius:4px;font-weight:600}
.policy .tw{overflow-x:auto}

/* ---- Usability & accessibility fixes (site test 2026-10-17) ---- */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--amber);color:var(--navy);font-weight:700;padding:.6em 1em;border-radius:6px;text-decoration:none}
.skip:focus{top:10px}
main:focus{outline:none}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
.qres h3:focus{outline:none}
.nav{gap:12px}.nav .btn,.nav .hbtn{white-space:nowrap;padding:.55em 1em;font-size:.9rem}
@media(max-width:759px){.nav .hbtn{display:none}}
.menu-btn{display:inline-flex;align-items:center;gap:8px;background:transparent;color:#fff;border:2px solid #ffffff55;border-radius:8px;padding:.45em .8em;font:inherit;font-weight:700;font-size:.9rem;cursor:pointer;margin-left:auto}
.menu-btn .bars,.menu-btn .bars:before,.menu-btn .bars:after{display:block;width:18px;height:2px;background:currentColor;position:relative}
.menu-btn .bars:before,.menu-btn .bars:after{content:"";position:absolute;left:0}.menu-btn .bars:before{top:-6px}.menu-btn .bars:after{top:6px}
.menu-btn[aria-expanded="true"] .bars{background:transparent}.menu-btn[aria-expanded="true"] .bars:before{top:0;transform:rotate(45deg)}.menu-btn[aria-expanded="true"] .bars:after{top:0;transform:rotate(-45deg)}
@media(max-width:959px){.nav ul.open{display:flex;flex-direction:column;gap:0;position:absolute;left:0;right:0;top:64px;background:var(--navy);padding:6px 20px 14px;box-shadow:0 10px 20px #0005}
 .nav ul.open a{display:block;padding:12px 4px;border-bottom:1px solid #ffffff1a;font-size:1rem}}
.ferr{color:#b45309;font-weight:600;font-size:.85rem;margin:4px 0 0;display:block}.ferr:empty{display:none}
input.bad,input[aria-invalid="true"]{border-color:#d97706!important;background:#fff7e6}
.dym:empty{display:none}.dym{margin:6px 0 0;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.dym p{margin:0;font-weight:600;font-size:.9rem;color:var(--navy);width:100%}
.dym-opt{background:#fff;border:2px solid var(--navy);border-radius:8px;padding:.4em .7em;cursor:pointer;color:var(--navy);font:inherit;font-size:.9rem;text-align:left}
.dym-opt span{color:var(--muted);font-size:.8rem}.dym-opt:hover{background:#fff7e6}
.err a{color:#b45309}
.qres .qbtns{margin:12px 0 14px}
.lrow label{display:flex;flex-direction:column;justify-content:flex-end}.lrow:only-child .rm{display:none}.lrow:only-child{padding-right:10px}
.two>div{display:flex;flex-direction:column;justify-content:flex-end}
.contact-grid{align-items:start}
.callbar{z-index:20}
@media(max-width:759px){body{padding-bottom:64px}}
@media(min-width:760px){.callbar{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* quote request + acceptance block */
.qreq{display:block;margin-top:18px;border-top:2px solid #e5e9f0;padding-top:14px}.qreq:focus{outline:none}
.qreq h3{margin:.2em 0 .3em}
fieldset.rq{border:1px solid #e5e9f0;border-radius:10px;padding:10px 12px 4px;margin:12px 0}
fieldset.rq legend{font-weight:700;color:var(--navy);padding:0 6px}
.hint2{display:block;font-size:.85rem;color:var(--muted);margin:2px 0 4px}
.count{font-size:.8rem;color:var(--muted);margin:3px 0 0;text-align:right}.count.low{color:#b45309;font-weight:600}
.decl{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;align-items:start;background:#fff7e6;border:1px solid #f5c66b;border-radius:10px;padding:12px;margin:12px 0}
.decl input{width:24px;height:24px;margin:2px 0 0;accent-color:var(--navy)}
.decl label{font-weight:600;line-height:1.4;cursor:pointer}
.decl .ferr{grid-column:1/-1}
.decl input[aria-invalid="true"]{outline:3px solid #d97706;outline-offset:2px}
.agree{font-size:.88rem;color:var(--navy);margin:6px 0 10px}
.longnote{margin-top:10px;background:#f1f5f9;border-radius:8px;padding:10px 12px;font-size:.88rem}
textarea[aria-invalid="true"]{border-color:#d97706!important;background:#fff7e6}
#qf .rqwrap fieldset.rq{margin-top:4px}
@media(max-width:560px){.qreq .two,#qf .two{grid-template-columns:1fr}}
.qreq>div,.rqwrap>div{margin:10px 0}

/* ---------- Multi-page layout (2026-10-19) ---------- */
[id]{scroll-margin-top:130px}
.nav ul a[aria-current="page"]{color:var(--amber);font-weight:700;box-shadow:inset 0 -2px 0 var(--amber)}
.nav .hbtn[aria-current="page"]{background:#fff;color:var(--navy)}
@media(max-width:959px){.nav ul.open a[aria-current="page"]{box-shadow:inset 3px 0 0 var(--amber);padding-left:12px}}
@media(min-width:960px){.nav ul{gap:18px}}
.page-hero{background:linear-gradient(160deg,var(--navy) 0%,var(--navy2) 100%);color:#fff;padding:40px 0 44px}
.page-hero h1{color:#fff;font-size:clamp(1.8rem,5vw,2.6rem);margin-bottom:.3em}
.page-hero p{color:#cfd9e8;font-size:1.05rem;max-width:680px;margin:0}
.page-hero .crumb{font-size:.85rem;color:#8fa3bf;margin:0 0 10px}.page-hero .crumb a{color:var(--amber);text-decoration:none}
.subnav{position:sticky;top:64px;z-index:9;background:#fff;border-bottom:1px solid #e5e9f0;box-shadow:0 2px 6px #0b1f3a0d}
.subnav .wrap{display:flex;align-items:center;gap:10px;overflow-x:auto;padding-top:10px;padding-bottom:10px;-webkit-overflow-scrolling:touch}
.subnav span{font-size:.8rem;font-weight:700;color:var(--muted);white-space:nowrap;text-transform:uppercase;letter-spacing:.04em}
.subnav ul{display:flex;gap:8px;list-style:none;margin:0;padding:0}
.subnav a{display:block;white-space:nowrap;text-decoration:none;color:var(--navy);font-weight:600;font-size:.88rem;border:1.5px solid #cdd5e0;border-radius:99px;padding:.3em .85em}
.subnav a:hover{border-color:var(--amber);color:var(--amber2)}
.subnav+section{padding-top:40px}
.card:target{border-color:var(--amber);box-shadow:0 0 0 3px #f59e0b55}
a.scard{display:flex;flex-direction:column;text-decoration:none;color:inherit;transition:border-color .15s,transform .15s}
a.scard:hover{border-color:var(--amber);transform:translateY(-2px)}
a.scard p{flex:1}.scard .more{margin-top:14px;font-weight:700;color:var(--amber2)}
.next .cta{margin-top:10px}
.fnav{flex-basis:100%;display:flex;flex-wrap:wrap;gap:4px 6px;padding-bottom:10px;margin-bottom:6px;border-bottom:1px solid #ffffff14}
.toc{background:var(--bg);border:1px solid #e5e9f0;border-radius:10px;padding:14px 20px;margin:18px 0 8px}
.toc p{margin:0 0 6px}.toc ol{margin:0;padding-left:1.4em;columns:2;column-gap:28px}.toc li{margin:.2em 0}
@media(max-width:560px){.toc ol{columns:1}}

/* ---------- Dropdown nav (2026-10-19) ---------- */
.nav li.has-sub{position:relative}
.sub-btn{background:transparent;border:0;color:#dbe4f0;cursor:pointer;padding:0;width:22px;height:22px;display:inline-grid;place-items:center;border-radius:4px}
.sub-btn:before{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .15s}
.sub-btn[aria-expanded="true"]:before{transform:translateY(2px) rotate(-135deg)}
.sub-btn:hover{color:var(--amber)}
.nav ul.sub{display:none;list-style:none;margin:0;padding:0}
.nav ul.sub a{box-shadow:none!important;font-weight:500}
@media(min-width:960px){
 .nav ul#site-nav{align-self:stretch;align-items:stretch}
 .nav ul#site-nav>li{display:flex;align-items:center}
 .nav li.has-sub{gap:2px}
 .nav ul.sub{position:absolute;top:100%;left:-14px;min-width:250px;background:#fff;border-radius:0 0 10px 10px;box-shadow:0 14px 30px #0b1f3a40;padding:8px 0;flex-direction:column;gap:0}
 .nav li.has-sub:hover>ul.sub,.nav li.has-sub:focus-within>ul.sub,.nav li.has-sub.sub-open>ul.sub{display:flex}
 .nav li.has-sub.sub-closed>ul.sub{display:none!important}
 .nav ul.sub a{display:block;color:var(--navy);padding:9px 18px;font-size:.92rem;white-space:nowrap}
 .nav ul.sub a:hover,.nav ul.sub a:focus-visible{background:var(--bg);color:var(--amber2)}
 .nav ul.sub li:last-child a{border-bottom:0}
}
@media(max-width:959px){
 .nav ul.open{max-height:calc(100vh - 64px);overflow-y:auto}
 .nav ul.open>li.has-sub{display:grid;grid-template-columns:1fr auto;align-items:center;border-bottom:1px solid #ffffff1a}
 .nav ul.open>li.has-sub>a{border-bottom:0!important}
 .nav ul.open .sub-btn{width:44px;height:44px}
 .nav ul.open li.has-sub.sub-open>ul.sub{display:block;grid-column:1/-1;padding:0 0 8px 14px;border-left:2px solid #f59e0b66;margin:0 0 8px 4px}
 .nav ul.open ul.sub a{padding:9px 4px;font-size:.95rem;border-bottom:0;color:#cfd9e8}
}

/* ---------- Landing page ---------- */
.landing{background:linear-gradient(180deg,#fff 0%,var(--bg) 100%);padding:28px 0 36px;min-height:calc(100vh - 64px - 44px);min-height:calc(100svh - 64px - 44px);display:flex;align-items:center}
.landing-grid{display:grid;gap:22px;align-items:center;width:100%;text-align:center}
.landing-logo{display:block;width:min(220px,60vw);height:auto;margin:0 auto 18px}
.landing h1{font-size:clamp(1.55rem,4.2vw,2.8rem);max-width:15em;margin:0 auto .45em}
.landing p{color:var(--muted);font-size:1.05rem;margin:0 auto;max-width:34em}
.landing .cta{justify-content:center;margin-top:22px}
.landing .truck-shot{max-width:250px;margin:0 auto}
@media(min-width:900px){
 .landing{padding:40px 0}
 .landing-grid{grid-template-columns:1.1fr .9fr;gap:56px;text-align:left}
 .landing-logo{width:330px;margin:0 0 26px}
 .landing h1,.landing p{margin-left:0}
 .landing .cta{justify-content:flex-start;margin-top:30px}
 .landing .truck-shot{max-width:470px}
}
@media(max-height:700px) and (max-width:899px){.landing .truck-shot{max-width:190px}.landing-logo{width:170px}}
/* landing + nav fit fixes */
.nav ul#site-nav>li.menu-only{display:none}
@media(max-width:959px){.nav ul#site-nav.open>li.menu-only{display:block}}
.nav ul#site-nav a{white-space:nowrap}
@media(min-width:960px) and (max-width:1120px){.nav ul#site-nav{gap:12px}.nav ul#site-nav>li>a{font-size:.88rem}.brand .bn{font-size:.9rem}}
body.home .callbar{display:none}
@media(max-width:759px){body.home{padding-bottom:0}}
@media(max-width:899px){.landing{padding:20px 0 24px}.landing-logo{width:min(190px,55vw);margin-bottom:12px}.landing .truck-shot{max-width:230px}.landing .cta{margin-top:16px}}
@media(max-height:720px) and (max-width:899px){.landing-logo{width:140px;margin-bottom:8px}.landing h1{font-size:1.35rem}.landing p{font-size:.95rem}.landing .truck-shot{max-width:165px}.landing-grid{gap:14px}}
/* WhatsApp button */
.btn.wa{display:inline-flex;align-items:center;gap:8px;background:#15803d;color:#fff}
.btn.wa:hover{background:#166534;color:#fff}
.contact-box .btn.wa{color:#fff;margin-top:2px}
.wa-ic{flex:none}
@media(max-width:420px){.landing .cta{gap:10px}.landing .cta .btn{padding:.75em 1.1em;font-size:.95rem}}

/* ---------- Footer v2 + cookie notice (2026-10-19) ---------- */
footer{padding:40px 0 26px}
footer .wrap{display:block}
.fgrid{display:grid;gap:26px;grid-template-columns:1fr}
@media(min-width:640px){.fgrid{grid-template-columns:1fr 1fr}}
@media(min-width:960px){.fgrid{grid-template-columns:1.5fr 1.2fr .8fr .8fr}}
.fcol p{margin:0 0 8px;line-height:1.5}.fcol ul{list-style:none;margin:0;padding:0}.fcol li{margin:0 0 7px}
.fname{font-family:Montserrat,Inter,sans-serif;font-weight:700;color:#fff;font-size:1.05rem}
.fh{font-weight:700;color:#dbe4f0;text-transform:uppercase;font-size:.78rem;letter-spacing:.06em}
.fstatus{font-size:.82rem;color:#6f819d}
footer a{text-decoration:none}footer a:hover{color:var(--amber);text-decoration:underline}
.fwa{display:inline-flex;align-items:center;gap:6px}.fwa .wa-ic{width:16px;height:16px;color:#4ade80}
.fbottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 20px;border-top:1px solid #ffffff14;margin-top:26px;padding-top:16px;font-size:.82rem}
.fbottom .legal{flex-basis:auto;margin:0;color:#6f819d}
.policy-sub{padding-top:28px}
.cookie-bar{position:fixed;left:12px;right:12px;bottom:12px;z-index:30;background:#fff;color:var(--ink);border:1px solid #dbe2ec;border-radius:12px;box-shadow:0 10px 30px #0b1f3a40;padding:12px 14px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;font-size:.88rem;max-width:760px;margin:0 auto}
.cookie-bar[hidden]{display:none}
.cookie-bar p{margin:0;flex:1 1 260px;line-height:1.45}.cookie-bar a{color:var(--amber2)}
.cookie-btns{display:flex;gap:8px;flex:0 0 auto}
.cbtn{font:inherit;font-weight:700;font-size:.9rem;padding:.5em 1.2em;border-radius:8px;cursor:pointer;background:var(--navy);color:#fff;border:2px solid var(--navy);min-width:88px}
.cbtn:hover{background:var(--navy2);border-color:var(--navy2)}
@media(max-width:759px){body.has-cookie-bar:not(.home) .cookie-bar{bottom:60px}.cookie-bar{left:8px;right:8px;bottom:8px}.cookie-btns{flex:1 1 100%}.cookie-btns .cbtn{flex:1}}
code{font-size:.88em;background:var(--bg);padding:0 .3em;border-radius:4px}
@media(max-width:639px){.fgrid{grid-template-columns:1fr 1fr;gap:22px 16px}.fgrid>.fcol:nth-child(-n+2){grid-column:1/-1}}

/* ---------- DRAFT build only ---------- */
.draft-ribbon{background:var(--navy);color:var(--amber);text-align:center;font-weight:800;font-size:.85rem;letter-spacing:.04em;padding:6px 12px;position:sticky;top:0;z-index:11}

.draft-note{display:inline-block;vertical-align:middle;background:#eef2f7;color:#374151;border:1px solid #cbd5e1;font-family:Inter,sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:.15em .55em;border-radius:99px;margin-left:6px}
.svc{padding:48px 0}
.svc h2{font-size:clamp(1.3rem,3vw,1.7rem)}
.svc .lead{margin-bottom:18px}
.svc-grid{display:grid;gap:18px;grid-template-columns:1fr}
@media(min-width:900px){.svc-grid{grid-template-columns:1.3fr 1fr 1fr;align-items:start}}
.svc .card h3{font-size:1rem}
.subnav{top:95px}
@media(max-width:959px){.nav ul.open{top:64px}}

/* collage:start */
.scenes{background:var(--bg);padding:8px 0 40px}.scene-grid{display:grid;gap:14px;grid-template-columns:1fr}.scene{margin:0;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 8px 22px #0b1f3a1f}.scene img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.scene figcaption{padding:10px 14px;font-weight:700;color:var(--navy);font-size:.95rem}
@media(min-width:700px){.scene-grid{grid-template-columns:repeat(3,1fr);gap:18px}}
/* collage:end */

.scenes-h{text-align:center;color:var(--navy);margin:0 0 6px;font-size:clamp(1.4rem,3vw,2rem)}.scenes-sub{text-align:center;margin:0 0 18px;color:#334}

.landing-grid:not(:has(.truck-shot)){grid-template-columns:1fr!important;text-align:center;justify-items:center}.landing-grid:not(:has(.truck-shot)) .cta{justify-content:center}

/* quoteforms:start */
.qmode{border:0;padding:0;margin:0 0 22px;grid-template-columns:1fr 1fr!important}.qmode span{text-align:center;font-size:1.05rem}.qmode small{font-size:.78rem}
.qpanel>h2{margin-top:0}.manual.qpanel{margin-top:0;padding:20px 16px}.manual.qpanel form{margin-top:10px}
.sendbtns{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}.sendbtns .btn{flex:1 1 200px;justify-content:center;text-align:center}.sendbtns .btn:disabled{opacity:.7;cursor:wait}
.sendfine{text-align:left;margin-top:8px}
.sendmsg{margin-top:14px;border-radius:12px;padding:14px 16px;border:1px solid #cdd5e0;background:#f4f7fb;color:var(--navy)}.sendmsg p{margin:0 0 6px}.sendmsg p:last-child{margin-bottom:0}
.sendmsg.ok{border-color:#15803d66;background:#ecfdf3}.sendmsg.bad{border-color:#f59e0b88;background:#fff7e6}.sendmsg .sendbtns{margin-top:10px}
.hpf{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden;display:none}
.fine.credit,.qres .credit{font-size:.7rem;line-height:1.4;color:#8a97ab;text-align:center;margin:.8em 0 0}.fine.credit a{color:inherit}
@media(min-width:560px){.manual.qpanel{padding:26px}}
/* quoteforms:end */

/* home spacing tighten (2026-10-19): hero no longer fills the viewport, collage follows with normal spacing */
.landing{min-height:0!important;display:block;padding:28px 0 0}
.landing-grid{gap:0}
.landing-logo{margin-bottom:14px}
.landing .cta{margin-top:18px}
.scenes{padding:36px 0 36px}
.scenes-sub{margin-bottom:16px}
@media(min-width:900px){.landing{padding:40px 0 0}.landing-logo{width:280px;margin:0 auto 18px}.landing h1,.landing p{margin-left:auto;margin-right:auto}.landing .cta{margin-top:24px}.scenes{padding:44px 0 48px}}

.carrynote{background:#eef4fb;border-left:4px solid var(--navy);padding:8px 12px;border-radius:6px;margin:0 0 10px;color:var(--navy)}.sendmsg .tofull{margin-top:4px}
.mail-list{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:8px}
.mail-row{display:grid;grid-template-columns:minmax(0,1fr) 74px;align-items:stretch;gap:8px}
.contact-box a.mail-link{flex:1;min-width:0;display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);color:#fff;text-decoration:none;transition:background-color .15s,border-color .15s,transform .1s;-webkit-tap-highlight-color:transparent}
.contact-box a.mail-link:hover{background:rgba(255,255,255,.1);border-color:var(--amber)}
.contact-box a.mail-link:focus-visible,.mail-copy:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
.contact-box a.mail-link:active{transform:scale(.99);background:rgba(255,255,255,.14)}
.mail-ic{flex:none;color:var(--amber)}
.mail-txt{display:flex;flex-direction:column;min-width:0}
.mail-lab{font-size:.82rem;color:#b8c5d8;line-height:1.3}
.mail-addr{color:var(--amber);font-weight:600;font-size:.95rem;overflow-wrap:break-word;line-height:1.35}
.mail-copy{width:74px;padding:0 6px;border-radius:10px;border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;font:inherit;font-size:.85rem;cursor:pointer;transition:background-color .15s,border-color .15s}
.mail-copy:hover{background:rgba(255,255,255,.1);border-color:var(--amber)}
.mail-copy.done{border-color:#15803d;background:rgba(21,128,61,.25)}
.ctype{border:0;padding:0;margin:0 0 10px}.ctype legend{font-weight:700;color:var(--navy);margin-bottom:6px}.ctseg{grid-template-columns:1fr 1fr!important}.ctype[aria-invalid=true] .seg span{border-color:var(--amber)}
.decl.res{margin:2px 0 10px}.vatline{margin:2px 0 6px;font-size:.95rem;color:var(--navy);font-weight:600}
@media(max-width:480px){.mail-row{grid-template-columns:minmax(0,1fr) 58px;gap:6px}.mail-copy{width:58px;font-size:.8rem}.contact-box a.mail-link{padding:9px 10px;gap:9px}.mail-addr{font-size:.86rem}.mail-ic{width:16px;height:16px}}

/* Status pills: Compliant (green) / Pending (amber) */
.st{display:inline-flex;align-items:center;gap:.35em;vertical-align:middle;font-family:Inter,sans-serif;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;line-height:1.3;padding:.2em .65em;border-radius:99px;border:1px solid;margin-left:8px;white-space:nowrap;flex:none}
.st:before{content:"";width:.5em;height:.5em;border-radius:50%;background:currentColor}
.st-ok{background:#e8f6ed;color:#166534;border-color:#86cf9f}
.st-pend{background:#fff7e6;color:#92400e;border-color:#fcd34d}
.svc-intro h2 .st{font-size:.62rem;position:relative;top:-.15em}
.subnav a .st{font-size:.58rem;margin-left:6px;padding:.12em .5em}
.subnav a{display:flex;align-items:center}
.nav ul.sub a{display:flex;align-items:center;justify-content:space-between;gap:12px}
.nav ul.sub a .st{font-size:.58rem;margin-left:0}
.lanes .card h3 .st{font-size:.6rem}
.stkey{margin:10px 0 0;font-size:.9rem;color:#cfd9e8;max-width:none}
.stkey .st{margin:0 .1em 0 0}
.stkey.dark{color:var(--muted);margin:0 0 14px}
.page-hero p.stkey{font-size:.9rem;margin-top:10px}
.quals{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:8px}
.quals li{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;border:1px solid #e5e9f0;border-radius:10px;padding:9px 14px;font-weight:600;color:var(--navy);font-size:.95rem}
.quals .st{margin-left:0}
@media(min-width:960px){.nav ul.sub{max-height:calc(100vh - 90px);overflow-y:auto}}
.vatnote{margin:2px 0 6px;font-size:.88rem;color:var(--muted)}

.nav ul.sub .sub-off{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#8a95a5;cursor:default;font-size:.92rem;padding:9px 18px;white-space:nowrap}
.nav ul.sub .sub-off .st{font-size:.58rem;margin-left:0}
@media(max-width:959px){.nav ul.open ul.sub .sub-off{padding:9px 4px;font-size:.95rem;color:#8796ab;white-space:normal}}
/* Services v4: compact grid, one page per service, status pills */
.page-hero.sm{padding:14px 0 12px}.page-hero.sm h1{margin:2px 0 4px;font-size:clamp(1.4rem,4.5vw,2rem)}.page-hero.sm p{margin:0}
.page-hero.sm .crumb{margin:0}
.page-hero h1 .st{font-size:.6rem;position:relative;top:-.2em}
.sb-wrap{padding:12px 0 16px;background:#fff}
.sb-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
@media(min-width:700px){.sb-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1000px){.sb-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
.sb{display:flex}
.sb-tile{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:9px 10px;border:1.5px solid #cdd5e0;border-radius:10px;background:var(--bg);text-decoration:none;color:var(--navy);line-height:1.25;min-height:84px}
.sb-t{font-weight:700;font-size:.92rem}
.sb-n{font-size:.78rem;color:var(--muted)}
.sb-st{margin-top:auto;display:flex;align-items:center;flex-wrap:wrap;gap:4px 6px;padding-top:3px}
.sb-st .st{margin-left:0;font-size:.58rem}
.sb-due{font-size:.72rem;font-weight:700;color:#92400e}.page-hero .sb-due{color:#fcd34d;font-size:.8rem;vertical-align:middle}
.sb-go{font-size:.74rem;font-weight:700;color:#166534}.sb-go:after{content:"\00a0\203a"}
a.sb-tile{border-color:#86cf9f;background:#f3fbf6;cursor:pointer;transition:transform .12s,border-color .12s,background-color .12s}
a.sb-tile:hover,a.sb-tile:focus-visible{border-color:#166534;background:#fff;transform:translateY(-1px)}
a.sb-tile:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
a.sb-tile.pend{color:#4b5768;background:#f4f6f9;border-color:#dfe4ea}
a.sb-tile.pend .sb-t{font-weight:600}
a.sb-tile.pend:hover,a.sb-tile.pend:focus-visible{border-color:var(--amber);background:#fff}
.sb-soon{font-size:.78rem;color:#7a8596}
.sb-nojs{margin:10px 0 0;font-size:.9rem}
.sp{padding:14px 0 18px}
.sp .lead{margin:0 0 10px;font-size:1rem;max-width:760px}
.sp-grid{display:grid;gap:10px;grid-template-columns:1fr}
@media(min-width:800px){.sp-grid{grid-template-columns:1fr 1fr 1.1fr;align-items:start}}
.sp .card{padding:12px 16px}.sp .card h2{font-size:1rem;margin:0 0 4px}.sp .card .list{font-size:.93rem}.sp .card .list li{margin:.15em 0}
.sp .card p{margin:4px 0;font-size:.92rem}
.sp-contact{padding:12px 14px}.sp-contact h2{font-size:1rem;margin:0 0 8px;color:#fff}.sp-contact .mail-list{margin:0 0 10px}
.sp-btns{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}.sp-btns .btn{padding:.6em 1.1em}
.contact-box .sp-link{color:var(--amber);font-weight:600}
.sp-back{margin:10px 0 0;font-size:.9rem}.sp-back a{font-weight:600;color:var(--amber2)}.sp-back a:before{content:"\2190\00a0"}
.sp .muted{color:var(--muted)}
.sp-wide{grid-column:1/-1}
.contact-box a.btn{color:var(--navy);text-decoration:none}
.sb-wrap+.next{padding-top:14px}

/* Service enquiry forms */
.enq-sec{padding-top:0}
.enq-sec .qcard h2{font-size:1.1rem;margin:0 0 4px}
.enq-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}
.enq-grid>div,.enq-grid>fieldset{margin:6px 0}.enq-grid .full{grid-column:1/-1}
@media(max-width:560px){.enq-grid{grid-template-columns:1fr}}
.enq .ctype{margin:8px 0 4px}
.enq-checks{border:1px solid #e5e9f0;border-radius:10px;padding:8px 12px}
.enq-checks legend{font-weight:700;color:var(--navy);padding:0 6px}
.chks{display:flex;flex-wrap:wrap;gap:6px 16px}.chks .chk{display:flex;align-items:center;gap:6px;font-weight:500;margin:0;cursor:pointer}.chks input{width:auto}
.enq .decl{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:start}.enq .decl input{width:auto;margin-top:4px}
.enq-off{margin:10px 0 6px;padding:8px 12px;border-radius:8px;background:#f1f3f6;border:1px solid #dfe4ea;color:#4b5768;font-size:.9rem}
.enq .sendbtns .btn:disabled{opacity:.5;cursor:not-allowed}
/* Desktop email chooser */
.mchoose{position:absolute;z-index:60;min-width:220px;background:#fff;border:1px solid #cdd5e0;border-radius:12px;box-shadow:0 14px 34px #0b1f3a33;padding:6px;animation:mcIn .14s ease-out}
@keyframes mcIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.mchoose .mc-h{margin:4px 10px 6px;font-size:.78rem;color:var(--muted);font-weight:600;word-break:break-all}
.mchoose a,.mchoose button{display:block;width:100%;text-align:left;padding:9px 12px;border-radius:8px;border:0;background:none;font:inherit;font-size:.92rem;font-weight:600;color:var(--navy);text-decoration:none;cursor:pointer}
.mchoose a:hover,.mchoose a:focus-visible,.mchoose button:hover,.mchoose button:focus-visible{background:#fff7e6;color:var(--amber2);outline:none}
.enq-note{margin:0 0 8px;padding:6px 10px;border-left:3px solid var(--navy);background:#eef4fb;color:var(--navy);font-size:.88rem;border-radius:4px}
/* Quick quote box on service pages (qq.js) */
.qq-sec{padding:0 0 14px}.qq{background:#fff;border:1px solid #e5e9f0;border-top:4px solid var(--navy);border-radius:14px;padding:14px 14px 12px;box-shadow:0 6px 22px #0b1f3a14}
.qq h2{margin:0 0 4px;font-size:1.25rem}.qq .hint2{margin:0 0 8px}.qq-f{display:grid;gap:8px}.qq-f .two,.qq-f .three{display:grid;gap:8px}
@media(min-width:700px){.qq-f .two{grid-template-columns:1fr 1fr}.qq-f .three{grid-template-columns:repeat(3,1fr)}}
.qq-f input,.qq-f select{margin:0}.qq-f .ferr{margin:2px 0 0}.qq-f .err:empty{display:none}.qq-seg{display:flex;gap:6px;flex-wrap:wrap}.qq-seg label{flex:1;margin:0;min-width:120px}
.qq-seg span{padding:.45em .7em;font-size:.92rem}.qq-ct{border:0;padding:0;margin:0}.qq-ct legend{font-weight:600;font-size:.9rem;color:var(--navy);margin-bottom:4px}
.qq-go{justify-self:start}.qq-fine{margin:0;text-align:left;font-size:.78rem}.qq .chk{font-weight:600;display:flex;gap:6px;align-items:center}
.qq-res{margin-top:10px;border-top:1px solid #e5e9f0;padding-top:10px}.qq-res:focus{outline:none}
.qq-eye{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:700;color:var(--amber2)}
.qq-big{font-family:Montserrat,sans-serif;font-weight:800;font-size:2.1rem;color:var(--navy);line-height:1.15}.qq-big small{font-size:.9rem;font-weight:600;color:var(--muted)}
.qq-vat,.qq-rt{margin:2px 0;font-size:.9rem}.qq-rt{font-weight:600;color:var(--navy)}
.qq-bd{width:100%;border-collapse:collapse;font-size:.88rem;margin:6px 0}.qq-bd td{padding:4px 2px;border-bottom:1px solid #eef2f7;vertical-align:top}.qq-bd td:last-child{text-align:right;white-space:nowrap;padding-left:8px}
.qq-bd .tot td{font-weight:700;color:var(--navy)}.qq-how{font-size:.88rem;margin:4px 0}.qq-how summary{cursor:pointer;color:var(--navy);font-weight:600}
.qq-notes{margin:6px 0;padding-left:18px;font-size:.88rem}.qq-ind{margin:6px 0;padding:6px 10px;background:#fff7e6;border-left:3px solid var(--amber);border-radius:4px;font-weight:600;color:#7c4a03;font-size:.9rem}
.qq-btns{margin-top:6px}.qq-done{margin:6px 0 0;font-size:.88rem;color:var(--navy);font-weight:600}.qq-est textarea{background:#f6f8fb}
footer .fcontact{margin:4px 0;font-size:.9rem}footer .fcontact a{color:var(--amber)}
.qq .chk{justify-content:flex-start;grid-template-columns:none}.qq .chk input{width:auto;flex:0 0 auto;margin:0}
.qq-f label.chk{display:flex!important;flex-direction:row;justify-content:flex-start}.qq-f label.chk input[type=checkbox]{width:18px!important;height:18px;min-width:0;padding:0}
.fb-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:10px 0 0}.fb-row>span{color:#dbe4f0;font-size:.92rem}
.contact-box a.fb-link{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);color:#fff;font-weight:600;text-decoration:none}
.contact-box a.fb-link:hover{border-color:#1877F2;background:rgba(24,119,242,.15)}
.contact-box a.fb-link:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
.fb-ic{flex:none;color:#1877F2}
.ffb{display:inline-flex;align-items:center;gap:6px}.ffb .fb-ic{width:16px;height:16px;color:#4b9bff}

/* ---------- Coming soon ---------- */
.cs-nav{justify-content:space-between}.cs-back{color:#dbe4f0;text-decoration:none;font-weight:600;font-size:.95rem}.cs-back:hover{color:var(--amber)}
.cs-body{display:flex;flex-direction:column;min-height:100vh;min-height:100svh;background:linear-gradient(180deg,#fff 0%,var(--bg) 100%)}
.cs-main{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 20px}
.cs-box{text-align:center;max-width:620px}
.cs-logo{width:min(320px,70vw);height:auto;display:block;margin:0 auto 22px}
.cs-box h1{font-size:clamp(1.6rem,4.5vw,2.4rem);margin-bottom:.3em}
.cs-tag{display:inline-block;background:#f59e0b22;color:var(--amber2);border:1px solid #f59e0b88;padding:.3em 1em;border-radius:99px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.85rem;margin:0 0 18px}
.cs-line{color:var(--muted);font-size:1.1rem;margin:0 0 14px}
.cs-mail{margin:0 0 6px;font-weight:600}.cs-mail a{color:var(--navy)}
.cs-box .cta{justify-content:center;margin-top:16px}
.cs-foot{padding:20px 0;font-size:.85rem}.cs-foot .wrap{display:block;text-align:center}.cs-foot p{margin:4px 0}

.st{display:inline-flex;align-items:center;gap:.35em;vertical-align:middle;font-family:Inter,sans-serif;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;line-height:1.3;padding:.2em .65em;border-radius:99px;border:1px solid;margin-left:8px;white-space:nowrap;flex:none}
.st:before{content:"";width:.5em;height:.5em;border-radius:50%;background:currentColor}
.st-pend{background:#fff7e6;color:#92400e;border-color:#fcd34d}
.cs-svc{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;border:1px solid #e5e9f0;border-radius:10px;padding:9px 14px;font-weight:600;color:var(--navy);font-size:.95rem;margin:4px 0 16px}
.cs-svc .st{margin-left:0}
/* coming-soon-v2 */
.landing .cs-tag{margin:0 0 14px}
.landing h1.cs-name{margin-bottom:.35em}
.landing p.cs-lead{font-size:clamp(1.15rem,2.6vw,1.5rem);font-weight:700;color:var(--navy);max-width:24em}
.landing .cs-contact{margin:16px auto 0;font-weight:600;font-size:1.1rem;color:var(--navy)}
.landing .cs-contact a{color:var(--navy)}
.landing .cs-contact .sep{margin:0 .5em;color:var(--muted)}
#site-nav.solo>li>a{font-weight:700}

/* coming-soon-v2 home look (body.home only) */
body.home main{background:linear-gradient(180deg,#1f2328 0%,#2d333b 30%,#4b5563 65%,#6b7280 100%)}
body.home .landing,body.home .scenes{background:none}
body.home .landing h1,body.home .landing h1.cs-name{color:#fff}
body.home .landing p.cs-lead{color:#fff}
body.home .landing .cs-contact,body.home .landing .cs-contact a{color:#fff}
body.home .landing .cs-contact .sep{color:#d1d5db}
body.home .landing .cs-contact a:hover,body.home .landing .cs-contact a:focus-visible{color:#fde68a}
body.home .landing .cs-tag{background:#fef3c7;color:#78350f;border-color:#fcd34d}
body.home .scenes-h{color:#fff}
body.home .scenes-sub{color:#fff}
body.home .scene{background:none;box-shadow:none;border-radius:12px;overflow:visible}
body.home .scene picture{display:block;filter:drop-shadow(0 12px 22px rgba(0,0,0,.45))}
body.home .scene img{border-radius:12px;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 72%,rgba(0,0,0,.35) 92%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 72%,rgba(0,0,0,.35) 92%,transparent 100%)}
body.home .scene figcaption{color:#fff;padding:2px 4px 0;margin-top:-6px;position:relative;text-shadow:0 1px 3px rgba(0,0,0,.6)}
body.home .landing-logo{border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.45)}

/* coming-soon-v4: contact pills, bigger hero logo */
.landing .cs-contact{list-style:none;padding:0;margin:20px auto 0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 12px;font-size:1rem;max-width:none}
.landing .cs-contact li{margin:0}
.landing .cs-contact .cpill{display:inline-flex;align-items:center;gap:9px;padding:.6em 1.15em;border-radius:99px;text-decoration:none;font-weight:600;white-space:nowrap;line-height:1.2;border:1.5px solid var(--navy);color:var(--navy);background:#fff}
.landing .cs-contact .ci-ic{flex:none;color:var(--amber)}
.landing .cs-contact .nw{white-space:nowrap}
body.home .landing .cs-contact .cpill{color:#fff;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.35)}
body.home .landing .cs-contact .cpill:hover,body.home .landing .cs-contact .cpill:focus-visible{background:rgba(255,255,255,.16);border-color:#f59e0b;color:#fff}
@media(max-width:560px){.landing .cs-contact{flex-direction:column;align-items:center}.landing .cs-contact li{width:100%;max-width:330px}.landing .cs-contact .cpill{width:100%;justify-content:center;box-sizing:border-box}}
@media(max-width:360px){.landing .cs-contact{font-size:.92rem}}
body.home .landing-logo{width:min(310px,86vw);margin:0 auto 16px}
@media(min-width:900px){body.home .landing-logo{width:450px;margin:0 auto 22px}}
@media(max-height:720px) and (max-width:899px){body.home .landing-logo{width:min(224px,70vw);margin-bottom:10px}}

/* coming-soon-v4: contact card email rows + phone pill */
.mail-addr{white-space:nowrap;overflow-wrap:normal;word-break:keep-all;font-size:clamp(.74rem,3.3vw,.95rem);letter-spacing:-.005em}
.mail-copy{padding:0;display:inline-grid;place-items:center;font-size:0}
.mail-copy .ok-ic{display:none}.mail-copy.done .cp-ic{display:none}.mail-copy.done .ok-ic{display:block;color:#86efac}
.contact-box .tel-row{margin:4px 0 12px}
.contact-box .tel-row .cpill{display:flex;align-items:center;justify-content:center;gap:9px;padding:.65em 1.1em;border-radius:99px;text-decoration:none;font-weight:600;line-height:1.25;color:#fff;background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.35);flex-wrap:nowrap;text-align:center}
@media(max-width:420px){.contact-box .tel-row .cpill{font-size:clamp(.8rem,3.9vw,.95rem);padding:.7em .8em;gap:7px}}
.contact-box .tel-row .cpill:hover,.contact-box .tel-row .cpill:focus-visible{background:rgba(255,255,255,.16);border-color:var(--amber)}
.contact-box .tel-row .ci-ic{flex:none;color:var(--amber)}
.contact-box .nw{white-space:nowrap}
.mail-row{grid-template-columns:minmax(0,1fr);position:relative}.mail-lab{padding-right:44px;min-height:30px;display:flex;align-items:center}.mail-copy{position:absolute;top:6px;right:6px;width:34px;height:34px;border-radius:8px}.contact-box a.mail-link{padding:9px 12px 10px}
@media(max-width:480px){.contact-box a.mail-link{gap:0}.contact-box a.mail-link .mail-ic{display:none}.mail-addr{font-size:clamp(.74rem,3.5vw,.9rem)}}

/* coming-soon-v6: page white at the top (logo sits in the white), long gradient to charcoal by the truck photos.
   Stops are tied to the content with CSS vars set by a tiny inline script (fallback values below). */
body.home main{--g1:300px;--g2:640px;--g3:820px;background:linear-gradient(180deg,#ffffff 0,#ffffff var(--g1),#f7faff calc(var(--g1) + (var(--g2) - var(--g1))*0.25),#eceff4 calc(var(--g1) + (var(--g2) - var(--g1))*0.5),#d6d9de calc(var(--g1) + (var(--g2) - var(--g1))*0.75),#b8bbc0 var(--g2),#909398 calc(var(--g2) + (var(--g3) - var(--g2))*0.5),#686b70 var(--g3),#54575c calc(var(--g3) + 60px),#3e4146 calc(var(--g3) + 200px),#2c2f34 calc(var(--g3) + 480px),#22252a 100%)}
body.home .cs-logo-card{box-sizing:border-box;width:min(358px,88vw);margin:0 auto 18px;padding:0;background:none;border:0;box-shadow:none}
body.home .cs-logo-card .landing-logo{display:block;width:100%;height:auto;margin:0;border-radius:0;box-shadow:none}
@media(min-width:900px){body.home .cs-logo-card{width:480px;margin-bottom:22px}}
@media(max-height:720px) and (max-width:899px){body.home .cs-logo-card{width:min(260px,72vw);margin-bottom:10px}}
/* light/mid zone: dark navy text and dark-outline pills */
body.home .landing h1,body.home .landing h1.cs-name,body.home .landing p.cs-lead{color:#0f172a}
body.home .landing .cs-contact .cpill{color:#0f172a;background:rgba(255,255,255,.55);border:1.5px solid rgba(15,23,42,.45)}
body.home .landing .cs-contact .cpill:hover,body.home .landing .cs-contact .cpill:focus-visible{color:#0f172a;background:#fff;border-color:#0f172a}
body.home .landing .cs-contact .ci-ic{color:#b45309}
/* dark zone: room for the blend, then white heading/text over charcoal */
body.home .scenes{padding-top:150px}
@media(min-width:900px){body.home .scenes{padding-top:170px}}

/* site-fade-v8: SITE STANDARD. Home-page fade on every page (default body style; opt out with data-fade="off").
   Stops --f1..--f4 are set from the content by site.js; the fallback (no JS) is white to light grey only. */
html{background:#fff}
body:not(.home):not([data-fade=off]){--f1:300px;--f2:100%;--f3:calc(100% + 240px);--f4:calc(100% + 600px);background:linear-gradient(180deg,#ffffff 0,#ffffff var(--f1),#f5f8fd calc(var(--f1) + (var(--f2) - var(--f1))*0.25),#e7eaef calc(var(--f1) + (var(--f2) - var(--f1))*0.5),#d9dce1 calc(var(--f1) + (var(--f2) - var(--f1))*0.75),#d3d6db var(--f2),#c2c5ca calc(var(--f2) + (var(--f3) - var(--f2))*0.25),#9a9da2 calc(var(--f2) + (var(--f3) - var(--f2))*0.5),#717479 calc(var(--f2) + (var(--f3) - var(--f2))*0.75),#606368 var(--f3),#575a5f calc(var(--f3) + (var(--f4) - var(--f3))*0.25),#414449 calc(var(--f3) + (var(--f4) - var(--f3))*0.5),#2b2e33 calc(var(--f3) + (var(--f4) - var(--f3))*0.75),#22252a var(--f4),#07152a var(--f4),#07152a 100%);--muted:#374151}
body:not(.home):not([data-fade=off]) main section,body:not(.home):not([data-fade=off]) main section.alt,body:not(.home):not([data-fade=off]) .page-hero{background:none}
body:not(.home):not([data-fade=off]) .page-hero{color:var(--ink)}
body:not(.home):not([data-fade=off]) .page-hero h1{color:var(--navy)}
body:not(.home):not([data-fade=off]) .page-hero p{color:#334155}
body:not(.home):not([data-fade=off]) .page-hero .crumb{color:#475569}body:not(.home):not([data-fade=off]) .page-hero .crumb a{color:#92400e}
body:not(.home):not([data-fade=off]) main a{color:#92400e}
body:not(.home):not([data-fade=off]) main .fine{color:#374151}
body:not(.home):not([data-fade=off]) .contact-box a,body:not(.home):not([data-fade=off]) .contact-box .mail-addr{color:var(--amber)}
body:not(.home):not([data-fade=off]) .contact-box a.mail-link,body:not(.home):not([data-fade=off]) .contact-box a.fb-link,body:not(.home):not([data-fade=off]) .contact-box .tel-row .cpill{color:#fff}
body:not(.home):not([data-fade=off]) .contact-box a.btn,body:not(.home):not([data-fade=off]) main a.btn{color:var(--navy)}body:not(.home):not([data-fade=off]) main a.btn.wa{color:#fff}
body:not(.home):not([data-fade=off]) .card,body:not(.home):not([data-fade=off]) .contact-box{box-shadow:0 14px 34px rgba(15,23,42,.28)}
/* default mode (no turn marker): room after the content for the grey-to-charcoal blend */
body.fade-js:not(.fade-turn):not([data-fade=panels]):not(.home) main{padding-bottom:280px}
body.fade-js[data-fade=panels] main{padding-bottom:120px}
/* turn mode: a clear gap for the mid-grey blend, then light text on the dark zone */
body:not(.home):not([data-fade=off]).fade-turn main [data-fade-turn]{margin-top:260px}
@media(max-width:759px){body:not(.home):not([data-fade=off]).fade-turn main [data-fade-turn]{margin-top:220px}}
body.fade-turn main{padding-bottom:110px}
body:not(.home):not([data-fade=off]).fade-turn main [data-fade-turn],body:not(.home):not([data-fade=off]).fade-turn main [data-fade-turn] ~ *{color:#f1f5f9}
body:not(.home):not([data-fade=off]).fade-turn main [data-fade-turn],body:not(.home):not([data-fade=off]).fade-turn main [data-fade-turn] h2,body:not(.home):not([data-fade=off]).fade-turn main [data-fade-turn] ~ * h2,body:not(.home):not([data-fade=off]).fade-turn main [data-fade-turn] h3,body:not(.home):not([data-fade=off]).fade-turn main [data-fade-turn] ~ * h3,body:not(.home):not([data-fade=off]).fade-turn main [data-fade-turn] strong,body:not(.home):not([data-fade=off]).fade-turn main [data-fade-turn] ~ * strong{color:#fff}
body:not(.home):not([data-fade=off]).fade-turn main [data-fade-turn] a,body:not(.home):not([data-fade=off]).fade-turn main [data-fade-turn] ~ * a{color:#fde68a}
body:not(.home):not([data-fade=off]).fade-turn main [data-fade-turn] a:hover,body:not(.home):not([data-fade=off]).fade-turn main [data-fade-turn] ~ * a:hover{color:#fff}
body:not(.home):not([data-fade=off]).fade-turn main [data-fade-turn].fine,body:not(.home):not([data-fade=off]).fade-turn main [data-fade-turn] ~ .fine,body:not(.home):not([data-fade=off]).fade-turn main [data-fade-turn] .fine,body:not(.home):not([data-fade=off]).fade-turn main [data-fade-turn] ~ * .fine{color:#e2e8f0}
body:not(.home):not([data-fade=off]).fade-turn main [data-fade-turn] code,body:not(.home):not([data-fade=off]).fade-turn main [data-fade-turn] ~ * code{background:rgba(255,255,255,.14);color:#fff}
body:not(.home):not([data-fade=off]).fade-turn main [data-fade-turn] th,body:not(.home):not([data-fade=off]).fade-turn main [data-fade-turn] ~ * th,body:not(.home):not([data-fade=off]).fade-turn main [data-fade-turn] td,body:not(.home):not([data-fade=off]).fade-turn main [data-fade-turn] ~ * td{border-color:rgba(255,255,255,.28);color:#f1f5f9}
body:not(.home):not([data-fade=off]).fade-turn main [data-fade-turn] th,body:not(.home):not([data-fade=off]).fade-turn main [data-fade-turn] ~ * th{background:rgba(255,255,255,.1);color:#fff}
body:not(.home):not([data-fade=off]).fade-turn main [data-fade-turn] .toc,body:not(.home):not([data-fade=off]).fade-turn main [data-fade-turn] ~ * .toc{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.25)}
body:not(.home):not([data-fade=off]).fade-turn main [data-fade-turn] .btn.ghost2,body:not(.home):not([data-fade=off]).fade-turn main [data-fade-turn] ~ * .btn.ghost2{background:transparent;color:#fff;border-color:#fff}
body:not(.home):not([data-fade=off]).fade-turn main [data-fade-turn] .btn.ghost2:hover,body:not(.home):not([data-fade=off]).fade-turn main [data-fade-turn] ~ * .btn.ghost2:hover{background:rgba(255,255,255,.12)}
body:not(.home):not([data-fade=off]).fade-turn main [data-fade-turn] .card,body:not(.home):not([data-fade=off]).fade-turn main [data-fade-turn] ~ * .card{color:var(--ink)}body:not(.home):not([data-fade=off]).fade-turn main [data-fade-turn] .card a,body:not(.home):not([data-fade=off]).fade-turn main [data-fade-turn] ~ * .card a{color:#92400e}
/* truck-anim-v9: click/tap animations on the three home-page truck photos (see trucks.js) */
.truck{position:relative;display:block;cursor:pointer;border-radius:12px;transition:transform .2s ease;-webkit-tap-highlight-color:transparent;outline:none}
.truck:focus-visible{outline:3px solid var(--amber);outline-offset:4px}

.truck-move{position:relative;display:block;will-change:transform}
.truck .hl{position:absolute;width:12%;height:18%;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;opacity:0;mix-blend-mode:screen;
background:radial-gradient(ellipse at center,rgba(255,255,250,1) 0,rgba(255,248,225,.9) 18%,rgba(255,236,190,.45) 42%,rgba(255,230,170,0) 70%)}
.truck .hl::after{content:"";position:absolute;left:50%;top:50%;width:330%;height:26%;transform:translate(-50%,-50%);border-radius:50%;
background:radial-gradient(ellipse at center,rgba(255,252,240,.85) 0,rgba(255,245,215,.35) 35%,rgba(255,240,200,0) 70%)}
.truck .hl.b{width:9.5%;height:15%}
/* headlight centres, measured on the 1280x720 source photos (percent of image width/height) */
.truck[data-truck=sun] .hl.a{left:38.8%;top:71.8%}.truck[data-truck=sun] .hl.b{left:20.5%;top:70.4%}
.truck[data-truck=rain] .hl.a{left:39.1%;top:71.1%}.truck[data-truck=rain] .hl.b{left:20.2%;top:70.1%}
.truck[data-truck=snow] .hl.a{left:47.3%;top:72.2%}.truck[data-truck=snow] .hl.b{left:30.6%;top:71.5%}
.tap-hint{position:absolute;top:8px;right:8px;z-index:2;padding:3px 10px;border-radius:99px;font-size:.72rem;font-weight:600;letter-spacing:.02em;line-height:1.5;
color:#fff;background:rgba(11,31,58,.8);border:1px solid rgba(255,255,255,.35);opacity:.85;transition:opacity .2s;pointer-events:none}
.truck.play .tap-hint{opacity:0}
/* 1) sun: flash-flash with the horn, then a quick flash-flash */
@keyframes hl-sun{0%{opacity:0}1.5%,13%{opacity:1}15.5%,18.5%{opacity:0}20%,33%{opacity:1}36%,53%{opacity:0}55%,61%{opacity:.95}63%,67%{opacity:0}69%,75%{opacity:.95}78%,100%{opacity:0}}
.truck[data-truck=sun].play .hl{animation:hl-sun 2.4s linear 1 both}
/* 2) rain: flashes in time with the rev */
@keyframes hl-rain{0%{opacity:0}2%,10%{opacity:1}12%,17%{opacity:0}19%,27%{opacity:1}29%,38%{opacity:0}41%,50%{opacity:1}54%,100%{opacity:0}}
.truck[data-truck=rain].play .hl{animation:hl-rain 2.6s linear 1 both}
/* 3) snow: subtle flash, the trucker's wave and a slight pull-off with a shake */
@keyframes hl-snow{0%,4%{opacity:0}9%,17%{opacity:.6}24%,100%{opacity:0}}
.truck[data-truck=snow].play .hl{animation:hl-snow 2.9s ease-out 1 both}
@keyframes pull{0%,16%{transform:translate(0,0)}20%{transform:translate(-.6px,.4px)}24%{transform:translate(-1.2px,-.3px)}28%{transform:translate(-2px,.4px)}
32%{transform:translate(-2.6px,-.3px)}38%{transform:translate(-3.6px,.3px)}46%{transform:translate(-4.8px,-.2px) scale(1.004)}56%{transform:translate(-6px,.2px) scale(1.008)}
68%{transform:translate(-7px,0) scale(1.012)}84%{transform:translate(-7.4px,0) scale(1.012)}100%{transform:translate(0,0)}}
.truck[data-truck=snow].play .truck-move{animation:pull 2.9s ease-in-out 1 both}
.truck .ws{position:absolute;left:32%;top:34%;width:17.6%;height:12.8%;overflow:hidden;pointer-events:none}
.truck .hand-wrap{position:absolute;left:15%;bottom:-3%;height:90%;aspect-ratio:60/100;opacity:0;transform:translateY(80%);transform-origin:50% 100%}
.truck .hand{display:block;width:100%;height:100%;overflow:visible;filter:brightness(.8) saturate(.75) drop-shadow(0 1px 1px rgba(0,0,0,.35))}
/* the hand is behind the windscreen: a faint glass tint and sheen sit over it */
.truck .ws::after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(210,222,235,.16) 0,rgba(210,222,235,0) 45%,rgba(15,25,40,.22) 100%)}
.truck .hand .fg{transform-box:fill-box;transform-origin:50% 100%;transform:scaleY(.45)}
.truck .hand .th{transform-origin:100% 100%;transform:rotate(30deg) scale(.8)}
@keyframes hand-up{0%{opacity:0;transform:translateY(80%)}8%{opacity:.95}18%{transform:translateY(0)}36%{transform:rotate(-6deg)}46%{transform:rotate(4deg)}
56%{transform:rotate(-3deg)}64%,76%{opacity:.95;transform:rotate(0)}92%{opacity:.95;transform:translateY(80%)}100%{opacity:0;transform:translateY(80%)}}
@keyframes fan{0%,16%{transform:scaleY(.45) rotate(0)}30%,72%{transform:rotate(var(--a)) scaleY(1)}86%,100%{transform:scaleY(.45) rotate(0)}}
.truck[data-truck=snow].play .hand-wrap{animation:hand-up 2.9s ease-in-out 1 both}
.truck[data-truck=snow].play .hand .fg{animation:fan 2.9s cubic-bezier(.3,.7,.3,1) 1 both}
/* reduced motion: one short, gentle headlight flash only (sound still plays) */
@keyframes hl-min{0%{opacity:0}15%,55%{opacity:.7}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){
.truck,.truck:hover{transform:none!important;transition:none!important}
.truck.play .truck-move,.truck.play .hand-wrap,.truck.play .hand .fg{animation:none!important}
.truck .hand-wrap{display:none}
.truck.play .hl,.truck[data-truck].play .hl{animation:hl-min .7s ease-out 1 both!important}}
