
:root{
  --sage:#8B9D6E;--sage-deep:#5E6F47;--sage-tint:#D4DCB9;--sage-whisper:#EDF0DE;
  --cream:#F8F2E6;--stone:#E9DFC9;--sand:#C9B894;
  --clay:#B8765C;--clay-tint:#EBD0BF;
  --ink-navy:#2A3340;--ink-navy-deep:#1B2330;
  --ink:#2A2825;--slate:#5C5A55;--mist:#A19E97;--border:#E3DDD0;--border-soft:rgba(42,40,37,.08);
  --display:'Playfair Display',Georgia,serif;--body:'DM Sans',system-ui,sans-serif;
  --shadow-md:0 4px 20px rgba(42,40,37,.06);--shadow-lg:0 16px 48px rgba(42,40,37,.10);
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--body);color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{font:inherit;background:none;border:none;cursor:pointer;color:inherit}

/* ── ANNOUNCE BAR ─────────────────────────────── */
.vcm-announce{background:var(--ink-navy-deep);color:rgba(248,242,230,.85);font-size:13px;height:40px;display:flex;align-items:center;justify-content:space-between;padding:0 24px}
.vcm-announce-center{display:flex;align-items:center;gap:16px;margin:0 auto}
.vcm-announce-arrow{opacity:.5;font-size:15px;padding:4px}
.vcm-announce-arrow:hover{opacity:1}
.vcm-announce b{color:#fff;font-weight:600}
.vcm-announce a{text-decoration:underline;text-underline-offset:3px}
.vcm-announce-right{font-size:12.5px;color:rgba(248,242,230,.6);white-space:nowrap}
.vcm-announce-right b{color:rgba(248,242,230,.95);font-weight:600}

/* ── MAIN NAV BAR ─────────────────────────────── */
.nav-wrap{position:sticky;top:0;z-index:200;background:#fff;border-bottom:1px solid var(--border)}
.nav-bar{display:flex;align-items:center;height:76px;padding:0 32px;max-width:1560px;margin:0 auto;gap:28px}
.brand{display:flex;flex-direction:column;line-height:1;flex-shrink:0}
.brand-word{font-family:var(--display);font-size:24px;font-weight:700;color:var(--ink)}
.brand-word em{font-style:italic;font-weight:500;color:var(--sage-deep)}
.brand-sub{font-size:9.5px;letter-spacing:.32em;text-transform:uppercase;color:var(--mist);margin-top:4px;font-weight:600}
.vcm-links{display:flex;align-items:center;gap:4px;margin:0 auto}
.nav-item>a,.nav-item>button{display:flex;align-items:center;gap:5px;padding:28px 14px;font-size:15px;color:var(--ink);font-weight:400;letter-spacing:.01em;border-bottom:2px solid transparent;transition:color .15s;white-space:nowrap}
.nav-item>a:hover,.nav-item.open>button,.nav-item>button:hover{color:var(--sage-deep)}
.nav-item.open>button{border-bottom-color:var(--sage-deep)}
.nav-item .chev{width:11px;height:11px;transition:transform .25s;opacity:.45}
.nav-item.open .chev{transform:rotate(180deg)}
.nav-item.sale>a{color:var(--clay);font-weight:600}
.nav-utils{display:flex;align-items:center;gap:18px;flex-shrink:0}
.search-box{display:flex;align-items:center;gap:8px;border-bottom:1.5px solid var(--border);padding:6px 2px;width:170px;transition:border-color .2s}
.search-box:focus-within{border-color:var(--sage-deep)}
.search-box input{border:none;outline:none;background:none;font:inherit;font-size:13.5px;width:100%;color:var(--ink)}
.search-box input::placeholder{color:var(--mist)}
.util-icon{position:relative;display:flex;padding:6px;color:var(--ink)}
.util-icon:hover{color:var(--sage-deep)}
.cart-count{position:absolute;top:-1px;right:-3px;background:var(--clay);color:#fff;font-size:9.5px;font-weight:700;width:15px;height:15px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.quote-btn{background:var(--sage-deep);color:var(--cream);padding:11px 22px;border-radius:999px;font-size:14px;font-weight:600;white-space:nowrap;transition:background .2s}
.quote-btn:hover{background:#4A5938}
.acct-wrap{position:relative}
.acct-menu{position:absolute;top:calc(100% + 10px);right:-10px;background:#fff;border:1px solid var(--border);border-radius:6px;box-shadow:var(--shadow-lg);min-width:210px;padding:8px;opacity:0;visibility:hidden;transform:translateY(-4px);transition:all .2s;z-index:250}
.acct-wrap:hover .acct-menu,.acct-wrap.open .acct-menu{opacity:1;visibility:visible;transform:none}
.acct-menu::before{content:'';position:absolute;top:-7px;right:16px;width:12px;height:12px;background:#fff;border-left:1px solid var(--border);border-top:1px solid var(--border);transform:rotate(45deg)}
.acct-head{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mist);padding:8px 12px 6px}
.acct-menu a{display:flex;align-items:center;gap:10px;padding:9px 12px;font-size:14px;color:var(--slate);border-radius:4px}
.acct-menu a:hover{background:var(--sage-whisper);color:var(--ink)}
.acct-menu a.primary{background:var(--sage-deep);color:var(--cream);font-weight:600;justify-content:center;margin:6px 4px 2px}
.acct-menu a.primary:hover{background:#4A5938}
.acct-divider{height:1px;background:var(--border);margin:6px 8px}
.hamburger{display:none;flex-direction:column;gap:5px;padding:8px}
.hamburger span{width:22px;height:2px;background:var(--ink);border-radius:2px;transition:.3s}

/* ── MEGA PANELS ──────────────────────────────── */
.mega{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--border);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .22s,transform .22s,visibility .22s;z-index:150}
.nav-item.open .mega{opacity:1;visibility:visible;transform:none}
.mega-inner{max-width:1280px;margin:0 auto;padding:40px 32px 34px;display:grid;gap:44px}
.mega-machines .mega-inner{grid-template-columns:1fr 1fr 1.35fr}
.mega-col-label{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--sage-deep);margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--border)}
.mega-links li{margin-bottom:2px}
.mega-links a{display:flex;justify-content:space-between;align-items:center;font-size:14.5px;color:var(--slate);padding:7px 8px;border-radius:4px;transition:all .15s}
.mega-links a:hover{color:var(--ink);background:var(--sage-whisper);padding-left:12px}
.mega-links a .count{font-size:11px;color:var(--mist)}
.mega-links a.emph{color:var(--sage-deep);font-weight:600}
.mega-links a.clay{color:var(--clay);font-weight:600}
.mega-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.mega-card{display:block;background:var(--cream);border-radius:6px;overflow:hidden;border:1px solid var(--border);transition:transform .2s,box-shadow .2s}
.mega-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.mega-card-img{height:150px;background:var(--stone);display:flex;align-items:center;justify-content:center;overflow:hidden}
.mega-card-img img{max-height:130px;max-width:88%;object-fit:contain}
.mega-card-img.photo img{width:100%;height:100%;max-height:none;max-width:none;object-fit:cover}
.mega-card-body{padding:13px 15px}
.mega-card-tag{display:inline-block;font-size:9.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:3px 8px;border-radius:2px;background:var(--sage-tint);color:var(--sage-deep);margin-bottom:7px}
.mega-card-tag.clay{background:var(--clay-tint);color:#8B4A2F}
.mega-card-name{font-family:var(--display);font-size:16px;font-weight:700;color:var(--ink);line-height:1.25}
.mega-card-price{font-size:12.5px;color:var(--slate);margin-top:3px}
.mega-foot{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border);padding-top:18px;margin-top:-8px}
.mega-foot a{font-size:13.5px;font-weight:600;color:var(--sage-deep)}
.mega-foot a:hover{text-decoration:underline;text-underline-offset:3px}
.mega-foot .foot-note{font-size:12.5px;color:var(--mist)}
/* industries mega */
.mega-industries .mega-inner{grid-template-columns:repeat(4,1fr);gap:18px;max-width:1180px}
.ind-card{display:block;border-radius:6px;overflow:hidden;position:relative;aspect-ratio:16/10}
.ind-card img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.ind-card:hover img{transform:scale(1.05)}
.ind-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(27,35,48,.85),rgba(27,35,48,.05) 60%)}
.ind-label{position:absolute;bottom:0;left:0;right:0;padding:13px 15px;color:var(--cream);font-family:var(--display);font-size:16.5px;font-weight:700}
.ind-label small{display:block;font-family:var(--body);font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(248,242,230,.65);margin-bottom:3px}
.mega-industries .mega-foot{margin-top:6px}
/* simple dropdown (parts, support) */
.mega-cols3 .mega-inner{grid-template-columns:repeat(3,1fr);max-width:980px}
.mega-cols3.mega-visual .mega-inner{grid-template-columns:1fr 1fr 1fr 1.35fr;max-width:1180px}

/* overlay scrim below open mega */
.scrim{position:fixed;inset:0;top:116px;background:rgba(27,35,48,.28);opacity:0;visibility:hidden;transition:opacity .25s;z-index:100}
.scrim.on{opacity:1;visibility:visible}

/* ── MOBILE DRAWER ─────────────────────────────── */
.drawer,.drawer-scrim{display:none}

/* ═══ COMPACT DESKTOP ≤1500px ═══ */
@media(max-width:1500px){
  .nav-bar{gap:14px;padding:0 22px}
  .nav-item>a,.nav-item>button{padding:28px 8px;font-size:14px}
  .nav-utils{gap:12px}
  .search-box{width:112px}
  .quote-btn{padding:10px 16px;font-size:13.5px}
}
/* ═══ TABLET ≤1180px ═══ */
@media(max-width:1180px){
  .nav-bar{gap:16px;padding:0 20px}
  .nav-item>a,.nav-item>button{padding:28px 9px;font-size:14px}
  .search-box{width:36px;border-color:transparent}
  .search-box input{display:none}
  .quote-btn{padding:10px 16px;font-size:13px}
  /* 1024-1180px is the band where the drawer has NOT taken over but the full desktop
     nav no longer fits: measured 92px of horizontal overflow at 1024px, pushing
     .nav-utils/.quote-btn to 1116px in a 1024px viewport. Drop the quote pill here —
     the phone sits in the announce bar and Get a Quote remains in the Support mega
     and the footer. Everything else in the nav stays intact. */
  .quote-btn{display:none}
}
/* ═══ MOBILE/TABLET DRAWER MODE ≤1023px ═══ */
@media(max-width:1023px){
  /* Mega panels are desktop-only. They stay in the layout when merely opacity/visibility-hidden,
     and their multi-column grid forces a min-content width wider than a phone viewport —
     which produced ~35px of horizontal scroll on EVERY page. The drawer handles nav here. */
  .mega{display:none}
  .vcm-links,.search-box,.quote-btn,.acct-wrap.account{display:none}
  .hamburger{display:flex}
  .nav-bar{height:62px;justify-content:space-between}
  .brand{position:absolute;left:50%;transform:translateX(-50%);align-items:center}
  .vcm-announce{font-size:11.5px;padding:0 12px}
  .vcm-announce-right{display:none}
  .scrim{display:none}

  .drawer-scrim{display:block;position:fixed;inset:0;background:rgba(27,35,48,.45);opacity:0;visibility:hidden;transition:opacity .3s;z-index:300}
  .drawer-scrim.on{opacity:1;visibility:visible}
  .drawer{display:flex;flex-direction:column;position:fixed;top:0;bottom:0;left:0;width:min(400px,88vw);background:#fff;z-index:400;transform:translateX(-102%);transition:transform .32s cubic-bezier(.25,.8,.35,1);box-shadow:var(--shadow-lg)}
  .drawer.on{transform:none}
  .drawer-head{display:flex;align-items:center;justify-content:space-between;height:62px;padding:0 16px;border-bottom:1px solid var(--border);flex-shrink:0}
  .drawer-head .brand{position:static;transform:none;align-items:flex-start}
  .drawer-close{padding:8px;font-size:20px;line-height:1;border:1.5px solid var(--ink);border-radius:4px;width:34px;height:34px;display:flex;align-items:center;justify-content:center}
  .drawer-announce{background:var(--sage-whisper);color:var(--sage-deep);font-size:12.5px;font-weight:600;text-align:center;padding:11px 16px;flex-shrink:0}
  .drawer-body{position:relative;flex:1;overflow:hidden}
  .panel{position:absolute;inset:0;overflow-y:auto;background:#fff;transition:transform .3s cubic-bezier(.25,.8,.35,1);padding:6px 0 20px}
  .panel.sub{transform:translateX(102%)}
  .panel.sub.on{transform:none}
  .drawer-row{display:flex;align-items:center;justify-content:space-between;width:100%;padding:17px 22px;font-size:17.5px;font-weight:500;color:var(--ink);border-bottom:1px solid var(--border-soft);text-align:left}
  .drawer-row .chev-r{opacity:.4;font-size:18px}
  .drawer-row.sale{color:var(--clay);font-weight:600}
  .drawer-row.sub-item{font-size:15.5px;font-weight:400;color:var(--slate);padding:14px 22px}
  .drawer-row.sub-item:active{background:var(--sage-whisper)}
  .drawer-back{display:flex;align-items:center;gap:10px;width:100%;padding:16px 22px;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--sage-deep);border-bottom:1px solid var(--border)}
  .drawer-sub-label{padding:18px 22px 8px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mist)}
  .drawer-foot{flex-shrink:0;border-top:1px solid var(--border);padding:14px 16px;display:flex;gap:10px;background:#fff}
  .drawer-foot a{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;border-radius:999px;font-size:14.5px;font-weight:600}
  .drawer-foot .call{border:1.5px solid var(--ink);color:var(--ink)}
  .drawer-foot .quote{background:var(--sage-deep);color:var(--cream)}
  
  
  
}
@media(max-width:480px){
  .brand-word{font-size:20px}
  .brand-sub{font-size:8.5px;letter-spacing:.26em}
}

.nav-wrap .vcm-links{position:static;top:auto;background:transparent;border-bottom:0;height:auto;padding:0;box-shadow:none}
.nav-wrap{box-shadow:0 1px 0 rgba(42,40,37,.04)}

.mega-card-img:not(.photo) img{mix-blend-mode:multiply}
