/* Full-width campaign photography; independent of the older studio hero. */
body.collection-edition:not(.gallery-page) #top > .hero.lifestyle-hero {
  display:block!important; position:relative; padding:104px 0 0!important;
  margin:0; min-height:0; background:#f5f1e9; isolation:isolate;
}
.lifestyle-stage { position:relative; aspect-ratio:16/9; overflow:hidden; }
.lifestyle-slide { position:absolute; inset:0; margin:0; opacity:0; visibility:hidden; transition:opacity 1.1s ease,visibility 1.1s; }
.lifestyle-slide.is-active { opacity:1; visibility:visible; z-index:1; }
.lifestyle-slide picture,.lifestyle-slide img { display:block; width:100%; height:100%; }
.lifestyle-slide img { object-fit:cover; object-position:center; }
.lifestyle-slide::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(250,248,242,.65),rgba(250,248,242,.3) 28%,transparent 49%); pointer-events:none; }
.lifestyle-copy { position:absolute; z-index:2; top:43%; left:6%; width:35%; transform:translateY(-50%); color:#172941; }
.lifestyle-copy p { margin:0 0 20px; font:500 11px/1.5 Manrope,sans-serif; letter-spacing:.16em; text-transform:uppercase; }
.lifestyle-copy h2 { margin:0; font:400 clamp(36px,4.1vw,70px)/1.1 Georgia,"Times New Roman",serif; letter-spacing:-.045em; text-wrap:balance; }
.lifestyle-controls { position:absolute; bottom:36px; left:6%; right:6%; display:flex; align-items:center; gap:28px; z-index:3; }
.lifestyle-choices { display:flex; gap:24px; }
.lifestyle-controls button { appearance:none; background:transparent; border:0; color:#172941; font:500 12px/1.3 Manrope,sans-serif; min-height:44px; padding:10px 0; cursor:pointer; border-radius:0; }
.lifestyle-choices button { position:relative; }
.lifestyle-choices button::after { content:""; position:absolute; bottom:3px; left:0; right:0; height:1px; background:currentColor; transform:scaleX(0); transform-origin:left; transition:transform .25s; }
.lifestyle-choices button[aria-pressed="true"]::after,.lifestyle-choices button:hover::after { transform:scaleX(1); }
.lifestyle-controls button:focus-visible { outline:2px solid #172941; outline-offset:5px; }
.lifestyle-controls .lifestyle-pause { width:44px; padding:10px; margin-left:auto; background:rgba(250,248,242,.88); border-radius:50%; display:grid; place-items:center; }
.lifestyle-pause svg { width:13px; height:13px; fill:currentColor; }
.lifestyle-pause [hidden] { display:none; }
.lifestyle-controls[hidden] { display:none; }

@media(max-width:640px) {
  body.collection-edition:not(.gallery-page) #top > .hero.lifestyle-hero { padding-top:90px!important; }
  .lifestyle-stage { aspect-ratio:auto; height:calc(100vw + 112px); }
  .lifestyle-slide picture { position:absolute; top:112px; height:calc(100% - 112px); }
  .lifestyle-slide img { object-position:100% center; }
  .lifestyle-slide::after { display:none; }
  .lifestyle-copy { top:22px; left:24px; width:calc(100% - 48px); transform:none; }
  .lifestyle-copy p { font-size:9px; margin-bottom:9px; }
  .lifestyle-copy h2 { font-size:clamp(27px,7vw,36px); max-width:18ch; line-height:1.04; }
  .lifestyle-controls { position:relative; inset:auto; padding:5px 18px 10px; gap:8px; background:#f5f1e9; }
  .lifestyle-choices { flex:1; justify-content:space-between; gap:10px; }
  .lifestyle-controls button { font-size:11px; }
  .lifestyle-controls .lifestyle-pause { background:transparent; margin-left:0; flex-shrink:0; }
}
@media(prefers-reduced-motion:reduce) { .lifestyle-slide,.lifestyle-choices button::after { transition:none; } }

/* Readable campaign controls with generous touch targets. */
.lifestyle-choices {gap:8px;padding:6px 10px;background:rgba(250,248,242,.94);border-radius:4px;}
.lifestyle-controls button {font-size:16px;min-height:52px;padding:12px 18px;}
.lifestyle-choices button::after {left:18px;right:18px;bottom:7px;height:2px;}
.lifestyle-controls .lifestyle-pause {width:56px;min-height:56px;padding:16px;flex-shrink:0;}
.lifestyle-pause svg {width:20px;height:20px;}
@media(max-width:640px) {
 .lifestyle-controls {display:flex;position:relative;inset:auto;padding:5px 18px 10px;gap:8px;background:#f5f1e9;}
 .lifestyle-choices {display:flex;flex:1;justify-content:space-between;gap:10px;padding:0;background:transparent;border-radius:0;}
 .lifestyle-controls button {font-size:11px;min-height:44px;padding:10px 0;}
 .lifestyle-choices button::after {left:0;right:0;bottom:3px;height:1px;}
 .lifestyle-controls .lifestyle-pause {width:44px;min-height:44px;padding:10px;background:transparent;margin-left:0;flex-shrink:0;}
 .lifestyle-pause svg {width:13px;height:13px;}
}
