/* ============================================================
   CARPE DIEM — home (cinematic scroll story)
   ============================================================ */

/* ---------- HERO (WebGL displacement + kinetic type) ---------- */
.hero{position:relative;height:100svh;min-height:640px;overflow:hidden;background:var(--ink);color:#fff}
.hero__canvas{position:absolute;inset:0;z-index:0}
.hero__canvas canvas{width:100%!important;height:100%!important;display:block}
.hero__fallback{position:absolute;inset:0;background-size:cover;background-position:center 25%;z-index:0}
.hero__scrim{position:absolute;inset:0;z-index:1;background:
  linear-gradient(180deg,rgba(10,10,11,.55),rgba(10,10,11,.05) 26%,rgba(10,10,11,.2) 55%,rgba(10,10,11,.75) 82%,rgba(10,10,11,.95))}
@media(max-width:820px){.hero__scrim{background:linear-gradient(180deg,rgba(10,10,11,.5),rgba(10,10,11,.1) 28%,rgba(10,10,11,.4) 62%,rgba(10,10,11,.9) 88%,rgba(10,10,11,.98))}}
.hero__in{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;
  padding:0 var(--gutter) clamp(40px,7vw,90px)}
.hero__kick{font-family:var(--mono);font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:#fff;margin-bottom:20px;opacity:.9}
.hero__title{font-family:var(--disp);font-weight:900;text-transform:uppercase;letter-spacing:-.04em;
  font-size:clamp(58px,15.5vw,260px);line-height:.82}
.hero__title .l{display:block;overflow:hidden}
.hero__title .l>span{display:block}
.hero__title em{font-style:italic;font-weight:700;-webkit-text-stroke:1.5px #fff;color:transparent;font-size:.5em;vertical-align:.18em}
@media(max-width:820px){.hero__title em{display:none}}
.hero__row{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;margin-top:26px}
.hero__sub{max-width:34ch;font-size:clamp(15px,1.4vw,19px);color:#fff;text-shadow:0 1px 20px rgba(0,0,0,.6)}
.hero__kick{text-shadow:0 1px 16px rgba(0,0,0,.6)}
.hero__cue{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;display:flex;align-items:center;gap:10px}
.hero__cue i{width:34px;height:1px;background:#fff;display:block;transform-origin:left;animation:cue 2s var(--ease) infinite}
@keyframes cue{0%,100%{transform:scaleX(.3);opacity:.4}50%{transform:scaleX(1);opacity:1}}

/* ---------- STATEMENT (pinned word reveal) ---------- */
.state{background:var(--paper);color:var(--ink);padding:clamp(90px,16vw,220px) var(--gutter)}
.state__wrap{max-width:1400px;margin:0 auto}
.state__eye{margin-bottom:40px}
.state__big{font-family:var(--disp);font-weight:900;text-transform:uppercase;letter-spacing:-.03em;
  font-size:clamp(30px,5.6vw,92px);line-height:1.02}
.state__big w{display:inline-block;opacity:.12;transition:opacity .4s var(--ease)}
.state__big w.on{opacity:1}
.state__big b{color:var(--red);font-weight:900}

/* ---------- FEATURED DROP (horizontal pinned) ---------- */
.drop{background:var(--ink);color:#fff;overflow:hidden;position:relative}
.drop__head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;
  padding:clamp(60px,9vw,120px) var(--gutter) 40px}
.drop__head h2{font-family:var(--disp);font-weight:900;text-transform:uppercase;letter-spacing:-.03em;font-size:clamp(40px,8vw,140px);line-height:.86}
.drop__track{display:flex;gap:clamp(16px,2vw,34px);padding:0 var(--gutter) clamp(60px,9vw,120px);will-change:transform}
@media(max-width:860px){
  .drop__track{overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:60px}
  .drop__track::-webkit-scrollbar{display:none}
  .dcard{scroll-snap-align:start}
}
.dcard{flex:none;width:min(76vw,440px)}
.dcard__ph{aspect-ratio:4/5;overflow:hidden;position:relative;
  background:radial-gradient(120% 120% at 50% 25%,#1b1b1e 0%,#0d0d0f 100%)}
.dcard__ph img{width:100%;height:100%;object-fit:contain;padding:9%;transition:transform 1s var(--ease);
  filter:drop-shadow(0 22px 32px rgba(0,0,0,.55))}
.dcard:hover .dcard__ph img{transform:scale(1.05)}
.dcard__tag{position:absolute;top:14px;left:14px;background:var(--red);color:#fff;font-family:var(--mono);
  font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:4px 9px;z-index:2}
.dcard__tag--out{background:var(--ink);border:1px solid rgba(255,255,255,.3)}
.dcard__meta{display:flex;justify-content:space-between;gap:14px;margin-top:16px;align-items:baseline}
.dcard__nm{font-family:var(--cond);font-weight:600;font-size:clamp(18px,1.6vw,24px);text-transform:uppercase;letter-spacing:.01em}
.dcard__pr{font-family:var(--mono);font-size:14px;color:var(--mute-d)}
.drop__hint{padding:0 var(--gutter) 40px;font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute-d)}

/* ---------- EDITORIAL SPLIT (parallax) ---------- */
.edi{position:relative;min-height:100svh;display:grid;grid-template-columns:1fr 1fr;background:var(--paper)}
@media(max-width:860px){.edi{grid-template-columns:1fr;min-height:auto}}
.edi__media{position:relative;overflow:hidden;background:var(--ink);min-height:70svh}
.edi__media img{position:absolute;inset:-12% 0;width:100%;height:124%;object-fit:cover;will-change:transform}
.edi__body{display:flex;flex-direction:column;justify-content:center;gap:24px;padding:clamp(50px,8vw,120px) var(--gutter)}
.edi__body h2{font-family:var(--disp);font-weight:900;text-transform:uppercase;letter-spacing:-.03em;font-size:clamp(34px,5vw,76px);line-height:.92}
.edi__body p{color:var(--mute);max-width:44ch;font-size:clamp(15px,1.2vw,18px)}
.edi__num{font-family:var(--mono);font-size:12px;letter-spacing:.2em;color:var(--red);text-transform:uppercase}

/* ---------- MANIFESTO (pinned scrub) ---------- */
.mani{background:var(--red);color:#fff;padding:clamp(90px,16vw,240px) var(--gutter);text-align:center}
.mani__t{font-family:var(--disp);font-weight:900;text-transform:uppercase;letter-spacing:-.03em;
  font-size:clamp(30px,6vw,104px);line-height:1;max-width:20ch;margin:0 auto}
.mani__t w{display:inline-block;opacity:.25;transition:opacity .35s var(--ease)}
.mani__t w.on{opacity:1}
.mani__sig{margin-top:40px;font-family:var(--mono);font-size:12px;letter-spacing:.24em;text-transform:uppercase}

/* ---------- LOOKBOOK parallax grid ---------- */
.lookg{background:var(--ink);color:#fff;padding:clamp(60px,9vw,120px) var(--gutter)}
.lookg__head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:40px}
.lookg__head h2{font-family:var(--disp);font-weight:900;text-transform:uppercase;letter-spacing:-.03em;font-size:clamp(36px,6vw,96px)}
.lookg__grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(10px,1.4vw,22px)}
.lookg__grid figure{margin:0;overflow:hidden;background:var(--ink-2);position:relative}
.lookg__grid img{width:100%;height:100%;object-fit:cover;will-change:transform}
.lg-a{grid-column:1/6;aspect-ratio:4/5}
.lg-b{grid-column:6/13;aspect-ratio:16/11;align-self:end}
.lg-c{grid-column:1/5;aspect-ratio:3/4}
.lg-d{grid-column:5/9;aspect-ratio:3/4;margin-top:-14%}
.lg-e{grid-column:9/13;aspect-ratio:3/4}
@media(max-width:760px){.lookg__grid{grid-template-columns:1fr 1fr}
  .lg-a,.lg-b,.lg-c,.lg-d,.lg-e{grid-column:auto;aspect-ratio:3/4;margin:0}}

/* ---------- SHOP PREVIEW grid (Plain Jane) ---------- */
.prev{background:var(--paper);padding:clamp(60px,9vw,120px) var(--gutter)}
.prev__head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:34px}
.prev__head h2{font-family:var(--disp);font-weight:900;text-transform:uppercase;letter-spacing:-.03em;font-size:clamp(34px,5vw,84px)}
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.6vw,26px)}
@media(max-width:900px){.pgrid{grid-template-columns:1fr 1fr}}
.card{display:block}
.card__ph{position:relative;aspect-ratio:1;overflow:hidden;
  background:radial-gradient(125% 125% at 50% 18%,#efece6 0%,#dbd5cc 100%)}
.card__ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:11%;
  transition:transform 1.1s var(--ease);filter:drop-shadow(0 18px 28px rgba(10,10,11,.24))}
.card:hover .card__ph img{transform:scale(1.05) rotate(-.5deg)}
.card__out{position:absolute;top:10px;left:10px;background:var(--red);color:#fff;font-family:var(--mono);
  font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;z-index:2}
.card__nm{font-family:var(--cond);font-weight:600;font-size:15px;text-transform:uppercase;text-align:center;margin-top:12px;letter-spacing:.02em}
.card__pr{font-family:var(--mono);font-size:12px;color:var(--mute);text-align:center;margin-top:3px}
