/* James Transportation LLC: site stylesheet. Dark / industrial system (Design A).
   Anton + Overpass (OFL, self-hosted), asphalt black + signal yellow, hazard stripes, route shields, highway-sign pills.
   Hand-written, no build step, no CDN. Mobile-first. Contexts: dark by default; .section--pale / .on-light switch to the paper palette. */
@font-face{font-family:"Anton";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/anton-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Overpass";font-style:normal;font-weight:100 900;font-display:swap;src:url("../fonts/overpass-latin-wght-normal.woff2") format("woff2")}
:root{
  --asphalt:#0a0c0f;--steel:#14181d;--steel-2:#1d232a;--sign:#ffc400;--paper:#efece4;--red:#ff3d2e;--green:#0b6e47;--blue:#0f4c8a;
  --font-d:"Anton","Impact","Arial Narrow",sans-serif;--font-b:"Overpass","Segoe UI",system-ui,sans-serif;
  --max:1240px;--header-h:76px;
  /* context (dark) */
  --bg:var(--asphalt);--tx:#d3dae1;--tx2:#a6b0ba;--hd:#fff;--surf:#14181d;--surf-line:#2c353f;--surf-top:var(--sign);--lnk:#ffc400;--acc:#ffc400;
  --f-bg:#0f1318;--f-ink:#fff;--f-line:#46515c;--f-label:#e1e7ec;--f-ph:#8f9aa5;--focus:#ffc400;
  /* legacy names used by inline styles in the page generators */
  --ink:var(--hd);--body:var(--tx);--muted:var(--tx2);--navy:#1d232a;--line:var(--surf-line);--pale:var(--steel)
}
.section--pale,.on-light{--bg:var(--paper);--tx:#1d232a;--tx2:#454d57;--hd:#0a0c0f;--surf:#fff;--surf-line:#0a0c0f;--surf-top:#0a0c0f;--lnk:#0a0c0f;--acc:#0a0c0f;
  --f-bg:#fff;--f-ink:#0a0c0f;--f-line:#6c757f;--f-label:#1d232a;--f-ph:#6b7480;--focus:#0a0c0f;--navy:#1d232a;--pale:#fff}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 12px)}
body{margin:0;font-family:var(--font-b);font-size:1.05rem;line-height:1.62;color:var(--tx);background:var(--asphalt);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img,svg{max-width:100%}
img{height:auto;display:block}
h1,h2,h3,h4,p,ul,ol,figure,blockquote,dl,dd{margin:0}
ul,ol{padding:0;list-style:none}
p{margin-bottom:1em;max-width:64ch}
a{color:var(--lnk);text-underline-offset:3px}
a:hover{color:var(--hd)}
h1,h2,h3,h4{font-family:var(--font-d);font-weight:400;text-transform:uppercase;letter-spacing:.01em;line-height:.98;color:var(--hd);margin-bottom:.5em}
h1{font-size:clamp(3rem,9.5vw,7.4rem);line-height:.9}
h2{font-size:clamp(2.2rem,5.4vw,3.9rem)}
h3{font-size:clamp(1.45rem,2.4vw,1.85rem);line-height:1.02}
h4{font-size:1.25rem}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:#fff;color:#000;padding:.6rem 1rem;border-radius:4px;z-index:200}
.skip:focus{left:8px}
.container,.wrap{width:min(100% - 2.5rem,var(--max));margin-inline:auto}
.container-narrow{width:min(100% - 2.5rem,820px);margin-inline:auto}
.icon{width:1.2em;height:1.2em;flex:none;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.captcha:empty{display:none}
.captcha{margin:.25rem 0}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:50px;padding:.75rem 1.35rem;font:inherit;font-weight:800;font-size:.95rem;text-transform:uppercase;letter-spacing:.06em;text-decoration:none;border:2px solid transparent;border-radius:4px;cursor:pointer;transition:transform .18s ease,background .18s,color .18s,box-shadow .18s,border-color .18s;line-height:1.1;text-align:center}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn--red{background:var(--sign);color:#0a0c0f;border-color:var(--sign)}
.btn--red:hover{background:#ffd34d;border-color:#ffd34d;color:#0a0c0f;box-shadow:0 10px 22px -10px var(--sign)}
.btn--primary{background:#fff;color:#0a0c0f;border-color:#fff}
.btn--primary:hover{background:var(--sign);border-color:var(--sign);color:#0a0c0f}
.btn--ghost,.btn--outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.75)}
.btn--ghost:hover,.btn--outline:hover{background:#fff;color:#0a0c0f;border-color:#fff}
.btn--dark{background:#0a0c0f;color:#fff;border-color:#0a0c0f}
.btn--dark:hover{background:#000;color:var(--sign);border-color:#000}
.section--pale .btn--red,.on-light .btn--red{background:#0a0c0f;border-color:#0a0c0f;color:var(--sign)}
.section--pale .btn--red:hover,.on-light .btn--red:hover{background:#000;color:#fff;box-shadow:0 10px 22px -12px #000}
.section--pale .btn--primary,.on-light .btn--primary{background:var(--sign);border-color:#0a0c0f;color:#0a0c0f}
.section--pale .btn--primary:hover,.on-light .btn--primary:hover{background:#0a0c0f;color:var(--sign)}
.section--pale .btn--ghost,.section--pale .btn--outline,.on-light .btn--ghost,.on-light .btn--outline{color:#0a0c0f;border-color:#0a0c0f}
.section--pale .btn--ghost:hover,.section--pale .btn--outline:hover,.on-light .btn--ghost:hover,.on-light .btn--outline:hover{background:#0a0c0f;color:#fff}
.btn--sm{min-height:42px;padding:.5rem 1rem;font-size:.82rem}
.btn--block{width:100%}
.link-arrow,a.more{display:inline-flex;align-items:center;gap:.5rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.86rem;text-decoration:none;color:var(--lnk);border-bottom:2px solid currentColor;padding-bottom:.12rem}
.link-arrow .icon,a.more .icon{transition:transform .2s}
.link-arrow:hover .icon,a.more:hover .icon{transform:translateX(6px)}
.link-arrow:hover,a.more:hover{color:var(--hd)}
a.more{margin-top:1.2rem}
.more--dark{--lnk:#0a0c0f;color:#0a0c0f}
.cta-row,.cta{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.8rem}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:60;background:var(--asphalt);border-bottom:1px solid #222a32}
.site-header::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:repeating-linear-gradient(-45deg,var(--sign) 0 12px,#0a0c0f 12px 24px);opacity:.9}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:var(--header-h);width:min(100% - 2.5rem,1320px);margin-inline:auto}
.brand{display:block;flex:none;line-height:0;min-width:0;max-width:calc(100% - 64px);transition:transform .2s}
.brand:hover{transform:translateY(-1px)}
.brand img{height:44px;width:auto;max-width:100%}
.nav-toggle{background:none;border:2px solid #46515c;color:#fff;border-radius:4px;width:48px;height:48px;display:grid;place-items:center;cursor:pointer}
.nav-toggle:hover{border-color:var(--sign);color:var(--sign)}
.site-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--asphalt);padding:.5rem 1.25rem 1.5rem;border-bottom:3px solid var(--sign);max-height:calc(100vh - var(--header-h));overflow:auto}
.js .site-nav.is-open{display:block}
.no-js .site-nav{display:block;position:static;border:0}
.site-nav ul{display:grid}
.site-nav a.nav-link,.site-nav .subnav a{display:block;padding:.85rem 0;border-bottom:1px solid #222a32;text-decoration:none;font-weight:800;color:#dfe5ea;text-transform:uppercase;letter-spacing:.06em;font-size:.9rem}
.site-nav a.nav-link[aria-current=page],.site-nav a.nav-link[data-section=current]{color:var(--sign)}
.site-nav .subnav{margin-left:1rem}
.site-nav .subnav a{font-weight:600;font-size:.82rem;color:#aab4be;padding:.6rem 0}
.nav-right{display:grid;gap:.8rem;margin-top:1.1rem}
.nav-phone{display:inline-flex;gap:.5rem;align-items:center;font-weight:800;text-decoration:none;color:#fff;font-size:1.05rem}
.nav-phone .icon{color:var(--sign)}
.nav-cta{width:100%}
@media (min-width:1280px){
  .nav-toggle{display:none}
  .site-nav,.js .site-nav.is-open,.no-js .site-nav{display:flex;position:static;padding:0;border:0;align-items:center;justify-content:flex-end;gap:1rem;background:none;max-height:none;overflow:visible;flex:1}
  .site-nav ul{display:flex;gap:.9rem;margin-left:.5rem}
  .site-nav a.nav-link{border:0;padding:.5rem 0;font-size:.78rem;position:relative;white-space:nowrap}
  .site-nav a.nav-link--wide{white-space:normal;width:10.6rem;line-height:1.2;padding:.35rem 0}
  .site-nav a.nav-link::after{content:"";position:absolute;left:0;bottom:.15rem;height:3px;width:0;background:var(--sign);transition:width .25s}
  .site-nav a.nav-link:hover::after,.site-nav a.nav-link[aria-current=page]::after,.site-nav a.nav-link[data-section=current]::after{width:100%}
  .site-nav a.nav-link:hover{color:#fff}
  .nav-right{display:flex;align-items:center;margin:0;gap:1.1rem}
  .nav-cta{width:auto}
  .nav-phone{font-size:.95rem;white-space:nowrap}
  .has-sub{position:relative}
  .site-nav .subnav{display:none;position:absolute;left:-1rem;top:100%;min-width:15.5rem;margin:0;background:var(--steel);border-top:4px solid var(--sign);padding:.4rem;z-index:70;box-shadow:0 24px 40px -16px #000;gap:0}
  .has-sub:hover>.subnav,.has-sub:focus-within>.subnav{display:grid}
  .site-nav .subnav a{border:0;padding:.7rem .8rem;font-size:.78rem;color:#e6ebef;font-weight:700}
  .site-nav .subnav a:hover{background:var(--sign);color:#0a0c0f}
  .site-nav .subnav a[aria-current=page]{color:var(--sign)}
  .site-nav .subnav a[aria-current=page]:hover{color:#0a0c0f}
}

/* ---------- Footer ---------- */
.site-footer{background:#050607;color:#aeb7c0;padding:0 0 1.5rem;font-size:.95rem;position:relative}
.site-footer::before{content:"";display:block;height:14px;background:repeating-linear-gradient(-45deg,var(--sign) 0 18px,#0a0c0f 18px 36px);margin-bottom:3.5rem}
.site-footer .container{width:min(100% - 2.5rem,1240px)}
.site-footer a{color:#e8edf1;text-decoration:none}
.site-footer a:hover{color:var(--sign);text-decoration:underline}
.site-footer h2{font-family:var(--font-b);font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--sign);margin-bottom:1rem;font-weight:800;line-height:1.2}
.footer-grid{display:grid;gap:2.2rem}
@media (min-width:760px){.footer-grid{grid-template-columns:1.4fr 1fr 1.1fr 1fr}}
.footer-logo{display:inline-block;line-height:0;margin-bottom:1.1rem}
.footer-logo img{height:44px;width:auto;max-width:100%}
.site-footer ul{display:grid;gap:.5rem}
.site-footer p{max-width:none;margin-bottom:.9rem}
.site-footer address{font-style:normal}
.footer-phone{font-family:var(--font-d);font-size:2.2rem;color:var(--sign)!important;letter-spacing:.04em;line-height:1}
.footer-bottom{margin-top:2.8rem;padding-top:1.2rem;border-top:1px solid #222a32;display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;justify-content:space-between;font-size:.85rem;color:#a2acb6}
.footer-bottom a{color:#cdd5dc}
.footer-bottom a.team-login,.site-footer .credit-link{font-size:.8rem}
.trust-todo{margin-top:1rem;font-size:.9rem;color:#c3ccd4}
.footer-smartway{margin-top:.75rem}
.todo{background:#ffe27a;color:#3d2f00;border:1px dashed #a57f00;border-radius:3px;padding:0 .35rem;font-weight:700;font-size:.9em}

/* ---------- Mobile action bar ---------- */
.mobile-bar{position:fixed;left:0;right:0;bottom:0;z-index:55;display:grid;grid-template-columns:1fr 1fr;gap:.6rem;padding:.6rem .75rem calc(.6rem + env(safe-area-inset-bottom));background:#050607;border-top:3px solid var(--sign)}
.mobile-bar .btn{min-height:48px;font-size:.88rem;padding:.5rem .75rem}
.mobile-bar .btn--primary{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}
body{padding-bottom:76px}
@media (min-width:860px){.mobile-bar{display:none}body{padding-bottom:0}}
@media print{.site-header,.mobile-bar{display:none}}
/* ---------- Homepage (Design A) ---------- */
.kicker{font-weight:800;font-size:.85rem;letter-spacing:.2em;text-transform:uppercase;color:var(--sign);margin-bottom:1rem;display:flex;align-items:center;gap:.8rem}
.kicker::before{content:"";width:2.4rem;height:4px;background:repeating-linear-gradient(90deg,var(--sign) 0 8px,transparent 8px 12px);flex:none}
.kicker--dark{color:#6a5200}.kicker--dark::before{background:repeating-linear-gradient(90deg,#0a0c0f 0 8px,transparent 8px 12px)}
.small{font-size:.95rem;color:inherit;opacity:.88;margin-top:.8rem}
.spot,.prot,.more3{--tx:#1d232a;--tx2:#454d57;--hd:#0a0c0f;--lnk:#0a0c0f;--acc:#0a0c0f;--surf:#fff;--surf-line:#0a0c0f;--f-bg:#fff;--f-ink:#0a0c0f;--f-line:#6c757f;--f-label:#1d232a;--focus:#0a0c0f}
.hero .kicker{color:var(--sign)}
.hero a.more,.slab a.more,.exp a.more,.ind a.more{--lnk:#ffc400}
/* hero */
.hero{position:relative;isolation:isolate;padding:clamp(1.5rem,4.5vh,4.5rem) 0 clamp(3.2rem,7vh,5.5rem);overflow:hidden}
.hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;filter:grayscale(1) contrast(1.15) brightness(.75)}
.hero__bg--video{display:none}
.hero.is-video .hero__bg--video{display:block}
.hero.is-video .hero__bg--poster{/* stays under the video as a first-paint fallback */}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,12,15,.96) 0,rgba(10,12,15,.78) 55%,rgba(10,12,15,.55) 100%),linear-gradient(0deg,var(--asphalt) 0,transparent 30%)}
.hero__grid{display:grid;gap:2rem;align-items:center}
.hero h1{font-size:clamp(3rem,13vw,5.6rem);line-height:.9;color:#fff}
.hero h1 span{display:block}
.hero h1 em{font-style:normal;color:var(--sign);display:block;position:relative;width:max-content;max-width:100%}
.hero h1 em::after{content:"";position:absolute;left:0;right:0;bottom:-.08em;height:.08em;background:repeating-linear-gradient(90deg,var(--sign) 0 .35em,transparent .35em .6em)}
.hero .lead{margin-top:clamp(.7rem,1.8vh,1.5rem);font-size:clamp(.95rem,2.2vh,1.15rem);line-height:1.45;color:#d3dae1;max-width:64ch}
.hero .cta{margin-top:clamp(1rem,2.6vh,1.8rem);gap:.6rem}
.hero .cta .btn{min-height:46px;padding-top:.55rem;padding-bottom:.55rem}
.hero__proof{margin-top:clamp(.8rem,2vh,1.4rem);font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#c4ccd4;max-width:60ch;line-height:1.5}
.hero .lead strong{color:#fff}
.ticket{background:var(--steel);border-top:8px solid var(--sign);padding:1.5rem 1.25rem 1.4rem;position:relative;box-shadow:0 30px 60px -20px #000;clip-path:polygon(0 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%)}
.ticket h2{font-size:2.4rem;color:#fff}
@media (min-width:980px){
  .hero__grid{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(1.5rem,3vw,3rem)}
  /* type scales with BOTH width (so "can't deliver," never wraps) and height (so the whole hero fits the first screen) */
  .hero h1{font-size:clamp(2.8rem,min(7.4vw,13vh),7rem)}
  .ticket{padding:clamp(.9rem,2.4vh,1.8rem) clamp(1.1rem,1.6vw,1.6rem) clamp(.9rem,2.2vh,1.4rem)}
  .ticket .tag{margin-bottom:clamp(.3rem,1vh,.7rem)}
  .ticket h2{font-size:clamp(1.8rem,4.6vh,2.4rem);line-height:1}
  .ticket .rescue-sub{font-size:clamp(.85rem,1.9vh,.95rem);line-height:1.35;margin-bottom:clamp(.5rem,1.4vh,1rem)}
  .ticket .form-grid{gap:clamp(.5rem,1.4vh,1rem)}
  .ticket .field{gap:.2rem}
  .ticket .field label{font-size:.82rem}
  .ticket input,.ticket select{min-height:clamp(42px,5.6vh,50px);padding-top:.45rem;padding-bottom:.45rem}
  .ticket .btn--block{min-height:clamp(44px,6vh,52px)}
  .ticket .form-fine{margin-top:.6rem}
  .lane{bottom:clamp(.7rem,2vh,1.6rem)}
}
@media (min-width:980px) and (max-height:820px){.ticket .form-fine{display:none}.lane{display:none}.hero{padding-top:1.1rem;padding-bottom:1.1rem}.hero .kicker{margin-bottom:.5rem}}
.lane{position:absolute;left:0;right:0;bottom:1.6rem;display:flex;align-items:center;gap:.6rem;padding-inline:max(1.25rem,calc((100% - 1280px)/2));z-index:1}
.lane .dash{flex:1;height:6px;background:repeating-linear-gradient(90deg,var(--sign) 0 26px,transparent 26px 46px);animation:dash 1.6s linear infinite;border-radius:3px}
@keyframes dash{to{background-position:46px 0}}
.pin{width:22px;height:22px;background:var(--sign);border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:block;position:relative;flex:none}
.pin::after{content:"";position:absolute;inset:6px;border-radius:50%;background:var(--asphalt)}
.pin--b{background:var(--red)}
/* proof */
.proof{background:var(--sign);color:#0a0c0f;position:relative;padding:3.5rem 0 2.5rem}
.proof::before{content:"";position:absolute;left:0;right:0;top:0;height:14px;background:repeating-linear-gradient(-45deg,#0a0c0f 0 18px,var(--sign) 18px 36px)}
.proof__in{display:grid;gap:1.5rem 1.5rem;align-items:end;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.stat{display:flex;flex-direction:column}
.stat__n{font-family:var(--font-d);font-size:clamp(3.6rem,15.5vw,13rem);line-height:.82;letter-spacing:-.01em}
.stat__n small{font-size:.5em;margin-left:.04em}
.stat__l{font-weight:900;text-transform:uppercase;letter-spacing:.18em;font-size:.82rem;border-top:4px solid #0a0c0f;margin-top:.6rem;padding-top:.5rem;display:inline-block;width:max-content}
.proof .facts{grid-column:1/-1;display:grid;gap:.6rem 2rem;font-size:1.02rem;font-weight:500}
.proof .facts li{border-left:5px solid #0a0c0f;padding-left:.9rem;line-height:1.3}.proof .facts b{font-weight:900;display:block;font-size:1.1rem}
.proof__foot{display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;margin-top:2rem;padding-top:1rem;border-top:2px dashed #0a0c0f;font-weight:700;font-size:.92rem}
@media (min-width:900px){.proof__in{grid-template-columns:auto auto 1fr}.proof .proof .facts{grid-column:auto;grid-template-columns:1fr 1fr}}
/* slabs (dry van / reefer) */
.slab{position:relative;isolation:isolate;min-height:30rem;display:flex;align-items:flex-end;padding:3rem 0;overflow:hidden;color:#fff}
.slab__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;filter:grayscale(1) contrast(1.1) brightness(.62);transition:transform 1.2s ease,filter .6s}
.slab::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,12,15,.9),rgba(10,12,15,.15) 75%),linear-gradient(0deg,rgba(10,12,15,.85),transparent 60%)}
.slab:hover .slab__bg{transform:scale(1.04);filter:grayscale(.2) contrast(1.1) brightness(.7)}
.slab__in{display:grid;gap:1rem;align-items:end}
.num{font-family:var(--font-d);font-size:clamp(7rem,28vw,17rem);line-height:.8;color:transparent;-webkit-text-stroke:2px var(--sign);display:block}
.slab h2{font-size:clamp(3.4rem,12vw,8.5rem);color:#fff}
.slab p{font-size:1.2rem;color:#e1e7ec;margin-top:.8rem}
.slab--r .slab__in{justify-items:start}
.cap{position:absolute;right:1rem;bottom:.6rem;font-size:.7rem;color:#cfd6dd;opacity:.8}
@media (min-width:860px){.slab{min-height:36rem}.slab__in{grid-template-columns:auto 1fr;gap:2.5rem}.slab--r .slab__in{grid-template-columns:1fr auto;direction:rtl}.slab--r .slab__in>*{direction:ltr}.slab--r .num{text-align:right}}
/* expedites */
.exp{background:var(--steel);padding:clamp(3.5rem,8vw,7rem) 0;position:relative;overflow:hidden}
.exp::after{content:"";position:absolute;right:-6rem;top:-6rem;width:26rem;height:26rem;border:3px dashed #2a323b;border-radius:50%}
.num--sm{font-size:clamp(4rem,12vw,7rem);margin-bottom:.8rem}
.exp__in{position:relative;z-index:1}
.exp h2{font-size:clamp(3rem,10vw,8rem)}
.exp__cols{display:grid;gap:2.5rem;margin-top:2.5rem}
.exp__cols h3{font-size:clamp(2rem,5vw,3.2rem);color:var(--sign);padding-top:1rem;border-top:6px solid var(--sign);margin-bottom:.8rem}
.exp__cols p{color:#cdd5dc;font-size:1.12rem}
.exp__box{display:flex;gap:1rem;align-items:flex-start;margin-top:2.5rem;padding:1.2rem 1.4rem;background:var(--asphalt);border-left:8px solid var(--red);max-width:none;color:#e5eaee}
.exp__box .icon{width:2rem;height:2rem;color:var(--sign);margin-top:.15rem}
@media (min-width:860px){.exp__cols{grid-template-columns:1fr 1fr;gap:4rem}}
/* spot */
.spot{background:var(--paper);color:#0a0c0f;padding:clamp(3.5rem,8vw,7rem) 0}
.spot__in{display:grid;gap:2rem}
.num--dark{-webkit-text-stroke-color:#0a0c0f}
.spot h2{font-size:clamp(2.8rem,9.5vw,8rem);line-height:1;max-width:14ch}
.spot mark{background:linear-gradient(transparent 18%,var(--sign) 18% 80%,transparent 80%);color:#0a0c0f;padding:0 .12em;box-decoration-break:clone;-webkit-box-decoration-break:clone}  /* Anton caps sit at ~21%-78% of the inline box; band 18%-80% = 62% < line pitch (66%), so the highlight never paints over the neighbouring lines */
.spot__side p{font-size:1.2rem;margin-bottom:1.4rem}
@media (min-width:980px){.spot__in{grid-template-columns:auto 1.3fr .7fr;align-items:start;gap:3rem}.spot__in .num{grid-row:1}.spot__side{padding-top:1.2rem;border-top:6px solid #0a0c0f}}
/* hazmat strip */
.haz{background:var(--asphalt);position:relative;padding:2.5rem 0}
.haz::before,.haz::after{content:"";position:absolute;left:0;right:0;height:14px;background:repeating-linear-gradient(-45deg,var(--sign) 0 18px,#0a0c0f 18px 36px)}
.haz::before{top:0}.haz::after{bottom:0}
.haz__in{display:grid;gap:1rem;align-items:center;justify-items:start}
.diamond{width:78px;height:78px;background:var(--sign);color:#0a0c0f;transform:rotate(45deg);display:grid;place-items:center;border:5px solid #0a0c0f;outline:4px solid var(--sign);margin:1.2rem}
.diamond .icon{transform:rotate(-45deg);width:2.2rem;height:2.2rem}
.haz .num{display:none}
.haz p{font-size:1.3rem;color:#fff}.haz p strong{color:var(--sign);font-family:var(--font-d);font-weight:400;text-transform:uppercase;font-size:1.7em;display:block;line-height:1}
.haz .more{margin-top:0}
@media (min-width:860px){.haz__in{grid-template-columns:auto 1fr auto;gap:2.5rem}}
/* how */
.how{background:var(--steel-2);padding:clamp(3.5rem,8vw,6.5rem) 0}
.how h2{font-size:clamp(2.6rem,8vw,6.5rem);max-width:14ch;margin-bottom:3rem}
.route{display:grid;gap:2.2rem;position:relative}
.route li{position:relative;padding-left:5rem}
.route li::before{content:"";position:absolute;left:30px;top:70px;bottom:-34px;border-left:4px dashed var(--sign);opacity:.7}
.route li:last-child::before{display:none}
.shield{position:absolute;left:0;top:0;width:62px;height:70px;background:var(--sign);clip-path:polygon(50% 0,100% 16%,100% 66%,50% 100%,0 66%,0 16%);display:grid;place-items:center;transition:transform .25s}
.route li:hover .shield{transform:translateY(-4px) rotate(-4deg)}
.shield b{font-family:var(--font-d);font-weight:400;font-size:1.9rem;color:#0a0c0f;margin-top:-.4rem}
.route h3{font-size:1.9rem;margin-bottom:.4rem;color:#fff}
.route p{color:#c4ccd4}
@media (min-width:900px){.route{grid-template-columns:repeat(4,1fr);gap:2rem}.route li{padding:6rem 0 0}.route li::before{left:62px;right:-2rem;top:32px;bottom:auto;border-left:0;border-top:4px dashed var(--sign)}}
/* protect */
.prot{background:var(--paper);color:#0a0c0f;padding:clamp(3.5rem,8vw,6.5rem) 0}
.prot__in{display:grid;gap:2.5rem}
.prot h2{font-size:clamp(2.6rem,7.5vw,5.8rem);margin-bottom:1.2rem}
.prot p{margin-bottom:.9rem}
.prot__list li{display:grid;grid-template-columns:auto 1fr;gap:1.2rem;padding:1.4rem 0;border-top:5px solid #0a0c0f}
.pn{font-family:var(--font-d);font-size:3.4rem;line-height:.9;color:#0a0c0f}
.prot__list h3{font-size:1.9rem;margin-bottom:.35rem}
.wf{display:grid;gap:0;margin-top:3rem;border-top:3px dashed #0a0c0f;grid-template-columns:1fr 1fr;counter-reset:w}
.wf li{padding:1rem 1rem 1rem 0;counter-increment:w;font-size:.92rem;line-height:1.35}
.wf li::before{content:counter(w,decimal-leading-zero);display:block;font-family:var(--font-d);font-size:1.4rem;color:#a57f00}
.wf b{display:block;text-transform:uppercase;letter-spacing:.06em;font-size:.88rem}
@media (min-width:980px){.prot__in{grid-template-columns:1fr 1fr;gap:5rem}.wf{grid-template-columns:repeat(6,1fr)}}
/* portals */
.portals{background:var(--asphalt);padding:clamp(3.5rem,8vw,6rem) 0;position:relative}
.portals__in{display:grid;gap:2.5rem}
.ways{list-style:none;margin:0 0 1.2rem;padding:0;display:grid;gap:.4rem}
.ways li{padding-left:.9rem;border-left:4px solid var(--sign);color:var(--tx);font-size:1rem}
.ways b{color:var(--sign);text-transform:uppercase;letter-spacing:.04em}
.track-line{font-size:.95rem;color:var(--tx2);margin-top:.6rem}
.card__act{margin-top:auto;padding-top:1rem;margin-bottom:0}
.ways-grid>.card p:first-of-type{margin-top:0}
.portals h2{font-size:clamp(2.6rem,7.5vw,5.8rem);margin-bottom:1rem}
.signs{display:flex;flex-wrap:wrap;gap:.7rem}
.sign{background:var(--green);color:#fff;border:3px solid #fff;border-radius:7px;padding:.55rem 1rem;font-weight:800;box-shadow:inset 0 0 0 2px var(--green),0 6px 14px -6px #000;transition:transform .2s}
.sign:hover{transform:translateY(-3px) rotate(-1deg)}
@media (min-width:980px){.portals__in{grid-template-columns:1.1fr 1fr;gap:5rem;align-items:center}}
/* industries */
.ind{position:relative;isolation:isolate;padding:clamp(3.5rem,8vw,6.5rem) 0;overflow:hidden}
.ind__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;filter:grayscale(1) brightness(.5) contrast(1.1)}
.ind::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(10,12,15,.92),rgba(10,12,15,.55))}
.ind h2{font-size:clamp(2.6rem,7.5vw,5.8rem);max-width:16ch}
.ind__p{margin-top:1rem;color:#d8dfe5}.ind__p a{color:var(--sign)}
.ind__list{margin-top:2.5rem;border-top:2px solid rgba(255,255,255,.35)}
.ind__list a{display:grid;gap:.2rem;padding:1.2rem 0;border-bottom:2px solid rgba(255,255,255,.35);text-decoration:none;color:#fff;transition:padding .25s,background .25s}
.ind__t{font-family:var(--font-d);text-transform:uppercase;font-size:clamp(2.2rem,7vw,4.6rem);line-height:1}
.ind__d{color:#cfd6dd;max-width:50ch}
.ind__go{color:var(--sign);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.85rem;display:inline-flex;gap:.4rem;align-items:center}
.ind__list a:hover{padding-left:1.2rem;background:rgba(255,196,0,.14)}
@media (min-width:860px){.ind__list a{grid-template-columns:1.2fr 1.3fr auto;align-items:center;gap:2rem}}
/* more */
.more3{background:var(--paper);color:#0a0c0f;padding:3.5rem 0}
.more3__in{display:grid;gap:2rem}
.more3 h3{font-size:2.4rem;border-top:6px solid #0a0c0f;padding-top:.8rem;margin-bottom:.6rem}
.also{grid-column:1/-1;font-size:1rem;border-top:3px dashed #0a0c0f;padding-top:1.2rem;max-width:none}
.also a{font-weight:800}
@media (min-width:860px){.more3__in{grid-template-columns:1fr 1fr;gap:4rem}}
/* quote */
.qq{background:var(--steel);padding:clamp(3.5rem,8vw,6rem) 0}
.qq__in{display:grid;gap:2.5rem;align-items:center}
.qq h2{font-size:clamp(2.6rem,7.5vw,5.8rem);margin-bottom:1rem}
.qq .big{font-family:var(--font-d);font-size:1.8rem;text-transform:uppercase;color:var(--sign);margin-bottom:1.4rem;letter-spacing:.02em}
.qq__panel{background:var(--asphalt);border-top:8px solid var(--sign);padding:1.6rem 1.3rem}
.qq-form .field label{color:#cfd6dd}
@media (min-width:980px){.qq__in{grid-template-columns:1.1fr .9fr;gap:5rem}}

/* =====================================================================
   Inner pages: shared components (same visual language, per-page variations below)
   ===================================================================== */
.eyebrow{display:flex;align-items:center;gap:.8rem;font-weight:800;font-size:.82rem;letter-spacing:.2em;text-transform:uppercase;color:var(--acc);margin-bottom:1rem}
.eyebrow::before{content:"";width:2.4rem;height:4px;background:repeating-linear-gradient(90deg,currentColor 0 8px,transparent 8px 12px);flex:none}
.lead{font-size:1.18rem;max-width:58ch}
.section{padding:clamp(3.25rem,7vw,5.5rem) 0;background:var(--bg);color:var(--tx);position:relative}
.section:not(.section--pale)+.section:not(.section--pale){background:var(--steel);border-top:1px solid #222a32}
.section--steel{background:var(--steel)!important}
.section-head{max-width:48rem;margin-bottom:2.2rem}
.section-head--center{margin-inline:auto;text-align:center}
.section-head--center .eyebrow{justify-content:center}
.section-head p{font-size:1.1rem}
.section-head--center p{margin-inline:auto}
.grid{display:grid;gap:1.25rem}
@media (min-width:640px){.grid--2,.grid--3,.grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:960px){.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}}
.split{display:grid;gap:2.5rem;align-items:center}
.split--top{align-items:start}
@media (min-width:900px){.split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4.5rem}.split--rev>:first-child{order:2}}

/* cards: hard-edged, offset shadow, shield badges */
.card{background:var(--surf);border:2px solid var(--surf-line);border-top:6px solid var(--surf-top);padding:1.6rem;display:flex;flex-direction:column;position:relative;transition:transform .2s ease,box-shadow .2s ease;color:var(--tx)}
.card:hover{transform:translateY(-4px);box-shadow:7px 7px 0 var(--surf-top)}
.card p{margin-bottom:0}
.card p+p,.card ul+p{margin-top:.8em}
.card h3{margin-bottom:.45rem}
.card .link-arrow{margin-top:auto;align-self:flex-start;padding-top:1.25rem;border-bottom:0;position:relative}
.card .link-arrow{padding-bottom:0}
.icon-badge{width:54px;height:60px;background:var(--sign);color:#0a0c0f;clip-path:polygon(50% 0,100% 14%,100% 66%,50% 100%,0 66%,0 14%);display:grid;place-items:center;padding-bottom:.4rem;margin-bottom:1.1rem;flex:none}
.icon-badge .icon{width:26px;height:26px}
.section--pale .icon-badge,.on-light .icon-badge{background:#0a0c0f;color:var(--sign)}
.icon-badge--red,.section--pale .icon-badge--red{background:#c8281b;color:#fff}
.rescue-card{border-top-color:#ff3d2e}
.rescue-card:hover{box-shadow:7px 7px 0 #ff3d2e}

/* promise / pills / chips */
.promise{display:inline-flex;align-items:center;gap:.45rem;margin:0 0 1.1rem;padding:.28rem .8rem;border-radius:999px;background:rgba(255,255,255,.06);color:#e9ebee;border:1px solid rgba(255,255,255,.38);box-shadow:none;font-size:.86rem;font-weight:600;letter-spacing:.01em;text-transform:none;line-height:1.3;max-width:none;cursor:default;user-select:text}
.promise strong{font-weight:600}
.promise .icon{width:.95em;height:.95em;color:#e9ebee;opacity:.85;flex:none}
.promise--lg{font-size:.92rem;padding:.3rem .85rem}
.section--pale .promise,.on-light .promise{background:rgba(10,12,15,.05);color:#1d232a;border-color:rgba(10,12,15,.4);box-shadow:none}
.section--pale .promise .icon,.on-light .promise .icon{color:#1d232a}
.hero__chips{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.8rem}
.hero__chips li{display:inline-flex;align-items:center;gap:.45rem;padding:.35rem .85rem;border:2px solid rgba(255,255,255,.5);border-radius:6px;font-size:.88rem;font-weight:700;color:#fff}
.hero__chips a{text-decoration:none;color:inherit}
.hero__chips li:hover{border-color:var(--sign)}
.hero__chips li:has(.btn){border:0;padding:0}
.svc{background:var(--bg);color:var(--tx)}
.hero__chips .icon{color:var(--sign)}
.smartway-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .85rem;border-radius:6px;background:var(--green);color:#fff;border:2px solid #fff;box-shadow:0 0 0 2px #0a0c0f;font-weight:800;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}
.smartway-badge::before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:#7ff0b4}
.badges{display:flex;flex-wrap:wrap;gap:.7rem;margin:0 0 1.5rem}
.badge-pill{display:inline-flex;align-items:center;min-height:44px;padding:.45rem 1.05rem;border-radius:7px;background:var(--green);color:#fff;border:3px solid #fff;font-weight:800;font-size:.95rem;box-shadow:0 0 0 2px #0a0c0f,0 6px 14px -6px #000;transition:transform .2s}
.badge-pill:hover{transform:translateY(-3px) rotate(-1deg)}
.badges-note{margin:0;max-width:none}

/* checklist, media */
.checklist{display:grid;gap:.75rem;margin:1.25rem 0}
.checklist li{display:flex;gap:.75rem;align-items:flex-start}
.checklist .icon{background:var(--sign);color:#0a0c0f;padding:.2em;width:1.5em;height:1.5em;border-radius:2px;margin-top:.1em}
.section--pale .checklist .icon,.on-light .checklist .icon{background:#0a0c0f;color:var(--sign)}
.media{position:relative;margin:0;background:#000;border:2px solid var(--surf-line)}
.media img{width:100%;filter:grayscale(.85) contrast(1.1) brightness(.9);transition:filter .5s}
.media:hover img{filter:grayscale(0) contrast(1.05)}
/* r143 (TS 2026-10-11): no yellow "tape" strip on photos. Do not add a .media::before decoration back. */
.media figcaption{font-size:.8rem;color:#cfd6dd;padding:.55rem .9rem;background:#0a0c0f}
.media--photo img{aspect-ratio:4/3;object-fit:cover}

/* kpis */
.kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem 1.2rem}
.kpi{border-left:6px solid var(--acc);padding:.2rem 0 .2rem 1rem;text-align:left}
.kpi__num{font-family:var(--font-d);font-size:clamp(3.2rem,9vw,5.6rem);line-height:.9;color:var(--hd);text-transform:uppercase}
.kpi__num span{font-size:.5em;margin-left:.04em;color:var(--acc)}
.kpi__num--text{font-size:clamp(1.7rem,3.6vw,2.4rem);line-height:1}
.kpi__label{margin-top:.5rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;color:var(--tx2)}
.kpi-foot{margin:1.6rem 0 0;font-size:.95rem;max-width:none;color:var(--tx2)}
@media (min-width:860px){.kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* steps (expedites & recoveries "how a rescue works") */
.steps{counter-reset:st;display:grid;gap:2rem;position:relative}
.step{position:relative;padding:0 0 0 5rem;counter-increment:st}
.step::before{content:counter(st);position:absolute;left:0;top:0;width:62px;height:70px;background:var(--sign);color:#0a0c0f;clip-path:polygon(50% 0,100% 16%,100% 66%,50% 100%,0 66%,0 16%);display:grid;place-items:center;font-family:var(--font-d);font-size:1.9rem;padding-bottom:.45rem;transition:transform .25s}
.step:hover::before{transform:translateY(-4px) rotate(-4deg)}
.step:not(:last-child)::after{content:"";position:absolute;left:30px;top:76px;bottom:-30px;border-left:4px dashed var(--acc);opacity:.7}
.section--pale .step::before,.on-light .step::before{background:#0a0c0f;color:var(--sign)}
.step h3{margin-bottom:.35rem}
.step p{margin:0}
@media (min-width:900px){
  .steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem}
  .step{padding:6rem 0 0}
  .step:not(:last-child)::after{left:70px;right:-2rem;top:32px;bottom:auto;border-left:0;border-top:4px dashed var(--acc)}
}

/* workflow strip (technology) */
.workflow{display:grid;gap:0;counter-reset:wf;border-top:3px dashed var(--acc)}
@media (min-width:640px){.workflow{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1000px){.workflow{grid-template-columns:repeat(6,minmax(0,1fr))}}
.wf-step{counter-increment:wf;padding:1.1rem 1rem 1.2rem 0;min-width:0;overflow-wrap:anywhere}
.wf-step::before{content:counter(wf,decimal-leading-zero);display:block;font-family:var(--font-d);font-size:1.5rem;color:var(--acc);margin-bottom:.4rem}
.wf-ico{display:none}
.wf-step h3{font-size:1.15rem;margin:0 0 .3rem}
.wf-step p{margin:0;font-size:.92rem;color:var(--tx2)}

/* panels + forms */
.panel{background:var(--surf);border:2px solid var(--surf-line);border-top:8px solid var(--sign);padding:1.5rem;position:relative}
.section--pale .panel{border-top-color:#0a0c0f;box-shadow:8px 8px 0 #0a0c0f}
@media (min-width:640px){.panel{padding:2.1rem}}
.ticket .panel{background:none;border:0;padding:0;box-shadow:none}
.form-grid{display:grid;gap:1rem}
@media (min-width:640px){.form-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid--3{grid-template-columns:2fr 1fr 1fr}.span-2{grid-column:span 2}}
.field{display:flex;flex-direction:column;gap:.35rem;min-width:0}
.field label,.field legend{font-weight:700;font-size:.9rem;color:var(--f-label);padding:0}
.field .req{color:var(--acc)}
.field .hint{font-size:.82rem;color:var(--tx2);font-weight:400}
input[type=text],input[type=email],input[type=tel],input[type=date],input[type=number],input[type=datetime-local],select,textarea{width:100%;min-height:50px;padding:.7rem .9rem;font:inherit;font-size:1rem;color:var(--f-ink);background:var(--f-bg);border:2px solid var(--f-line);border-radius:3px;transition:border-color .15s,box-shadow .15s;color-scheme:dark}
.section--pale input,.section--pale select,.section--pale textarea{color-scheme:light}
textarea{min-height:120px;resize:vertical}
input::placeholder,textarea::placeholder{color:var(--f-ph)}
input:focus,select:focus,textarea:focus{outline:3px solid var(--focus);outline-offset:1px;border-color:transparent}
input[aria-invalid=true]{border-color:#ff6b5e;box-shadow:inset 4px 0 0 #ff6b5e}
fieldset{border:0;padding:0;margin:0;min-width:0}
.seg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
@media (min-width:640px){.seg{display:flex;flex-wrap:wrap;gap:.5rem}}  /* wraps inside narrow two-column form cards instead of spilling into the sidebar */
.seg label{position:relative;cursor:pointer;margin:0}
.seg input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer;margin:0}
.seg span{display:flex;align-items:center;justify-content:center;text-align:center;min-height:46px;padding:.5rem 1rem;border:2px solid var(--f-line);border-radius:6px;font-weight:800;font-size:.82rem;text-transform:uppercase;letter-spacing:.05em;color:var(--f-ink);background:var(--f-bg);transition:all .15s}
.seg label:hover span{border-color:var(--acc)}
.seg input:checked+span{background:var(--sign);color:#0a0c0f;border-color:var(--sign);box-shadow:0 0 0 2px #0a0c0f,0 0 0 4px var(--sign)}
.section--pale .seg input:checked+span{background:#0a0c0f;color:var(--sign);border-color:#0a0c0f;box-shadow:none}
.seg input:focus-visible+span{outline:3px solid var(--focus);outline-offset:3px}
.checks{display:grid;gap:.4rem .9rem}
@media (min-width:640px){.checks{grid-template-columns:repeat(2,minmax(0,1fr))}}
.checks label{display:flex;align-items:center;gap:.6rem;font-weight:500;font-size:.95rem;min-height:40px;color:var(--tx)}
.checks input{width:20px;height:20px;accent-color:var(--sign);flex:none}
.section--pale .checks input{accent-color:#0a0c0f}
details.more{border:2px solid var(--f-line);padding:.25rem 1rem;background:transparent}
details.more summary{cursor:pointer;font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:.85rem;color:var(--hd);padding:.8rem 0;min-height:44px}
details.more[open] summary{border-bottom:1px solid var(--f-line);margin-bottom:1rem}
details.more .form-grid{padding-bottom:1rem}
.form-status{margin-top:1rem;padding:.85rem 1.1rem;border-radius:3px;font-weight:600;display:none;font-size:.95rem}
.form-status.is-shown{display:block}
.form-status--ok{background:#dff5e6;color:#0b4a24;border-left:8px solid #1c9c52}
.form-status--warn{background:#fff3cd;color:#4d3a00;border-left:8px solid #d49b00}
.form-status--err{background:#ffe0e2;color:#7a0010;border-left:8px solid #d62839}
.form-urgent{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;background:#0a0c0f;border-left:8px solid #ff3d2e;padding:.9rem 1.1rem;margin-bottom:1.5rem;color:#e6ebef}
.form-urgent .icon{color:var(--sign)}
.form-urgent a{font-weight:800;color:var(--sign)}
.form-fine{font-size:.88rem;color:var(--tx2);margin-top:1rem;max-width:none}
.form-privacy{font-size:.76rem;line-height:1.35;color:var(--tx2);margin-top:.7rem;max-width:none}
.form-privacy a{color:inherit;text-decoration:underline}
.legal h2{font-size:1.35rem;margin:1.8rem 0 .5rem}
.legal p{max-width:70ch}
.legal-draft{margin-bottom:1rem}
.footer-more{font-size:.85rem}
.form-fine a{color:var(--lnk);font-weight:700}
.field-err{color:#ff8a80!important;font-weight:700}
.section--pale .field-err{color:#b3261e!important}
.rescue-form .tag,.tag{display:inline-block;margin-bottom:.7rem;font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:.25rem .65rem;background:#c8281b;color:#fff;border-radius:2px}
.rescue-form h2{margin-bottom:.3rem}
.rescue-sub{margin:.4rem 0 1.1rem;font-size:.97rem;color:var(--tx2)}
.rescue-sub strong{color:var(--hd)}
.ticket .rescue-sub{color:#aeb7c0}

/* cta bands */
.cta-band{--hd:#0a0c0f;--tx:#14181d;--lnk:#0a0c0f;--acc:#0a0c0f;background:var(--sign);color:#14181d;padding:2.4rem 1.5rem 2rem;display:grid;gap:1.25rem;align-items:center;position:relative;border:0}
.cta-band::before{content:"";position:absolute;left:0;right:0;top:0;height:10px;background:repeating-linear-gradient(-45deg,#0a0c0f 0 14px,var(--sign) 14px 28px)}
.cta-band h2,.cta-band h3{color:#0a0c0f;margin-bottom:.4rem}
.cta-band p{margin:0;font-weight:500}
.cta-band .btn--red{background:#0a0c0f;border-color:#0a0c0f;color:var(--sign)}
.cta-band .btn--red:hover{background:#000;color:#fff}
.cta-band .btn--ghost,.cta-band .btn--outline{color:#0a0c0f;border-color:#0a0c0f}
.cta-band .btn--ghost:hover,.cta-band .btn--outline:hover{background:#0a0c0f;color:#fff}
.cta-band .btn--primary{background:#fff;border-color:#0a0c0f;color:#0a0c0f}
@media (min-width:860px){.cta-band{grid-template-columns:1fr auto;padding:2.8rem 2.6rem 2.4rem}}
.cta-band--light{--hd:#fff;--tx:#d3dae1;--lnk:#ffc400;--acc:#ffc400;background:var(--asphalt);color:#d3dae1;border:2px solid #2c353f;border-left:12px solid var(--sign)}
.cta-band--light::before{display:none}
.cta-band--light h2,.cta-band--light h3{color:#fff}
.cta-band--light .btn--red{background:var(--sign);border-color:var(--sign);color:#0a0c0f}
.cta-band--light .btn--outline,.cta-band--light .btn--ghost{color:#fff;border-color:rgba(255,255,255,.75)}
.cta-band--light .btn--outline:hover,.cta-band--light .btn--ghost:hover{background:#fff;color:#0a0c0f}

/* contact */
.contact-list{display:grid;gap:1.3rem}
.contact-list li{display:flex;gap:1rem;align-items:flex-start}
.contact-list .icon-badge{margin:0;width:46px;height:52px;flex:none}
.contact-list .icon-badge .icon{width:21px;height:21px}
.contact-list strong{display:block;color:var(--hd);text-transform:uppercase;letter-spacing:.05em;font-size:.9rem}
.contact-list a{font-weight:700;overflow-wrap:anywhere}
.contact-list li>div{min-width:0}
address{font-style:normal}
.prose h3{margin-top:1.75rem}

/* tracking */
.track-layout{display:grid;gap:1.5rem;align-items:start}
@media (min-width:980px){.track-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}}
.demo-banner{display:flex;gap:.7rem;align-items:flex-start;background:#2b2400;border:1px solid #6b5700;border-left:8px solid var(--sign);color:#ffe9a3;padding:.85rem 1rem;font-size:.92rem;margin-bottom:1.25rem}
.demo-banner .icon{margin-top:.15em;color:var(--sign)}
.demo-pill{display:inline-block;background:var(--sign);color:#0a0c0f;font-weight:900;font-size:.7rem;letter-spacing:.1em;padding:.1rem .5rem;border-radius:2px;vertical-align:middle}
.result-head{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}
.result-head h2{margin:0}
.result-head .eyebrow{margin:0 0 .25rem}
.badge{display:inline-flex;align-items:center;gap:.4rem;font-weight:800;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;padding:.3rem .8rem;border-radius:6px;border:2px solid #fff}
.badge--ok{background:var(--green);color:#fff}
.badge--late{background:#8a3b00;color:#fff}
dl.facts{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));margin:1.75rem 0}
.fact{background:#0a0c0f;border-left:5px solid var(--sign);padding:.8rem 1rem}
.fact dt{font-size:.74rem;text-transform:uppercase;letter-spacing:.12em;color:#aeb7c0;font-weight:800}
.fact dd{margin:.2rem 0 0;color:#fff;font-weight:700}
.map-ph{min-height:200px;border:2px dashed #46515c;display:grid;place-items:center;text-align:center;color:#aeb7c0;font-size:.9rem;padding:1rem;position:relative;overflow:hidden;
  background:repeating-linear-gradient(0deg,transparent 0 39px,rgba(255,196,0,.08) 39px 40px),repeating-linear-gradient(90deg,transparent 0 39px,rgba(255,196,0,.08) 39px 40px),#0a0c0f}
.map-ph::before{content:"";position:absolute;left:8%;right:8%;top:50%;height:6px;background:repeating-linear-gradient(90deg,var(--sign) 0 26px,transparent 26px 46px);opacity:.55;animation:dash 1.6s linear infinite}
.map-ph span{position:relative;background:#0a0c0f;padding:.6rem 1rem;border:2px solid #2c353f}
.result-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}
.stepper{display:grid;gap:0;margin:0;position:relative}
.stepper li{position:relative;padding:0 0 1.5rem 3.2rem;min-height:3rem}
.stepper li:last-child{padding-bottom:0}
.stepper li::before{content:"";position:absolute;left:1.05rem;top:2.2rem;bottom:-.1rem;width:0;border-left:4px dashed #46515c}
.stepper li:last-child::before{display:none}
.stepper .dot{position:absolute;left:0;top:0;width:2.3rem;height:2.3rem;border-radius:50%;background:#0a0c0f;border:3px solid #46515c;display:grid;place-items:center;color:#0a0c0f}
.stepper .dot .icon{width:1.1rem;height:1.1rem;opacity:0}
.stepper strong{display:block;color:#fff;line-height:2.3rem;text-transform:uppercase;letter-spacing:.04em;font-size:.95rem}
.stepper span.when{display:block;font-size:.88rem;color:#aeb7c0;margin-top:-.2rem}
.stepper li.is-done::before{border-left-color:var(--sign)}
.stepper li.is-done .dot{background:var(--sign);border-color:var(--sign)}
.stepper li.is-done .dot .icon{opacity:1}
.stepper li.is-current .dot{border-color:#ff3d2e;box-shadow:0 0 0 5px rgba(255,61,46,.25)}
.stepper li.is-current .dot::after{content:"";width:.8rem;height:.8rem;border-radius:50%;background:#ff3d2e;animation:pulse 2s infinite}
.stepper li.is-current strong{color:var(--sign)}
.stepper li.is-todo strong{color:#8f9aa5;font-weight:600}
@keyframes pulse{50%{transform:scale(1.35)}}
@media (min-width:760px){
  .stepper--h{grid-template-columns:repeat(5,minmax(0,1fr))}
  .stepper--h li{padding:3.2rem .25rem 0;text-align:center}
  .stepper--h li::before{left:50%;right:-50%;top:1.05rem;bottom:auto;border-left:0;border-top:4px dashed #46515c;width:auto}
  .stepper--h li.is-done::before{border-top-color:var(--sign)}
  .stepper--h .dot{left:50%;transform:translateX(-50%)}
  .stepper--h strong{line-height:1.3;font-size:.82rem}
  .stepper--h span.when{margin-top:.15rem}
}
.team-photo{display:grid;place-items:center;aspect-ratio:4/3;margin-bottom:1rem;font-size:1rem}
.team-card h3 .todo,.team-card p .todo{display:inline-block}

/* =====================================================================
   Inner page heroes: one family, four treatments
   ===================================================================== */
.page-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--asphalt);color:var(--tx);padding:clamp(2.75rem,6vw,5rem) 0 clamp(3.5rem,7vw,5.5rem)}
.page-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:12px;background:repeating-linear-gradient(-45deg,var(--sign) 0 18px,#0a0c0f 18px 36px);z-index:2}
.page-hero__inner{position:relative;z-index:3}
.page-hero h1{font-size:clamp(2.9rem,8.4vw,6.2rem);max-width:15ch;margin-bottom:.35em}
.page-hero .lead{font-size:clamp(1.05rem,2vw,1.22rem);max-width:56ch;color:#d3dae1}
.page-hero .lead a{color:var(--sign)}
.page-hero .lead strong{color:#fff}
.page-hero .eyebrow{color:var(--sign)}
.ghost{position:absolute;right:-.03em;bottom:-.1em;font-family:var(--font-d);font-size:clamp(6.5rem,25vw,19rem);line-height:.8;color:transparent;-webkit-text-stroke:2px rgba(255,196,0,.2);z-index:1;pointer-events:none;text-transform:uppercase;white-space:nowrap;user-select:none}
.page-hero::before{content:"";position:absolute;inset:0;z-index:0;background:radial-gradient(60rem 22rem at 85% 0,rgba(255,196,0,.09),transparent 70%)}
/* photo hero: duotone-ish, grayscale + yellow tape */
.page-hero--img{background:#0a0c0f}
.page-hero--img::before{background:linear-gradient(90deg,rgba(10,12,15,.96) 0,rgba(10,12,15,.82) 55%,rgba(10,12,15,.5) 100%),linear-gradient(0deg,#0a0c0f 0,transparent 35%);z-index:-1}
.page-hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 50%;z-index:-2;filter:grayscale(1) contrast(1.15) brightness(.75)}
/* On-brand non-photo hero (TS 2026-10-10): dark diesel-steel texture, a faint diamond-plate grid and a hazard stripe along the bottom. */
.page-hero__tex{position:absolute;inset:0;z-index:-2;background:
  repeating-linear-gradient(45deg,rgba(255,255,255,.035) 0 2px,transparent 2px 14px),
  repeating-linear-gradient(-45deg,rgba(255,255,255,.03) 0 2px,transparent 2px 14px),
  radial-gradient(120% 90% at 85% 20%,rgba(255,196,0,.16),transparent 55%),
  linear-gradient(160deg,#1a1e24 0,#0d1014 60%,#0a0c0f 100%)}
.page-hero__tex::after{content:"";position:absolute;left:0;right:0;bottom:0;height:12px;background:repeating-linear-gradient(-45deg,var(--sign,#ffc400) 0 14px,#0a0c0f 14px 28px);opacity:.9}
.page-hero--img .ghost{-webkit-text-stroke-color:rgba(255,255,255,.16)}
.page-hero--img .page-hero__inner::before{content:"";display:block;width:5.5rem;height:14px;background:var(--sign);transform:skewX(-30deg);margin-bottom:1.6rem}
/* yellow poster hero */
.ph--yellow{--hd:#0a0c0f;--tx:#14181d;--lnk:#0a0c0f;--acc:#0a0c0f;background:var(--sign);color:#14181d}
.ph--yellow::before{background:none}
.ph--yellow::after{background:repeating-linear-gradient(-45deg,#0a0c0f 0 18px,var(--sign) 18px 36px)}
.ph--yellow .lead,.ph--yellow .lead strong{color:#14181d}
.ph--yellow .lead a{color:#0a0c0f;font-weight:800}
.ph--yellow .eyebrow{color:#0a0c0f}
.ph--yellow .ghost{-webkit-text-stroke-color:rgba(10,12,15,.22)}
.ph--yellow h1{max-width:14ch}
/* compact tool hero (track / quote / contact) */
.ph--compact{padding:clamp(2.2rem,4.5vw,3.5rem) 0 clamp(3rem,5vw,4.2rem)}
.ph--compact h1{font-size:clamp(2.6rem,7vw,5rem);max-width:none}
.ph--phone .page-hero__inner{display:grid;grid-template-columns:minmax(0,1fr);gap:1.6rem;align-items:end}
.ph-plate{display:grid;gap:.2rem;justify-items:start;background:var(--sign);color:#0a0c0f;padding:1rem 1.4rem 1.1rem;border:4px solid #0a0c0f;outline:3px solid var(--sign);text-decoration:none;transform:rotate(-1.5deg);transition:transform .25s;width:max-content;max-width:100%}
.ph-plate:hover{transform:rotate(0);color:#0a0c0f}
.ph-plate small{font-weight:900;letter-spacing:.2em;text-transform:uppercase;font-size:.72rem}
.ph-plate b{font-family:var(--font-d);font-weight:400;font-size:clamp(2.2rem,6vw,3.6rem);line-height:1;letter-spacing:.03em}
.ph-plate span{font-weight:700;font-size:.9rem}
@media (min-width:900px){.ph--phone .page-hero__inner{grid-template-columns:minmax(0,1fr) auto}}

/* =====================================================================
   Services: spec-sheet rows (numbered, alternating, hazard-striped specials)
   ===================================================================== */
.svc{padding:clamp(3rem,6vw,4.6rem) 0;position:relative;overflow:hidden}
.svc__grid{display:grid;gap:1.6rem;align-items:start}
.svc__head{position:relative}
.svc-n{display:block;font-family:var(--font-d);font-size:clamp(5.5rem,16vw,10rem);line-height:.8;color:transparent;-webkit-text-stroke:2px var(--acc);margin-bottom:.9rem;opacity:.9}
.svc__head h2{font-size:clamp(2.2rem,4.8vw,3.5rem);margin-bottom:0}
.svc__head .icon-badge{margin-bottom:1rem}
.svc__body>p:first-child{font-size:1.12rem}
.svc__body .checklist{margin-top:1.1rem}
.svc__media{margin-top:1.4rem}
.svc__body .btn{margin:.4rem .4rem .4rem 0}
@media (min-width:900px){
  .svc__grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:3.5rem}
  .svc--flip .svc__grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
  .svc--flip .svc__head{order:2}
  .svc--flip .svc__head .svc-n{text-align:right}
  .svc--flip .svc__head h2,.svc--flip .svc__head .icon-badge{margin-left:auto;text-align:right}
}
.svc--haz{border-top:14px solid transparent;border-image:repeating-linear-gradient(-45deg,var(--sign) 0 18px,#0a0c0f 18px 36px) 14}
.svc--haz .icon-badge{clip-path:none;transform:rotate(45deg);width:58px;height:58px;margin:.6rem 0 1.6rem .6rem;padding:0;border:4px solid #0a0c0f;outline:4px solid var(--sign)}
.svc--haz .icon-badge .icon{transform:rotate(-45deg)}
.svc--haz.section--pale .icon-badge{background:var(--sign);color:#0a0c0f;outline-color:#0a0c0f}
.svc--spot .svc__body>p:first-child strong{background:var(--sign);color:#0a0c0f;padding:0 .2em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.svc--flip.svc--haz .icon-badge{margin-left:auto;margin-right:.6rem}

/* page-specific flourishes */
.pg-expedites-recovery #spot-market-cleanup .lead strong{background:var(--sign);color:#0a0c0f;padding:0 .2em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.pg-expedites-recovery #expedites,.pg-expedites-recovery #recoveries,.pg-expedites-recovery #spot-market-cleanup{overflow:hidden}
.pg-expedites-recovery #expedites::before,.pg-expedites-recovery #recoveries::before,.pg-expedites-recovery #spot-market-cleanup::before{position:absolute;right:-.02em;top:.15em;font-family:var(--font-d);font-size:clamp(9rem,28vw,20rem);line-height:.8;color:transparent;-webkit-text-stroke:2px var(--acc);opacity:.16;pointer-events:none}
.pg-expedites-recovery #expedites::before{content:"01";content:"01" / ""}
.pg-expedites-recovery #recoveries::before{content:"02";content:"02" / ""}
.pg-expedites-recovery #spot-market-cleanup::before{content:"03";content:"03" / ""}
.pg-expedites-recovery #expedites .container,.pg-expedites-recovery #recoveries .container,.pg-expedites-recovery #spot-market-cleanup .container{position:relative;z-index:1}
/* numbered poster cards */
.grid--num{counter-reset:gn}
.grid--num>.card{counter-increment:gn;overflow:hidden}
.grid--num>.card::after{content:counter(gn,decimal-leading-zero);position:absolute;right:.8rem;top:.2rem;font-family:var(--font-d);font-size:4.2rem;line-height:1;color:transparent;-webkit-text-stroke:1.5px var(--acc);opacity:.35;pointer-events:none}
.grid--num>.card h3{padding-right:3rem}
.team-card .team-photo{border:2px dashed #a57f00}
/* 2-column feature lists on dark */
.section--pale .card .checklist{margin-bottom:0}
.card .checklist{margin-top:.6rem}

/* =====================================================================
   Capabilities sheet: a paper document on the dark page (keeps the brand blues for print)
   ===================================================================== */
/* ===== Capabilities sheet (letter, 1 page) — brand asphalt / Sign Yellow / Anton+Overpass ===== */
.sheet{--asphalt:#0a0c0f;--sign:#ffc400;--line:#d8dee6;--ink:#0a0c0f;--tx:#1c2430;--muted:#5a6572;
  max-width:8.5in;margin:0 auto;background:#fff;color:var(--tx);border:1px solid var(--line);
  box-shadow:0 18px 40px -24px #000, 0 0 0 3px var(--asphalt), 0 0 0 6px var(--sign);
  padding:.42in .48in .4in;font-family:var(--font-b);font-size:.88rem;line-height:1.4}
.sheet h1,.sheet h2{font-family:var(--font-d,var(--font-b));text-transform:none;letter-spacing:0}
.sheet p{max-width:none;margin:0}
.sheet a{color:var(--asphalt);text-decoration-thickness:1px;text-underline-offset:2px}
.sheet__head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;
  border-bottom:3px solid var(--asphalt);padding-bottom:.55rem;margin-bottom:.45rem}
.sheet__brand{display:flex;flex-direction:column;gap:.35rem}
.sheet__logo{display:inline-block;background:var(--asphalt);padding:.4rem .75rem;line-height:0;
  border-bottom:3px solid var(--sign);-webkit-print-color-adjust:exact;print-color-adjust:exact}
.sheet__head img{height:40px;width:auto;display:block}
.sheet__tag{font-weight:800;font-size:.95rem;color:var(--asphalt);margin:0;letter-spacing:.01em}
.sheet__contact{text-align:right;font-size:.8rem;line-height:1.45;color:var(--tx)}
.sheet__contact strong{font-size:.95rem}
.sheet__muted{color:var(--muted);font-weight:600}
.sheet__title-row{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin:.35rem 0 .25rem}
.sheet h1{font-family:var(--font-d,Anton,Impact,sans-serif);font-size:2.05rem;margin:0;line-height:.95;color:var(--asphalt);font-weight:400;text-transform:uppercase}
.sheet__badge{font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--asphalt);
  background:var(--sign);padding:.28rem .55rem;border-radius:2px;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.sheet__lead{font-size:.92rem;margin:0 0 .55rem!important;color:var(--tx)}
.sheet__h,.sheet h2{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--asphalt);margin:0 0 .35rem;font-weight:800}
.sheet-tiles{list-style:none;margin:0 0 .4rem;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem}
.sheet-tiles li{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:.4rem;row-gap:.05rem;
  align-items:center;border:1px solid var(--line);border-top:3px solid var(--sign);padding:.4rem .45rem .4rem .4rem;background:#fafbfc;
  -webkit-print-color-adjust:exact;print-color-adjust:exact}
.sheet-tiles li b{font-size:.78rem;color:var(--asphalt);line-height:1.15}
.sheet-tiles li>span:last-child{grid-column:2;font-size:.68rem;color:var(--muted);line-height:1.25}
.sheet-tile__ic{grid-row:1 / span 2;width:1.7rem;height:1.7rem;display:grid;place-items:center;color:var(--asphalt)}
.sheet-tile__ic .icon{width:1.35rem;height:1.35rem}
.sheet__onreq{font-size:.75rem;margin:0 0 .55rem!important;color:var(--muted)}
.sheet__kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:.35rem;background:var(--asphalt);color:#c8d0d8;
  padding:.55rem .4rem;text-align:center;margin:0 0 .4rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.sheet__kpis b{display:block;color:var(--sign);font-size:1.25rem;line-height:1.05;font-weight:800}
.sheet__kpis b.sm{font-size:.95rem;line-height:1.15}
.sheet__kpis span{font-size:.68rem;letter-spacing:.02em}
.sheet__promise{margin:0 0 .55rem!important;padding:.35rem .7rem;background:var(--sign);color:var(--asphalt);
  text-align:center;font-size:.92rem;font-weight:700;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.sheet__cols{display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem}
.sheet__cols ul{display:grid;gap:.18rem;font-size:.75rem;margin:0;padding-left:1.05rem}
.sheet__cols p{font-size:.72rem}
.sheet__foot{display:grid;grid-template-columns:1.1fr .9fr;gap:1rem;margin-top:.65rem;padding-top:.5rem;
  border-top:3px solid var(--asphalt);font-size:.72rem;line-height:1.4}
.sheet .smartway-badge{box-shadow:none;margin:0}
@media (max-width:760px){
  .sheet{padding:1.1rem;box-shadow:0 10px 28px -18px #000}
  .sheet-tiles{grid-template-columns:1fr 1fr}
  .sheet__cols,.sheet__foot{grid-template-columns:1fr}
  .sheet__kpis{grid-template-columns:1fr 1fr}
  .sheet__contact{text-align:left}
}
@media print{
  @page{size:letter;margin:.45in}
  .site-header,.mobile-bar,.site-footer,.no-print,.cap-screen,.skip{display:none!important}
  body{background:#fff!important;color:#000;padding:0}
  .section{background:#fff!important;padding:0!important}
  .cap-body .container{width:auto;max-width:none;padding:0}
  .sheet{box-shadow:none!important;border:0;padding:0;max-width:none;font-size:.68rem;line-height:1.28;
    color:#0a0c0f;background:#fff}
  .sheet h1{font-size:1.35rem}
  .sheet__head img{height:28px}.sheet__logo{padding:.22rem .45rem;border-bottom-width:2px}
  .sheet__head{padding-bottom:.35rem;margin-bottom:.3rem}
  .sheet__lead{font-size:.78rem;margin-bottom:.35rem!important}
  .sheet-tiles{gap:.28rem;margin-bottom:.28rem}
  .sheet-tiles li{padding:.28rem .32rem;border-top-width:2px}
  .sheet-tiles li b{font-size:.7rem}.sheet-tiles li>span:last-child{font-size:.62rem}
  .sheet-tile__ic .icon{width:1.1rem;height:1.1rem}
  .sheet__onreq{font-size:.66rem;margin-bottom:.35rem!important}
  .sheet__kpis{padding:.3rem .2rem;margin-bottom:.28rem}.sheet__kpis b{font-size:.95rem}.sheet__kpis b.sm{font-size:.78rem}.sheet__kpis span{font-size:.6rem}
  .sheet__promise{font-size:.78rem;margin-bottom:.35rem!important;padding:.22rem .5rem}
  .sheet__cols{gap:.55rem}.sheet__cols ul{font-size:.64rem;gap:.1rem}.sheet__cols p{font-size:.62rem}
  .sheet h2,.sheet__h{margin-bottom:.15rem;font-size:.66rem}
  .sheet__foot{font-size:.62rem;margin-top:.4rem;padding-top:.35rem}
  .sheet__badge{font-size:.62rem;padding:.18rem .4rem}
  .sheet__kpis,.sheet__promise,.sheet__logo,.sheet__badge,.sheet-tiles li,.smartway-badge{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* =====================================================================
   Motion (light) + reduced motion
   ===================================================================== */
@media (prefers-reduced-motion:no-preference){
  .js .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease var(--d,0s),transform .7s ease var(--d,0s)}
  .js .reveal.is-in{opacity:1;transform:none}
  .ghost{animation:ghostdrift 18s ease-in-out infinite alternate}
}
@keyframes ghostdrift{to{transform:translateX(-1.5rem)}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.js .reveal{opacity:1;transform:none}}

/* ---------- Lanes file picker (bid-portals vendor form) ---------- */
.filefield{padding:1rem;border:2px dashed var(--f-line);border-radius:3px;background:rgba(255,196,0,.04);transition:border-color .15s,background .15s}
.filefield.is-drag{border-color:var(--sign);background:rgba(255,196,0,.12)}
.filefield.has-file{border-style:solid;border-color:var(--sign)}
.filefield__label{font-weight:700;font-size:.9rem;color:var(--f-label)}
.filefield__row{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;min-width:0}
.filefield__input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0 0 0 0)}
.filefield__input:focus-visible~.filefield__pick{outline:3px solid var(--focus);outline-offset:3px}
.filefield__pick{cursor:pointer;flex:none}
.filefield__none{color:var(--tx2);font-size:.92rem}
.filefield__chip{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.4rem .7rem;min-width:0;max-width:100%;padding:.35rem .35rem .35rem .8rem;background:var(--sign);color:#0a0c0f;font-weight:700;font-size:.92rem;border-radius:3px}
.filefield__chip[hidden],.filefield__none[hidden],.filefield__err[hidden]{display:none}
.filefield__name{overflow-wrap:anywhere;min-width:0}
.filefield__size{font-weight:600;opacity:.8}
.filefield__remove{font:inherit;font-weight:800;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;min-height:36px;padding:.3rem .8rem;background:#0a0c0f;color:#fff;border:0;border-radius:3px;cursor:pointer}
.filefield__remove:hover{background:#2a3038}
.filefield__remove:focus-visible{outline:3px solid #0a0c0f;outline-offset:2px;box-shadow:0 0 0 3px #fff}
.filefield__err{margin:.2rem 0 0;padding:.55rem .8rem;font-weight:700;font-size:.92rem;color:#7a0010;background:#ffe0e2;border-left:6px solid #d62839;border-radius:3px}
.filefield .hint{margin:0}
.filefield:has(.filefield__input[aria-invalid=true]){border-color:#ff8a80}
/* tagline: "Freight solutions that show up." */
.footer-tag{font-family:var(--font-d);text-transform:uppercase;letter-spacing:.06em;font-size:1.05rem;color:var(--sign);margin:0 0 .8rem}
.qq .qq__tag{font-weight:800;text-transform:uppercase;letter-spacing:.14em;font-size:.95rem;color:#fff;margin:-.6rem 0 1.4rem;display:flex;align-items:center;gap:.7rem}
.qq .qq__tag::before{content:"";width:2.2rem;height:4px;background:repeating-linear-gradient(90deg,var(--sign) 0 8px,transparent 8px 12px);flex:none}

/* ---------- Bid/RFP page: "Add us to your email list" ---------- */
.loadlist{background:var(--steel);position:relative;overflow:hidden}
.loadlist::before{content:"@";position:absolute;right:-1rem;top:-3rem;font-family:var(--font-d);font-size:clamp(14rem,30vw,28rem);line-height:1;color:rgba(255,196,0,.07);pointer-events:none}
.loadlist__in{display:grid;grid-template-columns:minmax(0,1fr);gap:1.6rem;position:relative;border-left:8px solid var(--sign);padding-left:clamp(1rem,3vw,2.2rem)}
.loadlist h2{font-size:clamp(2.6rem,7vw,5.2rem);line-height:.95;margin:.4rem 0 0}
.loadlist .lead{color:#fff;font-weight:700}
.loadlist .lead a{color:var(--sign);overflow-wrap:anywhere;text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:4px}
.loadlist__body p{max-width:46rem}
.loadlist .cta-row .btn{max-width:100%;min-width:0;white-space:normal;text-align:left;overflow-wrap:anywhere;line-height:1.2}
@media (max-width:640px){.loadlist .cta-row{flex-direction:column;align-items:stretch}.loadlist .cta-row .btn{width:100%}}
@media (min-width:900px){.loadlist__in{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:3.5rem;align-items:center}}

/* ---------- Start shipping + carrier network pages ---------- */
.how--page{padding-top:clamp(3rem,7vw,5rem);padding-bottom:clamp(3rem,7vw,5rem);background:var(--steel)}
.how--page h2{font-size:clamp(2.2rem,6vw,4.4rem);max-width:18ch;margin-bottom:2.6rem}
.ss-split{gap:clamp(1.5rem,4vw,4rem)}
.ss-side .lead{font-size:1.2rem}
.ss-earn{font-family:var(--font-d);text-transform:uppercase;font-size:clamp(1.5rem,3vw,2rem);line-height:1.05;background:#0a0c0f;color:var(--sign);padding:1rem 1.2rem;border-left:8px solid var(--sign);margin:1.4rem 0}
@media (min-width:980px){.ss-split{grid-template-columns:.8fr 1.2fr}.ss-side{position:sticky;top:6.5rem}}
.send3{display:grid;gap:1rem;margin:1.4rem 0 1.6rem}
.send3 li{display:grid;grid-template-columns:4.2rem 1fr;gap:1rem;align-items:start;padding:1rem 1.1rem;background:var(--surf);border:2px solid var(--surf-line);border-left:8px solid var(--sign)}
.send3 b{font-family:var(--font-d);font-weight:400;font-size:2.6rem;line-height:1;color:var(--sign)}
.send3 h3{font-size:1.25rem;margin:0 0 .15rem}
.send3 p{margin:0}
.send3 li{grid-template-columns:4.2rem minmax(0,1fr)}
.send3 a{overflow-wrap:anywhere}
#get-set-up .split>*,#get-set-up.split>*{min-width:0}
#get-set-up>.container>*{min-width:0}
@media (max-width:520px){.send3 li{grid-template-columns:3rem minmax(0,1fr);gap:.7rem}.send3 b{font-size:2rem}.send3 .btn{width:100%;white-space:normal}}

/* carrier page: "16 years of doing right by carriers" */
.respect{position:relative;overflow:hidden;padding:clamp(2.5rem,6vw,4.5rem) 0}
.respect__in{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;align-items:center;position:relative}
.respect__n{font-family:var(--font-d);font-size:clamp(7rem,26vw,15rem);line-height:.82;color:transparent;-webkit-text-stroke:3px #0a0c0f;opacity:.9;user-select:none}
.respect__txt{border-left:8px solid #0a0c0f;padding-left:clamp(1rem,3vw,2rem);min-width:0}
.respect h2{font-size:clamp(2.2rem,5.4vw,4rem);line-height:1;margin:.3rem 0 1rem;max-width:16ch}
.respect .lead{max-width:44rem;margin:0;font-size:clamp(1.05rem,1.8vw,1.25rem)}
@media (min-width:900px){.respect__in{grid-template-columns:auto minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem)}}

/* carrier page: "We do what we say." */
.dowhat{background:var(--steel);position:relative;overflow:hidden}
.dowhat::before{content:"";position:absolute;left:0;right:0;top:0;height:10px;background:repeating-linear-gradient(-45deg,var(--sign) 0 18px,#0a0c0f 18px 36px)}
.dowhat h2{font-size:clamp(2.6rem,8vw,6rem);line-height:.95;margin:.3rem 0 1rem}
.dowhat__sub{font-size:clamp(1.15rem,2.2vw,1.55rem);font-weight:700;color:var(--sign);max-width:40rem;margin:0 0 2rem;line-height:1.3}
.dowhat__pts{display:grid;gap:1rem;margin:0 0 2rem;padding:0;list-style:none}
.dowhat__pts li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem;align-items:center;background:#0a0c0f;border-left:8px solid var(--sign);padding:1.1rem 1.3rem}
.dowhat__tick{display:grid;place-items:center;width:2.6rem;height:2.6rem;background:var(--sign);color:#0a0c0f;flex:none}
.dowhat__tick .icon{width:1.6rem;height:1.6rem}
.dowhat__pts p{margin:0;font-family:var(--font-d);font-size:clamp(1.4rem,2.6vw,2rem);line-height:1.1;text-transform:uppercase;letter-spacing:.01em;color:#fff}
.dowhat__body{max-width:46rem;margin:0;color:#d3dae1}
@media (min-width:900px){.dowhat__pts{grid-template-columns:repeat(3,minmax(0,1fr))}.dowhat__pts li{grid-template-columns:minmax(0,1fr);align-content:start;gap:.9rem;padding:1.4rem}}

/* Page heroes: height-aware sizing on laptop-class screens so headline, lead, CTA and chips land on the first screen */
@media (min-width:900px){
  .page-hero{padding:clamp(1.4rem,4.5vh,4.5rem) 0 clamp(2.4rem,6vh,5rem)}
  .ph--compact{padding:clamp(1.4rem,4vh,3rem) 0 clamp(2.4rem,5vh,3.6rem)}
  .page-hero h1{font-size:clamp(2.5rem,min(6.4vw,10.5vh),6.2rem);line-height:.95;max-width:26ch;margin-bottom:.3em}
  .ph--yellow h1{max-width:22ch}
  .ph--compact h1{font-size:clamp(2.4rem,min(6vw,10vh),5rem);max-width:none}
  .page-hero .lead{font-size:clamp(.98rem,2.3vh,1.2rem);line-height:1.45;max-width:66ch}
  .page-hero--img .page-hero__inner::before{height:10px;margin-bottom:clamp(.7rem,2vh,1.6rem)}
  .page-hero .cta-row,.page-hero .hero__chips{margin-top:clamp(.8rem,2.2vh,1.5rem) !important}
  .page-hero .promise{margin-top:clamp(.5rem,1.4vh,1rem)}
  .page-hero .promise--lg{font-size:clamp(.82rem,2vh,.92rem);padding:.28rem .8rem}
  .page-hero .eyebrow{margin-bottom:clamp(.4rem,1.2vh,.9rem)}
}
@media (min-width:900px) and (max-height:820px){
  .page-hero .btn{min-height:44px}
  .page-hero .hero__chips{gap:.4rem}
  .page-hero .hero__chips li{padding:.25rem .7rem;font-size:.82rem}
}

/* ===== r32: readability / "one idea per screen" pass (laptop + mobile). Design A look unchanged; sizes/padding only. ===== */
/* Laptop and up: cap big display headings and section padding by viewport HEIGHT so a section reads in about one screen */
@media (min-width:900px){
  .section{padding:clamp(2.5rem,min(6vw,7.5vh),4.75rem) 0}
  .section-head{margin-bottom:1.8rem}
  .prot,.portals,.ind,.qq{padding:clamp(2.75rem,min(7vw,8vh),5rem) 0}
  .spot{padding:clamp(2.75rem,min(7vw,8vh),5rem) 0}
  .prot h2,.portals h2,.ind h2,.qq h2{font-size:clamp(2.3rem,min(5.6vw,9.5vh),4.8rem)}
  .spot h2{font-size:clamp(2.6rem,min(7.4vw,12vh),6.2rem)}
  .ind__t{font-size:clamp(1.9rem,min(4.6vw,7.5vh),3.4rem)}
  .ind__list{margin-top:1.5rem}
  .ind__list a{padding:.8rem 0}
  .slab{min-height:clamp(22rem,52vh,30rem);padding:2.25rem 0}
  .slab h2{font-size:clamp(3rem,min(9vw,14vh),7rem)}
  .prot__list li{padding:1rem 0}
  .proof{padding:2.75rem 0 2rem}
}
/* Tablet + mobile */
@media (max-width:899.98px){
  .section{padding:2.75rem 0}
  .prot,.portals,.ind,.qq,.spot{padding:2.75rem 0}
  .section-head{margin-bottom:1.4rem}
  .slab{min-height:22rem;padding:2rem 0}
  .proof{padding:2.75rem 0 1.75rem}
}
@media (max-width:640px){
  /* type: body copy >= 16px; micro-copy (eyebrows, fine print, captions, badges) >= 14px */
  .site-footer{font-size:1rem}
  .site-footer p,.site-footer li,.site-footer address{font-size:1rem}
  .site-footer h2{font-size:.875rem;margin-bottom:.5rem}
  .footer-bottom,.footer-bottom span,.footer-bottom a,.footer-bottom a.team-login,.site-footer .credit-link,.footer-smartway .smartway-badge,.trust-todo,.footer-more{font-size:.875rem!important}
  .eyebrow,.kicker,.form-privacy,.form-fine,.field .hint,.hero__chips li,.hero__proof,figcaption,.badge-pill,.smartway-badge,.seg span,.todo,.link-arrow,.more,summary,.kpi__label,.ind__go{font-size:.875rem!important}
  .btn,.mobile-bar .btn{font-size:1rem}
  .field label,.field legend,.checks label,.rescue-sub,.card p,.card li,.lead,.step p,.slab p,.prot p,.portals p,.ind__p,.section-head p,.ways li{font-size:1rem}
  .btn,.link-arrow,.more{min-height:44px}
  .link-arrow,.more{display:inline-flex;align-items:center}
  /* footer: 44px tap targets, explore links in two columns */
  .footer-grid{gap:1.6rem}
  .site-footer ul{gap:0}
  .site-footer li a,.footer-more a,.footer-bottom a{display:inline-flex;align-items:center;min-height:44px}
  .footer-grid>div:nth-child(2) ul{grid-template-columns:1fr 1fr;column-gap:1rem}
  .footer-bottom{gap:0 1rem;margin-top:1.6rem}
  .site-footer::before{margin-bottom:2rem}
  /* cards, panels, forms: less padding, shorter stacks */
  .card{padding:1.1rem}
  .grid{gap:1rem}
  .panel{padding:1.1rem}
  .form-grid{gap:.85rem}
  .checks{grid-template-columns:1fr 1fr;gap:0 .6rem}
  .checks label{min-height:44px;line-height:1.2}
  .field input:not([type=checkbox]):not([type=radio]):not([type=file]),.field select{min-height:48px;font-size:1rem}
  .field textarea{font-size:1rem}
  .seg label span,.seg span{min-height:44px;display:inline-flex;align-items:center}
  .steps{gap:1.4rem}
  .grid--num>.card::after{font-size:3rem}
  .kpis{gap:1rem .9rem}
  .kpi__num{font-size:clamp(2.6rem,12vw,3.6rem)}
  h2{font-size:clamp(2rem,9vw,2.6rem)}
  .prot h2,.portals h2,.ind h2,.qq h2{font-size:clamp(2.1rem,9.5vw,2.9rem)}
  .spot h2{font-size:clamp(2.2rem,10.5vw,3.2rem)}
  .slab h2{font-size:clamp(2.7rem,13vw,3.6rem)}
  .ind__t{font-size:clamp(1.8rem,8vw,2.4rem)}
  .ind__list a{padding:.85rem 0}
}
@media (max-width:899.98px){.exp,.how,.more3{padding-top:2.75rem;padding-bottom:2.75rem}}
@media (max-width:640px){
  .signs,.badges{gap:.5rem}
  .sign{padding:.4rem .75rem;font-size:.9rem;border-width:2px}
  .badge-pill{min-height:0;padding:.35rem .75rem;border-width:2px}
  .exp h2{font-size:clamp(2.6rem,11vw,3.4rem)}
  .exp__cols{gap:1.4rem;margin-top:1.2rem}
  .exp__cols h3{font-size:1.9rem;padding-top:.7rem;margin-bottom:.5rem}
  .exp__cols p{font-size:1rem}
  .exp__box{margin-top:1.4rem;padding:1rem}
  .route{gap:1.5rem}
  .route h3{font-size:1.5rem}
  .team-photo{min-height:0;height:96px}
}
@media (max-width:640px){.team-photo{aspect-ratio:auto;height:96px}.how h2,.how--page h2{margin-bottom:1.4rem;font-size:clamp(2.1rem,9.5vw,2.9rem)}}
@media (min-width:900px){.how{padding:clamp(2.75rem,min(7vw,8vh),5rem) 0}.how h2{font-size:clamp(2.3rem,min(6vw,10vh),4.8rem);margin-bottom:1.8rem}.exp{padding:clamp(2.75rem,min(7vw,8vh),5rem) 0}.exp h2{font-size:clamp(2.6rem,min(7vw,11vh),5.6rem)}.exp__cols{margin-top:1.6rem;gap:2rem}.exp__box{margin-top:1.6rem}.route{gap:1.6rem}}
@media (max-width:640px){
  #track-result .facts{grid-template-columns:1fr 1fr;gap:.6rem}
  #track-result .fact{padding:.6rem .75rem}
  #track-result .fact dt{font-size:.8rem}
  .stepper li{padding-bottom:1rem}
  .map-ph{min-height:110px}
  .demo-banner{margin-bottom:.9rem}
  .contact-list{gap:1rem}
  .result-actions{margin-top:1rem}
}
@media (max-width:640px){
  .tag,.rescue-form .tag,.demo-pill,.ph-plate small,.stat__l,.hint,.sheet__tip,.stepper span.when,.stepper .when,.footer-bottom small,figcaption,.contact-list small{font-size:.875rem!important}
  .footer-bottom a{min-width:44px;justify-content:center;padding:0 .3rem}
  .kpi-foot,.footer-tag,.stepper strong,.card p[style*="font-size"],.contact-list li,.contact-list strong{font-size:1rem!important}
  .sheet .hint,.sheet__foot,.sheet__contact,.sheet__contact *{font-size:.875rem}
}
@media (max-width:640px){
  .page-hero{padding:1.75rem 0 2.5rem}
  .page-hero h1{font-size:clamp(2.2rem,10.2vw,2.9rem);line-height:.95}
  .page-hero .lead{font-size:1.05rem}
  .page-hero .cta-row{margin-top:1rem!important}
}
@media screen and (max-width:640px){
  .slab .cap,.badge,.fact dt,.map-ph small{font-size:.875rem!important}
  .sheet,.sheet li,.sheet p,.sheet__kpis span,.sheet__kpitext{font-size:1rem}
  .sheet h2{font-size:.95rem}
  .sheet__kpis b.sm{font-size:1rem}
}
@media (max-width:640px){.stat__l{letter-spacing:.1em;width:auto;max-width:100%}}
@media (max-width:640px){
  .page-hero .eyebrow{letter-spacing:.12em;margin-bottom:.7rem}
  .page-hero .promise--lg{font-size:.88rem;padding:.28rem .75rem;margin-bottom:.8rem}
  .page-hero h1{font-size:clamp(2.1rem,9.4vw,2.9rem);margin-bottom:.4em}
}
@media (max-width:640px){.eyebrow{line-height:1.3}.page-hero .lead{line-height:1.45}}
@media (max-width:400px){.page-hero{padding-top:1.1rem}.page-hero .lead{margin-bottom:.8rem}}

/* ===== r33: rescue stories (homepage feature + rotating strip, rescue-stories.html) ===== */
.rs{background:var(--steel);color:#fff;position:relative;padding:clamp(2.5rem,min(6vw,7.5vh),4.5rem) 0 clamp(1.5rem,3vh,2.5rem);overflow:hidden;border-top:14px solid transparent;border-image:repeating-linear-gradient(-45deg,var(--sign) 0 18px,#0a0c0f 18px 36px) 14}
.rs__in{display:grid;gap:1.6rem;align-items:start}
.rs__tag{font-size:clamp(2.1rem,min(4.6vw,8.4vh),3.7rem);line-height:.98;margin-bottom:.9rem;color:#fff}
.rs__tag span{display:inline-block;margin-right:.18em}
.rs__tag span:nth-child(5){color:var(--sign)}
.rs__tag--sm{font-size:clamp(1.5rem,3.4vw,2.2rem);color:var(--sign);margin:-.2rem 0 1rem}
.rs__tag--sm{display:block}
.rs__p{max-width:56ch;margin:0 0 .8rem;color:#d3dae1}
.rs__tl-h{font-weight:800;font-size:.85rem;letter-spacing:.2em;text-transform:uppercase;color:var(--sign);margin:0 0 .8rem}
.rs-quote{margin:1rem 0 1rem;padding:.2rem 0 .2rem 1rem;border-left:6px solid var(--sign)}
.rs-quote blockquote{margin:0}
.rs-quote p{font-family:var(--font-d);text-transform:uppercase;font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.05;color:#fff;margin:0;max-width:none}
.rs-quote figcaption{margin-top:.4rem;font-size:.875rem;color:#aeb7c0;font-weight:700;letter-spacing:.04em}
/* timeline */
.rs-tl{list-style:none;margin:0;padding:0;display:grid;gap:0;position:relative}
.rs-tl li{position:relative;display:grid;grid-template-columns:7.2rem 1fr;gap:0 1rem;padding:0 0 1.15rem 1.9rem;min-height:3.2rem}
.rs-tl li:last-child{padding-bottom:0}
.rs-tl li::before{content:"";position:absolute;left:.45rem;top:.35rem;width:1.1rem;height:1.1rem;border-radius:50%;background:var(--asphalt);border:4px solid var(--sign);z-index:1}
.rs-tl li:last-child::before{background:var(--sign)}
.rs-tl li::after{content:"";position:absolute;left:.95rem;top:1.5rem;bottom:-.1rem;border-left:4px dashed var(--sign);opacity:.7}
.rs-tl li:last-child::after{display:none}
.rs-when b{display:block;font-family:var(--font-d);font-weight:400;font-size:2rem;line-height:1;text-transform:uppercase;color:var(--sign);letter-spacing:.02em}
.rs-when span{display:block;font-weight:800;font-size:.875rem;letter-spacing:.06em;text-transform:uppercase;color:#cfd6dd;margin-top:.15rem}
.rs-what{color:#d3dae1;line-height:1.4;align-self:center}
.rs-what strong{display:block;color:#fff;text-transform:uppercase;letter-spacing:.05em;font-size:.95rem;margin-bottom:.1rem}
/* rotating strip */
.rs-strip{margin-top:1.6rem;border-top:3px dashed rgba(255,196,0,.55);padding-top:1rem;display:grid;gap:.8rem}
.rs-slides{list-style:none;margin:0;padding:0;display:grid}
.rs-slide{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem}
.rs-slide p{margin:0;max-width:70ch;color:#fff;font-size:1.1rem;line-height:1.4}
.rs-slide__tag{display:inline-block;background:var(--red);color:#fff;font-weight:800;font-size:.875rem;letter-spacing:.12em;text-transform:uppercase;padding:.2rem .6rem}
.js .rs-slide{grid-area:1/1;visibility:hidden;opacity:0}
.js .rs-slide.is-active{visibility:visible;opacity:1}
@media (prefers-reduced-motion:no-preference){.js .rs-slide{transition:opacity .35s ease,visibility 0s linear .35s}.js .rs-slide.is-active{transition:opacity .35s ease,visibility 0s}}
.no-js .rs-slides{gap:1rem}
.rs-ctrl{display:none;align-items:center;gap:.25rem}
.js .rs-ctrl{display:flex}
.rs-btn{width:44px;height:44px;display:inline-grid;place-items:center;background:transparent;color:#fff;border:2px solid rgba(255,255,255,.7);border-radius:0;cursor:pointer;padding:0}
.rs-btn:hover,.rs-btn:focus-visible{background:var(--sign);color:#0a0c0f;border-color:var(--sign)}
.rs-btn .icon{width:20px;height:20px}
.rs-btn .flip{transform:scaleX(-1)}
.rs-dots{display:inline-flex;margin:0 .3rem}
.rs-dot{width:44px;height:44px;background:none;border:0;cursor:pointer;display:inline-grid;place-items:center;padding:0}
.rs-dot span{display:block;width:12px;height:12px;border-radius:50%;border:2px solid #fff}
.rs-dot[aria-current=true] span{background:var(--sign);border-color:var(--sign)}
.rs-dot:focus-visible{outline:3px solid var(--sign);outline-offset:-3px}
.rs-btn--pp{margin-left:auto}
.rs-pp{display:block;width:14px;height:16px;border-left:5px solid currentColor;border-right:5px solid currentColor}
.rs-btn--pp[aria-pressed=true] .rs-pp{width:0;height:0;border-left:14px solid currentColor;border-right:0;border-top:8px solid transparent;border-bottom:8px solid transparent}
@media (prefers-reduced-motion:reduce){.rs-btn--pp{display:none}}
@media (min-width:980px){
  .rs__in{grid-template-columns:1.15fr .85fr;gap:3.5rem}
  .rs__side{padding-top:.4rem}
  .rs-strip{grid-template-columns:1fr auto;align-items:center;gap:2rem}
  .rs-btn--pp{margin-left:.5rem}
}
@media (max-width:640px){
  .rs{padding:2.25rem 0 1.5rem}
  .rs__tag{font-size:clamp(1.9rem,9.2vw,2.5rem)}
  .rs__p{font-size:1rem}
  .rs-tl li{grid-template-columns:6rem 1fr;padding-left:1.7rem;padding-bottom:.9rem}
  .rs-when b{font-size:1.7rem}
  .rs-what{font-size:1rem}
  .rs-slide p{font-size:1rem}
}
/* rescue-stories.html */
.rs-page{background:var(--bg)}
.rs-story{display:grid;gap:1.4rem;padding:2rem 0;border-top:3px dashed rgba(255,196,0,.45)}
.rs-story:first-child{border-top:0;padding-top:0}
.rs-story h2{font-size:clamp(2rem,min(4.4vw,8vh),3.4rem);margin-bottom:.7rem}
.rs-story p{max-width:60ch;margin:0 0 .8rem}
.rs-story__tl{background:var(--steel);border-left:8px solid var(--sign);padding:1.1rem 1.2rem}
.rs-story--feat .rs-story__tl{background:var(--asphalt)}
@media (min-width:980px){.rs-story{grid-template-columns:1.2fr .8fr;gap:3rem;align-items:start}}
@media (max-width:640px){.rs-story{padding:1.5rem 0}.rs-story p{font-size:1rem}.rs-story__tl{padding:.9rem}}
@media (min-width:980px){
  .rs{padding:clamp(1.6rem,min(3.4vw,4.8vh),3rem) 0 clamp(1rem,2vh,1.6rem)}
  .rs__tag{font-size:clamp(2rem,min(3.9vw,6.6vh),3.3rem);margin-bottom:.6rem}
  .rs__p{font-size:1rem;margin-bottom:.55rem;line-height:1.45}
  .rs-quote{margin:.7rem 0}
  .rs-quote p{font-size:clamp(1.4rem,min(2.2vw,3.6vh),1.8rem)}
  .rs-tl li{padding-bottom:.9rem}
  .rs-when b{font-size:1.75rem}
  .rs-strip{margin-top:1rem;padding-top:.6rem}
  .rs .kicker{margin-bottom:.5rem}
}
@media (max-width:640px){
  .rs{padding-top:1.75rem;padding-bottom:1rem}
  .rs__in{gap:1.1rem}
  .rs__tag{font-size:clamp(1.8rem,8.4vw,2.3rem);margin-bottom:.6rem}
  .rs__p{line-height:1.4;margin-bottom:.55rem}
  .rs-quote{margin:.7rem 0}
  .rs-quote p{font-size:1.45rem}
  .rs-tl li{min-height:0;padding-bottom:.7rem}
  .rs-tl__h,.rs__tl-h{margin-bottom:.5rem}
  .rs-strip{margin-top:1rem;padding-top:.7rem;gap:.4rem}
  .rs-slide p{line-height:1.35}
}
@media (max-width:640px){.rs-what strong{font-size:1rem}.rs__tl-h{font-size:.875rem}}

/* ===== r34: What we haul (dry-van.html, reefer.html) ===== */
.haul{padding:clamp(1.8rem,min(4vw,5.5vh),3.2rem) 0}
.haul__head{margin-bottom:1rem}
.haul__head h2{font-size:clamp(1.7rem,min(3.2vw,5.4vh),2.6rem);margin:0}
.haul-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}
.haul-card{background:var(--steel);border:1px solid rgba(255,255,255,.1);border-left:6px solid var(--sign);padding:.8rem .9rem .9rem}
.haul-card h3{font-family:var(--font-d);font-weight:400;text-transform:uppercase;letter-spacing:.04em;font-size:1.2rem;line-height:1.1;color:var(--sign);margin:0 0 .55rem}
.haul-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem}
.haul-chips li{margin:0;padding:.2rem .55rem;font-size:.9rem;line-height:1.25;color:#e6ebf0;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:2px}
.haul-card--haz{border-left-color:var(--red)}
.haul-card--haz h3{color:#fff}
.haul-card--haz h3::before{content:"";display:inline-block;width:.8em;height:.8em;margin-right:.45rem;background:repeating-linear-gradient(-45deg,var(--sign) 0 3px,#0a0c0f 3px 6px);vertical-align:-.05em}
.haul__more{margin:.9rem 0 0;color:#fff}
.haul__more strong{font-family:var(--font-d);font-weight:400;font-size:1.3rem;letter-spacing:.04em;text-transform:uppercase;color:var(--sign);margin-right:.6rem}
.svc-haul{margin-top:.6rem}
@media (max-width:979px){.haul-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){
  .haul{padding:1.6rem 0}
  .haul-grid{grid-template-columns:1fr;gap:.6rem}
  .haul-card{padding:.7rem .8rem .8rem}
  .haul-chips li{font-size:.9375rem;padding:.2rem .5rem}
  .haul__more a{display:inline-flex;align-items:center;min-height:44px}
}
@media (max-width:640px){
  .haul{padding:1.3rem 0}
  .haul__head{margin-bottom:.6rem}
  .haul__head h2{font-size:1.6rem}
  .haul-grid{gap:.45rem}
  .haul-card{padding:.55rem .7rem .65rem}
  .haul-card h3{font-size:1.05rem;margin-bottom:.4rem}
  .haul-chips{gap:.28rem}
  .haul-chips li{padding:.12rem .45rem;line-height:1.2}
  .haul__more{margin-top:.5rem}
}
@media print{@page{margin:.35in}.sheet__cols h2[style]{margin-top:.5rem!important}}
@media (max-width:640px){.haul-chips li{font-size:1rem}}

/* ===== r35: Meet the team (about.html) ===== */
.team-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:.9rem}
.team-person{display:flex;align-items:center;gap:1rem;background:#14181d;color:#fff;border:1px solid rgba(255,255,255,.1);border-left:6px solid var(--sign);padding:.8rem 1rem .8rem .8rem;margin:0}
.team-pic{flex:none;width:clamp(96px,min(9vw,17vh),132px);height:clamp(96px,min(9vw,17vh),132px);object-fit:cover;border-radius:2px;background:#222a32}
.team-avatar{display:grid;place-items:center;font-family:var(--font-d);font-size:2.4rem;letter-spacing:.06em;color:var(--sign);background:repeating-linear-gradient(-45deg,#1b2128 0 10px,#232b33 10px 20px);border:2px solid var(--sign)}
.team-person h3{font-family:var(--font-d);font-weight:400;text-transform:uppercase;letter-spacing:.03em;font-size:1.45rem;line-height:1.05;margin:0 0 .3rem;color:#fff}
.team-person p{margin:0;color:var(--sign);font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:.875rem;line-height:1.3}
#team .section-head{margin-bottom:1.1rem}
@media (min-width:900px){#team{padding:clamp(2rem,min(4vw,5.5vh),3.5rem) 0}#team .section-head h2{font-size:clamp(1.8rem,min(3.2vw,5.4vh),2.6rem)}}
@media (max-width:979px){.team-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.team-grid{grid-template-columns:1fr;gap:.55rem}.team-person{padding:.55rem .8rem .55rem .55rem;gap:.8rem}.team-pic{width:84px;height:84px}.team-avatar{font-size:1.9rem}.team-person h3{font-size:1.3rem}#team .section-head{margin-bottom:.8rem}}
.team-grid{display:flex;flex-wrap:wrap;justify-content:center}
.team-person{flex:0 0 calc((100% - 1.8rem)/3)}
@media (max-width:979px){.team-person{flex-basis:calc((100% - .9rem)/2)}}
@media (max-width:640px){.team-person{flex-basis:100%}}

/* r35b: team bio lines */
.team-person{flex-direction:column;align-items:stretch;gap:.55rem;padding:.7rem .9rem .75rem .7rem}
.team-person__top{display:flex;align-items:center;gap:.9rem}
.team-pic{width:clamp(76px,min(6.5vw,12vh),96px);height:clamp(76px,min(6.5vw,12vh),96px)}
.team-person__t{min-width:0}
.team-person h3{font-size:1.35rem;margin-bottom:.2rem}
.team-person p.team-title{margin:0;color:var(--sign);font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:.82rem;line-height:1.25}
.team-person p.team-years{margin:.25rem 0 0;color:#aeb7c0;font-weight:600;font-size:.875rem;line-height:1.25;text-transform:none;letter-spacing:0}
.team-bio{border-top:1px solid rgba(255,255,255,.14);padding-top:.5rem}
.team-bio p{margin:0;text-transform:none;letter-spacing:0;font-weight:400;color:#e6ebf0;font-size:.9rem;line-height:1.35}
.team-bio .team-words{color:#fff;margin-bottom:.3rem}
.team-bio .team-fav strong{color:var(--sign);font-weight:800}
@media (max-width:640px){
  .team-person{padding:.6rem .8rem .7rem .6rem;gap:.5rem}
  .team-pic{width:72px;height:72px}
  .team-person p.team-years{font-size:.875rem}
  .team-bio p{font-size:1rem;line-height:1.35}
  .team-person p.team-title{font-size:.875rem}
}
@media (min-width:980px){
  #team{padding:clamp(1.4rem,min(3vw,4.2vh),2.6rem) 0}
  #team .section-head{margin-bottom:.7rem}
  #team .section-head p{margin-top:.2rem}
  .team-grid{gap:.7rem .9rem}
  .team-person{flex-basis:calc((100% - 1.8rem)/3);padding:.55rem .8rem .6rem .6rem;gap:.4rem}
  .team-pic{width:76px;height:76px}
  .team-bio{padding-top:.4rem}
  .team-bio p{font-size:.875rem;line-height:1.3}
  .team-bio .team-words{margin-bottom:.2rem}
}
@media (max-width:640px){
  .team-grid{gap:.45rem}
  .team-person{padding:.5rem .7rem .6rem .5rem;gap:.4rem}
  .team-pic{width:64px;height:64px}
  .team-person h3{font-size:1.25rem}
  .team-person__top{gap:.7rem}
  .team-bio{padding-top:.4rem}
  .team-bio p{line-height:1.3}
  .team-bio .team-words{margin-bottom:.2rem}
}

/* ===== r36: white glove section (expedites-recovery.html) ===== */
.wg{background:var(--steel);color:#fff;border-top:14px solid transparent;border-image:repeating-linear-gradient(-45deg,var(--sign) 0 18px,#0a0c0f 18px 36px) 14;padding:clamp(1.8rem,min(4vw,6vh),3.5rem) 0 clamp(1.6rem,min(3.5vw,5vh),3rem)}
.wg__head{max-width:62rem;margin-bottom:1.1rem}
.wg__head h2{font-size:clamp(2rem,min(4.2vw,7.4vh),3.4rem);line-height:1;margin:0 0 .5rem;color:#fff}
.wg__lead{margin:0;font-size:1.12rem;line-height:1.45;color:#d3dae1;max-width:60ch}
.wg__grid{list-style:none;margin:0 0 1.2rem;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:.9rem}
.wg__item{position:relative;background:#14181d;border:1px solid rgba(255,255,255,.1);border-top:5px solid var(--sign);padding:.8rem 1rem 1rem;margin:0}
.wg__n{display:block;font-family:var(--font-d);font-size:2.3rem;line-height:1;color:var(--sign);margin-bottom:.2rem}
.wg__item h3{font-family:var(--font-d);font-weight:400;text-transform:uppercase;letter-spacing:.03em;font-size:1.35rem;line-height:1.1;color:#fff;margin:0 0 .4rem}
.wg__item p{margin:0;color:#d3dae1;font-size:1rem;line-height:1.4}
.wg .cta-row{margin-top:0}
@media (max-width:1100px){.wg__grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){
  .wg{padding:1.6rem 0 1.4rem}
  .wg__head h2{font-size:clamp(1.9rem,9vw,2.4rem)}
  .wg__lead{font-size:1rem}
  .wg__grid{grid-template-columns:1fr;gap:.55rem;margin-bottom:1rem}
  .wg__item{display:grid;grid-template-columns:auto 1fr;column-gap:.8rem;padding:.6rem .85rem .7rem}
  .wg__n{grid-row:1 / span 2;font-size:2rem;align-self:start;margin:0}
  .wg__item h3{font-size:1.2rem;margin-bottom:.2rem}
}

/* ===== r37: AI + experience (homepage section, ai-and-experience.html) ===== */
.ai{background:#0e1216;color:#fff;position:relative;padding:clamp(1.8rem,min(4vw,5.5vh),3.4rem) 0 clamp(1.4rem,min(3vw,4.5vh),2.6rem);border-bottom:6px solid var(--sign);background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:48px 48px}
.ai__head{max-width:62rem;margin-bottom:1rem}
.ai__h{font-size:clamp(2.1rem,min(5vw,8.6vh),4rem);line-height:.98;margin:.1rem 0 .6rem;color:#fff}
.ai__h span{display:inline-block;margin-right:.2em}
.ai__h em{font-style:normal;color:var(--sign);display:inline-block}
.ai__lead{margin:0;font-size:1.1rem;line-height:1.45;color:#d3dae1;max-width:62ch}
.aiy{list-style:none;margin:0 0 .9rem;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:.6rem}
.aiy__t{margin:0;background:#161b21;border:1px solid rgba(255,255,255,.12);border-bottom:4px solid var(--sign);padding:.5rem .8rem .6rem;display:grid;grid-template-columns:auto 1fr;column-gap:.7rem;align-items:center}
.aiy__t b{grid-row:1 / span 2;font-family:var(--font-d);font-weight:400;font-size:clamp(2.2rem,min(3.4vw,6vh),3rem);line-height:1;color:var(--sign)}
.aiy__n{font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:.875rem;color:#fff;line-height:1.2}
.aiy__l{font-size:.875rem;line-height:1.25;color:#aeb7c0}
.aiy__t--sum{background:var(--sign);border-color:var(--sign);border-bottom-color:#0a0c0f}
.aiy__t--sum b,.aiy__t--sum .aiy__n,.aiy__t--sum .aiy__l{color:#0a0c0f}
.ai-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:.6rem}
.ai-card{margin:0;background:#161b21;border:1px solid rgba(255,255,255,.12);border-top:4px solid var(--sign);padding:.75rem .85rem .85rem}
.ai-card__ic{display:inline-grid;place-items:center;width:34px;height:34px;background:var(--sign);color:#0a0c0f;margin-bottom:.4rem}
.ai-card__ic .icon{width:20px;height:20px}
.ai-card h3{font-family:var(--font-d);font-weight:400;text-transform:uppercase;letter-spacing:.03em;font-size:1.2rem;line-height:1.1;color:#fff;margin:0 0 .35rem}
.ai-card p{margin:0;font-size:.9rem;line-height:1.35;color:#d3dae1}
.ai__more{margin:.8rem 0 0}
@media (max-width:1199px){.aiy{grid-template-columns:repeat(3,1fr)}.ai-cards{grid-template-columns:repeat(3,1fr)}}
@media (max-width:767px){.aiy{grid-template-columns:repeat(2,1fr)}.ai-cards{grid-template-columns:1fr}}
@media (max-width:640px){
  .ai{padding:1.6rem 0 1.3rem}
  .ai__h{font-size:clamp(1.9rem,9.2vw,2.5rem)}
  .ai__lead{font-size:1rem}
  .aiy{gap:.4rem;margin-bottom:.7rem}
  .aiy__t{padding:.4rem .55rem .5rem;column-gap:.5rem}
  .aiy__t b{font-size:2rem}
  .aiy__n,.aiy__l{font-size:.875rem}
  .ai-cards{gap:.45rem}
  .ai-card{padding:.55rem .75rem .65rem;display:grid;grid-template-columns:auto 1fr;column-gap:.7rem}
  .ai-card__ic{grid-row:1 / span 2;margin:0;width:32px;height:32px}
  .ai-card h3{font-size:1.15rem;margin-bottom:.2rem}
  .ai-card p{font-size:1rem;line-height:1.35}
}
/* ai-and-experience.html */
.aiy--page{margin:1rem 0 0}
.ai-stories{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.ai-story{display:grid;grid-template-columns:auto 1fr;column-gap:1rem;background:#14181d;color:#fff;border:1px solid rgba(255,255,255,.1);border-left:6px solid var(--sign);padding:1rem 1.1rem}
.ai-story h3{font-family:var(--font-d);font-weight:400;text-transform:uppercase;letter-spacing:.03em;font-size:1.5rem;line-height:1.1;color:#fff;margin:0 0 .4rem}
.ai-story p{margin:0;color:#d3dae1;line-height:1.5}
.ai-story:last-child:nth-child(odd){grid-column:1 / -1}
.ai-story .ai-card__ic{margin:0}
@media (max-width:900px){.ai-stories{grid-template-columns:1fr}}
@media (max-width:640px){.ai-story{padding:.8rem .85rem;column-gap:.7rem}.ai-story h3{font-size:1.3rem}.ai-story p{font-size:1rem}}

/* r37b: six AI cards, who-does-what */
@media (min-width:1200px){
  .aiy{grid-template-columns:repeat(6,1fr)}
  .aiy__t--sum{grid-column:span 2}
  .ai-cards{grid-template-columns:repeat(6,1fr);gap:.5rem}
  .ai-card{padding:.7rem .7rem .8rem}
  .ai-card h3{font-size:1.1rem}
  .ai-card p{font-size:.875rem;line-height:1.32}
  .ai__lead{font-size:1.02rem;max-width:80ch}
}
.split-two{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.ai-role{background:#14181d;color:#fff;border:1px solid rgba(255,255,255,.1);border-top:6px solid var(--sign);padding:1rem 1.2rem}
.ai-role--ai{border-top-color:var(--red)}
.ai-role h3{font-family:var(--font-d);font-weight:400;text-transform:uppercase;font-size:1.8rem;letter-spacing:.03em;color:var(--sign);margin:0 0 .3rem}
.ai-role--ai h3{color:#fff}
.ai-role p{margin:0;font-size:1.1rem;line-height:1.4;color:#e6ebf0}
.ai-role__note{margin:1rem 0 0;font-weight:700}
@media (max-width:700px){.split-two{grid-template-columns:1fr}.ai-role{padding:.8rem .9rem}.ai-role h3{font-size:1.5rem}.ai-role p{font-size:1rem}}
@media (min-width:980px) and (max-height:800px){
  .ai{padding:1.3rem 0 1rem}
  .ai__head{margin-bottom:.7rem}
  .ai__h{font-size:clamp(1.9rem,min(4.2vw,7vh),3.1rem);margin-bottom:.4rem}
  .ai__lead{font-size:.95rem;line-height:1.4}
  .aiy{margin-bottom:.6rem}
  .aiy__t{padding:.35rem .7rem .45rem}
  .aiy__t b{font-size:2.2rem}
  .ai-card{padding:.55rem .65rem .65rem}
  .ai-card__ic{width:28px;height:28px;margin-bottom:.3rem}
  .ai__more{margin-top:.5rem}
}
@media (max-width:640px){
  .ai-card{padding:.45rem .7rem .55rem}
  .ai-card p{line-height:1.3}
  .aiy__t{padding:.3rem .5rem .4rem}
  .ai__more{margin-top:.5rem}
}
@media (min-width:980px) and (max-height:760px){
  #team{padding:1.1rem 0}
  #team .section-head{margin-bottom:.45rem}
  #team .section-head h2{font-size:1.7rem}
  .team-grid{gap:.5rem .8rem}
  .team-person{padding:.4rem .7rem .45rem .5rem;gap:.3rem}
  .team-pic{width:68px;height:68px}
  .team-person p.team-years{margin-top:.1rem;font-size:.8125rem}
  .team-bio{padding-top:.3rem}
  .team-bio p{font-size:.84rem;line-height:1.25}
}

/* r37c: headline combo (experience first / technology second / service always) */
.ai__sub{margin:0 0 .5rem;font-family:var(--font-d);font-weight:400;text-transform:uppercase;letter-spacing:.03em;font-size:clamp(1.35rem,min(2.3vw,4vh),1.9rem);line-height:1.1;color:#fff}
.ai__sub--page{margin:.2rem 0 .8rem;color:var(--sign)}
.ai__label{margin:.15rem 0 .4rem;font-weight:800;font-size:.875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sign)}
.page-hero h1 em{font-style:normal;color:var(--sign)}
.ai__h{font-size:clamp(2rem,min(4.2vw,7.4vh),3.4rem)}
@media (min-width:980px) and (max-height:800px){
  .ai__h{font-size:clamp(1.8rem,min(3.4vw,6vh),2.7rem);margin-bottom:.3rem}
  .ai__sub{font-size:1.25rem;margin-bottom:.3rem}
  .ai__label{margin:.05rem 0 .25rem}
  .ai__lead{font-size:.92rem}
}
@media (max-width:640px){
  .ai__h{font-size:clamp(1.8rem,8.6vw,2.3rem)}
  .ai__sub{font-size:1.3rem}
  .ai__label{margin:.1rem 0 .3rem}
}
@media (max-width:640px){.ai .ai__label{display:none}.ai__sub{margin-bottom:.35rem}.ai__head{margin-bottom:.7rem}}
@media (max-width:767px){.aiy__t--sum{grid-column:1 / -1}}
/* r42: expedites "dropped the ball" section */
.ball{padding:clamp(1.8rem,min(4vw,6vh),3.2rem) 0}
.ball__head{margin-bottom:1rem}
.ball__head h2{font-size:clamp(1.8rem,min(3.6vw,6.4vh),2.8rem);line-height:1.02;margin:0}
.ball__grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}
.ball__card{background:#14181d;color:#fff;border:1px solid rgba(255,255,255,.1);border-left:6px solid var(--sign);padding:1rem 1.2rem 1.1rem}
.ball__card--line{border-left-color:var(--red,#d83a2e)}
.ball__card h3{font-family:var(--font-d);font-weight:400;text-transform:uppercase;letter-spacing:.03em;font-size:clamp(1.35rem,2.2vw,1.7rem);line-height:1.1;color:var(--sign);margin:0 0 .45rem}
.ball__card p{margin:0 0 .75rem;color:#d3dae1;font-size:1rem;line-height:1.45}
.ball .chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.45rem}
.ball .chips li{margin:0;padding:.3rem .7rem;font-size:.95rem;line-height:1.2;color:#fff;background:#0a0c0f;border:1px solid rgba(255,255,255,.28);border-radius:999px}
.ball__line{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.2rem;margin:0;font-size:1.15rem}
@media (max-width:760px){.ball__grid{grid-template-columns:1fr;gap:.7rem}.ball__card{padding:.8rem .95rem .9rem}.ball__card p{font-size:1rem}.ball__line{font-size:1.05rem}}
/* r43: spot-flow (bid-portals) + ball lead */
.sf__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;counter-reset:sf}
.sf__step{position:relative;background:#14181d;color:#fff;border:1px solid rgba(255,255,255,.1);border-top:5px solid var(--sign);padding:.9rem 1.1rem 1.1rem;margin:0}
.sf__step:not(:last-child)::after{content:"";position:absolute;right:-1.45rem;top:50%;width:1.3rem;height:1.3rem;border-top:4px solid var(--sign);border-right:4px solid var(--sign);transform:translateY(-50%) rotate(45deg) scale(.7)}
.sf__n{display:block;font-family:var(--font-d);font-size:2.2rem;line-height:1;color:var(--sign);margin-bottom:.15rem}
.sf__step h3{font-family:var(--font-d);font-weight:400;text-transform:uppercase;letter-spacing:.03em;font-size:1.3rem;line-height:1.1;color:#fff;margin:0 0 .35rem}
.sf__step p{margin:0;color:#d3dae1;font-size:1rem;line-height:1.4}
.ball__lead{margin:.5rem 0 0;max-width:62ch;font-size:1.05rem;line-height:1.45}
@media (max-width:860px){.sf__grid{grid-template-columns:1fr;gap:1.1rem}.sf__step{display:grid;grid-template-columns:auto 1fr;column-gap:.8rem;padding:.65rem .9rem .8rem}.sf__n{grid-row:1 / span 2;font-size:2rem;margin:0}.sf__step h3{font-size:1.15rem;margin-bottom:.2rem}.sf__step:not(:last-child)::after{right:auto;left:1.2rem;top:auto;bottom:-1.05rem;transform:rotate(135deg) scale(.7)}.ball__lead{font-size:1rem}}
/* r44: three separate vendor CTAs */
.btn-trio{display:flex;flex-wrap:wrap;gap:.55rem .7rem;align-items:stretch}
.btn-trio .btn{flex:0 1 auto;text-align:center;justify-content:center}
.btn-trio--stack{flex-direction:column}
.btn-trio--hero{margin-top:1.1rem}
.btn-trio--hero .btn{padding-top:.7rem;padding-bottom:.7rem}
.hero__sub-links{display:flex;flex-wrap:wrap;gap:.3rem 1.2rem;margin:.7rem 0 0}
.cta--trio{margin-top:.2rem}
.anchor-pt{display:block;height:0;scroll-margin-top:5rem}
.panel select{width:100%}
@media (max-width:640px){
  .btn-trio{flex-direction:column;gap:.5rem}
  .btn-trio .btn{width:100%}
  .btn-trio--hero{margin-top:.8rem}
  .btn-trio--hero .btn{padding-top:.55rem;padding-bottom:.55rem;min-height:44px}
  .page-hero .hero__chips{display:none}
}
/* r44: RFP lanes pop-up */
.lanebox__label{display:block;font-weight:700;margin-bottom:.35rem}
.lanebox__row{display:flex;flex-wrap:wrap;gap:.6rem}
.lanebox .hint.is-set{color:var(--green);font-weight:700}
html.modal-open{overflow:hidden}
.lanes-modal{position:fixed;inset:0;z-index:2000;background:rgba(10,12,15,.78);display:flex;align-items:center;justify-content:center;padding:1rem}
.lanes-modal[hidden]{display:none}
.lanes-modal__panel{background:#fff;color:#14181d;width:min(1220px,100%);max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem);display:flex;flex-direction:column;border-top:8px solid var(--sign);box-shadow:0 30px 80px -20px #000}
.lanes-modal__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1.2rem .2rem}
.lanes-modal__head h2{margin:0;font-size:clamp(1.5rem,3vw,2.2rem)}
.lanes-modal__x{width:44px;height:44px;border:2px solid #14181d;background:#fff;font-size:1.9rem;line-height:1;cursor:pointer}
.lanes-modal__x:hover{background:var(--sign)}
.lanes-modal__help{margin:0;padding:0 1.2rem .7rem;font-size:1rem;line-height:1.4;color:#3a434c}
.lanes-modal__scroll{overflow:auto;flex:1 1 auto;padding:0 1.2rem;border-top:1px solid #d8dde2;border-bottom:1px solid #d8dde2;-webkit-overflow-scrolling:touch}
.lanes-grid{width:100%;border-collapse:separate;border-spacing:0 4px;font-size:1rem}
.lanes-grid thead th{position:sticky;top:0;z-index:1;background:#14181d;color:var(--sign);font-family:var(--font-d);font-weight:400;text-transform:uppercase;letter-spacing:.03em;font-size:.95rem;line-height:1.1;text-align:left;padding:.5rem .4rem;white-space:normal}
.lanes-grid td,.lanes-grid tbody th{padding:0 3px;vertical-align:top}
.lanes-grid__n{font-weight:700;text-align:center;width:2.6rem;padding-top:.6rem!important;color:#3a434c}
.lanes-grid input,.lanes-grid select{width:100%;min-height:44px;padding:.4rem .5rem;font:inherit;font-size:1rem;color:#14181d;background:#fff;border:1.5px solid #8b95a0;border-radius:3px;box-sizing:border-box}
.lanes-grid input:focus,.lanes-grid select:focus{outline:3px solid var(--sign);outline-offset:0;border-color:#14181d}
.lanes-grid [aria-invalid=true]{border-color:#c0261b;background:#fff1ef}
.lanes-grid td:nth-child(3),.lanes-grid td:nth-child(6){width:4.2rem}.lanes-grid td:nth-child(4),.lanes-grid td:nth-child(7){width:4.8rem}
.lanes-grid td:nth-child(2),.lanes-grid td:nth-child(5){min-width:8rem}.lanes-grid td:nth-child(8){min-width:7.5rem}.lanes-grid td:nth-child(9){width:6.4rem}.lanes-grid td:nth-child(10),.lanes-grid td:nth-child(11){width:4.6rem}.lanes-grid td:nth-child(12){min-width:11rem}
.lanes-modal__err{margin:0;padding:.6rem 1.2rem;background:#fff1ef;color:#8a1a11;font-size:1rem;border-top:3px solid #c0261b}
.lanes-modal__err ul{margin:.2rem 0 0 1.1rem;padding:0}
.lanes-modal__foot{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;padding:.8rem 1.2rem}
.lanes-modal__spacer{flex:1 1 auto}
.lanes-modal__count{color:#3a434c;font-size:.95rem}
@media (max-width:980px){
  .lanes-modal{padding:0;align-items:stretch}
  .lanes-modal__panel{max-height:100vh;max-height:100dvh;height:100%;border-top-width:6px}
  .lanes-modal__head{padding:.5rem .9rem .1rem}
  .lanes-modal__help{padding:0 .9rem .5rem;font-size:1rem}
  .lanes-modal__scroll{padding:.5rem .7rem}
  .lanes-grid,.lanes-grid tbody{display:block}
  .lanes-grid thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .lanes-grid tbody tr{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.4rem .5rem;margin:0 0 .9rem;padding:.7rem;border:1.5px solid #8b95a0;background:#f4f2ec}
  .lanes-grid td,.lanes-grid tbody th{display:block;padding:0;width:auto!important;min-width:0!important;grid-column:span 3}
  .lanes-grid tbody th{grid-column:1 / -1;text-align:left;padding:0!important;font-family:var(--font-d);font-size:1.15rem;text-transform:uppercase}
  .lanes-grid tbody th::before{content:"Lane "}
  .lanes-grid td::before{content:attr(data-label);display:block;font-size:.875rem;font-weight:700;color:#3a434c;margin-bottom:.15rem}
  .lanes-grid td:nth-child(2),.lanes-grid td:nth-child(5),.lanes-grid td:nth-child(8),.lanes-grid td:nth-child(12){grid-column:1 / -1}
  .lanes-grid td:nth-child(3),.lanes-grid td:nth-child(4),.lanes-grid td:nth-child(6),.lanes-grid td:nth-child(7){grid-column:span 3}
  .lanes-grid td:nth-child(9){grid-column:span 6}
  .lanes-grid td:nth-child(10),.lanes-grid td:nth-child(11){grid-column:span 3}
  .lanes-grid input,.lanes-grid select{font-size:1rem}
  .lanes-modal__foot{padding:.6rem .9rem;gap:.5rem;background:#fff}
  .lanes-modal__foot .btn{flex:1 1 calc(50% - .5rem)}
  .lanes-modal__spacer,.lanes-modal__count{display:none}
}
/* hero: tidy stacked buttons on small screens (outline ones side by side) */
@media (max-width:640px){.btn-trio--hero{display:grid;grid-template-columns:1fr 1fr}.btn-trio--hero .btn:first-child{grid-column:1 / -1}.btn-trio--hero .btn{font-size:.95rem;line-height:1.15;padding-left:.5rem;padding-right:.5rem}}
/* r45: rescue form Hazmat / Team checkboxes */
.rescue-flags{border:0;padding:0;margin:0;min-width:0}
.rescue-flags legend{font-weight:700;margin-bottom:.25rem;padding:0}
.rescue-flags .checks{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem}
.rescue-flags .checks label{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;cursor:pointer}
.rescue-flags input[type=checkbox]{width:1.35rem;height:1.35rem;accent-color:var(--sign,#ffc400)}

/* r46: homepage "Three ways to add us" (three separate cards) + chooser page */
.addus h2{font-size:clamp(2.2rem,5.6vw,4.2rem);margin-bottom:1.6rem}
.addus__head{margin-bottom:.4rem}
.addus__grid{list-style:none;margin:0;padding:0;display:grid;gap:1.1rem;grid-template-columns:1fr}
.addus__card{display:flex;flex-direction:column;align-items:flex-start;gap:.55rem;background:#14181d;border:1px solid rgba(255,255,255,.12);border-top:5px solid var(--sign);padding:1.5rem 1.4rem 1.4rem}
.addus__card h3{margin:0;font-size:1.6rem;color:#fff}
.addus__card p{margin:0 0 .6rem;color:var(--tx);flex:1}
.addus__card .btn{align-self:stretch;text-align:center}
.addus__ic{display:inline-flex;width:2.6rem;height:2.6rem;color:var(--sign)}
.addus__ic svg{width:100%;height:100%}
@media (min-width:860px){.addus__grid{grid-template-columns:repeat(3,1fr);gap:1.4rem}}
@media (min-width:860px) and (max-height:820px){.addus h2{font-size:clamp(2rem,min(4.4vw,7vh),3.4rem);margin-bottom:1rem}.addus__card{padding:1.1rem 1.2rem}.addus__card h3{font-size:1.35rem}}
.card__act{margin:1rem 0 0}

/* r51: shipment details (quote + rescue forms) */
.ship-fields{display:grid;gap:1rem}
.ship-hours{border:0;padding:0;margin:0;min-width:0}
.ship-hours legend{font-weight:700;margin-bottom:.35rem;padding:0}
.ship-hours__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.75rem}
.ship-hours__row label{display:block;font-size:.9rem;margin-bottom:.2rem}
.ship-hours__row select{width:100%}
.ship-more{margin-top:.4rem}
.ship-more>.ship-fields{padding-bottom:.4rem}
.ship-fields [hidden]{display:none!important}
select:disabled{opacity:.55;cursor:not-allowed}

.ship-appt{margin-top:.75rem}.ship-appt label{display:block;font-size:.9rem;margin-bottom:.2rem}.ship-appt select{width:100%}

/* r53: flatbed load dimensions */
.flat-dims__box{border:1px solid var(--f-line,rgba(255,255,255,.25));padding:.8rem .9rem 1rem;margin:0;min-width:0}
.flat-dims__box legend{font-weight:700;padding:0 .4rem}
.flat-dims__entire{display:flex;gap:.5rem;align-items:center;margin-bottom:.7rem;font-weight:600}
.flat-dims__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(6.2rem,1fr));gap:.6rem}
.flat-dims__row label,.flat-dims__tarps label{display:block;font-size:.9rem;margin-bottom:.2rem}
.flat-dims__row input,.flat-dims__row select,.flat-dims__tarps select{width:100%}
.flat-dims__tarps{margin-top:.7rem;max-width:14rem}
.flat-dims [disabled]{opacity:.5;cursor:not-allowed}
.flat-dims[hidden]{display:none!important}

/* r54: rescue form - date/time/appointment rows + UN numbers */
.rf-when{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem .6rem;align-items:start;padding:0}
.rf-when>div:nth-child(3){grid-column:1/-1}
.rf-when label{font-size:.9rem;margin-bottom:.15rem}
.rf-when label{display:block}
.rf-when input,.rf-when select{width:100%}
.rf-un[hidden]{display:none!important}

/* r56 spot form: portals-we're-on chips (light, text-only) */
.portal-list{margin:1.1rem 0 0}
.portal-list__lead{margin:0 0 .55rem}
.portal-list .badges{gap:.45rem;margin:0 0 .75rem}
.portal-list .badge-pill{min-height:0;padding:.3rem .75rem;border:2px solid var(--sign,#ffc400);border-radius:999px;background:#fff;color:#0a0c0f!important;-webkit-text-fill-color:#0a0c0f;box-shadow:none;font-weight:700;font-size:.9rem}
.portal-list .badge-pill:hover{transform:none}
.portal-list__more{margin:0;font-weight:600}

/* r57: pickup / delivery timing blocks (FCFS range | By appointment -> set? time | hours) */
.when{display:grid;gap:.55rem;min-width:0}
.when [hidden]{display:none!important}
.when .rf-when--2>div:nth-child(3){grid-column:auto}
.when__sub{display:grid;gap:.55rem;min-width:0}
.when .ship-hours{margin:0}
.when .ship-hours legend{font-size:.9rem;margin-bottom:.2rem}
.when select:disabled{opacity:.5;cursor:not-allowed}
@media (max-width:420px){.when .rf-when,.when .ship-hours__row{grid-template-columns:1fr}}

/* ================= r58: dedicated compact "Book a rescue" view (book-a-rescue.html) =================
 * Whole form + submit on one laptop screen (target visible heights down to ~600px): 4-column grid, tight spacing; the pickup / delivery timing
 * blocks are one 5-column row each, so choosing FCFS / appointment never adds a row. Mobile: one scrolling column. */
.rescue-page{background:var(--bg);padding:clamp(.5rem,1.6vh,1.1rem) 0 clamp(1rem,3vh,2rem)}
.rescue-form--compact{padding:.9rem 1.15rem 1rem;border-top-width:6px}
.rc-head{display:flex;align-items:center;gap:.5rem 1.25rem;flex-wrap:wrap;margin-bottom:.7rem}
.rc-head__t{display:flex;align-items:center;gap:.75rem}
.rescue-form--compact .tag{margin:0}
.rescue-form--compact h1{font-size:clamp(1.55rem,3.4vh,2rem);line-height:1;margin:0}
.rescue-form--compact .rescue-sub{margin:0;font-size:.92rem;flex:1 1 16rem}
.rc-head__call{margin-left:auto;white-space:nowrap}
.rc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem .75rem;align-items:end}
.rc-grid>.span-2,.rc-grid>.when,.rc-grid>.flat-dims,.rc-grid>.eq-panel,.rc-grid>.rc-status,.rc-grid>.rc-fine,.rc-grid>.rc-captcha{grid-column:1/-1}
.rc-grid>.rc-flags,.rc-grid>.rc-un{grid-column:span 2}
.rc-grid .field{gap:.18rem}
.rc-grid .field label,.rc-grid .field legend,.rc-grid .rf-when label{font-size:.8rem;margin:0}
.rc-grid input[type=text],.rc-grid input[type=email],.rc-grid input[type=tel],.rc-grid input[type=date],.rc-grid input[type=number],.rc-grid select{min-height:40px;padding:.4rem .7rem;font-size:.95rem}
.rc-grid .rc-flags .checks{display:flex;flex-wrap:wrap;gap:.1rem 1.4rem}
.rc-grid .rc-flags .checks label{min-height:40px;font-size:.92rem}
.rc-grid .rc-un .hint{display:none}
.rc-grid .rc-captcha:empty{display:none}
.rc-submit{min-height:40px!important;padding-top:.4rem;padding-bottom:.4rem}
.rc-status{margin:0}.rc-status:not(.is-shown){display:none}
.rc-fine{margin:.1rem 0 0!important;font-size:.8rem;text-align:center;opacity:.9}
.rc-more{align-self:end;padding:0 .8rem}
.rc-more summary{min-height:40px;padding:.35rem 0;font-size:.78rem;display:flex;align-items:center}
.rc-more[open]{grid-column:1/-1}
.rc-more[open] summary{margin-bottom:.6rem}
.rc-more .ship-fields{padding-bottom:.6rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem .75rem}
.rc-more .ship-fields>.field:last-child{grid-column:1/-1}
.rc-more textarea{min-height:64px}
/* timing block: date | type | up to three revealed fields, all in ONE row */
.rescue-form--compact .when{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:.35rem .75rem;align-items:end}
.rescue-form--compact .when .rf-when,.rescue-form--compact .when .when__sub,.rescue-form--compact .when .ship-hours,.rescue-form--compact .when .ship-hours__row{display:contents}
.rescue-form--compact .when .ship-hours legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.rescue-form--compact .when label{display:block;margin:0 0 .18rem;font-size:.8rem}
.rescue-form--compact .when select,.rescue-form--compact .when input{width:100%}
.rescue-form--compact .when [hidden]{display:none!important}
.rc-grid>.flat-dims{padding:.4rem .7rem;margin:0}
.rc-grid>.flat-dims .flat-dims__row{grid-template-columns:repeat(4,minmax(0,1fr))}
.rc-grid .flat-dims .hint{display:none}
.rc-grid .flat-dims__tarps{margin-top:.3rem}
@media (max-width:999px){
  .rc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rc-grid>.rc-flags,.rc-grid>.rc-un{grid-column:1/-1}
  .rescue-form--compact .when{grid-template-columns:repeat(3,minmax(0,1fr))}
  .rescue-form--compact .when>*:nth-child(2){grid-column:span 2}
}
@media (max-width:600px){
  .rescue-form--compact{padding:.9rem .9rem 1rem}
  .rc-grid{grid-template-columns:1fr;gap:.7rem}
  .rc-head__call{margin-left:0}
  .rescue-form--compact .when{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rescue-form--compact .when>*:nth-child(2){grid-column:1/-1}
  .rc-grid .field label,.rc-grid .field legend,.rescue-form--compact .when label{font-size:.9rem}
  .rc-grid input[type=text],.rc-grid input[type=email],.rc-grid input[type=tel],.rc-grid input[type=date],.rc-grid input[type=number],.rc-grid select{min-height:46px;font-size:1rem}
  .rc-more[open] .ship-fields{grid-template-columns:1fr}
}
/* short laptop screens (small browser windows): squeeze vertical spacing a bit more */
@media (min-width:1000px) and (max-height:700px){
  .rescue-page{padding-top:.35rem}
  .rescue-form--compact{padding:.65rem 1rem .7rem;border-top-width:5px}
  .rc-head{margin-bottom:.45rem}
  .rc-grid{gap:.4rem .7rem}
  .rc-grid input[type=text],.rc-grid input[type=email],.rc-grid input[type=tel],.rc-grid input[type=date],.rc-grid input[type=number],.rc-grid select{min-height:36px;padding-top:.3rem;padding-bottom:.3rem}
  .rc-grid .rc-flags .checks label,.rc-submit,.rc-more summary{min-height:36px!important}
}

/* short 'Book a rescue' cards (homepage hero, Expedites, Rescue stories) -> pickup + delivery, then the dedicated view */
.rescue-teaser{border-top-width:8px}
.ticket .rescue-teaser{background:none;border:0;padding:0;box-shadow:none}
.rescue-teaser .rt-form{display:grid;gap:.8rem}
.rescue-teaser h2{margin-bottom:.3rem}
@media (min-width:700px){.rescue-teaser .rt-form{grid-template-columns:1fr 1fr;align-items:end}.rescue-teaser .rt-form .btn{grid-column:1/-1}}

/* r58b: compact load-dimensions panel inside the dedicated rescue view: one row (Entire truck | L | W | H | Units | Tarps) */
.rc-grid>.flat-dims .flat-dims__box{display:grid;grid-template-columns:max-content repeat(3,minmax(0,1fr)) minmax(0,.8fr) minmax(0,1fr);gap:.3rem .6rem;align-items:end;padding:.2rem .7rem .55rem}
.rc-grid>.flat-dims .flat-dims__box legend{font-size:.8rem;padding:0 .35rem}
.rc-grid>.flat-dims .flat-dims__entire{margin:0;min-height:40px;font-size:.88rem;white-space:nowrap}
.rc-grid>.flat-dims .flat-dims__row{display:contents}
.rc-grid>.flat-dims .flat-dims__row label,.rc-grid>.flat-dims .flat-dims__tarps label{font-size:.8rem;margin-bottom:.18rem}
.rc-grid>.flat-dims .flat-dims__tarps{margin:0;max-width:none}
@media (max-width:999px){.rc-grid>.flat-dims .flat-dims__box{grid-template-columns:repeat(4,minmax(0,1fr))}.rc-grid>.flat-dims .flat-dims__entire{grid-column:1/-1}.rc-grid>.flat-dims .flat-dims__tarps{grid-column:span 2}}
@media (max-width:600px){.rc-grid>.flat-dims .flat-dims__box{grid-template-columns:repeat(2,minmax(0,1fr))}.rc-grid>.flat-dims .flat-dims__tarps{grid-column:1/-1}}
/* short browser windows (laptops with toolbars): slimmer sticky header on every page, so the first section clears more of the fold */
@media (min-width:1000px) and (max-height:700px){:root{--header-h:58px}.brand img{height:34px;width:auto}}

/* r60: portal chips - explicit dark text on a white chip (the theme's --ink/--hd are LIGHT on this dark section, which made the text white on white) */
.portal-list .badge-pill{background:#fff;color:#0a0c0f!important;text-shadow:none}

/* r61: lanes pop-up - header (title + live "N of 100 lanes" + X) and the action bar (Add more lanes +10, Clear all, Close, Save) are ALWAYS visible;
 * only the instructions + lane grid scroll inside the modal. */
.lanes-modal__panel{overflow:hidden}
.lanes-modal__head{flex:none;padding:.6rem 1.2rem .5rem;gap:.8rem}
.lanes-modal__head h2{margin-right:auto}
.lanes-modal__head .lanes-modal__count{font-weight:800;font-size:1rem;color:#14181d;background:var(--sign);padding:.3rem .75rem;white-space:nowrap}
.lanes-modal__scroll{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain}
.lanes-modal__scroll .lanes-modal__help{padding:.5rem 0 .6rem;font-size:.95rem}
.lanes-modal__err{flex:none}
.lanes-modal__foot{flex:none;background:#f3f4f6;border-top:1px solid #cfd5db;padding:.6rem 1.2rem;gap:.5rem .6rem;box-shadow:0 -6px 12px -8px rgba(0,0,0,.25)}
.lanes-modal__foot .btn{min-height:44px;padding-top:.45rem;padding-bottom:.45rem}
.lanes-modal__max{color:#8a1a11;font-weight:700;font-size:.92rem;flex:1 1 14rem}
@media (max-width:980px){
  .lanes-modal__head{padding:.45rem .8rem}
  .lanes-modal__head h2{font-size:1.25rem}
  .lanes-modal__head .lanes-modal__count{font-size:.9rem;padding:.25rem .5rem}
  .lanes-modal__scroll{padding:.3rem .7rem .6rem}
  .lanes-modal__foot{display:grid;grid-template-columns:1fr 1fr;padding:.5rem .7rem;gap:.4rem .5rem}
  .lanes-modal__foot .lanes-modal__spacer{display:none}
  .lanes-modal__foot .lanes-modal__max{grid-column:1/-1}
  .lanes-modal__foot .btn{width:100%;padding-left:.5rem;padding-right:.5rem;font-size:.9rem}
}
@media (max-height:700px) and (min-width:981px){
  .lanes-modal{padding:.5rem}.lanes-modal__panel{max-height:calc(100dvh - 1rem);border-top-width:5px}
  .lanes-modal__head h2{font-size:1.35rem}
  .lanes-grid input,.lanes-grid select{min-height:38px}
  .lanes-modal__foot{padding:.4rem 1.2rem}.lanes-modal__foot .btn{min-height:38px}
}

/* r61: form-first compact vendor pages (spot / RFP / email list) share the book-a-rescue grid */
.rc-grid>.rc-s2{grid-column:span 2}.rc-grid>.rc-s3{grid-column:span 3}.rc-grid>.rc-s4{grid-column:1/-1}
.rc-grid>.rc-s2>.field,.rc-grid>.rc-s3>.field{height:100%}
.rc-grid textarea{min-height:64px;height:64px;padding:.45rem .7rem;font-size:.95rem}
.rc-grid .checks{display:flex;flex-wrap:wrap;gap:.1rem 1.1rem}
.rc-grid .checks label{min-height:32px;font-size:.9rem}
.rc-grid .lanebox{gap:.2rem}
.rc-grid .lanebox__label{margin:0;font-size:.8rem}
.rc-grid .lanebox__row{display:flex;flex-wrap:wrap;gap:.5rem}
.rc-grid .lanebox .btn{min-height:40px;padding:.35rem .9rem;font-size:.85rem}
.rc-grid .lanebox .hint,.rc-grid .filefield .hint{font-size:.78rem;margin:0}
.rc-grid .filefield{padding:.5rem .7rem}
.rc-grid .filefield__row{gap:.4rem .7rem}
.rc-grid .filefield .btn{min-height:36px;padding:.25rem .8rem;font-size:.8rem}
.vt-form .rc-head .tag{white-space:nowrap}
.vendor-packet{max-width:44rem}
@media (max-width:999px){.rc-grid>.rc-s3{grid-column:1/-1}}
@media (max-width:600px){.rc-grid>.rc-s2,.rc-grid>.rc-s3,.rc-grid>.rc-s4{grid-column:auto}.rc-grid textarea{min-height:90px}}
@media (min-width:1000px) and (max-height:700px){.rc-grid textarea{min-height:56px;height:56px}}

/* ================= r62: responsive section system =================
 * Laptop / desktop (>=1000px wide): the FIRST section of every landing page fills exactly the first screen (100svh minus the sticky header) with its
 * content vertically centred, so the fold never cuts a section in half or shows a sliver of the next one; later "feature" sections are at least a
 * screen tall (capped) with content centred, and the page uses scroll-snap with PROXIMITY (never mandatory) so scrolling settles on section starts.
 * Phones / tablets (<1000px): ordinary flowing sections, no forced heights. Type, spacing and the page width scale fluidly (clamp(), vh and, on very
 * big screens, a larger root size + wider container) so tall desktops don't look lost in empty space. */
:root{--first-h:calc(100vh - var(--header-h));--first-h:calc(100svh - var(--header-h))}
@media (min-width:1000px){
  main>.hero:first-child,main>.page-hero:not(.ph--compact):first-child,main>.rescue-page:first-child{min-height:var(--first-h);display:flex;flex-direction:column;justify-content:center}
  main>.hero:first-child>.hero__grid{width:100%}
  main>.section:not(:first-child):not(.rescue-page){min-height:min(var(--first-h),52rem);display:flex;flex-direction:column;justify-content:center}
  main>.section:not(:first-child)>.container,main>.section:not(:first-child)>.wrap{width:min(100% - 2.5rem,var(--max))}
}
@media (min-width:1000px) and (min-height:560px) and (prefers-reduced-motion:no-preference){
  html{scroll-snap-type:y proximity}
  main>section,main>.proof,.site-footer{scroll-snap-align:start}
}
/* fluid scale for big screens */
@media (min-width:1800px){html{font-size:112.5%}:root{--max:1400px}.site-footer .container{width:min(100% - 2.5rem,1400px)}.site-header__inner{width:min(100% - 2.5rem,1500px)}}
@media (min-width:2300px){html{font-size:125%}:root{--max:1560px}.site-footer .container{width:min(100% - 2.5rem,1560px)}.site-header__inner{width:min(100% - 2.5rem,1700px)}}
/* anchored headings never sit under the sticky header */
:target,[id]{scroll-margin-top:calc(var(--header-h) + 12px)}

/* r62b: title row may wrap on narrow phones (long vendor titles such as "Distribution email list") */
.rc-head__t{flex-wrap:wrap;min-width:0;max-width:100%}
.rc-head__t h1{min-width:0;overflow-wrap:anywhere}
@media (max-width:480px){.rc-head__t{gap:.35rem .6rem}}

/* r64: 'Quote within 5 minutes' is an info badge (outlined, neutral, small, no hover) - never styled like the solid yellow CTA buttons */
.promise:hover,.promise:focus,.promise:active{background:rgba(255,255,255,.06);transform:none}
.section--pale .promise:hover,.on-light .promise:hover{background:rgba(10,12,15,.05)}

/* r63: values carried over from the short 'Book a rescue' cards show as prefilled, with a one-line note */
.rc-prefill{margin:0 0 .6rem;padding:.3rem .7rem;font-size:.86rem;line-height:1.35;color:var(--tx2,#c9ced4);border-left:3px solid var(--sign);background:rgba(255,196,0,.08);border-radius:2px}
.rescue-form .is-prefilled{border-color:var(--sign);box-shadow:0 0 0 1px var(--sign)}
@media (max-height:700px){.rc-prefill{margin-bottom:.35rem;padding:.2rem .6rem;font-size:.8rem}}

/* r67: rescue headline "Carrier no-show? Load given back last minute?" is long - card headings on the Expedites / Rescue-stories sections stay at card size and balance over 2 lines */
.section .rescue-teaser h2{font-size:clamp(1.35rem,1.05rem + 1vw,2rem);line-height:1.1;text-wrap:balance;margin-bottom:.45rem}
.rescue-teaser .rescue-sub{margin-top:0}
@media (max-height:700px) and (min-width:1000px){.section .rescue-teaser h2{font-size:clamp(1.25rem,3.4vh,1.6rem)}}

/* r68: vendor pages (spot / RFP / email) - ONE first screen: explanation left, form right (>=1000px); stacked on phones (form first) */
.vt--split>.container{max-width:min(var(--max,1180px),100% - 2rem)}
.vt-split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(1.25rem,3.2vw,3.25rem);align-items:center}
.vt-split>.vt-form{grid-column:2;grid-row:1;margin:0}
.vt-split>.vt-left{grid-column:1;grid-row:1;min-width:0}
.vt-left .eyebrow{margin-bottom:.35rem}
.vt-left h2{font-size:clamp(1.3rem,.7rem + 1.7vw,2.1rem);line-height:1.1;margin:0 0 .6rem;text-wrap:balance}
.vl-lead{margin:0 0 .8rem;font-size:clamp(.92rem,.8rem + .3vw,1.05rem);color:var(--tx2)}
.vl-steps{list-style:none;margin:0 0 .8rem;padding:0;display:grid;gap:clamp(.45rem,1.3vh,.8rem)}
.vl-steps li{display:grid;grid-template-columns:2rem 1fr;gap:.7rem;align-items:start}
.vl-n{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:var(--sign);color:#0a0c0f;font-weight:800;font-size:.95rem}
.vl-n .icon{width:1rem;height:1rem}
.vl-steps h3{font-size:clamp(.98rem,.9rem + .25vw,1.12rem);margin:0 0 .1rem;line-height:1.2}
.vl-steps p{margin:0;font-size:clamp(.84rem,.78rem + .2vw,.95rem);line-height:1.35;color:var(--tx2)}
.vl-send{margin:.2rem 0 .6rem;font-size:clamp(.82rem,.76rem + .2vw,.93rem);line-height:1.4;color:var(--tx2)}
.vl-why{list-style:none;margin:0 0 .7rem;padding:0;display:grid;gap:.2rem;font-size:clamp(.82rem,.76rem + .2vw,.93rem);line-height:1.35}
.vl-why li{display:flex;gap:.45rem;align-items:flex-start}.vl-why .icon{flex:none;width:1em;height:1em;margin-top:.22em;color:var(--sign)}
.vl-call{margin:.4rem 0 0;font-size:.9rem}.vl-call a{font-weight:700;white-space:nowrap}
.vl-call .icon{width:1em;height:1em;vertical-align:-.12em}
.vt-left .vendor-packet{padding:.7rem .9rem;margin:.2rem 0 .5rem}.vt-left .vendor-packet h3{font-size:1rem;margin:.1rem 0}.vt-left .vendor-packet .icon-badge{display:none}
.vt-left .vendor-packet p{font-size:.84rem;margin:.2rem 0}
/* 6-column form grid inside the right column */
.vs-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
.vs-grid>*{grid-column:span 2}
.vs-grid>.vs-3{grid-column:span 3}.vs-grid>.vs-4{grid-column:span 4}.vs-grid>.vs-6{grid-column:1/-1}
.vs-grid>.rc-submit{grid-column:1/-1}
.vs-grid>.rc-status,.vs-grid>.rc-fine,.vs-grid>.rc-captcha{grid-column:1/-1}
.vs-grid>.hp{grid-column:auto}
.vs-grid .checks label{min-height:28px;font-size:.86rem}
.vs-grid .checks{gap:.05rem .9rem}
.vs-grid .filefield__none{font-size:.78rem}
.vs-grid .filefield{height:100%}
.vt-form .rc-head{margin-bottom:.5rem}
@media (min-width:1000px) and (max-height:700px){
  .vt-left h2{font-size:clamp(1.15rem,3.1vh,1.45rem)}
  .vl-lead{margin-bottom:.5rem;font-size:.88rem}
  .vl-steps{gap:.4rem;margin-bottom:.5rem}.vl-steps li{grid-template-columns:1.7rem 1fr;gap:.55rem}.vl-n{width:1.7rem;height:1.7rem;font-size:.85rem}
  .vl-steps p{font-size:.82rem;line-height:1.3}.vl-steps h3{font-size:.95rem}
  .vl-send,.vl-why{font-size:.8rem;margin-bottom:.4rem}
  .vt-left .vendor-packet{padding:.5rem .7rem}.vt-left .vendor-packet p{font-size:.8rem}
}
@media (max-width:999px){
  .vt-split{grid-template-columns:minmax(0,1fr);gap:1.5rem;align-items:start}
  .vt-split>.vt-form,.vt-split>.vt-left{grid-column:1}
  .vt-split>.vt-left{grid-row:2}
  .vs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vs-grid>*{grid-column:auto}
  .vs-grid>.vs-3,.vs-grid>.vs-4,.vs-grid>.vs-6,.vs-grid>.rc-submit,.vs-grid>.rc-status,.vs-grid>.rc-fine,.vs-grid>.rc-captcha{grid-column:1/-1}
}
@media (max-width:600px){.vs-grid{grid-template-columns:minmax(0,1fr)}.vs-grid>*{grid-column:auto!important}}
.vs-grid .lanebox .btn{white-space:nowrap}.vs-grid .rc-grid textarea,.vs-grid textarea{min-height:52px;height:52px}
.vs-grid .filefield .hint{display:none}
.vs-grid .filefield{position:relative}
.vs-grid .rc-grid textarea,.vs-grid textarea{min-height:40px;height:40px}
.vs-grid fieldset.field{padding:0;border:0;margin:0;min-width:0}
.vs-grid fieldset.field legend{padding:0;margin:0 0 .15rem}
.vs-grid .checks{flex-wrap:wrap;gap:0 .8rem}
.filefield__label small{font-weight:400;font-size:.9em;opacity:.85}
.vs-grid .lanebox .hint{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.25}
.vs-grid .checks label{white-space:nowrap}
@media (min-width:1000px) and (max-height:700px){
  .vt--split{padding-top:.3rem;padding-bottom:.4rem}
  .vt-split .vt-form{padding-top:.5rem;padding-bottom:.55rem}
  .vs-grid{gap:.35rem .7rem}
  .vs-grid input[type=text],.vs-grid input[type=email],.vs-grid input[type=tel],.vs-grid select{min-height:34px}
  .vs-grid .lanebox .btn,.vs-grid .filefield .btn{min-height:34px}
  .vt-split .vt-form .rc-head{margin-bottom:.3rem}
}

/* r69: spot-market clean-up card - the spot market button is the primary (solid yellow) action; the single-load / rescue button is the outline secondary */
.svc-pitch{margin:.9rem 0 .7rem;font-size:clamp(.95rem,.88rem + .3vw,1.1rem);line-height:1.35}
.svc-actions{display:flex;flex-wrap:wrap;gap:.6rem .8rem;align-items:stretch}
.svc-actions .btn{text-align:center}
.svc-more{margin:.7rem 0 0}
@media (max-width:600px){.svc-actions .btn{flex:1 1 100%}}

@media (min-width:1000px){
  .vs-grid .lanebox__row{flex-wrap:nowrap;gap:.4rem}
  .vs-grid .lanebox .btn{padding:.35rem .65rem;font-size:.8rem}
  .vs-grid .filefield__label{white-space:nowrap}
}
@media (max-width:999px){.vs-grid .filefield__label small{display:block}}
@media (max-width:999px){.vs-grid .filefield__label,.vs-grid .checks label{white-space:normal}}

/* r70: city / state suggestions (js/places.js) - an accessible combobox list under the field; overlays, never moves the layout */
.places-list{position:absolute;left:0;right:0;top:100%;z-index:60;margin:2px 0 0;padding:.25rem 0;list-style:none;max-height:min(15rem,40vh);overflow-y:auto;background:#fff;color:#0a0c0f;border:2px solid var(--sign);border-radius:4px;box-shadow:0 14px 30px -10px rgba(0,0,0,.6);-webkit-overflow-scrolling:touch}
.places-list[hidden]{display:none}
.places-list li{padding:.5rem .75rem;font-size:.98rem;line-height:1.25;cursor:pointer}
.places-list li.is-active,.places-list li:hover{background:var(--sign);color:#0a0c0f}
.places-list li[aria-selected=true]{background:var(--sign);font-weight:700}
.field:has(>.places-list:not([hidden])){z-index:70}
input[data-places][aria-expanded=true]{border-color:var(--sign)}
.geo-credit{opacity:.8}
@media (max-width:700px){.places-list li{padding:.7rem .8rem;font-size:1.05rem}.places-list{max-height:min(16rem,38vh)}}

/* r72: RFP page "Beyond the rescue" band under the first screen */
.rfp-beyond .section-head{max-width:52rem}
.rfp-beyond .lead{margin-top:.5rem}
.rfp-beyond__cols{margin-top:1.25rem}
.rfp-beyond__cols .card h3{margin-bottom:.4rem}
.rfp-beyond__years{margin-top:1.25rem}
@media (max-width:900px){.rfp-beyond__years{grid-template-columns:repeat(2,1fr)}}
/* r70: the home hero clips its background and the ticket has a notched corner (clip-path); let an open suggestion list overlay both, and sit above the next section */
.hero:has(.places-list:not([hidden])){overflow:visible;z-index:6}
.ticket:has(.places-list:not([hidden])){clip-path:none}
/* r72: the two lane buttons fit their half-column at 1280-1366 (Excel template was 12-13px past the row) */
@media (min-width:1000px){.vs-grid .lanebox .btn{padding:.35rem .5rem;font-size:.76rem;letter-spacing:.02em}.vs-grid .lanebox .btn svg{width:1em;height:1em;margin-right:.25em}}

/* r73: quote form request-type row - RFP / freight bid is a link (-> rfp-bid-list.html), Question is a button that opens js/question.js's dialog; both look like the radio choices */
.seg .seg-act{position:relative;display:block;margin:0;padding:0;border:0;background:none;font:inherit;color:inherit;text-decoration:none;cursor:pointer}
.seg .seg-act:hover span{border-color:var(--acc)}
.seg .seg-act:focus-visible{outline:none}
.seg .seg-act:focus-visible>span{outline:3px solid var(--focus);outline-offset:3px}
.q-modal{position:fixed;inset:0;z-index:2000;background:rgba(10,12,15,.78);display:flex;align-items:center;justify-content:center;padding:1rem}
.q-modal[hidden]{display:none}
.q-modal__panel{background:#fff;color:#14181d;width:min(560px,100%);max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem);display:flex;flex-direction:column;border-top:8px solid var(--sign);box-shadow:0 24px 60px -12px rgba(0,0,0,.7)}
.q-modal__head{flex:none;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 1.2rem .4rem}
.q-modal__head h2{margin:0;font-size:clamp(1.5rem,3vw,2rem);color:#14181d}
.q-modal__x{width:44px;height:44px;border:2px solid #14181d;background:#fff;color:#14181d;font-size:1.9rem;line-height:1;cursor:pointer}
.q-modal__x:hover{background:var(--sign)}
.q-modal__form{display:flex;flex-direction:column;min-height:0;flex:1 1 auto}
.q-modal__scroll{flex:1 1 auto;min-height:0;overflow:auto;padding:.2rem 1.2rem 1rem;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.q-modal__help{margin:0 0 .8rem;font-size:1rem;line-height:1.4;color:#3a434c}
.q-modal__help a{color:#14181d;font-weight:700}
.q-modal__foot{flex:none;display:flex;justify-content:flex-end;gap:.6rem;padding:.7rem 1.2rem;background:#f3f4f6;border-top:1px solid #cfd5db}
.q-modal__foot .btn{min-height:44px}
.q-modal .field label,.q-modal .field legend{color:#14181d}
.q-modal .field input,.q-modal .field textarea{background:#fff;color:#14181d;border:2px solid #8a949e;font-size:1rem}
.q-modal .field input:focus,.q-modal .field textarea:focus{border-color:#14181d;outline:3px solid var(--sign);outline-offset:0}
.q-modal .field [aria-invalid=true]{border-color:#c0261b;background:#fff1ef}
.q-modal textarea{width:100%;min-height:6.5rem;resize:vertical}
.q-modal .form-status{margin-top:.8rem}
.q-modal .form-privacy,.q-modal .form-status{color:#14181d}
.q-modal .form-privacy a{color:#14181d}
.q-modal__form.is-sent .form-grid,.q-modal__form.is-sent .form-privacy,.q-modal__form.is-sent [data-q-send]{display:none}
@media (max-width:600px){
  .q-modal{padding:0;align-items:stretch}
  .q-modal__panel{max-height:100vh;max-height:100dvh;height:100%;border-top-width:6px}
  .q-modal__head{padding:.5rem .9rem .3rem}.q-modal__scroll{padding:.2rem .9rem .8rem}
  .q-modal__foot{padding:.6rem .9rem}.q-modal__foot .btn{flex:1 1 50%}
  .q-modal .form-grid--2{grid-template-columns:1fr}.q-modal .form-grid--2 .span-2{grid-column:auto}
}
@media (max-height:560px) and (min-width:601px){.q-modal{padding:.5rem}.q-modal__panel{max-height:calc(100dvh - 1rem);border-top-width:5px}}
.q-modal .btn--outline{background:#fff;color:#14181d;border-color:#14181d}
.q-modal .btn--outline:hover{background:var(--sign)}
.q-modal .form-status{margin:0 0 .8rem}

/* r74: "Special needs" (quote / start-shipping) and Hazmat / Team (rescue forms) as large tile checkboxes with icons and a clear checked state.
   The real <input type=checkbox> stays inside the <label> (same name / value / text); it is stretched invisibly over the tile so click, tap and keyboard all work. */
.special-needs legend{font-size:1rem;font-weight:800;color:#fff;margin-bottom:.15rem}
.checks.chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}
.checks.chips .chip{position:relative;display:block;margin:0;padding:0;min-height:0;font-size:inherit;cursor:pointer}
.chips .chip input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:1}
.chip__box{display:flex;align-items:center;gap:.6rem;min-height:54px;height:100%;padding:.5rem .7rem;border:2px solid #8a949e;border-radius:8px;background:#1a2027;color:#fff;font-weight:600;font-size:1rem;line-height:1.2;transition:background .12s,border-color .12s,color .12s}
.chip__ic{width:1.6rem;height:1.6rem;color:var(--sign);flex:none}
.chip__t{flex:1 1 auto;min-width:0}
.chip__tick{flex:none;width:1.4rem;height:1.4rem;border:2px solid #8a949e;border-radius:50%;display:grid;place-items:center;color:transparent}
.chip__tick .icon{width:.85rem;height:.85rem;stroke-width:3.2}
.chips .chip:hover .chip__box{border-color:var(--sign);background:#212932}
.chips .chip input:checked+.chip__box{background:var(--sign);border-color:var(--sign);color:#0a0c0f;font-weight:800}
.chips .chip input:checked+.chip__box .chip__ic{color:#0a0c0f}
.chips .chip input:checked+.chip__box .chip__tick{background:#0a0c0f;border-color:#0a0c0f;color:var(--sign)}
.chips .chip input:focus-visible+.chip__box{outline:3px solid var(--focus);outline-offset:3px}
@media (max-width:420px){.checks.chips{grid-template-columns:1fr}.chip__box{min-height:50px}}
@media (forced-colors:active){.chip__box{border-color:ButtonText}.chips .chip input:checked+.chip__box{outline:3px solid Highlight}}
/* rescue forms: just Hazmat + Team, kept compact so the 1366x640 first screen still fits */
.rescue-flags .checks.chips,.rc-grid .rc-flags .checks.chips{display:flex;flex-wrap:wrap;gap:.4rem .6rem}
.rescue-flags .chips .chip,.rc-grid .rc-flags .chips .chip{flex:0 1 auto}
.rescue-flags .chip__box,.rc-grid .rc-flags .chip__box{min-height:40px;padding:.25rem .6rem;gap:.45rem;font-size:.92rem}
.rescue-flags .chip__ic{width:1.25rem;height:1.25rem}
.rescue-flags .chip__tick{width:1.15rem;height:1.15rem}.rescue-flags .chip__tick .icon{width:.7rem;height:.7rem}
.rescue-flags .chips .chip{margin:0}
.special-needs{min-width:0}
@media (min-width:640px){.special-needs{grid-column:span 2}}
.special-needs .checks.chips{grid-template-columns:repeat(auto-fill,minmax(13.5rem,1fr));gap:.5rem}
.special-needs .chip__box{min-height:48px;padding:.4rem .65rem}
@media (max-width:420px){.special-needs .checks.chips{grid-template-columns:1fr}}
/* r74: the mobile ".more{display:inline-flex}" link rule also matched <details class="more"> (Shipment details), putting the summary beside the fields; keep details as a block */
details.more{display:block;min-height:0}

/* r75: longer nav labels ("Spot Market Specialists", "Track A Shipment") - keep the bar on ONE line at laptop widths by tightening type and gaps, and switch to the menu button below 1280px */
@media (min-width:1280px) and (max-width:1439px){
  .site-nav ul{gap:.62rem;margin-left:0}
  .site-nav a.nav-link{font-size:.72rem;letter-spacing:.045em}
  .site-nav,.js .site-nav.is-open,.no-js .site-nav{gap:.7rem}
  .nav-right{gap:.7rem}
  .nav-phone{font-size:.86rem}
  .nav-cta{padding-left:.8rem;padding-right:.8rem}
}

/* r76: EDI + API band (homepage), section (Services) and one-line cross-links */
.edi-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.45rem}
.edi-chips li{display:inline-flex;align-items:center;gap:.45rem;padding:.3rem .65rem;border:2px solid var(--sign);border-radius:6px;background:#161b21;color:#fff;line-height:1.1}
.edi-chips b{font-family:var(--font-d);font-weight:400;font-size:1.25rem;letter-spacing:.02em;color:var(--sign)}
.edi-chips span{font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#dfe5ea}
.edi-band{background:#0e1318;border-top:3px solid var(--sign);border-bottom:3px solid var(--sign);color:#fff;padding:clamp(1.4rem,3.2vw,2.2rem) 0}
.edi-band__in{display:grid;gap:1.1rem 2.5rem;align-items:center}
@media (min-width:1000px){.edi-band__in{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}}
.edi-band__t h2{font-size:clamp(1.8rem,3.4vw,2.6rem);margin:.15rem 0 .45rem;color:#fff;line-height:1.05}
.edi-band__t p:not(.kicker){margin:0;color:#c9d2da;font-size:1rem;max-width:42rem}
.edi-band__r{display:grid;gap:.9rem;justify-items:start}
.edi-band .edi-chips span{display:none}
.edi-band .edi-chips b{font-size:1.4rem}
.edi-tablewrap{min-width:0}
.edi-table{width:100%;border-collapse:collapse;background:#fff;color:#14181d;border:2px solid #14181d;font-size:.98rem}
.edi-table th,.edi-table td{padding:.6rem .8rem;text-align:left;vertical-align:top;border-bottom:1px solid #d5dbe0}
.edi-table thead th{background:#14181d;color:#fff;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}
.edi-table tbody th{width:4.5rem;white-space:nowrap}
.edi-table tbody th b{display:inline-block;min-width:3.2rem;text-align:center;font-family:var(--font-d);font-weight:400;font-size:1.35rem;background:var(--sign);color:#0a0c0f;padding:.1rem .45rem;border-radius:4px;line-height:1.25}
.edi-table tbody tr:last-child td,.edi-table tbody tr:last-child th{border-bottom:0}
.edi-scope{margin:.7rem 0 0;font-size:.95rem;color:#3a434c}
.edi-grid{display:grid;gap:1.5rem 2.2rem;align-items:start}
@media (min-width:1000px){.edi-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}}
.edi-benefits{list-style:none;margin:0 0 1.1rem;padding:0;display:grid;gap:.8rem}
.edi-benefits li{display:grid;grid-template-columns:auto 1fr;gap:.6rem;align-items:start}
.edi-benefits .icon{color:var(--sign);background:#14181d;border-radius:50%;padding:.2rem;width:1.6rem;height:1.6rem;margin-top:.1rem}
.edi-sec .form-fine{margin-top:.6rem}
@media (max-width:640px){.edi-table thead{display:none}.edi-table,.edi-table tbody,.edi-table tr,.edi-table th,.edi-table td{display:block}.edi-table tr{padding:.55rem .75rem;border-bottom:1px solid #d5dbe0}.edi-table th,.edi-table td{border:0;padding:.1rem 0}.edi-table tbody th{width:auto}}
.edi-line{display:flex;gap:.6rem;align-items:flex-start;margin:1rem 0 0;padding:.6rem .85rem;border-left:4px solid var(--sign);background:rgba(255,196,0,.08);font-size:.95rem;line-height:1.4}
.edi-line .icon{color:var(--sign);margin-top:.15rem}
.section--pale .edi-line,.rfp-beyond .edi-line{color:inherit}
.edi-line a{font-weight:700}
/* r76b: Services EDI section = one screen at laptop sizes (heading + table left, benefits + button right) */
.edi-sec{padding-top:clamp(1.75rem,4vh,3rem);padding-bottom:clamp(1.75rem,4vh,3rem)}
.edi-sec .section-head{margin-bottom:1rem;max-width:none}
.edi-sec h2{font-size:clamp(2rem,3.4vw,3rem);margin-bottom:.5rem}
.edi-sec .section-head p{margin:0;font-size:1rem}
.edi-sec .edi-table{font-size:.94rem}
.edi-sec .edi-table th,.edi-sec .edi-table td{padding:.34rem .75rem}
.edi-sec .edi-table tbody th b{font-size:1.15rem;padding:0 .4rem}
.edi-sec .edi-scope{font-size:.88rem;margin-top:.5rem}
@media (min-width:1000px){.edi-sec .edi-side{padding-top:clamp(0rem,6vh,4.5rem)}}
@media (min-width:1000px){.edi-sec .edi-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:center}.edi-sec .edi-side{padding-top:0}}
.edi-sec .edi-benefits{margin:.9rem 0 1rem;gap:.55rem}
.edi-sec .edi-cta{margin:0;display:flex;flex-wrap:wrap;gap:.5rem .9rem;align-items:center}
.edi-sec .edi-cta .form-fine{margin:0}
.edi-sec .edi-table tbody th{width:5.2rem}

/* ===== r77: Equipment picker (js/equip.js) - custom listbox with SVG icons; the real <select name="equipment"> stays (hidden) as the source of truth ===== */
select.equip-native{position:absolute!important;left:0;bottom:0;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;margin:0;border:0!important;opacity:0;overflow:hidden;clip:rect(0 0 0 0);pointer-events:none}
.equip{position:relative;width:100%}
.equip__btn{width:100%;display:flex;align-items:center;gap:.6rem;min-height:50px;padding:.5rem .8rem .5rem .9rem;font:inherit;font-size:1rem;line-height:1.2;text-align:left;color:var(--f-ink);background:var(--f-bg);border:2px solid var(--f-line);border-radius:3px;cursor:pointer;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;appearance:none}
.equip__btn:hover{border-color:#6f7c88}
.equip__btn:focus-visible,.equip.is-open .equip__btn{outline:3px solid var(--focus);outline-offset:1px;border-color:transparent}
.equip__btn[aria-invalid=true]{border-color:#ff6b5e;box-shadow:inset 4px 0 0 #ff6b5e}
.equip__val{flex:1 1 auto;min-width:0;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere}
.equip.is-placeholder .equip__val{color:var(--f-ph)}
.equip__ico{flex:none;display:inline-flex;align-items:center;justify-content:center;width:2rem;height:1.6rem;color:var(--sign)}
.equip__ico[hidden]{display:none}
.equip__ico .icon{width:1.9rem;height:1.6rem}
.equip__chev{margin-left:auto;width:1.25rem;height:1.25rem;color:var(--f-label);transition:transform .15s}
.equip.is-open .equip__chev{transform:rotate(180deg)}
.equip__list{position:absolute;left:0;right:0;top:100%;z-index:80;margin:3px 0 0;padding:.25rem 0;list-style:none;max-height:min(22rem,58vh);overflow-y:auto;background:#fff;color:#0a0c0f;border:2px solid var(--sign);border-radius:4px;box-shadow:0 14px 30px -10px rgba(0,0,0,.6);-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.equip__list[hidden]{display:none}
.equip--up .equip__list{top:auto;bottom:100%;margin:0 0 3px}
.equip__list li{display:flex;align-items:center;gap:.65rem;min-height:44px;padding:.35rem .8rem .35rem .7rem;font-size:1rem;line-height:1.2;cursor:pointer}
.equip__list li .equip__ico{color:#0a0c0f}
.equip__list li.is-active,.equip__list li:hover{background:var(--sign);color:#0a0c0f}
.equip__list li[aria-selected=true]{font-weight:700;box-shadow:inset 4px 0 0 #0a0c0f}
.field:has(.equip.is-open){position:relative;z-index:75}
.hero:has(.equip.is-open){overflow:visible;z-index:6}
.ticket:has(.equip.is-open){clip-path:none}
.ticket .equip__btn{min-height:clamp(42px,5.6vh,50px);padding-top:.3rem;padding-bottom:.3rem}
.rc-grid .equip__btn{min-height:40px;padding-top:.3rem;padding-bottom:.3rem;font-size:.95rem}
.rc-grid .equip__ico .icon{height:1.4rem}
@media (max-width:700px){.equip__btn{min-height:48px}.rc-grid .equip__btn{min-height:46px;font-size:1rem}.equip__list li{min-height:48px;font-size:1.05rem}.equip__list{max-height:min(26rem,62vh)}}
@media (max-height:700px) and (min-width:701px){.rescue-form--compact .equip__btn,.rc-grid .equip__btn{min-height:36px}}
@media (prefers-reduced-motion:reduce){.equip__chev,.equip__btn{transition:none}}

/* ===== r78: homepage "Technology and tools" - six short points (AI + EDI/API) in two columns; 5px rule, number, title, one sentence ===== */
.prot__list--grid{display:grid;grid-template-columns:1fr;column-gap:2rem;row-gap:0;align-content:start}
.prot__list--grid li{grid-template-columns:3rem 1fr;gap:.7rem;padding:.9rem 0 .8rem}
.prot__list--grid .pn{font-size:2.3rem}
.prot__list--grid h3{font-size:1.35rem;line-height:1.05;margin-bottom:.25rem}
.prot__list--grid p{margin:0;font-size:.95rem;line-height:1.38}
.prot__list--grid p a{font-weight:700;text-decoration:underline;white-space:nowrap}
@media (min-width:700px){.prot__list--grid{grid-template-columns:1fr 1fr}}
@media (min-width:980px){.prot__in:has(.prot__list--grid){grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:3rem;align-items:center}.prot__in:has(.prot__list--grid) h2{font-size:clamp(2.3rem,min(4.8vw,9vh),4.4rem)}}
@media (min-width:980px) and (max-height:760px){.prot__list--grid li{padding:.65rem 0 .55rem}.prot__list--grid p{font-size:.9rem;line-height:1.3}.prot__list--grid h3{font-size:1.2rem}.prot__list--grid .pn{font-size:2rem}}

/* ===== r80: Shipment details is no longer labelled "(optional)"; Hazmat / Team add a gentle hint beside it (nothing is required) ===== */
.ship-sum-hint{font-weight:600;text-transform:none;letter-spacing:0;color:var(--sign)}
.ship-sum-hint[hidden]{display:none}
.rc-more summary{display:block}
.rc-more:not([open]) summary{display:flex;flex-direction:column;justify-content:center}
.rc-more .ship-sum-hint{display:block;margin-top:.2rem;font-size:.72rem;line-height:1.3;letter-spacing:0;text-transform:none}
.rc-more .ship-dash{display:none}

/* ===== r81: homepage hero looping semi video (poster fallback; reduced-motion / Save-Data / 2G keep poster only) + Hot-load teaser card ===== */
.hero__bg--video{pointer-events:none}
/* r88: the video also plays with prefers-reduced-motion (slow ambient footage); the pause / play button (.hero__vidctl) stops it. Save-Data = poster only (main.js). */
.rescue-teaser--hot h2{font-size:clamp(1.7rem,4.2vh,2.35rem);line-height:.95;letter-spacing:-.01em}
.rescue-teaser--hot .rescue-sub--hot{color:var(--sign);font-weight:800;font-size:clamp(.95rem,2.1vh,1.1rem);letter-spacing:.02em;margin-bottom:clamp(.45rem,1.2vh,.85rem)}
.rt-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(.4rem,1.1vh,.7rem) .65rem;margin-bottom:clamp(.55rem,1.4vh,.9rem)}
.rt-grid .rt-eq{grid-column:1 / -1}
.ticket .rt-grid .field label{font-size:.78rem}
.ticket .rt-grid input,.ticket .rt-grid select,.ticket .rt-grid .equip__btn{min-height:clamp(38px,5vh,46px);padding-top:.35rem;padding-bottom:.35rem;font-size:.92rem}
.ticket .rt-grid .equip__btn{min-height:clamp(38px,5vh,46px)}
.ticket .rt-grid .equip__ico svg{width:1.15rem;height:1.15rem}
@media (min-width:980px) and (max-height:700px){
  .ticket .rescue-teaser--hot h2{font-size:1.55rem}
  .ticket .rescue-sub--hot{margin-bottom:.4rem;font-size:.9rem}
  .ticket .rt-grid{gap:.35rem .55rem;margin-bottom:.45rem}
  .ticket .form-fine{display:none}
  .ticket .tag{margin-bottom:.25rem}
}
@media (max-width:520px){
  .rt-grid{grid-template-columns:1fr 1fr}
}

/* ===== r81b: equipment-conditional panels (Reefer temperature; Sprinter/Box/LTL pallet count) ===== */
.eq-panel[hidden]{display:none!important}
.eq-temp__row{grid-template-columns:minmax(7rem,10rem) minmax(8rem,14rem);max-width:28rem}
.rc-grid>.eq-panel{grid-column:1/-1;padding:.4rem .7rem;margin:0}
.rc-grid>.eq-panel .hint{display:none}


/* ===== r83: light modals — readable action-bar buttons (primary yellow/dark text; secondary dark outline) ===== */
.lanes-modal__panel,
.q-modal__panel{/* establish light surface for buttons */}
.lanes-modal .btn--red,
.q-modal .btn--red,
.lanes-modal .btn--primary,
.q-modal .btn--primary{
  background:var(--sign);border-color:#0a0c0f;color:#0a0c0f;
}
.lanes-modal .btn--red:hover,
.q-modal .btn--red:hover,
.lanes-modal .btn--primary:hover,
.q-modal .btn--primary:hover{
  background:#ffd34d;border-color:#0a0c0f;color:#0a0c0f;box-shadow:0 8px 18px -10px rgba(0,0,0,.45);
}
.lanes-modal .btn--red:focus-visible,
.q-modal .btn--red:focus-visible,
.lanes-modal .btn--primary:focus-visible,
.q-modal .btn--primary:focus-visible,
.lanes-modal .btn--outline:focus-visible,
.q-modal .btn--outline:focus-visible,
.lanes-modal .btn--ghost:focus-visible,
.q-modal .btn--ghost:focus-visible{
  outline:3px solid var(--sign);outline-offset:2px;
}
.lanes-modal .btn--outline,
.lanes-modal .btn--ghost,
.q-modal .btn--outline,
.q-modal .btn--ghost{
  background:#fff;color:#0a0c0f;border-color:#0a0c0f;
}
.lanes-modal .btn--outline:hover,
.lanes-modal .btn--ghost:hover,
.q-modal .btn--outline:hover,
.q-modal .btn--ghost:hover{
  background:#0a0c0f;color:#fff;border-color:#0a0c0f;
}
.lanes-modal .btn:disabled,
.q-modal .btn:disabled,
.lanes-modal .btn[disabled],
.q-modal .btn[disabled]{
  opacity:.55;cursor:not-allowed;transform:none;box-shadow:none;
  background:#e8eaed;color:#3a434c;border-color:#8b95a0;
}
.lanes-modal .btn:disabled:hover,
.q-modal .btn:disabled:hover{
  background:#e8eaed;color:#3a434c;border-color:#8b95a0;
}

/* ===== r83: quote form — no collapsible Shipment details; fields inline in main grid ===== */
.ship-fields--inline,
.ship-fields--inline .form-grid,
.ship-fields--inline .ship-counts{display:contents}
#quote-form .ship-sum-hint{font-weight:600;text-transform:none;letter-spacing:0;color:var(--sign);font-size:.85em}
#quote-form label .ship-sum-hint[hidden]{display:none}
#quote-form .special-needs{margin-top:.25rem}

/* ===== r84: homepage hero polish — full-width teaser fields, better card/flame split, lighter video overlay ===== */
/* the teaser form is ONE column; its rt-grid (2 cols: pickup|delivery, dates, equipment full) spans the whole card (was squeezed into half) */
.rescue-teaser .rt-form{grid-template-columns:minmax(0,1fr)!important}
.rescue-teaser .rt-form .rt-grid{grid-column:1 / -1;width:100%}
.rt-grid>.field{min-width:0}
.rt-grid input,.rt-grid select,.rt-grid .equip,.rt-grid .equip__btn{width:100%;min-width:0;box-sizing:border-box}
.ticket .rt-grid input[type=date]{padding-left:.55rem;padding-right:.45rem}
/* lighter footage: trucks read. A soft dark "pool" sits only behind the headline block; the top band (where the road and
   trucks run across the frame) and the centre/right stay light. Text contrast is measured in r84 (worst 2% of pixels). */
.hero__bg{filter:grayscale(1) contrast(1.1) brightness(1.12)}
.hero::before{background:
  radial-gradient(ellipse 62% 70% at 20% 62%,rgba(10,12,15,.86) 0,rgba(10,12,15,.72) 45%,rgba(10,12,15,0) 100%),
  linear-gradient(90deg,rgba(10,12,15,.35) 0,rgba(10,12,15,.12) 55%,rgba(10,12,15,.22) 100%),
  linear-gradient(0deg,var(--asphalt) 0,transparent 20%)}
.hero h1,.hero .lead,.hero .kicker,.hero__proof{text-shadow:0 2px 14px rgba(0,0,0,.65)}
@media (max-width:979.98px){
  /* text spans the full width on small screens: even overlay, still lighter than before */
  .hero::before{background:linear-gradient(180deg,rgba(10,12,15,.72) 0,rgba(10,12,15,.6) 55%,var(--asphalt) 100%)}
}
/* mobile: everything stacks */
@media (max-width:420px){
  .rt-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}

/* r84: the homepage hero grid keeps the page gutters at 1000px+ (it was full-bleed, so the copy touched the left edge) */
@media (min-width:1000px){main>.hero:first-child>.hero__grid{width:min(100% - 2.5rem,var(--max))}}
/* ===== r84b: hot-load card + standalone urgency text + big flame (no boxed panel). Order: card | text | flame ===== */
.hot-wrap{display:grid;gap:1.1rem;align-items:center;min-width:0}
.ticket--hot{padding:clamp(.85rem,2vh,1.5rem) clamp(1rem,1.5vw,1.4rem)}
.hotx{position:relative;display:flex;align-items:center;gap:clamp(.6rem,1.2vw,1.2rem);min-width:0;isolation:isolate}
/* soft dark halo behind the text (no border, no box edge) so it stays readable over the video */
.hotx::before{content:"";position:absolute;inset:-18% -14% -18% -18%;z-index:-1;background:radial-gradient(closest-side,rgba(10,12,15,.82) 0,rgba(10,12,15,.6) 55%,rgba(10,12,15,0) 100%);pointer-events:none}
.hotx__text{display:grid;gap:.5rem;min-width:0}
.hotx__kicker{margin:0;font-family:var(--font-d);font-size:clamp(1.25rem,2.6vh,1.7rem);line-height:1;color:#fff;text-transform:uppercase;letter-spacing:.01em;text-shadow:0 2px 12px rgba(0,0,0,.7)}
.hotx__points{margin:0;padding:0;list-style:none;display:grid;gap:.35rem}
.hotx__points li{position:relative;padding-left:1.1rem;font-size:clamp(.88rem,1.8vh,1rem);font-weight:700;line-height:1.25;color:#f3f5f7;text-shadow:0 1px 8px rgba(0,0,0,.8)}
.hotx__points li::before{content:"";position:absolute;left:0;top:.42em;width:.48rem;height:.48rem;background:var(--sign);border-radius:1px}
.hotx__call{margin-top:.3rem;justify-content:flex-start;padding-left:.8rem;padding-right:.9rem;min-height:clamp(42px,5.6vh,50px)}
.hotx__ct{display:inline-flex;flex-direction:column;align-items:flex-start;line-height:1.1;text-align:left}
.hotx__ct b{font-weight:800;letter-spacing:.02em;white-space:nowrap}
.hotx__flame{flex:none;display:block;width:auto;height:clamp(120px,22vh,180px);filter:drop-shadow(0 0 18px rgba(255,122,26,.55)) drop-shadow(0 0 42px rgba(232,40,27,.35));transform-origin:50% 95%;animation:hotx-flicker 2.6s ease-in-out infinite}
@keyframes hotx-flicker{0%,100%{transform:scale(1) rotate(0)}30%{transform:scale(1.03,.98) rotate(-1.2deg)}60%{transform:scale(.98,1.03) rotate(1deg)}}
@media (prefers-reduced-motion:reduce){.hotx__flame{animation:none}}
/* 1280+: copy | [card | text | flame] */
@media (min-width:1280px){
  .hero__grid:has(.hot-wrap){grid-template-columns:minmax(0,.78fr) minmax(0,1.5fr);gap:clamp(1.2rem,2.2vw,2.4rem)}
  .hero:has(.hot-wrap) h1{font-size:clamp(2.6rem,min(4.6vw,12.5vh),6rem)}
  .hot-wrap{grid-template-columns:minmax(0,1fr) auto}
  .hotx__text{width:clamp(11rem,14vw,15rem)}
}
/* laptops 980-1279: copy | card, with text + flame in a row under the card */
@media (min-width:980px) and (max-width:1279.98px){
  .hero__grid:has(.hot-wrap){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .hot-wrap{grid-template-columns:minmax(0,1fr)}
  .hotx{justify-content:space-between}
  .hotx__points{grid-template-columns:1fr 1fr}
  .hotx__flame{height:110px}
}
/* phones / tablets: stack; small flame ABOVE the text */
@media (max-width:979.98px){
  .hot-wrap{grid-template-columns:minmax(0,1fr)}
  .hotx{flex-direction:column;align-items:flex-start;gap:.5rem;padding:.4rem .2rem}
  .hotx__flame{order:-1;height:64px}
  .hotx::before{inset:-10% -6%}
  .hotx__call{width:100%;justify-content:center}
  .hotx__ct{flex-direction:row;gap:.4em;align-items:baseline}
}
@media (min-width:1600px){
  .hero__grid:has(.hot-wrap){grid-template-columns:minmax(0,.9fr) minmax(0,1.45fr)}
  .hero:has(.hot-wrap) h1{font-size:clamp(2.6rem,min(4.1vw,12vh),6rem)}
}

/* ===== r84: Carriers page recruiting band (right under the hero): light band, hazard-yellow stripe, YELLOW button ===== */
.recruit{background:#fff;color:#0a0c0f;border-top:8px solid var(--sign);border-bottom:1px solid #d8dde2;padding:clamp(1.4rem,3.5vh,2.4rem) 0}
.recruit__in{display:grid;gap:1rem 2.5rem;align-items:center}
.recruit h2{margin:0 0 .35rem;color:#0a0c0f;font-size:clamp(1.7rem,1.2rem + 2vw,2.8rem);line-height:1}
.recruit p{margin:0;max-width:62ch;font-size:clamp(1rem,.95rem + .3vw,1.15rem);line-height:1.45;color:#2a3138}
.recruit__act{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem 1.2rem}
.recruit .btn--red{background:var(--sign);border-color:#0a0c0f;color:#0a0c0f}
.recruit .btn--red:hover{background:#0a0c0f;border-color:#0a0c0f;color:var(--sign)}
.recruit .btn--red:focus-visible,.recruit__link:focus-visible{outline:3px solid #0a0c0f;outline-offset:3px}
.recruit__link{display:inline-flex;align-items:center;gap:.4rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:.88rem;color:#0a0c0f;text-decoration:none;border-bottom:2px solid currentColor;min-height:44px}
@media (min-width:900px){.recruit__in{grid-template-columns:minmax(0,1fr) auto}}

/* ===== r84: AI & Experience — "Where experience makes the difference" real story cards (3x2 / 2 / 1) ===== */
.xp-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}
@media (min-width:700px){.xp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){.xp-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.xp-card{display:flex;flex-direction:column;gap:.55rem;background:#fff;color:#14181d;border:1px solid #d3d8dd;border-top:6px solid #0a0c0f;padding:1.1rem 1.15rem 1rem;min-width:0}
.xp-card__ic{display:inline-grid;place-items:center;width:38px;height:38px;background:#0a0c0f;color:var(--sign)}
.xp-card__ic .icon{width:22px;height:22px}
.xp-card h3{margin:0;font-family:var(--font-d);font-weight:400;text-transform:uppercase;letter-spacing:.02em;font-size:clamp(1.25rem,1.1rem + .5vw,1.5rem);line-height:1.05;color:#0a0c0f}
.xp-card p{margin:0;line-height:1.45;font-size:1rem}
.xp-card__sit{color:#3a434c;font-style:italic}
.xp-card__did strong{color:#0a0c0f}
.xp-card__res{margin-top:auto!important;padding:.55rem .7rem;background:#0a0c0f;color:#fff;font-weight:700;border-left:5px solid var(--sign)}
.xp-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 1.5rem;margin-top:1.6rem;padding-top:1.2rem;border-top:3px solid #0a0c0f}
.xp-foot__line{margin:0;font-family:var(--font-d);text-transform:uppercase;font-size:clamp(1.3rem,1rem + 1.2vw,2rem);line-height:1.05;color:#0a0c0f}
.xp .btn--red{background:var(--sign);border-color:#0a0c0f;color:#0a0c0f}
.xp .btn--red:hover{background:#0a0c0f;color:var(--sign)}

/* ===== r85: AI page "Human judgment. AI speed." as a compact bridge band (was a full-height section) ===== */
.ai-band{background:#0a0c0f;color:#fff;padding:1.6rem 0;border-top:1px solid #222a32;border-bottom:1px solid #222a32}
.ai-band__in{display:grid;gap:.9rem 2rem;align-items:center}
.ai-band__head .eyebrow{margin-bottom:.25rem}
.ai-band__head h2{margin:0;font-size:clamp(1.5rem,1.1rem + 1.3vw,2.2rem);line-height:1.02;color:#fff}
.ai-band__pts{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.ai-band__pt{display:flex;flex-direction:column;gap:.1rem;padding:.55rem .8rem;background:#14181d;border-left:5px solid var(--sign);min-width:0}
.ai-band__pt--ai{border-left-color:var(--red)}
.ai-band__pt b{font-family:var(--font-d);font-weight:400;text-transform:uppercase;letter-spacing:.03em;font-size:1.15rem;line-height:1.1;color:var(--sign)}
.ai-band__pt--ai b{color:#fff}
.ai-band__pt span{color:#e6ebf0;line-height:1.4;font-size:1rem}
@media (min-width:700px){.ai-band__pts{grid-template-columns:1fr 1fr}}
@media (min-width:1100px){.ai-band__in{grid-template-columns:max-content 1fr}.ai-band__head h2{white-space:nowrap}}

/* ===== r85: big flame beside "Hot load to cover?" inside the card; larger card + fields; "Need a truck now?" text block alone on the far right ===== */
.rt-hothead{display:flex;align-items:center;justify-content:space-between;gap:clamp(.6rem,1.2vw,1.1rem);margin-bottom:clamp(.55rem,1.5vh,1rem)}
.rt-hothead__t{min-width:0}
.rt-hothead .rescue-sub--hot{margin:.35rem 0 0}
.rescue-teaser--hot .rt-hothead h2{font-size:clamp(1.85rem,4.9vh,2.75rem);line-height:.92}
.hotx__flame.rt-flame{height:clamp(78px,12vh,124px);margin:-.3rem -.2rem -.3rem 0}
.ticket--hot{padding:clamp(1rem,2.4vh,1.7rem) clamp(1.1rem,1.7vw,1.6rem)}
.ticket .rt-grid{gap:clamp(.5rem,1.4vh,.85rem) .8rem;margin-bottom:clamp(.7rem,1.7vh,1.05rem)}
.ticket .rt-grid .field label{font-size:.82rem}
.ticket .rt-grid input,.ticket .rt-grid select,.ticket .rt-grid .equip__btn{min-height:clamp(42px,5.9vh,54px);font-size:.98rem}
.ticket--hot .rt-form .btn{min-height:clamp(46px,6.2vh,56px)}
.hotx{justify-content:flex-start}
@media (min-width:1280px){
  .hero__grid:has(.hot-wrap){grid-template-columns:minmax(0,.88fr) minmax(0,1.5fr)}
  .hot-wrap{grid-template-columns:minmax(0,1fr) auto;gap:clamp(1.2rem,2vw,2.2rem)}
  .hotx__text{width:clamp(12rem,14.6vw,16.5rem)}
}
@media (min-width:1600px){
  .hero__grid:has(.hot-wrap){grid-template-columns:minmax(0,.86fr) minmax(0,1.45fr)}
}
@media (min-width:980px) and (max-height:700px){
  .rescue-teaser--hot .rt-hothead h2{font-size:1.75rem}
  .hotx__flame.rt-flame{height:82px;margin:-.5rem 0 -.6rem}
  .rt-hothead{margin-bottom:.4rem}
  .ticket--hot{padding:.8rem 1.1rem}
  .ticket .rt-grid{gap:.4rem .7rem;margin-bottom:.55rem}
  .ticket .rt-grid input,.ticket .rt-grid select,.ticket .rt-grid .equip__btn{min-height:40px}
  .ticket--hot .rt-form .btn{min-height:44px}
}
@media (max-width:979.98px){
  .hotx__flame.rt-flame{order:0;height:76px}
  .rescue-teaser--hot .rt-hothead h2{font-size:clamp(1.8rem,7.4vw,2.3rem)}
}

/* ===== r86: Employee portal (/team/): PTO calendar tile + link tiles from _build/team.config.json ===== */
.tp{background:var(--bg);color:var(--tx);padding:clamp(1.8rem,4vh,3rem) 0 clamp(2.5rem,6vh,4rem)}
.tp__in{display:grid;gap:clamp(1.2rem,2.5vw,2rem);align-items:start}
@media (min-width:1000px){.tp__in{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr)}}
.tp-cal{background:#14181d;color:#fff;border:1px solid rgba(255,255,255,.1);border-top:6px solid var(--sign);padding:1.1rem 1.2rem 1.2rem;display:grid;gap:.9rem;min-width:0}
.tp-cal__head{display:flex;gap:.8rem;align-items:center}
.tp-cal__head h2{margin:0;font-size:clamp(1.5rem,1.2rem + 1vw,2rem);line-height:1;color:#fff}
.tp-cal__head p{margin:.25rem 0 0;color:#cfd6dd;font-size:.95rem}
.tp-cal__month{margin:0 0 .4rem;font-family:var(--font-d);text-transform:uppercase;letter-spacing:.04em;font-size:1.1rem;color:var(--sign)}
.tp-cal__days{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.tp-cal__w{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#9aa5b1;text-align:center;padding:.2rem 0}
.tp-cal__d{aspect-ratio:1.25;background:#0f1216;border:1px solid #232a32;display:flex;align-items:flex-start;justify-content:flex-end;padding:.2rem .3rem;font-size:.8rem;color:#c3ccd5}
.tp-cal__d.is-empty{background:transparent;border-color:transparent}
.tp-cal__d.is-today{border-color:var(--sign);box-shadow:inset 0 0 0 1px var(--sign);color:#fff;font-weight:800}
.tp-cal__frame{width:100%;min-height:420px;border:0;background:#fff}
.tp-cal__act{display:flex;flex-wrap:wrap;gap:.6rem}
.tp-cal__act .btn.is-disabled{opacity:.55;cursor:not-allowed;pointer-events:none}
.tp-cal__note{margin:0;font-size:.85rem;color:#9aa5b1;border-left:3px solid #39424c;padding-left:.6rem}
.tp-links{display:grid;gap:1.3rem;min-width:0}
.tp-sec__h{margin:0 0 .55rem;font-size:1rem;font-family:var(--font-b,inherit);font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--tx2,#5b6570)}
.tp-tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,15.5rem),1fr));gap:.7rem}
.tp-tile{position:relative;display:flex;align-items:center;gap:.75rem;min-height:76px;padding:.8rem 2.2rem .8rem .85rem;background:#fff;color:#0a0c0f;border:1px solid #d3d8dd;border-left:5px solid #0a0c0f;text-decoration:none;transition:border-color .15s,transform .15s,box-shadow .15s}
a.tp-tile:hover,a.tp-tile:focus-visible{border-left-color:var(--sign);box-shadow:0 6px 18px rgba(10,12,15,.12);transform:translateY(-2px)}
a.tp-tile:focus-visible{outline:3px solid #0a0c0f;outline-offset:2px}
.tp-tile__ic{flex:none;display:inline-grid;place-items:center;width:42px;height:42px;background:#0a0c0f;color:var(--sign)}
.tp-tile__ic .icon{width:22px;height:22px}
.tp-tile__t{display:grid;gap:.1rem;min-width:0}
.tp-tile__t b{font-family:var(--font-d);font-weight:400;text-transform:uppercase;letter-spacing:.03em;font-size:1.2rem;line-height:1.05}
.tp-tile__t span{font-size:.88rem;color:#4a535c;line-height:1.3}
.tp-tile__go{position:absolute;right:.7rem;top:.7rem;color:#6b7580}
.tp-tile__go .icon{width:16px;height:16px}
.tp-tile--todo{background:#f4f5f6;border-style:dashed;border-left-style:solid;border-left-color:#9aa5b1}
.tp-tile--todo .tp-tile__ic{background:#5b6570;color:#fff}
.tp-tag{justify-self:start;margin-top:.25rem;font-style:normal;font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#6b5200;background:#fff3c4;padding:.12rem .35rem}
.tp-tag--todo{color:#3a434c;background:#e3e7ea}
.footer-emp{opacity:.75;font-size:.9em}

/* ===== r87: Industries we serve (replaces Customers): normal-height sections, 8 tiles, one proof strip ===== */
main>.ind2,main>.ind2-proof,main>.ind2-cta{min-height:0!important}
.ind2{background:var(--bg);color:var(--tx);padding:clamp(2rem,4.5vh,3.2rem) 0 clamp(1.4rem,3vh,2rem)}
.ind2__intro{margin:-.4rem 0 1.1rem;max-width:70ch;color:var(--tx2,#5b6570)}
.ind2__h{margin:0 0 1rem;font-size:clamp(1.6rem,1.2rem + 1.4vw,2.4rem);line-height:1}
.ind2__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:.8rem}
@media (min-width:600px){.ind2__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){.ind2__grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.ind-tile{display:flex;flex-direction:column;gap:.4rem;background:#fff;color:#0a0c0f;border:1px solid #d3d8dd;border-top:5px solid #0a0c0f;padding:.95rem 1rem .9rem;min-width:0}
.ind-tile__ic{display:inline-grid;place-items:center;width:40px;height:40px;background:#0a0c0f;color:var(--sign)}
.ind-tile__ic .icon{width:22px;height:22px}
.ind-tile h3{margin:.15rem 0 0;font-family:var(--font-d);font-weight:400;text-transform:uppercase;letter-spacing:.02em;font-size:1.3rem;line-height:1.05;color:#0a0c0f}
.ind-tile p{margin:0;font-size:.95rem;line-height:1.4;color:#3a434c}
.ind-tile .link-arrow{margin-top:auto;padding-top:.3rem;font-size:.82rem;color:#0a0c0f}
.ind2__more{margin:1rem 0 0;color:var(--tx2,#5b6570)}
.ind2-proof{background:#0a0c0f;color:#fff;padding:clamp(1.4rem,3vh,2rem) 0;border-top:6px solid var(--sign)}
.ind2-proof__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem 1.2rem}
@media (min-width:900px){.ind2-proof__list{grid-template-columns:repeat(5,minmax(0,1fr))}}
.ind2-proof__list li{display:grid;gap:.15rem;border-left:4px solid var(--sign);padding-left:.7rem;min-width:0}
.ind2-proof__list b{font-family:var(--font-d);font-weight:400;font-size:clamp(1.5rem,1.1rem + 1.2vw,2.2rem);line-height:1;color:var(--sign)}
.ind2-proof__list span{font-size:.9rem;color:#d3dae1;line-height:1.3}
.ind2-proof__line{margin:1rem 0 0;color:#cfd6dd;font-size:.95rem}
.ind2-proof__cov{display:inline-block}
.ind2-cta{background:var(--bg);padding:clamp(1.6rem,3.5vh,2.6rem) 0}

/* ===== r87: header right side: clear space + subtle divider between the phone and "Get a Quote"; the button stays on ONE line ===== */
@media (min-width:1280px){
  .nav-right{gap:0}
  .nav-phone{position:relative;padding-right:clamp(1.15rem,1.5vw,1.5rem);margin-right:clamp(1.15rem,1.5vw,1.5rem)}
  .nav-phone::after{content:"";position:absolute;right:0;top:50%;height:1.6em;transform:translateY(-50%);border-right:1px solid rgba(255,255,255,.28)}
  .site-nav .nav-cta{white-space:nowrap;flex:none}
}
/* r87 b4: "AI & Experience" left the top bar (now under About), so the phone number shows at every desktop width (icon-only rule for 1280-1365 removed) */
/* 1440-1599: slightly tighter link spacing keeps clear space between the logo and the links */
@media (min-width:1440px) and (max-width:1599.98px){
  .site-nav ul{gap:.66rem;margin-left:0}
  .site-nav a.nav-link{font-size:.74rem;letter-spacing:.04em}
  .site-nav,.js .site-nav.is-open,.no-js .site-nav{gap:.75rem}
}

/* ===== r87: KPI source footnote (98.7% / 98.5%) ===== */
.kpi-note{display:block;margin-top:.35rem;font-size:.74rem;line-height:1.35;font-weight:400;letter-spacing:.01em;text-transform:none;opacity:.78}
.kpi-note--hero{font-size:.7rem;margin-top:.3rem}
.kpi-note--chips{margin:.5rem 0 0}
.ind2-proof__line .kpi-note{display:inline;margin:0}
.sheet__kpinote{margin:.25rem 0 0;font-size:.72rem;color:#5b6570;text-align:right}

/* ===== r87: carrier requirements list ===== */
.reqs{list-style:none;margin:.6rem 0 0;padding:0;display:grid;gap:.45rem}
.reqs li{display:flex;align-items:center;gap:.5rem;line-height:1.35}
.reqs .icon{width:18px;height:18px;flex:0 0 18px;color:var(--sign,#ffc400)}

/* ===== Jimbo (chat assistant): character, floating button, homepage callout. Panel styles load lazily from css/jimbo.css ===== */
.jimbo{display:block;overflow:visible}
.jimbo__body{transform-box:fill-box;transform-origin:50% 100%;animation:jb-bob 3.4s ease-in-out infinite}
.jimbo__flick{transform-box:fill-box;transform-origin:50% 100%;animation:jb-flick 1.7s ease-in-out infinite}
.jimbo__eyes{transform-box:fill-box;transform-origin:50% 55%;animation:jb-blink 5.2s infinite}
.jimbo__pupils{animation:jb-look 9s ease-in-out infinite}
@keyframes jb-bob{0%,100%{transform:translateY(0) rotate(-2.5deg)}50%{transform:translateY(-2.5%) rotate(2.5deg)}}
@keyframes jb-flick{0%,100%{transform:scale(1,1)}25%{transform:scale(.97,1.05)}55%{transform:scale(1.03,.96)}80%{transform:scale(.99,1.02)}}
@keyframes jb-blink{0%,91%,97%,100%{transform:scaleY(1)}93.5%{transform:scaleY(.08)}}
@keyframes jb-look{0%,38%,100%{transform:translate(0,0)}44%,58%{transform:translate(-1.6px,0)}64%,80%{transform:translate(1.4px,.4px)}}
.jimbo-fab{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));z-index:60;display:flex;align-items:center;gap:.55rem;
  min-height:64px;padding:0;border:0;background:none;cursor:pointer;font:inherit;opacity:0;transform:translateY(12px);transition:opacity .35s ease,transform .35s ease}
.jimbo-fab.is-in{opacity:1;transform:none}
.jimbo-fab__av{position:relative;order:2;display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#0a0c0f;border:3px solid var(--sign,#ffc400);box-shadow:0 8px 24px rgba(0,0,0,.35)}
.jimbo-fab__av .jimbo{width:34px;height:auto;margin-top:-4px}
.jimbo-fab__glow{position:absolute;right:0;top:50%;width:64px;height:64px;margin-top:-32px;border-radius:50%;background:radial-gradient(circle,rgba(255,154,26,.55) 0,rgba(255,154,26,0) 70%);animation:jb-glow 2.8s ease-in-out infinite;pointer-events:none}
@keyframes jb-glow{0%,100%{transform:scale(1);opacity:.55}50%{transform:scale(1.32);opacity:.95}}
.jimbo-fab__label{order:1;background:#0a0c0f;color:#fff;font-weight:800;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;padding:.55rem .85rem;border-radius:999px;border:2px solid var(--sign,#ffc400);box-shadow:0 6px 18px rgba(0,0,0,.28)}
.jimbo-fab:hover .jimbo-fab__av,.jimbo-fab:focus-visible .jimbo-fab__av{transform:scale(1.05)}
.jimbo-fab__av{transition:transform .2s ease}
.jimbo-fab:focus-visible{outline:none}.jimbo-fab:focus-visible .jimbo-fab__av{outline:3px solid #fff;outline-offset:3px}
.jimbo-fab.is-loading .jimbo-fab__av{opacity:.75}
.jb-open .jimbo-fab{opacity:0;pointer-events:none;transform:scale(.8)}
@media (max-width:859.98px){.jimbo-fab{bottom:calc(76px + 12px + env(safe-area-inset-bottom));right:12px}.jimbo-fab__label{display:none}.jimbo-fab__av{width:58px;height:58px}.jimbo-fab__glow{width:58px;height:58px;margin-top:-29px}}
@media print{.jimbo-fab{display:none}}
/* homepage: Jimbo beside "HOT LOAD TO COVER?" (where the flame was; no circle) + speech bubble + "Talk to Jimbo" line */
.hero-jimbo{position:relative;flex:none;display:block;margin:-.4rem -.1rem -.4rem 0;color:inherit;text-decoration:none;cursor:pointer;border-radius:12px;filter:drop-shadow(0 0 16px rgba(255,122,26,.45))}
.hero-jimbo .jimbo{height:clamp(78px,12vh,124px);width:auto}
.hero-jimbo:hover .jimbo,.hero-jimbo:focus-visible .jimbo{transform:scale(1.06)}
.hero-jimbo .jimbo{transition:transform .2s ease}
.hero-jimbo:focus-visible{outline:3px solid var(--sign,#ffc400);outline-offset:4px}
.hero-jimbo__bubble{position:absolute;right:62%;bottom:86%;z-index:3;white-space:nowrap;background:#fff;color:#0a0c0f;font-weight:800;font-size:.8rem;line-height:1.2;padding:.45rem .7rem;border-radius:12px 12px 2px 12px;box-shadow:0 6px 18px rgba(0,0,0,.35);
  opacity:0;transform:translateY(6px) scale(.85);transform-origin:100% 100%;transition:opacity .25s ease,transform .25s cubic-bezier(.3,1.5,.6,1);pointer-events:none}
.hero-jimbo__bubble.is-on{opacity:1;transform:none}
.jimbo-talk{margin:.45rem 0 0;font-size:.84rem;line-height:1.3}
.jimbo-talk a{color:rgba(255,255,255,.86);text-decoration:none}
.jimbo-talk a strong{color:var(--sign,#ffc400);white-space:nowrap}
.jimbo-talk a:hover strong,.jimbo-talk a:focus-visible strong{text-decoration:underline}
.jimbo-fab.is-hero-hidden{opacity:0;transform:translateY(12px);pointer-events:none;visibility:hidden;transition:opacity .3s ease,transform .3s ease,visibility 0s linear .3s}
@media (max-width:600px){.hero-jimbo .jimbo{height:76px}.hero-jimbo__bubble{font-size:.74rem;right:0;bottom:100%;border-radius:12px 12px 2px 12px}}
@media (prefers-reduced-motion:reduce){.jimbo__body,.jimbo__flick,.jimbo__eyes,.jimbo__pupils,.jimbo-fab__glow{animation:none!important}.jimbo-fab,.hero-jimbo__bubble,.hero-jimbo .jimbo{transition:none}}

/* ===== r88: hero video pause / play control (small, bottom-left of the hero, above the route line) ===== */
.hero__vidctl{position:absolute;left:max(12px,env(safe-area-inset-left));bottom:46px;z-index:4;display:grid;place-items:center;width:34px;height:34px;padding:0;border-radius:50%;
  border:1px solid rgba(255,255,255,.45);background:rgba(10,12,15,.55);color:#fff;cursor:pointer;opacity:.7;transition:opacity .2s ease,background .2s ease}
.hero__vidctl:hover,.hero__vidctl:focus-visible{opacity:1;background:rgba(10,12,15,.85)}
.hero__vidctl:focus-visible{outline:3px solid var(--sign,#ffc400);outline-offset:2px}
@media print{.hero__vidctl{display:none}}
/* Jimbo, outside review 2026-10-05: visually secondary to "Rescue my load" and the phone; the floating button never covers a CTA */
.jimbo-fab{gap:0}
.jimbo-fab__label{position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%) translateX(6px);opacity:0;pointer-events:none;white-space:nowrap;transition:opacity .18s ease,transform .18s ease}
.jimbo-fab:hover .jimbo-fab__label,.jimbo-fab:focus-visible .jimbo-fab__label{opacity:1;transform:translateY(-50%)}
.jimbo-fab__av{width:58px;height:58px}.jimbo-fab__glow{width:58px;height:58px;margin-top:-29px;opacity:.7}
.jimbo-fab.is-dodging{opacity:0;transform:scale(.85);pointer-events:none;visibility:hidden;transition:opacity .15s ease,transform .15s ease,visibility 0s linear .15s}
@media (max-width:859.98px){.jimbo-fab__av{width:52px;height:52px}.jimbo-fab__glow{width:52px;height:52px;margin-top:-26px}.jimbo-fab__av .jimbo{width:30px}}
.hero-jimbo{filter:drop-shadow(0 0 8px rgba(255,122,26,.3))}
.hero-jimbo .jimbo{height:clamp(60px,9vh,92px)}
.hero-jimbo__bubble{font-size:.74rem;font-weight:700;padding:.38rem .6rem}
.jimbo-talk{margin:.35rem 0 0;font-size:.78rem;font-weight:400}
.jimbo-talk a{color:rgba(255,255,255,.72)}
.jimbo-talk a strong{font-weight:700;text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
@media (max-width:600px){.hero-jimbo .jimbo{height:60px}}
/* the phone stays a primary action in the hot-load card at every height (it fits: card ends 100px+ above the hero bottom at 1366x640) */
.ticket .rescue-teaser--hot .form-fine,.rescue-teaser--hot .form-fine{display:block!important}
/* speech bubble pops up above Jimbo (never over the heading text) */
.hero-jimbo__bubble{right:0;bottom:calc(100% - 2px)}
/* Bubble placement (see the "final" rule below; collision-checked against every text element at 1024-1920 and 360-820 wide). */
   desktop: pops out above the card's top edge, over the hero background, tail pointing down to Jimbo;
   phones/tablets (hero buttons sit right above the card): inside the card, in a little extra space above the heading. */
.rescue-teaser--hot{position:relative}
.rescue-teaser--hot .hero-jimbo{position:static}
.rescue-teaser--hot .hero-jimbo__bubble{right:14px;bottom:calc(100% + 8px);top:auto;left:auto}
@media (max-width:859.98px){
  .ticket .rescue-teaser--hot,.rescue-teaser--hot{padding-top:2.1rem}
  .rescue-teaser--hot .hero-jimbo__bubble{top:.2rem;bottom:auto;right:6px}
}
.rescue-teaser--hot .hero-jimbo{filter:none}.rescue-teaser--hot .hero-jimbo .jimbo{filter:drop-shadow(0 0 8px rgba(255,122,26,.3))}
/* final: the bubble pops up inside the card, in a little space above the heading's right end (all widths) */
.ticket .rescue-teaser--hot,.rescue-teaser--hot{padding-top:1.95rem}
.rescue-teaser--hot .hero-jimbo__bubble{top:.05rem;bottom:auto;right:6px}
@media (max-width:859.98px){.ticket .rescue-teaser--hot,.rescue-teaser--hot{padding-top:2.1rem}.rescue-teaser--hot .hero-jimbo__bubble{top:.2rem}}
/* Jimbo waves now and then (arm rests down, swings up for a quick wave every ~9s); off under reduced motion */
.jimbo__arm{transform-box:view-box;transform-origin:80px 100px;animation:jb-wave 9s ease-in-out 2.5s infinite}
@keyframes jb-wave{0%,82%,100%{transform:rotate(0)}85%{transform:rotate(-125deg)}88%{transform:rotate(-100deg)}91%{transform:rotate(-130deg)}94%{transform:rotate(-102deg)}97%{transform:rotate(-120deg)}}
@media (prefers-reduced-motion:reduce){.jimbo__arm{animation:none!important}}
.jimbo{overflow:visible}
.jimbo__arm{transform-origin:83px 101px}
@keyframes jb-wave{0%,82%,100%{transform:rotate(0)}85%{transform:rotate(-105deg)}88%{transform:rotate(-80deg)}91%{transform:rotate(-110deg)}94%{transform:rotate(-82deg)}97%{transform:rotate(-100deg)}}
/* TS 2026-10-05: hero Jimbo ~1.5x bigger to fill the card's top-right corner (1440x900: 81px -> ~121px tall) */
.rescue-teaser--hot .rt-hothead .hero-jimbo{align-self:flex-start;margin-top:-.35rem}
/* Hero Jimbo size: ~1.5x the earlier size (1440x900: ~87x122px), filling the card's top-right corner. The heading keeps one line;
   Jimbo takes whatever room is left beside it, up to his target width (never below 40px). */
.rescue-teaser--hot .rt-hothead__t{min-width:auto;flex:1 1000 auto}
.rescue-teaser--hot .hero-jimbo{flex:0 1 clamp(63px,9.65vh,99px);min-width:40px}
.rescue-teaser--hot .hero-jimbo .jimbo{width:100%;height:auto;max-height:none}
@media (min-width:340px){.rescue-teaser--hot .rt-hothead h2{white-space:nowrap}}
@media (max-width:600px){.rescue-teaser--hot .hero-jimbo{flex-basis:64px}}
/* Tagline under "Talk to Jimbo" (small, kicker style) */
.jimbo-tagline{margin:.3rem 0 0;font-size:.68rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#ff9a3c;line-height:1.2;display:flex;align-items:center;gap:.45rem}
.jimbo-tagline::before{content:"";flex:none;width:14px;height:2px;background:currentColor;border-radius:2px}
/* Bubbles may wrap to two lines: reserve room above the heading for that */
.rescue-teaser--hot .hero-jimbo__bubble{white-space:normal;width:max-content;max-width:min(17.5rem,calc(100% - 14px));text-align:left}
.ticket .rescue-teaser--hot,.rescue-teaser--hot{padding-top:2.95rem}
@media (max-width:859.98px){.ticket .rescue-teaser--hot,.rescue-teaser--hot{padding-top:3.05rem}}
.rescue-teaser--hot .hero-jimbo__bubble{text-wrap:balance}
@media (max-width:400px){.jimbo-tagline{font-size:.62rem;letter-spacing:.05em;gap:.35rem}.jimbo-tagline::before{width:10px}}
/* Floating-button speech bubble (page-specific lines; js/jimbo-boot.js). Sits just above the button, right-aligned, two lines max. */
.jimbo-fab-bub{position:fixed;z-index:61;display:flex;align-items:flex-start;gap:.35rem;width:max-content;max-width:min(19.5rem,calc(100vw - 24px));padding:.5rem .45rem .5rem .75rem;border-radius:14px;background:#fff;color:#14161a;font-size:.78rem;font-weight:700;line-height:1.25;box-shadow:0 10px 26px rgba(0,0,0,.28),0 0 0 1px rgba(0,0,0,.06);opacity:0;transform:translateY(8px) scale(.94);transform-origin:90% 100%;transition:opacity .22s ease,transform .26s cubic-bezier(.2,1.4,.4,1)}
.jimbo-fab-bub.is-on{opacity:1;transform:none}
.jimbo-fab-bub[hidden]{display:none}
.jimbo-fab-bub::after{content:"";position:absolute;right:22px;bottom:-6px;width:12px;height:12px;background:#fff;transform:rotate(45deg);border-radius:0 0 3px 0;box-shadow:3px 3px 4px rgba(0,0,0,.08)}
.jimbo-fab-bub__t{display:block;flex:1 1 auto;min-width:0;cursor:pointer;text-wrap:balance}
.jimbo-fab-bub__x{flex:none;width:22px;height:22px;margin:-.2rem -.1rem 0 0;border:0;border-radius:50%;background:transparent;color:#5b606a;font-size:1rem;line-height:1;cursor:pointer;display:grid;place-items:center}
.jimbo-fab-bub__x:hover,.jimbo-fab-bub__x:focus-visible{background:#eef0f3;color:#14161a}
@media (max-width:859.98px){.jimbo-fab-bub::after{right:18px}}
@media (prefers-reduced-motion:reduce){.jimbo-fab-bub{transition:none;transform:none}}

/* Carriers page: "What carriers say" (DAT leads). Two rating badges, stat chips, verbatim quote cards. */
.reviews__head h2{font-size:clamp(1.9rem,4.4vw,3rem);line-height:1.02;margin:0 0 1.6rem;max-width:22ch}
.reviews__badges{display:grid;grid-template-columns:1.25fr 1fr;gap:1.25rem;align-items:stretch}
.rbadge{background:#fff;border:2px solid #0a0c0f;border-top:6px solid var(--sign);padding:1.4rem 1.5rem 1.3rem;display:flex;flex-direction:column;gap:.35rem;min-width:0;color:#1d232a}
.rbadge--google{border-top-color:#0a0c0f}
.rbadge p{margin:0}
.rbadge__src{font-weight:800;font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;color:#454d57}
.rbadge__score{display:flex;align-items:baseline;gap:.35rem;line-height:1}
.rbadge__score b{font-size:clamp(2.6rem,6vw,3.6rem);font-weight:900;color:#0a0c0f;letter-spacing:-.02em}
.rbadge__score span{font-size:1.15rem;font-weight:700;color:#454d57}
.rbadge__meta{font-weight:700;color:#1d232a}
.rbadge__cats{list-style:none;margin:.45rem 0 0;padding:.7rem 0 0;border-top:1px solid #d6d2c8;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem 1rem;font-size:.92rem;color:#454d57}
.rbadge__cats li{display:flex;justify-content:space-between;gap:.6rem}
.rbadge__cats b{color:#0a0c0f}
.rbadge__dot{margin:0 .45em;color:#454d57}
.rbadge__link{margin-top:auto;padding-top:.8rem;font-weight:800;color:#0a0c0f;display:inline-flex;align-items:center;gap:.4rem;text-decoration:underline;text-underline-offset:3px;align-self:flex-start}
.rbadge__link .icon{width:1em;height:1em}
.stars{position:relative;display:inline-block;line-height:0;white-space:nowrap;align-self:flex-start}
.stars svg{width:22px;height:22px;margin-right:2px}
.stars__bg svg{fill:#dcd8ce}
.stars__fg{position:absolute;inset:0 auto 0 0;overflow:hidden}
.stars__fg svg{fill:var(--sign);stroke:#0a0c0f;stroke-width:1.1;stroke-linejoin:round}
.reviews__stats{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.2rem;margin:1.25rem 0 0}
.reviews__stats ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.6rem}
.reviews__stats li{background:#0a0c0f;color:#fff;font-weight:700;padding:.5rem .9rem;border-radius:999px;font-size:.95rem;white-space:nowrap}
.reviews__stats li b{color:var(--sign);font-weight:900}
.reviews__src{margin:0;font-size:.82rem;color:#454d57}
.reviews__grid{list-style:none;margin:2rem 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.rquote{margin:0;height:100%;background:#fff;border:2px solid #0a0c0f;padding:1.3rem 1.4rem 1.2rem;display:flex;flex-direction:column;gap:.8rem;color:#1d232a}
.rquote .stars svg{width:18px;height:18px}
.rquote blockquote{margin:0;padding:0;border:0;font-size:1rem;line-height:1.55;flex:1}
.rquote blockquote p{margin:0}
.rquote figcaption{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem .55rem;border-top:1px solid #d6d2c8;padding-top:.7rem}
.rquote figcaption b{color:#0a0c0f}
.rquote figcaption span{font-size:.85rem;color:#454d57}
.rquote figcaption span::before{content:"";display:inline-block;width:.35em;height:.35em;background:var(--sign);border:1px solid #0a0c0f;transform:rotate(45deg);margin-right:.45rem;vertical-align:.12em}
@media (max-width:980px){.reviews__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:720px){.reviews__badges{grid-template-columns:1fr}.rbadge__cats{grid-template-columns:1fr}.reviews__grid{grid-template-columns:1fr;gap:1rem}}
@media (max-width:380px){.rbadge__cats{grid-template-columns:1fr}.reviews__stats li{white-space:normal}}

/* Hero Jimbo, TS 2026-10-05: make it obvious he's clickable. Pill CTA aimed at him + hover lift/glow + a gentle periodic pulse. */
.jimbo-tagline::before{content:none}
.jimbo-tagline{margin:.5rem 0 0;letter-spacing:0;text-transform:none}
.jimbo-cta{display:inline-flex;align-items:center;gap:.45rem;padding:.38rem .5rem .38rem .7rem;border:1.5px solid var(--sign,#ffc400);border-radius:999px;background:rgba(255,196,0,.12);color:var(--sign,#ffc400);font-size:.8rem;font-weight:800;letter-spacing:.01em;line-height:1.15;text-decoration:none;cursor:pointer;transition:background .18s ease,color .18s ease,transform .18s ease}
.jimbo-cta svg{flex:none;width:15px;height:15px}
.jimbo-cta__chat{fill:currentColor}
.jimbo-cta__arrow{fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s ease}
.jimbo-cta:hover,.jimbo-cta:focus-visible{background:var(--sign,#ffc400);color:#0a0c0f}
.jimbo-cta:hover .jimbo-cta__arrow,.jimbo-cta:focus-visible .jimbo-cta__arrow{transform:translate(2px,-2px)}
.jimbo-cta:focus-visible{outline:3px solid #fff;outline-offset:3px}
.hero-jimbo{cursor:pointer;transition:transform .2s ease}
.hero-jimbo .jimbo{transition:transform .2s ease,filter .2s ease}
.hero-jimbo:hover .jimbo,.hero-jimbo:focus-visible .jimbo,.hero-jimbo.is-cta-hover .jimbo{transform:translateY(-4px) scale(1.06);filter:drop-shadow(0 0 14px rgba(255,150,40,.85)) drop-shadow(0 0 4px rgba(255,196,0,.9))}
.rescue-teaser--hot .hero-jimbo .jimbo{animation:jimbo-attn 6s ease-in-out 2.5s infinite}
.rescue-teaser--hot .hero-jimbo:hover .jimbo,.rescue-teaser--hot .hero-jimbo:focus-visible .jimbo{animation:none}
@keyframes jimbo-attn{0%,84%,100%{filter:drop-shadow(0 0 8px rgba(255,122,26,.3));transform:none}88%{filter:drop-shadow(0 0 18px rgba(255,150,40,.95));transform:translateY(-3px) scale(1.05)}92%{filter:drop-shadow(0 0 8px rgba(255,122,26,.35));transform:none}95%{filter:drop-shadow(0 0 14px rgba(255,150,40,.7));transform:translateY(-2px) scale(1.03)}}
@media (max-width:400px){.jimbo-cta{font-size:.74rem;padding:.32rem .45rem .32rem .6rem;gap:.35rem}.jimbo-cta svg{width:13px;height:13px}}
@media (prefers-reduced-motion:reduce){.rescue-teaser--hot .hero-jimbo .jimbo{animation:none!important}.hero-jimbo .jimbo,.jimbo-cta,.jimbo-cta__arrow{transition:none}.hero-jimbo:hover .jimbo,.hero-jimbo:focus-visible .jimbo,.hero-jimbo.is-cta-hover .jimbo{transform:none}}

/* Header option B (TS picked 2026-10-05): clock logo unchanged + a small Jimbo flame right of the wordmark; click opens the chat. */
.brand-jimbo{display:inline-flex;align-items:center;flex:none;margin:0 auto 0 -.75rem;padding:4px;line-height:0;border-radius:8px;cursor:pointer;text-decoration:none;filter:drop-shadow(0 0 6px rgba(255,122,26,.35));transition:transform .2s ease,filter .2s ease}
.brand-jimbo .jimbo{height:30px;width:auto}
.brand-jimbo:hover,.brand-jimbo:focus-visible{transform:translateY(-1px);filter:drop-shadow(0 0 10px rgba(255,150,40,.75))}
.brand-jimbo:focus-visible{outline:3px solid var(--sign,#ffc400);outline-offset:2px}
.brand-jimbo .jimbo__body,.brand-jimbo .jimbo__pupils{animation:none}
.brand-jimbo .jimbo__flick{animation-duration:3s}
@media (min-width:1280px){.brand-jimbo{margin-right:0}}
@media (prefers-reduced-motion:reduce){.brand-jimbo .jimbo *{animation:none!important}.brand-jimbo{transition:none}}
/* Mobile header (TS 2026-10-08 8:13 PM): a bigger Jimbo with a short callout beside him; the whole thing opens the chat. Desktop unchanged. */
.brand-jimbo__say{display:none}
@media (max-width:768px){
  .site-header__inner{gap:.6rem}
  .nav-toggle{flex:none}
  .brand-jimbo{flex:1 1 auto;min-width:0;gap:.45rem;margin:0 0 0 -.2rem;padding:2px 4px}
  .brand-jimbo .jimbo{height:50px;flex:none;margin-top:-4px}
  .brand-jimbo__say{display:block;min-width:0;max-width:11.5rem;font-size:.74rem;line-height:1.18;font-weight:700;color:#fff;text-align:left;letter-spacing:.01em}
  .brand-jimbo__say b{display:block;color:var(--sign,#ffc400);font-weight:800}
  .brand-jimbo:hover .brand-jimbo__say b,.brand-jimbo:focus-visible .brand-jimbo__say b{text-decoration:underline}
}
@media (max-width:374px){.brand-jimbo .jimbo{height:44px}.brand-jimbo__say{font-size:.7rem}}
/* Homepage technology line (TS 2026-10-09: the AI cards above already cover it; one link instead of a second block) */
.prot--line{padding:1.4rem 0}
.prot__line{margin:0;font-size:1.05rem;font-weight:600;color:#1d232a;display:flex;flex-wrap:wrap;gap:.4rem 1rem;align-items:center}

/* "What shippers say" (TS 2026-10-10): scorecard numbers; testimonial cards hidden until real quotes + permission. */
.say{background:#0d1014;color:#fff;border-top:4px solid var(--sign,#ffc400);padding:clamp(2.6rem,6vw,4.5rem) 0}
.say__in{width:min(1180px,calc(100% - 2.5rem));margin:0 auto}
.say__kicker{font:700 .78rem/1 var(--font-head,inherit);letter-spacing:.18em;text-transform:uppercase;color:var(--sign,#ffc400);margin:0 0 .8rem;display:flex;align-items:center;gap:.6rem}
.say__kicker::before{content:"";width:1.6rem;height:4px;background:repeating-linear-gradient(90deg,var(--sign,#ffc400) 0 6px,transparent 6px 9px)}
.say h2{color:#fff;margin:0 0 .5rem;font-size:clamp(1.9rem,4vw,3rem);line-height:1.02;text-transform:uppercase}
.say__lead{color:#c9d1d9;margin:0 0 1.6rem;max-width:44rem}
.say__stats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,196,0,.35);border:1px solid rgba(255,196,0,.35)}
.say__stats li{background:#14181d;padding:1.2rem 1.1rem;display:flex;flex-direction:column;gap:.3rem}
.say__stats b{font-size:clamp(1.7rem,3.4vw,2.6rem);line-height:1;color:var(--sign,#ffc400);font-family:var(--font-head,inherit)}
.say__stats span{color:#dfe5ea;font-size:.92rem;text-transform:uppercase;letter-spacing:.06em}
.say__note{margin:1rem 0 0;color:#9aa4ad;font-size:.82rem;display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}
.say__quotes[hidden]{display:none!important}
.say__quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.6rem}
.say__card{margin:0;background:#14181d;border-left:4px solid var(--sign,#ffc400);padding:1.2rem}
@media (max-width:760px){.say__stats{grid-template-columns:1fr 1fr}.say__quotes{grid-template-columns:1fr}}
.rescue-alt{margin:1rem 0 0;text-align:center;color:#9aa4ad;font-size:.92rem}.rescue-alt a{color:var(--sign,#ffc400);font-weight:600}
/* Industries detail (TS 2026-10-10) */
.indd-wrap{background:var(--bg);color:var(--tx);padding:0 0 clamp(2rem,4vh,3rem)}
.indd{background:#fff;color:#0a0c0f;border:1px solid #d3d8dd;border-left:6px solid var(--sign);padding:1.2rem 1.3rem;margin:0 0 1rem;scroll-margin-top:90px}
.indd__head{display:grid;grid-template-columns:40px 1fr;gap:.2rem .8rem;align-items:center}
.indd__head h3{margin:0;font-family:var(--font-d);font-weight:400;text-transform:uppercase;font-size:1.55rem;line-height:1;color:#0a0c0f}
.indd__head p{grid-column:2;margin:0;color:#3a434c}
.indd__cols{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:1rem}
@media (min-width:900px){.indd__cols{grid-template-columns:1.1fr .9fr 1.4fr}}
.indd h4{margin:0 0 .45rem;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:#5b6570}
.indd__chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem}
.indd__chips li{background:#f1f3f5;border:1px solid #d3d8dd;padding:.22rem .55rem;font-size:.86rem}
.indd__eq{margin:0;padding-left:1.1rem;font-size:.95rem}.indd__eq li{margin:.15rem 0}
.indd__more{margin:.5rem 0 0;font-size:.85rem}.indd__more a{color:#0a0c0f;font-weight:600}
.indd__do{list-style:none;margin:0;padding:0;font-size:.95rem}.indd__do li{display:flex;gap:.45rem;margin:0 0 .4rem;line-height:1.4}.indd__do .icon{flex:none;width:18px;height:18px;margin-top:.12rem;color:#0a0c0f}
.indd__cta{margin:1rem 0 0}
.rescue-page .rescue-alt{grid-column:1/-1;width:100%;justify-self:stretch}
/* EDI band: portals and platforms (TS 2026-10-10, preview) */
.edi-portals{grid-column:1/-1;border-top:1px solid rgba(255,196,0,.3);padding-top:1.1rem;margin-top:.3rem}
.edi-portals__h{margin:0 0 .8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.8rem;color:var(--sign)}
.edi-portals__grid{display:grid;gap:1rem 1.6rem;grid-template-columns:1fr}
@media (min-width:700px){.edi-portals__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){.edi-portals__grid{grid-template-columns:2.2fr 1.7fr 1fr .6fr .7fr}}
.edi-portals__g h3{margin:0 0 .45rem;font-size:.95rem;color:#fff;text-transform:uppercase;letter-spacing:.04em}
.edi-portals__g ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem}
.edi-portals__g li{border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.05);color:#e7ecf0;padding:.22rem .55rem;font-size:.85rem;line-height:1.25}
.edi-portals__fine{margin:.9rem 0 0;color:#9aa4ad;font-size:.8rem}
.edi-portals--light{grid-column:1/-1}.edi-portals--light .edi-portals__g h3{color:#0a0c0f}.edi-portals--light .edi-portals__g li{background:#fff;border-color:#c9d0d6;color:#0a0c0f}.edi-portals--light .edi-portals__fine{color:#5b6570}.edi-portals--light .edi-portals__h{color:#0a0c0f}

/* ===== r131 (TS 2026-10-11 9:37 AM): hero Jimbo, cleaner speech bubble + "AI assistant" label; 1280+: Jimbo + pill top right of the hero ===== */
.hero .hero-jimbo .hero-jimbo__bubble{white-space:normal;width:max-content;text-align:left;text-wrap:balance;background:#fff;color:#14171c;
  font-family:inherit;font-weight:700;font-size:.8rem;line-height:1.32;letter-spacing:0;padding:.55rem .8rem;border-radius:14px;
  box-shadow:0 10px 28px -6px rgba(0,0,0,.55),0 2px 6px rgba(0,0,0,.25);opacity:0;transform:translateY(6px) scale(.96);
  transition:opacity .28s ease,transform .28s ease;pointer-events:none}
.hero .hero-jimbo .hero-jimbo__bubble.is-on{opacity:1;transform:none}
.hero .hero-jimbo .hero-jimbo__bubble::after{content:"";position:absolute;bottom:-6px;width:13px;height:13px;background:#fff;transform:rotate(45deg);border-radius:0 0 3px 0}
/* in the hot-load card (phones, tablets, laptops < 1280): bubble above the heading's right end, tail down toward Jimbo */
.hero .rescue-teaser--hot .hero-jimbo__bubble{max-width:min(17rem,calc(100% - 14px));transform-origin:100% 100%}
.hero .rescue-teaser--hot .hero-jimbo__bubble::after{right:clamp(1.2rem,4vw,2rem)}
/* "AI assistant" tag under Jimbo (all layouts where he appears) */
.hero-jimbo__ai{display:inline-block;white-space:nowrap;font-size:.58rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;line-height:1;
  color:var(--sign,#ffc400);background:rgba(10,12,15,.72);border:1px solid rgba(255,196,0,.55);border-radius:999px;padding:.2rem .45rem .18rem}
.rescue-teaser--hot .hero-jimbo{display:flex;flex-direction:column;align-items:center}
.rescue-teaser--hot .hero-jimbo .hero-jimbo__ai{margin-top:.1rem}
/* 1280+: Jimbo moves off the card to the empty top right of the hero, grouped with the pill, above "Need a truck now?" */
.hotx-jimbo{display:none}
@media (min-width:1280px){
  .hero .rescue-teaser--hot .hero-jimbo,.hero .rescue-teaser--hot .jimbo-tagline{display:none}
  .hero .ticket .rescue-teaser--hot{padding-top:0}
  .hot-wrap:has(.hotx-jimbo){align-items:stretch}
  .hotx{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:clamp(1.1rem,3vh,2rem)}
  .hotx__text,.hotx-jimbo{width:clamp(15rem,18.5vw,20rem)}
  .hotx__text{margin-block:auto}
  .hotx-jimbo{display:grid;justify-items:start;gap:.55rem;padding-top:clamp(3.4rem,8vh,4.6rem)}
  .hero-jimbo--side{position:relative;display:flex;align-items:center;gap:.7rem;width:100%;margin:0;filter:none;color:#fff;text-decoration:none}
  .hero-jimbo--side .jimbo{height:clamp(84px,11vh,112px);width:auto;filter:drop-shadow(0 0 12px rgba(255,122,26,.45));animation:jimbo-attn 6s ease-in-out 2.5s infinite}
  .hero-jimbo--side:hover .jimbo,.hero-jimbo--side:focus-visible .jimbo{animation:none}
  .hero-jimbo__name{display:grid;justify-items:start;gap:.3rem;line-height:1}
  .hero-jimbo__name b{font-family:var(--font-d);font-size:clamp(1.3rem,2.6vh,1.6rem);font-weight:400;letter-spacing:.01em;text-transform:uppercase;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.7)}
  .hero .hero-jimbo--side .hero-jimbo__bubble{position:absolute;left:0;right:auto;top:auto;bottom:calc(100% + 12px);max-width:calc(100% + 1.25rem);transform-origin:20% 100%}
  .hero .hero-jimbo--side .hero-jimbo__bubble::after{left:clamp(1.9rem,2.6vw,2.5rem)}
  .hotx-jimbo .jimbo-tagline{margin:0}
  .hotx-jimbo .jimbo-cta{white-space:normal;text-align:left;border-radius:16px}
}
@media (min-width:1280px) and (max-width:1439.98px){.hotx-jimbo .jimbo-cta{font-size:.72rem;gap:.35rem;padding:.34rem .45rem .34rem .6rem}.hotx-jimbo .jimbo-cta svg{width:13px;height:13px}}
@media (min-width:1440px){.hero .hero-jimbo--side .hero-jimbo__bubble{max-width:calc(100% + 2.25rem)}}
@media (prefers-reduced-motion:reduce){.hero .hero-jimbo .hero-jimbo__bubble{transition:none}.hero-jimbo--side .jimbo{animation:none!important}}
/* phones / small tablets: room above the heading for a two-line bubble, so it never covers "Hot load to cover?" */
@media (max-width:859.98px){.hero .ticket .rescue-teaser--hot{padding-top:3.45rem}.hero .rescue-teaser--hot .hero-jimbo__bubble{top:.1rem}}
@media (min-width:860px) and (max-width:1279.98px){.hero .rescue-teaser--hot .hero-jimbo__bubble{top:-.5rem}}

/* ===== r132: 1-877-HEY-JIMBO, the second number (TS 2026-10-11). 636 stays primary; the 877 line sits small under it. ===== */
.nav-phones{display:inline-flex;flex-direction:column;align-items:flex-start;line-height:1.1}
.nav-phone2{font-size:.72rem;font-weight:700;letter-spacing:.03em;color:#c9d3dc;text-decoration:none;white-space:nowrap;padding-left:1.55rem}
.nav-phone2:hover{color:var(--sign)}
@media (min-width:1280px){
  .nav-phones{position:relative;padding-right:clamp(1.15rem,1.5vw,1.5rem);margin-right:clamp(1.15rem,1.5vw,1.5rem)}
  .nav-phones::after{content:"";position:absolute;right:0;top:50%;height:2.2em;transform:translateY(-50%);border-right:1px solid rgba(255,255,255,.28)}
  .nav-phones .nav-phone{padding-right:0;margin-right:0}
  .nav-phones .nav-phone::after{display:none}
}
@media (max-width:1279px){ .nav-phones{gap:.25rem;margin:.4rem 0} .nav-phone2{font-size:.85rem} }
.footer-phone2{font-weight:800;color:#fff!important;text-decoration:none;letter-spacing:.03em;font-size:1rem}
.footer-phone2:hover{color:var(--sign)!important}
.footer-phone2__digits{font-size:.85rem;color:#aab6c2}
.footer-acct{font-size:.9rem;color:#cfdcec}.footer-acct a{color:#fff!important;font-weight:700;text-decoration:none}.footer-acct a:hover{color:var(--sign)!important}
.ph-plates{display:grid;gap:.9rem;justify-items:start}
.ph-alt{font-weight:700;text-decoration:none;color:inherit;font-size:.98rem;padding-left:.35rem}
.ph-alt b{font-weight:900;letter-spacing:.03em}
.ph-alt span{opacity:.75;font-size:.88rem;margin-left:.2rem}
.ph-alt:hover b{color:var(--red,#c8102e)}

/* ===== r134 (TS 2026-10-11 10:45 AM): hero Jimbo group at 1280+ is one centered column: "JIMBO · AI ASSISTANT" on one line, Jimbo centered
   under it, the pill centered under him with its arrow pointing UP at him. The speech bubble sits above the label, centered, tail down.
   Narrower layouts: the pill sits left of Jimbo, so its arrow points RIGHT at him. ===== */
.hero-jimbo__dot{display:none}
.jimbo-cta:hover .jimbo-cta__arrow--right,.jimbo-cta:focus-visible .jimbo-cta__arrow--right{transform:translateX(2px)}
.jimbo-cta:hover .jimbo-cta__arrow--up,.jimbo-cta:focus-visible .jimbo-cta__arrow--up{transform:translateY(-2px)}
@media (min-width:1280px){
  .hotx-jimbo{justify-items:center;gap:.6rem}
  .hero-jimbo--side{flex-direction:column;align-items:center;gap:.45rem;width:100%}
  .hero-jimbo--side .hero-jimbo__name{display:flex;align-items:center;justify-content:center;gap:.45rem;white-space:nowrap}
  .hero-jimbo--side .hero-jimbo__dot{display:inline;color:var(--sign);font-weight:900;font-size:1.2rem;line-height:1}
  .hero-jimbo--side .hero-jimbo__name .hero-jimbo__ai{margin:0}
  .hero .hero-jimbo--side .hero-jimbo__bubble{left:0;right:0;margin-inline:auto;bottom:calc(100% + 12px);max-width:calc(100% + 2rem);transform-origin:50% 100%}
  .hero .hero-jimbo--side .hero-jimbo__bubble::after{left:50%;right:auto;margin-left:-6.5px}
  .hotx-jimbo .jimbo-tagline{display:flex;justify-content:center;width:100%}
  .hotx-jimbo .jimbo-cta{text-align:center}
}

/* ===== r133 (TS 2026-10-11 10:43 AM): condensed vertical rhythm, site-wide. Section padding ~28% less on desktop, ~35% less on phones;
   tighter heading / body / card / grid gaps; shorter photo bands. Font sizes untouched. One set of tokens so every section moves together. ===== */
:root{
  --sec-y:clamp(2.1rem,min(4.4vw,5.4vh),3.4rem);   /* .section and generic page sections (was up to 4.75-5.5rem) */
  --band-y:clamp(2.3rem,min(5vw,6vh),3.6rem);      /* full-bleed homepage bands (was up to 5-7rem) */
  --mid-y:clamp(1.8rem,4.2vw,3.2rem);              /* mid sections that were clamp(2.5-3rem .. 4.5-4.6rem) */
  --small-y:clamp(1.3rem,min(3vw,4.4vh),2.5rem);   /* compact bands that were up to ~3.2-3.5rem */
  --head-gap:1.5rem; --grid-gap:1rem; --split-gap:1.8rem; --inner-gap:1.4rem; --card-pad:1.3rem
}
.section{padding:var(--sec-y) 0}
.exp,.spot,.how,.prot,.portals,.ind,.qq{padding:var(--band-y) 0}
.more3{padding:2.5rem 0}
.haz{padding:1.8rem 0}
.proof{padding:2.5rem 0 1.8rem}
.slab{min-height:22rem;padding:2.1rem 0}
.svc,.how--page{padding-top:var(--mid-y);padding-bottom:var(--mid-y)}
.respect,.say{padding:var(--mid-y) 0}
.rs{padding:var(--small-y) 0 clamp(1.1rem,2.2vh,1.8rem)}
.haul,.ball,.ai{padding:var(--small-y) 0}
.wg{padding:var(--small-y) 0 clamp(1.2rem,min(2.6vw,3.6vh),2.2rem)}
.tp{padding:clamp(1.4rem,3vh,2.2rem) 0 clamp(1.8rem,4.4vh,2.9rem)}
.ind2{padding:clamp(1.5rem,3.3vh,2.4rem) 0 clamp(1.1rem,2.2vh,1.5rem)}
.ind2-cta{padding:clamp(1.2rem,2.6vh,1.9rem) 0}
.edi-sec{padding-top:clamp(1.3rem,3vh,2.2rem);padding-bottom:clamp(1.3rem,3vh,2.2rem)}
.cta-band{padding:1.8rem 1.5rem 1.5rem}
.page-hero{padding:clamp(1.6rem,4.2vw,3.5rem) 0 clamp(2.2rem,5vw,3.9rem)}
.ph--compact{padding:clamp(1.5rem,3.2vw,2.5rem) 0 clamp(2.1rem,3.6vw,3rem)}
.hero{padding-bottom:clamp(2.3rem,5vh,4rem)}
.section-head{margin-bottom:var(--head-gap)}
.grid{gap:var(--grid-gap)}
.split{gap:var(--split-gap)}
.card{padding:var(--card-pad)}
.hero__grid,.spot__in,.more3__in{gap:var(--inner-gap)}
.qq__in{gap:calc(var(--inner-gap) + .3rem)}
.route{gap:1rem}
.exp__cols{gap:1rem}
.svc__grid{gap:clamp(1.4rem,3vw,2.3rem)}
.eyebrow{margin-bottom:.7rem}
h1,h2,h3,h4{margin-bottom:.42em}
main p{margin-bottom:.85em}
.stepper li{padding-bottom:1.1rem}
.site-footer::before{margin-bottom:2.4rem}
.footer-grid{gap:1.6rem}
.footer-bottom{margin-top:1.8rem}
@media (min-width:860px){
  .slab{min-height:26rem}
  .page-hero{padding:clamp(1rem,3.2vh,3.2rem) 0 clamp(1.7rem,4.3vh,3.6rem)}
  .ph--compact{padding:clamp(1rem,2.9vh,2.2rem) 0 clamp(1.7rem,3.6vh,2.6rem)}
}
@media (max-width:700px){
  :root{--sec-y:1.8rem;--band-y:1.85rem;--mid-y:1.6rem;--small-y:1.25rem;--head-gap:1rem;--grid-gap:.85rem;--split-gap:1.25rem;--inner-gap:1rem;--card-pad:1.1rem}
  .proof{padding:1.9rem 0 1.2rem}
  .slab{min-height:16rem;padding:1.5rem 0}
  .more3{padding:1.9rem 0}
  .page-hero{padding:1.1rem 0 1.6rem}
  .ph--compact{padding:1rem 0 1.5rem}
  .hero{padding-bottom:1.8rem}
  .site-footer::before{margin-bottom:1.8rem}
  .footer-grid{gap:1.25rem}
  .footer-bottom{margin-top:1.2rem}
  .cta-band{padding:1.4rem 1.1rem 1.2rem}
}
/* r133: the r62 "every section is a full screen" rule made desktop pages very long (a 3-line section stood 824px tall at 1440x900).
   Later sections now size to their content; an inner page's title hero is capped well under a screen. The homepage hero keeps its first screen. */
@media (min-width:1000px){
  main>.section:not(:first-child):not(.rescue-page){min-height:0}
  main>.page-hero:not(.ph--compact):first-child{min-height:min(var(--first-h),28rem)}
}

/* ===== r137 (TS 2026-10-11 12:53 PM): the title over hero Jimbo stands out. "JIMBO" bigger in the display font, site yellow with a warm glow;
   "AI ASSISTANT" is a solid yellow badge with dark text (desktop stack and the in-card tag on phones/tablets). ===== */
.hero-jimbo__ai{font-size:.68rem;font-weight:900;letter-spacing:.08em;color:#15120f;background:var(--sign,#ffc400);border:0;padding:.3rem .62rem .27rem;
  box-shadow:0 2px 8px rgba(0,0,0,.45),0 0 0 2px rgba(10,12,15,.55)}
@media (min-width:1280px){
  .hero-jimbo--side .hero-jimbo__name{gap:.6rem}
  .hero-jimbo--side .hero-jimbo__name b{font-size:clamp(2rem,3.6vh,2.5rem);line-height:.95;letter-spacing:.03em;color:var(--sign,#ffc400);
    text-shadow:0 2px 0 rgba(0,0,0,.55),0 0 14px rgba(255,140,30,.55),0 4px 16px rgba(0,0,0,.7)}
  .hero-jimbo--side .hero-jimbo__dot{color:rgba(255,255,255,.75);font-size:1.4rem}
  .hero-jimbo--side .hero-jimbo__name .hero-jimbo__ai{font-size:.74rem;padding:.34rem .7rem .3rem;transform:translateY(-1px)}
}
@media (max-width:1279px){.rescue-teaser--hot .hero-jimbo .hero-jimbo__ai{font-size:.6rem;padding:.26rem .5rem .23rem;letter-spacing:.07em}}
/* r139: when the spot above the floating Jimbo is busy (links/CTAs), the bubble sits to his left with the tail pointing right at him */
.jimbo-fab-bub.is-left::after{right:-5px;bottom:auto;top:calc(50% - 6px);border-radius:0 3px 0 0;box-shadow:3px -3px 4px rgba(0,0,0,.06)}
/* r144 phone hours (TS 2026-10-11 6:41 PM): phones 7 AM-5 PM CT Mon-Fri, email + quotes 24/7 (_build/hours.py) */
.nav-hours{font-size:.62rem;font-weight:600;letter-spacing:.02em;color:#9fb0bf;white-space:nowrap;padding-left:1.55rem;margin-top:.12rem}
@media (max-width:1279px){ .nav-hours{font-size:.8rem;padding-left:0} }
.footer-hours{font-size:.85rem;color:#c9d3dc}
.contact-hours{margin-top:.6rem;display:inline-block;padding:.35rem .8rem;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);font-size:.95rem}
@media (min-width:1280px) and (max-width:1439px){ .nav-hours{display:none} }   /* no room at 1280-1439 (hours stay in the footer + contact page) */
.nw{white-space:nowrap}.hsep{display:inline-block;margin:0 .6em 0 .25em;opacity:.7}
.nav-hours .hsep{margin:0 .4em 0 .15em}
/* r145 (TS 2026-10-11): tracking "coming soon" (features.TRACKING_LIVE) */
.soon-tag{display:inline-block;margin-left:.35em;padding:.1em .45em;border-radius:3px;background:var(--sign,#ffc400);color:#0a0c0f;font-size:.62em;font-weight:800;letter-spacing:.06em;text-transform:uppercase;vertical-align:.15em;line-height:1.3}
.soon-tag--lg{margin:0;font-size:.85rem;padding:.3em .7em}
.track-soon{max-width:46rem}
.track-soon__lead{font-size:1.1rem;margin:.6rem 0 1.2rem}
.track-soon__lead a{color:var(--sign,#ffc400);font-weight:700}
.track-soon__actions{display:flex;flex-wrap:wrap;gap:.75rem}

/* r151 SEO (TS approved 2026-10-11): keyword line inside the homepage H1, small, above the slogan */
.hero h1 .h1-kicker{font-family:var(--font-b);font-weight:800;font-size:clamp(.9rem,1.25vw,1.1rem);line-height:1.3;letter-spacing:.06em;color:#e9edf1;margin-bottom:.55rem;max-width:34ch}
/* r151: mobile hot-load card: room for a 3-line Jimbo bubble so it never covers "HOT LOAD TO COVER?" (e2e home 390x844 bubbles) */
@media (max-width:600px){.hero .ticket .rescue-teaser--hot{padding-top:4.5rem}}
