/* Rent Semi Trailer. Art direction: "yard paperwork": manifest paper, asphalt navy ink, DOT conspicuity tape
   (red and white), riveted trailer data plates for branch cards, amber hazard accents.
   Saira Condensed (display), Plus Jakarta Sans (text), IBM Plex Mono (numbers, labels). Mobile first. */
:root{
  --ink:#14202E;--ink2:#34404D;--muted:#5A6470;--paper:#F5F2EA;--sheet:#FFFDF8;--line:#D9D3C4;
  --red:#C3261F;--red-d:#9E1D17;--amber:#E3A21A;--steel:#8C99A6;--blue:#2C5D8A;
  --r:10px;--wrap:1180px;--measure:780px;
  --disp:'Saira Condensed','Arial Narrow',sans-serif;--text:'Plus Jakarta Sans',system-ui,sans-serif;--mono:'IBM Plex Mono',ui-monospace,monospace;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:90px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.62 var(--text);overflow-x:hidden}
img,svg{max-width:100%;height:auto;display:block}
a{color:var(--red-d);text-underline-offset:3px;text-decoration-thickness:1.5px}
a:hover{color:var(--ink)}
:focus-visible{outline:3px solid var(--blue);outline-offset:2px;border-radius:3px}
h1,h2,h3{font-family:var(--disp);line-height:1.02;margin:0 0 .5em;letter-spacing:.01em}
h1{font-weight:800;text-transform:uppercase;font-size:clamp(2.6rem,9vw,4.4rem)}
h2{font-weight:800;text-transform:uppercase;font-size:clamp(1.75rem,5vw,2.3rem);margin-top:1.6em}
h3{font-weight:600;font-size:1.4rem}
p{margin:0 0 1em}
ul,ol{padding-left:1.25em}
li{margin-bottom:.35em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 16px}
.narrow{max-width:var(--measure)}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:10px 14px;z-index:99}
.skip:focus{left:10px;top:10px}
.ic{width:1.05em;height:1.05em;display:inline-block;vertical-align:-.15em;flex:none}
.dim{color:var(--muted)}
.tape{display:block;width:100%;height:6px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45em;min-height:48px;padding:.6em 1.15em;border-radius:6px;background:var(--red);color:#fff;font:700 1rem/1.1 var(--text);text-decoration:none;border:2px solid var(--red);transition:background .18s,border-color .18s;cursor:pointer}
.btn:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:#fff}
.btn.small{min-height:44px;font-size:.93rem;padding:.45em .9em}

/* header */
.site-head{position:sticky;top:0;z-index:20;background:var(--ink);color:var(--paper)}
.head-row{display:flex;align-items:center;gap:12px;min-height:64px}
.logo{display:flex;align-items:center;gap:10px;color:var(--paper);text-decoration:none;margin-right:auto;min-width:0}
.logo-mark{width:40px;height:40px;flex:none}
.logo-word{font:800 1.4rem/1 var(--disp);text-transform:uppercase;display:flex;flex-direction:column;white-space:nowrap}
.logo-word small{font:500 .66rem var(--mono);text-transform:none;color:#B9C2CC;margin-top:3px}
.nav-desktop{display:none;gap:2px}
.nav-desktop a{color:var(--paper);text-decoration:none;font-weight:600;font-size:.95rem;padding:10px 11px;border-radius:6px}
.nav-desktop a:hover,.nav-desktop a[aria-current]{background:#22303F;box-shadow:inset 0 -3px 0 var(--amber)}
.head-cta{display:none}
.menu summary{list-style:none;display:flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;border:2px solid var(--paper);border-radius:6px;font-weight:700;cursor:pointer;color:var(--paper)}
.menu summary::-webkit-details-marker{display:none}
.bars{width:18px;height:12px;background:linear-gradient(var(--paper),var(--paper)) 0 0/100% 2px no-repeat,linear-gradient(var(--paper),var(--paper)) 0 50%/100% 2px no-repeat,linear-gradient(var(--paper),var(--paper)) 0 100%/100% 2px no-repeat}
.menu-panel{position:absolute;left:0;right:0;top:100%;background:var(--sheet);color:var(--ink);border-bottom:3px solid var(--ink);padding:16px 20px 22px;display:grid;grid-template-columns:1fr;gap:4px 28px;max-height:calc(100vh - 80px);overflow:auto;box-shadow:0 12px 30px rgba(20,32,46,.25)}
.menu-title{font:500 .76rem var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:.6em 0 .3em}
.menu-panel ul{list-style:none;margin:0;padding:0}
.menu-panel li{margin:0}
.menu-panel a{display:block;padding:8px 0;color:var(--ink);text-decoration:none;font-weight:600}
.menu-panel a:hover{color:var(--red)}

/* hero */
.hero{padding:24px 0 6px}
.hero-grid{display:grid;gap:22px;align-items:center}
.crumbs ol{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-wrap:wrap;gap:4px 8px;font:500 .8rem var(--mono);color:var(--muted)}
.crumbs li{margin:0}
.crumbs li+li::before{content:"/";margin-right:8px;color:var(--steel)}
.crumbs a{color:var(--muted)}
.kicker{display:inline-block;font:500 .78rem var(--mono);text-transform:uppercase;letter-spacing:.08em;background:var(--amber);color:var(--ink);padding:5px 10px;border-radius:3px;margin-bottom:12px}
.lede{font-size:1.15rem;color:var(--ink2);max-width:40em}
.meta-line{display:flex;flex-wrap:wrap;gap:6px 16px;font:500 .8rem var(--mono);color:var(--muted)}
.hero-fig{margin:0}
.frame{position:relative;background:var(--sheet);border:3px solid var(--ink);border-radius:var(--r);box-shadow:8px 8px 0 var(--ink);padding:26px 16px}
.frame::before,.frame::after{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:var(--steel);top:9px;left:9px}
.frame::after{left:auto;right:9px;box-shadow:none}

/* article */
.article{max-width:var(--measure);margin:0 auto;padding:8px 16px 40px}
.article.dir{max-width:940px}
.answer{background:var(--sheet);border:2px solid var(--ink);border-left:10px solid var(--red);border-radius:var(--r);padding:16px 18px 4px;margin:18px 0 10px}
.label{font:500 .74rem var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--red-d);margin-bottom:6px}
.note{background:var(--sheet);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px 4px;margin:18px 0}
.tbl-wrap{margin:14px 0 22px}
.tbl-cap{font:500 .8rem var(--mono);color:var(--muted);margin-bottom:8px}
.tbl{width:100%;border-collapse:collapse;background:var(--sheet);font-size:.95rem}
.tbl th{font:500 .74rem var(--mono);text-transform:uppercase;letter-spacing:.06em;text-align:left;background:var(--ink);color:var(--paper);padding:10px 12px}
.tbl td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.tbl.stack thead{display:none}
.tbl.stack tr{display:block;border:2px solid var(--ink);border-radius:var(--r);margin-bottom:10px;background:var(--sheet);overflow:hidden}
.tbl.stack td{display:grid;grid-template-columns:minmax(90px,38%) 1fr;gap:10px;border-bottom:1px solid var(--line)}
.tbl.stack td:last-child{border-bottom:0}
.tbl.stack td::before{content:attr(data-label);font:500 .72rem var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding-top:2px}
.tbl.stack td:first-child{background:#EFEBE0;font-weight:700}
.steps{list-style:none;counter-reset:s;padding:0;margin:18px 0}
.steps li{counter-increment:s;position:relative;padding:4px 0 10px 58px;border-left:3px dashed var(--line);margin-left:20px}
.steps li::before{content:counter(s);position:absolute;left:-22px;top:0;width:40px;height:40px;border-radius:50%;background:var(--ink);color:var(--amber);font:800 1.3rem/40px var(--disp);text-align:center}
.steps h3{margin:.3em 0 .25em;font-size:1.3rem}
.picks li{margin-bottom:.6em}
.faq{margin-top:2.2em}
.faq-item{border-top:2px solid var(--ink);padding:10px 0}
.faq-item summary{cursor:pointer;list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item h3{display:inline;font-size:1.3rem}
.sources{margin-top:2em;font-size:.9rem}
.sources h2{font-size:1.4rem}
.sources li{margin-bottom:.4em;overflow-wrap:anywhere}
.updated{font:500 .8rem var(--mono);color:var(--muted);border-top:1px solid var(--line);padding-top:12px;margin-top:2em}

/* data plates (branch cards) */
.city-h{margin-top:1.2em;font-size:1.5rem;border-bottom:3px solid var(--amber);display:inline-block;padding-bottom:2px}
.plates{display:grid;gap:14px;margin:10px 0 18px}
.plate{position:relative;background:linear-gradient(180deg,#FBF9F3,#EEE9DD);border:2px solid var(--ink);border-radius:var(--r);padding:16px 18px 12px}
.plate::before,.plate::after{content:"";position:absolute;top:8px;width:8px;height:8px;border-radius:50%;background:var(--steel);box-shadow:inset 0 -2px 0 rgba(0,0,0,.25)}
.plate::before{left:8px}.plate::after{right:8px}
.plate-head h3{margin:0 0 2px;font-size:1.35rem}
.plate-city{font:500 .85rem var(--mono);color:var(--muted);margin:0 0 10px}
.plate-acts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.plate-src{font-size:.82rem;color:var(--muted);margin:0}
.near li{margin-bottom:.5em}

/* checklist */
.checklist{display:grid;gap:14px;margin:18px 0}
.cl-group{background:var(--sheet);border:2px solid var(--ink);border-radius:var(--r);padding:4px 16px 8px}
.cl-group h2{font-size:1.35rem;margin:.6em 0 .4em}
.cl-group ul{list-style:none;padding:0;margin:0}
.cl-group li{display:flex;gap:10px;align-items:flex-start;padding:7px 0;border-top:1px dashed var(--line)}
.box{flex:none;width:20px;height:20px;border:2px solid var(--ink);border-radius:3px;margin-top:3px;background:#fff}

/* estimator */
.est{background:var(--sheet);border:3px solid var(--ink);border-radius:var(--r);box-shadow:8px 8px 0 var(--ink);padding:16px;margin:16px 0 26px}
.est-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.est-field{display:flex;flex-direction:column;gap:4px}
.est-field.est-type{grid-column:1/-1}
.est-field label,.st-pick label{font:500 .76rem var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.est select,.est input[type=number],.st-pick select{min-height:48px;width:100%;font:600 1rem var(--text);color:var(--ink);background:#fff;border:2px solid var(--ink);border-radius:6px;padding:8px 10px}
.est-check{grid-column:1/-1;display:flex;align-items:center;gap:10px;font-size:.95rem;min-height:44px;cursor:pointer}
.est-check input{width:22px;height:22px;accent-color:var(--red)}
.est-out{margin-top:14px;border-top:3px solid var(--ink);padding-top:12px}
.est-total{display:flex;flex-direction:column;gap:2px}
.est-label{font:500 .74rem var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--red-d)}
.est-total strong{font:800 clamp(2rem,8vw,2.8rem)/1.05 var(--disp);font-variant-numeric:tabular-nums}
.est-sub{font-size:.9rem;color:var(--ink2)}
.est-break{margin:10px 0 6px;display:grid;gap:4px}
.est-break div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dashed var(--line);padding:4px 0;font-size:.93rem}
.est-break dt{color:var(--ink2)}.est-break dd{margin:0;font-family:var(--mono);font-weight:500;text-align:right}
.est-src{font-size:.8rem;color:var(--muted);margin:6px 0 0}
.est-warn{background:#FFF4D9;border-left:5px solid var(--amber);padding:8px 10px;font-size:.9rem;border-radius:4px}

/* state picker */
.st-pick{display:flex;flex-direction:column;gap:6px;margin:16px 0}
.st-row{display:flex;flex-direction:column;gap:8px}

/* home */
.home-hero{padding:26px 0 30px}
.hh-grid{display:grid;gap:22px}
.hh-copy h1{margin-bottom:.2em}
.hh-fig{margin:6px 0 10px}
.band{background:var(--ink);color:var(--paper);padding:20px 0}
.stats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.stats li{margin:0;display:flex;flex-direction:column;border-left:4px solid var(--amber);padding-left:10px}
.stats b{font:800 1.6rem/1.1 var(--disp)}
.stats span{font:500 .78rem var(--mono);color:#B9C2CC}
.band-src{font-size:.82rem;color:#B9C2CC;margin:12px 0 0}
.band-src a{color:#F2C766}
.sec{padding:30px 0}
.sec.alt{background:#ECE7DB;border-top:2px solid var(--line);border-bottom:2px solid var(--line)}
.sec h2{margin-top:0}
.types{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.type-card{display:flex;flex-direction:column;gap:8px;background:var(--sheet);border:2px solid var(--ink);border-radius:var(--r);padding:12px;text-decoration:none;color:var(--ink);transition:transform .18s,box-shadow .18s}
.type-card:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--ink)}
.type-card .t-txt{display:flex;flex-direction:column}
.type-card strong{font:800 1.3rem/1 var(--disp);text-transform:uppercase}
.type-card small{font:500 .76rem var(--mono);color:var(--muted);margin-top:4px}
.chips-list{list-style:none;margin:12px 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.chips-list li{margin:0}
.chips-list a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:6px 12px;background:var(--sheet);border:2px solid var(--ink);border-radius:999px;color:var(--ink);text-decoration:none;font-weight:600;font-size:.95rem}
.chips-list a b{font:500 .78rem var(--mono);background:var(--ink);color:var(--paper);border-radius:999px;padding:2px 8px}
.chips-list a:hover{background:var(--amber)}
.more-link{margin-top:14px;font-weight:700}
.tiles{display:grid;grid-template-columns:1fr;gap:12px}
.tile{display:flex;gap:12px;align-items:center;background:var(--sheet);border:2px solid var(--ink);border-radius:var(--r);padding:10px 12px;text-decoration:none;color:var(--ink);min-height:72px;transition:transform .18s,box-shadow .18s}
.tile:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--ink)}
.t-art{flex:none;width:96px}
.tile .t-txt{display:flex;flex-direction:column;min-width:0}
.tile small{font:500 .72rem var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.tile strong{font-size:1rem;line-height:1.25}
.type-card .t-art{width:100%}
.more{padding:30px 0 40px;border-top:2px solid var(--line)}
.more h2{margin-top:0}

/* footer */
.site-foot{background:var(--ink);color:#C9D0D8;font-size:.92rem}
.site-foot .wrap{padding-top:30px;padding-bottom:30px}
.foot-grid{display:grid;gap:22px}
.site-foot ul{list-style:none;margin:0;padding:0}
.site-foot li{margin:0}
.site-foot a{color:var(--paper);text-decoration:none;display:inline-block;padding:5px 0}
.site-foot a:hover{color:var(--amber)}
.site-foot .menu-title{color:#93A0AD}
.brand-name{display:flex;align-items:center;gap:10px;font:800 1.4rem var(--disp);text-transform:uppercase;color:var(--paper)}
.fine{border-top:1px solid #2B3A4B;margin-top:24px;padding-top:16px;font-size:.82rem;color:#A8B2BC}

@media (min-width:640px){
  .est-form{grid-template-columns:2fr 1fr 1fr}
  .est-field.est-type{grid-column:auto}
  .st-row{flex-direction:row}
  .stats{grid-template-columns:repeat(4,1fr)}
  .types{grid-template-columns:repeat(3,1fr)}
  .tiles{grid-template-columns:1fr 1fr}
  .plates{grid-template-columns:1fr 1fr}
  .checklist{grid-template-columns:1fr 1fr}
  .menu-panel{grid-template-columns:1fr 1fr 1fr}
  .foot-grid{grid-template-columns:2fr 1fr 1.4fr 1fr}
  .tbl.stack thead{display:table-header-group}
  .tbl.stack tr{display:table-row;border:0;border-radius:0;margin:0}
  .tbl.stack td{display:table-cell;border-bottom:1px solid var(--line)}
  .tbl.stack td::before{content:none}
  .tbl.stack td:first-child{background:transparent}
  .tbl{border:2px solid var(--ink)}
}
@media (min-width:960px){
  body{font-size:18px}
  .nav-desktop{display:flex}
  .head-cta{display:inline-flex}
  .hero-grid{grid-template-columns:1.3fr 1fr}
  .hero-grid.solo{grid-template-columns:1fr}
  .hh-grid{grid-template-columns:1.35fr 1fr;align-items:start}
  .hh-side{padding-top:60px}
  .tiles{grid-template-columns:repeat(4,1fr)}
  .tile{flex-direction:column;align-items:flex-start}
  .t-art{width:100%}
  .breakout{margin-left:-60px;margin-right:-60px}
  .plates{grid-template-columns:1fr 1fr}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
@media print{
  .site-head,.site-foot,.more,.crumbs,.print-hint,.sources,.faq,.hero-fig{display:none!important}
  body{background:#fff;font-size:12pt}
  .cl-group{break-inside:avoid;border-width:1px}
}
