: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}}
