:root{
  --bg:#0a0a0a; --ink:#f2f0eb; --mut:#a19d94; --red:#e8391b;
  --line:rgba(242,240,235,.14); --pad:clamp(20px,4vw,56px);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{word-break:keep-all;font-family:'Archivo',system-ui,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}
h1,h2,h3{text-wrap:balance}
p,li{text-wrap:pretty}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.serif{font-family:'Zodiak',serif;font-weight:400}
.label{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mut)}

/* ---------- Nav ---------- */
nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;justify-content:space-between;align-items:center;
    padding:14px var(--pad);transition:background-color .35s;}
nav.solid{background:rgba(10,10,10,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
/* nav "shrink" on scroll: inner items translate instead of animating nav padding (layout prop) */
nav .logo,nav .nav-links{transform:translateY(8px);transition:transform .35s cubic-bezier(0.23,1,0.32,1)}
nav.solid .logo,nav.solid .nav-links{transform:translateY(0)}
@media(prefers-reduced-motion:reduce){nav .logo,nav .nav-links{transition:none}}
.logo{font-weight:600;letter-spacing:.14em;font-size:15px}
.logo sup{font-size:8px}
.logo .dot{color:var(--red)}
.nav-links{display:flex;gap:30px;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.nav-links a{opacity:.85;transition:opacity .2s}
.nav-links a:hover{opacity:1;color:var(--red)}
.nav-links a.on{color:var(--red);opacity:1}
@media(max-width:720px){.nav-links{gap:16px}}

/* ---------- Hero slider (home) ---------- */
.hero{position:relative;height:100svh;min-height:620px;overflow:hidden}
.slide{position:absolute;inset:0;opacity:0;transition:opacity 1.1s ease;pointer-events:none}
.slide.on{opacity:1;pointer-events:auto}
.slide-bg{position:absolute;inset:0;background-size:cover;background-position:center 30%;
          filter:grayscale(.55) contrast(1.08);transform:scale(1.04)}
.slide.on .slide-bg{animation:heroDrift 6.5s ease-out forwards}
@keyframes heroDrift{from{transform:scale(1.09)}to{transform:scale(1.02)}}
@media(prefers-reduced-motion:reduce){.slide.on .slide-bg{animation:none;transform:scale(1.04)}}
.slide::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,8,8,.55) 0%,rgba(8,8,8,.05) 42%,rgba(8,8,8,.78) 100%)}
.hero-body{position:absolute;left:var(--pad);bottom:56px;z-index:5;max-width:min(760px,86vw)}
.hero-num{font-family:'Zodiak',serif;font-style:italic;font-size:clamp(72px,9vw,124px);line-height:.8;color:var(--red)}
.hero-title{font-size:clamp(36px,5.2vw,72px);font-weight:600;line-height:1.0;letter-spacing:.005em;text-transform:uppercase;margin-top:18px}
.hero-sub{font-size:15px;color:var(--mut);margin-top:16px;max-width:34em}
.hero-cta{display:inline-block;margin-top:26px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;
          border-bottom:1px solid var(--red);padding-bottom:6px;transition:color .2s}
.hero-cta:hover{color:var(--red)}
.hero-side{position:absolute;right:var(--pad);bottom:56px;z-index:6;text-align:right}
.hero-scroll{font-family:'Zodiak',serif;font-style:italic;font-size:22px;color:var(--red)}
.hero-dots{margin-top:14px;font-size:11px;letter-spacing:.2em;color:var(--mut);display:flex;gap:10px;justify-content:flex-end}
.hero-dots button{all:unset;cursor:pointer;color:var(--mut);letter-spacing:.2em;font-size:11px;font-family:inherit}
.hero-dots button.on{color:var(--red);font-weight:600}
.hero-clock{position:absolute;top:96px;right:var(--pad);z-index:6;text-align:right;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}

/* ---------- Page head (sub pages) ---------- */
.page-head{padding:clamp(140px,18vh,200px) var(--pad) 0}
.page-head .crumb{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mut)}
.page-head .crumb b{color:var(--red);font-weight:600}
.page-head h1{font-size:clamp(44px,7vw,104px);font-weight:600;text-transform:uppercase;line-height:.96;margin-top:18px}
.page-head h1 em{font-family:'Zodiak',serif;font-style:italic;font-weight:400;color:var(--red);text-transform:none}
.page-head .lede{color:var(--mut);font-size:15px;line-height:1.75;margin-top:20px;max-width:36em}

/* ---------- Marquee ---------- */
.marquee{background:var(--red);color:#0c0c0c;overflow:hidden;white-space:nowrap;padding:11px 0;border-block:1px solid #000}
.marquee-track{display:inline-block;animation:mq 26s linear infinite;font-weight:600;font-size:13px;letter-spacing:.1em;text-transform:uppercase}
.marquee-track span{margin:0 26px}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.marquee-track{animation:none}}

/* ---------- Section shell ---------- */
section{padding:clamp(72px,9vw,130px) var(--pad)}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:44px;gap:20px;flex-wrap:wrap}
.sec-title{font-size:clamp(28px,3.4vw,46px);font-weight:600;text-transform:uppercase;line-height:1.02}
.sec-title em{font-family:'Zodiak',serif;font-style:italic;font-weight:400;color:var(--red);text-transform:none}
.sec-link{font-size:11px;letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid var(--red);padding-bottom:5px}
.sec-link:hover{color:var(--red)}

/* ---------- Product grid ---------- */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px 16px}
@media(max-width:1100px){.grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.grid{grid-template-columns:repeat(2,1fr)}}
.card{position:relative}
.card-img{position:relative;aspect-ratio:3/4;overflow:hidden;background:#141414}
.card-img img{width:100%;height:100%;object-fit:cover;filter:grayscale(.55) contrast(1.08);transition:opacity .45s ease,transform .6s ease}
.card-img img.alt{position:absolute;inset:0;opacity:0}
@media(hover:hover) and (pointer:fine){
  .card:hover .card-img img.alt{opacity:1}
  .card:hover .card-img img{transform:scale(1.03)}
}
.card-tag{position:absolute;top:10px;left:10px;background:var(--red);color:#0c0c0c;font-size:9px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:4px 8px}
.card-meta{display:flex;justify-content:space-between;align-items:baseline;margin-top:12px;gap:8px}
.card-name{font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.card-sku{font-size:10px;letter-spacing:.1em;color:var(--mut);margin-top:3px}
.card-price{font-size:13px;color:var(--mut)}
.card:hover .card-price{color:var(--red)}

/* ---------- Shop filter row ---------- */
.filter-row{display:flex;gap:10px;flex-wrap:wrap;margin:34px 0 40px}
.filter-row button{all:unset;cursor:pointer;font-family:inherit;font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  padding:9px 16px;border:1px solid var(--line);color:var(--mut);transition:color .2s,border-color .2s,background-color .2s}
.filter-row button:hover{color:var(--ink);border-color:var(--ink)}
.filter-row button.on{color:#0c0c0c;background:var(--ink);border-color:var(--ink)}

/* ---------- Splits ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;min-height:72vh;border-block:1px solid var(--line)}
@media(max-width:820px){.split{grid-template-columns:1fr}}
.split-img{position:relative;overflow:hidden;min-height:380px}
.split-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.55) contrast(1.08)}
.split-txt{display:flex;flex-direction:column;justify-content:center;padding:clamp(40px,6vw,90px)}
.split-txt .label{margin-bottom:18px}
.split-txt h3{font-size:clamp(30px,3.6vw,52px);font-weight:600;text-transform:uppercase;line-height:1.02}
.split-txt h3 em{font-family:'Zodiak',serif;font-style:italic;font-weight:400;color:var(--red);text-transform:none}
.split-txt p{color:var(--mut);font-size:15px;line-height:1.75;margin-top:18px;max-width:30em}
.split-cta{display:inline-block;margin-top:30px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid var(--red);padding-bottom:6px;align-self:flex-start}
.split-cta:hover{color:var(--red)}

/* ---------- Manifesto ---------- */
.manifesto{text-align:center;max-width:900px;margin:0 auto}
.manifesto .serif{font-size:clamp(30px,4.6vw,58px);line-height:1.18}
.manifesto .serif em{font-style:italic;color:var(--red)}
.manifesto .label{margin-bottom:26px}

/* ---------- Club ---------- */
.club{position:relative;overflow:hidden;border-block:1px solid var(--line)}
.club-bg{position:absolute;inset:0;background:url('../img/cand-29971637.jpg') center 20%/cover;filter:grayscale(.6) contrast(1.05) brightness(.55)}
.club-in{position:relative;z-index:2;text-align:center;max-width:720px;margin:0 auto;padding:clamp(40px,6vw,60px) 0}
.club-in h3{font-size:clamp(34px,4.6vw,64px);font-weight:600;text-transform:uppercase;line-height:1.0}
.club-in h3 em{font-family:'Zodiak',serif;font-style:italic;font-weight:400;color:var(--red);text-transform:none}
.club-in p{color:#cfccc4;margin-top:18px;font-size:15px;line-height:1.75}
.club-perks{display:flex;justify-content:center;gap:clamp(18px,4vw,54px);margin-top:34px;flex-wrap:wrap}
.club-perks div{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.club-perks div::before{content:'—';color:var(--red);margin-right:8px}
.club-cta{display:inline-block;margin-top:38px;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;background:var(--red);color:#0c0c0c;padding:15px 30px;transition:filter .2s}
.club-cta:hover{filter:brightness(1.1)}

/* ---------- Club page (full) ---------- */
.club-rules{max-width:760px;margin:0 auto}
.rule{display:grid;grid-template-columns:90px 1fr;gap:22px;padding:26px 0;border-bottom:1px solid var(--line)}
.rule:first-child{border-top:1px solid var(--line)}
.rule .no{font-family:'Zodiak',serif;font-style:italic;font-size:30px;color:var(--red)}
.rule h4{font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.rule p{color:var(--mut);font-size:14px;line-height:1.7;margin-top:8px}
.join{max-width:560px;margin:0 auto;text-align:center}
.join-form{display:flex;gap:10px;margin-top:30px}
.join-form input{flex:1;background:#141414;border:1px solid var(--line);color:var(--ink);font-family:inherit;font-size:13px;padding:15px 16px;outline:none}
.join-form input:focus{border-color:var(--red)}
.join-form button{all:unset;cursor:pointer;font-family:inherit;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;background:var(--red);color:#0c0c0c;padding:0 26px}
.join-note{font-size:11px;color:var(--mut);margin-top:14px;letter-spacing:.04em}
@media(max-width:560px){.join-form{flex-direction:column}.join-form button{padding:15px 0}}

/* ---------- Lookbook ---------- */
.lb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:900px){.lb-grid{grid-template-columns:repeat(2,1fr)}}
.lb-item{position:relative;overflow:hidden;background:#141414}
.lb-item img{width:100%;height:100%;object-fit:cover;aspect-ratio:3/4;filter:grayscale(.55) contrast(1.08);transition:transform .6s}
@media(hover:hover) and (pointer:fine){.lb-item:hover img{transform:scale(1.03)}}
.lb-item.wide{grid-column:span 2}
.lb-item.wide img{aspect-ratio:16/10}
.lb-cap{position:absolute;left:14px;bottom:12px;font-family:'Zodiak',serif;font-style:italic;font-size:16px;color:#f2f0eb;text-shadow:0 1px 12px rgba(0,0,0,.5)}

/* ---------- Footer ---------- */
footer{background:#e8e6e0;color:#141414;padding:64px var(--pad) 28px}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px}
@media(max-width:820px){.foot-grid{grid-template-columns:1fr 1fr}}
.foot-grid h4{font-size:11px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:14px;color:#141414}
.foot-grid a{display:block;font-size:13px;color:#5c5a55;margin-bottom:9px}
.foot-grid a:hover{color:var(--red)}
.foot-brand p{font-size:13px;color:#5c5a55;max-width:26em;line-height:1.7;margin-top:12px}
.foot-mark{font-weight:700;letter-spacing:.1em;font-size:18px}
.foot-mega{font-weight:700;font-size:clamp(64px,14vw,220px);line-height:.85;letter-spacing:.01em;color:#141414;margin-top:56px;user-select:none}
.foot-mega .dot{color:var(--red)}
.foot-legal{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid #c9c7c1;margin-top:26px;padding-top:18px;font-size:11px;color:#8a877f;letter-spacing:.04em}

.reveal{will-change:transform,opacity}

/* ---------- Wow: flashlight cursor (lookbook) ---------- */
.flash{cursor:crosshair;position:relative}
.flash .base{filter:grayscale(.7) contrast(1.05) brightness(.16)}
.flash .lit{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:grayscale(.45) contrast(1.1);opacity:0;transition:opacity .3s;
  -webkit-mask-image:radial-gradient(circle 190px at var(--x,50%) var(--y,50%), #000 0 42%, transparent 74%);
          mask-image:radial-gradient(circle 190px at var(--x,50%) var(--y,50%), #000 0 42%, transparent 74%);}
.flash.on .lit{opacity:1}
.flash-hint{position:absolute;left:20px;bottom:16px;z-index:3;font-family:'Zodiak',serif;font-style:italic;
  font-size:18px;color:#f2f0eb;opacity:.85;pointer-events:none}
@media(hover:none){.flash .base{filter:grayscale(.55) contrast(1.08)}.flash .lit,.flash-hint{display:none}}

/* ---------- Product page ---------- */
.pd{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,4vw,64px);padding-top:clamp(120px,15vh,170px)}
@media(max-width:860px){.pd{grid-template-columns:1fr}}
.pd-gallery{display:flex;flex-direction:column;gap:12px}
.pd-main{aspect-ratio:3/4;overflow:hidden;background:#141414}
.pd-main img{width:100%;height:100%;object-fit:cover;filter:grayscale(.55) contrast(1.08)}
.pd-thumbs{display:flex;gap:12px}
.pd-thumbs button{all:unset;cursor:pointer;width:88px;aspect-ratio:3/4;overflow:hidden;background:#141414;outline:1px solid transparent}
.pd-thumbs button img{width:100%;height:100%;object-fit:cover;filter:grayscale(.55) contrast(1.08);opacity:.6;transition:opacity .2s}
.pd-thumbs button.on{outline:1px solid var(--red)}
.pd-thumbs button.on img,.pd-thumbs button:hover img{opacity:1}
.pd-info{position:sticky;top:110px;align-self:start}
.pd-crumb{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mut)}
.pd-crumb a:hover{color:var(--red)}
.pd-info h1{font-size:clamp(30px,3.6vw,50px);font-weight:600;text-transform:uppercase;line-height:1.0;margin-top:14px}
.pd-sku{font-size:11px;letter-spacing:.12em;color:var(--mut);margin-top:10px;text-transform:uppercase}
.pd-price{font-size:22px;margin-top:18px}
.pd-desc{color:var(--mut);font-size:15px;line-height:1.75;margin-top:18px;max-width:34em}
.pd-label{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mut);margin:26px 0 10px}
.size-row{display:flex;gap:8px;flex-wrap:wrap}
.size-row button{all:unset;cursor:pointer;font-family:inherit;font-size:12px;letter-spacing:.08em;min-width:46px;text-align:center;
  padding:11px 10px;border:1px solid var(--line);color:var(--ink);transition:color .15s,border-color .15s,background-color .15s}
.size-row button:hover{border-color:var(--ink)}
.size-row button.on{background:var(--ink);color:#0c0c0c;border-color:var(--ink)}
.qty-row{display:flex;align-items:center;gap:0;border:1px solid var(--line);width:max-content}
.qty-row button{all:unset;cursor:pointer;font-family:inherit;width:40px;text-align:center;padding:11px 0;color:var(--mut)}
.qty-row button:hover{color:var(--red)}
.qty-row span{min-width:36px;text-align:center;font-size:14px}
.pd-add{display:block;width:100%;margin-top:26px;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  background:var(--red);color:#0c0c0c;padding:17px 0;text-align:center;border:0;cursor:pointer;font-family:inherit;transition:filter .2s}
.pd-add:hover{filter:brightness(1.1)}
.pd-add.ok{background:#2f9e44;color:#fff}
.pd-note{font-size:11px;color:var(--mut);margin-top:12px;letter-spacing:.04em;text-align:center}
.pd-spec{margin-top:26px;border-top:1px solid var(--line)}
.pd-spec li{list-style:none;font-size:13px;color:var(--mut);padding:11px 0;border-bottom:1px solid var(--line)}
.pd-spec li::before{content:'—';color:var(--red);margin-right:10px}

/* ---------- Cart page ---------- */
.cart-wrap{max-width:880px;margin:0 auto;padding-top:clamp(120px,15vh,170px)}
.cart-row{display:grid;grid-template-columns:96px 1fr auto auto;gap:18px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}
@media(max-width:640px){.cart-row{grid-template-columns:72px 1fr;row-gap:10px}}
.cart-row .im{width:96px;aspect-ratio:3/4;object-fit:cover;filter:grayscale(.55) contrast(1.08)}
@media(max-width:640px){.cart-row .im{width:72px}}
.cart-row .nm{font-size:14px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.cart-row .mt{font-size:11px;color:var(--mut);letter-spacing:.1em;margin-top:5px;text-transform:uppercase}
.cart-row .rm{all:unset;cursor:pointer;font-size:11px;color:var(--mut);letter-spacing:.1em;text-transform:uppercase;margin-top:9px;display:block}
.cart-row .rm:hover{color:var(--red)}
.cart-row .ln{font-size:15px;text-align:right;min-width:70px}
.cart-total{display:flex;justify-content:space-between;align-items:baseline;padding:24px 0 8px;font-size:15px}
.cart-total b{font-size:22px}
.cart-cta{display:block;width:100%;margin-top:18px;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  background:var(--red);color:#0c0c0c;padding:17px 0;text-align:center;border:0;cursor:pointer;font-family:inherit}
.cart-cta:hover{filter:brightness(1.1)}
.cart-empty{text-align:center;padding:60px 0 20px;color:var(--mut)}
.cart-empty .serif{font-size:clamp(26px,3.4vw,40px);color:var(--ink)}
.cart-note{font-size:11px;color:var(--mut);margin-top:12px;letter-spacing:.04em;text-align:center}

/* ---------- Wow: night mode (22:00–06:00) ---------- */
body.night{--bg:#050505;--red:#ff3517}
body.night .hero-num{text-shadow:0 0 34px rgba(255,53,23,.45)}
body.night .marquee{background:#0c0c0c;color:var(--red);border-block:1px solid var(--red)}
body.night .club-bg{filter:grayscale(.6) contrast(1.05) brightness(.4)}
