/* =============================================================
   LAYOR FIT — light "inside-out" theme
   Loads after main.css. Royal Athletes apparel brand.
   ============================================================= */
:root{
  --lf-paper:#f4f2ec;
  --lf-panel:#ffffff;
  --lf-soft:#ebe8df;
  --lf-bg:#ffffff;
  --lf-ink:#16181f;
  --lf-mute:#4a4d44;
  --lf-line:#e2ded2;
  --font-lf:'Space Grotesk','Inter',sans-serif;
}

body.lf{background:var(--lf-paper);}

/* LF content typography */
.lf-main h1,.lf-main h2,.lf-main h3,.lf-main h4{
  font-family:var(--font-lf);
  text-transform:none;
  letter-spacing:-.025em;
  line-height:1.04;
  color:var(--lf-ink);
}
.lf-main h1{font-size:clamp(2.8rem,6.5vw,5.4rem);font-weight:700;}
.lf-main h2{font-size:clamp(2rem,3.8vw,3.1rem);font-weight:600;}
.lf-main h3{font-size:clamp(1.3rem,2vw,1.7rem);font-weight:600;}
.lf-main p{color:var(--lf-mute);}
.lf-main .lead{font-size:1.18rem;color:#4c4e47;line-height:1.7;}

.lf-sec{padding-block:clamp(60px,8vw,116px);}
.lf-bg-paper{background:var(--lf-paper);}
.lf-bg-panel{background:var(--lf-panel);}
.lf-bg-soft{background:var(--lf-soft);}

/* kicker */
.lf-kick{
  display:inline-flex;align-items:center;gap:11px;
  font-family:var(--font-lf);font-weight:600;
  font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--royal-600);
}
.lf-kick::before{display:none;}
.lf-kick.c{justify-content:center;}

/* ---- Hero ---- */
.lf-hero{
  position:relative;overflow:hidden;
  background:var(--lf-paper);
  padding-top:clamp(140px,18vh,200px);
  padding-bottom:clamp(50px,7vw,90px);
  text-align:center;
}
.lf-hero .lf-grain{
  position:absolute;inset:0;
  background-image:radial-gradient(circle at 82% 8%,rgba(42,92,196,.12),transparent 42%),
                   radial-gradient(circle at 10% 95%,rgba(20,22,31,.08),transparent 40%);
}
.lf-hero-inner{position:relative;z-index:2;}
.lf-hero .big-mark{
  font-family:var(--font-lf);font-weight:700;
  font-size:clamp(4rem,15vw,12rem);
  line-height:.86;letter-spacing:-.03em;
  color:var(--lf-ink);text-transform:uppercase;
  margin:22px 0 6px;
}
.lf-hero .big-mark .or{color:var(--royal);}
.lf-hero .tagline{
  font-family:var(--font-lf);font-weight:500;
  font-size:clamp(1rem,2vw,1.35rem);
  letter-spacing:.04em;color:var(--lf-mute);
}
.lf-hero .btn-row{justify-content:center;margin-top:32px;}
.lf-hero-mark{width:54px;height:54px;margin:0 auto;}

/* ---- Story ---- */
.lf-story p{font-size:1.16rem;line-height:1.8;color:#3f4139;}
.lf-story p strong{color:var(--lf-ink);font-weight:600;}
.lf-story .pull{
  font-family:var(--font-lf);font-weight:600;
  font-size:clamp(1.5rem,3vw,2.3rem);
  line-height:1.25;color:var(--lf-ink);letter-spacing:-.02em;
  border-left:3px solid var(--royal-bright);
  padding-left:24px;margin:14px 0;
}

/* ---- Reversal feature (dark — literally inside out) ---- */
.lf-reverse-band{
  background:var(--navy-800);color:#fff;
  text-align:center;position:relative;overflow:hidden;
}
.lf-reverse-band .glow{
  position:absolute;width:480px;height:480px;border-radius:50%;
  background:radial-gradient(circle,rgba(63,123,240,.35),transparent 70%);
  top:-220px;left:50%;transform:translateX(-50%);
}
.lf-reverse-band>*{position:relative;z-index:2;}
.lf-reverse-band h2{color:#fff;}
.lf-reverse-band p{color:#9aa6bd;}
.flip-row{
  display:flex;align-items:center;justify-content:center;gap:clamp(14px,4vw,46px);
  flex-wrap:wrap;margin:10px 0 8px;
}
.flip-word{
  font-family:var(--font-lf);font-weight:700;
  font-size:clamp(2.6rem,8vw,6rem);letter-spacing:-.02em;
  text-transform:uppercase;line-height:1;
}
.flip-word.a{color:#fff;}
.flip-word.b{color:var(--royal-ink);display:inline-block;}
.flip-icon{
  width:clamp(40px,6vw,68px);height:clamp(40px,6vw,68px);
  border-radius:50%;border:2px solid rgba(255,255,255,.25);
  display:grid;place-items:center;color:var(--royal-ink);flex:none;
}
.flip-icon svg{width:46%;height:46%;}

/* ---- Lay or Fit split ---- */
.layfit-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.layfit-card{
  position:relative;overflow:hidden;
  border-radius:var(--r-3);
  padding:clamp(28px,3.5vw,46px);
  min-height:300px;display:flex;flex-direction:column;justify-content:flex-end;
}
.layfit-card.lay{background:var(--lf-soft);border:1px solid var(--lf-line);}
.layfit-card.fit{background:var(--navy-800);color:#fff;}
.layfit-card .lf-tag{
  font-family:var(--font-lf);font-weight:700;
  font-size:clamp(2.4rem,4vw,3.4rem);letter-spacing:-.02em;
  margin-bottom:8px;
}
.layfit-card.fit .lf-tag{color:#fff;}
.layfit-card.fit h3{color:#fff;}
.layfit-card.fit p{color:#9aa6bd;}
.layfit-card .big-watermark{
  position:absolute;top:-10px;right:18px;
  font-family:var(--font-lf);font-weight:700;
  font-size:9rem;line-height:1;opacity:.06;
}

/* ---- Collections ---- */
.coll-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.coll-card{
  position:relative;overflow:hidden;
  border-radius:var(--r-3);
  background:var(--lf-panel);border:1px solid var(--lf-line);
  display:flex;flex-direction:column;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease);
}
.coll-card:hover{transform:translateY(-7px);box-shadow:var(--sh-2);}
.coll-visual{
  position:relative;aspect-ratio:16/10;overflow:hidden;
  display:grid;place-items:center;
}
.coll-card.fw .coll-visual{background:linear-gradient(155deg,#1a2f51,#0c1626);}
.coll-card.ss .coll-visual{background:linear-gradient(155deg,#2a5cc4,#5b86f5);}
.coll-visual .coll-name{
  font-family:var(--font-lf);font-weight:700;color:#fff;
  font-size:clamp(2rem,3.4vw,3rem);text-align:center;letter-spacing:-.02em;
  position:relative;z-index:2;
}
.coll-visual .coll-name span{display:block;font-size:.9rem;font-weight:500;
  letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.7);margin-top:8px;}
.coll-body{padding:28px;display:flex;flex-direction:column;flex:1;}
.coll-deadline{
  display:inline-flex;align-items:center;gap:8px;align-self:flex-start;
  font-family:var(--font-lf);font-weight:600;font-size:.78rem;
  letter-spacing:.06em;text-transform:uppercase;
  background:rgba(63,123,240,.1);color:var(--royal-600);
  padding:6px 12px;border-radius:var(--r-1);margin-bottom:14px;
}
.coll-body p{font-size:.97rem;margin-bottom:20px;}
.coll-body .btn{margin-top:auto;}

/* ---- Products ---- */
.lf-prod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.lf-prod{
  background:var(--lf-panel);border:1px solid var(--lf-line);
  border-radius:var(--r-3);overflow:hidden;display:flex;flex-direction:column;
  transition:transform .28s var(--ease),box-shadow .28s var(--ease);
}
.lf-prod:hover{transform:translateY(-7px);box-shadow:var(--sh-2);}
.lf-prod-img{
  position:relative;aspect-ratio:1;overflow:hidden;
  background:var(--lf-soft);
  display:grid;place-items:center;
}
.lf-prod-img .pmark{width:38%;opacity:.18;}
.lf-prod-img .season{
  position:absolute;top:14px;left:14px;
  font-family:var(--font-lf);font-weight:600;font-size:.66rem;
  letter-spacing:.1em;text-transform:uppercase;
  background:var(--lf-ink);color:#fff;padding:5px 10px;border-radius:var(--r-1);
}
.lf-prod-body{padding:20px;display:flex;flex-direction:column;flex:1;}
.lf-prod-body h4{font-family:var(--font-lf);font-weight:600;margin-bottom:3px;}
.lf-prod-cat{font-size:.78rem;color:var(--lf-mute);text-transform:uppercase;letter-spacing:.08em;}
.lf-prod-price{
  font-family:var(--font-lf);font-weight:700;font-size:1.2rem;
  color:var(--lf-ink);margin:12px 0 16px;
}
.lf-prod-price .pre{font-size:.74rem;font-weight:500;color:var(--lf-mute);text-transform:uppercase;letter-spacing:.06em;}
.lf-prod .btn{margin-top:auto;}

/* ---- Preorder form ---- */
.lf-form-card{
  background:var(--lf-panel);border:1px solid var(--lf-line);
  border-radius:var(--r-3);padding:clamp(26px,4vw,46px);
}
.lf-form-card .field label{font-family:var(--font-lf);}
.lf-form-card .field input,
.lf-form-card .field select,
.lf-form-card .field textarea{background:var(--lf-paper);border-color:var(--lf-line);}
.lf-form-card .field input:focus,
.lf-form-card .field select:focus,
.lf-form-card .field textarea:focus{background:#fff;border-color:var(--royal-bright);}

/* ---- Closing band ---- */
.lf-thanks{
  background:var(--navy-800);color:#fff;text-align:center;
  position:relative;overflow:hidden;
}
.lf-thanks .glow{
  position:absolute;width:520px;height:520px;border-radius:50%;
  background:radial-gradient(circle,rgba(63,123,240,.32),transparent 70%);
  bottom:-260px;left:50%;transform:translateX(-50%);
}
.lf-thanks>*{position:relative;z-index:2;}
.lf-thanks h2{color:#fff;}
.lf-thanks p{color:#9aa6bd;}

/* ---- Steps ---- */
.lf-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.lf-step{
  background:var(--lf-panel);border:1px solid var(--lf-line);
  border-radius:var(--r-3);padding:28px;
}
.lf-step .step-n{
  font-family:var(--font-lf);font-weight:700;font-size:1.05rem;
  width:38px;height:38px;border-radius:50%;
  background:var(--lf-ink);color:#fff;display:grid;place-items:center;
  margin-bottom:16px;
}
.lf-step h4{font-family:var(--font-lf);margin-bottom:6px;}
.lf-step p{font-size:.93rem;}

/* real product mockups */
.lf-prod-img img.lf-prod-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;display:block;}
.lf-prod-img .season{z-index:2;}

@media (max-width:860px){
  .layfit-grid,.coll-grid,.lf-steps{grid-template-columns:1fr;}
}

/* =============================================================
   Layor Fit storefront — filter tabs, garment mockups, size runs
   ============================================================= */
.lf-filter{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:42px;}
.lf-tab{
  font-family:var(--font-lf);font-weight:600;font-size:.9rem;
  padding:11px 24px;border-radius:999px;cursor:pointer;
  border:1.5px solid var(--lf-line);background:var(--lf-panel);color:var(--lf-ink);
  transition:background .2s,color .2s,border-color .2s;
}
.lf-tab:hover{border-color:var(--lf-ink);}
.lf-tab.is-active{background:var(--lf-ink);color:#fff;border-color:var(--lf-ink);}

.lf-prod-grid{grid-template-columns:repeat(4,1fr);}
.lf-prod-art{
  width:58%;height:58%;color:var(--lf-ink);
  transition:transform .3s var(--ease);
}
.lf-prod:hover .lf-prod-art{transform:scale(1.06);}
.lf-prod[data-cat="accessories"] .lf-prod-img{background:#e9edf8;}

.lf-sizes{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:16px;}
.lf-size{
  font-family:var(--font-lf);font-weight:500;font-size:.71rem;
  min-width:27px;text-align:center;padding:4px 5px;
  border:1px solid var(--lf-line);border-radius:5px;color:var(--lf-mute);
}
.lf-size.os{padding:4px 11px;}

@media (max-width:1100px){.lf-prod-grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:760px){.lf-prod-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:460px){.lf-prod-grid{grid-template-columns:1fr;}}

/* ---- New Layor Fit logo (Prince's official design) ---- */
.lf-hero-logo{
  display:block;margin:0 auto;
  width:min(440px, 78vw);
  line-height:0;
}
.lf-hero-logo img{
  width:100%;height:auto;display:block;
}
.sr-only{
  position:absolute;width:1px;height:1px;
  padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.lf-hero .lf-kick.c{margin-top:18px;}

/* ============================================================
   Layor Fit storefront v2 — real photography + Available Soon
   ============================================================ */

/* ---- Hero carousel at top of products ---- */
.lf-hero-carousel{
  max-width:1120px;margin:0 auto;
  border-radius:20px;overflow:hidden;
  box-shadow:0 30px 80px rgba(8,13,26,.18);
}
.lf-hero-carousel .slideshow{aspect-ratio:16/9;background:#0c0c0e;}
.lf-hero-carousel .slides{position:absolute;inset:0;}
/* Filmstrip / coverflow: active centered & full, neighbours peek dimmed on each side */
.lf-hero-carousel figure.slide{
  position:absolute;top:0;bottom:auto;right:auto;left:50%;
  height:100%;width:auto;margin:0;
  transform:translateX(-50%) scale(.88);
  opacity:0;z-index:1;pointer-events:none;
  transition:left 1.2s cubic-bezier(.4,0,.2,1),transform 1.2s cubic-bezier(.4,0,.2,1),opacity 1s ease,filter 1s ease;
}
.lf-hero-carousel figure.slide img,
.lf-hero-carousel figure.slide.is-active img{
  width:auto;height:100%;max-width:none;display:block;
  object-fit:cover;transform:none;border-radius:8px;
  box-shadow:0 16px 44px rgba(0,0,0,.38);
}
.lf-hero-carousel figure.slide.is-active{
  left:50%;opacity:1;z-index:3;pointer-events:auto;
  transform:translateX(-50%) scale(1);filter:none;
}
.lf-hero-carousel figure.slide.is-next{
  left:93%;opacity:.6;z-index:2;
  transform:translateX(-50%) scale(.86);filter:brightness(.45);
}
.lf-hero-carousel figure.slide.is-prev{
  left:7%;opacity:.6;z-index:2;
  transform:translateX(-50%) scale(.86);filter:brightness(.45);
}
@media (max-width:720px){
  .lf-hero-carousel .slideshow{aspect-ratio:3/4;}
  .lf-hero-carousel{border-radius:14px;}
  .lf-hero-carousel figure.slide.is-next,
  .lf-hero-carousel figure.slide.is-prev{opacity:0;}
}

/* ---- Product card with real photo ---- */
.lf-prod-img.has-photo{
  position:relative;overflow:hidden;
  aspect-ratio:3/4;background:#f3f1ec;
}
.lf-prod-img.has-photo img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .8s cubic-bezier(.22,.61,.36,1);
}
.lf-prod:hover .lf-prod-img.has-photo img{transform:scale(1.04);}
.lf-prod-img.has-photo .lf-prod-art{
  position:absolute;inset:0;margin:auto;width:50%;height:50%;
  color:rgba(22,24,31,.18);
}
.lf-prod-img.placeholder-only{background:#ebe7df;}
.lf-prod-img.placeholder-only .lf-prod-art{position:relative;width:60%;height:auto;display:block;margin:0 auto;color:rgba(22,24,31,.32);}

/* Season / Available Soon badge */
.lf-prod-img .season{
  position:absolute;top:14px;left:14px;z-index:2;
  background:rgba(255,255,255,.92);color:var(--lf-ink);
  padding:6px 12px;border-radius:999px;
  font-family:var(--font-lf);font-weight:600;
  font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;
  backdrop-filter:blur(8px);
}
.lf-prod-img .season.soon-badge{
  background:var(--lf-ink);color:#fff;
}

/* Product blurb */
.lf-prod-blurb{
  font-size:.85rem;color:var(--lf-mute);line-height:1.5;
  margin:6px 0 12px;
}

/* ---- Available Soon card state ---- */
.lf-prod-soon{position:relative;}
.lf-prod-soon .lf-prod-img img{filter:grayscale(.5) brightness(.92);}
.lf-prod-soon .lf-prod-price .pre{background:var(--lf-mute);}
.lf-prod-soon .btn-ghost:disabled{
  opacity:.65;cursor:not-allowed;
}

/* ---- Story two-column with tag photo ---- */
.lf-story-grid{
  display:grid;grid-template-columns:1.2fr 1fr;gap:56px;align-items:center;
  max-width:1100px;margin:0 auto;
}
@media (max-width:880px){
  .lf-story-grid{grid-template-columns:1fr;gap:36px;}
}
.lf-story-copy{max-width:560px;}
.lf-story-photo{
  border-radius:14px;overflow:hidden;
  box-shadow:0 24px 60px rgba(8,13,26,.16);
  margin:0;position:relative;
}
.lf-story-photo img{width:100%;height:auto;display:block;}
.lf-story-photo figcaption{
  position:absolute;left:18px;bottom:18px;
  background:rgba(255,255,255,.88);color:var(--lf-ink);
  padding:8px 14px;border-radius:999px;
  font-family:var(--font-lf);font-weight:600;
  font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;
  backdrop-filter:blur(8px);
}

/* ---- Lay or Fit cards with photo backgrounds (v2) ---- */
.layfit-card{
  min-height:clamp(360px,42vw,520px);
  isolation:isolate;
}
.layfit-card.lay.has-photo,
.layfit-card.fit.has-photo{
  background-size:cover;background-position:center;
  border:none;
}
.layfit-card.lay.has-photo{background-image:url('../assets/images/layfit-lay-bg.jpg');}
.layfit-card.fit.has-photo{background-image:url('../assets/images/layfit-fit-bg.jpg');}
/* gradient overlay — keeps logo visible up top, makes copy readable at bottom */
.layfit-card.has-photo::before{
  content:"";position:absolute;inset:0;z-index:0;
  background:linear-gradient(180deg,
    rgba(0,0,0,0) 0%,
    rgba(0,0,0,.10) 38%,
    rgba(0,0,0,.55) 70%,
    rgba(0,0,0,.82) 100%);
}
.layfit-card.lay.has-photo::before{
  background:linear-gradient(180deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.05) 38%,
    rgba(22,24,31,.55) 72%,
    rgba(22,24,31,.85) 100%);
}
.layfit-card.has-photo > *{position:relative;z-index:1;}
/* Override copy colors so they read on the dark gradient bottom */
.layfit-card.lay.has-photo .lf-tag,
.layfit-card.lay.has-photo h3{color:#fff;}
.layfit-card.lay.has-photo p{color:rgba(255,255,255,.85);}
.layfit-card.fit.has-photo .lf-tag{color:#fff;}
.layfit-card.fit.has-photo h3{color:#fff;}
.layfit-card.fit.has-photo p{color:rgba(255,255,255,.85);}
/* Big watermark — push lighter so the photo can breathe */
.layfit-card.has-photo .big-watermark{
  color:#fff;opacity:.18;z-index:1;
  font-size:clamp(7rem,12vw,12rem);
  top:-14px;right:14px;
  mix-blend-mode:screen;
}

@media (max-width:760px){
  .layfit-card{min-height:340px;}
}

/* ---- LF hero photo rotation (cream/light background variant) ---- */
.lf-hero{position:relative;isolation:isolate;overflow:hidden;}
.lf-hero .hero-photos.lf-hero-rot{
  position:absolute;inset:0;overflow:hidden;z-index:0;
}
.lf-hero .hero-photos.lf-hero-rot .ph{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  opacity:0;transition:opacity 1.8s ease-in-out;
  animation:heroKen 22s ease-in-out infinite alternate;
}
/* Light bg variant: lower opacity than the dark page heroes */
.lf-hero .hero-photos.lf-hero-rot .ph.is-active{opacity:0.22;}
.lf-hero .hero-photos.lf-hero-rot::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(180deg, rgba(246,243,236,.55) 0%, rgba(246,243,236,.25) 50%, rgba(246,243,236,.65) 100%),
    radial-gradient(ellipse at center, rgba(246,243,236,.05) 0%, rgba(246,243,236,.45) 70%);
}
.lf-hero .lf-grain,
.lf-hero .lf-hero-inner{position:relative;z-index:1;}

/* ---- Collection cards with photo backgrounds ---- */
.coll-card.has-photo .coll-visual{
  position:relative;
  /* override the flat-color gradient — photo takes over */
}
.coll-visual .coll-photo{
  position:absolute;inset:0;
  width:100%;height:100%;object-fit:cover;
  display:block;z-index:0;
}
.coll-card.has-photo .coll-visual::before{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
}
.coll-card.fw.has-photo .coll-visual::before{
  background:linear-gradient(155deg, rgba(10,18,38,.55) 0%, rgba(12,22,38,.35) 50%, rgba(8,13,26,.78) 100%);
}
.coll-card.ss.has-photo .coll-visual::before{
  background:linear-gradient(155deg, rgba(33,80,173,.35) 0%, rgba(42,92,196,.25) 50%, rgba(11,25,55,.72) 100%);
}
.coll-visual .coll-name{
  text-shadow:0 2px 18px rgba(0,0,0,.55);
}

/* ============================================================
   LF hero — full-bleed split (logo+copy left, photo right)
   ============================================================ */
.lf-hero.lf-hero-split{
  background:var(--lf-bg);
  padding:0;position:relative;overflow:hidden;
  min-height:clamp(560px, 78vh, 780px);
}
.lf-hero.lf-hero-split .lf-grain{z-index:1;}
.lf-hero-split-inner{
  display:grid;grid-template-columns:1fr 1fr;
  align-items:center;
  min-height:inherit;
  position:relative;z-index:2;
}
.lf-hero-copy{
  padding:clamp(80px, 12vh, 120px) clamp(28px, 5vw, 72px);
  max-width:640px;
  margin-left:auto;
}
.lf-hero-copy .lf-hero-logo{
  display:block;margin:0 0 22px;
  width:min(380px, 90%);line-height:0;
}
.lf-hero-copy .lf-hero-logo img{width:100%;height:auto;display:block;}
.lf-hero-copy .lf-kick{
  display:block;
  font-family:var(--font-lf);font-weight:600;
  font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--royal-600);margin-bottom:18px;
}
.lf-hero-copy .tagline{
  font-family:var(--font-lf);font-weight:600;
  font-size:clamp(1.25rem, 2.2vw, 1.65rem);
  color:var(--lf-ink);margin:0 0 18px;letter-spacing:.005em;
}
.lf-hero-copy .lead{
  font-size:clamp(.98rem, 1.2vw, 1.08rem);
  color:var(--lf-mute);max-width:34em;margin:0 0 28px;line-height:1.6;
}
.lf-hero-copy .btn-row{display:flex;gap:14px;flex-wrap:wrap;}

/* Right-side full-bleed photo column */
.lf-hero-bleed{
  position:relative;height:100%;min-height:inherit;
  overflow:hidden;
  align-self:stretch;
}
.lf-hero-bleed .hero-photos.lf-bleed-rot{
  position:absolute;inset:0;
}
.lf-hero-bleed .hero-photos.lf-bleed-rot .ph{
  position:absolute;inset:0;
  background-size:cover;background-position:center 30%;
  opacity:0;transition:opacity 2.2s cubic-bezier(.4,0,.2,1);
  animation:heroKen 28s ease-in-out infinite alternate;
  will-change:opacity;
}
.lf-hero-bleed .hero-photos.lf-bleed-rot .ph.is-active{opacity:1;}
/* Soft gradient at the edge so the photo blends into the cream side */
.lf-hero-bleed::before{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(90deg, rgba(246,243,236,.35) 0%, rgba(246,243,236,0) 18%, rgba(246,243,236,0) 100%);
}

/* Mobile stack */
@media (max-width:880px){
  .lf-hero.lf-hero-split{min-height:auto;}
  .lf-hero-split-inner{grid-template-columns:1fr;}
  .lf-hero-bleed{height:auto;min-height:380px;aspect-ratio:5/4;order:-1;}
  .lf-hero-copy{padding:42px 24px 56px;margin:0 auto;text-align:left;}
  .lf-hero-copy .lf-hero-logo{margin-bottom:18px;}
}

/* ============================================================
   LF Sub-nav (shop navigation, only on Layor Fit page)
   ============================================================ */
.lf-subnav{
  position:sticky;top:78px;z-index:80;
  background:var(--lf-bg);
  border-bottom:1px solid var(--lf-line);
  backdrop-filter:saturate(1.05) blur(8px);
  -webkit-backdrop-filter:saturate(1.05) blur(8px);
  transition:transform .35s var(--ease, cubic-bezier(.4,0,.2,1)), top .35s var(--ease, cubic-bezier(.4,0,.2,1));
  will-change:transform;
}
/* When the top header is hidden (scrolling down), hide LF subnav too. */
.site-header.is-hidden ~ .lf-subnav,
body.nav-hidden .lf-subnav{
  transform:translateY(calc(-100% - 78px));
}
.lf-subnav-inner{
  max-width:var(--maxw,1240px);
  margin:0 auto;padding:0 clamp(20px, 4vw, 36px);
  display:flex;align-items:center;gap:24px;
  height:56px;
}
.lf-subnav-mark{display:flex;align-items:center;flex-shrink:0;}
.lf-subnav-mark img{height:36px;width:auto;display:block;}
.lf-subnav-links{
  display:flex;align-items:center;gap:clamp(14px, 2.2vw, 26px);
  flex:1;justify-content:center;flex-wrap:nowrap;
  /* desktop: keep overflow visible so sub-drops don't get clipped */
  scrollbar-width:none;
}
.lf-subnav-links::-webkit-scrollbar{display:none;}
@media (max-width:920px){
  .lf-subnav-links{overflow-x:auto;justify-content:flex-start;}
}
.lf-subnav-link{
  font-family:var(--font-lf);font-weight:600;
  font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--lf-ink);text-decoration:none;
  white-space:nowrap;padding:6px 0;
  position:relative;transition:color .2s ease;
}
.lf-subnav-link::after{
  content:"";position:absolute;left:0;right:0;bottom:-2px;
  height:2px;background:var(--royal);
  transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease);
}
.lf-subnav-link:hover{color:var(--royal-600);}
.lf-subnav-link:hover::after,.lf-subnav-link.is-active::after{transform:scaleX(1);}

.lf-bag-toggle{
  display:inline-flex;align-items:center;gap:6px;
  background:transparent;border:none;cursor:pointer;
  color:var(--lf-ink);padding:8px 10px;border-radius:999px;
  position:relative;flex-shrink:0;
  transition:background .2s ease;
}
.lf-bag-toggle:hover{background:rgba(33,80,173,.08);}
.lf-bag-toggle svg{width:22px;height:22px;}
.lf-bag-count{
  font-family:var(--font-lf);font-weight:700;font-size:.7rem;
  color:#fff;background:var(--royal);
  min-width:18px;height:18px;padding:0 5px;
  border-radius:999px;display:grid;place-items:center;
  position:absolute;top:0px;right:0px;
  transition:transform .25s var(--ease);
}
.lf-bag-toggle.has-items .lf-bag-count{transform:scale(1.15);}

@media (max-width:720px){
  .lf-subnav{top:70px;}
  .lf-subnav-mark img{height:30px;}
  .lf-subnav-links{justify-content:flex-start;}
}

/* ============================================================
   Clickable sizes
   ============================================================ */
.lf-prod .lf-size{
  cursor:pointer;user-select:none;
  transition:background .2s ease, color .2s ease, border-color .2s ease, transform .15s ease;
}
.lf-prod .lf-size:hover{
  background:rgba(33,80,173,.08);
  border-color:var(--royal-600);
}
.lf-prod .lf-size.is-selected{
  background:var(--royal);color:#fff;border-color:var(--royal);
  transform:scale(1.04);
}
.lf-prod .lf-size.os{cursor:default;}
.lf-prod .lf-size.os:hover{background:inherit;border-color:inherit;}

/* ============================================================
   Bag drawer
   ============================================================ */
.lf-bag-drawer{
  position:fixed;top:0;right:0;height:100vh;
  width:min(420px, 96vw);max-width:100vw;
  background:var(--lf-bg);color:var(--lf-ink);
  z-index:200;
  transform:translateX(100%);transition:transform .35s var(--ease);
  display:flex;flex-direction:column;
  box-shadow:-30px 0 60px rgba(8,13,26,.18);
}
.lf-bag-drawer.is-open{transform:translateX(0);}
.lf-bag-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:20px 24px;border-bottom:1px solid var(--lf-line);
}
.lf-bag-head h3{
  font-family:var(--font-lf);font-weight:700;
  font-size:1.1rem;letter-spacing:-.005em;margin:0;
  text-transform:uppercase;color:var(--lf-ink);
}
.lf-bag-count-inline{color:var(--lf-mute);font-weight:500;margin-left:6px;font-size:.85rem;}
.lf-bag-close{
  background:transparent;border:none;cursor:pointer;
  width:36px;height:36px;border-radius:50%;
  display:grid;place-items:center;color:var(--lf-ink);
  transition:background .2s ease;
}
.lf-bag-close:hover{background:rgba(0,0,0,.06);}
.lf-bag-close svg{width:18px;height:18px;}

.lf-bag-items{flex:1;overflow-y:auto;padding:12px 16px;}
.lf-bag-empty{
  text-align:center;color:var(--lf-mute);padding:60px 18px;
  font-size:.95rem;line-height:1.55;
}
.lf-bag-empty span{font-size:.85rem;display:inline-block;margin-top:6px;}

.lf-bag-item{
  display:grid;grid-template-columns:64px 1fr auto;gap:14px;
  padding:14px 0;border-bottom:1px solid var(--lf-line);
  align-items:center;
}
.lf-bag-item:last-child{border-bottom:none;}
.lf-bag-item-thumb{
  width:64px;height:72px;border-radius:8px;overflow:hidden;
  background:#eee;
}
.lf-bag-item-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.lf-bag-item-meta{min-width:0;}
.lf-bag-item-name{
  font-family:var(--font-lf);font-weight:600;font-size:.9rem;
  color:var(--lf-ink);margin:0 0 2px;line-height:1.25;
}
.lf-bag-item-sub{font-size:.78rem;color:var(--lf-mute);margin:0;letter-spacing:.04em;}
.lf-bag-item-price{font-family:var(--font-lf);font-weight:600;font-size:.86rem;margin-top:4px;}
.lf-bag-item-remove{
  background:transparent;border:none;cursor:pointer;
  color:var(--lf-mute);font-size:.78rem;letter-spacing:.06em;
  text-transform:uppercase;padding:6px 4px;
  font-family:var(--font-lf);font-weight:500;
  align-self:flex-start;
}
.lf-bag-item-remove:hover{color:var(--royal-600);text-decoration:underline;}

.lf-bag-foot{
  padding:18px 24px 24px;border-top:1px solid var(--lf-line);
  background:var(--lf-bg);
}
.lf-bag-line{
  display:flex;justify-content:space-between;align-items:center;
  font-family:var(--font-lf);font-weight:600;font-size:.95rem;
  margin-bottom:8px;
}
.lf-bag-note{font-size:.74rem;color:var(--lf-mute);margin:0 0 14px;line-height:1.4;}

.lf-bag-scrim{
  position:fixed;inset:0;background:rgba(8,13,26,.55);
  z-index:150;opacity:0;pointer-events:none;
  transition:opacity .3s ease;
  backdrop-filter:blur(2px);
}
.lf-bag-scrim.is-open{opacity:1;pointer-events:auto;}

/* ============================================================
   Toast
   ============================================================ */
.lf-toast{
  position:fixed;bottom:24px;left:50%;transform:translate(-50%, 14px);
  background:var(--lf-ink);color:#fff;
  padding:13px 22px;border-radius:999px;
  font-family:var(--font-lf);font-weight:600;font-size:.86rem;
  letter-spacing:.02em;box-shadow:0 18px 50px rgba(0,0,0,.3);
  opacity:0;pointer-events:none;z-index:250;
  transition:opacity .25s ease, transform .35s var(--ease);
  display:inline-flex;align-items:center;gap:10px;
}
.lf-toast.is-show{opacity:1;transform:translate(-50%, 0);pointer-events:auto;}
.lf-toast svg{width:18px;height:18px;color:#5eea9c;}

/* ============================================================
   LOOKBOOK — masonry editorial grid
   ============================================================ */
.lf-lookbook{padding-top:80px;padding-bottom:80px;}
.lf-look-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  grid-auto-rows:220px;
  gap:14px;
}
.lf-look{
  margin:0;
  border-radius:14px;
  overflow:hidden;
  position:relative;
  box-shadow:var(--sh-1);
  background:#1c2333;
  transform:translateZ(0);
  transition:transform .5s var(--ease), box-shadow .5s var(--ease);
}
.lf-look:hover{
  transform:translateY(-3px);
  box-shadow:0 26px 42px -22px rgba(7,16,38,.32);
}
.lf-look img{
  width:100%;height:100%;
  object-fit:cover;
  display:block;
  transition:transform 1.4s var(--ease);
}
.lf-look:hover img{transform:scale(1.04);}
.lf-look.tall{grid-row:span 2;}
.lf-look.wide{grid-column:span 2;}
@media (max-width:1080px){
  .lf-look-grid{grid-template-columns:repeat(3, 1fr);}
}
@media (max-width:780px){
  .lf-look-grid{grid-template-columns:repeat(2, 1fr); grid-auto-rows:180px;}
  .lf-look.wide{grid-column:span 1;}
}
@media (max-width:480px){
  .lf-look-grid{grid-auto-rows:150px; gap:10px;}
}

/* Preorder section — solo (form removed) */
.lf-preorder-solo{
  display:grid;grid-template-columns:1.05fr 1fr;gap:60px;align-items:center;
  max-width:1080px;margin-inline:auto;
}
.lf-preorder-solo .lf-preorder-copy{max-width:520px}
@media (max-width:900px){
  .lf-preorder-solo{grid-template-columns:1fr;gap:36px;}
  .lf-preorder-solo .lf-preorder-copy{max-width:none;text-align:left;}
}
/* Preorder section unboxing detail */
.lf-preorder-photo{
  margin:0;border-radius:14px;overflow:hidden;
  position:relative;width:100%;max-width:520px;
  box-shadow:var(--sh-1);
}
.lf-preorder-photo img{width:100%;height:auto;display:block;}
.lf-preorder-photo figcaption{
  position:absolute;left:14px;bottom:14px;
  background:rgba(255,255,255,.92);color:var(--lf-ink);
  padding:7px 14px;border-radius:999px;
  font-family:var(--font-lf);font-weight:600;
  font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;
  backdrop-filter:blur(8px);
}

/* ============================================================
   LF subnav sub-drops
   ============================================================ */
.lf-subnav-item.lf-has-drop{position:relative;display:inline-block;}
.lf-subnav-item.lf-has-drop > .lf-subnav-link{
  display:inline-flex;align-items:center;gap:5px;
}
.lf-sub-caret{
  width:11px;height:11px;
  transition:transform .25s var(--ease);
  margin-top:1px;
}
.lf-subnav-item.lf-has-drop:hover .lf-sub-caret{transform:rotate(180deg);}

.lf-sub-drop{
  position:absolute;top:100%;left:50%;
  transform:translate(-50%, 6px);
  background:#ffffff;
  border:1px solid var(--lf-line);
  border-radius:12px;
  padding:10px;
  min-width:200px;
  box-shadow:0 22px 50px rgba(8,13,26,.22), 0 0 0 1px rgba(8,13,26,.04);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .25s var(--ease), transform .25s var(--ease), visibility .25s;
  z-index:100;
  display:flex;flex-direction:column;gap:2px;
}
.lf-subnav-item.lf-has-drop:hover .lf-sub-drop,
.lf-subnav-item.lf-has-drop:focus-within .lf-sub-drop{
  opacity:1;visibility:visible;pointer-events:auto;
  transform:translate(-50%, 4px);
}
.lf-sub-drop::before{
  content:"";position:absolute;left:0;right:0;top:-8px;height:8px;
}
.lf-sub-drop a{
  display:block;padding:9px 14px;border-radius:8px;
  font-family:var(--font-lf);font-weight:500;
  font-size:.82rem;letter-spacing:.04em;
  color:var(--lf-ink);text-decoration:none;
  text-transform:none;
  transition:background .2s ease, color .2s ease;
  white-space:nowrap;
}
.lf-sub-drop a:hover{
  background:rgba(33,80,173,.08);
  color:var(--royal-600);
}
@media (max-width:720px){
  /* On mobile, the subnav scrolls horizontally; sub-drops would be cramped */
  .lf-subnav-item.lf-has-drop .lf-sub-drop{display:none;}
}

/* product flash highlight when navigated to from sub-drop */
.lf-prod-flash{
  animation:lfFlash 1.6s ease;
}
@keyframes lfFlash{
  0%,100%{box-shadow:0 0 0 0 rgba(33,80,173,0);}
  20%{box-shadow:0 0 0 6px rgba(33,80,173,.30);}
  50%{box-shadow:0 0 0 4px rgba(33,80,173,.18);}
}

/* ============================================================
   Color Story / Palette section
   ============================================================ */
.lf-palette-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:18px;
  max-width:1100px;margin:0 auto;
}
@media (max-width:880px){.lf-palette-grid{grid-template-columns:repeat(2, 1fr);}}
@media (max-width:520px){.lf-palette-grid{grid-template-columns:1fr;}}

.lf-pal-card{
  position:relative;margin:0;
  border-radius:var(--r-3);overflow:hidden;
  background:var(--lf-panel);
  box-shadow:0 12px 30px rgba(8,13,26,.10);
  transition:transform .35s var(--ease), box-shadow .35s var(--ease);
}
.lf-pal-card:hover{transform:translateY(-4px);box-shadow:var(--sh-2);}
.lf-pal-card img{
  width:100%;aspect-ratio:3/4;object-fit:cover;display:block;
  transition:transform .8s var(--ease);
}
.lf-pal-card:hover img{transform:scale(1.04);}
.lf-pal-card figcaption{
  position:absolute;left:0;right:0;bottom:0;
  padding:14px 18px;
  background:linear-gradient(180deg, rgba(8,13,26,0) 0%, rgba(8,13,26,.78) 65%, rgba(8,13,26,.92) 100%);
  color:#fff;
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
}
.lf-pal-card figcaption strong{
  font-family:var(--font-lf);font-weight:600;
  font-size:.95rem;letter-spacing:.005em;
  margin-right:auto;
}
.lf-pal-card figcaption .hint{
  font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;
  color:rgba(255,255,255,.72);font-weight:500;width:100%;margin-top:-2px;
}
.lf-swatch{
  width:18px;height:18px;border-radius:50%;
  border:2px solid rgba(255,255,255,.85);flex-shrink:0;
  box-shadow:0 4px 10px rgba(0,0,0,.3);
}

.lf-palette-cta{
  margin:48px auto 0;max-width:1100px;
  display:grid;grid-template-columns:1.1fr 1fr;gap:36px;align-items:center;
  background:linear-gradient(135deg, var(--navy-900) 0%, var(--navy-700) 100%);
  color:#fff;border-radius:18px;overflow:hidden;
  box-shadow:var(--sh-2);
}
@media (max-width:780px){.lf-palette-cta{grid-template-columns:1fr;}}
.lf-palette-group{
  width:100%;height:100%;object-fit:cover;display:block;
  min-height:280px;
}
.lf-palette-msg{padding:clamp(28px, 4vw, 48px);}
.lf-palette-msg .lf-kick{color:rgba(255,255,255,.7);}
.lf-palette-msg h3{
  font-family:var(--font-lf);font-weight:600;
  font-size:clamp(1.4rem,2.2vw,1.85rem);
  color:#fff;margin:8px 0 14px;letter-spacing:.005em;
  line-height:1.2;
}
.lf-palette-msg p{
  color:rgba(255,255,255,.82);
  font-size:.95rem;line-height:1.6;margin:0 0 22px;
}

/* ============================================================
   Color swatches on LF product cards (image swap)
   ============================================================ */
.lf-colors{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 10px;align-items:center;}
.lf-colors-label{font-family:var(--font-lf);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--lf-mute);margin-right:4px;}
.lf-color{
  width:18px;height:18px;border-radius:50%;border:1.5px solid rgba(0,0,0,.18);
  cursor:pointer;padding:0;
  transition:transform .15s ease, box-shadow .15s ease;
  position:relative;
}
.lf-color:hover{transform:scale(1.15);}
.lf-color.is-active{box-shadow:0 0 0 2px var(--lf-panel,#fff), 0 0 0 4px var(--lf-ink,#16181f);}
.lf-color .lf-color-tip{
  position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);
  background:var(--lf-ink,#16181f);color:#fff;font-size:.65rem;
  padding:4px 8px;border-radius:4px;white-space:nowrap;
  opacity:0;pointer-events:none;transition:opacity .15s ease;
  font-family:var(--font-lf);letter-spacing:.04em;text-transform:uppercase;z-index:5;
}
.lf-color:hover .lf-color-tip{opacity:1;}

/* Lay or Fit cards — clickable */
a.layfit-card{text-decoration:none;color:inherit;display:flex;flex-direction:column;}
a.layfit-card:hover{transform:translateY(-4px);box-shadow:var(--sh-2,0 22px 60px rgba(8,13,26,.18));}
.layfit-cta{
  display:inline-flex;align-items:center;gap:8px;margin-top:14px;
  font-family:var(--font-lf);font-weight:600;font-size:.92rem;
  letter-spacing:.02em;color:var(--lf-ink);
  align-self:flex-start;transition:gap .2s ease;
}
.layfit-card.fit .layfit-cta{color:#fff;}
.layfit-card:hover .layfit-cta{gap:12px;}

/* Product card — hover zoom on the image */
.lf-prod-img{overflow:hidden; cursor:zoom-in; position:relative;}
.lf-prod-img img{
  width:100%; height:auto; display:block;
  object-fit:cover; object-position:center 28%; /* keep logo/face/headband in frame */
  transition:transform .55s cubic-bezier(.2,.6,.2,1);
  will-change:transform;
}
.lf-prod:hover .lf-prod-img img{transform:scale(1.07);}
/* Subtle magnifier glyph on hover so people know it's clickable */
.lf-prod-img::after{
  content:"";
  position:absolute; top:14px; right:14px; z-index:2;
  width:36px; height:36px; border-radius:50%;
  background:rgba(255,255,255,.92) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316181f' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='7'/><line x1='21' y1='21' x2='16.65' y2='16.65'/><line x1='11' y1='8' x2='11' y2='14'/><line x1='8' y1='11' x2='14' y2='11'/></svg>") center/18px no-repeat;
  box-shadow:0 6px 18px rgba(8,13,26,.18);
  opacity:0; transform:scale(.85);
  transition:opacity .25s ease, transform .25s ease;
  pointer-events:none;
}
.lf-prod:hover .lf-prod-img::after{opacity:1; transform:scale(1);}

/* ============================================================
   LIGHTBOX — fullscreen product image viewer
   ============================================================ */
.lf-lightbox{
  position:fixed; inset:0; z-index:1000;
  display:flex; align-items:center; justify-content:center;
  background:rgba(8,12,22,.92);
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .35s ease, visibility .35s ease;
  padding:32px;
  backdrop-filter:blur(6px);
}
.lf-lightbox.is-open{opacity:1; visibility:visible; pointer-events:auto;}

.lf-lightbox-stage{
  margin:0; max-width:min(94vw, 1200px); max-height:88vh;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  position:relative; z-index:1;
}
.lf-lightbox-img{
  max-width:100%; max-height:84vh; height:auto; width:auto;
  display:block;
  border-radius:6px;
  box-shadow:0 30px 80px rgba(0,0,0,.6);
  transform:scale(.94); opacity:0;
  transition:transform .45s cubic-bezier(.2,.7,.2,1), opacity .35s ease;
}
.lf-lightbox.is-open .lf-lightbox-img{transform:scale(1); opacity:1;}
.lf-lightbox-cap{
  color:rgba(255,255,255,.85);
  font-family:var(--font-lf); font-weight:500;
  font-size:.85rem; letter-spacing:.12em; text-transform:uppercase;
  margin-top:18px; text-align:center;
}

.lf-lightbox-close,
.lf-lightbox-prev,
.lf-lightbox-next{
  position:absolute; z-index:2;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
  cursor:pointer;
  width:48px; height:48px;
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:1.15rem; line-height:1;
  transition:background .2s ease, transform .2s ease;
  backdrop-filter:blur(6px);
}
.lf-lightbox-close:hover,
.lf-lightbox-prev:hover,
.lf-lightbox-next:hover{background:rgba(255,255,255,.22); transform:scale(1.06);}
.lf-lightbox-close{top:24px; right:24px;}
.lf-lightbox-close svg{width:22px; height:22px;}
.lf-lightbox-prev{left:24px; top:50%; transform:translateY(-50%);}
.lf-lightbox-prev:hover{transform:translateY(-50%) scale(1.06);}
.lf-lightbox-next{right:24px; top:50%; transform:translateY(-50%);}
.lf-lightbox-next:hover{transform:translateY(-50%) scale(1.06);}

/* Lock body scroll while lightbox is open */
body.lf-lightbox-open{overflow:hidden;}

/* Mobile sizing */
@media (max-width:640px){
  .lf-lightbox{padding:12px;}
  .lf-lightbox-close{top:14px; right:14px; width:42px; height:42px;}
  .lf-lightbox-prev{left:8px; width:42px; height:42px;}
  .lf-lightbox-next{right:8px; width:42px; height:42px;}
  .lf-lightbox-img{max-height:76vh; border-radius:4px;}
  .lf-lightbox-cap{font-size:.78rem; margin-top:14px;}
}

/* Touch device — kill the magnifier glyph (hover doesn't apply cleanly) */
@media (hover:none){
  .lf-prod-img::after{display:none;}
  .lf-prod-img{cursor:default;}
}

/* ============================================================
   MOBILE POLISH — tablet & phone optimization
   Keep the editorial wow factor, just make it feel tighter
   ============================================================ */

/* ---- Tablet (≤900px) ---- */
@media (max-width:900px){
  /* Hero — give the copy a bit more breathing room */
  .lf-hero-copy{padding:48px 24px 60px;}
  .lf-hero-copy .lf-hero-logo{width:min(280px, 70%);}
  .lf-hero-copy .lead{font-size:1.02rem;}

  /* Section padding scales down */
  .lf-sec{padding-top:64px;padding-bottom:64px;}
  .lf-lookbook{padding-top:64px;padding-bottom:64px;}

  /* Subnav stays scrollable + a hair shorter */
  .lf-subnav-inner{height:50px;padding:0 16px;}
  .lf-subnav-link{font-size:.78rem;padding:8px 0;}

  /* Story copy block + tag photo stack */
  .lf-story-grid{gap:32px;}
  .lf-story-photo{max-width:480px;margin-inline:auto;}

  /* Color story palette tightens */
  .lf-palette-grid{gap:14px;}
  .lf-pal-card figcaption{padding:10px 12px;}

  /* Preorder solo — left-align both columns */
  .lf-preorder-solo{gap:36px;}
  .lf-preorder-copy{max-width:none;}
  .lf-preorder-photo{margin-inline:auto;}
}

/* ---- Phone (≤640px) ---- */
@media (max-width:640px){
  /* Hero copy is the first thing on mobile — make it punch */
  .lf-hero.lf-hero-split{min-height:auto;}
  .lf-hero-bleed{min-height:340px;aspect-ratio:4/5;}
  .lf-hero-copy{padding:36px 20px 44px;}
  .lf-hero-copy .lf-hero-logo{width:min(260px, 75%);margin-bottom:14px;}
  .lf-hero-copy .tagline{font-size:1.18rem;}
  .lf-hero-copy .lead{font-size:.98rem;line-height:1.55;margin-bottom:22px;}
  .lf-hero-copy .btn-row{gap:10px;}
  .lf-hero-copy .btn-lg{padding:14px 22px;font-size:.92rem;}

  /* Section padding compact */
  .lf-sec{padding-top:48px;padding-bottom:48px;}
  .lf-lookbook{padding-top:48px;padding-bottom:48px;}
  .wrap{padding-left:18px;padding-right:18px;}

  /* Headlines + leads scale down */
  .lf-sec h2{font-size:clamp(1.6rem, 7vw, 2rem);line-height:1.18;}
  .lf-sec .lead{font-size:.96rem;line-height:1.55;}
  .lf-kick{font-size:.7rem;}

  /* Lay or Fit cards — tighter */
  .layfit-card{min-height:300px;padding:24px 20px;}
  .layfit-card .big-watermark{font-size:7rem;}
  .layfit-card h3{font-size:1.25rem;}
  .layfit-card p{font-size:.96rem;}

  /* Collections cards — tighten */
  .coll-card .coll-body{padding:22px 20px;}
  .coll-name{font-size:1.4rem;}

  /* Story body */
  .lf-story-copy h2{font-size:clamp(1.5rem, 6vw, 2rem);}

  /* Reversal band — keep the punch but smaller */
  .flip-row{font-size:clamp(2.2rem, 11vw, 3.4rem);gap:14px;}

  /* Filter tabs row scrollable */
  .lf-filter{
    overflow-x:auto;-webkit-overflow-scrolling:touch;
    flex-wrap:nowrap;justify-content:flex-start;
    margin-inline:-18px;padding:0 18px 6px;
    scrollbar-width:none;
  }
  .lf-filter::-webkit-scrollbar{display:none;}
  .lf-tab{flex-shrink:0;font-size:.84rem;padding:8px 16px;}

  /* Product cards — single column with bigger photos */
  .lf-prod-grid{grid-template-columns:1fr;gap:18px;}
  .lf-prod-img{aspect-ratio:4/5;}
  .lf-prod-img img{height:100%;object-fit:cover;object-position:center 28%;}
  .lf-prod-body{padding:18px 18px 22px;}
  .lf-prod-body h4{font-size:1.18rem;}
  .lf-prod-blurb{font-size:.94rem;line-height:1.5;}

  /* Color swatches — larger tap targets (visual stays similar but tap area grows) */
  .lf-colors{gap:8px;margin:10px 0 12px;}
  .lf-color{
    width:24px;height:24px;
    position:relative;
  }
  /* Invisible hit-box overlay for easier tap */
  .lf-color::after{
    content:"";position:absolute;inset:-10px;
  }
  .lf-color .lf-color-tip{display:none;} /* don't show tooltip on touch */

  /* Size chips — bigger tap targets */
  .lf-prod .lf-size{
    padding:8px 12px;min-width:38px;min-height:34px;
    font-size:.82rem;
    display:inline-flex;align-items:center;justify-content:center;
  }
  .lf-sizes{gap:6px;}

  /* CTA buttons go full-width comfort */
  .lf-prod-body .btn-block{padding:14px 18px;font-size:.95rem;}

  /* Carousel — taller arrow tap targets, smaller padding */
  .lf-hero-carousel .ss-arrow{
    width:42px;height:42px;font-size:1.05rem;
    background:rgba(255,255,255,.92);color:#16181f;border-radius:50%;
  }

  /* Lookbook — tighter masonry, simpler */
  .lf-look-grid{grid-template-columns:repeat(2,1fr);gap:8px;grid-auto-rows:160px;}
  .lf-look.tall{grid-row:span 2;}
  .lf-look.wide{grid-column:span 2;}
  .lf-look{border-radius:10px;}
  .lf-look:hover{transform:none;} /* disable hover-lift on touch */

  /* Color story grid */
  .lf-palette-grid{grid-template-columns:repeat(2,1fr);gap:10px;}
  .lf-pal-card figcaption{font-size:.78rem;padding:8px 10px;gap:6px;}
  .lf-pal-card strong{font-size:.85rem;}
  .lf-pal-card .hint{font-size:.7rem;}

  /* Preorder solo — clean stack */
  .lf-preorder-solo{gap:26px;}
  .lf-preorder-copy h2{font-size:clamp(1.6rem, 7vw, 2rem);}
  .checklist li{font-size:.95rem;line-height:1.5;}
  .lf-preorder-photo{max-width:none;border-radius:12px;}

  /* Thanks / closing */
  .lf-thanks h2{font-size:clamp(1.6rem, 7vw, 2rem);}
  .lf-thanks .btn-row{flex-direction:column;align-items:stretch;gap:10px;}
  .lf-thanks .btn-row .btn{justify-content:center;}

  /* Cm-toggle (Read more) — make it feel like a real button */
  .cm-toggle{
    width:100%;padding:13px 18px;
    font-size:.92rem;letter-spacing:.06em;
    margin-top:14px;
  }
}

/* ---- Very small (≤380px) ---- */
@media (max-width:380px){
  .lf-hero-copy{padding:30px 16px 36px;}
  .lf-hero-copy .lf-hero-logo{width:75%;}
  .lf-hero-copy .tagline{font-size:1.08rem;}
  .wrap{padding-left:14px;padding-right:14px;}
  .lf-prod-body{padding:16px 16px 20px;}
  .lf-look-grid{grid-auto-rows:130px;gap:6px;}
  .layfit-card{min-height:280px;padding:20px 16px;}
}

/* ---- Touch-friendly: disable hover effects that interfere on touch ---- */
@media (hover:none){
  .lf-prod:hover .lf-prod-img img{transform:none;}
  .lf-look:hover img{transform:none;}
  .lf-look:hover{transform:none;}
  .lf-color:hover{transform:none;}
  a.layfit-card:hover{transform:none;}
}
