/* HE&T After-Hours Workshop */
@font-face{font-family:"Archivo";src:url(../fonts/archivo-expanded.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap}
@font-face{font-family:"Big Shoulders Stencil Display";src:url(../fonts/big-shoulders-stencil.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url(../fonts/hanken-grotesk.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url(../fonts/hanken-grotesk-italic.woff2) format("woff2");font-weight:100 900;font-style:italic;font-display:swap}
@font-face{font-family:"Martian Mono";src:url(../fonts/martian-mono.woff2) format("woff2");font-weight:100 800;font-stretch:75% 112.5%;font-display:swap}

:root{
  --oil:#111214;--gun:#2a2c30;--gun-2:#1c1d20;--steel:#8b8e93;--pol:#d4d6d9;--copper:#b8642c;--burnt:#7a3e1c;--plum:#7b3a5a;--cream:#f2eadf;
  --ink:var(--cream);--line:rgba(139,142,147,.28);
  --f-display:"Archivo","Arial Narrow",sans-serif;--f-stencil:"Big Shoulders Stencil Display","Archivo",sans-serif;--f-body:"Hanken Grotesk",ui-sans-serif,sans-serif;--f-mono:"Martian Mono",ui-monospace,monospace;
  --r-sm:2px;--r-md:4px;--wrap:1240px;--gut:clamp(16px,4vw,32px);
  --s-xs:6px;--s-sm:12px;--s-md:24px;--s-lg:48px;--s-xl:clamp(56px,9vw,96px);
  --brushed:repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0 1px,transparent 1px 3px),linear-gradient(180deg,#34363b,#25272b);
  --diamond:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28'%3E%3Cg fill='%23fff' fill-opacity='.028'%3E%3Crect x='5' y='12' width='14' height='4' rx='2' transform='rotate(45 12 14)'/%3E%3C/g%3E%3C/svg%3E");
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:88px;overflow-x:clip}
body{margin:0;background:var(--oil);color:var(--ink);font:400 1rem/1.62 var(--f-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;pointer-events:none;background:var(--diamond);z-index:0}
:where(h1,h2,h3,h4,p,ul,ol,dl,figure,blockquote){margin:0}
:where(ul,ol){padding:0;list-style:none}
img,svg{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration-color:rgba(184,100,44,.6);text-underline-offset:3px}
a:hover{color:#fff}
:focus-visible{outline:2px solid var(--copper);outline-offset:3px}
button,input,select,textarea{font:inherit;color:inherit}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:var(--copper);color:#fff;padding:8px 14px;z-index:100}.skip:focus{left:8px}
.wrap{width:min(100% - 2*var(--gut),var(--wrap));margin-inline:auto;position:relative}
.main{position:relative;z-index:1}

/* Type */
.sec__h,.phead__h,.hero__h,.pdp__h1,.pdp__h2,.door__name,.ftr__name{font-family:var(--f-display);font-stretch:125%;font-weight:850;text-transform:uppercase;letter-spacing:.01em;line-height:1.04;color:var(--pol)}
.sec__h{font-size:clamp(1.55rem,3.6vw,2.6rem)}
.sec__h--sm{font-size:clamp(1.15rem,2.4vw,1.5rem);margin-bottom:var(--s-md)}
.sec__lede{max-width:62ch;color:#cfc7bc;margin-top:var(--s-sm)}
.bay{display:inline-flex;align-items:baseline;gap:.35em;font-family:var(--f-stencil);font-weight:800;letter-spacing:.08em;color:var(--copper);font-size:1rem;margin-bottom:var(--s-sm);text-transform:uppercase}
.bay__n{font-size:1.9em;line-height:.8}
.bay__l{color:var(--steel);font-size:.85em}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:48px;padding:.75em 1.3em;border:0;border-radius:var(--r-sm);font:800 .82rem/1.1 var(--f-display);font-stretch:118%;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .2s,transform .1s,box-shadow .2s}
.btn:active{transform:translateY(1px)}
.btn--copper{background:var(--copper);color:#fff;box-shadow:inset 0 -3px 0 var(--burnt)}
.btn--copper:hover{background:var(--burnt);color:#fff}
.btn--wa{background:#1f2a22;color:#e9fbe9;box-shadow:inset 0 0 0 1px #2e6b3f}
.btn--wa .ico{color:#4fd06e}
.btn--wa:hover{background:#25402c;color:#fff}
.btn--ghost{background:transparent;color:var(--pol);box-shadow:inset 0 0 0 1px var(--steel)}
.btn--ghost:hover{box-shadow:inset 0 0 0 1px var(--copper);color:#fff}
.btn--sm{min-height:40px;padding:.55em .9em}
.btn--block{width:100%}
.iconbtn{display:inline-grid;place-items:center;width:44px;height:44px;border:0;background:transparent;color:var(--pol);border-radius:var(--r-sm);cursor:pointer}
.iconbtn:hover{background:var(--gun)}
.link-more{display:inline-flex;align-items:center;gap:.4em;font:800 .78rem var(--f-display);font-stretch:115%;letter-spacing:.07em;text-transform:uppercase;color:var(--copper);text-decoration:none}
.link-more:hover{color:#e4955e}
.link-wa{display:inline-flex;align-items:center;gap:.45em;color:#cfeedd;text-decoration:none;font-weight:600}
.link-wa .ico{color:#4fd06e}

/* Header */
.hdr{position:sticky;top:0;z-index:50;background:rgba(17,18,20,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.hdr__in{display:flex;align-items:center;gap:var(--s-sm);min-height:64px}
.hdr__logo img{width:150px;height:auto}
.hdr__tools{margin-left:auto;display:flex;align-items:center;gap:6px}
.hdr__wa span{display:none}
.nav{position:fixed;inset:64px 0 0;background:var(--oil);padding:var(--s-md) var(--gut);transform:translateX(100%);visibility:hidden;transition:transform .3s ease,visibility 0s .3s;overflow:auto;border-top:1px solid var(--line)}
.nav.is-open{transform:none;visibility:visible;transition:transform .3s ease}
.nav__list>li>a{display:block;padding:14px 0;border-bottom:1px solid var(--line);font:800 1.05rem var(--f-display);font-stretch:118%;text-transform:uppercase;text-decoration:none;color:var(--pol)}
.nav__list .sub-menu a{display:block;padding:8px 0 8px 14px;color:#cfc7bc;text-decoration:none}
.nav__mobile-cta{margin-top:var(--s-md);display:grid;gap:12px}
.nav__mail{color:var(--steel);font-size:.9rem}
.hdr__search{border-top:1px solid var(--line);padding:12px 0;background:var(--gun-2)}
.search{display:flex;gap:8px}
.search input{flex:1;min-width:0;min-height:48px;padding:0 14px;background:#0c0d0e;border:1px solid var(--steel);border-radius:var(--r-sm);font-family:var(--f-mono);font-size:.82rem}
.search input::placeholder{color:#7d8085}
.search .btn span{display:none}
@media (min-width:600px){.search .btn span{display:inline}.hdr__wa span{display:inline}.hdr__logo img{width:180px}}
@media (min-width:1080px){
  .hdr__in{min-height:76px}
  .hdr__logo img{width:200px}
  .nav{position:static;transform:none;visibility:visible;background:none;padding:0;border:0;overflow:visible;margin-left:var(--s-md)}
  .nav__list{display:flex;gap:4px}
  .nav__list>li{position:relative}
  .nav__list>li>a{border:0;padding:10px 12px;font-size:.74rem;letter-spacing:.06em;color:#d9d3c9}
  .nav__list>li>a:hover,.nav__list>li.current-menu-item>a{color:#fff;box-shadow:inset 0 -2px 0 var(--copper)}
  .nav__list .sub-menu{position:absolute;left:0;top:100%;min-width:240px;background:var(--gun-2);border:1px solid var(--line);padding:8px;display:none}
  .nav__list li:hover>.sub-menu,.nav__list li:focus-within>.sub-menu{display:block}
  .nav__mobile-cta,.hdr__burger{display:none}
  html{scroll-padding-top:100px}
}

/* Hero */
.hero{position:relative;min-height:min(86svh,780px);display:flex;align-items:flex-end;overflow:hidden;isolation:isolate}
.hero__scene{position:absolute;inset:0;z-index:-1}
.hero__scene .scene{width:100%;height:100%}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(17,18,20,.15) 0%,rgba(17,18,20,.45) 45%,rgba(17,18,20,.95) 100%)}
.hero__in{padding-block:calc(var(--s-xl) * 1.6) var(--s-lg)}
.hero__h{font-size:clamp(2.5rem,9.5vw,6rem);color:#f4f1ec;text-shadow:0 2px 24px rgba(0,0,0,.6);max-width:12ch}
.hero__sub{max-width:44ch;margin:var(--s-md) 0;font-size:clamp(1rem,1.6vw,1.15rem);color:#e8dfd2;text-shadow:0 1px 10px rgba(0,0,0,.7)}
.hero__search{max-width:560px}
.hero__wa{margin-top:14px}
@media (min-width:900px){
  .hero{align-items:center}
  .hero__scene{left:22%}
  .hero::after{background:linear-gradient(90deg,rgba(17,18,20,.94) 0%,rgba(17,18,20,.72) 34%,rgba(17,18,20,.1) 62%),linear-gradient(180deg,transparent 70%,var(--oil))}
  .hero__in{padding-block:var(--s-xl)}
}
.lamp-beam,.lamp-pool{opacity:1}
.js .lamp-beam,.js .lamp-pool,.js .lamp-bulb{opacity:.08;transition:opacity .2s}
.js .is-lit .lamp-beam,.js .is-lit .lamp-pool,.js .is-lit .lamp-bulb{animation:flicker 1.4s var(--d,0s) both}
@keyframes flicker{0%{opacity:.08}8%{opacity:.9}12%{opacity:.15}20%{opacity:.85}24%{opacity:.3}34%,100%{opacity:1}}

/* Stamped tags */
.statsbar{position:relative;z-index:2;margin-top:-28px}
.tags{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media (min-width:900px){.tags{grid-template-columns:repeat(4,1fr);gap:16px}}
.tag{position:relative;padding:14px 14px 12px 40px;background:var(--brushed);border:1px solid #45484d;border-radius:var(--r-md);box-shadow:0 1px 0 rgba(255,255,255,.08) inset,0 10px 24px -14px #000;clip-path:polygon(0 10px,10px 0,100% 0,100% 100%,0 100%)}
.tag__hole{position:absolute;left:14px;top:50%;width:12px;height:12px;margin-top:-6px;border-radius:50%;background:var(--oil);box-shadow:inset 0 1px 2px #000,0 0 0 2px #55585d}
.tag__big{display:block;font:900 clamp(1.1rem,2.6vw,1.6rem)/1 var(--f-display);font-stretch:125%;color:var(--pol);text-shadow:0 1px 0 #000,0 -1px 0 rgba(255,255,255,.18)}
.tag__small{display:block;margin-top:4px;font:500 .64rem/1.3 var(--f-mono);letter-spacing:.02em;text-transform:uppercase;color:#bdb6ab}
.js .tags--hero .tag{opacity:0;transform:translateY(8px) rotate(-1deg)}
.js .tags--hero.is-in .tag{animation:stamp .5s calc(var(--i)*.09s) cubic-bezier(.2,1.4,.4,1) forwards}
@keyframes stamp{0%{opacity:0;transform:scale(1.25) rotate(-2deg)}60%{opacity:1;transform:scale(.97)}100%{opacity:1;transform:none}}

/* Sections */
.sec{padding-block:var(--s-xl);position:relative}
.sec--tight{padding-block:var(--s-lg)}
.sec__head{margin-bottom:var(--s-lg)}
.sec__head--row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--s-md)}

/* Roller doors */
.doors{display:grid;gap:14px}
@media (min-width:860px){.doors{grid-template-columns:repeat(3,1fr);gap:20px}}
.door{position:relative;display:block;aspect-ratio:4/3.3;min-height:280px;border:3px solid #3a3c40;border-top-width:14px;border-radius:var(--r-md);overflow:hidden;text-decoration:none;background:#0b0b0c}
.door__inside{position:absolute;inset:0;background:radial-gradient(70% 60% at 50% 30%,rgba(255,170,90,.35),transparent 70%),var(--gun-2)}
.door__shutter{position:absolute;inset:0;background:repeating-linear-gradient(180deg,#46494e 0 3px,#33363a 3px 20px,#2a2c30 20px 22px);transition:transform .7s cubic-bezier(.6,0,.2,1);display:flex;align-items:flex-start;justify-content:center;padding-top:16%;box-shadow:inset 0 -18px 30px -12px rgba(0,0,0,.6)}
.door__num{font:800 clamp(1.6rem,4vw,2.4rem) var(--f-stencil);letter-spacing:.1em;color:rgba(242,234,223,.85);text-shadow:0 1px 0 #000}
.door__handle{position:absolute;bottom:14px;left:50%;width:60px;height:8px;margin-left:-30px;background:#1c1d20;border-radius:2px}
.door__label{position:absolute;left:0;right:0;bottom:0;padding:18px;background:linear-gradient(180deg,transparent,rgba(10,10,11,.92) 40%);display:grid;gap:6px}
.door__name{font-size:clamp(1.25rem,2.6vw,1.6rem);color:#fff}
.door__desc{font-size:.92rem;color:#d7cfc3;max-width:36ch}
.door__meta{display:inline-flex;align-items:center;gap:.4em;font:500 .7rem var(--f-mono);text-transform:uppercase;color:var(--copper)}
.door:hover .door__shutter,.door:focus-visible .door__shutter{transform:translateY(-78%)}
@media (hover:none){.door__shutter{transform:translateY(-62%)}}

/* Brand marquee */
.mq{padding-block:var(--s-lg);border-block:1px solid var(--line);background:linear-gradient(180deg,rgba(42,44,48,.35),transparent)}
.mq__viewport{display:flex;overflow-x:auto;scrollbar-width:none;cursor:grab;-webkit-mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);touch-action:pan-x pan-y}
.mq__viewport::-webkit-scrollbar{display:none}
.mq__viewport.is-drag{cursor:grabbing}
.mq__track{display:flex;gap:14px;padding:6px 7px;flex:none}
.mq__all{margin-top:var(--s-md);text-align:right}
.badge{display:grid;place-items:center;min-width:168px;height:84px;padding:10px 20px;border-radius:44px;background:var(--brushed);border:1px solid #4a4d52;box-shadow:inset 0 1px 0 rgba(255,255,255,.1),inset 0 -2px 0 rgba(0,0,0,.5);text-decoration:none;user-select:none;-webkit-user-drag:none;transition:border-color .2s,transform .2s}
.badge:hover,.badge:focus-visible{border-color:var(--copper);transform:translateY(-2px)}
.badge__name{font:850 1rem/1 var(--f-display);font-stretch:125%;text-transform:uppercase;color:var(--pol);letter-spacing:.02em;white-space:nowrap;text-shadow:0 1px 0 #000}
.badge__n{font:500 .6rem var(--f-mono);color:var(--steel);text-transform:uppercase}
.badge--truck{border-radius:var(--r-md);background:linear-gradient(180deg,#2b2620,#1c1a17);border-color:#5b4632}
.badge--truck .badge__name{color:#e9c9a6}
.badges{display:flex;flex-wrap:wrap;gap:12px}

/* Cards */
.grid{display:grid;gap:14px}
.grid--cards{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:760px){.grid--cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}}
@media (min-width:1100px){.grid--cards{grid-template-columns:repeat(4,minmax(0,1fr))}}
.grid--scroll{grid-auto-flow:column;grid-auto-columns:min(70%,280px);grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px}
.grid--scroll>*{scroll-snap-align:start}
.card{background:var(--gun);border:1px solid #3b3e43;border-radius:var(--r-md);overflow:hidden;transition:border-color .2s,transform .2s}
.card:hover{border-color:var(--copper);transform:translateY(-3px)}
.card__link{display:flex;flex-direction:column;height:100%;text-decoration:none}
.card__media{position:relative;aspect-ratio:4/3;background:#e9e7e3}
.card__img{width:100%;height:100%;object-fit:contain;padding:6px}
.card__img--empty{display:grid;place-items:center;color:var(--steel);background:var(--gun-2);height:100%}
.card__code{position:absolute;left:8px;bottom:8px;padding:3px 7px;background:var(--oil);color:var(--cream);font:600 .62rem var(--f-mono);border-radius:var(--r-sm);border:1px solid var(--plum)}
.card__body{display:flex;flex-direction:column;gap:6px;padding:12px;flex:1}
.card__brand{font:500 .62rem var(--f-mono);text-transform:uppercase;color:var(--steel)}
.card__title{font:700 .92rem/1.3 var(--f-body);color:var(--cream)}
.card__foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:8px}
.card__go{color:var(--copper)}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{display:inline-flex;align-items:center;gap:.35em;padding:3px 9px;border:1px solid var(--plum);border-radius:999px;font:500 .62rem/1.4 var(--f-mono);text-transform:uppercase;color:#dcc6d1;text-decoration:none}
.chip span{color:var(--steel)}
.chip--filter.is-on,.chip--cat:hover,.chip--area:hover,.chip--filter:hover{background:var(--plum);color:#fff}
.ticket{display:inline-flex;align-items:baseline;gap:.4em;padding:5px 9px;background:#16100c;border:1px dashed var(--copper);border-radius:var(--r-sm)}
.ticket__amt{font:700 .9rem var(--f-mono);color:#f0a46c}
.ticket__vat{font:500 .55rem var(--f-mono);color:var(--steel);text-transform:uppercase}
.ticket--quote{font:600 .66rem var(--f-mono);color:#f0a46c;text-transform:uppercase}
.ticket--lg{padding:10px 14px}
.ticket--lg .ticket__amt{font-size:clamp(1.5rem,4vw,2rem)}
.ticket--lg.ticket--quote{font-size:.9rem}

/* Journey */
.journey__line{display:grid;gap:22px;counter-reset:s;position:relative}
@media (min-width:860px){.journey__line{grid-template-columns:repeat(4,1fr);gap:24px}}
.step{position:relative;padding:22px 18px 18px;background:rgba(42,44,48,.55);border-top:3px solid var(--copper);counter-increment:s}
.step::before{content:"0" counter(s);position:absolute;right:14px;top:10px;font:800 1.8rem var(--f-stencil);color:rgba(184,100,44,.35)}
.step__icon{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--oil);border:2px solid var(--steel);color:var(--pol);margin-bottom:12px}
.step__h{font:850 1rem var(--f-display);font-stretch:118%;text-transform:uppercase;color:var(--pol);margin-bottom:6px}
.step p{font-size:.93rem;color:#d3cbbf}
.journey__floor{display:block;height:6px;margin-top:28px;background:repeating-linear-gradient(90deg,var(--copper) 0 36px,transparent 36px 58px);opacity:.6}
.js .journey .step{opacity:0;transform:translateY(14px)}
.js .journey.is-in .step{animation:rise .55s calc(var(--n,0)*.12s) ease-out forwards}
@keyframes rise{to{opacity:1;transform:none}}

/* Heavy bay */
.heavy{background:linear-gradient(180deg,#0a0a0b,#151311 40%,#0a0a0b);border-block:6px solid #1d1b19}
.heavy::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(-45deg,rgba(184,100,44,.07) 0 14px,transparent 14px 28px);mask:linear-gradient(180deg,#000 0,transparent 40px);-webkit-mask:linear-gradient(180deg,#000 0,transparent 40px);pointer-events:none}
.heavy .card{background:#1a1816;border-color:#3d342b}
.heavy .card__media{background:#d9d5ce}

/* Partners */
.partners__in{display:grid;gap:var(--s-lg)}
@media (min-width:900px){.partners__in{grid-template-columns:1.1fr 1fr;align-items:center}}
.partners__copy p{margin:var(--s-md) 0;max-width:56ch;color:#d9d1c5}
.partners__perks{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.partners__perks li{padding:16px;border:1px solid var(--line);border-left:3px solid var(--plum);background:rgba(42,44,48,.4)}
.partners__perks b{display:block;font:850 1.15rem var(--f-display);font-stretch:120%;text-transform:uppercase;color:var(--pol)}
.partners__perks span{font-size:.88rem;color:#cbc3b7}

/* Reviews */
.reviews{display:grid;gap:var(--s-md)}
@media (min-width:900px){.reviews{grid-template-columns:260px 1fr;align-items:start}}
.rating-badge{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:4px 8px;padding:22px;background:var(--brushed);border:1px solid #4a4d52;border-radius:var(--r-md)}
.rating-badge__num{font:900 3.4rem/1 var(--f-display);font-stretch:125%;color:var(--pol)}
.rating-badge__of{font:700 1.2rem var(--f-mono);color:var(--steel)}
.rating-badge__stars{grid-column:1/-1;display:flex;gap:2px;color:#f0a46c}
.rating-badge__txt{grid-column:1/-1;font:500 .72rem var(--f-mono);text-transform:uppercase;color:#cfc7bc}
.reviews__list{display:grid;gap:14px}
@media (min-width:700px){.reviews__list{grid-template-columns:repeat(3,1fr)}}
.review{padding:20px;background:rgba(42,44,48,.5);border:1px solid var(--line);border-radius:var(--r-md);display:flex;flex-direction:column;gap:14px}
.review__q{border:0;padding:0;margin:0;font-size:1rem;color:#efe7db}
.review__q p::before{content:"\201C";color:var(--copper);font:900 2rem/0 var(--f-display);vertical-align:-.35em;margin-right:4px}
.review__by{margin-top:auto;font-size:.85rem;color:var(--steel)}
.review__by b{color:var(--pol);display:block}

/* Delivery */
.delivery__in{display:grid;gap:var(--s-lg)}
@media (min-width:960px){.delivery__in{grid-template-columns:1fr 1fr;align-items:center}}
.delivery__copy p{margin:var(--s-md) 0;color:#d9d1c5;max-width:54ch}
.sadc-map{width:100%;height:auto}
.land{fill:#18191c;stroke:#2b2d31;stroke-width:1}
.land--served{fill:#25272b;stroke:#6b6e73}
.land--za{fill:#2d2a27;stroke:#8b8e93}
.route{fill:none;stroke:var(--copper);stroke-width:1.6;stroke-dasharray:4 5;opacity:.75}
.js .delivery .route{stroke-dasharray:400;stroke-dashoffset:400;opacity:0}
.js .delivery.is-in .route{animation:draw 1.2s calc(var(--i)*.06s) ease-out forwards}
@keyframes draw{to{stroke-dashoffset:0;opacity:.8}}
.city circle{fill:var(--pol)}
.city--sadc circle{fill:var(--copper)}
.city text{fill:var(--cream);font:500 11px var(--f-body)}
.city--hq circle{fill:var(--copper)}
.city--hq text{font:800 12px var(--f-display);font-stretch:115%;text-transform:uppercase;fill:#f0a46c}
.city__pulse{fill:none!important;stroke:var(--copper);stroke-width:2;transform-box:fill-box;transform-origin:center;animation:pulse 2.4s infinite}
@keyframes pulse{0%{transform:scale(1);opacity:.9}100%{transform:scale(3.2);opacity:0}}
.areas{display:grid;gap:16px}
.areas__h{font:500 .68rem var(--f-mono);text-transform:uppercase;color:var(--steel);margin-bottom:8px}
.areas__list{display:flex;flex-wrap:wrap;gap:8px}

/* Quote */
.quote{background:linear-gradient(180deg,transparent,rgba(42,44,48,.35))}
.quote__in{display:grid;gap:var(--s-lg)}
@media (min-width:960px){.quote__in{grid-template-columns:.9fr 1.1fr}}
.quote__copy p{margin:var(--s-md) 0;color:#d9d1c5}
.contact-list{display:grid;gap:12px}
.contact-list li{display:flex;gap:10px;align-items:flex-start}
.contact-list .ico{color:var(--copper);flex:none;margin-top:3px}
.contact-list a{text-decoration:none}
.qform{padding:clamp(18px,3vw,28px);background:var(--gun);border:1px solid #3b3e43;border-radius:var(--r-md)}
.qform__grid{display:grid;gap:14px;margin-bottom:18px}
@media (min-width:640px){.qform__grid{grid-template-columns:1fr 1fr}.field--wide{grid-column:1/-1}}
.field{display:grid;gap:6px}
.field span{font:500 .66rem var(--f-mono);text-transform:uppercase;color:#cbc3b7}
.field input,.field select,.field textarea{width:100%;min-height:48px;padding:10px 12px;background:#121315;border:1px solid #4a4d52;border-radius:var(--r-sm);color:var(--cream)}
.field textarea{min-height:90px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--copper);outline:0}
.qform__hp{position:absolute;left:-9999px}
.qform__note{margin-top:12px;font-size:.88rem;color:var(--steel)}
.qform__ok{padding:12px;margin-bottom:14px;border-left:3px solid #4fd06e;background:#16231a}
.qform__err{padding:12px;margin-bottom:14px;border-left:3px solid #e05555;background:#2a1414}

/* Footer */
.ftr{position:relative;z-index:1;margin-top:var(--s-xl);background:#0b0c0d;border-top:1px solid var(--line)}
.ftr__trust{padding:var(--s-md) 0;border-bottom:1px solid var(--line);background:var(--gun-2)}
.ftr__main{display:grid;gap:var(--s-lg);padding-block:var(--s-xl) var(--s-lg)}
@media (min-width:860px){.ftr__main{grid-template-columns:1.4fr 1fr 1fr 1.2fr}}
.ftr__brand img{width:170px}
.ftr__name{font-size:.95rem;margin-top:14px}
.ftr__tag{font:500 .62rem var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--steel);margin-top:6px}
.ftr__tag span{color:var(--plum)}
.ftr__blurb{margin-top:14px;font-size:.92rem;color:#bdb6ab;max-width:40ch}
.ftr__h{font:800 .74rem var(--f-display);font-stretch:118%;letter-spacing:.08em;text-transform:uppercase;color:var(--pol);margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--plum)}
.ftr__col ul{display:grid;gap:8px}
.ftr__col a{text-decoration:none;color:#cfc7bc;font-size:.93rem}
.ftr__col a:hover{color:#fff}
.ftr__contact address{font-style:normal;color:#cfc7bc;margin-bottom:12px;font-size:.93rem}
.ftr__contact p{margin-bottom:8px}
.ftr__contact a{display:inline-flex;gap:8px;align-items:center}
.ftr__legal{display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;padding-block:18px 96px;border-top:1px solid var(--line);font-size:.8rem;color:var(--steel)}
.ftr__legal-list{display:flex;flex-wrap:wrap;gap:16px}
.ftr__legal-list a{color:var(--steel);text-decoration:none}

/* WhatsApp FAB */
.wa-fab{position:fixed;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));z-index:60;display:inline-flex;align-items:center;gap:10px;height:58px;padding:0 18px 0 16px;border-radius:30px;background:#1f9d4c;color:#fff;text-decoration:none;font:800 .76rem var(--f-display);font-stretch:112%;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 10px 26px -8px rgba(0,0,0,.7),0 0 0 3px rgba(17,18,20,.6)}
.wa-fab:hover{background:#17863f;color:#fff}
.wa-fab__txt{display:none}
.single-product .wa-fab__txt{display:inline}
@media (min-width:700px){.wa-fab__txt{display:inline}}

/* Page heads */
.phead{padding-block:var(--s-lg) var(--s-md);border-bottom:1px solid var(--line);background:radial-gradient(60% 120% at 85% 0%,rgba(184,100,44,.16),transparent 60%)}
.phead--heavy{background:radial-gradient(60% 120% at 85% 0%,rgba(184,100,44,.1),transparent 60%),repeating-linear-gradient(-45deg,rgba(255,255,255,.02) 0 12px,transparent 12px 24px),#0b0b0c}
.phead__h{font-size:clamp(1.7rem,5vw,3.1rem);max-width:22ch}
.phead__h--article{font-size:clamp(1.5rem,4vw,2.4rem);max-width:30ch;text-transform:none;font-stretch:110%}
.phead__lede{margin-top:var(--s-sm);max-width:68ch;color:#d9d1c5;font-size:1.05rem}
.phead__lede--rich p+p{margin-top:.8em}
.phead__meta{margin-top:10px;font:500 .7rem var(--f-mono);text-transform:uppercase;color:var(--steel)}
.crumbs ol{display:flex;flex-wrap:wrap;gap:4px 8px;margin-bottom:var(--s-sm);font:500 .64rem var(--f-mono);text-transform:uppercase;color:var(--steel)}
.crumbs li+li::before{content:"/";margin-right:8px;color:var(--plum)}
.crumbs a{text-decoration:none}
.page-body{max-width:880px;padding-block:var(--s-lg)}
.page-wide{padding-block:var(--s-lg)}

/* Prose */
.prose{color:#e4dccf;max-width:72ch}
.prose>*+*{margin-top:1em}
.prose h2{font:850 clamp(1.2rem,2.6vw,1.6rem)/1.15 var(--f-display);font-stretch:118%;text-transform:uppercase;color:var(--pol);margin-top:1.8em}
.prose h3{font:800 1.1rem var(--f-display);font-stretch:110%;color:var(--pol);margin-top:1.4em}
.prose ul,.prose ol{padding-left:1.2em}
.prose ul{list-style:square}.prose ol{list-style:decimal}
.prose li+li{margin-top:.35em}
.prose li::marker{color:var(--copper)}
.prose a{color:#f0a46c}
.prose table{width:100%;border-collapse:collapse;font-size:.92rem}
.prose th,.prose td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left}
.prose img{border-radius:var(--r-md)}
.prose blockquote{border-left:3px solid var(--plum);padding-left:16px;color:#cfc7bc}

/* Shop */
.shop{padding-block:var(--s-md) var(--s-lg)}
.subcats ul{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:var(--s-md)}
.chip--cat,.chip--area{padding:7px 12px;font-size:.66rem;border-color:#5a3b4a}
.filters{display:grid;gap:12px;padding:16px;margin-bottom:var(--s-md);background:rgba(42,44,48,.4);border:1px solid var(--line);border-radius:var(--r-md)}
@media (min-width:900px){.filters{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}
.filter__label{display:block;font:500 .62rem var(--f-mono);text-transform:uppercase;color:var(--steel);margin-bottom:6px}
.filter__opts{display:flex;flex-wrap:wrap;gap:6px}
.shop__bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:16px;font-size:.85rem;color:var(--steel)}
.shop__bar .woocommerce-result-count{margin:0}
.shop__bar select{min-height:44px;padding:0 10px;background:var(--gun-2);border:1px solid #4a4d52;border-radius:var(--r-sm)}
.woocommerce-ordering{margin:0}
.pager{margin-top:var(--s-lg);display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.pager .page-numbers{display:inline-grid;place-items:center;min-width:44px;height:44px;padding:0 12px;border:1px solid #4a4d52;border-radius:var(--r-sm);text-decoration:none;font:600 .8rem var(--f-mono)}
.pager .current{background:var(--copper);border-color:var(--copper);color:#fff}
.empty{padding:var(--s-lg);text-align:center;border:1px dashed var(--steel);border-radius:var(--r-md)}
.empty p{margin-bottom:var(--s-md)}

/* Product page */
.pdp{padding-block:var(--s-md) var(--s-lg)}
.pdp__top{display:grid;gap:var(--s-md)}
@media (min-width:960px){.pdp__top{grid-template-columns:1.15fr 1fr;gap:var(--s-lg);align-items:start}}
.gal__main{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;border-radius:var(--r-md);background:#ecebe8;scrollbar-width:none}
.gal__main::-webkit-scrollbar{display:none}
.gal__slide{flex:none;width:100%;aspect-ratio:4/3;scroll-snap-align:center;display:grid;place-items:center;margin:0}
.gal__slide img{width:100%;height:100%;object-fit:contain}
.gal__slide--empty{background:var(--gun-2);color:var(--steel);gap:10px}
.gal__thumbs{display:flex;gap:8px;margin-top:8px;overflow-x:auto}
.gal__thumb{flex:none;width:68px;height:68px;border:1px solid #4a4d52;border-radius:var(--r-sm);background:#ecebe8;overflow:hidden}
.gal__thumb img{width:100%;height:100%;object-fit:contain}
.gal__thumb.is-on,.gal__thumb:hover{border-color:var(--copper)}
@media (min-width:960px){.pdp__buy{position:sticky;top:96px}}
.pdp__code{font:600 .72rem var(--f-mono);color:#f0a46c;margin-bottom:8px}
.pdp__code span{color:var(--steel);margin-right:6px;text-transform:uppercase}
.pdp__h1{font-size:clamp(1.35rem,3.4vw,2.05rem);line-height:1.08;margin-bottom:12px;text-transform:none;font-stretch:112%}
.pdp__price{display:grid;gap:10px;margin:18px 0}
.stock{display:flex;align-items:center;gap:8px;font:500 .72rem var(--f-mono);text-transform:uppercase}
.stock__dot{width:10px;height:10px;border-radius:50%;background:#4fd06e;box-shadow:0 0 0 3px rgba(79,208,110,.2)}
.stock--out .stock__dot{background:#e05555;box-shadow:0 0 0 3px rgba(224,85,85,.2)}
.pdp__actions{display:grid;gap:10px}
.pdp__call{display:inline-flex;gap:8px;align-items:center;justify-content:center;font-size:.9rem;color:var(--steel);text-decoration:none;padding:6px}
.pdp__assure{display:grid;gap:10px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line);font-size:.9rem;color:#d3cbbf}
.pdp__assure li{display:flex;gap:10px;align-items:flex-start}
.pdp__assure .ico{color:var(--copper);flex:none;margin-top:2px}
.pdp__body{display:grid;gap:var(--s-lg);margin-top:var(--s-xl);max-width:960px}
.pdp__h2{font-size:clamp(1.15rem,2.6vw,1.5rem);margin-bottom:var(--s-md);text-transform:uppercase}
.pdp__note{margin-top:10px;font-size:.88rem;color:var(--steel)}

/* Spec plate */
.plate{position:relative;padding:18px clamp(14px,3vw,26px);background:linear-gradient(135deg,#bfc2c6 0%,#9c9fa4 30%,#c9ccd0 55%,#8e9196 100%);color:#17181a;border-radius:6px;box-shadow:inset 0 1px 0 rgba(255,255,255,.7),inset 0 -2px 0 rgba(0,0,0,.25),0 18px 40px -20px #000}
.plate::before{content:"";position:absolute;inset:6px;border:1px solid rgba(0,0,0,.35);border-radius:4px;pointer-events:none}
.plate::after{content:"";position:absolute;inset:0;border-radius:6px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.08) 0 1px,transparent 1px 3px);pointer-events:none}
.plate__head,.plate__foot{display:flex;align-items:center;gap:12px;justify-content:space-between;position:relative;z-index:1}
.plate__title{font:900 .82rem var(--f-display);font-stretch:125%;letter-spacing:.12em;text-transform:uppercase;color:#1a1b1d}
.plate__maker{font:700 .7rem var(--f-mono);letter-spacing:.06em;color:#2a2b2e}
.plate__maker b{color:#6a2f12}
.plate__rivet{width:12px;height:12px;border-radius:50%;flex:none;background:radial-gradient(circle at 35% 35%,#f4f5f6,#6d7075 70%);box-shadow:0 1px 1px rgba(0,0,0,.5)}
.plate__grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr;margin:14px 0;border-top:1px solid rgba(0,0,0,.35)}
@media (min-width:640px){.plate__grid{grid-template-columns:1fr 1fr;column-gap:24px}}
.plate__row{display:grid;grid-template-columns:minmax(110px,40%) 1fr;gap:10px;padding:7px 2px;border-bottom:1px solid rgba(0,0,0,.25)}
.plate__row dt{font:600 .6rem/1.5 var(--f-mono);text-transform:uppercase;letter-spacing:.06em;color:#3c3d40}
.plate__row dd{margin:0;font:700 .76rem/1.45 var(--f-mono);color:#0f1011;text-shadow:0 1px 0 rgba(255,255,255,.45)}
.plate__foot span:not(.plate__rivet){font:600 .6rem var(--f-mono);letter-spacing:.14em;color:#2f3033}
.js [data-stamp]{opacity:0;transform:scale(1.04) rotate(-.6deg)}
.js [data-stamp].is-in{animation:stamp .55s cubic-bezier(.2,1.4,.4,1) forwards}

/* Tables, included, warranty, faq */
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-md)}
.compat{width:100%;border-collapse:collapse;font-size:.92rem;min-width:520px}
.compat th{background:var(--gun);text-align:left;padding:10px 12px;font:600 .64rem var(--f-mono);text-transform:uppercase;color:var(--pol)}
.compat td{padding:10px 12px;border-top:1px solid var(--line)}
.compat tr:nth-child(even) td{background:rgba(42,44,48,.3)}
.incl{display:grid;gap:14px}
@media (min-width:700px){.incl{grid-template-columns:1fr 1fr}}
.incl__col{padding:18px;background:rgba(42,44,48,.45);border:1px solid var(--line);border-top:3px solid #4fd06e;border-radius:var(--r-md)}
.incl__col--no{border-top-color:var(--plum)}
.incl__h{font:800 .8rem var(--f-display);font-stretch:118%;text-transform:uppercase;color:var(--pol);margin-bottom:10px}
.incl__list{display:grid;gap:8px}
.incl__list li{display:flex;gap:8px;align-items:flex-start;font-size:.93rem}
.incl__list .ico{flex:none;margin-top:3px;color:#4fd06e}
.incl__col--no .ico{color:#c98aa8}
.wid{display:grid;gap:14px}
@media (min-width:800px){.wid{grid-template-columns:repeat(3,1fr)}}
.wid__col{padding:18px;background:rgba(42,44,48,.45);border:1px solid var(--line);border-radius:var(--r-md);font-size:.92rem}
.wid__col ul{display:grid;gap:8px;margin-bottom:12px;list-style:square;padding-left:1.1em}
.wid__col li::marker{color:var(--copper)}
.wid__col a{color:#f0a46c;font-size:.85rem}
.wid__h{display:flex;gap:8px;align-items:center;font:800 .8rem var(--f-display);font-stretch:118%;text-transform:uppercase;color:var(--pol);margin-bottom:10px}
.wid__h .ico{color:var(--copper)}
.faq{display:grid;gap:10px}
.faq__item{border:1px solid var(--line);border-radius:var(--r-md);background:rgba(42,44,48,.4)}
.faq__q{cursor:pointer;list-style:none;padding:16px 44px 16px 16px;font-weight:700;position:relative}
.faq__q::-webkit-details-marker{display:none}
.faq__q::after{content:"+";position:absolute;right:16px;top:50%;transform:translateY(-50%);font:800 1.3rem var(--f-mono);color:var(--copper)}
.faq__item[open] .faq__q::after{content:"\2013"}
.faq__a{padding:0 16px 16px;color:#d9d1c5}

/* Posts */
.grid--posts{grid-template-columns:1fr}
@media (min-width:700px){.grid--posts{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1080px){.grid--posts{grid-template-columns:repeat(3,1fr)}}
.post-card{background:var(--gun);border:1px solid #3b3e43;border-radius:var(--r-md);overflow:hidden}
.post-card:hover{border-color:var(--copper)}
.post-card__link{text-decoration:none;display:block}
.post-card__img{width:100%;aspect-ratio:4/3;object-fit:cover}
.post-card__body{padding:16px;display:grid;gap:8px}
.post-card__date{font:500 .62rem var(--f-mono);text-transform:uppercase;color:var(--steel)}
.post-card__h{font:800 1rem/1.25 var(--f-display);font-stretch:108%;color:var(--pol)}
.post-card__ex{font-size:.9rem;color:#cbc3b7}
.article__hero{margin-bottom:var(--s-md)}
.article__hero img{border-radius:var(--r-md);width:100%}
.article__cta{margin-top:var(--s-lg);padding:20px;border:1px solid var(--copper);border-radius:var(--r-md);display:grid;gap:14px;background:#17110d}
.phead--404{padding-block:var(--s-xl)}
.search--page{max-width:560px;margin:var(--s-md) 0}

/* Motion: gear watermark */
.gear-wm{position:fixed;right:-140px;top:30vh;width:420px;height:420px;opacity:.035;pointer-events:none;z-index:0;color:var(--pol)}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .js .lamp-beam,.js .lamp-pool,.js .lamp-bulb,.js .tags--hero .tag,.js .journey .step,.js [data-stamp],.js .delivery .route{opacity:1!important;transform:none!important;stroke-dashoffset:0!important}
  .door__shutter{transform:translateY(-62%)}
}
