/* Carter Equipment Rental — shared stylesheet
   Lifted verbatim from the approved .dc.html design references.
   Tokens and geometry per the handoff doc: no border radius, no shadows,
   1.5px structural borders, 1px hairlines, flat colour only. */

:root{
  --ink:#1B1D1F;
  --ink-deep:#141618;
  --yellow:#F5C400;
  --paper:#F7F7F4;
  --paper-warm:#EFEEE9;
  --paper-edge:#E8E7E2;
  --ph:#DEDCD5;
  --ph-dark:#D6D4CD;
  --mono:'IBM Plex Mono',monospace;
  --sans:Archivo,system-ui,sans-serif;
  --pad-x:clamp(16px,3vw,44px);
}

*{box-sizing:border-box}
body{margin:0;background:var(--paper-edge);font-family:var(--sans)}
a{color:var(--ink);text-decoration:none}
a:hover{color:#8A6E00}
input,select,textarea{font-family:var(--sans)}
input::placeholder,textarea::placeholder{color:rgba(27,29,31,.38)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--yellow);outline-offset:-2px}

.canvas{max-width:1440px;margin:0 auto;background:var(--paper);color:var(--ink)}

/* Backgrounds */
.gridbg{background-color:var(--paper);background-image:linear-gradient(rgba(27,29,31,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(27,29,31,.06) 1px,transparent 1px);background-size:24px 24px}
.hatch{background-color:var(--ph);background-image:repeating-linear-gradient(128deg,rgba(27,29,31,.07) 0 10px,rgba(27,29,31,0) 10px 20px)}
.hatch--dark{background-color:var(--ph-dark)}
.hatch--faint{background-image:repeating-linear-gradient(128deg,rgba(27,29,31,.06) 0 10px,rgba(27,29,31,0) 10px 20px)}
.ph-note{font:400 9px/1.4 var(--mono);letter-spacing:.1em;color:rgba(27,29,31,.45)}

/* Fleet photography — fills the hatched photo panels; badges stay on top */
.unit-photo img,.catcard-photo img,.md-photo img,.relcard-photo img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}
.img-contain{object-fit:contain;padding:14px}
.relcard-photo{position:relative}

/* Service-area map — self-hosted OpenStreetMap render, yard at dead centre */
.hp-map img,.dv-map img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}
.map-marker{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:7px;z-index:2}
.map-marker-dot{width:14px;height:14px;background:var(--yellow);border:1.5px solid var(--ink)}
.map-marker-label{background:var(--ink);color:var(--yellow);font:700 8.5px/1 var(--mono);letter-spacing:.12em;padding:5px 8px;white-space:nowrap}
.map-credit{position:absolute;bottom:0;left:0;background:rgba(247,247,244,.85);padding:5px 8px;font:400 8px/1 var(--mono);letter-spacing:.08em;color:rgba(27,29,31,.55);z-index:2}

/* Kicker (eyebrow) */
.kicker{display:flex;align-items:center;gap:9px;margin-bottom:16px;flex-wrap:wrap}
.kicker-dot{width:6px;height:6px;background:var(--ink);flex:none}
.kicker-text{font:600 10.5px/1 var(--mono);letter-spacing:.2em;color:rgba(27,29,31,.6)}
.kicker--dark .kicker-dot{background:var(--yellow)}
.kicker--dark .kicker-text{color:var(--yellow)}
.kicker--onyellow .kicker-text{color:rgba(27,29,31,.7)}

/* Buttons — instant colour inversions, no transitions */
.btn{display:inline-block;text-align:center;font-family:var(--mono);font-weight:700;line-height:1;letter-spacing:.12em;cursor:pointer}
.btn-yellow{color:var(--ink);background:var(--yellow);border:1.5px solid var(--ink)}
.btn-yellow:hover{background:var(--ink);color:var(--yellow)}
.btn-outline{color:var(--ink);border:1.5px solid rgba(27,29,31,.35);background:transparent}
.btn-outline:hover{border-color:var(--ink);background:rgba(27,29,31,.05);color:var(--ink)}
.btn--nav{font-size:11px;padding:13px 20px}
.btn--lg{font-size:12px;padding:18px 26px}
.btn--xl{font-size:13px;letter-spacing:.11em;padding:20px 28px}
.btn--sm{font-size:10.5px;letter-spacing:.11em;padding:13px 10px}
.btn--card{font-size:10px;letter-spacing:.11em;padding:14px 16px}
.btn--rail{font-size:12.5px;padding:19px 20px}
.btn--band{font-size:12.5px;letter-spacing:.11em;padding:19px 26px}
.btn--submit{font-size:13px;padding:20px 32px}
/* CTA band variants (on ink) */
.btn-cta-solid{color:var(--ink);background:var(--yellow);border:1.5px solid var(--yellow)}
.btn-cta-solid:hover{background:var(--paper);border-color:var(--paper);color:var(--ink)}
.btn-cta-ghost{color:var(--paper);border:1.5px solid rgba(247,247,244,.4)}
.btn-cta-ghost:hover{border-color:var(--paper);background:rgba(247,247,244,.08);color:var(--paper)}
.btn-ink-on-yellow{color:var(--yellow);background:var(--ink);border:1.5px solid var(--ink)}
.btn-ink-on-yellow:hover{background:var(--paper);color:var(--ink)}
.btn-outline-ink{color:var(--ink);border:1.5px solid var(--ink)}
.btn-outline-ink:hover{background:var(--ink);color:var(--yellow)}

.textlink{font:700 11px/1 var(--mono);letter-spacing:.12em;color:var(--ink);border-bottom:2px solid var(--yellow);padding-bottom:4px}

/* ============ Navigation ============ */
.utilbar{background:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:9px var(--pad-x)}
.utilbar-left{display:flex;gap:26px;align-items:center;flex-wrap:wrap}
.utilbar-right{display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.utilbar-tag{font:600 10px/1.4 var(--mono);letter-spacing:.14em;color:var(--yellow)}
.utilbar-meta{font:400 10px/1.4 var(--mono);letter-spacing:.1em;color:rgba(247,247,244,.55)}
.utilbar-phone{font:600 11px/1.4 var(--mono);letter-spacing:.08em;color:var(--paper)}
.utilbar-phone:hover{color:var(--yellow)}

.mainnav{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:12px var(--pad-x);min-height:86px;background:var(--paper);border-bottom:1.5px solid var(--ink)}
.logo{display:flex;align-items:center;gap:15px}
.logo-mark{width:50px;height:50px;flex:none;background:var(--yellow);border:1.5px solid var(--ink);display:flex;align-items:center;justify-content:center}
.logo-ring{width:27px;height:27px;border-radius:50%;border:6.5px solid var(--ink);border-right-color:transparent;transform:rotate(-45deg);box-sizing:border-box}
.logo-text{display:flex;flex-direction:column;gap:5px}
.logo-name{font:800 25px/0.86 var(--sans);letter-spacing:-0.005em;color:var(--ink)}
.logo-tag{font:600 7.5px/1 var(--mono);letter-spacing:0.28em;color:rgba(27,29,31,.65)}
.navlinks{display:flex;align-items:center;gap:clamp(16px,2.2vw,34px);flex-wrap:wrap}
.navlink{display:inline-block;padding:15px 0;font:600 11px/1 var(--mono);letter-spacing:.13em;color:var(--ink)}
.nav-rule{width:1.5px;height:22px;background:rgba(27,29,31,.2)}

/* Breadcrumb */
.crumbs{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px var(--pad-x);border-bottom:1px solid rgba(27,29,31,.15);background:var(--paper-warm)}
.crumbs a{font:400 10px/1 var(--mono);letter-spacing:.12em;color:rgba(27,29,31,.55)}
.crumb-sep{font:400 10px/1 var(--mono);color:rgba(27,29,31,.35)}
.crumb-dim{font:400 10px/1 var(--mono);letter-spacing:.12em;color:rgba(27,29,31,.55)}
.crumb-here{font:700 10px/1 var(--mono);letter-spacing:.12em}

/* ============ Footer ============ */
.cta-band{background:var(--ink);padding:clamp(40px,5vw,64px) var(--pad-x);display:flex;align-items:center;justify-content:space-between;gap:clamp(24px,4vw,48px);flex-wrap:wrap}
.cta-copy{flex:1 1 300px;min-width:0}
.cta-copy h2{margin:0;font:800 clamp(28px,3.4vw,42px)/1 var(--sans);letter-spacing:-0.03em;color:var(--paper);text-wrap:balance}
.cta-copy p{margin:14px 0 0;font:400 15px/1.5 var(--sans);color:rgba(247,247,244,.62);max-width:520px}
.cta-actions{display:flex;gap:12px;flex:0 1 auto;min-width:0;flex-wrap:wrap}
.cta-actions .btn{flex:0 1 auto;min-width:0}

.footer-grid{background:var(--ink-deep);padding:48px var(--pad-x) 40px;display:flex;gap:clamp(28px,4vw,64px);align-items:flex-start;flex-wrap:wrap;border-top:1px solid rgba(247,247,244,.12)}
.footer-brand{width:300px;flex:none;max-width:100%}
.footer-logo{display:flex;align-items:center;gap:13px;margin-bottom:18px}
.logo-mark--footer{width:42px;height:42px;border-color:var(--yellow)}
.logo-ring--footer{width:23px;height:23px;border-width:5.5px;border-right-color:transparent}
.footer-logo-name{font:800 21px/0.88 var(--sans);color:var(--paper)}
.footer-logo-tag{display:block;font:600 6.5px/1 var(--mono);letter-spacing:0.28em;color:rgba(247,247,244,.55);margin-top:5px}
.footer-addr{font:400 12.5px/1.65 var(--sans);color:rgba(247,247,244,.5)}
.footer-cols{display:flex;gap:clamp(24px,3.5vw,56px);flex:1;flex-wrap:wrap;min-width:280px}
.fcol-title{font:600 9.5px/1 var(--mono);letter-spacing:.15em;color:var(--yellow);margin-bottom:14px}
.fcol-links{display:flex;flex-direction:column;gap:9px}
.fcol-links a{font:400 12.5px/1.4 var(--sans);color:rgba(247,247,244,.62)}
.fcol-links a:hover{color:var(--yellow)}
.footer-hours{font:400 12.5px/1.75 var(--mono);color:rgba(247,247,244,.55)}
.footer-phone{font:700 17px/1 var(--mono);color:var(--paper)}
a.footer-phone:hover{color:var(--yellow)}
.footer-dispatch-note{font:400 12.5px/1.7 var(--sans);color:rgba(247,247,244,.55);margin-top:9px}
.footer-legal{background:var(--ink-deep);padding:0 var(--pad-x) 34px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.footer-legal span{font:400 10px/1.4 var(--mono);letter-spacing:.1em;color:rgba(247,247,244,.35)}

/* ============ Shared section furniture ============ */
.sechead{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:36px;flex-wrap:wrap}
.sechead .kicker{margin-bottom:16px}
.h2-xl{margin:0;font:800 clamp(26px,3.3vw,46px)/0.98 var(--sans);letter-spacing:-0.03em}
.h2{margin:0;font:800 clamp(26px,3vw,38px)/1 var(--sans);letter-spacing:-0.03em}
.h2-md{margin:0;font:800 clamp(24px,2.8vw,34px)/1 var(--sans);letter-spacing:-0.03em}
.sechead-note{margin:0;flex:1 1 300px;max-width:360px;font:400 14px/1.55 var(--sans);color:rgba(27,29,31,.65);text-wrap:pretty}
.sechead-note--dark{color:rgba(247,247,244,.62);max-width:380px}
.sechead-note--onyellow{color:rgba(27,29,31,.72);max-width:380px;font-size:13.5px}

/* Ink info band (4 cells) */
.band{display:flex;flex-wrap:wrap;background:var(--ink);border-top:1.5px solid var(--ink)}
.band-cell{flex:1;min-width:180px;padding:22px 26px;border-right:1px solid rgba(247,247,244,.14)}
.band-cell:last-child{border-right:0}
.band-k{font:600 9.5px/1 var(--mono);letter-spacing:.15em;color:var(--yellow);margin-bottom:9px}
.band-v{font:400 13px/1.5 var(--sans);color:rgba(247,247,244,.72)}
.band-v--big{font:700 21px/1 var(--mono);color:var(--paper)}
.band--stats .band-cell{min-width:190px}
.band--sched .band-cell{min-width:220px;padding:26px 30px}
.band--sched .band-k{margin-bottom:10px}
.band--sched .band-v{line-height:1.55}

/* Numbered steps with yellow top rule */
.stepgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:26px}
.step{border-top:4px solid var(--yellow);padding-top:22px}
.step-num{font:700 clamp(32px,3.3vw,46px)/1 var(--mono);color:rgba(27,29,31,.16)}
.step-title{font:800 21px/1.15 var(--sans);letter-spacing:-0.015em;margin-top:14px}
.step-body{font:400 13.5px/1.6 var(--sans);color:rgba(27,29,31,.65);margin-top:11px;text-wrap:pretty}

/* Attachment price grid (yellow cells on ink hairlines) */
.attgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5px;border:1.5px solid var(--ink);background:var(--ink)}
.att{background:var(--yellow);padding:20px 22px;display:flex;justify-content:space-between;align-items:baseline;gap:14px}
.att-name{font:700 14px/1.2 var(--sans)}
.att-fit{font:400 10.5px/1.4 var(--mono);color:rgba(27,29,31,.6);margin-top:6px}
.att-price{font:700 17px/1 var(--mono);white-space:nowrap}
.attgrid--dense{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.attgrid--dense .att{padding:18px 20px;gap:12px}
.attgrid--dense .att-name{font-size:13.5px}
.attgrid--dense .att-fit{font-size:10px;margin-top:5px}
.attgrid--dense .att-price{font-size:16px}

/* ============ Homepage ============ */
.hp-hero{padding:clamp(38px,5vw,76px) var(--pad-x) clamp(36px,5vw,72px);display:flex;gap:56px;align-items:flex-start;flex-wrap:wrap}
.hp-hero-main{flex:1 1 480px;min-width:0}
.hp-hero-main .kicker{margin-bottom:22px}
.hp-hero h1{margin:0;font:800 clamp(34px,5.2vw,74px)/0.94 var(--sans);letter-spacing:-0.035em;text-wrap:balance}
.hp-lead{margin:26px 0 0;max-width:520px;font:400 17px/1.55 var(--sans);color:rgba(27,29,31,.7);text-wrap:pretty}
.hp-ctas{display:flex;gap:12px;margin-top:34px;flex-wrap:wrap}
.hp-stats{display:flex;gap:30px;margin-top:44px;padding-top:26px;border-top:1.5px solid rgba(27,29,31,.18);flex-wrap:wrap}
.stat-v{font:700 26px/1 var(--mono)}
.stat-k{font:400 10px/1.4 var(--mono);letter-spacing:.1em;color:rgba(27,29,31,.55);margin-top:6px}

.ratecard{width:clamp(300px,30%,404px);flex:none;min-width:290px;background:#fff;border:1.5px solid var(--ink)}
.rc-head{background:var(--ink);padding:13px 16px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}
.rc-title{font:600 10px/1 var(--mono);letter-spacing:.14em;color:var(--yellow)}
.rc-eff{font:400 9px/1 var(--mono);letter-spacing:.1em;color:rgba(247,247,244,.5)}
.rc-cols{display:flex;padding:10px 16px;background:var(--paper-warm);border-bottom:1.5px solid var(--ink);flex-wrap:wrap}
.rc-cols span{font:600 9px/1 var(--mono);letter-spacing:.1em;color:rgba(27,29,31,.6)}
.rc-col-name{flex:1}
.rc-col-day{width:62px;text-align:right}
.rc-col-week{width:66px;text-align:right}
.rc-row{display:flex;padding:13px 16px;border-bottom:1px solid rgba(27,29,31,.12);flex-wrap:wrap}
.rc-row--last{border-bottom:1.5px solid var(--ink)}
.rc-name{flex:1;min-width:130px;font:500 12px/1.2 var(--sans)}
.rc-day{width:62px;text-align:right;font:700 12px/1.2 var(--mono)}
.rc-week{width:66px;text-align:right;font:400 12px/1.2 var(--mono);color:rgba(27,29,31,.65)}
.rc-all{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--yellow);flex-wrap:wrap}
.rc-all:hover{color:var(--ink)}
.rc-all-label{font:700 10px/1 var(--mono);letter-spacing:.13em;color:var(--ink)}
.rc-all-arrow{font:700 12px/1 var(--mono);color:var(--ink)}

/* Terms strip — two nested pairs, never a 3+1 wrap */
.termstrip{display:flex;background:var(--ink);flex-wrap:wrap}
.termstrip-pair{display:flex;flex-wrap:wrap;flex:1 1 480px;min-width:0}
.termstrip-pair--first{border-right:1px solid rgba(247,247,244,.14)}
.termcell{flex:1 1 240px;padding:26px 30px}
.termcell--rule{border-right:1px solid rgba(247,247,244,.14)}
.termcell-k{font:600 9.5px/1 var(--mono);letter-spacing:.15em;color:var(--yellow);margin-bottom:9px}
.termcell-v{font:400 13px/1.5 var(--sans);color:rgba(247,247,244,.72)}

.hp-section{padding:clamp(38px,5vw,76px) var(--pad-x) clamp(40px,5vw,80px)}
.cardgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:24px}
.catcard{background:#fff;border:1.5px solid var(--ink);display:flex;flex-direction:column}
.catcard-photo{height:186px;border-bottom:1.5px solid var(--ink);position:relative;display:flex;align-items:flex-end;padding:12px;flex-wrap:wrap}
.badge-yellow{position:absolute;top:0;right:0;background:var(--yellow);border-left:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);padding:7px 10px;font:700 9.5px/1 var(--mono);letter-spacing:.1em}
.catcard-body{padding:22px 22px 24px;display:flex;flex-direction:column;gap:16px;flex:1}
.catcard-title{font:800 22px/1 var(--sans);letter-spacing:-0.015em}
.catcard-sub{font:400 11px/1 var(--mono);letter-spacing:.08em;color:rgba(27,29,31,.55);margin-top:7px}
.catcard-specs{display:flex;flex-direction:column;gap:6px}
.specline{display:flex;justify-content:space-between;flex-wrap:wrap}
.spec-k{font:400 11.5px/1.3 var(--sans);color:rgba(27,29,31,.6)}
.spec-v{font:500 11.5px/1.3 var(--mono)}
.catcard-foot{margin-top:auto;padding-top:16px;border-top:1px solid rgba(27,29,31,.15);display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap}
.catcard-foot{gap:10px}
.catcard-btns{display:flex;gap:8px;flex-wrap:wrap}
.fromday{font:400 9px/1 var(--mono);letter-spacing:.12em;color:rgba(27,29,31,.5)}
.fromprice{font:700 25px/1 var(--mono);margin-top:6px}

.hp-rates{background:var(--ink);color:var(--paper)}
.hp-rates .sechead{margin-bottom:34px}
.ratetable{border:1.5px solid var(--yellow);background:var(--ink-deep)}
.rt-head{display:flex;background:var(--yellow);padding:12px 22px;flex-wrap:wrap}
.rt-head span{font:700 10px/1 var(--mono);letter-spacing:.13em;color:var(--ink)}
.rt-row{display:flex;align-items:center;padding:15px 22px;border-bottom:1px solid rgba(247,247,244,.11);flex-wrap:wrap}
.rt-row:last-child{border-bottom:0}
.rt-row--alt{background:rgba(247,247,244,.03)}
.rt-name{flex:1;min-width:170px;font:600 14px/1.2 var(--sans)}
.rt-class{width:150px;font:400 11px/1.2 var(--mono);color:rgba(247,247,244,.55)}
.rt-day{width:100px;text-align:right;font:700 14px/1.2 var(--mono);color:var(--yellow)}
.rt-half{width:100px;text-align:right;font:400 14px/1.2 var(--mono);color:rgba(247,247,244,.8)}
.rt-week{width:110px;text-align:right;font:400 14px/1.2 var(--mono);color:rgba(247,247,244,.8)}
.rt-month{width:120px;text-align:right;font:400 14px/1.2 var(--mono);color:rgba(247,247,244,.8)}
.rt-del{width:112px;text-align:right;font:400 11px/1.2 var(--mono);color:rgba(247,247,244,.5)}
.rt-head .rt-name,.rt-head .rt-class,.rt-head .rt-day,.rt-head .rt-half,.rt-head .rt-week,.rt-head .rt-month,.rt-head .rt-del{font:700 10px/1 var(--mono);letter-spacing:.13em;color:var(--ink)}
.rt-note{display:flex;gap:14px;margin-top:22px;align-items:center;flex-wrap:wrap}
.rt-note span{font:400 11px/1.5 var(--mono);letter-spacing:.06em;color:rgba(247,247,244,.5)}

.hp-terms{background:var(--yellow)}
.hp-terms .sechead{margin-bottom:38px}
.clausegrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:0;border:1.5px solid var(--ink);background:var(--ink)}
.clause{background:var(--yellow);padding:26px 26px 28px}
.clause--r{border-right:1.5px solid var(--ink)}
.clause--b{border-bottom:1.5px solid var(--ink)}
.clause-k{font:700 15px/1.15 var(--mono);letter-spacing:.02em;margin-bottom:11px}
.clause-v{font:400 13.5px/1.55 var(--sans);color:rgba(27,29,31,.78);text-wrap:pretty}

.hp-delivery-wrap{display:flex;gap:48px;align-items:flex-start;flex-wrap:wrap}
.hp-dz-left{width:clamp(300px,40%,520px);flex:none;min-width:290px}
.hp-dz-left .kicker{margin-bottom:16px}
.hp-dz-left h2{margin:0 0 20px}
.hp-dz-lead{margin:0 0 28px;font:400 15px/1.6 var(--sans);color:rgba(27,29,31,.68);text-wrap:pretty}
.dz-table{border:1.5px solid var(--ink);background:#fff}
.dzt-head{display:flex;background:var(--ink);padding:11px 18px;flex-wrap:wrap}
.dzt-head span{font:700 9.5px/1 var(--mono);letter-spacing:.13em}
.dzt-zone{flex:1;color:var(--yellow)}
.dzt-drive{width:120px;color:rgba(247,247,244,.6)}
.dzt-rate{width:88px;text-align:right;color:var(--yellow)}
.dz-row{display:flex;padding:13px 18px;border-bottom:1px solid rgba(27,29,31,.12);flex-wrap:wrap}
.dz-row:last-child{border-bottom:0}
.dz-name{flex:1;font:500 13px/1.2 var(--sans)}
.dz-drive{width:120px;font:400 11px/1.2 var(--mono);color:rgba(27,29,31,.55)}
.dz-rate{width:88px;text-align:right;font:700 13px/1.2 var(--mono)}
.dz-note{margin-top:16px;font:400 11px/1.6 var(--mono);letter-spacing:.05em;color:rgba(27,29,31,.5)}
.hp-map{flex:1 1 280px;min-width:0;border:1.5px solid var(--ink);min-height:clamp(300px,42vw,508px);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-wrap:wrap}
.map-note{max-width:100%;padding:44px 14px 14px;font:400 11px/1.6 var(--mono);letter-spacing:.1em;color:rgba(27,29,31,.45);text-align:center}
.map-tag{position:absolute;top:0;left:0;background:var(--ink);padding:9px 13px;font:700 9.5px/1 var(--mono);letter-spacing:.13em;color:var(--yellow)}

.hp-process{background:#fff;border-top:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink)}
.hp-process h2{margin:0 0 40px}

/* ============ Category page (Excavators) ============ */
.cat-hero{padding:clamp(36px,5vw,64px) var(--pad-x) clamp(28px,4vw,44px)}
.cat-hero-row{display:flex;gap:clamp(24px,4vw,56px);align-items:flex-end;flex-wrap:wrap}
.cat-hero-main{flex:1;min-width:300px}
.cat-hero-main .kicker{margin-bottom:18px}
.cat-hero h1{margin:0;font:800 clamp(38px,5.4vw,68px)/0.94 var(--sans);letter-spacing:-0.035em;text-wrap:balance}
.cat-lead{margin:20px 0 0;max-width:560px;font:400 clamp(15px,1.2vw,17px)/1.55 var(--sans);color:rgba(27,29,31,.7);text-wrap:pretty}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap}

.units{padding:clamp(36px,5vw,64px) var(--pad-x) clamp(40px,5vw,72px);display:flex;flex-direction:column;gap:22px}
.units-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:6px}
.units-note{font:400 11px/1.5 var(--mono);letter-spacing:.08em;color:rgba(27,29,31,.5)}

.unit{border:1.5px solid var(--ink);background:#fff;display:flex;flex-wrap:wrap}
.unit-photo{flex:1 1 240px;min-width:240px;border-right:1.5px solid var(--ink);min-height:230px;position:relative;display:flex;align-items:flex-end;padding:12px}
.unit-code{position:absolute;top:0;left:0;background:var(--ink);padding:7px 10px;font:700 9.5px/1 var(--mono);letter-spacing:.13em;color:var(--yellow)}
.unit-flag{position:absolute;top:0;right:0;background:var(--yellow);border-left:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);padding:7px 10px;font:700 9.5px/1 var(--mono);letter-spacing:.1em}
.unit-flag--dark{background:var(--ink);border-left-color:var(--yellow);border-bottom-color:var(--yellow);color:var(--yellow)}
.unit-body{flex:1 1 280px;min-width:280px;padding:24px clamp(18px,2vw,26px);display:flex;flex-direction:column;gap:16px}
.unit-titlerow{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.unit-title{font:800 clamp(20px,1.9vw,25px)/1 var(--sans);letter-spacing:-0.02em}
.chip-yellow{font:700 9.5px/1 var(--mono);letter-spacing:.1em;color:var(--ink);background:var(--yellow);padding:6px 9px}
.chip-ink{font:700 9.5px/1 var(--mono);letter-spacing:.1em;color:var(--paper);background:var(--ink);padding:6px 9px}
.unit-config{font:400 11px/1.5 var(--mono);letter-spacing:.08em;color:rgba(27,29,31,.55);margin-top:8px}
.unit-specs{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px 24px}
.uspec{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dotted rgba(27,29,31,.22);padding-bottom:5px}
.unit-use{font:400 13px/1.55 var(--sans);color:rgba(27,29,31,.65);text-wrap:pretty}
.unit-rates{flex:1 1 200px;min-width:200px;border-left:1.5px solid var(--ink);background:var(--paper);padding:20px;display:flex;flex-direction:column;gap:14px}
.rate-lines{display:flex;flex-direction:column;gap:7px}
.rl{display:flex;justify-content:space-between;align-items:baseline}
.rl-k{font:400 9.5px/1 var(--mono);letter-spacing:.12em;color:rgba(27,29,31,.5)}
.rl-day{font:700 24px/1 var(--mono)}
.rl-v{font:500 14px/1 var(--mono);color:rgba(27,29,31,.75)}
.rl--del{padding-top:7px;border-top:1px solid rgba(27,29,31,.15)}
.rl-del{font:500 12px/1 var(--mono);color:rgba(27,29,31,.75)}
.unit-ctas{margin-top:auto;display:flex;flex-direction:column;gap:8px}

.att-band{padding:clamp(36px,5vw,64px) var(--pad-x) clamp(40px,5vw,72px);background:var(--yellow);border-top:1.5px solid var(--ink)}
.att-band .sechead{margin-bottom:32px}

.pick-band{padding:clamp(36px,5vw,64px) var(--pad-x);background:#fff;border-top:1.5px solid var(--ink)}
.pick-band h2{margin:0 0 32px}
.pickgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:26px}
.pick{border-top:4px solid var(--yellow);padding-top:20px}
.pick-code{font:700 10px/1 var(--mono);letter-spacing:.14em;color:rgba(27,29,31,.5)}
.pick-title{font:800 18px/1.2 var(--sans);margin-top:12px}
.pick-body{font:400 13px/1.6 var(--sans);color:rgba(27,29,31,.65);margin-top:10px;text-wrap:pretty}

/* ============ Machine detail (EX-02) ============ */
.md-hero{display:flex;flex-wrap:wrap;border-bottom:1.5px solid var(--ink)}
.md-media{flex:1;min-width:320px;display:flex;flex-direction:column}
.md-photo{flex:1;min-height:clamp(280px,34vw,470px);position:relative;display:flex;align-items:flex-end;padding:16px;border-right:1.5px solid var(--ink)}
.md-photo .ph-note{font-size:10px;line-height:1.5}
.md-code{position:absolute;top:0;left:0;background:var(--ink);padding:10px 14px;font:700 10px/1 var(--mono);letter-spacing:.13em;color:var(--yellow)}
.md-flag{position:absolute;top:0;right:0;background:var(--yellow);border-left:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);padding:10px 14px;font:700 10px/1 var(--mono);letter-spacing:.1em}
.md-thumbs{display:flex;flex-wrap:wrap;border-top:1.5px solid var(--ink);border-right:1.5px solid var(--ink)}
.md-thumb{flex:1;min-width:120px;height:104px;border-right:1px solid rgba(27,29,31,.25);display:flex;align-items:flex-end;padding:9px}
.md-thumb:last-child{border-right:0}
.md-thumb .ph-note{font-size:8.5px}
.md-rail{flex:1 1 340px;min-width:300px;padding:clamp(24px,3vw,40px) clamp(20px,2.6vw,36px);display:flex;flex-direction:column;gap:24px;background:var(--paper)}
.md-eyebrow{font:600 10.5px/1 var(--mono);letter-spacing:.2em;color:rgba(27,29,31,.6);margin-bottom:14px}
.md-rail h1{margin:0;font:800 clamp(30px,3.6vw,46px)/0.96 var(--sans);letter-spacing:-0.03em;text-wrap:balance}
.md-rail-lead{margin:16px 0 0;font:400 14.5px/1.6 var(--sans);color:rgba(27,29,31,.7);text-wrap:pretty}
.md-rates{border:1.5px solid var(--ink);background:#fff}
.mdr-head{background:var(--ink);padding:11px 16px;display:flex;justify-content:space-between;align-items:center}
.mdr-title{font:600 9.5px/1 var(--mono);letter-spacing:.14em;color:var(--yellow)}
.mdr-eff{font:400 9px/1 var(--mono);letter-spacing:.1em;color:rgba(247,247,244,.5)}
.mdr-row{display:flex;justify-content:space-between;align-items:baseline;padding:14px 16px;border-bottom:1px solid rgba(27,29,31,.12)}
.mdr-row--day{padding:16px}
.mdr-row--grey{background:var(--paper-warm);border-bottom:0}
.mdr-k{font:600 12px/1.2 var(--sans)}
.mdr-row--day .mdr-k{font-weight:700}
.mdr-sub{font:400 10px/1.4 var(--mono);color:rgba(27,29,31,.5);margin-top:4px}
.mdr-big{font:700 27px/1 var(--mono)}
.mdr-v{font:600 16px/1 var(--mono);color:rgba(27,29,31,.8)}
.md-ctas{display:flex;flex-direction:column;gap:9px}
.md-servicenote{font:400 11px/1.7 var(--mono);letter-spacing:.05em;color:rgba(27,29,31,.5)}

.md-specwrap{padding:clamp(36px,5vw,64px) var(--pad-x);display:flex;gap:clamp(28px,4vw,56px);flex-wrap:wrap;align-items:flex-start}
.md-speccol{flex:1;min-width:320px}
.md-speccol h2{margin:0 0 26px}
.spectable{border:1.5px solid var(--ink);background:#fff}
.spec-group{background:var(--paper-warm);padding:11px 18px;border-bottom:1.5px solid var(--ink)}
.spec-group span{font:700 9.5px/1 var(--mono);letter-spacing:.14em;color:rgba(27,29,31,.65)}
.spec-row{display:flex;justify-content:space-between;gap:16px;padding:12px 18px;border-bottom:1px solid rgba(27,29,31,.1)}
.spec-row:last-child{border-bottom:0}
.spec-row--end{border-bottom:1.5px solid var(--ink)}
.spec-row .spec-k{font:400 12.5px/1.3 var(--sans);color:rgba(27,29,31,.7)}
.spec-row .spec-v{font:500 12.5px/1.3 var(--mono)}
.md-side{flex:1 1 320px;min-width:290px;display:flex;flex-direction:column;gap:22px}
.card-yellow{border:1.5px solid var(--ink);background:var(--yellow);padding:24px}
.card-white{border:1.5px solid var(--ink);background:#fff;padding:24px}
.card-ink{border:1.5px solid var(--ink);background:var(--ink);padding:24px}
.card-k{font:700 11px/1 var(--mono);letter-spacing:.14em;margin-bottom:16px}
.card-k--muted{color:rgba(27,29,31,.65)}
.card-k--yellow{color:var(--yellow);margin-bottom:14px}
.numlist{display:flex;flex-direction:column;gap:11px}
.numline{display:flex;gap:11px;align-items:flex-start}
.numline-n{font:700 12px/1.5 var(--mono);flex:none}
.numline-t{font:400 13.5px/1.5 var(--sans);color:rgba(27,29,31,.8)}
.dotrows{display:flex;flex-direction:column;gap:10px}
.dotrow{display:flex;justify-content:space-between;gap:14px;border-bottom:1px dotted rgba(27,29,31,.22);padding-bottom:8px}
.dotrow:last-child{border-bottom:0;padding-bottom:0}
.dotrow .spec-k{font:400 12.5px/1.3 var(--sans);color:rgba(27,29,31,.7)}
.dotrow .spec-v{font:500 12.5px/1.3 var(--mono)}
.card-foot{font:400 12.5px/1.6 var(--sans);color:rgba(27,29,31,.6);margin-top:16px;text-wrap:pretty}
.card-ink-body{font:400 13.5px/1.65 var(--sans);color:rgba(247,247,244,.72);text-wrap:pretty}
.btn-faq{display:inline-block;margin-top:18px;font:700 10.5px/1 var(--mono);letter-spacing:.12em;color:var(--ink);background:var(--yellow);padding:13px 16px}
.btn-faq:hover{background:var(--paper);color:var(--ink)}

.related{padding:clamp(36px,5vw,64px) var(--pad-x);background:#fff;border-top:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink)}
.related-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:30px}
.relgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px}
.relcard{border:1.5px solid var(--ink);background:var(--paper);display:flex;flex-direction:column}
.relcard:hover{background:var(--yellow);color:var(--ink)}
.relcard-photo{height:150px;border-bottom:1.5px solid var(--ink);display:flex;align-items:flex-end;padding:11px}
.relcard-photo .ph-note{font-size:8.5px}
.relcard-body{padding:18px 20px}
.relcard-code{font:700 9.5px/1 var(--mono);letter-spacing:.13em;color:rgba(27,29,31,.5)}
.relcard-title{font:800 17px/1.15 var(--sans);margin-top:9px}
.relcard-sub{font:400 11.5px/1.5 var(--mono);color:rgba(27,29,31,.6);margin-top:8px}
.relcard-price{font:700 20px/1 var(--mono);margin-top:14px}
.relcard-per{font:400 11px/1 var(--mono);color:rgba(27,29,31,.55)}

/* ============ Rate sheet ============ */
.rs-hero{padding:clamp(36px,5vw,64px) var(--pad-x) clamp(30px,4vw,48px);display:flex;gap:clamp(24px,4vw,56px);align-items:flex-end;flex-wrap:wrap}
.rs-hero-main{flex:1;min-width:300px}
.rs-hero-main .kicker{margin-bottom:18px}
.rs-hero h1{margin:0;font:800 clamp(38px,5.2vw,66px)/0.94 var(--sans);letter-spacing:-0.035em;text-wrap:balance}
.rs-lead{margin:20px 0 0;max-width:600px;font:400 clamp(15px,1.2vw,17px)/1.55 var(--sans);color:rgba(27,29,31,.7);text-wrap:pretty}
.rs-wrap{padding:0 var(--pad-x) clamp(40px,5vw,64px)}
.rs-table{border:1.5px solid var(--ink);background:var(--ink-deep)}
.rs-group{background:var(--yellow);padding:14px clamp(16px,2vw,22px);display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.rs-group--rule{border-top:1.5px solid var(--ink)}
.rs-group-title{font:700 11px/1 var(--mono);letter-spacing:.14em}
.rs-group-note{font:400 10px/1 var(--mono);letter-spacing:.1em;color:rgba(27,29,31,.6)}
.rs-group-link{font:700 10px/1 var(--mono);letter-spacing:.12em;color:var(--ink);border-bottom:1.5px solid var(--ink);padding-bottom:3px}
.rs-row{display:flex;flex-wrap:wrap;gap:16px;align-items:center;padding:16px clamp(16px,2vw,22px);border-bottom:1px solid rgba(247,247,244,.11)}
.rs-row--alt{background:rgba(247,247,244,.03)}
.rs-row--last{border-bottom:0}
.rs-machine{flex:1;min-width:220px}
.rs-name{font:600 15px/1.2 var(--sans);color:var(--paper)}
.rs-sub{font:400 10.5px/1.4 var(--mono);letter-spacing:.08em;color:rgba(247,247,244,.45);margin-top:6px}
.rs-prices{display:flex;gap:clamp(14px,2vw,26px);flex-wrap:wrap}
.rsp{min-width:74px}
.rsp--month{min-width:84px}
.rsp--del{min-width:78px}
.rsp-k{font:400 8.5px/1 var(--mono);letter-spacing:.13em;color:rgba(247,247,244,.4)}
.rsp-day{font:700 17px/1 var(--mono);color:var(--yellow);margin-top:7px}
.rsp-v{font:400 17px/1 var(--mono);color:rgba(247,247,244,.85);margin-top:7px}
.rsp-del{font:400 13px/1 var(--mono);color:rgba(247,247,244,.55);margin-top:9px}
.rsp-del--sm{font-size:12px}

.fees{padding:clamp(36px,5vw,64px) var(--pad-x);background:#fff;border-top:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink)}
.fees h2{margin:0 0 30px}
.feegrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:24px}
.fee{border-top:4px solid var(--ink);padding-top:18px}
.fee--waiver{border-top-color:var(--yellow)}
.fee-title{font:700 15px/1.2 var(--sans)}
.fee-body{font:400 13px/1.6 var(--sans);color:rgba(27,29,31,.65);margin-top:9px}
.rs-foot{margin-top:34px;padding-top:24px;border-top:1.5px solid var(--ink);display:flex;gap:26px;flex-wrap:wrap;align-items:center;justify-content:space-between}
.rs-foot-note{font:400 11px/1.7 var(--mono);letter-spacing:.05em;color:rgba(27,29,31,.55)}

/* ============ Delivery ============ */
.dv-hero{padding:clamp(36px,5vw,64px) var(--pad-x) clamp(30px,4vw,44px)}
.dv-hero h1{margin:0;font:800 clamp(38px,5.2vw,66px)/0.94 var(--sans);letter-spacing:-0.035em;text-wrap:balance}
.dv-lead{margin:20px 0 0;max-width:600px;font:400 clamp(15px,1.2vw,17px)/1.55 var(--sans);color:rgba(27,29,31,.7);text-wrap:pretty}
.dv-wrap{padding:0 var(--pad-x) clamp(36px,4vw,56px);display:flex;gap:clamp(24px,3vw,48px);align-items:flex-start;flex-wrap:wrap}
.dv-left{flex:1 1 420px;min-width:300px}
.dv-zones .dzt-head{padding:12px 18px;gap:12px}
.dv-zones .dz-row{padding:14px 18px;gap:12px}
.dv-zones .dz-drive{width:88px}
.dv-zones .dz-name{line-height:1.3}
.dv-zones .dz-drive,.dv-zones .dz-rate{line-height:1.3}
.dv-zones .dz-rate{font-size:14px}
.dv-zones .dzt-drive{width:88px}
.dv-free{margin-top:18px;border:1.5px solid var(--ink);background:var(--yellow);padding:20px}
.dv-free-k{font:700 11px/1 var(--mono);letter-spacing:.13em;margin-bottom:12px}
.dv-free-v{font:400 13.5px/1.6 var(--sans);color:rgba(27,29,31,.8);text-wrap:pretty}
.dv-map{flex:1 1 280px;min-width:0;border:1.5px solid var(--ink);min-height:clamp(320px,40vw,560px);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
.dv-map .map-note{padding:52px 16px 20px;line-height:1.7}
.dv-map .map-tag{padding:10px 14px}
.map-addr{position:absolute;bottom:0;right:0;background:var(--paper);border-left:1.5px solid var(--ink);border-top:1.5px solid var(--ink);padding:10px 14px;font:400 9.5px/1.5 var(--mono);letter-spacing:.1em;color:rgba(27,29,31,.6)}

.dv-driver{padding:clamp(36px,5vw,64px) var(--pad-x);background:#fff;border-top:1.5px solid var(--ink)}
.dv-driver-wrap{display:flex;gap:clamp(28px,4vw,56px);flex-wrap:wrap;align-items:flex-start}
.dv-driver-main{flex:1;min-width:300px}
.dv-driver-main h2{margin:0 0 26px}
.drv-steps{display:flex;flex-direction:column;gap:20px}
.drv-step{display:flex;gap:16px;align-items:flex-start}
.drv-num{font:700 13px/1.4 var(--mono);color:var(--yellow);flex:none;width:26px}
.drv-title{font:700 15px/1.3 var(--sans)}
.drv-body{font:400 13px/1.6 var(--sans);color:rgba(27,29,31,.65);margin-top:6px}
.dv-side{flex:1 1 340px;min-width:290px;display:flex;flex-direction:column;gap:20px}
.card-paper{border:1.5px solid var(--ink);background:var(--paper);padding:24px}
.dv-check .dotrow{padding-bottom:9px;gap:14px}
.dv-check .dotrows{gap:12px}
.dv-check .spec-k{font:400 13px/1.4 var(--sans);color:rgba(27,29,31,.72)}
.dv-check .spec-v{font:500 12.5px/1.4 var(--mono);white-space:nowrap}
.tow-row{margin-top:18px;padding-top:16px;border-top:1px solid rgba(247,247,244,.2);display:flex;justify-content:space-between;gap:12px}
.tow-row--tight{margin-top:10px;padding-top:0;border-top:0}
.tow-k{font:400 12px/1.4 var(--mono);color:rgba(247,247,244,.55)}
.tow-v{font:700 14px/1.4 var(--mono);color:var(--yellow)}

.dv-clock{padding:clamp(36px,5vw,64px) var(--pad-x);background:var(--yellow);border-top:1.5px solid var(--ink)}
.dv-clock .sechead{margin-bottom:32px}
.clockgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));border:1.5px solid var(--ink);background:var(--ink);gap:1.5px}
.clockcard{background:var(--yellow);padding:24px}
.clock-k{font:700 14px/1.2 var(--mono);margin-bottom:11px}
.clock-v{font:400 13.5px/1.55 var(--sans);color:rgba(27,29,31,.78);text-wrap:pretty}

/* ============ Request a machine ============ */
.rq-hero{padding:clamp(36px,5vw,60px) var(--pad-x) clamp(28px,3vw,40px)}
.rq-hero .kicker{margin-bottom:18px}
.rq-hero h1{margin:0;max-width:900px;font:800 clamp(34px,4.6vw,60px)/0.96 var(--sans);letter-spacing:-0.035em;text-wrap:balance}
.rq-lead{margin:20px 0 0;max-width:640px;font:400 clamp(15px,1.2vw,17px)/1.55 var(--sans);color:rgba(27,29,31,.7);text-wrap:pretty}
.rq-wrap{padding:0 var(--pad-x) clamp(40px,5vw,64px);display:flex;gap:clamp(24px,3vw,44px);align-items:flex-start;flex-wrap:wrap}
.rq-form{flex:1;min-width:320px;border:1.5px solid var(--ink);background:#fff}
.rq-form-head{background:var(--ink);padding:14px 20px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.rq-form-title{font:600 10px/1 var(--mono);letter-spacing:.14em;color:var(--yellow)}
.rq-form-hint{font:400 9.5px/1 var(--mono);letter-spacing:.1em;color:rgba(247,247,244,.5)}
.rq-form-body{padding:clamp(20px,2.4vw,30px)}
.fsec{font:700 10.5px/1 var(--mono);letter-spacing:.14em;color:rgba(27,29,31,.55);padding-bottom:14px;border-bottom:1.5px solid var(--ink);margin-bottom:20px}
.fsec--later{margin:30px 0 20px}
.fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.field{display:flex;flex-direction:column;gap:7px}
.field--full{grid-column:1/-1}
.flabel{font:600 11px/1 var(--mono);letter-spacing:.1em;color:rgba(27,29,31,.7)}
.flabel-hint{font:400 10px/1 var(--mono);color:rgba(27,29,31,.45)}
.input{border:1.5px solid rgba(27,29,31,.35);background:var(--paper);padding:14px;font:400 14px/1.2 var(--sans);color:var(--ink)}
.input--date{padding:13px 14px}
.input--area{font:400 14px/1.5 var(--sans);resize:vertical}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.chip{display:flex;align-items:center;gap:9px;border:1.5px solid rgba(27,29,31,.3);padding:11px 14px;background:var(--paper);cursor:pointer}
.chip:hover{border-color:var(--ink);background:var(--yellow)}
.chip input{width:15px;height:15px;accent-color:var(--ink)}
.chip span{font:500 12.5px/1 var(--sans)}
.haulrow{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.haul{display:flex;align-items:center;gap:10px;border:1.5px solid rgba(27,29,31,.3);padding:14px 18px;background:var(--paper);cursor:pointer;flex:1;min-width:200px}
.haul:hover{border-color:var(--ink)}
.haul input{width:16px;height:16px;accent-color:var(--ink)}
.haul-title{font:700 13px/1.2 var(--sans)}
.haul-sub{display:block;font:400 11px/1.4 var(--mono);color:rgba(27,29,31,.55);margin-top:4px}
.field--notes{margin-top:16px}
.rq-footrow{margin-top:26px;padding-top:22px;border-top:1.5px solid var(--ink);display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.rq-footnote{font:400 11px/1.6 var(--mono);letter-spacing:.05em;color:rgba(27,29,31,.55);max-width:340px}
.sent-panel{display:none;margin-top:20px;border:1.5px solid var(--ink);background:var(--yellow);padding:20px}
.sent-panel.show{display:block}
.sent-title{font:700 13px/1.3 var(--sans)}
.sent-body{font:400 13px/1.6 var(--sans);color:rgba(27,29,31,.75);margin-top:7px}
/* Honeypot — invisible to people, present for bots */
.leave-blank{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}

.rq-side{flex:1 1 320px;min-width:290px;display:flex;flex-direction:column;gap:20px}
.rq-card-ink{border:1.5px solid var(--ink);background:var(--ink);padding:26px}
.rq-card-yellow{border:1.5px solid var(--ink);background:var(--yellow);padding:26px}
.rq-card-white{border:1.5px solid var(--ink);background:#fff;padding:26px}
.rq-card-k{font:700 11px/1 var(--mono);letter-spacing:.14em;margin-bottom:20px}
.next-steps{display:flex;flex-direction:column;gap:18px}
.next-step{display:flex;gap:14px;align-items:flex-start}
.next-num{font:700 13px/1.3 var(--mono);color:var(--yellow);flex:none;width:24px}
.next-title{font:700 14px/1.3 var(--sans);color:var(--paper)}
.next-body{font:400 12.5px/1.6 var(--sans);color:rgba(247,247,244,.6);margin-top:5px}
.rq-call-body{font:400 13.5px/1.6 var(--sans);color:rgba(27,29,31,.8);text-wrap:pretty}
.rq-call-phone{display:block;margin-top:18px;text-align:center;font:700 15px/1 var(--mono);letter-spacing:.08em;color:var(--yellow);background:var(--ink);padding:18px}
.rq-call-phone:hover{background:var(--paper);color:var(--ink)}
.rq-call-hours{font:400 11px/1.7 var(--mono);letter-spacing:.06em;color:rgba(27,29,31,.65);margin-top:14px}
.bring{display:flex;flex-direction:column;gap:11px}
.bring-line{display:flex;gap:11px;align-items:flex-start}
.bring-dash{font:700 12px/1.5 var(--mono);flex:none;color:rgba(27,29,31,.45)}
.bring-t{font:400 13.5px/1.5 var(--sans);color:rgba(27,29,31,.75)}
.rq-faqlink{display:inline-block;margin-top:20px}

/* ============ FAQ ============ */
.fq-hero{padding:clamp(36px,5vw,60px) var(--pad-x) clamp(28px,3vw,44px)}
.fq-hero-row{display:flex;gap:clamp(24px,4vw,56px);align-items:flex-end;flex-wrap:wrap}
.fq-hero-main{flex:1;min-width:300px}
.fq-hero-main .kicker{margin-bottom:18px}
.fq-hero h1{margin:0;font:800 clamp(38px,5.2vw,64px)/0.94 var(--sans);letter-spacing:-0.035em;text-wrap:balance}
.fq-lead{margin:20px 0 0;max-width:620px;font:400 clamp(15px,1.2vw,17px)/1.55 var(--sans);color:rgba(27,29,31,.7);text-wrap:pretty}
.fq-jump{display:flex;flex-direction:column;gap:8px;border:1.5px solid var(--ink);background:#fff;padding:20px;min-width:250px}
.fq-jump-k{font:700 10px/1 var(--mono);letter-spacing:.14em;color:rgba(27,29,31,.55);margin-bottom:4px}
.fq-jump a{font:600 12.5px/1.3 var(--sans)}
.faq-sec{padding:clamp(34px,4vw,56px) var(--pad-x);border-top:1.5px solid var(--ink);scroll-margin-top:12px}
.faq-sec h2{margin:0 0 30px}
.faq-sec--white{background:#fff}
.faq-sec--yellow{background:var(--yellow)}
.faq-sec--paper{background:var(--paper)}
.faq-sec--ink{background:var(--ink);color:var(--paper)}
.qagrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:clamp(22px,3vw,40px)}
.qa{border-top:3px solid var(--ink);padding-top:18px}
.qa-q{font:700 16px/1.35 var(--sans);text-wrap:pretty}
.qa-a{font:400 14px/1.65 var(--sans);color:rgba(27,29,31,.7);margin-top:10px;text-wrap:pretty}
.faq-sec--yellow .qa-a{color:rgba(27,29,31,.78)}
.faq-sec--ink .qa{border-top-color:var(--yellow)}
.faq-sec--ink .qa-a{color:rgba(247,247,244,.68)}
.fq-band{padding:clamp(30px,4vw,48px) var(--pad-x);background:var(--yellow);border-top:1.5px solid var(--ink);display:flex;gap:24px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.fq-band-title{font:800 clamp(20px,2.2vw,28px)/1.1 var(--sans);letter-spacing:-0.02em}
.fq-band-sub{font:400 14px/1.55 var(--sans);color:rgba(27,29,31,.72);margin-top:8px}
.fq-band-ctas{display:flex;gap:12px;flex-wrap:wrap}

/* Small screens: photo panels go full width when cards stack, so trade the
   fixed desktop heights for a 4:3 ratio that fits the photography */
@media (max-width:640px){
  .catcard-photo{height:auto;aspect-ratio:4/3}
  .unit-photo{aspect-ratio:4/3}
  .relcard-photo{height:auto;aspect-ratio:4/3}
  .img-contain{padding:10px}

  /* Slim the site chrome: one utility line, no orphaned nav rule,
     and the menu + request button share a single row under the logo */
  .utilbar-meta{display:none}
  .nav-rule{display:none}
  .mainnav{gap:2px 24px;padding-bottom:14px}
  .navlinks{width:100%;justify-content:space-between;gap:10px}
  .navlink{font-size:10px;letter-spacing:.09em;padding:12px 0}
  .btn--nav{font-size:9.5px;letter-spacing:.09em;padding:11px 12px}

  /* Homepage rate table: the desktop columns have no room here, so each row
     becomes a labelled price grid (same pattern as the rate sheet page) */
  .rt-head{display:none}
  .rt-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 14px;align-items:start}
  .rt-name{grid-column:1/-1;width:auto;min-width:0}
  .rt-class{grid-column:1/-1;width:auto;margin-top:-6px}
  .rt-day,.rt-half,.rt-week,.rt-month,.rt-del{width:auto;text-align:left}
  .rt-day::before,.rt-half::before,.rt-week::before,.rt-month::before,.rt-del::before{display:block;font:400 8.5px/1 var(--mono);letter-spacing:.13em;color:rgba(247,247,244,.4);margin-bottom:7px}
  .rt-day::before{content:"DAY"}
  .rt-half::before{content:"HALF DAY"}
  .rt-week::before{content:"WEEK"}
  .rt-month::before{content:"MONTH · 28D"}
  .rt-del::before{content:"DELIVERED"}
  .rt-del{align-self:end}

  /* Rate sheet page: price cells in a steady 3-column grid instead of ragged wrapping */
  .rs-prices{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 14px;width:100%}
  .rsp,.rsp--month,.rsp--del{min-width:0}

  /* Delivery zone tables: zone name with drive time beneath, price on the right */
  .dzt-drive{display:none}
  .dz-row{display:grid;grid-template-columns:1fr auto;gap:2px 14px;align-items:center}
  .dz-name{grid-column:1;grid-row:1}
  .dz-drive{grid-column:1;grid-row:2;width:auto}
  .dz-rate{grid-column:2;grid-row:1/3;width:auto;align-self:center}

  /* Narrowest phones: tighten the nav row further so it never wraps */
  @media (max-width:400px){
    .mainnav{padding-left:12px;padding-right:12px}
    .navlinks{gap:8px}
    .navlink{font-size:9.5px;letter-spacing:.07em}
    .btn--nav{font-size:9px;letter-spacing:.07em;padding:11px 10px}
  }

  /* Footer: more air between the stacked columns */
  .footer-grid{row-gap:40px}
  .footer-cols{row-gap:34px}
  .footer-dispatch-note{margin-top:12px}
  .footer-legal{row-gap:10px;padding-bottom:30px}
}

/* ============ Print (rate sheet) ============ */
@media print{
  .no-print{display:none !important}
  body{background:#fff}
  .canvas{max-width:none}
}
