/* ==========================================================
   LUXURY BRANDS OUTLET KS — Editorial layer (v2)
   Image-forward bands · product marquee · parallax · minimal text
   ========================================================== */

/* ---------- FULL-BLEED CAMPAIGN BAND (parallax) ---------- */
.campaign{
  position:relative;height:min(88vh,760px);overflow:hidden;background:var(--noir);
  display:flex;align-items:flex-end;
}
.campaign-media{position:absolute;inset:-22% 0;z-index:0;will-change:transform}
.campaign-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.03)}
.campaign::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(13,11,9,.5),transparent 30%,transparent 55%,rgba(13,11,9,.85));
}
.campaign-inner{position:relative;z-index:2;width:min(1360px,92%);margin:0 auto;padding:0 0 clamp(46px,6vw,88px);color:#fff}
.campaign-kicker{
  display:inline-flex;align-items:center;gap:12px;margin-bottom:16px;
  font-size:.58rem;letter-spacing:.5em;text-transform:uppercase;color:var(--gold-3);
}
.campaign-kicker::before{content:"";width:38px;height:1px;background:var(--gold-2)}
.campaign h2{
  font-family:var(--font-d);font-weight:500;line-height:1;letter-spacing:.01em;
  font-size:clamp(2.6rem,7vw,6rem);margin-bottom:24px;max-width:14ch;
}
.campaign h2 em{font-style:italic;background:var(--grad-text-noir);-webkit-background-clip:text;background-clip:text;color:transparent}
.campaign-cta{display:flex;gap:14px;flex-wrap:wrap}
/* split editorial (two tall images + centered word) */
.split-editorial{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:0;min-height:min(84vh,720px)}
.se-half{position:relative;overflow:hidden;cursor:pointer;background:linear-gradient(160deg,#f2ede3,#e6ddcd)}
.se-half:nth-child(2){background:linear-gradient(160deg,#eee8dd,#e1d7c6)}
.se-half img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease);filter:saturate(.94)}
.se-half:hover img{transform:scale(1.05)}
.se-half::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(13,11,9,.55));transition:background .6s}
.se-half:hover::after{background:linear-gradient(180deg,transparent 40%,rgba(13,11,9,.62))}
.se-label{position:absolute;left:0;right:0;bottom:clamp(30px,5vw,56px);z-index:2;text-align:center;color:#fff}
.se-label small{display:block;font-size:.56rem;letter-spacing:.42em;text-transform:uppercase;color:var(--gold-3);margin-bottom:8px}
.se-label b{font-family:var(--font-d);font-weight:500;font-size:clamp(1.8rem,3vw,2.8rem);letter-spacing:.28em;text-indent:.28em}
.se-label .se-go{display:inline-block;margin-top:14px;font-size:.58rem;letter-spacing:.34em;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:3px;opacity:0;transform:translateY(10px);transition:all .5s var(--ease)}
.se-half:hover .se-go{opacity:1;transform:none}
.se-center{
  position:absolute;top:50%;left:50%;z-index:3;transform:translate(-50%,-50%);
  width:clamp(96px,13vw,150px);height:clamp(96px,13vw,150px);border-radius:50%;
  background:rgba(250,248,243,.92);backdrop-filter:blur(10px);display:grid;place-items:center;
  box-shadow:0 20px 60px -18px rgba(0,0,0,.6);pointer-events:none;
}
.se-center span{font-family:var(--font-d);font-style:italic;font-size:clamp(.9rem,1.4vw,1.15rem);color:var(--ink);text-align:center;line-height:1.1}

/* ---------- PRODUCT PHOTO MARQUEE (real IG shots) ---------- */
.pm-band{padding:clamp(40px,5vw,72px) 0;overflow:hidden;background:var(--paper)}
.pm-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;width:min(1360px,92%);margin:0 auto clamp(24px,3vw,38px)}
.pm-head h2{font-family:var(--font-d);font-weight:500;font-size:clamp(1.8rem,3.4vw,2.8rem);line-height:1.05}
.pm-head h2 em{font-style:italic;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.pm-row{display:flex;gap:16px;width:max-content;animation:pmScroll 46s linear infinite}
.pm-band:hover .pm-row{animation-play-state:paused}
.pm-row.rev{animation-direction:reverse;margin-top:16px}
@keyframes pmScroll{to{transform:translateX(-50%)}}
.pm-card{
  position:relative;width:clamp(210px,22vw,290px);aspect-ratio:1/1;flex:none;overflow:hidden;
  background:linear-gradient(160deg,#fbf9f5,#efe9de);cursor:pointer;
}
.pm-card img{width:100%;height:100%;object-fit:contain;padding:10px;transition:transform .9s var(--ease)}
.pm-card:hover img{transform:scale(1.07)}
.pm-card .pm-tag{
  position:absolute;left:0;right:0;bottom:0;z-index:2;padding:14px 16px;
  background:linear-gradient(180deg,transparent,rgba(13,11,9,.72));color:#fff;
  opacity:0;transform:translateY(8px);transition:all .5s var(--ease);
}
.pm-card:hover .pm-tag{opacity:1;transform:none}
.pm-card .pm-tag b{display:block;font-size:.56rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-3)}
.pm-card .pm-tag span{font-family:var(--font-d);font-size:1rem;font-weight:600}

/* ---------- MINIMAL PROMISE ROW (icon + label only) ---------- */
.promise-row{
  display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line-soft);
  background:var(--porcelain);
}
.promise-min{
  display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;
  padding:clamp(30px,4vw,48px) 22px;position:relative;transition:background .5s;
}
.promise-min:not(:last-child)::after{content:"";position:absolute;right:0;top:22%;bottom:22%;width:1px;background:var(--line-soft)}
.promise-min:hover{background:#fff}
.promise-min .f-icon{
  width:52px;height:52px;border:1px solid var(--line-gold);border-radius:50%;
  display:grid;place-items:center;color:var(--gold-deep);transition:transform .5s var(--ease),box-shadow .5s;
}
.promise-min:hover .f-icon{transform:translateY(-4px) rotate(-6deg);box-shadow:var(--glow)}
.promise-min .f-icon svg{width:20px;height:20px}
.promise-min b{font-family:var(--font-d);font-weight:600;font-size:1.05rem}
.promise-min small{font-size:.58rem;letter-spacing:.26em;text-transform:uppercase;color:var(--faint)}

/* ---------- REVEAL: staggered image mask ---------- */
.mask-up{clip-path:inset(0 0 100% 0);transform:translateY(30px);transition:clip-path 1.1s var(--ease),transform 1.1s var(--ease)}
.mask-up.in{clip-path:inset(0 0 0 0);transform:none}

/* ---------- RESPONSIVE ---------- */
@media(max-width:920px){
  .campaign{height:min(70vh,560px)}
  .split-editorial{grid-template-columns:1fr;min-height:0}
  .se-half{height:min(52vh,420px)}
  .se-center{width:110px;height:110px}
  .promise-row{grid-template-columns:1fr 1fr}
  .promise-min:nth-child(2)::after{display:none}
  .promise-min:nth-child(1),.promise-min:nth-child(2){border-bottom:1px solid var(--line-soft)}
}
@media(max-width:560px){
  .pm-card{width:66vw}
  .campaign h2{font-size:clamp(2.2rem,10vw,3rem)}
}
