/* Hallmark refinement | Unfurling portrait wall into a folded viewfinder, on the existing cotton stock. */
/* Critique: keep the supplied interactions, remove demo chrome and preserve eyewear product identity. */
:root{--gallery-ease:cubic-bezier(.2,.8,.2,1);--photo-frame:rgba(23,23,21,.4);--hero-white:#fefefa;--hero-shadow:rgba(0,0,0,.45);--hero-shade:rgba(0,0,0,.58);--hero-clear:rgba(0,0,0,0)}
/* The hero is the photographic exception: full image at every edge. */
.prelaunch .hero-matchcut .matchcut-frame img{mask-image:none;mask:none;object-fit:cover}
.prelaunch .hero-matchcut .matchcut-frame::before,.prelaunch .hero-matchcut::before{display:none}
.prelaunch-home.is-film-top .masthead{color:var(--hero-white);background:transparent;text-shadow:0 1px 4px var(--hero-shadow)}
.prelaunch-home.is-film-top .masthead .brand-lockup img{filter:brightness(0) invert(1)!important}
.prelaunch .film-window .film-shade{background:linear-gradient(0deg,var(--hero-shade),var(--hero-clear) 75%),linear-gradient(180deg,var(--hero-shadow),var(--hero-clear) 24%)}
.prelaunch .film-intro-copy{padding:0;background:none;color:var(--hero-white);text-shadow:0 2px 12px var(--hero-shadow);left:7%;max-width:42%}
.prelaunch .film-intro-copy h1{color:var(--hero-white);text-shadow:0 2px 12px var(--hero-shadow)}
.prelaunch .film-bottom{color:var(--hero-white);text-shadow:none}
.prelaunch .film-scroll span{background:var(--hero-white)}
.prelaunch .scene-picker select{background:var(--hero-clear);color:var(--hero-white);border-color:var(--hero-white)}
.prelaunch .scene-picker option{background:var(--card-stock);color:var(--card-ink)}
/* One editorial portrait filmstrip, replacing both previous gallery experiences. */
:root{--editorial-ease:cubic-bezier(.22,1,.36,1);--editorial-wash:rgba(245,245,242,.88);--editorial-photo-h:340px;--editorial-photo-w:255px;--editorial-gap:12px}
.editorial-gallery{position:relative;height:100svh;min-height:740px;max-height:1100px;overflow:clip;isolation:isolate;color:var(--card-ink);background:var(--card-stock) var(--paper);background-size:var(--card-texture-size);scroll-margin-top:122px;touch-action:pan-y;text-shadow:var(--card-press);border-block:1px solid var(--card-line)}
.editorial-backdrop{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.editorial-backdrop img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;opacity:.18}
.editorial-backdrop::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--card-stock),transparent 70%);background-image:var(--paper);background-size:var(--card-texture-size);opacity:.7}
.editorial-heading{position:absolute;left:6%;right:6%;bottom:56%;display:flex;align-items:end;justify-content:space-between;gap:48px;padding-top:24px}
.editorial-heading h2{max-width:760px;font-size:clamp(38px,5.8vw,80px);line-height:1.08;text-wrap:balance;letter-spacing:-.035em;overflow-wrap:break-word;min-width:0;text-shadow:var(--card-deep-press)}
.editorial-heading>div{font-size:12px;line-height:1.9;text-align:right;flex-shrink:0;max-width:220px}
.editorial-viewport{position:absolute;top:48%;left:0;right:0;height:var(--editorial-photo-h);touch-action:pan-y;cursor:grab}
.editorial-viewport:active{cursor:grabbing}
.editorial-strip{display:flex;align-items:start;gap:var(--editorial-gap);width:max-content;transition:transform 700ms var(--editorial-ease);will-change:transform}
.editorial-photo{display:block;position:relative;flex:0 0 var(--editorial-photo-w);width:var(--editorial-photo-w);height:var(--editorial-photo-h);padding:0;border:0;overflow:hidden;clip-path:inset(0 0 50% 0);transition:clip-path 700ms var(--editorial-ease),filter 250ms ease;filter:brightness(.92);background:var(--card-stock);touch-action:pan-y}
.editorial-photo.is-current{clip-path:inset(0);filter:none}
.editorial-photo:hover{filter:none}
.editorial-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 24%;max-width:none;pointer-events:none;user-select:none}
.editorial-photo:focus-visible{outline:3px solid var(--card-ink);outline-offset:-5px;filter:none}
.editorial-bottom{position:absolute;left:6%;right:6%;bottom:32px;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:40px}
.editorial-progress{width:180px;max-width:100%;font-size:11px;font-variant-numeric:tabular-nums}
.editorial-progress>div:first-child{display:flex;justify-content:space-between;margin-bottom:12px}
.editorial-rail{height:1px;background:var(--card-line);position:relative}
.editorial-rail span{position:absolute;inset:0 auto 0 0;width:10%;background:var(--card-ink);transition:transform 700ms var(--editorial-ease)}
.editorial-controls{display:flex;justify-self:end;gap:32px}
.editorial-controls button{min-height:44px;font-size:12px;padding:8px 0;text-decoration:underline;text-underline-offset:6px}
.editorial-controls button:disabled{opacity:1;background:var(--card-stock);color:var(--card-muted);cursor:not-allowed;text-decoration:none}
.editorial-bottom>.text-link{min-height:44px;font-size:12px;padding:12px 0}
.editorial-gallery:focus-visible{outline:2px solid var(--card-ink);outline-offset:-8px}
.editorial-gallery button:active{filter:brightness(.88)}
.editorial-gallery button:focus-visible{outline:2px solid var(--card-ink);outline-offset:5px}
.editorial-announcement{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:900px){.editorial-heading{gap:28px}.editorial-heading>div{max-width:180px;font-size:11px}.editorial-heading h2{font-size:54px}.editorial-bottom{gap:24px}.editorial-progress{width:140px}}
@media(max-width:700px){
 .prelaunch .film-intro-copy{max-width:86%;left:7%}
 .prelaunch .hero-matchcut .matchcut-frame img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center}
 .editorial-gallery{min-height:720px;max-height:none;scroll-margin-top:112px}
 .editorial-heading{left:7%;right:7%;bottom:57%;display:block}
 .editorial-heading h2{font-size:clamp(34px,10vw,44px);max-width:100%}
 .editorial-heading>div{max-width:none;text-align:left;font-size:10px;margin-top:20px}
 .editorial-heading>div p:last-child{display:none}
 .editorial-viewport{top:47%}
 .editorial-bottom{left:7%;right:7%;bottom:24px;grid-template-columns:1fr 1fr;gap:16px}
 .editorial-progress{width:120px;font-size:10px;grid-column:1;grid-row:2}
 .editorial-bottom>.text-link{grid-column:1;grid-row:1;justify-self:start;font-size:11px}
 .editorial-controls{gap:24px;grid-column:2;grid-row:1/3;align-self:end}.editorial-controls button{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.editorial-strip,.editorial-photo,.editorial-rail span{transition:none}}


/* Full-bleed photographic backdrop, as in the supplied editorial reference. */
:root{--editorial-light:#fefefa;--editorial-shadow:rgba(0,0,0,.55);--editorial-top-wash:rgba(0,0,0,.45);--editorial-bottom-wash:rgba(0,0,0,.65);--editorial-clear:rgba(0,0,0,0);--editorial-light-line:rgba(254,254,250,.4);--editorial-disabled:rgba(254,254,250,.55);--editorial-disabled-fill:rgba(0,0,0,.15)}
.editorial-gallery{background-image:none;color:var(--editorial-light);text-shadow:none}
.editorial-backdrop{z-index:-1;background:var(--card-ink)}
.editorial-backdrop img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%;opacity:0;transform:scale(1.42);transition:opacity 700ms ease-out,transform 6s linear;will-change:opacity,transform}
.editorial-backdrop img.is-current{opacity:1;transform:scale(1.28)}
.editorial-backdrop::after{opacity:1;background-image:linear-gradient(180deg,var(--editorial-top-wash),var(--editorial-clear) 55%,var(--editorial-bottom-wash));background-size:auto;pointer-events:none}
.editorial-heading h2,.editorial-heading p{color:var(--editorial-light);text-shadow:0 2px 12px var(--editorial-shadow)}
.editorial-bottom{color:var(--editorial-light);text-shadow:0 1px 5px var(--editorial-shadow)}
.editorial-bottom button{color:var(--editorial-light)}
.editorial-controls button:disabled{background:var(--editorial-disabled-fill);color:var(--editorial-disabled);opacity:1;cursor:not-allowed}
.editorial-rail{background:var(--editorial-light-line)}
.editorial-rail span{background:var(--editorial-light)}
.editorial-gallery:focus-visible,.editorial-gallery button:focus-visible{outline-color:var(--editorial-light)}
@media(prefers-reduced-motion:reduce){.editorial-backdrop img{transition:none;transform:scale(1.28)}}

/* Mobile photographs retain the whole face rather than magnifying a detail. */
@media(max-width:700px){
 .editorial-backdrop img{transform:scale(1.04);object-position:50% 35%}
 .editorial-backdrop img.is-current{transform:scale(1)}
 .prelaunch .hero-matchcut .matchcut-frame[data-scene=face] img{object-position:50% 35%}
}
@media(max-width:700px) and (prefers-reduced-motion:reduce){.editorial-backdrop img{transform:none}}
