:root{
  --bg:#ffffff;--ink:#16140f;--sub:#7c7a72;--line:rgba(22,20,15,.13);--cell:#f4f3ef;
  --pl:rgba(22,20,15,.32);--green:#2FBE6A;--green-d:#0b6e3b}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:'Inter',system-ui,sans-serif;font-weight:300;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img,video{display:block;max-width:100%}
.mono{font-family:'Space Mono',monospace;text-transform:uppercase;letter-spacing:.12em;font-size:.62rem}
.wrap{max-width:1540px;margin:0 auto}
/* green accent scrollbar */
html{scrollbar-color:var(--green) rgba(0,0,0,.05)}
::-webkit-scrollbar{width:11px;height:11px}
::-webkit-scrollbar-track{background:rgba(0,0,0,.04)}
::-webkit-scrollbar-thumb{background:var(--green);border-radius:6px;border:2px solid #fff}
::-webkit-scrollbar-thumb:hover{background:var(--green-d)}
/* product page: hide the redundant page scrollbar (gallery keeps its own beside the product) */
html.noscroll{scrollbar-width:none}
html.noscroll::-webkit-scrollbar{width:0;height:0;display:none}
/* ---- corner plus marks (injected on .boxed) ---- */
.boxed{position:relative;border:1px solid var(--line)}
.cpl{position:absolute;width:9px;height:9px;color:var(--pl);z-index:4;pointer-events:none}
.cpl::before,.cpl::after{content:"";position:absolute;background:currentColor}
.cpl::before{left:50%;top:0;width:1px;height:100%;transform:translateX(-50%)}
.cpl::after{top:50%;left:0;height:1px;width:100%;transform:translateY(-50%)}
.cpl.tl{left:-5px;top:-5px}.cpl.tr{right:-5px;top:-5px}.cpl.bl{left:-5px;bottom:-5px}.cpl.br{right:-5px;bottom:-5px}
/* ---- credit strip ---- */
.strip{background:var(--ink);color:#fff;text-align:center;padding:9px 16px;font-family:'Space Mono',monospace;text-transform:uppercase;letter-spacing:.12em;font-size:.58rem}
.strip a{color:var(--green);border-bottom:1px solid rgba(47,190,106,.5);padding-bottom:1px}
/* ---- topbar ---- */
.topbar{position:sticky;top:0;z-index:30;display:flex;justify-content:space-between;align-items:center;padding:18px 40px;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.logo{display:flex;align-items:center;gap:10px}.logo .mk{height:22px;width:auto}.logo .wm{height:11px;width:auto}
.logo .mk,.logo .wm{filter:invert(1)}
.nav{display:flex;gap:26px;font-family:'Space Mono',monospace;text-transform:uppercase;letter-spacing:.1em;font-size:.66rem;color:var(--sub)}
.nav a:hover{color:var(--ink)}
.nav a.on{color:var(--ink);border-bottom:2px solid var(--green);padding-bottom:4px}
.tr{display:flex;align-items:center;gap:18px;font-family:'Space Mono',monospace;text-transform:uppercase;letter-spacing:.1em;font-size:.66rem}
@media(max-width:780px){.topbar{flex-wrap:wrap;padding:12px 16px;row-gap:8px}.nav{display:flex;order:3;flex-basis:100%;justify-content:center;gap:20px;font-size:.6rem;padding-top:8px;margin-top:2px;border-top:1px solid var(--line)}.tr{font-size:.62rem;gap:12px}}
/* ---- footer ---- */
.foot{border-top:1px solid var(--line);padding:38px 40px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px}
.foot .b{display:flex;align-items:center;gap:9px}.foot .b img{height:18px;filter:invert(1)}
.foot .by{font-family:'Space Mono',monospace;text-transform:uppercase;letter-spacing:.08em;font-size:.6rem;color:var(--sub)}
.foot .by a{color:var(--green-d);border-bottom:1px solid var(--green)}
.foot .book{font-family:'Space Mono',monospace;text-transform:uppercase;letter-spacing:.1em;font-size:.62rem;border:1px solid var(--ink);border-radius:30px;padding:10px 18px;transition:.3s}
.foot .book:hover{background:var(--green);border-color:var(--green);color:#04140b}
/* ============ HOME ============ */
.hero{padding:11vh 40px 8vh;border-bottom:1px solid var(--line)}
.hero .lbl{color:var(--sub);margin-bottom:22px}.hero .lbl b{color:var(--green);font-weight:400}
.hero h1{font-family:'Archivo',sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:-.03em;line-height:.92;font-size:clamp(2.6rem,8vw,6.4rem)}
.hero p{margin-top:24px;color:var(--sub);max-width:52ch;line-height:1.65;font-size:clamp(1rem,1.3vw,1.15rem)}
.cats{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,30px);padding:clamp(22px,3vw,52px)}
.cat{position:relative;background:var(--bg);display:block}
.cat .ph{aspect-ratio:2/3;background:var(--cell);overflow:hidden;padding:16px}
.cat .ph img{width:100%;height:100%;object-fit:cover;transition:transform .85s cubic-bezier(.2,.7,.2,1)}
.cat:hover .ph img{transform:scale(1.12)}
.cat .meta{display:flex;justify-content:space-between;align-items:baseline;padding:22px 26px}
.cat .meta h2{font-family:'Archivo',sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:-.01em;font-size:clamp(1.3rem,2vw,1.9rem)}
.cat .meta .n{font-family:'Space Mono',monospace;text-transform:uppercase;letter-spacing:.1em;font-size:.6rem;color:var(--sub)}
.cat.soon{pointer-events:none}
.cat.soon .ph{background:var(--cell)}
.cat.soon .ph::after{content:"Coming soon";position:absolute;font-family:'Space Mono',monospace;text-transform:uppercase;letter-spacing:.14em;font-size:.66rem;color:var(--sub)}
.cat.soon .ph{position:relative}
.cat .tag{position:absolute;left:16px;top:16px;z-index:2;font-family:'Space Mono',monospace;text-transform:uppercase;letter-spacing:.08em;font-size:.54rem;background:#fff;padding:6px 10px;border-radius:30px}
@media(max-width:860px){.cats{grid-template-columns:repeat(2,1fr)}.hero{padding:8vh 18px 6vh}.cat[href="shoes.html"]{order:3;grid-column:1/-1;width:48%;justify-self:center}}
/* ============ CATEGORY (bags) ============ */
.cathead{padding:7vh 40px 4vh;display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px;border-bottom:1px solid var(--line)}
.cathead .bc{font-family:'Space Mono',monospace;text-transform:uppercase;letter-spacing:.1em;font-size:.62rem;color:var(--sub);margin-bottom:14px}
.cathead h1{font-family:'Archivo',sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:-.025em;font-size:clamp(2.2rem,6vw,4.6rem);line-height:.95}
.cathead .note{font-family:'Space Mono',monospace;text-transform:uppercase;letter-spacing:.08em;font-size:.6rem;color:var(--sub);text-align:right}
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border-bottom:1px solid var(--line)}
@media(max-width:1080px){.pgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.pgrid{grid-template-columns:repeat(2,1fr)}}
.pcard{background:var(--bg);cursor:pointer;display:block;position:relative}
.pcard .ph{position:relative;aspect-ratio:3/4;background:var(--cell);overflow:hidden}
.pcard .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:7%;transition:opacity .55s ease}
.pcard .ph .alt{opacity:0}
.pcard:hover .ph .base{opacity:0}
.pcard:hover .ph .alt{opacity:1}
.pcard .badges{position:absolute;left:14px;top:14px;z-index:2;display:flex;gap:6px}
.pcard .tag{font-family:'Space Mono',monospace;text-transform:uppercase;letter-spacing:.07em;font-size:.5rem;background:#fff;padding:5px 8px;border-radius:30px}
.pcard .tag.v{background:var(--ink);color:#fff}
.pcard .meta{padding:16px 22px 24px}
.pcard .meta .nm{font-size:.95rem;letter-spacing:.01em}
.pcard .meta .row{display:flex;justify-content:space-between;align-items:baseline;margin-top:6px}
.pcard .meta .pr{font-family:'Space Mono',monospace;font-size:.78rem;transition:color .3s}
.pcard:hover .meta .pr{color:var(--green-d)}
.pcard .meta .sw{display:flex;gap:5px;margin-top:0}
.pcard .meta .sw i{width:11px;height:11px;border-radius:50%;border:1px solid rgba(0,0,0,.15);display:inline-block}
/* ============ PDP ============ */
.pdp{display:grid;grid-template-columns:78px minmax(380px,700px) 372px;justify-content:center;max-width:1540px;margin:0 auto;border-left:1px solid var(--line);border-right:1px solid var(--line)}
.rail{position:sticky;top:78px;align-self:start;height:calc(100vh - 78px);overflow-y:auto;padding:18px 12px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
.rail::-webkit-scrollbar{width:0}
.rail .rt{width:100%;aspect-ratio:3/4;object-fit:cover;background:var(--cell);border:1px solid transparent;cursor:pointer;opacity:.65;transition:.25s;position:relative}
.rail .rt:hover,.rail .rt.on{opacity:1;border-color:var(--ink)}
.rail .rtv{position:relative}.rail .rtv::after{content:"▷";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;background:rgba(0,0,0,.32);font-size:.85rem}
.gal{position:sticky;top:78px;align-self:start;height:calc(100vh - 78px);overflow-y:auto;padding:14px 5px 14px 0;display:flex;flex-direction:column;align-items:center;gap:14px}
.galitem{background:#fff;display:flex;align-items:center;justify-content:center;width:fit-content;max-width:100%}
.galitem img,.galitem video{width:auto;max-width:100%;max-height:calc(100vh - 120px);display:block}
.pinfo{position:sticky;top:78px;align-self:start;border-left:1px solid var(--line);padding:40px 34px;display:flex;flex-direction:column;min-height:calc(100vh - 78px)}
.pinfo .bc{font-family:'Space Mono',monospace;text-transform:uppercase;letter-spacing:.1em;font-size:.6rem;color:var(--sub)}
.pinfo .bc a:hover{color:var(--ink)}
.pinfo h1{font-family:'Archivo',sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:-.02em;font-size:clamp(1.5rem,2.4vw,2.1rem);line-height:1;margin-top:16px}
.pinfo .code{font-family:'Space Mono',monospace;font-size:.6rem;letter-spacing:.06em;color:var(--sub);margin-top:10px}
.pinfo .price{font-family:'Space Mono',monospace;font-size:1.15rem;margin-top:18px}
.pinfo .clabel{font-family:'Space Mono',monospace;text-transform:uppercase;letter-spacing:.08em;font-size:.58rem;color:var(--sub);margin:24px 0 10px}
.pinfo .clabel b{color:var(--ink);font-weight:400}
.swatches{display:flex;gap:10px}
.swatches i{width:30px;height:30px;border-radius:50%;border:1px solid rgba(0,0,0,.18);cursor:pointer;position:relative;transition:.2s}
.swatches i.on{box-shadow:0 0 0 2px #fff,0 0 0 3px var(--green)}
.addbag{margin-top:26px;background:var(--ink);color:#fff;border:none;font-family:'Space Mono',monospace;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;padding:17px;cursor:pointer;transition:.3s}
.addbag:hover{background:var(--green-d)}
.pdesc{margin-top:22px;color:#56544c;line-height:1.6;font-size:.92rem}
.acc{border-top:1px solid var(--line);margin-top:8px}
.acc:last-of-type{border-bottom:1px solid var(--line)}
.acc button{width:100%;background:none;border:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:18px 0;font-family:'Space Mono',monospace;text-transform:uppercase;letter-spacing:.08em;font-size:.66rem;color:var(--ink)}
.acc .ic{font-size:1rem;transition:transform .3s}.acc.open .ic{transform:rotate(45deg)}
.acc .body{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.62,.05,.01,.99);font-size:.82rem;line-height:1.7;color:#56544c}
.acc.open .body{max-height:240px;padding-bottom:18px}
.credit{margin-top:auto;padding-top:28px;border-top:1px solid var(--line)}
.credit .lbl{font-family:'Space Mono',monospace;text-transform:uppercase;letter-spacing:.08em;font-size:.56rem;color:var(--sub);line-height:1.75}
.credit .lbl b{color:var(--green);font-weight:400}
.credit a.book{display:inline-block;margin-top:12px;font-family:'Archivo',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.02em;font-size:.78rem;color:var(--green-d);border-bottom:2px solid var(--green);padding-bottom:2px}
@media(max-width:1000px){.pdp{grid-template-columns:1fr}.rail{display:none}.gal{position:static;height:auto;flex-direction:row;align-items:stretch;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;gap:10px;padding:0 12px;scroll-padding:0 12px}.gal::-webkit-scrollbar{display:none}.galitem{flex:0 0 86%;scroll-snap-align:center}.galitem img,.galitem video{max-height:74vh}.pinfo{position:static;min-height:0;border-left:none;border-top:1px solid var(--line)}}
