/* hleinc.net — "The Buyer's Desk". Every value is a token from the HLE Specialty Vehicles design system (Paper theme).
   Rules, not shadows. Square documents. Serif headings, sans text, mono figures. */
:root{
  --paper:#f7f4ee;--paper-raised:#ffffff;--paper-tint:#efeae0;
  --ink:#1a1a1a;--ink-body:#3a3a3a;--ink-muted:#6b6b6b;--on-ink:#ece8e0;--ink-soft:#cfcac0;--ink-faint:#a7a9ac;
  --steel:#1f4e79;--steel-hover:#2e6da4;--steel-tint:#e6edf4;--on-steel:#ffffff;
  --red:#c8102e;--rule:#d8d2c6;--rule-strong:#8e877a;
  --good:#1e6b32;--good-tint:#e8f3e8;--warn:#8a6400;--warn-tint:#fff6dc;--critical-tint:#fbe6ea;--focus:#1f4e79;
  --font-serif:"IBM Plex Serif",Georgia,"Times New Roman",serif;
  --font-sans:"IBM Plex Sans","Segoe UI",system-ui,-apple-system,Arial,sans-serif;
  --font-mono:"IBM Plex Mono","SF Mono",Menlo,Consolas,monospace;
  --measure:68ch;--content-max:1200px;--sheet-max:840px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink-body);font:400 16px/26px var(--font-sans)}
a{color:var(--steel);text-decoration:underline;text-underline-offset:3px}
a:hover{color:var(--steel-hover)}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
img{max-width:100%;height:auto}
h1,h2,h3,h4{font-family:var(--font-serif);color:var(--ink);margin:0;font-weight:600}
p{margin:0}
ul,ol{margin:0}
.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
.skip{position:absolute;left:-9999px;top:auto}
.skip:focus{left:16px;top:16px;background:var(--paper-raised);padding:8px 12px;z-index:100}

/* Type */
.eyebrow{font:600 12px/16px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);margin:0}
.eyebrow.doc{color:var(--steel)}
.display{font:600 56px/60px var(--font-serif);letter-spacing:-.01em;color:var(--ink)}
.h1{font:600 40px/46px var(--font-serif);letter-spacing:-.005em;color:var(--ink)}
.h2{font:600 28px/34px var(--font-serif);color:var(--ink)}
.h2.doc{padding-bottom:8px;border-bottom:2px solid var(--rule-strong)}
.h3{font:600 20px/26px var(--font-serif);color:var(--ink)}
.h3.sm{font-size:17px;line-height:24px}
.doc-title{font:500 24px/30px var(--font-serif);color:var(--ink);margin:0}
.lead{font:400 19px/30px var(--font-sans);color:var(--ink-body);margin:0;max-width:var(--measure)}
.body{font:400 16px/26px var(--font-sans);color:var(--ink-body);margin:0;max-width:var(--measure)}
.small{font:400 14px/20px var(--font-sans);margin:0}
.muted{color:var(--ink-muted)}
.strong{font-weight:600;color:var(--ink)}
.figure{font:500 16px/24px var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ink)}
.figure-lg{font:500 28px/32px var(--font-mono);color:var(--ink)}
.label{font:500 13px/18px var(--font-mono);letter-spacing:.02em;color:var(--ink-muted)}
.label.steel{color:var(--steel)}
.sample{display:inline-block;font:500 11px/14px var(--font-mono);letter-spacing:.06em;color:var(--warn);background:var(--warn-tint);padding:1px 6px;border-radius:2px;vertical-align:middle;margin-left:6px;white-space:nowrap}
.red{color:var(--red)}

/* Layout */
.wrap{max-width:var(--content-max);margin:0 auto;padding:0 24px}
.sheetwrap{max-width:var(--sheet-max);margin:0 auto;padding:0 24px}
.section{padding-top:64px;padding-bottom:64px}
.section.tight{padding-top:48px;padding-bottom:48px}
.stack{display:flex;flex-direction:column;gap:16px}
.stack.g8{gap:8px}.stack.g24{gap:24px}.stack.g32{gap:32px}
.row{display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.row.between{justify-content:space-between}
.row.end{align-items:flex-end}
.grid{display:grid;gap:24px}
.grid.c2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid.c3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid.c4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid.c75{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:64px}
.grid.c57{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px}
.grid.c84{grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:48px}
.grid.c66{grid-template-columns:repeat(2,minmax(0,1fr));gap:64px}
.grid.start{align-items:start}.grid.center{align-items:center}.grid.end{align-items:end}
.band{background:var(--paper-tint)}
.dark{background:var(--ink);color:var(--on-ink)}
.dark .eyebrow{color:var(--ink-faint)}
.dark .h2,.dark .h1,.dark .h3{color:var(--on-ink)}
.dark .body,.dark .lead{color:var(--ink-soft)}
.dark .small{color:var(--ink-faint)}
.dark a{color:var(--ink-soft)}
.masthead{padding-top:96px;padding-bottom:96px}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;min-height:44px;border-radius:2px;font:600 15px/20px var(--font-sans);text-decoration:none;cursor:pointer;border:1px solid transparent;background:transparent;color:var(--ink)}
.btn.primary{background:var(--steel);color:var(--on-steel);border-color:var(--steel)}
.btn.primary:hover{background:var(--steel-hover);border-color:var(--steel-hover);color:var(--on-steel)}
.btn.secondary{background:transparent;color:var(--steel);border-color:var(--steel)}
.btn.secondary:hover{background:var(--steel-tint);color:var(--steel)}
.btn.quiet{background:transparent;color:var(--ink);padding-left:0;padding-right:0}
.btn.quiet:hover{text-decoration:underline;text-underline-offset:3px;color:var(--ink)}
.btn.inverse{background:var(--on-ink);color:var(--ink);border-color:var(--on-ink)}
.btn.inverse:hover{background:#fff;color:var(--ink)}
.btn.full{width:100%}

/* Header */
.header{background:var(--paper-raised);border-bottom:3px solid var(--steel);position:relative;z-index:20}
.header .bar{max-width:var(--content-max);margin:0 auto;padding:8px 24px;display:flex;align-items:center;gap:24px}
.header .logo{display:inline-flex;align-items:center}
.header .logo img{height:52px;width:auto}
.header nav.main{display:flex;gap:18px;margin-left:auto;flex-wrap:wrap}
.header nav.main a{font:500 15px/20px var(--font-sans);color:var(--ink);text-decoration:none;padding:6px 2px;white-space:nowrap}
.header nav.main a:hover,.header nav.main a[aria-current]{box-shadow:inset 0 -2px 0 var(--steel);color:var(--steel)}
.header .phone{font:500 15px/20px var(--font-mono);color:var(--ink);text-decoration:none;white-space:nowrap}
.header .mobile{display:none;gap:8px;align-items:center;margin-left:auto}
.header .iconbtn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--rule);border-radius:2px;color:var(--ink);background:var(--paper-raised);cursor:pointer;text-decoration:none}
.header .menubtn{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 14px;background:var(--paper-raised);border:1px solid var(--rule);border-radius:2px;font:600 15px/20px var(--font-sans);color:var(--ink);cursor:pointer}
.menu{display:none;background:var(--paper-raised);border-bottom:1px solid var(--rule)}
.menu.open{display:block}
.menu ul{list-style:none;margin:0;padding:8px 24px 16px}
.menu li a{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--rule);font:500 16px/22px var(--font-sans);color:var(--ink);text-decoration:none}
.menu li.sub a{padding-left:16px;font-weight:400;color:var(--ink-body)}
.menu li:last-child a{border-bottom:0}
.menu .btn{margin-top:12px}
/* What we build dropdown */
.header .has-sub{position:relative}
.header .sub{display:grid;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .12s ease .18s,visibility 0s linear .3s;position:absolute;left:-24px;top:100%;margin-top:3px;background:var(--paper-raised);border:1px solid var(--rule);border-top:3px solid var(--steel);padding:16px 24px;width:max-content;max-width:min(920px,92vw);grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 32px;z-index:30}
.header .has-sub:hover .sub,.header .has-sub:focus-within .sub{visibility:visible;opacity:1;pointer-events:auto;transition-delay:0s}
/* round 14 (Eric): the panel closed while the pointer crossed the gap under the menu item; an invisible bridge covers it and closing waits 0.3 s */
.header .sub::before{content:"";position:absolute;left:0;right:0;top:-28px;height:28px}
.header .sub h4{font:600 12px/16px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);margin:0 0 8px}
.header .sub a{display:block;font:400 15px/22px var(--font-sans);color:var(--ink);padding:3px 0;box-shadow:none}
.header .sub a:hover{color:var(--steel);box-shadow:none;text-decoration:underline}
.header .sub .all{margin-top:8px;font-weight:500;color:var(--steel)}

/* Documents, sheets, tables */
.doc{background:var(--paper-raised);border:1px solid var(--rule);border-top:3px solid var(--steel);padding:24px;display:flex;flex-direction:column;gap:12px}
.doc.selected{background:var(--steel-tint)}
.sheet{background:var(--paper-raised);border:1px solid var(--rule)}
.sheet.pad{padding:24px}
.sheet.pad-lg{padding:32px}
.table{width:100%;border-collapse:collapse;font:400 14px/20px var(--font-sans);color:var(--ink-body);background:var(--paper-raised)}
.table th{text-align:left;font:600 12px/16px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);padding:8px 12px;border-bottom:2px solid var(--rule-strong)}
.table td{padding:10px 12px;border-bottom:1px solid var(--rule);vertical-align:top}
.table tbody tr:nth-child(even) td{background:var(--paper-tint)}
.table .num,.table th.num{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:500;color:var(--ink);white-space:nowrap}
.table .unit{color:var(--ink-muted);font-family:var(--font-sans);font-weight:400}
.table tr.selected td{background:var(--steel-tint)}
.table.plain tbody tr:nth-child(even) td{background:transparent}
.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.chip{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:999px;font:500 13px/18px var(--font-mono);letter-spacing:.02em;white-space:nowrap}
.chip::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.chip.good{color:var(--good);background:var(--good-tint)}
.chip.warn{color:var(--warn);background:var(--warn-tint)}
.chip.critical{color:var(--red);background:var(--critical-tint)}
.chip.neutral{color:var(--ink-muted);background:var(--paper-tint)}
.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.list li{padding:12px 0;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between;gap:16px}
.list li:last-child{border-bottom:0}
.list li a{text-decoration:none;font-weight:500;color:var(--ink)}
.list li a:hover{color:var(--steel);text-decoration:underline}
.bullets{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;font:400 15px/22px var(--font-sans);color:var(--ink-body)}
.bullets.sm{font-size:14px;line-height:22px}

/* Plan card */
.plan{background:var(--paper-raised);border:1px solid var(--rule);display:flex;flex-direction:column;min-width:0}
.plan.featured{border-color:var(--steel)}
.plan .thumb{aspect-ratio:3/1;background:var(--paper);border-bottom:1px solid var(--rule);display:flex;align-items:center;justify-content:center;padding:12px;overflow:hidden}
.plan .thumb img{width:100%;height:100%;object-fit:contain;display:block}
.plan .thumb svg{width:100%;height:auto}
.plan .pbody{padding:16px;display:flex;flex-direction:column;gap:8px;flex:1}
.plan .facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding-top:8px;border-top:1px solid var(--rule)}
.plan .facts .figure{font-size:14px;line-height:20px;overflow-wrap:anywhere}
.plan .facts .k{font:400 12px/16px var(--font-sans);color:var(--ink-muted)}
.plan .pbody .btn{margin-top:auto;align-self:flex-start}
.vlist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px}
.vlist li a{display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid var(--rule);text-decoration:none;color:var(--ink);font:500 15px/20px var(--font-sans)}
.vlist li a:hover{color:var(--steel)}
.vlist li a span{font:500 13px/20px var(--font-mono);color:var(--ink-muted)}

/* Forms */
.field{display:flex;flex-direction:column;gap:6px}
.field label{font:600 14px/20px var(--font-sans);color:var(--ink)}
.field input,.field select,.field textarea{font:400 16px/24px var(--font-sans);color:var(--ink);background:var(--paper-raised);border:1px solid var(--rule);border-radius:2px;padding:10px 12px;min-height:44px;width:100%}
.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--rule-strong)}
.field .help{font:400 14px/20px var(--font-sans);color:var(--ink-muted)}
.choice{display:grid;gap:8px}
.choice label{display:flex;gap:12px;align-items:flex-start;padding:12px 16px;background:var(--paper-raised);border:1px solid var(--rule);border-radius:2px;cursor:pointer;font:400 16px/24px var(--font-sans);color:var(--ink)}
.choice label:hover{border-color:var(--rule-strong)}
.choice label.on,.choice label:has(input:checked){background:var(--steel-tint);border-color:var(--steel)}
.choice input{margin-top:5px;accent-color:var(--steel);width:18px;height:18px;flex:none}
.choice .why{display:block;font:400 14px/20px var(--font-sans);color:var(--ink-muted)}
.hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.status{font:400 15px/22px var(--font-sans);color:var(--ink-body)}
.status.err{color:var(--red)}

/* Construction column */
.con{display:grid;grid-template-columns:200px minmax(0,1fr) minmax(0,1fr);gap:24px;padding:20px 0;border-bottom:1px solid var(--rule)}
.con:last-child{border-bottom:0}
.con .part{font:600 17px/24px var(--font-serif);color:var(--ink)}
.con h4{font:600 12px/16px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);margin:0 0 4px}
.con p{font:400 15px/22px var(--font-sans);color:var(--ink-body);margin:0}
.photo{width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--rule);display:block;background:var(--paper-tint)}
.photo.wide{aspect-ratio:3/2}.photo.cine{aspect-ratio:16/9}
figure{margin:0;display:flex;flex-direction:column;gap:8px}
figcaption{font:400 14px/20px var(--font-sans);color:var(--ink-body)}
figcaption b{font-weight:600;color:var(--ink)}
.placeholder{background:var(--paper-raised);border:1px dashed var(--rule-strong);display:flex;align-items:center;justify-content:center;text-align:center;color:var(--ink-muted);font:500 13px/18px var(--font-mono);letter-spacing:.02em;padding:16px;min-height:120px}
.placeholder.r43{aspect-ratio:4/3}.placeholder.r169{aspect-ratio:16/9}.placeholder.r32{aspect-ratio:3/2}
.crumbs{font:400 14px/20px var(--font-sans);color:var(--ink-muted);margin:0}
.crumbs a{color:var(--steel)}

/* Prose (blog posts, migrated pages, guides) */
.prose{max-width:var(--measure);font:400 17px/28px var(--font-sans);color:var(--ink-body)}
.prose>*+*{margin-top:18px}
.prose h2{font:600 26px/32px var(--font-serif);margin-top:40px}
.prose h3{font:600 20px/26px var(--font-serif);margin-top:28px}
.prose h4{font:600 17px/24px var(--font-serif);margin-top:20px}
.prose ul,.prose ol{padding-left:24px;display:flex;flex-direction:column;gap:6px}
.prose li>p{margin:0}
.prose img{display:block;border:1px solid var(--rule);background:var(--paper-tint)}
.prose figure{margin:24px 0}
.prose table{width:100%;border-collapse:collapse;font-size:15px;line-height:22px;background:var(--paper-raised)}
.prose th{text-align:left;font:600 12px/16px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);padding:8px 12px;border-bottom:2px solid var(--rule-strong)}
.prose td{padding:8px 12px;border-bottom:1px solid var(--rule);vertical-align:top}
.prose blockquote{margin:0;padding:12px 20px;border-left:3px solid var(--steel);background:var(--paper-raised);font-style:normal}
.prose hr{border:0;border-top:1px solid var(--rule);margin:32px 0}
.prose strong{color:var(--ink)}
.prose .wp-block-buttons,.prose .wp-block-button{display:none}
.prose iframe{max-width:100%}
.prose .lead{font-size:19px;line-height:30px}

/* Footer */
.footer{background:var(--ink);color:var(--on-ink)}
.footer a{color:var(--ink-soft);text-decoration:none}
.footer a:hover{color:#fff;text-decoration:underline}
.footer h4{font:600 12px/16px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 12px}
.footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font:400 14px/20px var(--font-sans)}
.footer .cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;padding-top:48px;padding-bottom:32px}
.footer .base{padding-top:24px;padding-bottom:32px;border-top:1px solid #3a3f45;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.footer .small{color:var(--ink-faint)}
.footer .addr{color:var(--ink-soft)}
.footer .logo img{height:56px;width:auto;margin-bottom:16px}

/* FAQ */
.faq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 48px}
.faq h3{font:600 17px/24px var(--font-serif)}
.faq p{margin-top:6px}

/* Tracker tools */
.filters{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}
.filters .field{min-width:180px}
.filters .count{margin-left:auto;align-self:flex-end}

/* Floor plan library */
.plangrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.plan .thumb.img{aspect-ratio:2/1;padding:0;background:#fff}
.plansheet img{width:100%;display:block;border:1px solid var(--rule);background:#fff}
.pager{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.pager a,.pager span{font:500 14px/20px var(--font-mono);padding:6px 10px;border:1px solid var(--rule);border-radius:2px;text-decoration:none;color:var(--ink)}
.pager span[aria-current]{background:var(--steel);color:var(--on-steel);border-color:var(--steel)}

/* Posts list */
.postlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.postlist li{padding:16px 0;border-bottom:1px solid var(--rule);display:grid;grid-template-columns:120px minmax(0,1fr);gap:16px;align-items:baseline}
.postlist li .date{font:500 13px/20px var(--font-mono);color:var(--ink-muted)}
.postlist li a{font:500 17px/24px var(--font-sans);color:var(--ink);text-decoration:none}
.postlist li a:hover{color:var(--steel);text-decoration:underline}
.postlist li .small{margin-top:4px}
.catnav{display:flex;flex-wrap:wrap;gap:8px}
.catnav a{font:500 13px/18px var(--font-mono);padding:4px 10px;border:1px solid var(--rule);border-radius:999px;text-decoration:none;color:var(--ink)}
.catnav a[aria-current],.catnav a:hover{background:var(--steel-tint);border-color:var(--steel);color:var(--steel)}

/* Notice */
.notice{background:var(--warn-tint);border:1px solid #e6d8a6;padding:12px 16px;font:400 14px/20px var(--font-sans);color:var(--ink-body)}
.notice.steel{background:var(--steel-tint);border-color:#c7d6e6}

/* Responsive */
@media (max-width:1040px){
  .header nav.main{gap:12px}
  .header nav.main a{font-size:14px}
}
@media (max-width:900px){
  .header .bar{gap:12px}
  .header nav.main,.header .bar>.btn,.header .bar>.phone{display:none}
  .header .mobile{display:flex}
  .header .logo img{height:44px}
  .grid.c75,.grid.c57,.grid.c84,.grid.c66,.grid.c3,.grid.c4,.grid.c2{grid-template-columns:1fr;gap:24px}
  .faq{grid-template-columns:1fr}
  .footer .cols{grid-template-columns:1fr 1fr}
  .plangrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .con{grid-template-columns:1fr;gap:12px}
  .masthead{padding-top:40px;padding-bottom:32px}
  .section{padding-top:40px;padding-bottom:40px}
  .display{font-size:40px;line-height:44px}
  .h1{font-size:32px;line-height:38px}
  .h2{font-size:24px;line-height:30px}
  .lead{font-size:17px;line-height:27px}
  .vlist{grid-template-columns:1fr}
  .doc,.sheet.pad,.sheet.pad-lg{padding:20px}
}
@media (max-width:600px){
  .footer .cols{grid-template-columns:1fr 1fr;gap:24px 16px}
  .footer .cols>div:first-child{grid-column:1/-1}
  .plangrid{grid-template-columns:1fr}
  .postlist li{grid-template-columns:1fr;gap:4px}
  .btn.wfull{width:100%}
  .wrap{padding-left:16px;padding-right:16px} /* qa-home: was padding:0 16px, which zeroed the top/bottom padding of every .wrap.masthead/.wrap.section on phones */
}
@media print{
  .header,.footer,.menu,.btn{display:none !important}
  body{background:#fff}
  .sheet,.doc{border-color:#999}
}

/* gen_plans */
a.plansheet{display:block}
img.plansheet{width:100%;height:auto;display:block;border:1px solid var(--rule);background:#fff}
.planfacts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding-top:16px;border-top:1px solid var(--rule)}
.planfacts>div{min-width:0}
.planfacts .figure-lg{font-size:20px;line-height:26px;overflow-wrap:break-word}
.planfacts .small{margin-top:4px}
.planfilters .field{flex:1 1 200px;min-width:0}
.planfilters .field.q{flex:2 1 260px}
.planfilters select{text-overflow:ellipsis}
.planfilters .count{flex-basis:100%;margin-left:0}
.plangrid .plan .facts,.nearby .plan .facts{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,.7fr)}
.plangrid .plan .facts .figure,.nearby .plan .facts .figure{overflow-wrap:break-word}
/* .doc also matched <p class="eyebrow doc"> and <h2 class="h2 doc">, drawing a box inside the document: reset those two */
.eyebrow.doc{background:none;border:0;padding:0;display:block}
.h2.doc{background:none;border:0;border-bottom:2px solid var(--rule-strong);padding:0 0 8px;display:block}
@media (max-width:900px){
  .planfacts{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:600px){
  .planfilters .field,.planfilters .field.q{flex-basis:100%}
}
/* end gen_plans */

/* gen_how / gen_before / gen_buying */
.list.guides li{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:4px 24px;align-items:baseline}
.prose ul.checklist{list-style:none;padding-left:0;gap:10px}
.prose ul.checklist li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:12px;align-items:start}
.prose ul.checklist .box{width:18px;height:18px;border:1.5px solid var(--rule-strong);border-radius:2px;background:var(--paper-raised);margin-top:5px}
.prose.wide{max-width:none}
.checklist-sheet>h2:first-child{margin-top:0}
.cards3 .doc .placeholder{margin:-24px -24px 4px;border-left:0;border-right:0;border-top:0}
.cards3 .doc .placeholder{background:var(--paper)}
.cards3 .doc .btn{align-self:flex-start;margin-top:auto}
.steps .when{display:none}
.specs p{font:400 16px/26px var(--font-serif);color:var(--ink)}
.specs .con{grid-template-columns:200px minmax(0,1fr)}
.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.formgrid .field.full{grid-column:1/-1}
@media (max-width:900px){.specs .con{grid-template-columns:1fr}.cards3 .doc .placeholder{margin:-20px -20px 4px}}
@media (max-width:600px){.list.guides li{grid-template-columns:1fr}.formgrid{grid-template-columns:1fr}.sheetwrap{padding:0 16px}.steps th:nth-child(3),.steps td:nth-child(3){display:none}.steps .when{display:block;margin-top:6px;font:500 13px/18px var(--font-mono);color:var(--ink)}}
@media print{
  .print-checklist .dark,.print-checklist .noprint,.print-checklist .crumbs{display:none !important}
  .print-checklist .checklist-sheet{border:0;padding:0}
  .print-checklist .prose ul.checklist li{break-inside:avoid}
  .print-checklist .prose h2{break-after:avoid}
}
/* end gen_how / gen_before / gen_buying */

/* gen_request / gen_about */
.req-fs{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;min-width:0}
.req-fs legend{margin-bottom:12px;padding:0}
.req-h1{font-size:32px;line-height:38px}
.req-picked{padding:20px;display:flex;flex-direction:column;gap:8px}
[data-picked][hidden]{display:none !important}
.req-picked-m{display:none}
.req-consent{display:flex;gap:10px;align-items:flex-start;font:400 14px/20px var(--font-sans);color:var(--ink-body);cursor:pointer}
.req-consent input{margin-top:2px;width:18px;height:18px;flex:none;accent-color:var(--steel)}
.req-aside .table{font-size:14px}
@media (max-width:900px){
  .req-h1{font-size:28px;line-height:34px}
  .req-picked-m{display:flex;padding:12px 16px;gap:4px}
  .req-aside .req-picked{display:none !important}
  .req-submit{width:100%}
}
.table.facts th{text-transform:none;letter-spacing:0;font:600 14px/20px var(--font-sans);color:var(--ink);border-bottom:1px solid var(--rule);width:8em;vertical-align:top;padding:10px 12px}
.team-card .body{font-size:15px;line-height:23px}
/* end gen_request / gen_about */

/* gen_projects */
.drivers .sheetfoot{padding:16px 24px;border-top:1px solid var(--rule);display:flex;justify-content:space-between;align-items:center;gap:8px 16px;flex-wrap:wrap}
.drivers .table td:first-child{width:9em}
.projhub .doc .btn.quiet{align-self:flex-start;margin-top:auto;padding-top:0;padding-bottom:0;min-height:0}
.table.steps td:first-child{width:3em}
.fundstrip>*,.grid>.drivers,.grid>.stack{min-width:0}
/* .section (padding:64px 0) came after .wrap and zeroed the side gutter on "wrap section" blocks (faq_block, funding strip): restore it */
.wrap.section,.sheetwrap.section,.footer .wrap.cols,.footer .wrap.base{padding-left:24px;padding-right:24px}
@media (max-width:600px){.wrap.section,.sheetwrap.section,.footer .wrap.cols,.footer .wrap.base{padding-left:16px;padding-right:16px}}
.fundstrip .table td.num{white-space:normal}
.table.steps .when{display:none}
@media (max-width:600px){.table.steps th:last-child,.table.steps td:last-child{display:none}.table.steps .when{display:block;margin-top:4px}}
@media (max-width:600px){
  .drivers .table thead{display:none}
  .drivers .table,.drivers .table tbody,.drivers .table tr,.drivers .table td{display:block;width:auto}
  .drivers .table tr{padding:10px 16px;border-bottom:1px solid var(--rule)}
  .drivers .table tbody tr:nth-child(even) td{background:transparent}
  .drivers .table td{padding:2px 0;border:0}
  .drivers .table td:first-child{width:auto}
  .drivers .table td.num{text-align:left;white-space:normal;color:var(--ink-muted);font-size:13px}
  .drivers .sheetfoot{padding:16px}
}
/* end gen_projects */
/* gen_blog / gen_legacy */
.prose .tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.prose .tablewrap table{min-width:480px}
.prose .video{position:relative;aspect-ratio:16/9;border:1px solid var(--rule);background:var(--ink)}
.prose .video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.prose figure img{width:100%;height:auto}
.postgrid aside .list li{align-items:baseline}
.sitemapgrid{row-gap:40px}
.sitemapgrid .bullets{padding-left:20px;display:flex;flex-direction:column;gap:6px}
/* end gen_blog / gen_legacy */
/* qa-home-verticals-plans */
/* Header: dropdown links inherited nav's nowrap and ran into the next column; phone menu sub-items reuse .msub (".sub" collided with the dropdown's display:none) */
.header nav.main .sub a{white-space:normal}
.menu li.msub a{padding-left:16px;font-weight:400;color:var(--ink-body)}
/* Footer: base rule inset to the content edge; phone links get 44px tap rows */
.footer .wrap.base{border-top:0;position:relative}
.footer .wrap.base::before{content:"";position:absolute;left:24px;right:24px;top:0;border-top:1px solid #3a3f45}
@media (max-width:600px){.footer .wrap.base::before{left:16px;right:16px}.footer ul{gap:0}.footer ul a{display:inline-block;padding:12px 0}.footer li[style]{padding-top:12px !important}}
/* Home picker: counts never wrap */
.vlist li a span{white-space:nowrap}
.paperwork li .small{white-space:nowrap}
/* Plan card facts as label/value rows: real chassis and type names are too long for three columns */
.plan .facts,.plangrid .plan .facts,.nearby .plan .facts{grid-template-columns:1fr;gap:4px}
.plan .facts>div{display:grid;grid-template-columns:6.5rem minmax(0,1fr);gap:12px;align-items:baseline}
.plan .facts .k{order:-1;font-size:13px;line-height:20px}
.plan .facts .figure,.plangrid .plan .facts .figure,.nearby .plan .facts .figure{overflow-wrap:break-word}
/* Plan thumbs: 16:10 box; sheets that stack several views (portrait JPEGs) show the floor plan at the top instead of a letterboxed sliver */
.plan .thumb.img{aspect-ratio:16/10}
.plan .thumb.img.tall img{object-fit:cover;object-position:top center}
/* Plan page facts: 'International' broke mid-word in the 20px figure */
.planfacts{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,.9fr) minmax(0,1fr)}
.planfacts .figure-lg{font-size:18px;line-height:24px;overflow-wrap:normal}
@media (max-width:900px){.planfacts{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Prose that opens a section starts at the section's padding, not 40px below it */
.prose>:first-child{margin-top:0}
/* Funding strips: dates stay on one line on desktop; stacked rows on phones */
.fundstrip .table td.num{min-width:7.5em}
@media (max-width:600px){
  .trackerstrip .table thead,.fundstrip .table thead{display:none}
  .trackerstrip .table,.trackerstrip .table tbody,.fundstrip .table,.fundstrip .table tbody{display:block;width:auto}
  .trackerstrip .table tr,.fundstrip .table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:10px 0;border-bottom:1px solid var(--rule)}
  .fundstrip .table tr{padding:10px 12px}
  .trackerstrip .table td,.fundstrip .table td{grid-column:1;padding:0;border:0;background:transparent !important}
  .trackerstrip .table td:last-child,.fundstrip .table td:last-child{grid-column:2;grid-row:1 / span 3;align-self:start}
  .trackerstrip .table td.num,.fundstrip .table td.num{text-align:left;white-space:normal;min-width:0;font-size:13px;line-height:18px}
  .trackerstrip .table td:nth-child(2):not(.num){font-size:13px;line-height:18px;color:var(--ink-muted)}
}
/* Phone: full-width hero and band buttons, as in the phone mockups */
@media (max-width:600px){
  .masthead .row>.btn,.vhero .row>.btn{flex:1 1 100%}
  .band.section>.wrap>div>.btn,.dark.section .btn.inverse{width:100%}
}
/* /projects/ hub: card titles read as titles, not a wall of underlined links */
.projhub .doc h3 a{color:var(--ink);text-decoration:none}
.projhub .doc h3 a:hover{color:var(--steel);text-decoration:underline}
@media (max-width:600px){.projhub .doc .btn.quiet{min-height:44px}.projhub .doc h3 a{display:inline-block;padding:9px 0;margin:-9px 0}}
/* Legacy IV page: the portrait photo was upscaled to the full column */
.prose figure.portrait img{width:auto;max-width:100%;max-height:560px;margin:0 auto}
/* end qa-home-verticals-plans */

/* qa-buying-about (how-we-build, buying, before-you-buy, chassis, about, request) */
/* Phone numbers broke at the hyphen ("574-343-" / "2150") on /terms/ and /404.html */
a[href^="tel:"]{white-space:nowrap}
/* Warranty layers + compliance tables: term column left-aligned like the rest; rows stack on phones */
.table.wtable td.term{white-space:nowrap}
@media (max-width:600px){
  .table.wtable,.prose .tablewrap table.wtable{min-width:0}
  .table.wtable thead{display:none}
  .table.wtable,.table.wtable tbody,.table.wtable tr,.table.wtable td{display:block;width:auto}
  .table.wtable tr{padding:12px 12px;border-bottom:1px solid var(--rule)}
  .table.wtable td{padding:2px 0;border:0;background:transparent !important}
  .table.wtable td[data-k]:not(:first-child)::before{content:attr(data-k) ": ";font:600 12px/18px var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}
  .table.wtable td.term{white-space:normal}
  /* Chassis comparisons: three columns fit at 390 instead of scrolling the second chassis off screen */
  .prose .tablewrap table.fitm{min-width:0;font-size:14px;line-height:20px}
  .prose table.fitm th,.prose table.fitm td{padding:8px 6px}
}
/* Print: the inspection checklist ran flush to the top of pages 2-3 and spilled three lines onto a third page */
.printonly{display:none}
@page{margin:.55in .6in}
@media print{
  .print-checklist main>.section{padding-top:0;padding-bottom:0}
  .print-checklist .prose ul.checklist{gap:4px}
  .print-checklist .prose ul.checklist li{font-size:13px;line-height:18px}
  .print-checklist .prose ul.checklist .box{margin-top:1px;width:14px;height:14px}
  .print-checklist .prose h2{margin-top:18px;margin-bottom:6px;font-size:20px;line-height:26px}
  .print-checklist .prose h3{break-after:avoid;margin-top:12px;margin-bottom:4px}
  .print-checklist .lead{font-size:14px;line-height:20px}
  .print-checklist .printonly{display:block;margin-top:16px;padding-top:8px;border-top:1px solid #999;color:#444}
}
/* end qa-buying-about */
/* qa-blog */
/* Long bare URLs in post text (e.g. https://www.ruralhealthinfo.org/topics/transportation) pushed phones 35px wide */
.prose a{overflow-wrap:anywhere}
/* Portrait WordPress photos (768x1024) rendered ~980px tall in the article column; small images were stretched to full width */
.prose figure img{width:auto;max-width:100%;height:auto;max-height:min(75vh,640px);margin:0 auto}
.prose figure figcaption{margin-top:8px;color:var(--ink-muted)}
/* Two- and three-column tables wrap on phones; only 4+ column tables keep a min-width and scroll inside .tablewrap */
.prose .tablewrap table{min-width:0}
.prose .tablewrap.wide table{min-width:560px}
/* end qa-blog */

/* photos: delivered-unit photography on the homepage, vertical heroes and /delivered/ (10/13) */
.masthead.hero{padding-top:56px;padding-bottom:56px;gap:48px}
figure.unit img{width:100%;height:auto;display:block;border:1px solid var(--rule);background:var(--paper-tint)}
figure.unit figcaption{font:400 14px/20px var(--font-sans);color:var(--ink-muted)}
figure.unit a{display:block}
.tiles{gap:24px 20px}
.tile{display:flex;flex-direction:column;gap:6px;text-decoration:none;color:var(--ink);min-width:0}
.tile .tphoto{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;border:1px solid var(--rule);background:var(--paper-tint)}
.tile .placeholder{aspect-ratio:4/3}
.tile .tname{font:600 16px/22px var(--font-sans);padding-top:6px;border-top:1px solid var(--rule)}
.tile .tcount{font:500 13px/18px var(--font-mono);color:var(--ink-muted)}
.tile:hover .tname{color:var(--steel)}
.whatwebuild .small a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.vhero figure.unit{margin:0}
.vhero figure.unit .placeholder{aspect-ratio:4/3}
.unitgrid{gap:32px 24px}
@media (max-width:900px){
  .masthead.hero{display:flex;flex-direction:column-reverse;gap:24px;padding-top:0}
  .tiles{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:20px 16px}
  .inside{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .vhero figure.unit{order:-1}
  .unitgrid{grid-template-columns:1fr !important}
}
@media (max-width:600px){
  .tile .tname{font-size:15px;line-height:20px}
  .masthead.hero .row>.btn{flex:1 1 100%}
}
/* end photos */

/* C4: credibility strip (home) */
.credstrip{padding:0 0 56px;display:flex;flex-direction:column;gap:12px}
.credlist{list-style:none;margin:0;padding:16px 0 0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px 24px;border-top:1px solid var(--rule)}
.credlist li{display:flex;flex-direction:column;gap:2px;min-width:0}
.credlist .figure{font-size:18px;line-height:24px}
.credlist .k{font:400 13px/18px var(--font-sans);color:var(--ink-muted)}
.credstrip .small a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
@media (max-width:900px){.credlist{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:600px){.credlist{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}.credlist .figure{font-size:16px;line-height:22px}}

/* qa-plans-filter */
.planfilters{align-items:flex-start}
.planfilters .fnote{display:block;margin-top:6px;font-size:12px;line-height:1.35}
.plannote{margin:0;max-width:none}
.plan .shellnote{margin:0;color:var(--ink-muted)}
/* end qa-plans-filter */

/* photos 2: rounded corners on every photo, slideshows, project cards (10/13) */
:root{--photo-radius:6px}
figure.unit img,.tile .tphoto,.photo,.slides .slide img,.tile .placeholder,.vhero .placeholder,figure.unit .placeholder{border-radius:var(--photo-radius)}
.slides{position:relative;min-width:0}
.slides .track{position:relative}
.slides .slide{margin:0;display:none}
.slides .slide.on{display:block}
.slides .slide img{width:100%;height:auto;display:block;border:1px solid var(--rule);border-radius:var(--photo-radius);background:var(--paper-tint)}
.slides .slide figcaption{padding:8px 0 0;font:400 14px/20px var(--font-sans);color:var(--ink-muted);min-height:48px}
.slides .arrow{position:absolute;top:var(--arrow-y,36%);transform:translateY(-50%);width:44px;height:44px;border:1px solid var(--rule);background:rgba(255,255,255,.92);color:var(--ink);font:400 28px/40px var(--font-serif);cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s}
.slides .arrow.prev{left:12px}.slides .arrow.next{right:12px}
.slides:hover .arrow,.slides:focus-within .arrow,.slides.touch .arrow{opacity:1}
.slides .arrow:hover{background:#fff;border-color:var(--steel);color:var(--steel)}
.slides .count{position:absolute;right:12px;top:12px;background:rgba(255,255,255,.92);border:1px solid var(--rule);border-radius:12px;padding:2px 10px;font:500 12px/18px var(--font-mono);color:var(--ink-muted)}
.hero-slides .slide figcaption{min-height:40px}
.masthead.hero .display{font-size:clamp(40px,3.9vw,56px);line-height:1.06}
.proj{display:flex;flex-direction:column;gap:10px;min-width:0}
.proj .ptitle{font:600 17px/24px var(--font-sans);color:var(--ink);padding-top:4px;border-top:1px solid var(--rule)}
.proj .pspec{font:400 14px/20px var(--font-sans);color:var(--ink-body)}
.proj .slides .slide figcaption{min-height:0;font-size:13px;line-height:18px}
.projgrid{gap:32px 24px}
@media (max-width:900px){.projgrid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}}
@media (max-width:600px){.projgrid{grid-template-columns:1fr !important}.slides .arrow{opacity:1;width:40px;height:40px}}
@media (prefers-reduced-motion:reduce){.slides .arrow{transition:none}}
/* end photos 2 */
/* video clips (10/13) */
figure.unit.vid video{width:100%;height:auto;display:block;border:1px solid var(--rule);border-radius:var(--photo-radius);background:#000}
@media (max-width:900px){.vids{grid-template-columns:1fr !important}}

/* funding-dates (Round 3): homepage grant teaser — Program · What it funds · Closes · Award expected · Status; stacked rows on phones */
.table.teaser td a.strong{color:var(--ink);text-decoration:none}
.table.teaser td a.strong:hover{color:var(--steel);text-decoration:underline}
.table.teaser td.num{white-space:nowrap}
@media (max-width:760px){
  .table.teaser thead{position:absolute;left:-9999px}
  .table.teaser,.table.teaser tbody,.table.teaser tr,.table.teaser td{display:block;width:100%}
  .table.teaser tr{padding:12px 16px;border-bottom:1px solid var(--rule)}
  .table.teaser tbody tr:nth-child(even) td{background:transparent}
  .table.teaser td{border:0;padding:2px 0;text-align:left !important;white-space:normal}
  .table.teaser td[data-label]:not(:first-child)::before{content:attr(data-label) " · ";font:600 12px/16px var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}
}
/* end funding-dates */

/* qa-buyer-tools */
/* Budget one-pager (/floor-plans/<plan>/budget/) */
.bp-page .sheetwrap{max-width:900px}
.bp-sheet{gap:24px}
.bp-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:16px;border-bottom:2px solid var(--rule-strong)}
.bp-logo img{height:52px;width:auto;display:block}
.bp-top{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:32px;align-items:center}
.bp-drawing{display:flex;flex-direction:column;gap:6px;min-width:0}
.bp-thumb{width:100%;height:auto;max-height:260px;object-fit:contain;display:block;border:1px solid var(--rule);background:#fff;padding:8px}
.bp-schematic{display:flex;align-items:center;justify-content:center;aspect-ratio:3/1}
.bp-schematic svg{width:100%;height:auto}
.bp-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:16px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.bp-facts>div{min-width:0}
.bp-facts .k,.tl-res .k{font:600 12px/16px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:4px}
.bp-facts .figure{overflow-wrap:break-word}
.bp-table td .small{margin-top:2px}
.bp-table tfoot td{border-top:2px solid var(--rule-strong);border-bottom:0;padding-top:12px}
.bp-table td.num{width:1%}
.bp-comp th{text-align:left;font:600 14px/20px var(--font-sans);color:var(--ink);padding:8px 12px 8px 0;border-bottom:1px solid var(--rule);width:30%;vertical-align:top;text-transform:none;letter-spacing:0}
.bp-comp td{padding:8px 0}
.bp-two{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:32px}
.bp-attach li a{text-decoration:none}
.bp-attach li a:hover b{text-decoration:underline}
.bp-foot{padding-top:12px;border-top:1px solid var(--rule)}
@media (max-width:700px){
  .bp-top,.bp-two{grid-template-columns:1fr;gap:16px}
  .bp-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bp-head .bp-logo{display:none}
  .bp-table td.num{width:auto}
  .bp-table tfoot td.num{white-space:normal;min-width:110px}
  .bp-table tfoot .sample{margin-left:0}
  .bp-table th:first-child,.bp-table td:first-child{display:none}
}
@media print{
  /* page margins come from the shared @page rule (qa-buying-about); fits one Letter or A4 sheet */
  .print-onepager .noprint,.print-onepager .crumbs{display:none !important}
  .print-onepager main{padding:0}
  .print-onepager .bp-page .sheetwrap{max-width:none;padding:0}
  .print-onepager .bp-sheet{border:0;padding:0;gap:8px}
  .print-onepager .stack.g8{gap:3px}
  .print-onepager .bp-head{padding-bottom:6px}
  .print-onepager .bp-head .h2{font-size:19px;line-height:24px}
  .print-onepager .bp-logo img{height:40px}
  .print-onepager .eyebrow,.print-onepager .label{font-size:9.5px;line-height:13px}
  .print-onepager .bp-thumb{max-height:108px;padding:4px}
  .print-onepager .bp-intro{display:none}
  .print-onepager .bp-top{grid-template-columns:7fr 5fr;gap:16px}
  .print-onepager .figure-lg{font-size:19px;line-height:24px}
  .print-onepager .bp-facts{grid-template-columns:repeat(4,1fr);padding:5px 0;gap:10px}
  .print-onepager .bp-facts .figure{font-size:12px;line-height:16px}
  .print-onepager .bp-facts .k{font-size:9px;line-height:12px;margin-bottom:0}
  .print-onepager .bp-two{grid-template-columns:7fr 5fr;gap:20px}
  .print-onepager .h3{font-size:13.5px;line-height:18px}
  .print-onepager .table{font-size:10.5px;line-height:13.5px}
  .print-onepager .table td,.print-onepager .table th{padding:2.5px 6px}
  .print-onepager .table th{font-size:9px;line-height:12px}
  .print-onepager .bp-table td .small{display:inline;margin-left:4px}
  .print-onepager .bp-table td .small::before{content:"· "}
  .print-onepager .bp-table tfoot td{padding-top:5px}
  .print-onepager .bp-comp th,.print-onepager .bp-comp td{padding:2.5px 6px 2.5px 0;font-size:10.5px;line-height:13.5px}
  .print-onepager .table .small,.print-onepager .small,.print-onepager .bullets{font-size:10px;line-height:13.5px}
  .print-onepager .bullets{gap:2px}
  .print-onepager .sample{font-size:8.5px;line-height:11px;padding:0 4px}
  .print-onepager .table tbody tr:nth-child(even) td{background:transparent}
  .print-onepager tr{break-inside:avoid}
  .print-onepager .printonly{display:inline}
  .print-onepager .bp-logo{display:block}
}

/* Delivery timeline (/buying/delivery-timeline/) */
.tl-out{display:flex;flex-direction:column;gap:14px;padding-top:16px;border-top:1px solid var(--rule)}
.tl-res .figure-lg{font-size:26px;line-height:32px}
.tl-warn{color:var(--red);background:var(--critical-tint);padding:10px 12px;border-radius:2px}
.tl-table td:nth-child(3){min-width:120px}
.tl-note{font-family:var(--font-sans);font-weight:400;white-space:normal;margin-top:2px}
.tl-bar{position:relative;height:8px;margin-top:10px;background:var(--paper-tint);display:flex;max-width:360px}
.tl-bar .lo{background:var(--steel);display:block;height:100%}
.tl-bar .hi{background:var(--steel-tint);border:1px solid var(--steel);border-left:0;display:block;height:100%;box-sizing:border-box}
.tl-bar.none{background:repeating-linear-gradient(90deg,var(--rule) 0 6px,transparent 6px 12px)}
.tl-table tbody tr:nth-child(even) .tl-bar{background:var(--paper-raised)}
@media (max-width:600px){.tl-table th:first-child,.tl-table td:first-child{display:none}.tl-table td:nth-child(3){min-width:96px}}
@media print{
  .print-timeline .crumbs,.print-timeline .noprint{display:none !important}
  .print-timeline .grid.c57{display:block}
  .print-timeline .tl-form{margin-bottom:16px;padding:12px 16px;gap:8px 16px;break-inside:avoid;flex-direction:row;flex-wrap:wrap}
  .print-timeline .tl-form>.eyebrow,.print-timeline .tl-out{flex-basis:100%}
  .print-timeline .tl-form .field{flex:1 1 28%;gap:2px}
  .print-timeline .tl-form .help,.print-timeline .tl-form>.small{display:none}
  .print-timeline .tl-out{flex-direction:row;flex-wrap:wrap;gap:20px;padding-top:8px}
  .print-timeline .tl-res{flex:1 1 28%}
  .print-timeline .h1{font-size:26px;line-height:32px}
  .print-timeline .lead{font-size:13px;line-height:19px}
  .print-timeline .table{font-size:11px;line-height:15px}
  .print-timeline .table td{padding:4px 8px}
  .print-timeline .table .small{font-size:10px;line-height:14px}
  .print-timeline .section{padding-top:0;padding-bottom:12px}
  .print-timeline .tl-bar .lo{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .print-timeline .tl-bar .hi{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .print-timeline .field select,.print-timeline .field input{border:0;padding:0;min-height:0;appearance:none;-webkit-appearance:none}
  .print-timeline tr{break-inside:avoid}
}

/* Spec language (/buying/spec-language/) */
.sp-toc{margin:0;padding-left:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 24px;font:500 15px/22px var(--font-sans)}
.sp-toc a{color:var(--ink);text-decoration:none;display:block;padding:6px 0;border-bottom:1px solid var(--rule)}
.sp-toc a:hover{color:var(--steel)}
.sp-sec{scroll-margin-top:16px}
.sp-text p{font:400 16px/26px var(--font-serif);color:var(--ink);margin:0 0 12px;max-width:none}
.sp-text p:last-child{margin-bottom:0}
.sp-n{font:500 13px/18px var(--font-mono);color:var(--steel);margin-right:6px}
.sp-copy{min-height:36px;padding:6px 14px;font-size:14px}
@media (max-width:600px){.sp-toc{grid-template-columns:1fr}.sp-sec .row.between{flex-direction:column;align-items:flex-start;gap:8px}}
@media print{.sp-copy{display:none !important}}

/* Case studies (/delivered/<slug>/) and the row on /delivered/ */
.cs-hero{max-width:1150px}
.cs-hero .slide figcaption{min-height:0}
.cs-nums{display:grid;grid-template-columns:1fr;gap:14px}
.cs-num{padding-bottom:12px;border-bottom:1px solid var(--rule)}
.cs-num:last-child{border-bottom:0;padding-bottom:0}
.cs-num .figure-lg{font-size:22px;line-height:28px;color:var(--steel)}
.cs-quote{margin:0;padding:20px 24px;border-left:3px solid var(--steel);background:var(--paper-raised);border-top:1px solid var(--rule);border-right:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.cs-quote p{font:400 20px/30px var(--font-serif);color:var(--ink);margin:0 0 8px}
.cs-row .proj .ptitle a{color:var(--ink);text-decoration:none}
.cs-row .proj .ptitle a:hover{color:var(--steel);text-decoration:underline}
.cs-row .proj .btn{align-self:flex-start}
.cs-row figure.unit{margin:0}
.cs-row figure.unit img{width:100%;height:auto;display:block;border:1px solid var(--rule)}
/* end qa-buyer-tools */
/* qa-tier1 */
.choice label[hidden]{display:none}
.drivers .pricehead{padding:20px 24px 16px;border-bottom:1px solid var(--rule);display:flex;flex-direction:column;gap:4px}
.drivers .pricehead .eyebrow{margin:0}
.teamgrid .teamcard .photo,.teamgrid .teamcard .placeholder{width:100%;aspect-ratio:4/3;object-fit:cover}
.teamgrid .teamcard:not(.lead){border-top:2px solid var(--steel)}
.table.warrantytable td.term{white-space:normal;font-weight:500}
.table.warrantytable td:first-child{width:12em}
.table.packet td.num{white-space:nowrap}
.table.regs td.mono{font-family:var(--font-mono);font-size:14px}
.table.regs th{width:15em}
@media (max-width:900px){.teamgrid.grid.c4{grid-template-columns:1fr 1fr}}
@media (max-width:600px){
  .teamgrid.grid.c4{grid-template-columns:1fr}
  .drivers .pricehead{padding:16px}
  .table.warrantytable td:first-child{width:auto}
  .table.packet td.num{white-space:normal;text-align:left}
}
/* end qa-tier1 */

/* 10/14: slideshow position stays available to screen readers only (Eric: no counts on screen) */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* C1 (10/15): testimonials, word for word, no photos. Home (after the credibility strip), /delivered/, matching vertical pages */
.tsm{margin:0;background:var(--paper-raised);border:1px solid var(--rule);border-left:3px solid var(--steel);padding:22px 24px;display:flex;flex-direction:column;gap:14px;min-width:0}
.tsm blockquote{margin:0;display:flex;flex-direction:column;gap:10px}
.tsm blockquote p{margin:0;font:400 15px/24px var(--font-sans);color:var(--ink-body)}
.tsm figcaption{margin-top:auto;padding-top:12px;border-top:1px solid var(--rule)}
.tsm cite{font:400 13px/19px var(--font-sans);font-style:normal;color:var(--ink-muted)}
.tsm cite .strong{font-size:14px}
.tsmgrid{align-items:stretch}
@media (max-width:600px){.tsm{padding:18px 18px}}

/* round 14 */
.footer .social{display:flex;gap:10px}
.footer .sicon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid rgba(255,255,255,.35);border-radius:50%;color:inherit;box-shadow:none}
.footer .sicon:hover{background:rgba(255,255,255,.12)}
.list a.rowlink{display:flex;justify-content:space-between;gap:12px;width:100%}
.ytfacade{position:relative;display:block;width:100%;aspect-ratio:16/9;padding:0;border:0;background:#111;cursor:pointer;overflow:hidden}
.ytfacade img{width:100%;height:100%;object-fit:cover;display:block;opacity:.92;transition:opacity .2s}
.ytfacade:hover img{opacity:1}
.ytfacade .play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:76px;height:76px;border-radius:50%;background:rgba(0,0,0,.72);display:flex;align-items:center;justify-content:center}
.ytfacade .play::after{content:"";margin-left:6px;border-style:solid;border-width:14px 0 14px 24px;border-color:transparent transparent transparent #fff}
.ytfacade iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ytfacade .len{position:absolute;right:12px;bottom:12px;background:rgba(0,0,0,.75);color:#fff;font:600 13px/18px var(--font-sans);padding:2px 8px;border-radius:2px}
.rushfacts .figure{font-size:40px;line-height:44px}
