*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#faf9f6;color:#191919;font-family:Avenir,'Avenir Next',Arial,sans-serif;font-weight:400}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}header{position:absolute;top:0;left:0;width:100%;z-index:3;color:white;background:linear-gradient(#0008,transparent)}nav{display:flex;align-items:center;justify-content:space-between;padding:28px 4vw}nav>div{display:flex;gap:30px;font-size:12px;letter-spacing:.15em}.brand{font-size:28px;letter-spacing:.15em;text-align:center}.brand span{display:block;font-size:10px;letter-spacing:.45em;margin-top:7px}.cinema-hero{height:100svh;min-height:660px;position:relative;background:#151310;overflow:hidden}.cinema-hero>img{width:100%;height:100%;object-fit:cover;object-position:center 28%}.cinema-hero:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#0009);pointer-events:none}.hero-caption{position:absolute;z-index:1;bottom:9%;left:5vw;color:white}.hero-caption p,.hero-caption a,.hero-credit{font-size:11px;letter-spacing:.17em}.hero-caption h1{font-size:clamp(30px,4.6vw,72px);line-height:1.08;font-weight:400;letter-spacing:-.035em;margin:22px 0 30px}.hero-caption a{display:inline-flex;align-items:center;gap:25px}.hero-credit{position:absolute;z-index:1;right:5vw;bottom:9%;color:#fff}.pink-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#d78fa8;flex-shrink:0}.collection{padding:90px 0 55px;scroll-margin-top:20px}.collection-heading{margin:0 5vw 35px;display:flex;justify-content:space-between;align-items:center;gap:20px}.collection-heading h2{font-size:clamp(26px,3vw,44px);font-weight:400;margin:0}.collection-heading p{font-size:10px;letter-spacing:.12em}.film-rail{display:flex;gap:30px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 5vw 20px;scrollbar-width:thin;scrollbar-color:#d78fa8 transparent;cursor:grab}.film-card{flex:0 0 32vw;min-width:280px;scroll-snap-align:start;scroll-margin-left:5vw}.cover{padding:0;border:0;background:#ddd;display:block;width:100%;aspect-ratio:3/4;position:relative;overflow:hidden;text-align:center}.cover img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.cover:hover img{transform:scale(1.035)}.cover-brand{position:absolute;top:5%;left:3%;right:3%;color:#fff;font-size:clamp(22px,3.3vw,58px);letter-spacing:-.055em;line-height:1;font-weight:500}.cover-index{position:absolute;bottom:5%;left:0;right:0;font-size:10px;letter-spacing:.25em;color:white;text-shadow:0 1px 6px #000}.mode-1 .cover-brand{color:#e8c4cc}.mode-2 .cover-brand{color:white;-webkit-text-stroke:1px white;color:transparent}.mode-3 .cover-brand{color:#191919}.mode-4 .cover-brand{color:#e8c4cc;font-family:Georgia,serif;letter-spacing:-.07em}.card-caption{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:18px}.card-caption h3{font-size:17px;font-weight:400;margin:0}.watch{display:flex;gap:18px;align-items:center;font-size:10px;letter-spacing:.12em;background:none;border:0;padding:12px 0}.rail-dots{display:flex;justify-content:center;margin-top:25px;gap:4px}.rail-dots button{border:0;background:none;padding:15px;opacity:.4}.rail-dots button[aria-current=true]{opacity:1}.rail-dots button[aria-current=true] i{transform:scale(1.3)}footer{border-top:1px solid #ddd;margin:0 5vw;padding:35px 0;display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:10px;letter-spacing:.1em}footer>a:first-child{font-size:32px}footer a:last-child{display:flex;align-items:center;gap:18px}dialog{border:0;background:#111;color:#fff;width:min(94vw,1500px);max-width:none;padding:22px;max-height:95svh}dialog::backdrop{background:#000e}.player-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:20px;font-size:13px}.player-top button{background:none;border:0;font-size:11px;display:flex;gap:20px;align-items:center;padding:10px}dialog video{display:block;width:100%;max-height:78svh;background:#000}:focus-visible{outline:2px solid #d78fa8;outline-offset:5px}@media(max-width:700px){nav{padding:24px 5vw;align-items:flex-start}.brand{font-size:17px}.brand span{font-size:8px}nav>div{gap:12px;font-size:9px;flex-direction:column}.cinema-hero{min-height:600px}.cinema-hero>img{object-position:50% 25%}.hero-caption{bottom:10%}.hero-credit{bottom:4%;font-size:9px}.collection{padding-top:55px}.collection-heading{align-items:flex-start;flex-direction:column;gap:12px}.film-card{flex-basis:78vw;min-width:0}.film-rail{gap:18px}.cover-brand{font-size:9vw}footer{flex-wrap:wrap}dialog{padding:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cover img{transition:none}}

/* Keep Ashley’s face in frame and give the closing portrait a white pause. */
.cinema-hero>img{object-position:center top}
.cinema-portrait{padding-top:0;background:#fff}
.cinema-portrait img{display:block;width:100%;height:auto}
@media(max-width:700px){.cinema-hero>img{object-position:center top}}

.angels-split{display:grid;grid-template-columns:1fr 1fr;gap:0;background:#000}.angels-split video{display:block;width:100%;height:auto;min-width:0;aspect-ratio:16/9;object-fit:cover}

/* Portrait credits hold beneath the full-screen moving finale. */
.cinema-finale{position:relative;background:#fff}
.cinema-still{position:sticky;top:var(--still-top,0px)}
.film-credits{padding:64px 5vw 72px;background:#fff;color:#191919;font-size:14px;line-height:1.9}
.film-credits h2{font-size:15px;font-weight:400;letter-spacing:.12em;margin:0 0 24px}
.film-credits p{margin:0 0 22px}.film-credits p:last-child{margin-bottom:0}
.angels-split{position:relative;z-index:1;height:100vh;height:100svh;overflow:hidden}
.angels-split video{height:100%;aspect-ratio:auto;object-fit:cover}
@media(prefers-reduced-motion:reduce){.cinema-still{position:relative;top:0}}

/* Light Angels cover: preserve readable editorial lettering. */
.mode-0 .cover-brand,.mode-0 .cover-index{color:#191919;text-shadow:none;}

/* Credits rise over the held photograph like a translucent film. */
.film-credits{position:relative;z-index:1;background:rgba(255,255,255,.82);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}
