/* ===== Malabanan P&M — "truck livery" stylesheet (mobile-first) =====
   Yellow siphoning-truck paint, aubergine lettering, jeepney signboards. */
/* Self-hosted variable fonts (SIL Open Font License) — no Google Fonts request, faster first paint */
@font-face{font-family:"Bricolage Grotesque";src:url(../fonts/bricolage-grotesque.woff2) format("woff2");font-weight:200 800;font-stretch:75% 100%;font-display:swap}
@font-face{font-family:"Figtree";src:url(../fonts/figtree.woff2) format("woff2");font-weight:300 900;font-display:swap}
:root{
  --sun:#ffc414; --sun-d:#e0a800; --sun-soft:#fff3c4;
  --plum:#251031; --plum-2:#170820; --plum-3:#3d1d4c; --plum-4:#5a3270;
  --teal:#00a88f; --teal-d:#00826f; --coral:#ff5a4e;
  --ink:#221a29; --muted:#675d70; --line:#e4dcea; --bg:#fff; --alt:#f5f0f8;
  --r:10px; --r-lg:18px;
  --head:"Bricolage Grotesque",system-ui,sans-serif; --body:"Figtree",system-ui,sans-serif;
  --dots:radial-gradient(rgba(37,16,49,.09) 1.4px,transparent 1.6px) 0 0/14px 14px;
  --stripe:repeating-linear-gradient(-45deg,var(--sun) 0 12px,var(--plum) 12px 24px);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:hidden;overflow-x:clip}
body{margin:0;font:17px/1.6 var(--body);color:var(--ink);background:var(--bg);padding-bottom:72px}
body.modal-open{overflow:hidden}
img,svg{max-width:100%;display:block}
a{color:var(--plum-3);text-underline-offset:3px}
h1,h2,h3,.h3{font-family:var(--head);line-height:1.05;margin:0 0 .5em;color:var(--plum);letter-spacing:-.02em;font-weight:800}
h2{font-size:clamp(1.8rem,5vw,3rem);font-variation-settings:"wdth" 82}
h3,.h3{font-size:1.2rem;font-weight:700;letter-spacing:-.01em}
p{margin:0 0 1em}
.wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 16px}
.narrow{max-width:760px}
.center{text-align:center}
.muted{color:var(--muted);font-size:.92rem}
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:8px 12px;z-index:999}
.skip:focus{left:8px}
.ic{width:1.15em;height:1.15em;flex:none}
:focus-visible{outline:3px solid var(--teal);outline-offset:2px}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;font:800 1.02rem/1.1 var(--head);
  padding:.95em 1.35em;border-radius:999px;border:2.5px solid var(--plum);text-decoration:none;cursor:pointer;
  transition:transform .12s,box-shadow .12s,background .15s;white-space:nowrap}
.btn:hover{transform:translate(-2px,-2px)}
.btn:active{transform:translate(2px,2px);box-shadow:0 0 0 var(--plum)!important}
.btn-call{background:var(--sun);color:var(--plum);box-shadow:4px 4px 0 var(--plum)}
.btn-call:hover{box-shadow:6px 6px 0 var(--plum)}
.btn-call .ic{animation:ring 2.6s infinite}
.btn-quote{background:var(--teal);color:#fff;box-shadow:4px 4px 0 var(--plum)}
.btn-quote:hover{box-shadow:6px 6px 0 var(--plum)}
.btn-light{background:#fff;color:var(--plum);box-shadow:4px 4px 0 var(--plum)}
.btn-ghost-light{background:transparent;color:var(--plum);border-color:var(--plum);padding:.6em 1.1em;font-size:.98rem}
.btn-ghost-light:hover{background:var(--plum);color:var(--sun)}
.btn-lg{font-size:1.06rem;padding:1em 1.5em}
.btn-xl{font-size:1.15rem;padding:1.05em 1.7em}
.btn-block{width:100%}
.linkish{background:none;border:0;padding:0;font:inherit;color:var(--teal-d);font-weight:700;text-decoration:underline;cursor:pointer}
.linkish-call{display:inline-flex;align-items:center;gap:6px;font-weight:800;color:var(--plum);text-decoration-color:var(--sun);text-decoration-thickness:3px}
@keyframes ring{0%,8%,100%{transform:rotate(0)}2%,6%{transform:rotate(-14deg)}4%{transform:rotate(14deg)}}

/* ---------- Top bar & header (dark, sits on the yellow hero) ---------- */
.topbar{background:var(--plum-2);color:#cdbcd8;font-size:.85rem}
.topbar-in{display:flex;justify-content:space-between;align-items:center;gap:8px;padding-top:6px;padding-bottom:6px;flex-wrap:wrap}
.topbar a{color:#fff;text-decoration:none;margin-left:16px}
.topbar strong{color:var(--sun)}
.tb-open{display:none;align-items:center;gap:7px}
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#2fe0bf;box-shadow:0 0 0 0 rgba(47,224,191,.7);animation:pulse 1.8s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 9px rgba(47,224,191,0)}100%{box-shadow:0 0 0 0 rgba(47,224,191,0)}}
.tb-phones{display:flex;justify-content:center;width:100%}
.tb-phones a:first-child{margin-left:0}

.site-header{position:sticky;top:0;z-index:50;background:var(--plum)}
.header-in{display:flex;align-items:center;gap:10px;min-height:66px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff;margin-right:auto}
.logo img{width:42px;height:42px}
.logo strong{display:block;font:800 1.2rem/1 var(--head);letter-spacing:-.02em}
.logo strong em{font-style:normal;background:var(--sun);color:var(--plum);padding:0 .25em;border-radius:5px;margin-left:.1em;display:inline-block;transform:rotate(-3deg)}
.logo small{display:block;font-size:.76rem;color:#c9b6d6;margin-top:4px}
.header-call{display:none}
.nav-toggle{width:46px;height:46px;border:2px solid var(--sun);background:transparent;border-radius:12px;display:grid;place-items:center;color:var(--sun);cursor:pointer}
.nav-toggle .ic{width:24px;height:24px}
.nav{position:absolute;top:100%;left:0;right:0;height:calc(100vh - 66px);height:calc(100dvh - 66px);background:var(--plum);flex-direction:column;padding:12px 16px 110px;display:none;overflow:auto}
.nav.open{display:flex;animation:navIn .2s ease-out}
@keyframes navIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.nav a{padding:16px 4px;border-bottom:1px solid rgba(255,255,255,.12);color:#fff;text-decoration:none;font:700 1.35rem var(--head);font-variation-settings:"wdth" 85}
.nav a[aria-current]{color:var(--sun)}
.nav .nav-quote{margin-top:18px;color:#fff;padding:1em;border-color:var(--sun);box-shadow:4px 4px 0 var(--sun)}
body.menu-open{overflow:hidden}

/* ---------- Hero ---------- */
.hero{background:var(--dots),var(--sun);color:var(--plum);padding-top:28px;position:relative;overflow:hidden}
.hero-in{position:relative;z-index:2}
.hero-status{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:.92rem;color:#fff;background:var(--plum);padding:7px 14px;border-radius:999px;margin-bottom:14px}
.hero h1{margin:0 0 22px}
.wordmark{display:block;font-size:clamp(3.6rem,17vw,11.5rem);line-height:.86;letter-spacing:-.012em;font-variation-settings:"wdth" 75;font-weight:800;color:var(--plum)}
.wm-pm{display:inline-block;background:var(--plum);color:var(--sun);padding:.02em .14em .06em;border-radius:.12em;transform:rotate(-4deg) translateY(-.04em);margin-left:.04em}
.h1-sub{display:block;font-size:clamp(1.15rem,3.2vw,1.65rem);line-height:1.2;font-weight:700;letter-spacing:-.01em;margin-top:16px;max-width:30ch;font-variation-settings:"wdth" 92}
.hero-row{display:grid;gap:18px}
.plates{display:grid;gap:10px}
.plate{display:block;text-decoration:none;border-radius:var(--r-lg);padding:12px 18px 10px;border:2.5px solid var(--plum);background:#fff;color:var(--plum);box-shadow:5px 5px 0 var(--plum);transition:transform .12s,box-shadow .12s}
.plate:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--plum)}
.plate:active{transform:translate(3px,3px);box-shadow:0 0 0 var(--plum)}
.plate small{display:flex;align-items:center;gap:6px;font-weight:700;font-size:.85rem}
.plate strong{display:block;white-space:nowrap;font:800 clamp(1.9rem,8.4vw,2.6rem)/1.05 var(--head);font-variation-settings:"wdth" 85;font-variant-numeric:tabular-nums;margin-top:2px}
.plate-main{background:var(--plum);color:var(--sun);box-shadow:5px 5px 0 #fff}
.plate-main:hover{box-shadow:7px 7px 0 #fff}
.plate-main small{color:#fff}
.plate-main .ic{animation:ring 2.6s infinite}
.hero-quote .btn{width:100%}
.hero-ticks{list-style:none;padding:0;margin:14px 0 0;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.93rem;font-weight:600}
.hero-ticks li{display:flex;align-items:center;gap:5px}
.hero-ticks .ic{color:var(--teal-d)}

/* Road + truck + ticker */
.road{position:relative;margin-top:150px;background:var(--plum);height:62px;z-index:1}
.road::before{content:"";position:absolute;left:0;right:0;top:-6px;height:6px;background:var(--stripe)}
.truck{position:absolute;bottom:40px;right:4%;width:250px;z-index:3;animation:drive 1.9s cubic-bezier(.15,.75,.25,1) .25s both}
.truck .wh{animation:spin 1.9s cubic-bezier(.15,.75,.25,1) .25s both}
@keyframes drive{0%{transform:translateX(-110vw)}82%{transform:translateX(6px)}90%{transform:translateX(0) rotate(-1deg)}100%{transform:none}}
@keyframes spin{from{transform:rotate(-1440deg)}to{transform:rotate(0)}}
.ticker{position:absolute;inset:0;overflow:hidden;display:flex;align-items:center}
.ticker-track{display:flex;width:max-content;animation:tick 60s linear infinite}
.ticker span{color:#e9dcf2;font:700 1rem var(--head);white-space:nowrap;padding:0 18px;display:flex;align-items:center;gap:36px}
.ticker span::after{content:"";width:8px;height:8px;border-radius:2px;background:var(--sun);transform:rotate(45deg);margin-right:-26px}
@keyframes tick{to{transform:translateX(-50%)}}

/* ---------- Sections ---------- */
.section{padding:60px 0}
.section-alt{background:var(--alt)}
.section-dark{background:var(--plum);color:#e9dcf2}
.section-dark h2{color:var(--sun)}
.section-dark a{color:#fff}
.sec-head{max-width:700px;margin:0 0 30px}
.sec-head p:last-child{color:var(--muted);font-size:1.06rem}

/* Problem list */
.prob-list{list-style:none;padding:0;margin:0;border-top:3px solid var(--plum)}
.prob{position:relative;border-bottom:1.5px solid var(--line)}
.prob-link{display:grid;grid-template-columns:48px 1fr 40px;gap:14px;align-items:center;padding:18px 6px;text-decoration:none;color:var(--ink);
  background:linear-gradient(var(--sun),var(--sun)) no-repeat 0 0/0 100%;transition:background-size .3s ease}
.prob-link:hover,.prob-link:focus-visible{background-size:100% 100%}
.prob-ic{width:48px;height:48px;border-radius:50%;border:2.5px solid var(--plum);display:grid;place-items:center;color:var(--plum);background:#fff}
.prob-ic .ic{width:24px;height:24px}
.prob-txt b{display:block;font:800 clamp(1.3rem,4.4vw,2rem)/1.08 var(--head);font-variation-settings:"wdth" 85;color:var(--plum);letter-spacing:-.015em}
.prob-txt span{display:block;color:var(--muted);font-size:.93rem;margin-top:4px;line-height:1.45}
.prob-go{width:40px;height:40px;border-radius:50%;background:var(--plum);color:var(--sun);display:grid;place-items:center;transition:transform .2s}
.prob-link:hover .prob-go{transform:rotate(-45deg)}
.prob-quote{display:none}

/* Tank check */
.tankcheck{background:var(--alt)}
.tc-in{display:grid;gap:34px;align-items:center}
.tc-form{display:grid;gap:18px;margin:22px 0}
.tc-fld{border:0;padding:0;margin:0;display:grid;gap:10px;font-weight:700;color:var(--plum)}
.tc-fld legend{padding:0;margin-bottom:10px}
.tc-fld output{display:inline-grid;place-items:center;min-width:2.2em;padding:0 .3em;background:var(--plum);color:var(--sun);border-radius:6px;font:800 1.05rem/1.6 var(--head)}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:14px;border-radius:999px;background:linear-gradient(90deg,var(--teal),var(--sun) 55%,var(--coral));border:2px solid var(--plum);cursor:pointer}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:32px;height:32px;border-radius:50%;background:#fff;border:4px solid var(--plum);box-shadow:3px 3px 0 var(--plum)}
input[type=range]::-moz-range-thumb{width:26px;height:26px;border-radius:50%;background:#fff;border:4px solid var(--plum)}
.seg{display:flex;border:2.5px solid var(--plum);border-radius:999px;overflow:hidden;background:#fff;width:max-content;max-width:100%}
.seg label{position:relative}
.seg input{position:absolute;opacity:0}
.seg span{display:block;padding:10px 18px;font-weight:700;cursor:pointer;color:var(--plum)}
.seg input:checked+span{background:var(--plum);color:var(--sun)}
.seg input:focus-visible+span{outline:3px solid var(--teal);outline-offset:-3px}
.tc-verdict{background:#fff;border:2.5px solid var(--plum);border-radius:var(--r-lg);padding:16px 18px;margin-bottom:18px;box-shadow:5px 5px 0 var(--plum)}
.tc-verdict strong{font:800 1.4rem var(--head);color:var(--plum)}
.tc-verdict p{margin:4px 0 0;color:var(--muted)}
.tc-note{font-size:.85rem;color:var(--muted);margin-top:16px}
.tc-visual{display:grid;place-items:center}
.tank{position:relative;width:min(300px,78vw);aspect-ratio:3/4;border:6px solid var(--plum);border-radius:40px 40px 34px 34px;background:#fff;overflow:hidden;box-shadow:10px 10px 0 var(--plum)}
.tank::before{content:"";position:absolute;left:50%;top:-6px;transform:translateX(-50%);width:34%;height:20px;background:var(--plum);border-radius:0 0 10px 10px;z-index:2}
.tank-fill{position:absolute;left:0;right:0;bottom:0;height:var(--fill,50%);background:var(--sun);transition:height .6s cubic-bezier(.3,.8,.3,1),background .4s}
.tank-fill::before{content:"";position:absolute;left:-10%;right:-10%;top:-12px;height:24px;background:radial-gradient(circle at 12px 12px,transparent 12px,currentColor 13px) 0 0/34px 24px repeat-x;color:inherit;opacity:0}
.tank-fill[data-level=ok]{background:var(--teal)}
.tank-fill[data-level=soon]{background:var(--sun)}
.tank-fill[data-level=full]{background:var(--coral)}
.bubble{position:absolute;bottom:-12px;width:12px;height:12px;border-radius:50%;border:2px solid rgba(255,255,255,.75);animation:rise 4s infinite ease-in}
.b1{left:22%}.b2{left:55%;animation-delay:1.3s;width:9px;height:9px}.b3{left:76%;animation-delay:2.4s}
@keyframes rise{to{transform:translateY(-260px);opacity:0}}
.tank-marks{position:absolute;right:10px;top:0;bottom:0;display:flex;flex-direction:column;justify-content:space-around;font:700 .78rem var(--head);color:var(--plum);opacity:.6;z-index:1}
.tank-pct{position:absolute;left:0;right:0;top:34%;text-align:center;font:800 4.6rem/1 var(--head);font-variation-settings:"wdth" 75;color:var(--plum);z-index:1;mix-blend-mode:multiply}

/* About */
.about-in{display:grid;gap:10px}
.about-in h2{font-size:clamp(2.4rem,8vw,5rem);font-variation-settings:"wdth" 75;line-height:.92}
.about-malabanan .ticks .ic{color:var(--sun)}
.ticks{list-style:none;padding:0;margin:0 0 1em;display:grid;gap:12px}
.ticks li{display:flex;gap:10px;align-items:flex-start}
.ticks .ic{color:var(--teal);margin-top:4px}

/* Route / stops (a real sequence) */
.stops{list-style:none;padding:0;margin:0;display:grid;gap:26px;position:relative}
.stops::before{content:"";position:absolute;left:23px;top:10px;bottom:10px;border-left:4px dashed var(--plum)}
.stops li{position:relative;padding-left:72px}
.stop-n{position:absolute;left:0;top:-4px;width:50px;height:50px;border-radius:50%;background:var(--sun);border:3px solid var(--plum);display:grid;place-items:center;font:800 1.3rem var(--head);color:var(--plum);box-shadow:3px 3px 0 var(--plum)}
.stops h3{margin-bottom:.25em}
.stops p{color:var(--muted);margin:0}

/* Why */
.why-list{list-style:none;padding:0;margin:0;display:grid;gap:22px}
.why-list li{border-top:3px solid var(--plum);padding-top:12px}
.why-list b{display:block;font:800 1.45rem/1.1 var(--head);font-variation-settings:"wdth" 85;color:var(--plum);margin-bottom:4px}
.why-list span{color:var(--muted)}

/* Jeepney signboards */
.area-group{font-size:1.1rem;margin:26px 0 12px;color:var(--plum)}
.signboards{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:12px}
.signboards a{display:block;background:#fff;border:2.5px solid var(--plum);border-radius:8px;padding:6px 14px 7px;font:800 1.08rem var(--head);font-variation-settings:"wdth" 85;color:var(--plum);text-decoration:none;
  box-shadow:3px 3px 0 var(--plum);position:relative;transition:transform .15s,background .15s}
.signboards a::before{content:"";position:absolute;left:6px;right:6px;top:3px;height:3px;background:var(--stripe);border-radius:2px;opacity:.9}
.signboards li:nth-child(3n+1) a{transform:rotate(-1.4deg)}
.signboards li:nth-child(3n+2) a{transform:rotate(1deg)}
.signboards a:hover{transform:rotate(0) translateY(-3px);background:var(--sun)}
.signboards a{padding-top:10px}

/* FAQ */
.faq details{background:#fff;border:2px solid var(--line);border-radius:var(--r-lg);margin-bottom:10px;overflow:hidden;transition:border-color .2s}
.faq details[open]{border-color:var(--plum);box-shadow:4px 4px 0 var(--plum)}
.faq summary{cursor:pointer;padding:18px 56px 18px 18px;font:700 1.06rem var(--head);color:var(--plum);list-style:none;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:14px;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:50%;background:var(--sun);border:2px solid var(--plum);color:var(--plum);display:grid;place-items:center;font:800 1.1rem/1 var(--head);transition:transform .2s}
.faq details[open] summary::after{content:"–";transform:translateY(-50%) rotate(180deg)}
.faq details p{padding:0 18px 18px;margin:0;color:var(--muted)}

/* ---------- Big call band ---------- */
.bigcall{background:var(--dots),var(--sun);color:var(--plum);padding:56px 0 50px;border-top:6px solid var(--plum)}
.bigcall-q{font:700 1.2rem var(--head);margin:0 0 4px}
.bigcall h2{font-size:clamp(2.2rem,7vw,4.4rem);font-variation-settings:"wdth" 78;margin-bottom:22px}
.bigcall-nums{display:grid;gap:8px}
.bigcall-nums a{display:flex;align-items:baseline;gap:12px;color:var(--plum);text-decoration:none;font:800 clamp(2.4rem,11vw,5.6rem)/1 var(--head);font-variation-settings:"wdth" 75;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.bigcall-nums a small{font-size:.32em;font-variation-settings:"wdth" 100;background:var(--plum);color:var(--sun);padding:.15em .45em;border-radius:6px;transform:translateY(-.4em)}
.bigcall-nums a:hover{text-decoration:underline;text-decoration-thickness:6px;text-underline-offset:8px}
.bigcall-or{margin:24px 0 0;font-weight:700;display:flex;align-items:center;gap:10px;flex-wrap:wrap}

/* ---------- Footer ---------- */
.site-footer{background:var(--plum-2);color:#c3b1cf;padding:48px 0 0;font-size:.94rem}
.footer-grid{display:grid;gap:30px}
.site-footer h3{color:var(--sun);font-size:1.05rem;margin-bottom:12px}
.site-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.site-footer a{color:#ecdff3;text-decoration:none}
.site-footer a:hover{color:var(--sun)}
.logo-light small{color:#bba8c7}
.f-about{margin-top:14px}
.f-cols{grid-template-columns:1fr 1fr}
.f-contact li,.f-contact a{display:flex;align-items:center;gap:8px}
.f-social{display:inline-flex;gap:6px;align-items:center;margin-right:14px}
.f-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;border-top:1px solid rgba(255,255,255,.12);margin-top:34px;padding-top:16px;padding-bottom:16px;font-size:.85rem}
.f-bottom p{margin:0}

/* ---------- Mobile bar & floating call ---------- */
.mbar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:1.2fr 1fr 1fr;background:var(--plum-2);padding:7px 7px calc(7px + env(safe-area-inset-bottom));gap:7px}
.mbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:8px 4px;border-radius:12px;text-decoration:none;font:800 .82rem var(--head);color:#fff}
.mbar .ic{width:22px;height:22px}
.mbar-call{background:var(--sun);color:var(--plum)!important}
.mbar-call2{background:var(--plum-4)}
.mbar-quote{background:var(--teal)}
.fab-call{display:none}

/* ---------- QUOTE MODAL ---------- */
.qm{border:0;padding:0;margin:auto;background:transparent;width:100%;max-width:100%;max-height:100%;height:100%;color:var(--ink)}
.qm::backdrop{background:rgba(23,8,32,.72);backdrop-filter:blur(4px)}
.qm[open]{display:flex;align-items:flex-end}
html:not(.js-modal) .qm:target{display:flex;position:fixed;inset:0;z-index:100;background:rgba(23,8,32,.72)}
.qm-in{width:100%;max-height:100%;overflow:auto;background:#fff;border-radius:22px 22px 0 0;display:grid;animation:sheetUp .35s cubic-bezier(.2,.8,.2,1)}
@keyframes sheetUp{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}
.qm-side{display:none}
.quote-form{position:relative;padding:22px 18px calc(22px + env(safe-area-inset-bottom))}
.qm-close{position:absolute;right:14px;top:14px;width:42px;height:42px;border-radius:50%;border:2px solid var(--plum);display:grid;place-items:center;color:var(--plum);background:#fff;z-index:2}
.qm-close:hover{background:var(--sun)}
.qm-close .ic{width:20px;height:20px}
.qm-steps{list-style:none;padding:0;margin:0 52px 18px 0;display:flex;gap:8px;font:700 .9rem var(--head);color:var(--muted)}
.qm-steps li{display:flex;align-items:center;gap:7px;padding:6px 12px 6px 6px;border-radius:999px;background:var(--alt)}
.qm-steps span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#fff;border:2px solid var(--line);font-size:.8rem}
.qm-steps li.is-on{background:var(--plum);color:#fff}
.qm-steps li.is-on span{background:var(--sun);border-color:var(--sun);color:var(--plum)}
.qm-step{border:0;padding:0;margin:0;min-width:0}
.qm-step legend{font:800 clamp(1.6rem,6vw,2.2rem)/1.05 var(--head);font-variation-settings:"wdth" 82;color:var(--plum);padding:0;margin-bottom:14px;letter-spacing:-.02em}
form[data-at="1"] [data-step="2"],form[data-at="2"] [data-step="1"]{display:none}
form:not([data-at]) [data-next]{display:none}
form[data-at] [data-step]{animation:stepIn .25s ease-out}
@keyframes stepIn{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}
.tile{position:relative;cursor:pointer}
.tile:last-child{grid-column:1/-1}
.tile input{position:absolute;opacity:0;inset:0}
.tile span{display:flex;flex-direction:column;align-items:flex-start;gap:8px;height:100%;padding:12px;border:2px solid var(--line);border-radius:14px;background:#fff;transition:transform .12s,border-color .12s,background .12s}
.tile .ic{width:34px;height:34px;padding:7px;border-radius:50%;background:var(--sun-soft);color:var(--plum)}
.tile b{font:700 .95rem/1.2 var(--head);color:var(--plum)}
.tile:hover span{border-color:var(--plum)}
.tile input:checked+span{background:var(--plum);border-color:var(--plum);transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--sun)}
.tile input:checked+span b{color:#fff}
.tile input:checked+span .ic{background:var(--sun)}
.tile input:focus-visible+span{outline:3px solid var(--teal);outline-offset:2px}
.qm-picked{background:var(--sun-soft);border-radius:12px;padding:10px 14px;margin-bottom:14px;font-size:.95rem;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.qm-picked strong{color:var(--plum)}
.qf-grid{display:grid;gap:12px;margin-bottom:18px}
.fld{display:flex;flex-direction:column;gap:5px;font-size:.88rem;font-weight:700;color:var(--plum)}
.fld em{font-style:normal;font-weight:500;color:var(--muted)}
.fld input,.fld select,.fld textarea{font:16px var(--body);padding:13px 14px;border:2px solid var(--line);border-radius:12px;background:#fcfbfd;color:var(--ink);width:100%}
.fld input:focus,.fld textarea:focus{outline:0;border-color:var(--plum);box-shadow:0 0 0 4px rgba(255,196,20,.5);background:#fff}
.fld.err input{border-color:#c62f4b}
.err .tile span{border-color:#e7a3b0}
.fld-msg{display:block;color:#c62f4b;font-weight:600;font-size:.86rem;margin-top:-8px;margin-bottom:12px}
.fld .fld-msg{margin:0}
.qf-alert{background:#fde9ee;color:#9e1f3a;border-radius:12px;padding:10px 12px;margin-bottom:12px;font-size:.92rem}
.qf-note{text-align:center;font-size:.82rem;color:var(--muted);margin:14px 0 0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ---------- Inner pages ---------- */
.page-hero{background:var(--dots),var(--sun);color:var(--plum);padding:26px 0 40px;border-bottom:6px solid var(--plum)}
.page-hero h1{color:var(--plum);font-size:clamp(2.1rem,7vw,4rem);font-variation-settings:"wdth" 78;line-height:.98;max-width:20ch;letter-spacing:-.03em}
.page-hero .lead{font-weight:500}
.lead{font-size:1.12rem;max-width:62ch}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:0 0 14px;font-size:.86rem;font-weight:600}
.crumbs li+li::before{content:"/";margin-right:6px;opacity:.5}
.crumbs a{color:var(--plum);text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.hero-btns{display:flex;flex-direction:column;gap:12px;margin:22px 0 6px}
.hero-btns .btn{width:100%}
.split{display:grid;gap:34px;align-items:start}
.prose{max-width:72ch}
.prose h2{margin-top:1.3em;font-size:clamp(1.6rem,4.4vw,2.3rem)}
.prose > h2:first-child,.prose > .price-from + h2{margin-top:0}
.prose h3{margin-top:1.6em}
.bullets{padding-left:1.2em}.bullets li{margin-bottom:6px}
.inline-cta{display:flex;flex-direction:column;gap:12px;background:var(--sun);border:2.5px solid var(--plum);border-radius:var(--r-lg);padding:18px;margin:28px 0;box-shadow:5px 5px 0 var(--plum)}
.inline-cta p{margin:0}
.inline-cta .btn-call{background:#fff}
.chips{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.chips a{display:inline-block;padding:7px 14px;border-radius:999px;background:#fff;border:2px solid var(--line);color:var(--plum);text-decoration:none;font-size:.9rem;font-weight:700}
.chips a:hover{border-color:var(--plum);background:var(--sun)}
.mini-cards{display:grid;gap:8px}
.mini-card{display:flex;align-items:center;gap:10px;padding:12px 14px;border:2px solid var(--line);border-radius:14px;text-decoration:none;color:var(--ink);font-weight:700;font-size:.95rem}
.mini-card .ic{color:var(--plum);width:22px;height:22px}
.mini-card:hover{border-color:var(--plum);background:var(--sun-soft)}
.area-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.area-list a{display:flex;align-items:center;gap:6px;background:#fff;border:2px solid var(--line);border-radius:12px;padding:9px 12px;color:var(--ink);text-decoration:none;font-weight:700;font-size:.93rem}
.area-list a:hover{border-color:var(--plum);background:var(--sun-soft)}
.area-list .ic{color:var(--plum)}
.area-list-sm a{padding:6px 10px;font-size:.87rem}
.aka{font-size:.88rem;color:var(--muted);background:var(--alt);border-radius:12px;padding:10px 12px;margin-top:20px}

/* service cards on /services/ */
.cards{display:grid;gap:16px}
.card{display:flex;flex-direction:column;background:#fff;border:2.5px solid var(--plum);border-radius:var(--r-lg);padding:20px;text-decoration:none;color:var(--ink);box-shadow:5px 5px 0 var(--plum);transition:transform .12s,box-shadow .12s}
.card:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--sun)}
.card-ic{width:52px;height:52px;border-radius:50%;background:var(--sun);border:2.5px solid var(--plum);color:var(--plum);display:grid;place-items:center;margin-bottom:12px}
.card-ic .ic{width:26px;height:26px}
.card p{color:var(--muted);font-size:.96rem;flex:1}
.card-more{color:var(--teal-d);font-weight:800;font-size:.92rem}

/* side quote card */
.qcard{background:var(--plum);color:#e9dcf2;border-radius:22px;padding:22px;position:relative;overflow:hidden}
.qcard::before{content:"";position:absolute;left:0;right:0;top:0;height:8px;background:var(--stripe)}
.qcard-truck{width:100%;background:var(--dots),var(--sun);border-radius:14px;padding:12px 16px 6px;margin:8px 0 16px}
.qcard-title{color:var(--sun);font-size:1.7rem;font-variation-settings:"wdth" 80}
.qcard .btn-quote{box-shadow:4px 4px 0 var(--sun);border-color:var(--sun)}
.qcard-lines{display:grid;gap:8px;margin-top:16px}
.qcard-lines a{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:14px;background:rgba(255,255,255,.07);color:#fff;text-decoration:none;border:1.5px solid rgba(255,255,255,.14)}
.qcard-lines a:hover{border-color:var(--sun)}
.qcard-lines .ic{color:var(--sun);width:22px;height:22px}
.qcard-lines small{display:block;font-size:.75rem;color:#c3b1cf;font-weight:700}
.qcard-lines span{font:800 1.3rem/1.1 var(--head);font-variant-numeric:tabular-nums}
.quote-strip{background:var(--plum);padding:44px 0}
.quote-strip h2{color:var(--sun);font-size:clamp(1.6rem,4.4vw,2.4rem)}
.quote-strip p{color:#e9dcf2;margin:0 0 18px}
.quote-strip .btn{border-color:var(--sun);box-shadow:4px 4px 0 var(--sun)}

/* contact */
.contact-lines{display:grid;gap:12px;margin-bottom:24px}
.contact-line{display:flex;align-items:center;gap:14px;padding:16px;border-radius:var(--r-lg);background:var(--sun);color:var(--plum);text-decoration:none;border:2.5px solid var(--plum);box-shadow:5px 5px 0 var(--plum)}
.contact-line + .contact-line{background:#fff}
.contact-line small{display:block;font-weight:700;font-size:.82rem}
.contact-line strong{font:800 1.7rem var(--head);font-variation-settings:"wdth" 85;font-variant-numeric:tabular-nums}
.cl-ic{width:48px;height:48px;border-radius:50%;background:var(--plum);color:var(--sun);display:grid;place-items:center}
.cl-ic .ic{width:24px;height:24px}
.cl-go{margin-left:auto;font-size:.82rem;font-weight:800}

/* thank you / 404 */
.thanks-ic{width:88px;height:88px;margin:0 auto 18px;border-radius:50%;background:var(--teal);border:3px solid var(--plum);box-shadow:5px 5px 0 var(--plum);color:#fff;display:grid;place-items:center}
.thanks-ic .ic{width:46px;height:46px}
.center-btns{max-width:420px;margin-left:auto;margin-right:auto}
.thanks h1,.section > .wrap.center h1{font-size:clamp(2rem,6vw,3.4rem);font-variation-settings:"wdth" 80}
.btn-light{border-color:var(--plum)}

/* Price page */
.factors{width:100%;border-collapse:separate;border-spacing:0;margin:0 0 1.5em;font-size:.96rem;border:2.5px solid var(--plum);border-radius:var(--r-lg);overflow:hidden}
.factors th,.factors td{text-align:left;vertical-align:top;padding:12px 12px;border-bottom:1px solid var(--line)}
.factors tr:last-child th,.factors tr:last-child td{border-bottom:0}
.factors thead th{background:var(--plum);color:var(--sun);font:700 .95rem var(--head)}
.factors tbody th{color:var(--plum);font-weight:800}
.price-from{display:grid;gap:2px;background:var(--plum);color:#fff;border-radius:var(--r-lg);padding:18px 20px;margin-bottom:28px}
.price-from strong{font:800 2.6rem/1.1 var(--head);color:var(--sun)}
.price-from small{color:#c3b1cf}

/* ================= Tablet ================= */
@media (min-width:600px){
  .plates{grid-template-columns:1fr 1fr}
  .hero-btns{flex-direction:row;flex-wrap:wrap}
  .hero-btns .btn{width:auto}
  .truck{width:300px}
  .tiles{grid-template-columns:repeat(3,1fr)}
  .tile:last-child{grid-column:auto}
  .qf-grid{grid-template-columns:1fr 1fr}
  .fld-full{grid-column:1/-1}
  .why-list{grid-template-columns:1fr 1fr}
  .cards{grid-template-columns:1fr 1fr}
  .area-list{grid-template-columns:repeat(3,1fr)}
  .mini-cards{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .inline-cta{flex-direction:row;align-items:center;justify-content:space-between}
  .tb-open{display:inline-flex}
  .tb-phones{width:auto}
  .bigcall-nums{grid-template-columns:auto auto;justify-content:start;column-gap:48px}
  .quote-strip-in{display:flex;align-items:center;justify-content:space-between;gap:30px}
  .quote-strip p{margin:0}
  .prob-link{grid-template-columns:56px 1fr 44px;padding:22px 10px}
  .prob-ic{width:56px;height:56px}
  .qm[open]{align-items:center;justify-content:center;padding:24px}
  .qm-in{max-width:620px;border-radius:24px;border:3px solid var(--plum);box-shadow:10px 10px 0 var(--sun);animation-name:pop}
  @keyframes pop{from{transform:scale(.94) translateY(16px);opacity:0}to{transform:none;opacity:1}}
  .quote-form{padding:28px 28px 24px}
}

/* ================= Desktop ================= */
@media (min-width:1000px){
  body{padding-bottom:0}
  h2{font-size:clamp(2rem,3.6vw,3.2rem)}
  .mbar{display:none}
  .fab-call{display:flex;align-items:center;gap:10px;position:fixed;right:22px;bottom:22px;z-index:60;padding:12px 20px 12px 14px;border-radius:999px;
    background:var(--sun);color:var(--plum);border:3px solid var(--plum);box-shadow:5px 5px 0 var(--plum);text-decoration:none;font:800 1.15rem var(--head);transition:opacity .2s,transform .2s}
  .fab-call .ic{width:24px;height:24px;animation:ring 2.6s infinite}
  .fab-call.hide{opacity:0;transform:scale(.6);pointer-events:none}

  .nav-toggle{display:none}
  .nav{display:flex;position:static;height:auto;flex-direction:row;align-items:center;padding:0;gap:2px;overflow:visible;background:none}
  .nav a{border:0;padding:10px 11px;font:600 1rem var(--body);border-radius:999px;font-variation-settings:normal}
  .nav a:hover{background:rgba(255,255,255,.08)}
  .nav a[aria-current]{background:rgba(255,196,20,.14);color:var(--sun)}
  .nav .nav-quote{margin:0 0 0 8px;padding:.7em 1.15em;font:800 .98rem var(--head);box-shadow:3px 3px 0 var(--sun)}
  .header-call{display:inline-flex;margin-left:10px;padding:.7em 1.15em;border-color:var(--sun);box-shadow:3px 3px 0 #fff}
  .header-in{min-height:78px}

  .hero{padding-top:44px}
  .hero-row{grid-template-columns:auto auto;justify-content:start;align-items:start;gap:28px;max-width:820px}
  .plates{grid-template-columns:auto auto}
  .plate strong{font-size:2.3rem}
  .hero-quote{padding-top:6px}
  .hero-quote .btn{width:auto}
  .road{margin-top:40px;height:66px}
  .truck{width:360px;right:max(16px,calc(50vw - 590px));bottom:44px}

  .section{padding:90px 0}
  .prob-list{display:grid;grid-template-columns:1fr 1fr;column-gap:40px;border-top:0}
  .prob{border-top:3px solid var(--plum);border-bottom:0}
  .prob:nth-last-child(-n+2){border-bottom:1.5px solid var(--line)}
  .prob-link{padding-right:90px}
  .prob-quote{display:block;position:absolute;right:62px;top:50%;transform:translateY(-50%);font:800 .85rem var(--head);color:var(--teal-d);text-decoration:none;padding:6px 10px;border-radius:999px;border:2px solid transparent}
  .prob-quote:hover{border-color:var(--plum);background:#fff}
  .prob-go{position:absolute;right:10px;top:50%;transform:translateY(-50%)}
  .prob-link:hover .prob-go{transform:translateY(-50%) rotate(-45deg)}

  .tc-in{grid-template-columns:1.1fr .9fr;gap:70px}
  .about-in{grid-template-columns:.8fr 1.2fr;gap:60px;align-items:start}
  .stops{grid-template-columns:repeat(4,1fr);gap:24px}
  .stops::before{left:0;right:0;top:23px;bottom:auto;border-left:0;border-top:4px dashed var(--plum)}
  .stops li{padding-left:0;padding-top:74px}
  .why-list{grid-template-columns:repeat(3,1fr);gap:34px 40px}
  .faq-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:start}
  .faq-wrap .sec-head{position:sticky;top:110px}
  .cards{grid-template-columns:repeat(4,1fr)}
  .area-list{grid-template-columns:repeat(5,1fr)}
  .split{grid-template-columns:1fr 380px;gap:60px}
  .sticky-aside{position:sticky;top:104px}
  .footer-grid{grid-template-columns:1.3fr 1.1fr 1.2fr 1.1fr}
  .page-hero{padding:40px 0 56px}

  .qm-in{max-width:960px;grid-template-columns:320px 1fr}
  .qm-side{display:flex;flex-direction:column;background:var(--dots),var(--sun);color:var(--plum);padding:30px 26px 20px;border-right:3px solid var(--plum)}
  .qm-kicker{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:.88rem;background:var(--plum);color:#fff;padding:6px 12px;border-radius:999px;align-self:flex-start}
  .qm-side h2{font-size:2.5rem;font-variation-settings:"wdth" 75;line-height:.95;margin:14px 0 12px}
  .qm-side p{font-size:.98rem}
  .qm-lines{display:grid;gap:8px;margin:6px 0 10px}
  .qm-lines a{display:flex;align-items:baseline;gap:8px;font:800 1.6rem/1.1 var(--head);font-variation-settings:"wdth" 85;color:var(--plum);text-decoration:none;font-variant-numeric:tabular-nums}
  .qm-lines a:hover{text-decoration:underline}
  .qm-lines small{font-size:.7rem;background:var(--plum);color:var(--sun);padding:2px 7px;border-radius:5px;transform:translateY(-3px)}
  .qm-truck{margin-top:auto;width:250px}
  .quote-form{padding:32px 32px 26px}
  .tiles{grid-template-columns:repeat(3,1fr)}
}


/* ================= TWO PRIORITIES: yellow = call, teal = quote ================= */
.btn-quote{background:var(--teal);color:#fff;border:2.5px solid var(--plum);box-shadow:4px 4px 0 var(--plum)}
.btn-quote:hover{background:#00b89d;color:#fff;box-shadow:6px 6px 0 var(--plum)}
.btn-next{background:var(--teal);color:#fff;box-shadow:4px 4px 0 var(--plum)}
.btn-next:hover{box-shadow:6px 6px 0 var(--plum)}
.nav .nav-quote{background:var(--teal);color:#fff;border-color:var(--teal);box-shadow:3px 3px 0 var(--sun)!important}
.nav .nav-quote:hover{background:#00b89d}
.quote-link{display:inline-flex;align-items:center;gap:7px;font-weight:700;color:var(--plum);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.quote-link .ic{width:1em;height:1em}
.hero-quote-sub{font-size:.9rem;font-weight:600;margin:2px 0 8px}
.qcard .btn-quote{border-color:var(--sun);box-shadow:4px 4px 0 var(--sun)}
.quote-strip .btn-quote{border-color:var(--sun);box-shadow:4px 4px 0 var(--sun)}
.bigcall-or{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-weight:700}
.fab-quote{display:none}
@media (min-width:1000px){
  .prob-quote{background:var(--teal);color:#fff!important;border:2px solid var(--plum)!important;box-shadow:2px 2px 0 var(--plum);padding:5px 12px!important}
  .prob-quote:hover{background:#00b89d!important}
}
@media (min-width:1000px){
  .fab-quote{display:flex;align-items:center;gap:8px;position:fixed;right:22px;bottom:94px;z-index:60;padding:10px 18px 10px 14px;border-radius:999px;
    background:var(--teal);color:#fff;border:3px solid var(--plum);box-shadow:5px 5px 0 var(--plum);text-decoration:none;font:800 1rem var(--head);transition:opacity .2s,transform .2s}
  .fab-quote .ic{width:20px;height:20px}
  .fab-quote:hover{background:#00b89d}
  .fab-quote.hide{opacity:0;transform:scale(.6);pointer-events:none}
  .hero-quote .btn{width:auto}
}

/* Text-message pills */
.text-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px}
.text-row > span{font-weight:700;font-size:.92rem;margin-right:2px}
.sms-link{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:999px;background:#fff;border:2px solid var(--plum);color:var(--plum);font:800 .92rem var(--head);text-decoration:none}
.sms-link .ic{width:18px;height:18px;color:var(--teal-d)}
.sms-link:hover{background:var(--plum);color:#fff}
.sms-link:hover .ic{color:var(--sun)}
.sms-link-lg{padding:10px 18px;font-size:1rem}
.text-row-dark > span{color:#e9dcf2}
.text-row-dark .sms-link{background:transparent;border-color:rgba(255,255,255,.4);color:#fff}
.text-row-dark .sms-link .ic{color:var(--sun)}
.text-row-dark .sms-link:hover{border-color:var(--sun);background:rgba(255,255,255,.08)}
.f-contact .ic{flex:none}
.contact-lines + h2{margin-top:34px;font-size:clamp(1.5rem,3vw,2rem)}

/* Hero: text pills + quiet quote link under the call plates */
.hero-quote{display:grid;gap:6px;align-content:start}
.hero-quote .quote-link{width:auto;margin:2px 0 4px}
.tc-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px}
.bigcall .text-row{margin-top:20px}
.bigcall-or{margin-top:6px}

/* Side card: call lines are the main action */
.qcard-lines{margin:14px 0 14px}
.qcard-lines a.is-main{background:var(--sun);color:var(--plum);border-color:var(--sun)}
.qcard-lines a.is-main .ic{color:var(--plum)}
.qcard-lines a.is-main small{color:var(--plum)}
.qcard .text-row{margin-bottom:12px}

/* Quote strip on /services/ and /areas/ */
.quote-strip-in > .btn,.quote-strip-in > .quote-link{margin:6px 14px 6px 0}

/* Mobile bar: Call TM | Call TNT | Text | Quote */
.mbar{grid-template-columns:1.25fr 1fr .85fr 1.15fr;gap:6px}
.mbar a{line-height:1.05;gap:1px;padding:7px 2px}
.mbar a small{font:600 .68rem var(--body);opacity:.85}
.mbar-text{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.35)}
.mbar-text .ic{color:var(--sun)}
.mbar-quote{background:var(--teal)!important}
.text-row > span{flex-basis:100%}
.hero-quote .quote-link{white-space:nowrap}
@media (min-width:600px){
  .quote-strip-in > div{flex:1}
}
@media (min-width:1000px){
  .hero .text-row > span,.bigcall .text-row > span{flex-basis:auto}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .ticker{overflow-x:auto}
}
