/* Header + mega-menu */
.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid #DCE2E8;transition:box-shadow .2s}
.site-header.scrolled{box-shadow:0 6px 18px rgba(4,28,47,.10)}
html{scroll-padding-top:calc(var(--hdr,82px) + 12px)}
.site-header .bar{max-width:1240px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px 32px}
.site-header .logo img{height:48px;width:auto;display:block}
.site-header .logo img[hidden]{display:none}
.nav-list{display:flex;align-items:center;gap:4px 26px;margin:0;padding:0;list-style:none;font-weight:600;font-size:16px}
.nav-list a,.nav-list button{color:#13202B;text-decoration:none;font:inherit;background:none;border:0;padding:10px 0;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.nav-list button[aria-expanded="true"],.nav-list a:hover,.nav-list button:hover{color:#004B85}
.nav-list .chev{width:12px;height:12px;transition:transform .15s}
.nav-list button[aria-expanded="true"] .chev{transform:rotate(180deg)}
.nav-list .cta{background:#B9520B;color:#fff;padding:12px 20px;border-radius:4px}
.nav-list .cta:hover{color:#fff;background:#9C4409}
.nav-burger{display:none;background:none;border:1.5px solid #C9D3DC;border-radius:5px;width:46px;height:46px;cursor:pointer;color:#13202B}

.mega{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid #DCE2E8;box-shadow:0 24px 40px rgba(4,28,47,.12)}
.mega .inner{max-width:1240px;margin:0 auto;padding:36px 24px 44px;display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:28px 36px}
.mega h2{margin:0 0 14px;padding-bottom:10px;border-bottom:1px solid #DCE2E8;font:600 13px/1.2 Barlow,system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#4A5763}
.mega ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.mega a{display:block;padding:7px 0;color:#13202B;text-decoration:none;font-size:18px;line-height:1.3}
.mega a:hover{color:#004B85}
.mega a small{display:block;font-size:14px;color:#4A5763;margin-top:2px}
.mega .feature{background:#F3F5F7;border-radius:6px;padding:22px}
.mega .feature p{margin:0 0 12px;color:#2C3843;font-size:16px}
.mega .feature a.btn{display:inline-block;background:#B9520B;color:#fff;font-weight:600;font-size:16px;padding:11px 18px;border-radius:4px}

.menu-scrim{position:fixed;inset:0;z-index:40;background:rgba(7,43,71,.18);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}

@media (max-width:980px){
  .nav-burger{display:inline-flex;align-items:center;justify-content:center}
  .site-header nav{display:none;width:100%}
  .site-header.nav-open nav{display:block}
  .site-header .bar{flex-wrap:wrap;column-gap:16px}
  .site-header .logo img{height:40px}
  .nav-list{flex-direction:column;align-items:stretch;gap:0;border-top:1px solid #DCE2E8;margin-top:8px}
  .nav-list>li{border-bottom:1px solid #DCE2E8}
  .nav-list a,.nav-list button{width:100%;justify-content:space-between;padding:14px 0}
  .nav-list .cta{justify-content:center;margin:12px 0}
  .mega{position:static;box-shadow:none;border:0}
  .mega .inner{padding:4px 0 20px;gap:18px}
  .menu-scrim{display:none}
  .site-header.nav-open{max-height:100vh;max-height:100dvh;overflow-y:auto;overscroll-behavior:contain}
}
@media (prefers-reduced-motion:reduce){.nav-list .chev{transition:none}}

/* Breadcrumbs */
.crumbs{font-size:14px;color:#4A5763}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 0}
.crumbs li{display:inline-flex;align-items:center}
.crumbs li+li::before{content:"/";margin:0 8px;color:#8A99A8}
.crumbs a{color:#004B85;text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.crumbs [aria-current]{color:#2C3843;font-weight:600}
.mega .feature h2{border-bottom-color:#C9D3DC}
.mega .feature a.more{display:inline-block;margin-top:10px;color:#B9520B;font-weight:600;font-size:16px}
.mega .feature a.more:hover{color:#9C4409}
@media (min-width:981px) and (max-width:1300px){
  .mega .feature{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:flex-end;gap:4px 40px}
  .mega .feature h2{width:100%}
  .mega .feature ul{flex-direction:row;flex-wrap:wrap;gap:4px 40px}
  .mega .feature a.more{margin:0 0 7px}
}

/* Expandable series lists inside the mega-menu */
.mega .has-sub .row{display:flex;align-items:flex-start;gap:6px}
.mega .has-sub .row>a{flex:1 1 auto;min-width:0}
.mega .sub-toggle{flex:0 0 auto;width:36px;height:36px;margin-top:0;border:0;border-radius:5px;background:none;color:#13202B;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.mega .sub-toggle:hover{color:#004B85}
.mega .sub-toggle svg{width:12px;height:12px;transition:transform .15s}
.mega .sub-toggle[aria-expanded="true"]{color:#004B85}
.mega .sub-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.mega ul.sub{margin:2px 0 10px;padding:4px 0 4px 14px;border-left:2px solid #004B85;gap:0}
.mega ul.sub a{font-size:16px;padding:6px 0;display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.mega ul.sub a small{display:inline;margin:0;font-size:13px;white-space:nowrap}
.mega ul.sub li.all a{color:#004B85;font-weight:600;font-size:15px}
@media (prefers-reduced-motion:reduce){.mega .sub-toggle svg{transition:none}}
.mega ul.sub[hidden]{display:none}
.mega .sub-toggle:focus-visible{outline:2px solid #004B85;outline-offset:2px}
.mega .pickrow{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px}
.mega .pickrow>a{display:inline-block;white-space:nowrap;background:#B9520B;color:#fff;font-weight:600;font-size:16px;line-height:1.2;padding:11px 18px;border-radius:4px;text-decoration:none}
.mega .pickrow>a:hover{background:#9C4409;color:#fff}
.mega .pickrow>small{display:block;font-size:14px;color:#4A5763}
.mega li.pick{margin-top:8px;padding-top:8px;border-top:1px dashed #DCE2E8}
.mega li.pick{text-align:left}
.mega li.pick>a{display:inline-block;white-space:nowrap;background:#B9520B;color:#fff;font-weight:600;font-size:16px;line-height:1.2;padding:11px 18px;border-radius:4px}
.mega li.pick>a:hover{background:#9C4409;color:#fff}
.mega li.pick>small{display:block;font-size:14px;color:#4A5763;margin-top:8px}
.mega .sub-toggle.wide{width:100%;height:auto;margin:0;padding:7px 0;justify-content:space-between;align-items:flex-start;gap:10px;text-align:left;font:inherit;font-size:18px;line-height:1.3;color:#13202B;border-radius:0}
.mega .sub-toggle.wide .lbl small{display:block;font-size:14px;color:#4A5763;margin-top:2px}
.mega .sub-toggle.wide svg{margin-top:6px;flex:0 0 auto}
.mega .sub-toggle.wide:hover,.mega .sub-toggle.wide[aria-expanded="true"]{background:none;color:#004B85}
.mega .sub-toggle.wide[aria-expanded="true"] .lbl small{color:#4A5763}

/* Two-row header (Eric approved 2026-10-27, class "two" in tools/header.html). Row 1 = logo lettering + quote button,
   row 2 = menu + tagline. Lettering and tagline are cut from allied-logo-white.png (recolored, not typeset). In the full
   state the logo's two stripes are drawn in CSS end to end (no image/CSS join): geometry from the artwork at scale
   34/87 - stripes 5 px tall, tops 36 and 46 px below the lettering top, left ends slanted like the logo.
   Compact state (scrolled) uses allied-name.png, the lettering with its own short stripes. */
@media (min-width:1180px){
  .site-header.two .logo>img:first-child{display:none}
  .site-header.two .bar{display:block;position:relative;padding:12px 24px 6px}
  .site-header.two .logo .logo-letters{display:block;height:34px;width:auto;margin-bottom:21px}
  .site-header.two .bar::before,.site-header.two .bar::after{content:"";position:absolute;pointer-events:none;height:5px;background:#004B85}
  .site-header.two .bar::before{left:calc(24px + 3.9px);right:24px;top:calc(12px + 36px);clip-path:polygon(1.6px 0,100% 0,calc(100% - 1.6px) 100%,0 100%)}
  .site-header.two .bar::after{left:calc(24px + 0.4px);right:calc(24px + 3.5px);top:calc(12px + 46px);clip-path:polygon(1.6px 0,100% 0,calc(100% - 1.6px) 100%,0 100%)}
  .site-header.two .logo .logo-tag{display:block;position:absolute;right:30px;top:calc(12px + 57px);height:20px;width:auto}
  .site-header.two nav{margin-top:8px}
  .site-header.two .nav-list>li:last-child{position:absolute;right:24px;top:10px}
  .site-header.two .nav-list .cta{padding:4px 18px;line-height:24px}
  .site-header.two .nav-list>li>a:not(.cta),.site-header.two .nav-list>li>button{padding:8px 0}
  /* compact once scrolled */
  .site-header.two.compact .bar{display:flex;align-items:center;padding:8px 24px}
  .site-header.two.compact .bar::before,.site-header.two.compact .bar::after,
  .site-header.two.compact .logo .logo-tag,.site-header.two.compact .logo .logo-letters{display:none}
  .site-header.two.compact .logo .logo-name{display:block;height:38px;width:auto}
  .site-header.two.compact nav{margin:0 0 0 auto}
  .site-header.two.compact .nav-list>li:last-child{position:static}
  .site-header.two.compact .nav-list .cta{padding:10px 20px}
}

/* Mega-menu preview card (Eric 2026-10-27, after J.D. Neuhaus): hover/focus a menu item -> drawing or photo, capacity,
   one-line description. Data: /assets/menu-preview.json (tools/menu_preview.py). Wide screens only. */
.mega-pv{display:none}
@media (min-width:1180px){
  .mega .inner.has-pv{grid-template-columns:repeat(4,minmax(0,1fr)) 260px;column-gap:28px}
  .mega .inner.has-pv>.pickrow{grid-column:1/2}
  .mega .inner.has-pv>.feature{grid-column:2/5;display:flex;flex-wrap:wrap;align-items:flex-end;gap:4px 40px}
  .mega .inner.has-pv>.feature h2{width:100%}
  .mega .inner.has-pv>.feature ul{flex-direction:row;flex-wrap:wrap;gap:4px 40px}
  .mega .inner.has-pv>.feature p{margin:0 0 8px}
  .mega-pv{display:block;grid-column:5;grid-row:1/span 2;align-self:start}
  .pv-card{display:block;border:1px solid #DCE2E8;border-radius:6px;overflow:hidden;background:#fff;text-decoration:none;color:#13202B;transition:opacity .12s}
  .pv-card.fade{opacity:.35}
  .pv-img{display:flex;align-items:center;justify-content:center;aspect-ratio:52/37.5;background:#fff;border-bottom:3px solid #004B85;overflow:hidden}
  .pv-img img{width:100%;height:100%;object-fit:cover;display:block}
  .pv-card{min-height:500px;box-sizing:border-box}
  .pv-img.product img{object-fit:contain;object-position:center;padding:8px 10px;box-sizing:border-box}
  .pv-img.app{padding:12px 12px 12px;box-sizing:border-box}
  .pv-img.app img{border-radius:8px}
  .pv-img.drawing img{object-fit:contain;padding:6px;box-sizing:border-box}
  .pv-img.none{background:#072B47;color:#fff;font:700 34px/1 'Barlow Condensed',sans-serif;flex-direction:column;gap:6px}
  .pv-img.none small{font:600 12px/1 Barlow,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#9FC4E4}
  .pv-img.bp{padding:12px;box-sizing:border-box}
  .pv-img.bp img{object-fit:cover;border-radius:8px}
  .pv-bd{display:block;padding:14px 16px 16px}
  .pv-k{display:block;font:600 12px/1.2 Barlow,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#B9520B;margin-bottom:6px}
  .pv-t{display:block;font:700 24px/1.1 'Barlow Condensed',sans-serif}
  .pv-c{display:inline-block;margin-top:6px;font-weight:600;font-size:14px;color:#004B85;background:#EAF1F8;border-radius:3px;padding:2px 8px}
  .pv-d{display:block;margin-top:8px;font-size:15px;line-height:1.4;color:#2C3843}
  .pv-go{display:block;margin-top:10px;font-weight:600;font-size:15px;color:#004B85}
}

/* Top utility bar (Eric 2026-10-29): links left (Parts & Service, Resources, About), phone + email right. tools/topbar.html */
.topbar{background:#072B47;color:#DCE6EF;font-size:14px}
.topbar .tb-in{max-width:1240px;margin:0 auto;padding:8px 24px;display:flex;flex-wrap:wrap;gap:6px 28px;justify-content:space-between;align-items:center}
.topbar .tb-links,.topbar .tb-contact{display:flex;flex-wrap:wrap;gap:6px 24px}
.topbar a{color:#DCE6EF;text-decoration:none}
.topbar a:hover{color:#fff;text-decoration:underline}
