:root{--ink:#0e0f11;--char:#16181c;--char2:#1e2126;--line:rgba(255,255,255,.09);--text:#e9e6df;--mute:#a19d94;--gold:#c9a66b;--gold2:#e4c993;--paper:#f6f3ec;--r:14px;--serif:"Cormorant Garamond",Georgia,serif;--sans:"Inter",system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--text);font:400 16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}a{color:inherit}
.wrap{width:min(1240px,92vw);margin:auto}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;z-index:99;background:var(--gold);color:#000;padding:.5rem 1rem}
:focus-visible{outline:2px solid var(--gold2);outline-offset:3px}
/* header */
.hdr{position:fixed;inset:0 0 auto;z-index:50;transition:background .4s,border-color .4s;border-bottom:1px solid transparent}
.hdr.solid,.hdr.sub{background:rgba(14,15,17,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-color:var(--line)}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;height:78px}
.brand{text-decoration:none;display:flex;flex-direction:column;line-height:1}
.brand b{font:600 1.5rem var(--serif);letter-spacing:.16em}
.brand small{font-size:.62rem;letter-spacing:.42em;color:var(--gold);margin-top:5px}
.nav{display:flex;gap:2.2rem}
.nav a{text-decoration:none;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);position:relative;padding:.4rem 0;transition:color .3s}
.nav a:after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--gold);transition:width .35s}
.nav a:hover,.nav a[aria-current]{color:var(--text)}.nav a:hover:after,.nav a[aria-current]:after{width:100%}
.burger{display:none;background:none;border:0;color:var(--text);width:44px;height:44px;cursor:pointer}
.burger span{display:block;height:1px;background:currentColor;margin:7px 8px;transition:.3s}
@media(max-width:860px){.burger{display:block}.nav{position:fixed;inset:78px 0 auto;flex-direction:column;gap:0;background:rgba(14,15,17,.97);padding:1rem 4vw 2rem;transform:translateY(-130%);transition:transform .45s cubic-bezier(.2,.8,.2,1);border-bottom:1px solid var(--line)}.nav.open{transform:none}.nav a{padding:1rem 0;border-bottom:1px solid var(--line);font-size:.85rem}}
/* hero */
.hero{position:relative;min-height:min(100svh,980px);display:grid;align-items:end;overflow:hidden}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;transform:scale(1.06);animation:kb 16s ease-out forwards}
@keyframes kb{to{transform:scale(1)}}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,15,17,.55) 0%,rgba(14,15,17,.15) 35%,rgba(14,15,17,.85) 78%,var(--ink) 100%)}
.hero .wrap{position:relative;z-index:2;padding:150px 0 12vh}
.eyebrow{font-size:.72rem;letter-spacing:.38em;text-transform:uppercase;color:var(--gold)}
h1,h2,h3{font-family:var(--serif);font-weight:500;letter-spacing:.01em;line-height:1.08;margin:.3em 0 .4em}
.hero h1{font-size:clamp(2.7rem,7vw,6.2rem);max-width:13ch}
.hero p{max-width:52ch;color:#d6d2c9;font-size:clamp(1rem,1.4vw,1.15rem)}
.btns{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}
.btn{display:inline-flex;align-items:center;gap:.6rem;padding:1rem 1.7rem;border:1px solid var(--gold);color:var(--text);text-decoration:none;font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;border-radius:999px;transition:.35s;background:transparent;cursor:pointer}
.btn:hover{background:var(--gold);color:#111}.btn.fill{background:var(--gold);color:#111}.btn.fill:hover{background:var(--gold2)}
/* sections */
section{padding:clamp(4.5rem,10vw,8.5rem) 0}
.sec-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1.5rem;margin-bottom:3rem}
.sec-head h2{font-size:clamp(2.1rem,4.4vw,3.6rem);margin:.2em 0 0}
.lead{color:var(--mute);max-width:60ch}
.rule{width:56px;height:1px;background:var(--gold);margin:1.4rem 0}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,6vw,6rem);align-items:center}
@media(max-width:900px){.split{grid-template-columns:1fr}}
.stack{position:relative}.stack img{border-radius:var(--r);box-shadow:0 30px 80px rgba(0,0,0,.5)}
.stack img+img{position:absolute;width:52%;right:-4%;bottom:-12%;border:6px solid var(--ink)}
@media(max-width:900px){.stack{margin-bottom:12%}}
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-top:4rem}
.pillars div{background:var(--char);padding:2rem 1.6rem}
.pillars b{display:block;font:500 1.35rem var(--serif);margin-bottom:.4rem;color:var(--gold2)}
.pillars span{color:var(--mute);font-size:.92rem}
@media(max-width:900px){.pillars{grid-template-columns:1fr 1fr}}@media(max-width:520px){.pillars{grid-template-columns:1fr}}
.band{background:var(--char)}
.states{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.5rem}
.states span{border:1px solid var(--line);padding:.7rem 1.2rem;border-radius:999px;font-size:.85rem;letter-spacing:.08em}
/* tiles */
.toolbar{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center;margin-bottom:2rem;position:sticky;top:78px;z-index:5;background:rgba(14,15,17,.9);backdrop-filter:blur(10px);padding:1rem 0;border-bottom:1px solid var(--line)}
.tabs{display:flex;flex-wrap:wrap;gap:.5rem}
.tab{background:none;border:1px solid var(--line);color:var(--mute);padding:.55rem 1rem;border-radius:999px;font:500 .74rem var(--sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:.25s}
.tab:hover{color:var(--text);border-color:rgba(255,255,255,.25)}.tab[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#111}
.search{background:var(--char);border:1px solid var(--line);color:var(--text);padding:.75rem 1.1rem;border-radius:999px;min-width:240px;font:inherit;font-size:.9rem}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.4rem}
.tile{position:relative;background:var(--char);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;display:flex;flex-direction:column;transition:transform .45s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .45s}
.tile:hover{transform:translateY(-6px);border-color:rgba(201,166,107,.5);box-shadow:0 24px 60px rgba(0,0,0,.45)}
.tile .logo{background:#fff;aspect-ratio:16/8;display:grid;place-items:center;padding:1.6rem 2rem}
.tile .logo img{max-height:100%;max-width:100%;object-fit:contain;filter:saturate(.95)}
.tile .logo .word{font:600 1.7rem var(--serif);color:#1b1d21;letter-spacing:.08em;text-align:center;line-height:1.1}
.tile .logo .word.mark{display:flex;align-items:center;gap:.8rem}.tile .logo .word.mark img{height:46px}
.tile .body{padding:1.3rem 1.4rem 1.5rem;display:flex;flex-direction:column;gap:.6rem;flex:1}
.tile h3{font-size:1.35rem;margin:0}
.tile p{margin:0;color:var(--mute);font-size:.9rem;line-height:1.55}
.chips{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:auto;padding-top:.6rem}
.chip{font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--line);padding:.25rem .55rem;border-radius:999px;color:#cfc9bd}
.chip.usa{border-color:rgba(201,166,107,.5);color:var(--gold2)}
.visit{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.count{color:var(--mute);font-size:.85rem}
.empty{color:var(--mute);padding:3rem 0;text-align:center}
.page-top{padding-top:calc(78px + clamp(3rem,7vw,6rem));padding-bottom:2rem}
.page-top h1{font-size:clamp(2.6rem,6vw,5rem);margin:.2em 0}
/* projects */
.view-toggle{display:flex;gap:.5rem}
.pcard{background:var(--char);border-radius:var(--r);overflow:hidden;border:1px solid var(--line);transition:.45s;cursor:zoom-in;padding:0;color:inherit;font:inherit;text-align:left}
.pcard:hover{transform:translateY(-5px);box-shadow:0 24px 60px rgba(0,0,0,.45)}
.pcard .ph{aspect-ratio:16/10;overflow:hidden}.pcard img{width:100%;height:100%;object-fit:cover;transition:transform .9s}
.pcard:hover img{transform:scale(1.05)}
.pcard .meta{padding:1.1rem 1.3rem 1.3rem}.pcard h3{font-size:1.3rem;margin:0 0 .2rem}
.pcard .loc{color:var(--mute);font-size:.88rem}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r)}
table{width:100%;border-collapse:collapse;min-width:560px}
th,td{padding:1rem 1.2rem;text-align:left;border-bottom:1px solid var(--line);font-size:.93rem}
th{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);background:var(--char)}
th button{all:unset;cursor:pointer;display:inline-flex;gap:.4rem;align-items:center}th button:focus-visible{outline:2px solid var(--gold2)}
th[aria-sort=ascending] button:after{content:"▲";font-size:.6rem;color:var(--gold)}th[aria-sort=descending] button:after{content:"▼";font-size:.6rem;color:var(--gold)}
tbody tr:hover{background:rgba(255,255,255,.03)}
.lb{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:100;display:none;place-items:center;padding:4vw}
.lb.on{display:grid}.lb img{max-height:82vh;border-radius:8px}.lb p{text-align:center;color:var(--mute);margin-top:1rem}
.lb button{position:absolute;top:1rem;right:1.2rem;background:none;border:0;color:#fff;font-size:2.2rem;cursor:pointer}
/* products */
.prod{display:grid;grid-template-columns:200px 1fr;gap:1.6rem;background:var(--char);border:1px solid var(--line);border-radius:var(--r);padding:1.4rem;align-items:start}
.prod .pi{background:#fff;border-radius:10px;aspect-ratio:1;display:grid;place-items:center;padding:.8rem}.prod .pi img{max-height:100%;object-fit:contain}
.prod.noimg{grid-template-columns:1fr}
.prod h3{font-size:1.5rem;margin:.1rem 0 .4rem}.prod p{color:var(--mute);margin:.2rem 0 .8rem;font-size:.92rem}
.prod ul{margin:0 0 1rem;padding-left:1.1rem;color:#cfc9bd;font-size:.86rem}
.prod .links{display:flex;gap:.7rem;flex-wrap:wrap}.prod .btn{padding:.65rem 1.1rem;font-size:.68rem}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:1.4rem}
@media(max-width:520px){.pgrid{grid-template-columns:1fr}.prod{grid-template-columns:1fr}.prod .pi{aspect-ratio:16/9}.search{min-width:0;width:100%}}
/* contact/footer */
.contact{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.contact a,.contact div{background:var(--char);border:1px solid var(--line);border-radius:var(--r);padding:2rem;text-decoration:none;transition:.3s}
.contact a:hover{border-color:var(--gold)}.contact small{display:block;font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:.6rem}
.contact strong{font:500 1.35rem var(--serif)}
@media(max-width:820px){.contact{grid-template-columns:1fr}}
footer{border-top:1px solid var(--line);padding:3rem 0;color:var(--mute);font-size:.85rem}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem}footer a{color:var(--mute)}
.reveal{opacity:0;transform:translateY(26px);transition:opacity 1s,transform 1s cubic-bezier(.2,.8,.2,1)}.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
/* print line card */
.print-only{display:none}
@media print{
 body{background:#fff;color:#000;font-size:10pt}.hdr,footer,.toolbar,.no-print,.page-top .btns{display:none!important}
 .page-top{padding:0 0 8pt}.page-top h1{font-size:22pt;margin:0}.page-top .lead,.eyebrow{color:#444}
 .print-only{display:block}section{padding:0}
 .grid{grid-template-columns:repeat(3,1fr);gap:6pt}.tile{break-inside:avoid;border:1px solid #bbb;box-shadow:none;transform:none!important;background:#fff}
 .tile .logo{aspect-ratio:auto;height:52pt;padding:6pt}.tile .body{padding:6pt 8pt}.tile h3{font-size:11pt;color:#000}.tile p{color:#333;font-size:8pt}
 .chip{color:#333;border-color:#999}.visit{color:#000}.visit:after{content:" " attr(data-url);text-transform:none;letter-spacing:0}
 .reveal{opacity:1;transform:none}
}
/* project map */
.pmap-wrap{margin:0 0 2.2rem}
#pmap{height:clamp(340px,52vh,560px);border-radius:var(--r);border:1px solid var(--line);background:var(--char);z-index:0}
.pmap-note{font-size:.75rem;color:var(--mute);margin:.6rem 0 0;letter-spacing:.04em}
.pin{width:18px;height:18px;border-radius:50%;background:var(--gold);border:3px solid var(--ink);box-shadow:0 0 0 2px var(--gold),0 4px 12px rgba(0,0,0,.5)}
.marker-cluster{background:rgba(201,166,107,.25);border-radius:50%}
.marker-cluster div{background:var(--gold);color:#111;border-radius:50%;width:30px;height:30px;margin:5px;display:flex;align-items:center;justify-content:center;font:600 .8rem var(--sans)}
.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--char2);color:var(--text);border:1px solid var(--line)}
.leaflet-popup-content{margin:0;width:240px!important}
.pop img{width:100%;height:140px;object-fit:cover;border-radius:12px 12px 0 0;display:block}
.pop div{padding:.7rem .9rem .9rem}.pop h4{font:500 1.25rem/1.1 var(--serif);margin:.25rem 0}.pop .loc{font-size:.8rem;color:var(--mute)}
.leaflet-container a.leaflet-popup-close-button{color:#fff}
.leaflet-control-zoom a{background:var(--char2)!important;color:var(--text)!important;border-color:var(--line)!important}
.leaflet-control-attribution{background:rgba(14,15,17,.7)!important;color:var(--mute)!important}.leaflet-control-attribution a{color:var(--gold)!important}
@media(max-width:700px){#pmap{height:58vh}}
/* hero slogan */
.slogan{font:italic 400 clamp(1.1rem,1.8vw,1.35rem)/1.45 var(--serif);letter-spacing:.01em;color:var(--gold2);max-width:60ch;margin:0 0 1rem}
/* contact */
.cgrid{display:grid;grid-template-columns:1.6fr 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:start}
.cside{grid-template-columns:1fr!important}
@media(max-width:900px){.cgrid{grid-template-columns:1fr}}
.cform{background:var(--char);border:1px solid var(--line);border-radius:var(--r);padding:clamp(1.3rem,3vw,2.4rem);display:grid;gap:1.1rem}
.cform label{display:grid;gap:.45rem;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--mute)}
.cform input:not([type=radio]),.cform textarea{font:400 1rem/1.5 var(--sans);letter-spacing:0;text-transform:none;color:var(--text);background:var(--ink);border:1px solid var(--line);border-radius:10px;padding:.85rem 1rem;width:100%;box-sizing:border-box;transition:border-color .25s}
.cform input:focus,.cform textarea:focus{outline:none;border-color:var(--gold)}
.cform [aria-invalid=true]{border-color:#d9776b!important}
.cform .err{font-size:.72rem;letter-spacing:.04em;text-transform:none;color:#e89a8f}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}@media(max-width:600px){.frow{grid-template-columns:1fr}}
.itype{border:0;padding:0;margin:0;display:flex;gap:.7rem;flex-wrap:wrap}.itype legend{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--mute);margin-bottom:.6rem}
.itype label{display:block}.itype input{position:absolute;opacity:0}
.itype span{display:inline-block;padding:.75rem 1.3rem;border:1px solid var(--line);border-radius:999px;font-size:.72rem;letter-spacing:.2em;color:var(--text);cursor:pointer;transition:.25s}
.itype input:checked+span{background:var(--gold);border-color:var(--gold);color:#111}.itype input:focus-visible+span{outline:2px solid var(--gold2);outline-offset:3px}
.cform input[type=file]{padding:.7rem;color:var(--mute)}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.factions{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap}.fmsg{font-size:.9rem}.fmsg.ok{color:var(--gold2)}.fmsg.bad{color:#e89a8f}
.cform button[disabled]{opacity:.6;cursor:wait}
/* controls */
.ctl-doc{display:block;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:#fff;box-shadow:0 30px 60px rgba(0,0,0,.45);transition:transform .4s}.ctl-doc:hover{transform:translateY(-4px)}
.ctl-doc img{display:block;width:100%;height:auto}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin:1.4rem 0}@media(max-width:560px){.cols2{grid-template-columns:1fr}}
.cols2 h4{font-size:.7rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin:0 0 .6rem}
.ticks{list-style:none;padding:0;margin:0;display:grid;gap:.45rem;font-size:.92rem}.ticks li{padding-left:1.2rem;position:relative}.ticks li:before{content:"";position:absolute;left:0;top:.65em;width:6px;height:6px;border-radius:50%;background:var(--gold)}
.mute{color:var(--mute)}
@media(max-width:900px){.ctl.rev .ctl-doc{order:2}}
.ctl-stats{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.ctl-stats div{border:1px solid var(--line);border-radius:var(--r);padding:1.5rem;background:var(--ink)}
.ctl-stats strong{display:block;font:500 clamp(1.5rem,3vw,2.2rem)/1.1 var(--serif);color:var(--gold2)}.ctl-stats small{color:var(--mute);font-size:.82rem}
.ctl h2{font-size:clamp(2rem,4vw,3.2rem)}
.slogan{text-shadow:0 1px 3px rgba(0,0,0,.85),0 0 18px rgba(0,0,0,.6);font-weight:500;color:#f0d9a8}
/* PLC */
.plc-head{align-items:flex-end;gap:1.5rem;flex-wrap:wrap}.plc-logo{height:46px;width:auto;display:block}
.plc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem}@media(max-width:860px){.plc-grid{grid-template-columns:1fr}}
.plc-card{display:grid;grid-template-columns:200px 1fr;background:var(--char);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:border-color .3s}.plc-card:hover{border-color:var(--gold)}
.plc-card .pi{background:#fff;display:flex;align-items:center;justify-content:center;padding:1rem}.plc-card .pi img{max-width:100%;max-height:220px;object-fit:contain}
.plc-card .pb{padding:1.5rem 1.6rem}.plc-card h3{font-size:1.9rem;margin:.2em 0 .3em}.plc-card p{font-size:.9rem;margin:0 0 1rem}.plc-card .ticks{font-size:.85rem}
.plinks{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;margin-top:1.1rem}.plinks a{color:var(--gold2);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid rgba(201,166,107,.4);padding-bottom:2px}.plinks a:hover{color:#fff}
@media(max-width:560px){.plc-card{grid-template-columns:1fr}.plc-card .pi{aspect-ratio:16/10}}
.pin2{width:14px;height:14px;background:var(--gold2);opacity:.85;border-width:2px;box-shadow:0 0 0 1px var(--gold),0 3px 8px rgba(0,0,0,.5)}
.pop.nophoto div{padding-top:1rem}.hasph{color:var(--gold);font-size:.6rem;vertical-align:middle}.na{color:var(--mute)}
[hidden]{display:none!important}
/* hero slideshow v2 */
.hero .slides{position:absolute;inset:0}
.hero .slides img.slide{opacity:0;transition:opacity 1.6s ease;animation:none;transform:scale(1.04)}
.hero .slides img.slide.on{opacity:1;transform:scale(1);transition:opacity 1.6s ease,transform 7s ease-out}
.hero:after{z-index:1;background:linear-gradient(180deg,rgba(14,15,17,.6) 0%,rgba(14,15,17,.2) 30%,rgba(14,15,17,.88) 66%,var(--ink) 88%)}
.hero h1.tagline{font-size:clamp(3rem,8.4vw,7.4rem);max-width:12ch;text-shadow:0 2px 24px rgba(0,0,0,.55);margin-top:0}
@media(prefers-reduced-motion:reduce){.hero .slides img.slide{transition:none!important;transform:none!important}}
/* territory map */
.terr{margin:0;background:radial-gradient(ellipse at 55% 30%,rgba(201,162,92,.08),transparent 60%),#141518;border:1px solid var(--line);border-radius:14px;padding:clamp(1rem,3vw,2rem)}
.terr-map{width:100%;height:auto;display:block}
.terr-map .us{fill:#1f2024;stroke:#3b3c42;stroke-width:.8;transition:fill .3s}.terr-map .us:hover{fill:#2a2b30}
.terr-map .home{fill:#c9a25c;stroke:#141518;stroke-width:1.4}.terr-map .home:hover{fill:#e0bd7a}
.terr-map text{font:600 15px Inter,sans-serif;fill:#141518;text-anchor:middle;pointer-events:none}.terr-map .sm{font-size:11px}
.terr-map .hq{fill:#fff}.terr-map .hqr{fill:none;stroke:#fff;stroke-width:1.5;opacity:.7}
.terr figcaption{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;margin-top:1rem;font-size:.78rem;color:var(--mute);letter-spacing:.04em}
.terr figcaption span{display:inline-flex;align-items:center;gap:.5rem}
.terr .sw{width:14px;height:10px;border-radius:2px;background:#c9a25c;display:inline-block}.terr .sw.nat{background:#1f2024;border:1px solid #3b3c42}
.terr .dot{width:9px;height:9px;border-radius:50%;background:#fff;display:inline-block}
/* local stock */
.stile .pimg{aspect-ratio:1/1;padding:1.2rem}.stile .pimg img{width:100%;height:100%;object-fit:contain}
.sbrand{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.sku{font:500 .8rem ui-monospace,Menlo,monospace;color:#cfcabf;background:rgba(255,255,255,.05);padding:.25rem .5rem;border-radius:6px;align-self:flex-start;word-break:break-all}
.srow{display:flex;align-items:center;gap:.8rem}
.badge{font-size:.7rem;font-weight:600;letter-spacing:.06em;padding:.3rem .7rem;border-radius:999px;border:1px solid}
.badge.ok{color:#8fd19e;border-color:#3f7a4c;background:rgba(63,122,76,.15)}.badge.low{color:#f0c674;border-color:#8a6a2a;background:rgba(138,106,42,.15)}.badge.out{color:#e48a8a;border-color:#7a3f3f;background:rgba(122,63,63,.15)}.badge.call{color:#d9d5cc;border-color:#55565c;background:rgba(255,255,255,.04)}
.qty{font-size:.8rem;color:var(--mute)}
.slinks{display:flex;gap:1.2rem;margin-top:auto;padding-top:.4rem}.slinks a{color:var(--gold);font-size:.8rem;text-decoration:none}.slinks a:hover{text-decoration:underline}
/* warehouse photo pair: no stretching, crop via object-fit */
.wh-pair{display:grid;grid-template-columns:1fr;gap:1rem}
.wh-pair figure{margin:0;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);position:relative}
.wh-pair img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.wh-pair .sm{width:62%;justify-self:end;margin-top:-18%;box-shadow:0 24px 60px rgba(0,0,0,.5)}
.wh-pair figcaption{position:absolute;left:0;right:0;bottom:0;padding:.6rem .9rem;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#e9e4d8;background:linear-gradient(transparent,rgba(0,0,0,.7))}
@media(max-width:640px){.wh-pair .sm{width:100%;margin-top:0}}
.wh-brands{display:grid;gap:1rem}.wh-brands img{background:#fff;border-radius:var(--r);padding:1.2rem 2rem;height:90px;width:100%;object-fit:contain}
/* line card: equal logo boxes */
.tile .logo{aspect-ratio:auto;height:150px;padding:1.2rem 1.6rem;overflow:hidden}
.tile .logo>img{max-width:84%;max-height:80px;object-fit:contain}
.tile{cursor:pointer}
/* manufacturer popup */
html.mfr-lock{overflow:hidden}
.mfr-dlg{padding:0;border:1px solid rgba(201,162,92,.4);border-radius:16px;background:#141518;color:#d9d5cc;width:min(720px,92vw);max-height:88svh;overflow:auto;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.mfr-dlg::backdrop{background:rgba(6,7,8,.72);backdrop-filter:blur(4px)}
.mfr-dlg[open]{animation:mfrIn .3s cubic-bezier(.2,.8,.2,1)}@keyframes mfrIn{from{opacity:0;transform:translateY(14px)}}
.mfr-in{position:relative}
.mfr-x{position:absolute;top:.7rem;right:.7rem;width:42px;height:42px;border-radius:50%;border:1px solid rgba(0,0,0,.15);background:rgba(255,255,255,.92);color:#1b1d21;font-size:1.6rem;line-height:1;cursor:pointer;z-index:2}
.mfr-x:hover,.mfr-x:focus-visible{background:var(--gold);color:#111;outline:none}
.mfr-logo{background:#fff;height:160px;display:grid;place-items:center;padding:1.5rem 4rem}
.mfr-logo img{max-height:90px;max-width:80%;object-fit:contain}
.mfr-logo .word{font:600 1.8rem var(--serif);color:#1b1d21}
.mfr-b{padding:1.6rem 2rem 2rem}
.mfr-b h2{margin:.3em 0 .4em;font-size:clamp(1.6rem,3.4vw,2.2rem);color:#fff}
.mfr-b p{margin:0 0 1.3rem;line-height:1.65}
.mfr-b h3{font:600 .72rem Inter,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:0 0 .7rem}
.mfr-links{list-style:none;margin:0 0 1.6rem;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}
.mfr-links a{display:flex;justify-content:space-between;gap:.5rem;padding:.75rem .95rem;border:1px solid var(--line,rgba(255,255,255,.12));border-radius:10px;color:#e8e4da;text-decoration:none;font-size:.92rem;transition:border-color .25s,color .25s}
.mfr-links a:hover,.mfr-links a:focus-visible{border-color:var(--gold);color:var(--gold);outline:none}
@media(max-width:560px){.mfr-dlg{width:100vw;max-width:100vw;max-height:92svh;margin:auto auto 0;border-radius:16px 16px 0 0}.mfr-logo{height:120px;padding:1rem 3.5rem}.mfr-b{padding:1.3rem 1.2rem 1.6rem}.mfr-links{grid-template-columns:1fr}}
.sgrp{margin-top:2.2rem}.sgrp:first-child{margin-top:.5rem}
.sgrp-h{font-size:1.15rem;letter-spacing:.04em;margin:0 0 1rem;padding-bottom:.6rem;border-bottom:1px solid rgba(201,162,77,.35);display:flex;align-items:baseline;gap:.8rem}
.sgrp-h span{font-size:.75rem;font-weight:400;opacity:.65;letter-spacing:.08em;text-transform:uppercase}
.stile .noimg{font-family:ui-monospace,monospace;font-size:.85rem;opacity:.55;word-break:break-all;text-align:center}
.stile .pimg{display:flex;align-items:center;justify-content:center}
.stile .pimg img{width:auto!important;height:auto!important;max-width:100%;max-height:100%;flex:1 1 auto;object-fit:contain;align-self:stretch}.stile .noimg{color:#555;opacity:1}
/* stock v3: tinted image stage, badges, popup */
.stile{cursor:pointer}
.stile .pimg,.sd-img{background:#fff!important;position:relative;overflow:hidden;border:0!important;box-shadow:none!important}
.stile .pimg:after,.sd-img:after{content:none!important}
.stile .pimg img,.sd-img img{mix-blend-mode:normal;transition:transform .5s cubic-bezier(.2,.7,.2,1);filter:drop-shadow(0 2px 2px rgba(0,0,0,.28)) drop-shadow(0 12px 14px rgba(0,0,0,.30))}
.stile:hover .pimg img,.stile:focus-visible .pimg img{transform:scale(1.07)}
.stile:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.stile .pimg{padding:.9rem!important}
.fbs{display:flex;flex-wrap:wrap;gap:.3rem;margin:.55rem 0 .1rem}
.fbadge.sm{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:8px;border:1px solid rgba(201,166,107,.35);color:var(--gold2);background:rgba(201,166,107,.08)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.sdet{color:var(--mute);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;margin-right:auto}
.sdlg{width:min(860px,94vw)}
.sd-img{height:min(52svh,440px);display:flex;align-items:center;justify-content:center;padding:1.6rem}
.sd-img img{max-width:100%;max-height:100%;object-fit:contain}
.sd-img .noimg{font-family:ui-monospace,monospace;color:#555}
.sdlg h2{font-size:clamp(1.5rem,3vw,2.1rem);line-height:1.15;margin:.3rem 0 .7rem}
.sd-meta{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-bottom:1rem}
.sd-meta .qty{color:var(--text);font-weight:600}
.sd-line{border-left:2px solid var(--gold);padding:.2rem 0 .2rem .9rem;margin:0 0 1.1rem}
.sd-line h3{font-family:var(--serif);font-size:1.2rem;margin:0 0 .3rem;color:var(--gold2)}
.sd-line p{margin:0;color:var(--mute);font-size:.92rem;line-height:1.55}
.fbl{list-style:none;padding:0;margin:0 0 1.2rem;display:flex;flex-wrap:wrap;gap:.5rem}
.fbl .fbadge{display:flex;align-items:center;gap:.55rem;padding:.4rem .8rem .4rem .4rem;border-radius:12px;border:1px solid rgba(201,166,107,.35);background:linear-gradient(180deg,rgba(201,166,107,.12),rgba(201,166,107,.04));font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text)}
.fbl .fi{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:rgba(201,166,107,.14);color:var(--gold2)}
.sd-h{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:1.1rem 0 .5rem;font-family:var(--sans)}
.sd-spec{display:grid;grid-template-columns:repeat(2,1fr);gap:0 1.4rem;margin:0}
.sd-spec div{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;border-bottom:1px solid var(--line)}
.sd-spec dt{color:var(--mute);font-size:.85rem}.sd-spec dd{margin:0;text-align:right;font-size:.9rem}
.sd-rt{color:var(--text);font-size:.9rem;margin:0}
.sd-btns{margin-top:1.5rem}
.sd-src{font-size:.75rem;color:var(--mute);margin:1rem 0 0}
@media(max-width:700px){.sdlg{width:100vw;max-width:100vw;max-height:92svh;margin:auto auto 0;border-radius:16px 16px 0 0}.sd-img{height:38svh}.sd-spec{grid-template-columns:1fr}.sd-btns .btn{flex:1 1 100%;text-align:center}}
.stile .pimg{aspect-ratio:4/3!important;height:auto!important;padding:.6rem!important}
.stile .slinks{flex-wrap:wrap;gap:.4rem 1rem}.stile .slinks a{white-space:nowrap}
.sdet{display:none}
.sd-line h3{text-transform:none!important;letter-spacing:.01em!important;font-size:1.25rem!important;font-weight:500}
.stile .logo{aspect-ratio:4/3!important;height:auto!important;padding:.7rem!important}
.stile .logo>img{max-height:100%!important;max-width:92%!important}
/* selectable gauges v5 */
.gz{position:absolute;left:.5rem;top:.5rem;display:flex;gap:.35rem;z-index:2;pointer-events:none}
.gchip{display:flex;align-items:center;gap:.35rem;background:rgba(255,255,255,.94);border:1px solid #e7e2d9;border-radius:9px;padding:.22rem .45rem .22rem .3rem;box-shadow:0 1px 3px rgba(0,0,0,.12)}
.gchip .gsv{width:34px;height:auto;display:block}
.gtx{display:flex;flex-direction:column;line-height:1.15;color:#23201c}
.gtx span{font:600 .66rem/1.1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:-.01em;white-space:nowrap}
.gtx b{font:700 .72rem/1.2 var(--sans,system-ui);letter-spacing:.06em;text-transform:uppercase}
.gtx i{font:italic .72rem/1.2 var(--sans,system-ui);color:#6a6258}
.gz-lg{left:1rem;top:1rem;gap:.6rem;flex-wrap:wrap;max-width:calc(100% - 5rem)}
.gz-lg .gchip{padding:.45rem .8rem .45rem .5rem;gap:.6rem;border-radius:12px}
.gz-lg .gsv{width:64px}.gz-lg .gtx span{font-size:.8rem;margin-top:.15rem}
@media(max-width:700px){.gchip .gsv{width:30px}.gz-lg .gsv{width:46px}.gz-lg{left:.6rem;top:.6rem;gap:.4rem}.gz-lg .gtx b{font-size:.62rem}.gz-lg .gtx i{display:none}.gz-lg .gtx span{font-size:.7rem}}
.noimg .inote{display:block;margin-top:.5rem;font:400 .74rem/1.4 var(--sans,system-ui);color:#7a7268;max-width:26ch;margin-inline:auto;word-break:normal}
.sd-img .noimg .inote{max-width:40ch;font-size:.85rem}
/* polish v5 */
.stile h3{font-size:1.18rem!important;line-height:1.22!important;letter-spacing:.005em}
.stile .sbody,.stile .meta{gap:.55rem}
@media(max-width:640px){.sfilters,.stock-filters{flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none;padding-bottom:.25rem}.sfilters::-webkit-scrollbar{display:none}.stile h3{font-size:1.08rem!important}}
/* polish v5b */
.sd-img{flex-direction:column;justify-content:flex-start!important;gap:.7rem;padding-top:1rem!important}
.sd-img .gz-lg{order:-1;position:static;align-self:flex-start;max-width:calc(100% - 3.5rem);flex:none}
.sd-img img{flex:1 1 auto;min-height:0;width:auto}
.sd-img .noimg{margin:auto}
@media(max-width:700px){
#stabs{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;gap:.4rem;scrollbar-width:none;margin:0;padding:0 0 .1rem;max-width:100%;-webkit-mask:linear-gradient(90deg,#000 88%,transparent)}
#stabs::-webkit-scrollbar{display:none}
#stabs>*{flex:none;padding:.4rem .8rem!important;font-size:.68rem!important}
.toolbar{gap:.5rem!important;padding:.5rem 0!important}
.toolbar>div:last-child{flex-wrap:nowrap!important;gap:.6rem!important;width:100%}
#sq{flex:1;min-width:0;height:2.3rem;padding:.35rem .9rem!important;font-size:.85rem}
#scount{order:2;white-space:nowrap;font-size:.75rem}
}
/* cct format v5c: never clip, wrap only between values */
.gz{flex-wrap:wrap;max-width:calc(100% - 1rem)}
.gchip{min-width:0;max-width:100%}
.gtx{min-width:0}
.gtx span{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:normal;word-break:keep-all}
/* nora-style gauge v6 */
.gchip{background:#fff;border:1px solid #e4e0d8;box-shadow:0 1px 4px rgba(0,0,0,.10)}
.gchip .gsv{width:40px}
.gtx span{font:500 .72rem/1.15 "Barlow Condensed","Roboto Condensed","Arial Narrow",system-ui,sans-serif;font-stretch:condensed;letter-spacing:.01em;color:#111}
.gz-lg .gchip{flex-direction:column;align-items:center;text-align:center;gap:.25rem;padding:.6rem .9rem .55rem}
.gz-lg .gsv{width:86px}
.gz-lg .gtx{display:flex;flex-direction:column;align-items:center}
.gz-lg .gtx b{font:700 .98rem/1.1 Barlow,system-ui,sans-serif;letter-spacing:0;text-transform:none;color:#111}
.gz-lg .gtx i{font:300 .82rem/1.2 "Barlow Condensed","Roboto Condensed","Arial Narrow",system-ui,sans-serif;font-style:normal;font-stretch:condensed;color:#222}
.gz-lg .gtx span{font:400 .9rem/1.2 "Barlow Condensed","Roboto Condensed","Arial Narrow",system-ui,sans-serif;margin-top:0}
@media(max-width:700px){.gz-lg .gsv{width:58px}.gz-lg .gtx b{font-size:.78rem}.gz-lg .gtx i{display:block;font-size:.68rem}.gz-lg .gtx span{font-size:.74rem}.gz-lg .gchip{padding:.4rem .55rem}.gchip .gsv{width:34px}}
/* motion/emergency pills (S2/B2) */
.bz{position:absolute;right:.5rem;bottom:.5rem;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.3rem;z-index:2;pointer-events:none;max-width:calc(100% - 1rem)}
.bpill{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.2rem .6rem .2rem .2rem;font:700 .6rem/1 Inter,system-ui,sans-serif;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;box-shadow:0 1px 3px rgba(0,0,0,.10)}
.bico{display:inline-grid;place-items:center;width:1.25rem;height:1.25rem;border-radius:50%}.bico svg{width:.85rem;height:.85rem}
.b-mot{background:#e7f1f6;color:#245a75}.b-mot .bico{background:#2f6f8f}
.b-em{background:#e6f3ea;color:#24603d}.b-em .bico{background:#2e7d4f}
.sd-img .bz-lg{position:static;order:-1;align-self:flex-start;justify-content:flex-start;margin-top:-.2rem}
.bz-lg .bpill{font-size:.7rem;padding:.28rem .75rem .28rem .28rem}.bz-lg .bico{width:1.5rem;height:1.5rem}.bz-lg .bico svg{width:1rem;height:1rem}

/* category filter v7 */
.toolbar{flex-wrap:wrap}
#scats{order:3;flex:1 0 100%;display:flex;flex-wrap:nowrap;overflow-x:auto;gap:.35rem;scrollbar-width:none;margin:.2rem 0 0;padding:0 0 .1rem;-webkit-mask:linear-gradient(90deg,#000 92%,transparent)}
#scats::-webkit-scrollbar{display:none}
#scats>.tab{flex:none;padding:.32rem .75rem!important;font-size:.64rem!important;opacity:.9}
#scats .tn{opacity:.55;margin-left:.25rem;font-weight:400}

/* card gauges: full labeled version, scaled */
.stile .gz-card{left:.5rem;top:.5rem;gap:.35rem;max-width:calc(100% - 1rem);flex-wrap:nowrap}
.stile .gz-card .gchip{padding:.35rem .5rem .35rem;gap:.15rem;border-radius:10px;min-width:0;flex:0 1 auto}
.stile .gz-card .gsv{width:44px}
.stile .gz-card .gtx b{font-size:.72rem;white-space:nowrap}
.stile .gz-card .gtx i{display:block;font-size:.62rem;white-space:nowrap}
.stile .gz-card .gtx span{font-size:.68rem;white-space:nowrap}
@media(max-width:700px){.stile .gz-card .gsv{width:40px}.stile .gz-card .gtx b{font-size:.7rem}.stile .gz-card .gtx i{font-size:.6rem}.stile .gz-card .gtx span{font-size:.66rem}.stile .gz-card .gchip{padding:.3rem .45rem}}
.stile .pimg:has(.gz-card){flex-direction:column;align-items:stretch}
.stile .pimg .gz-card{position:static;order:-1;align-self:flex-start;flex:none;margin:0 0 .4rem;max-width:100%;flex-wrap:nowrap}
.stile .pimg:has(.gz-card) img{min-height:0;flex:1 1 0}
.stile .gz-card .gchip{max-width:calc(50% - .2rem)}
.stile .gz-card .gtx{min-width:0;max-width:100%}
.stile .gz-card .gtx i,.stile .gz-card .gtx span{white-space:normal;text-align:center}
.stile .gz-card .gchip:only-child{max-width:100%}
.stile .gz-card .gchip:only-child .gtx i,.stile .gz-card .gchip:only-child .gtx span{white-space:nowrap}
.stile .pimg:has(.gz-card){aspect-ratio:1/1!important}

/* stk15 uniform tiles */
.stile .pimg.pu{aspect-ratio:1/1!important;height:auto!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;padding:.6rem!important}
.stile .pu .gzrow{flex:0 0 82px;height:82px;display:flex;align-items:flex-start;overflow:hidden}
.stile .pu .gzrow .gz-card{position:static!important;margin:0!important;order:0}
.stile .pu .pfig{flex:1 1 0;min-height:0;display:flex;align-items:center;justify-content:center;padding:4% 8% 6%}
.stile .pu .pfig img{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain;flex:none;align-self:auto}
.stile .pu .pfig .noimg{margin:auto}
@media(max-width:700px){.stile .pu .gzrow{flex-basis:80px;height:80px}}

/* photo heroes on inner pages */
.page-top.ph-hero{position:relative;min-height:min(62svh,560px);display:flex;align-items:flex-end;overflow:hidden;color:#fff;margin-bottom:2.5rem}
.page-top.ph-hero picture,.page-top.ph-hero picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.page-top.ph-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,11,13,.45) 0%,rgba(10,11,13,.5) 40%,rgba(10,11,13,.94) 100%)}
.page-top.ph-hero .wrap{position:relative;z-index:1;padding-top:9rem;padding-bottom:3rem}
.page-top.ph-hero .lead{color:#e6e2da;max-width:60ch}
@media(max-width:700px){.page-top.ph-hero{min-height:440px}.page-top.ph-hero .wrap{padding-top:7rem;padding-bottom:2.2rem}}
.page-top.ph-hero{padding:0}
@media print{.page-top.ph-hero{min-height:0;color:#000}.page-top.ph-hero picture,.page-top.ph-hero::after{display:none}.page-top.ph-hero .wrap{padding:0}}

/* home line-card rotation tiles (lc1) */
.prod.hl{align-items:stretch}.prod.hl>div{display:flex;flex-direction:column}.prod.hl h3 a{color:inherit;text-decoration:none}.prod.hl h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.prod.hl p{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.prod.hl .links{margin-top:auto}.prod.hl .pi{align-self:start}
#featured.pgrid{grid-auto-rows:1fr}
/* stk18 bigger popup photo */
.sdlg{width:min(980px,94vw)}
.sd-img{height:min(64svh,600px);padding:1rem 1.2rem!important;justify-content:center!important;gap:0}
.sd-img .gz-lg,.sd-img .bz-lg{position:absolute!important;top:.8rem;left:.8rem;z-index:1;margin:0!important;max-width:calc(100% - 5rem)}
@media(min-width:701px){.sd-img .gz-lg{flex-direction:column;align-items:flex-start;flex-wrap:nowrap;max-width:200px}.sd-img:has(.gz-lg) .bz-lg{top:auto;bottom:.8rem}}
.sd-img img{flex:none!important;width:100%!important;height:100%!important;max-width:100%;max-height:100%;object-fit:contain}
@media(max-width:700px){.sd-img{height:50svh;padding:.6rem!important;flex-direction:column;justify-content:flex-start!important;gap:.4rem}.sd-img .gz-lg,.sd-img .bz-lg{position:static!important;flex:none;align-self:flex-start;transform:scale(.85);transform-origin:left top;margin-bottom:-.4rem!important}.sd-img img{flex:1 1 0!important;min-height:0;height:auto!important}}
