/* Dealer site: Nightshift static site (shared look with etsprayers.com and the other Apache dealer sites)
   Tokens: #0a0807 page · #131110 panel · #1c1917 card · #241f1c hairline · #3a342f border
           #eae6dc ink · #9c9586 muted · #e11d24 red · #ff3a42 red hover/italic · #b4141a red pressed · #f4f1ea light well */

*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0;background:#0a0807;color:#eae6dc}
body{font-family:'Inter',system-ui,sans-serif;-webkit-font-smoothing:antialiased;min-width:320px}
a{color:#eae6dc;text-decoration:none;transition:color .15s ease,background-color .15s ease,border-color .15s ease}
a:hover{color:#ff3a42}
img{display:block;max-width:100%}
p{margin:0}
::selection{background:#e11d24;color:#fff}
input,select,textarea,button{font-family:'Inter',system-ui,sans-serif}

/* ---------- type ---------- */
.mono{font-family:'JetBrains Mono',monospace}
.red{color:#e11d24}
.it{font-family:'Instrument Serif',Georgia,serif;font-style:italic;text-transform:none;color:#ff3a42}
.h1{font-family:'Anton',sans-serif;font-size:64px;line-height:.98;margin:0;text-transform:uppercase}
.h1.xl{font-size:76px;letter-spacing:.01em}
.h1.xl .it{letter-spacing:0}
.h1.lg{font-size:72px}
.h1.md{font-size:56px}
.h1.huge{font-size:96px;line-height:.95}
.h2{font-family:'Anton',sans-serif;font-size:40px;margin:0;text-transform:uppercase}
.h2.s36{font-size:36px}.h2.s34{font-size:34px}.h2.s32{font-size:32px}.h2.s28{font-size:28px}
.pretty{text-wrap:pretty}
.mw520{max-width:520px}.mw560{max-width:560px}.mw600{max-width:600px}.mw640{max-width:640px}.mw720{max-width:720px}.mw900{max-width:900px}.mw960{max-width:960px}
.eyebrow{font-family:'JetBrains Mono',monospace;font-size:13px;color:#9c9586;letter-spacing:.08em;text-transform:uppercase}
.eyebrow-12{font-family:'JetBrains Mono',monospace;font-size:12px;color:#9c9586;letter-spacing:.08em;text-transform:uppercase}
.label{font-family:'JetBrains Mono',monospace;font-size:11px;color:#9c9586;text-transform:uppercase;letter-spacing:.08em}
.meta{font-family:'JetBrains Mono',monospace;font-size:11px;color:#9c9586;text-transform:uppercase;letter-spacing:.06em}
.meta-12{font-family:'JetBrains Mono',monospace;font-size:12px;color:#9c9586;text-transform:uppercase;letter-spacing:.06em}
.lead{font-size:18px;line-height:1.6;color:#9c9586}
.lead-17{font-size:17px;line-height:1.6;color:#9c9586}
.body-16{font-size:16px;line-height:1.6;color:#9c9586}
.body-15{font-size:15px;line-height:1.6;color:#9c9586}
.body-15b{font-size:15px;line-height:1.55;color:#9c9586}
.body-14{font-size:14px;line-height:1.55;color:#9c9586}
.body-14b{font-size:14px;line-height:1.6;color:#9c9586}
.note{font-size:14px;color:#9c9586}
.note-13{font-size:13px;color:#9c9586}
.phone{font-family:'JetBrains Mono',monospace;color:#eae6dc}
.phone:hover{color:#ff3a42}
.back{font-family:'JetBrains Mono',monospace;font-size:12px;color:#9c9586;letter-spacing:.08em;text-transform:uppercase}
.back:hover{color:#ff3a42}
.more{font-size:14px;font-weight:600;color:#ff3a42}
.more:hover{color:#e11d24}
.more-13{font-size:13px;font-weight:600;color:#ff3a42}
.link-muted{font-size:14px;color:#9c9586}
.link-muted:hover{color:#ff3a42}
.ulink{color:#eae6dc;border-bottom:1px solid #3a342f}
.ulink:hover{color:#ff3a42}

/* ---------- buttons / chips ---------- */
.btn,.btn-o{display:inline-block;font-weight:600;line-height:normal;cursor:pointer;text-align:center;white-space:nowrap}
.btn{background:#e11d24;color:#fff;border:0;transition:background-color .15s ease}
.btn:hover{background:#b4141a;color:#fff}
.btn-o{border:1px solid #3a342f;color:#eae6dc;background:none;transition:border-color .15s ease}
.btn-o:hover{border-color:#eae6dc;color:#eae6dc}
.btn-lg{padding:14px 26px;font-size:16px}
.btn-md{padding:12px 22px;font-size:15px}
.btn-md2{padding:12px 20px;font-size:15px}
.btn-sm{padding:10px 18px;font-size:14px}
.btn-row{display:flex;gap:12px;flex-wrap:wrap}
.chip{font-family:'JetBrains Mono',monospace;font-size:12px;color:#eae6dc;background:#1c1917;padding:8px 12px}
.chip:hover{color:#ff3a42}
.chip-sm{padding:7px 12px}
.chip-lg{font-size:13px;padding:12px 16px}
.chips{display:flex;gap:10px;flex-wrap:wrap}

/* ---------- layout ---------- */
.wrap{max-width:1240px;margin:0 auto}
.col{display:flex;flex-direction:column}
.g2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.g5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
.g6{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}
.g320{display:grid;grid-template-columns:320px minmax(0,1fr)}
.gap8{gap:8px}.gap10{gap:10px}.gap14{gap:14px}.gap24{gap:24px}.gap32{gap:32px}.gap40{gap:40px}.gap48{gap:48px}

/* anchor targets clear the sticky nav and its logo tab (~112px) */
section[id],.xcard,.line,.rs-list,.offer{scroll-margin-top:124px}

/* media wells + photo slots */
.media{position:relative;overflow:hidden}
.media>img,.media>.slot{position:absolute;inset:0;width:100%;height:100%}
.media>img{object-fit:cover}
.media.contain>img{object-fit:contain}
.slot{display:flex;align-items:center;justify-content:center;padding:12px;background:rgba(127,127,127,.08);font:500 13px/1.3 system-ui,-apple-system,sans-serif;letter-spacing:.01em;text-align:center;color:#eae6dc}
.slot::after{content:"";position:absolute;inset:0;border:1.5px dashed currentColor;opacity:.3;pointer-events:none}
.slot span{max-width:90%;opacity:.75}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:24px;height:73px;padding:0 40px;background:#0a0807;border-bottom:1px solid #241f1c;color:#eae6dc}
/* The brand link fills the bar's height and covers the bar's line until the links side. Only the logo hangs below
   the bar, on its own tab of the page color, so nothing under the tagline covers the page as it scrolls. */
.brand{display:flex;align-items:center;gap:14px;align-self:flex-start;height:73px;overflow:visible;margin-left:-40px;padding:0 20px 0 0;background:#0a0807;color:#eae6dc}
.brand-logo{display:block;box-sizing:content-box;align-self:flex-start;height:96px;width:auto;flex:none;padding:8px 0 8px 40px;background:#0a0807}
.brand:hover{color:#eae6dc}
.brand-tag{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-size:13px;line-height:1.3;color:#9c9586;padding-left:14px;border-left:1px solid #241f1c;white-space:nowrap}
.nav-desk{display:flex;align-items:center;gap:26px;font-size:14px;font-weight:500}
.nav-item{position:relative;display:flex;align-items:center;padding:12px 0;margin:-12px 0}
.nav-link{white-space:nowrap;color:#eae6dc;padding-bottom:2px;border-bottom:2px solid transparent}
.nav-link:hover{color:#ff3a42}
.nav-link.active{color:#ff3a42;border-bottom-color:#e11d24}
.nav-link .caret{color:#9c9586;font-size:11px;margin-left:5px}
.menu{display:none;position:absolute;top:100%;left:-16px;min-width:220px;background:#131110;border:1px solid #241f1c;flex-direction:column;padding:6px 0;z-index:60}
.nav-item:hover .menu,.nav-item:focus-within .menu{display:flex}
.menu a{display:flex;justify-content:space-between;gap:12px;padding:10px 16px;color:#eae6dc;font-size:14px;white-space:nowrap}
.menu a:hover{background:#1c1917;color:#ff3a42}
.menu .mark{font-family:'JetBrains Mono',monospace;font-size:12px;color:#9c9586}
.btn-nav{padding:10px 18px;font-size:14px}
.nav-toggle{display:none;align-items:center;gap:10px;background:none;border:1px solid #3a342f;color:#eae6dc;padding:10px 14px;font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;min-height:44px}
.nav-mobile{position:fixed;inset:61px 0 0 0;z-index:49;background:#0a0807;display:flex;flex-direction:column;padding:36px 20px 32px;gap:0;overflow:auto}
.nav-mobile[hidden]{display:none}
.nav-mobile .grp{display:flex;flex-direction:column;border-bottom:1px solid #241f1c}
.nav-mobile .top{display:block;padding:16px 4px;font-family:'Anton',sans-serif;font-size:32px;text-transform:uppercase;color:#eae6dc}
.nav-mobile .top.active{color:#ff3a42}
.nav-mobile .sub{display:flex;justify-content:space-between;align-items:center;padding:10px 4px 14px 20px;font-size:16px;color:#9c9586;min-height:44px}
.nav-mobile .sub .mark{font-family:'JetBrains Mono',monospace;font-size:13px}
.nav-mobile .portal{display:block;margin-top:20px;background:#e11d24;color:#fff;padding:16px 18px;font-weight:600;font-size:16px;text-align:center}
.nav-mobile .portal:hover{background:#b4141a;color:#fff}
.nav-mobile .tel{display:block;margin-top:4px;padding:12px 0;font-family:'JetBrains Mono',monospace;font-size:16px;color:#9c9586;text-align:center}
@media (max-width:1180px){.nav-desk{display:none}.nav-toggle{display:flex}.nav{height:61px;padding:0 20px}.brand{height:61px;margin-left:-20px;padding:0 16px 0 0}.brand-logo{height:72px;padding:6px 0 6px 20px}}
@media (max-width:380px){.brand-tag{display:none}}

/* ---------- footer ---------- */
.footer{background:#131110;border-top:1px solid #241f1c;padding:56px 40px 32px;color:#eae6dc}
.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px}
.footer-brand{display:flex;flex-direction:column;gap:10px}
.footer-logo{display:block;width:180px;height:auto}
.footer-brand p{font-size:14px;line-height:1.6;color:#9c9586;max-width:320px}
.footer-social{display:flex;gap:16px;font-size:13px}
.footer-social a{color:#9c9586}
.footer-social a:hover{color:#ff3a42}
.footer-col{display:flex;flex-direction:column;gap:8px}
.footer-h{font-family:'JetBrains Mono',monospace;font-size:12px;color:#9c9586;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}
.footer-col a{font-size:14px;color:#eae6dc}
.footer-col a:hover{color:#ff3a42}
.footer-bottom{margin:32px auto 0;padding-top:20px;border-top:1px solid #241f1c;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12px;color:#9c9586}
.footer-bottom a{font-family:'JetBrains Mono',monospace;color:#9c9586}
.footer-bottom a:hover{color:#ff3a42}

/* ---------- shared components ---------- */
.intro{max-width:1240px;margin:0 auto;padding:72px 40px 48px;display:flex;flex-direction:column;gap:20px}
.hero-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:end}
.stats{display:flex;gap:28px;flex-wrap:wrap}
.stat{display:flex;flex-direction:column;gap:4px}
.stat-v{font-family:'Anton',sans-serif;font-size:28px}
.store-card{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#131110;padding:18px 20px}
.store-card .l{display:flex;flex-direction:column;gap:3px;flex:1 1 0;min-width:0}
/* A store photo is a strip across the top of its card, so cards with and without one keep the same text column. */
.store-card.has-photo{flex-wrap:wrap}
.store-card .store-photo{flex:1 0 100%;aspect-ratio:3/1}
.store-card .store-photo>img{object-position:50% 40%}
.store-card .l .n{font-weight:600;font-size:16px;color:#eae6dc}
.store-card .l a.n:hover{color:#ff3a42}
.store-card .l .a{font-size:13px;color:#9c9586}
.store-card .r{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:none}
.store-card .r .p{font-family:'JetBrains Mono',monospace;font-size:15px;font-weight:500;color:#eae6dc}
.store-card .r .p:hover{color:#ff3a42}
.store-card .r .d{font-size:12px;color:#9c9586}
.store-card .r .d:hover{color:#ff3a42}
.stores-list{display:flex;flex-direction:column;gap:10px}
.map-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:24px;align-items:stretch}
dealer-map{display:block;background:#0a0807;position:relative;overflow:hidden}
dealer-map img{max-width:none}
/* Google Maps InfoWindow, restyled to Nightshift with square corners */
.gm-style .gm-style-iw-c{background:#1c1917!important;border:1px solid #241f1c!important;border-radius:0!important;padding:0!important;box-shadow:none!important;max-width:320px!important}
.gm-style .gm-style-iw-d{overflow:auto!important;max-height:none!important;padding:0!important}
.gm-style .gm-style-iw-tc::after{background:#1c1917!important;box-shadow:1px 1px 0 #241f1c!important}
.gm-style .gm-style-iw-chr{background:transparent!important;height:0!important;min-height:0!important}
.pop{font-family:'Inter',system-ui,sans-serif;font-size:13px;line-height:1.5;color:#eae6dc;padding:16px 18px}
.pop h4{font-family:'Anton',sans-serif;font-weight:400;font-size:18px;margin:0 0 4px;text-transform:uppercase;letter-spacing:.02em;color:#eae6dc}
.pop-addr{color:#9c9586}
.pop-actions{display:flex;gap:14px;margin-top:10px;font-family:'JetBrains Mono',monospace;font-size:12px}
.pop-actions a{color:#eae6dc}
.pop-actions a:hover{color:#ff3a42}
.card{display:flex;flex-direction:column;background:#131110;color:#eae6dc}
.card:hover{background:#1c1917;color:#eae6dc}
.card.up{background:#1c1917}
.card.up:hover{background:#241f1c}
.card .m43{width:100%;aspect-ratio:4/3;background:#1c1917}
.card.up .m43{background:#241f1c}
.card .cb{padding:14px 16px;display:flex;flex-direction:column;gap:3px}
.card .ct{font-family:'Anton',sans-serif;font-size:20px;letter-spacing:.02em}
.card .ct.s18{font-size:18px}
.num-rows>div{display:grid;grid-template-columns:32px minmax(0,1fr);gap:16px;padding:18px 0;border-top:1px solid #241f1c}
.num-rows.tight>div{padding:16px 0}
.num-rows .n{font-family:'JetBrains Mono',monospace;font-size:12px;color:#9c9586;padding-top:4px}
.num-rows.tight .n{padding-top:3px}
.num-rows .t{display:flex;flex-direction:column;gap:4px}
.num-rows .t b{font-weight:600;font-size:16px}
.num-rows .t span{font-size:14px;line-height:1.55;color:#9c9586}
.step{background:#131110;padding:28px 24px;display:flex;flex-direction:column;gap:10px}
.step.up{background:#1c1917}
.step .n{font-family:'JetBrains Mono',monospace;font-size:12px;color:#9c9586}
.step .t{font-family:'Anton',sans-serif;font-size:24px;text-transform:uppercase;line-height:1}
.phone-tile{background:#131110;padding:18px 20px;display:flex;flex-direction:column;gap:6px;color:#eae6dc}
.phone-tile:hover{background:#1c1917;color:#eae6dc}
.phone-tile.up{background:#1c1917}
.phone-tile.up:hover{background:#241f1c}
.phone-tile .n{font-weight:600;font-size:15px}
.phone-tile .p{font-family:'JetBrains Mono',monospace;font-size:15px;color:#ff3a42}
.phone-tile .p.muted{font-size:14px;color:#9c9586}
.cta-band{background:#131110;padding:56px 40px}
.cta-band .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.cta-band .t{font-family:'Anton',sans-serif;font-size:28px;text-transform:uppercase}
.cta-band .l{display:flex;flex-direction:column;gap:6px}
.logo-well{background:#eae6dc;padding:12px 16px;align-self:flex-start}
.logo-well img{width:160px;height:40px;object-fit:contain}
.timeline>div{display:grid;grid-template-columns:80px minmax(0,1fr);gap:16px;padding:14px 0;border-top:1px solid #241f1c}
.timeline.w72>div{grid-template-columns:72px minmax(0,1fr)}
.timeline .y{font-family:'JetBrains Mono',monospace;font-size:13px;color:#ff3a42}
.timeline .x{font-size:15px;line-height:1.5}
.tile-link{background:#131110;padding:32px;display:flex;flex-direction:column;gap:8px;color:#eae6dc}
.tile-link:hover{background:#1c1917;color:#eae6dc}
.tile-link .t{font-family:'Anton',sans-serif;font-size:28px;text-transform:uppercase}
.tile-link .more{margin-top:4px}


/* ---------- privacy / 404 ---------- */
.pv{max-width:820px;margin:0 auto;padding:72px 40px 88px;display:flex;flex-direction:column;gap:28px}
.pv-sec{scroll-margin-top:124px;display:flex;flex-direction:column;gap:8px;padding-top:24px;border-top:1px solid #241f1c}
.pv-sec h2{font-family:'Anton',sans-serif;font-size:22px;margin:0;text-transform:uppercase}
.pv-sec p{font-size:15px;line-height:1.65;color:#9c9586}
.pv-sec h2 .mono{color:#ff3a42;font-size:15px;margin-right:6px;vertical-align:3px}
.pv-sec h3{font-size:15px;font-weight:600;margin:8px 0 0}
.pv-sec ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;font-size:15px;line-height:1.65;color:#9c9586}
.pv-lede{font-size:18px;line-height:1.6;color:#c9c2b4;margin:0}
.pv-meta{display:flex;flex-wrap:wrap;gap:12px 32px;margin:0;font-size:13px}
.pv-meta dt{font-family:'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:.08em;color:#6f685c;font-size:11px}
.pv-meta dd{margin:2px 0 0}
.pv-toc ol{margin:8px 0 0;padding-left:20px;columns:2;column-gap:32px;font-size:14px;line-height:1.9}
.pv-toc a,.pv-other a,.pv-addr a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.pv-addr{font-style:normal;font-size:15px;line-height:1.7;padding:16px 20px;border:1px solid #241f1c;border-radius:6px;max-width:360px}
.pv-other{font-size:14px;color:#9c9586}
.footer-legal{display:flex;gap:20px}
.nf-wrap{min-height:100vh;display:flex;flex-direction:column}
.nf{flex:1;padding:96px 40px;max-width:1240px;margin:0 auto;display:flex;flex-direction:column;gap:24px;justify-content:center;width:100%}
.nf .btn-o{font-family:'JetBrains Mono',monospace}


/* ---------- responsive (breakpoint 900px) ---------- */
@media (max-width:900px){
  .stack{grid-template-columns:minmax(0,1fr)!important;flex-direction:column!important;align-items:stretch!important}
  .cols2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
  .cols3{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .px,.intro,.cta-band,.pv,.nf,.footer{padding-left:20px!important;padding-right:20px!important}
  .py{padding-top:56px!important;padding-bottom:56px!important}
  .h1,.h1.xl,.h1.lg{font-size:44px!important}
  .h1.md{font-size:40px!important}
  .h1.huge{font-size:56px!important}
  .h2{font-size:30px!important}
  .h300{height:300px!important}
  .h380{height:380px!important}
  .pv-toc ol{columns:1}
}

/* ---------- phone fixes from the mobile audit ---------- */
@media (max-width:900px){
  /* labels at least 12px so they stay readable */
  .label,.meta,.pv-meta dt{font-size:12px}
  /* standalone links at least 32px tall so they are easy to tap */
  .footer-col{gap:0}
  .footer-col a{display:flex;align-items:center;min-height:44px}
  .footer-social a{justify-content:center;min-width:32px}
  .footer-social a,.footer-bottom a,.back,.more,.link-muted,.phone,.store-card .p,.store-card .d,.pv-addr a{display:inline-flex;align-items:center;min-height:44px}
  /* long button labels wrap instead of running off the screen */
  .btn,.btn-o{white-space:normal}
}

/* ---------- chrome and shared additions ---------- */
.footer-social{flex-wrap:wrap}
.footer-legal{display:flex;gap:16px;flex-wrap:wrap}
.footer-apache{display:block;height:44px;width:auto}
.nav-link .mark{font-family:'JetBrains Mono',monospace;color:#9c9586;font-size:12px;margin-left:4px}
.store-card .l .h{font-size:13px;color:#9c9586}
.phones{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}

/* ---------- home ---------- */
.home-hero{max-width:1240px;margin:0 auto;padding:72px 40px 0}
.home-hero .hero-top{display:flex;justify-content:space-between;align-items:flex-start;gap:32px}
.home-hero .stack-880{display:flex;flex-direction:column;gap:20px;max-width:880px}
.home-hero .btn-row{margin-top:8px}
.home-hero .badge{width:120px;height:auto;flex:none}
.home-hero-media{margin-top:48px;height:460px}
.home-promo{max-width:1240px;margin:0 auto;padding:88px 40px 0}
.home-promo-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center;background:#131110;padding:32px}
.home-promo-media{aspect-ratio:1/1;max-height:440px}
.home-promo .col{display:flex;flex-direction:column;gap:24px}
.home-promo[hidden]{display:none}
.home-promo .h2 .it{display:block}
.promo-vals{list-style:none;margin:0;padding:0;border-top:1px solid #241f1c}
.promo-vals li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;border-bottom:1px solid #241f1c;color:#eae6dc;font-weight:500}
.promo-vals .v{color:#9c9586;font-size:13px;white-space:nowrap}
.promo-terms{font-size:12px;letter-spacing:.04em;line-height:1.5;color:#9c9586}
@media (max-width:480px){.promo-vals li{flex-direction:column;gap:4px}}
.home-loc{max-width:1240px;margin:0 auto;padding:88px 40px}
.home-loc .h2{margin-bottom:32px}
.home-loc dealer-map{height:460px}
.home-ssp{background:#131110;padding:88px 40px}
.home-ssp .h2{margin-bottom:32px}
.ssp-card{display:flex;flex-direction:column;background:#1c1917}
.ssp-card .media{height:220px}
.ssp-card .cb{padding:22px 24px;display:flex;flex-direction:column;gap:8px}
.ssp-card .ct{font-family:'Anton',sans-serif;font-size:22px;text-transform:uppercase}
.ssp-card .more{margin-top:4px}
.home-gallery{max-width:1240px;margin:0 auto;padding:88px 40px 0}
.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:200px;gap:10px}
.gallery .media{height:100%}
.gallery .g-big{grid-column:span 2;grid-row:span 2}
/* seven photos: one large, four small, then two wide so the last row fills */
.gallery .media:nth-child(n+6){grid-column:span 2}
.home-why{max-width:1240px;margin:0 auto;padding:88px 40px}
.why-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:48px;align-items:center}
.why-media{height:380px}
.home-why .col{display:flex;flex-direction:column;gap:16px}
.cta-band .cta-phones{display:block;margin-top:24px}
.cta-band .phone-tile{background:#1c1917}
.cta-band .phone-tile:hover{background:#241f1c}
@media (max-width:900px){
  .home-hero,.home-promo,.home-loc,.home-ssp,.home-gallery,.home-why{padding-left:20px!important;padding-right:20px!important}
  .home-hero{padding-top:48px}
  .home-hero .hero-top{flex-direction:column-reverse;gap:20px}
  .home-hero .badge{width:84px}
  .home-hero-media{height:300px;margin-top:32px}
  .home-promo-grid{padding:20px;gap:24px}
  .home-loc dealer-map{height:340px}
  .gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:150px}
  .why-media{height:260px}
}
/* narrow phones: store name and phone stack instead of squeezing side by side */
@media (max-width:400px){.store-card{flex-direction:column;align-items:flex-start}.store-card .r{align-items:flex-start}.store-card .store-photo{flex:none;width:100%}}

/* ---------- apache sprayers ---------- */
.ap-hero{max-width:1240px;margin:0 auto;padding:72px 40px 0;display:flex;flex-direction:column;gap:20px}
.ap-title{display:flex;justify-content:space-between;align-items:center;gap:32px}
.ap-logo{width:150px;height:auto;flex:none}
.ap-lineup{max-width:1240px;margin:0 auto;padding:72px 40px 88px}
.ap-lineup .h2{margin-bottom:32px}
.ap-row{display:grid;grid-template-columns:260px minmax(0,1fr) auto;gap:32px;align-items:center;padding:24px 0;border-top:1px solid #241f1c;color:#eae6dc}
.ap-row:hover{color:#eae6dc;background:#131110}
.ap-row .thumb{aspect-ratio:4/3;background:#131110}
.ap-row .mid{display:flex;flex-direction:column;gap:8px}
.ap-row .nm{font-family:'Anton',sans-serif;font-size:34px;letter-spacing:.02em;line-height:1}
.ap-row .more{white-space:nowrap;padding-right:16px}
.used-band{background:#131110;padding:88px 40px}
.used-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:48px;align-items:center}
.used-media{height:360px}
.used-band .col,.prec .col{display:flex;flex-direction:column;gap:16px}
.prec{max-width:1240px;margin:0 auto;padding:88px 40px}
.prec .h2{margin-bottom:32px}
.prec-lead{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center;margin-bottom:40px}
.prec-media{height:320px}
.prec-card{display:flex;flex-direction:column;background:#131110}
.prec-card .media{height:240px}
.prec-card .cb{padding:22px 24px;display:flex;flex-direction:column;gap:8px}
.prec-card .ct,.partner-card .ct{font-family:'Anton',sans-serif;font-size:24px;text-transform:uppercase}

/* ---------- parts and service ---------- */
.sv-photo{max-width:1240px;margin:0 auto;padding:0 40px}
.sv-media{height:440px}
.sv-contact{max-width:1240px;margin:0 auto;padding:72px 40px}
.sv-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:48px;align-items:center}
.sv-contact .col{display:flex;flex-direction:column;gap:14px}
.sv-partners{background:#131110;padding:88px 40px}
.sv-partners .h2{max-width:1240px;margin:0 auto 32px}
.sv-partners .g2{max-width:1240px;margin:0 auto}
.partner-card{display:flex;flex-direction:column;gap:10px;background:#1c1917;padding:28px}
.partner-card .logo-well{margin-bottom:8px}
@media (max-width:900px){
  .ap-hero,.ap-lineup,.used-band,.prec,.sv-photo,.sv-contact,.sv-partners{padding-left:20px!important;padding-right:20px!important}
  .ap-hero{padding-top:48px}
  .ap-logo{width:84px}
  .ap-row{grid-template-columns:120px minmax(0,1fr) auto;gap:16px}
  .ap-row .nm{font-size:26px}
  .used-media,.prec-media{height:240px}
  .sv-media{height:260px}
  .partner-card{padding:20px}
}

/* ---------- events ---------- */
.ev-photo{max-width:1240px;margin:0 auto;padding:0 40px}
.ev-media{height:380px}
.ev-sec{max-width:1240px;margin:0 auto;padding:72px 40px 88px}
.ev-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.ev{display:flex;justify-content:space-between;align-items:center;gap:24px;background:#131110;padding:20px 24px}
.ev[hidden],.ev-list[hidden],.ev-empty[hidden]{display:none}
.ev-l{display:flex;flex-direction:column;gap:4px}
.ev-n{font-weight:600;font-size:17px;color:#eae6dc}
.ev-c{font-size:14px;color:#9c9586}
.ev-d{font-family:'JetBrains Mono',monospace;font-size:14px;color:#ff3a42;white-space:nowrap}
.ev-empty{display:flex;flex-direction:column;gap:20px}
@media (max-width:900px){
  .ev-photo,.ev-sec{padding-left:20px!important;padding-right:20px!important}
  .ev-media{height:240px}
}
@media (max-width:560px){
  .ev{flex-direction:column;align-items:flex-start;gap:8px}
  .ev-d{white-space:normal}
}

/* ---------- contact ---------- */
.ct-stores{max-width:1240px;margin:0 auto;padding:0 40px 88px}
.ct-stores dealer-map{height:600px}
.ct-quote{background:#131110;padding:72px 40px}
.ct-quote .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:48px}
.ct-quote .l{display:flex;flex-direction:column;gap:14px}
.qform{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
.qform[hidden]{display:none}
.qform input,.qform select,.qform textarea{width:100%;background:#0a0807;border:1px solid #241f1c;color:#eae6dc;padding:14px 16px;font-size:16px;min-height:48px;outline:none;border-radius:0;-webkit-appearance:none;appearance:none}
.qform select{background-image:linear-gradient(45deg,transparent 50%,#9c9586 50%),linear-gradient(135deg,#9c9586 50%,transparent 50%);background-position:calc(100% - 22px) 50%,calc(100% - 16px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:40px}
.qform textarea{resize:vertical;min-height:0}
.qform input:focus,.qform select:focus,.qform textarea:focus{border-color:#e11d24}
.qform input::placeholder,.qform textarea::placeholder{color:#9c9586;opacity:1}
.qform .span2{grid-column:span 2}
.qform button{grid-column:span 2;justify-self:start;min-height:48px}
.qsent{background:#0a0807;padding:32px;display:flex;flex-direction:column;gap:10px;align-self:start}
.qsent[hidden]{display:none}
.qsent .t{font-family:'Anton',sans-serif;font-size:28px;text-transform:uppercase}
.ct-team{max-width:1240px;margin:0 auto;padding:88px 40px;display:flex;flex-direction:column;gap:32px}
.qform .note{grid-column:span 2}
.qform .note a{color:#eae6dc;text-decoration:underline;text-underline-offset:3px}
.qsent .phones{margin-top:8px}
.ct-team{max-width:1240px;margin:0 auto;padding:88px 40px 48px;display:flex;flex-direction:column;gap:32px}
.tm-group{display:flex;flex-direction:column;gap:8px}
.tm-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:16px;align-items:center;background:#131110;padding:16px 20px}
.tm-n{font-weight:600;font-size:16px}
.tm-t{font-size:14px;color:#9c9586}
.tm-p{font-family:'JetBrains Mono',monospace;font-size:15px;white-space:nowrap}
.ct-social{max-width:1240px;margin:0 auto;padding:0 40px 88px;display:flex;flex-direction:column;gap:12px}
.social{display:flex;flex-wrap:wrap;gap:10px}
.social a{border:1px solid #3a342f;padding:12px 18px;font-size:14px;min-height:44px;display:inline-flex;align-items:center}
.social a:hover{border-color:#eae6dc}
@media (max-width:900px){
  .ct-stores,.ct-quote,.ct-team,.ct-social{padding-left:20px!important;padding-right:20px!important}
  .ct-stores dealer-map{height:340px}
  .qform .span2,.qform button,.qform .note{grid-column:auto}
  .tm-row{grid-template-columns:minmax(0,1fr);gap:4px}
  .tm-p{display:inline-flex;align-items:center;min-height:44px}
}

/* ---------- review fixes ---------- */
/* phone and Directions sit 44px tall and apart, so one is not tapped for the other */
@media (max-width:900px){.store-card .r{gap:8px}}

/* ---------- new cab page, and its section on the Home and Apache Sprayers pages ---------- */
.cab-hero{max-width:1240px;margin:0 auto;padding:72px 40px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:56px;align-items:center}
.cab-hero .col,.cab-sec .col,.cab-tease .col{display:flex;flex-direction:column;gap:16px}
.cab-hero-media{aspect-ratio:3/2}
.cab-stats{background:#131110;padding:56px 40px}
.cab-stats .head{text-align:center;margin-bottom:30px}
.cab-stats strong{color:#eae6dc;font-weight:500}
.cab-stat{text-align:center;padding:30px 16px;background:#0a0807}
.cab-stat .n{display:block;font-family:'Anton',sans-serif;font-size:88px;line-height:1;margin-bottom:14px}
.cab-stat .n em{font-style:normal;color:#ff3a42}
.cab-sec{max-width:1240px;margin:0 auto;padding:88px 40px}
.cab-sec strong{color:#eae6dc;font-weight:600}
.cab-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:56px;align-items:center}
.cab-seat-media{aspect-ratio:4/3}
.cab-list{list-style:none;margin:10px 0 0;padding:24px 0 0;border-top:1px solid #241f1c;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 28px}
.cab-list.wide{grid-template-columns:minmax(0,1fr)}
.cab-list li{position:relative;padding-left:26px;font-size:15px;line-height:1.5;color:#9c9586}
.cab-list li::before{content:"\2713";position:absolute;left:0;top:0;color:#ff3a42;font-family:'JetBrains Mono',monospace}
.cab-features{background:#131110;padding:88px 40px}
.cab-features .h2{margin:16px 0 32px}
.cab-features .ssp-card .media{height:auto;aspect-ratio:3/2}
.cab-hopper{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}
.cab-hopper-media{aspect-ratio:3/4;width:100%;max-width:460px;justify-self:end}
.cab-tease{max-width:1240px;margin:0 auto}
.home-cab{padding:88px 40px 0}
.ap-cab{padding:0 40px 88px}
.cab-tease-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:40px;align-items:center;background:#131110;padding:32px}
.cab-tease .col{gap:20px}
.cab-tease .h2 .it{display:block}
.cab-tease .btn-row{margin-top:4px}
.cab-tease-media{aspect-ratio:3/2}
.cab-cap{position:absolute;left:12px;bottom:12px;background:rgba(10,8,7,.8);border:1px solid #3a342f;padding:6px 10px;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#eae6dc}
/* a photo that enlarges */
.zoom{display:block;width:100%;padding:0;border:0;background:#1c1917;color:inherit;cursor:zoom-in}
.zoom:focus-visible{outline:2px solid #ff3a42;outline-offset:3px}
.zoom img{transition:transform .5s ease}
.zoom:hover img{transform:scale(1.04)}
/* photo viewer */
.viewer{position:fixed;inset:0;z-index:1000;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:rgba(10,8,7,.96);touch-action:pan-y pinch-zoom}
.viewer[hidden]{display:none}
.viewer-top{display:flex;align-items:center;justify-content:space-between;padding:16px 24px}
.viewer-n{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.08em;color:#9c9586}
.viewer-x,.viewer-btn{display:grid;place-items:center;padding:0;background:rgba(10,8,7,.72);border:1px solid #3a342f;color:#eae6dc;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}
.viewer-x{width:44px;height:44px;font-size:26px;line-height:1}
.viewer-btn{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px}
.viewer-btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.viewer-x:hover,.viewer-x:focus-visible,.viewer-btn:hover,.viewer-btn:focus-visible{background:#e11d24;border-color:#e11d24;color:#fff;outline:none}
.viewer-prev{left:16px}
.viewer-next{right:16px}
.viewer-stage{position:relative;display:grid;place-items:center;min-height:0;padding:0 84px}
.viewer-stage img{max-width:100%;max-height:calc(100vh - 160px);width:auto;height:auto;object-fit:contain;opacity:0;transition:opacity .2s ease}
.viewer-stage img.in{opacity:1}
.viewer-cap{padding:14px 24px 20px;text-align:center;font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#eae6dc}
@media (prefers-reduced-motion:reduce){.zoom img,.viewer-stage img{transition:none}.zoom:hover img{transform:none}}
@media (max-width:900px){
  .cab-hero,.cab-stats,.cab-sec,.cab-features,.home-cab,.ap-cab{padding-left:20px!important;padding-right:20px!important}
  .cab-hero{padding-top:48px;padding-bottom:48px;gap:32px}
  .cab-grid{gap:32px}
  .cab-stat{padding:24px 16px}
  .cab-stat .n{font-size:64px}
  .cab-hopper-media{order:2;max-width:none;justify-self:stretch}
  .home-cab{padding-top:56px}
  .ap-cab{padding-bottom:56px}
  .cab-tease-grid{padding:20px;gap:24px}
  .viewer-stage{padding:0 8px}
  .viewer-btn{width:44px;height:44px}
  .viewer-prev{left:8px}
  .viewer-next{right:8px}
}
@media (max-width:560px){.cab-list{grid-template-columns:minmax(0,1fr)}}
