:root{
  --paper:#f2eee5; --paper2:#eae5d9; --ink:#191611; --ink2:#4c463c; --mute:#8d8577;
  --gold:#a97f2f; --goldbg:#c8a45e; --goldfg:#14120e; --line:#d8d2c4;
  --inv-bg:#14120e; --inv-fg:#f2eee5; --chip-bg:#14120e; --chip-fg:#c8a45e; --shade:#14120e;
  --strip-bg:#14120e; --strip-fg:#f2eee5; --strip-dim:#b7ac97;
  --foot-bg:#14120e; --foot-fg:#f2eee5; --foot-dim:#a99f8c; --foot-rule:#2a2620;
  --field-bg:#ffffff;
  --display:'Space Grotesk',sans-serif; --mono:'IBM Plex Mono',monospace; --body:'Inter',sans-serif;
  --disp-w:600; --disp-ls:-.02em;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:auto}
body{font-family:var(--body);background:var(--paper);color:var(--ink);font-weight:400;line-height:1.65;overflow-x:hidden}
body.lock{overflow:hidden}
::selection{background:var(--goldbg);color:var(--goldfg)}
::-webkit-scrollbar{width:9px}
::-webkit-scrollbar-track{background:var(--paper2)}
::-webkit-scrollbar-thumb{background:var(--line)}
a{color:inherit;text-decoration:none}
img{display:block}
.mono{font-family:var(--mono)}

/* ---------- NAV ---------- */
nav{position:fixed;top:0;left:0;right:0;z-index:150;display:flex;justify-content:space-between;align-items:center;padding:0 0 0 3vw;height:64px;background:var(--paper);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:.8rem}
.brand .sq{width:30px;height:30px;background:var(--chip-bg);color:var(--chip-fg);display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:700;font-size:.8rem}
.brand b{font-family:var(--display);font-weight:600;letter-spacing:.18em;font-size:.95rem}
.brand small{font-size:.58rem;letter-spacing:.3em;color:var(--mute);text-transform:uppercase}
.nl{display:flex;height:100%;align-items:stretch}
.nl a,.nl button{display:flex;align-items:center;padding:0 1.15rem;border:0;border-left:1px solid var(--line);font-family:var(--body);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink2);background:none;cursor:pointer;transition:all .25s;height:100%;white-space:nowrap}
.nl a:hover,.nl button:hover{background:var(--inv-bg);color:var(--inv-fg)}
.nl a.on{color:var(--gold);box-shadow:inset 0 -2px 0 var(--gold)}
.nl a.hot{background:var(--chip-bg);color:var(--chip-fg)}
.nl a.hot:hover{background:var(--gold);color:var(--goldfg)}
.nl .cartbtn{font-family:var(--mono);letter-spacing:.14em;gap:.5rem}
.nl .cartbtn i{font-style:normal;background:var(--chip-bg);color:var(--chip-fg);min-width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;font-size:.62rem;padding:0 .3rem}
.nl .cartbtn:hover i{background:var(--ink);color:var(--paper)}
.nl .burger{display:none;border:0;border-left:1px solid var(--line);background:none;height:100%;padding:0 1.2rem;font-family:var(--mono);font-size:.66rem;letter-spacing:.2em;cursor:pointer;color:var(--ink)}
.mnav{position:fixed;inset:64px 0 0;background:var(--paper);z-index:140;display:none;flex-direction:column;border-top:1px solid var(--line);overflow-y:auto}
.mnav.open{display:flex}
.mnav a{padding:1.25rem 5vw;border-bottom:1px solid var(--line);font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink2)}
.mnav a.on{color:var(--gold)}
.mnav a.mhot{background:var(--chip-bg);color:var(--chip-fg);border-bottom:0;margin-top:1.4rem}

/* ---------- VIEW ROUTER ---------- */
.view{display:none;padding-top:64px;min-height:100vh}
.view.on{display:block}

/* ---------- SECTION SHELL ---------- */
section{padding:5.5rem 3vw}
.sh{display:grid;grid-template-columns:auto 1fr auto;gap:2rem;align-items:end;margin-bottom:2.6rem}
.sh .idx{font-family:var(--mono);font-size:.7rem;color:var(--gold)}
.sh h2{font-family:var(--display);font-weight:var(--disp-w);font-size:clamp(1.9rem,3.4vw,3rem);letter-spacing:var(--disp-ls);line-height:1.05}
.sh .lnk{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink2);border-bottom:1px solid var(--ink);padding-bottom:.4rem;cursor:pointer}
.sh .lnk:hover{color:var(--gold);border-color:var(--gold)}
.sdesc{max-width:62ch;color:var(--ink2);font-size:.92rem;margin:-1.4rem 0 2.6rem}

.bt{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;padding:1rem 1.9rem;font-family:var(--display);font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500;transition:all .25s;border:1px solid var(--inv-bg);cursor:pointer;background:none;color:var(--ink)}
.bt.pri{background:var(--inv-bg);color:var(--inv-fg)}
.bt.pri:hover{background:var(--gold);border-color:var(--gold);color:var(--goldfg)}
.bt.pri:disabled{opacity:.4;cursor:not-allowed}
.bt.sec{border-color:var(--ink)}
.bt.sec:hover{background:var(--inv-bg);color:var(--inv-fg);border-color:var(--inv-bg)}
.bt.wa{border-color:var(--gold);color:var(--gold)}
.bt.wa:hover{background:var(--gold);color:var(--goldfg)}

/* ---------- STRIP ---------- */
.strip{background:var(--strip-bg);color:var(--strip-fg);overflow:hidden}
.strip-track{display:flex;width:max-content;animation:st 34s linear infinite;padding:.85rem 0}
.strip span{font-family:var(--mono);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;padding:0 2.2rem;color:var(--strip-dim);white-space:nowrap}
.strip i{color:var(--gold);font-style:normal}
@keyframes st{to{transform:translateX(-50%)}}

/* ---------- SERIES ---------- */
.series{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.se{background:var(--paper);padding:1.6rem;transition:background .3s;cursor:pointer;position:relative}
.se:hover{background:var(--paper2)}
.se .im{aspect-ratio:4/3;overflow:hidden;margin-bottom:1.3rem;background:var(--shade)}
.se .im img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.16,1,.3,1)}
.se:hover .im img{transform:scale(1.05)}
.se .code{font-family:var(--mono);font-size:.62rem;color:var(--mute);letter-spacing:.1em;display:flex;justify-content:space-between;gap:1rem}
.se .code b{font-weight:400;color:var(--gold)}
.se .n{text-transform:uppercase;letter-spacing:.14em}
.se h3{font-family:var(--display);font-weight:var(--disp-w);font-size:1.25rem;margin:.35rem 0 .3rem;letter-spacing:var(--disp-ls)}
.se p{font-size:.8rem;color:var(--ink2);line-height:1.7}

/* ---------- CATALOG SHELL ---------- */
.filters{display:flex;flex-wrap:wrap;border:1px solid var(--line);background:var(--paper);margin-bottom:1.4rem}
.fbt{font-family:var(--mono);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;padding:.85rem 1.25rem;border:0;border-right:1px solid var(--line);color:var(--ink2);background:none;cursor:pointer;transition:all .2s}
.fbt:last-of-type{border-right:0}
.fbt:hover{background:var(--paper2)}
.fbt.on{background:var(--chip-bg);color:var(--chip-fg)}
.filters .cnt{margin-left:auto;display:flex;align-items:center;padding:0 1.25rem;border-left:1px solid var(--line);font-family:var(--mono);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.grp{padding:2.6rem 0 .7rem;border-bottom:1px solid var(--ink);font-family:var(--mono);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);display:flex;justify-content:space-between;gap:1rem}
.grp span.c{color:var(--mute)}

/* ---------- BAND ---------- */
.band{position:relative;height:60vh;overflow:hidden;padding:0}
.band img{width:100%;height:100%;object-fit:cover}
.band .bar{position:absolute;left:0;right:0;bottom:0;background:var(--paper);border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:1.1rem 3vw;font-family:var(--mono);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2);gap:1rem}
.band .bar b{color:var(--gold)}

/* ---------- SPECS ---------- */
.specs{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.spc{background:var(--paper);padding:2rem 1.6rem}
.spc .n{font-family:var(--mono);font-size:.62rem;color:var(--gold);letter-spacing:.14em}
.spc h3{font-family:var(--display);font-weight:var(--disp-w);font-size:1.12rem;margin:.9rem 0 .6rem;letter-spacing:var(--disp-ls)}
.spc p{font-size:.82rem;color:var(--ink2);line-height:1.8}

/* ---------- MANIFESTO ---------- */
.mani{display:grid;grid-template-columns:auto 1fr;gap:4rem;align-items:start}
.mani .idx{font-family:var(--mono);font-size:.7rem;color:var(--gold);padding-top:.8rem}
.mani h2{font-family:var(--display);font-weight:500;font-size:clamp(1.7rem,3.4vw,3rem);line-height:1.3;letter-spacing:var(--disp-ls);max-width:26ch}
.mani h2 em{font-style:normal;color:var(--gold)}
.mani .cols{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-top:2.6rem;max-width:920px}
.mani .cols p{font-size:.88rem;color:var(--ink2);line-height:1.95}
.hm{padding:1.4rem 1rem 0;border-right:1px solid var(--line)}
.hm:last-child{border-right:0}
.hm b{font-family:var(--display);font-weight:var(--disp-w);font-size:1.6rem;display:block;letter-spacing:var(--disp-ls)}
.hm span{font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;color:var(--mute)}
.mstats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin-top:3.4rem;max-width:920px}
.mtags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:2.2rem}
.mtags span{font-family:var(--mono);font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;border:1px solid var(--line);padding:.42rem .9rem;color:var(--ink2)}

/* ---------- PROJECTS ---------- */
.shw{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.sc{position:relative;aspect-ratio:4/3;overflow:hidden;cursor:pointer;background:var(--shade)}
.sc img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.16,1,.3,1)}
.sc:hover img{transform:scale(1.06)}
.sc .cap{position:absolute;left:0;right:0;bottom:0;background:var(--paper);border-top:1px solid var(--line);padding:.85rem 1.1rem;display:flex;justify-content:space-between;align-items:baseline;gap:.8rem}
.sc .cap b{font-family:var(--display);font-weight:var(--disp-w);font-size:.92rem}
.sc .cap span{font-family:var(--mono);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}

/* ---------- QUOTE ---------- */
.quote{background:var(--strip-bg);color:var(--strip-fg);text-align:center}
.quote .idx{font-family:var(--mono);font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:1.6rem}
.quote p{font-family:var(--display);font-weight:500;font-size:clamp(1.3rem,2.8vw,2.2rem);line-height:1.45;letter-spacing:var(--disp-ls);max-width:24ch;margin:0 auto}
.quote .who{font-family:var(--mono);font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;color:var(--strip-dim);margin-top:2rem}

/* ---------- CONTACT ---------- */
.cgrid{display:grid;grid-template-columns:.85fr 1.15fr;gap:1px;background:var(--line);border:1px solid var(--line)}
.cinfo,.cform{background:var(--paper);padding:2.4rem}
.ci{padding:1.2rem 0;border-bottom:1px solid var(--line)}
.ci:last-child{border-bottom:0}
.ci h4{font-family:var(--mono);font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--mute);margin-bottom:.4rem}
.ci p,.ci a{font-family:var(--display);font-size:1rem;font-weight:500;color:var(--ink)}
.ci a:hover{color:var(--gold)}
.fg2{margin-bottom:1.1rem}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
label{display:block;font-family:var(--mono);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);margin-bottom:.45rem}
input,select,textarea{width:100%;background:var(--field-bg);border:1px solid var(--line);padding:.82rem .9rem;font-family:var(--body);font-size:.88rem;color:var(--ink);border-radius:0}
textarea{min-height:110px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold)}
option{background:var(--paper);color:var(--ink)}
.status{font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;color:var(--gold);min-height:1.2rem;margin:.6rem 0}
.status.err{color:#d4614f}

/* ---------- FOOTER ---------- */
footer{background:var(--foot-bg);color:var(--foot-fg);padding:4.5rem 3vw 2rem}
.fg{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3.5rem}
.fg .wm{font-family:var(--display);font-weight:700;font-size:2rem;color:var(--foot-fg);letter-spacing:.06em}
.fg .wm i{font-style:normal;color:var(--gold)}
.fg p{font-size:.8rem;line-height:1.9;max-width:34ch;color:var(--foot-dim);margin-top:1rem}
.fg h5{font-family:var(--mono);font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:1.1rem}
.fg a{display:block;font-size:.82rem;color:var(--foot-dim);padding:.26rem 0;transition:color .25s;cursor:pointer}
.fg a:hover{color:var(--foot-fg)}
.fb{border-top:1px solid var(--foot-rule);padding-top:1.5rem;display:flex;justify-content:space-between;font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--foot-dim);flex-wrap:wrap;gap:1rem}

/* ---------- CART ---------- */
.ovl{position:fixed;inset:0;background:rgba(0,0,0,.55);opacity:0;visibility:hidden;transition:.35s;z-index:200}
.ovl.open{opacity:1;visibility:visible}
.cart{position:fixed;top:0;right:0;bottom:0;width:min(430px,94vw);background:var(--paper);border-left:1px solid var(--line);z-index:210;transform:translateX(101%);transition:transform .45s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column}
.cart.open{transform:none}
.cart-h{display:flex;justify-content:space-between;align-items:center;padding:1.15rem 1.6rem;border-bottom:1px solid var(--line);height:64px}
.cart-h h3{font-family:var(--display);font-weight:var(--disp-w);font-size:1rem;letter-spacing:.02em}
.x{background:none;border:1px solid var(--line);width:32px;height:32px;font-size:1rem;cursor:pointer;color:var(--ink2);display:flex;align-items:center;justify-content:center;transition:all .2s;font-family:var(--mono);line-height:1}
.x:hover{background:var(--inv-bg);color:var(--inv-fg);border-color:var(--inv-bg)}
.cart-i{flex:1;overflow-y:auto;padding:0 1.6rem}
.citem{display:grid;grid-template-columns:64px 1fr auto;gap:1rem;padding:1.2rem 0;border-bottom:1px solid var(--line);align-items:start}
.citem .th{width:64px;height:64px;background:var(--field-bg);border:1px solid var(--line);overflow:hidden}
.citem .th img{width:100%;height:100%;object-fit:cover}
.citem .nm{font-family:var(--display);font-weight:var(--disp-w);font-size:.92rem}
.citem .cd{font-family:var(--mono);font-size:.6rem;color:var(--mute);margin:.15rem 0 .45rem;letter-spacing:.04em}
.citem .pz{font-family:var(--display);font-weight:var(--disp-w);font-size:.92rem}
.qty{display:inline-flex;align-items:center;border:1px solid var(--line);margin-top:.5rem}
.qty button{width:28px;height:28px;border:0;background:none;cursor:pointer;font-family:var(--mono);font-size:.85rem;color:var(--ink2)}
.qty button:hover{background:var(--chip-bg);color:var(--chip-fg)}
.qty span{min-width:30px;text-align:center;font-family:var(--mono);font-size:.76rem}
.rm{background:none;border:0;cursor:pointer;font-family:var(--mono);font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);padding:.2rem}
.rm:hover{color:#d4614f}
.empty{padding:4rem 0;text-align:center;font-family:var(--mono);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.cart-f{border-top:1px solid var(--line);padding:1.4rem 1.6rem 1.6rem;background:var(--paper2)}
.ctot{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:1.1rem}
.ctot span:first-child{font-family:var(--mono);font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--mute)}
.ctot span:last-child{font-family:var(--display);font-weight:var(--disp-w);font-size:1.5rem}
.cart-f .bt{width:100%}

/* ---------- MODALS ---------- */
.mov{position:fixed;inset:0;background:rgba(0,0,0,.66);z-index:300;display:flex;align-items:flex-start;justify-content:center;padding:5vh 4vw;opacity:0;visibility:hidden;transition:.28s;overflow-y:auto}
.mov.open{opacity:1;visibility:visible}
.md{background:var(--paper);border:1px solid var(--line);width:100%;max-width:900px;position:relative;padding:2.6rem}
.md.sm{max-width:640px}
.md > .x{position:absolute;top:1.1rem;right:1.1rem}
.md h3{font-family:var(--display);font-weight:var(--disp-w);font-size:1.5rem;letter-spacing:var(--disp-ls);margin-bottom:.5rem}
.msub{font-size:.85rem;color:var(--ink2);max-width:60ch;margin-bottom:1.8rem}
.pmg{display:grid;grid-template-columns:1fr 1fr;gap:2.4rem}
.pmp{background:var(--field-bg);border:1px solid var(--line);aspect-ratio:1;overflow:hidden}
.pmp img{width:100%;height:100%;object-fit:cover}
.pms{font-family:var(--mono);font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.pmn{font-family:var(--display);font-weight:var(--disp-w);font-size:2rem;letter-spacing:var(--disp-ls);margin:.35rem 0 .1rem}
.pmc{font-family:var(--mono);font-size:.68rem;color:var(--mute);letter-spacing:.08em;margin-bottom:1.4rem}
.pmb{display:inline-block;font-family:var(--mono);font-size:.55rem;letter-spacing:.16em;text-transform:uppercase;background:var(--goldbg);color:var(--goldfg);padding:.18rem .55rem;margin-bottom:.7rem}
.prow{display:flex;justify-content:space-between;gap:1rem;padding:.62rem 0;border-bottom:1px solid var(--line);font-size:.82rem}
.prow span:first-child{font-family:var(--mono);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);padding-top:.15rem}
.prow span:last-child{text-align:right;color:var(--ink)}
.pvar{margin-top:1.4rem}
.pbuy{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1.6rem;padding-top:1.4rem;border-top:2px solid var(--ink)}
.pbuy .pp{font-family:var(--display);font-weight:var(--disp-w);font-size:1.7rem;letter-spacing:var(--disp-ls);margin-right:auto}
.pbuy .qty button{width:34px;height:34px}
.ckg{display:grid;grid-template-columns:1.15fr .85fr;gap:2.2rem}
.cksum{background:var(--paper2);border:1px solid var(--line);padding:1.5rem;align-self:start}
.cksum h4{font-family:var(--mono);font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--mute);margin-bottom:1rem}
.ckl{display:flex;justify-content:space-between;gap:1rem;font-size:.82rem;padding:.42rem 0;border-bottom:1px solid var(--line)}
.cktot{display:flex;justify-content:space-between;align-items:baseline;margin-top:1rem;padding-top:1rem;border-top:2px solid var(--ink)}
.cktot span:first-child{font-family:var(--mono);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.cktot span:last-child{font-family:var(--display);font-weight:var(--disp-w);font-size:1.35rem}
.ckact{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:.4rem}
.cknote{font-family:var(--mono);font-size:.62rem;line-height:1.9;color:var(--mute);margin-top:1.4rem;padding-top:1.1rem;border-top:1px solid var(--line);letter-spacing:.04em}
.ibody{font-size:.88rem;color:var(--ink2);line-height:1.9;max-height:60vh;overflow-y:auto}
.ibody h4{font-family:var(--mono);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:1.4rem 0 .5rem}
.ibody p{margin-bottom:.7rem}

/* ---------- WA FLOAT ---------- */
.waf{position:fixed;right:1.6rem;bottom:1.6rem;z-index:120;background:var(--chip-bg);color:var(--chip-fg);font-family:var(--mono);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;padding:.95rem 1.3rem;border:1px solid var(--chip-bg);display:none;transition:all .25s}
.waf.show{display:block}
.waf:hover{background:var(--goldbg);color:var(--goldfg);border-color:var(--goldbg)}

.rv{opacity:0;transform:translateY(24px);transition:all .8s cubic-bezier(.16,1,.3,1)}
.rv.in{opacity:1;transform:none}

@media(max-width:1080px){
  .specs{grid-template-columns:1fr 1fr}
  .shw{grid-template-columns:1fr 1fr}
}
@media(max-width:960px){
  .series{grid-template-columns:1fr 1fr}
  .mani{grid-template-columns:1fr;gap:1.4rem}
  .mani .cols{grid-template-columns:1fr;gap:1.4rem}
  .mstats{grid-template-columns:1fr 1fr}
  .cgrid{grid-template-columns:1fr}
  .fg{grid-template-columns:1fr 1fr}
  .nl a:not(.hot):not(.cartbtn){display:none}
  .nl .burger{display:flex;align-items:center}
  section{padding:4rem 5vw}
  .pmg{grid-template-columns:1fr;gap:1.6rem}
  .ckg{grid-template-columns:1fr}
  .md{padding:2rem 1.4rem}
  .md > .x{position:fixed;top:calc(5vh + .7rem);right:calc(4vw + .7rem);z-index:5;background:var(--paper)}
  .sh{grid-template-columns:auto 1fr;gap:1rem}
  .sh .lnk{grid-column:1/-1}
}
@media(max-width:820px){
  .filters .cnt{margin-left:0;width:100%;border-left:0;border-top:1px solid var(--line);padding:.75rem 1.25rem}
}
@media(max-width:620px){
  .brand small{display:none}
  .brand{gap:.55rem}
  .nl a,.nl button{padding:0 .85rem;letter-spacing:.14em}
  .nl .cartbtn{gap:.4rem}
  .nl a.hot{display:none}
  .series{grid-template-columns:1fr}
  .shw{grid-template-columns:1fr}
  .specs{grid-template-columns:1fr}
  .mstats{grid-template-columns:1fr 1fr}
  .frow{grid-template-columns:1fr}
  footer{padding:3rem 5vw 2rem}
  .fg{grid-template-columns:1fr;gap:2rem}
}


/* hero — split sheet, image right, spec meta along the bottom */
.hero-grid{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 64px)}
.hero-copy{padding:5rem 3vw 3rem;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--line)}
.crumb{font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;color:var(--mute);text-transform:uppercase}
.hero h1{font-family:var(--display);font-weight:600;font-size:clamp(2.4rem,4.6vw,4.3rem);line-height:1.04;letter-spacing:-.025em;margin:2rem 0}
.hero h1 em{font-style:normal;color:var(--gold)}
.hero-copy p{max-width:48ch;color:var(--ink2);font-size:.95rem;line-height:1.85}
.hero-cta{display:flex;gap:1rem;margin-top:2.4rem;flex-wrap:wrap}
.hero-meta{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:3rem}
.hero-vis{position:relative;overflow:hidden;background:var(--shade)}
.hero-vis img{width:100%;height:100%;object-fit:cover;opacity:.96}
.hero-vis .tag{position:absolute;left:0;bottom:0;background:var(--paper);padding:1rem 1.6rem;font-family:var(--mono);font-size:.64rem;letter-spacing:.12em;color:var(--ink2);border-top:1px solid var(--line);border-right:1px solid var(--line)}
.hero-vis .tag b{color:var(--gold)}
@media(max-width:960px){
  .hero-grid{grid-template-columns:1fr}
  .hero-copy{border-right:0;border-bottom:1px solid var(--line);padding:3.5rem 5vw 2.5rem}
  .hero-vis{min-height:46vh}
}
@media(max-width:620px){.hero-meta{grid-template-columns:1fr 1fr}.hm:nth-child(2){border-right:0}}

/* catalogue — Swiss table rows */
.catwrap{background:var(--paper2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 -3vw;padding:0 3vw 5.5rem}
.cat-head{display:grid;grid-template-columns:88px 1.25fr 1fr 1fr .75fr auto;gap:1.4rem;padding:.9rem 0;border-bottom:2px solid var(--ink);font-family:var(--mono);font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mute)}
.crow{display:grid;grid-template-columns:88px 1.25fr 1fr 1fr .75fr auto;gap:1.4rem;align-items:center;padding:1rem 0;border-bottom:1px solid var(--line);transition:background .25s;cursor:pointer}
.crow:hover{background:var(--paper)}
.crow .th{width:88px;height:66px;background:var(--field-bg);border:1px solid var(--line);overflow:hidden}
.crow .th img{width:100%;height:100%;object-fit:cover}
.crow .nm{font-family:var(--display);font-weight:600;font-size:1.05rem;letter-spacing:-.01em}
.crow .nm small{display:block;font-family:var(--mono);font-weight:400;font-size:.62rem;color:var(--mute);margin-top:.2rem;letter-spacing:.04em}
.crow .nm .bdg{display:inline-block;font-family:var(--mono);font-size:.55rem;letter-spacing:.14em;text-transform:uppercase;background:var(--goldbg);color:var(--goldfg);padding:.12rem .42rem;margin-left:.5rem;vertical-align:middle}
.crow .sp{font-size:.74rem;color:var(--ink2)}
.crow .pz{font-family:var(--display);font-weight:600;font-size:1rem;white-space:nowrap}
.crow .add{font-family:var(--mono);width:38px;height:38px;border:1px solid var(--ink);display:flex;align-items:center;justify-content:center;font-size:1rem;transition:all .25s;background:none;color:var(--ink);cursor:pointer}
.crow:hover .add{background:var(--chip-bg);color:var(--chip-fg)}
.crow .add:hover{background:var(--gold);border-color:var(--gold);color:var(--goldfg)}
@media(max-width:960px){
  .catwrap{margin:0 -5vw;padding:0 5vw 4rem}
  .cat-head{display:none}
  .crow{grid-template-columns:72px 1fr auto auto;gap:.9rem}
  .crow .th{width:72px;height:56px}
  .crow .sp{display:none}
  .crow .nm{font-size:.98rem}
  .crow .pz{font-size:.92rem}
}
