/* Poster-led first view. Kept separate from the story page. */
.site-header{position:absolute;top:38px;left:0;width:100%;background:transparent;padding:20px 4vw}
.mini-title{color:#fffaf4;text-shadow:2px 2px #bd2859}
.site-header nav{background:#fffaf4;border:1px solid #efadc3;border-radius:50px;padding:8px 24px}
.hero{height:calc(100svh - 38px);min-height:740px;max-height:1100px;background:#ef8eaf}
.poster-photo{inset:0;height:100%}
.poster-photo img{object-position:center 16%;animation:poster-breathe 14s ease-in-out infinite alternate}
.poster-photo:after{background:linear-gradient(0deg,#ef8eaf 0%,#ef8eafcf 16%,transparent 48%),linear-gradient(90deg,#ef8eafaa,transparent 26%,transparent 74%,#ef8eafaa)}
.side-copy{top:18%;font-size:clamp(18px,2vw,31px);font-weight:900;line-height:2;z-index:2}
.side-copy.left{left:5%;transform:rotate(-9deg)}
.side-copy.right{right:5%;transform:rotate(9deg)}
.side-copy strong{background:#ffef81;padding:16px 5px;box-shadow:5px 5px 0 #d54d7930}
.hero-title{bottom:5%;pointer-events:none}
.film-kicker{display:inline-block;background:#ffef81;padding:6px 18px;rotate:-3deg;font-size:10px;letter-spacing:.13em;margin-bottom:6px}
.hero h1{font-size:clamp(105px,14.3vw,230px);letter-spacing:-.105em;line-height:1.05;text-shadow:5px 7px 0 #c73164,9px 11px 0 #fffaf450;transform:rotate(-7deg);white-space:nowrap}
.hero h1>span{animation:poster-title-hit 1.05s cubic-bezier(.16,1,.3,1) both}
.hero h1>span+span{animation-delay:.16s}
.hero .period{color:#ffef81;text-shadow:5px 7px 0 #c73164}
.hero .handwritten{display:table;background:#fffaf4;margin:28px auto 16px;padding:2px 15px;font-size:clamp(14px,1.65vw,22px);rotate:-2deg}
.hero .release{font-size:clamp(22px,2.4vw,34px);letter-spacing:.08em}
.release small{font-size:8px;margin-top:3px}
.heart{font-size:160px;left:19%;top:35%;rotate:-15deg}
.spark.one{top:21%;right:22%;font-size:86px}
.spark.two{top:48%;right:13%;font-size:96px}
.teaser-button{bottom:5%;left:3%;padding:18px 22px;box-shadow:5px 6px 0 #57354a;rotate:-3deg}
.scroll-cue{bottom:5%;right:3%}
@keyframes poster-title-hit{0%{opacity:0;transform:translateY(70px) scale(1.2) rotate(5deg)}65%{opacity:1}100%{opacity:1;transform:none}}
@media(min-width:1600px){.poster-photo{inset:0 8%}.hero-title{bottom:5%}}
@media(max-width:1000px) and (min-width:641px){.hero-title{bottom:13%}.hero{min-height:740px}.teaser-button{bottom:3%}.scroll-cue{bottom:3%}.hero h1{font-size:14vw}}
@media(max-width:640px){
 .site-header{top:33px;padding:14px 18px}.site-header nav{padding:10px 16px}.mini-title{font-size:19px}.menu-toggle{font-size:10px}
 .hero{height:calc(100svh - 33px);min-height:715px;max-height:940px}
 .poster-photo{inset:0;height:70%}.poster-photo img{object-position:center 10%}
 .poster-photo:after{background:linear-gradient(0deg,#ef8eaf,transparent 50%)}
 .side-copy{top:12%;font-size:11.5px;letter-spacing:.05em;line-height:1.8}.side-copy.left{left:3%}.side-copy.right{right:3%}.side-copy strong{padding:8px 2px;box-shadow:3px 3px 0 #d54d7930}
 .hero-title{bottom:14%}.hero h1{font-size:clamp(80px,23vw,144px);line-height:1.03;text-shadow:3px 4px 0 #c73164;white-space:normal;transform:rotate(-8deg)}
 .hero h1>span:first-child{margin-left:-21vw}.hero h1>span+span{margin-right:-12vw}.hero .period{text-shadow:3px 4px 0 #c73164}
 .film-kicker{font-size:6px;padding:5px 12px;margin-bottom:10px}.hero .handwritten{font-size:11px;padding:3px 8px;margin:22px auto 12px;max-width:94%}.hero .release{font-size:23px}.release small{font-size:6px}
 .heart{left:4%;top:41%;font-size:90px}.spark.one{right:10%;top:37%;font-size:48px}.spark.two{right:4%;top:57%;font-size:43px}
 .teaser-button{left:50%;bottom:4%;padding:13px 20px;rotate:0deg;box-shadow:4px 4px 0 #57354a}.scroll-cue{right:4%;bottom:5%}
}
/* Big, readable premise copy instead of the small vertical captions. */
.side-copy{display:none}
.poster-photo{inset:3% -8% 0 32%;height:auto}
.poster-photo img{object-position:center top}
.poster-photo:after{background:linear-gradient(90deg,#ef8eaf,transparent 24%),linear-gradient(0deg,#ef8eaf,transparent 45%)}
.premise{position:absolute;left:4%;top:19%;width:53%;z-index:3;rotate:-7deg;color:#fff020;animation:premise-in .9s cubic-bezier(.16,1,.3,1) both}
.premise h2{font-size:clamp(30px,3.8vw,64px);font-weight:900;line-height:1.6;letter-spacing:-.055em;margin:0}
.premise-first{display:table;text-decoration:underline wavy #fffaf4;text-decoration-thickness:4px;text-underline-offset:12px;margin-bottom:18px}
.match-row{display:flex;align-items:center;gap:12px;white-space:nowrap}
.meets{position:relative;isolation:isolate;display:grid;place-items:center;width:72px;height:64px;padding-bottom:8px;flex:none;font-size:17px;line-height:1;letter-spacing:0;text-align:center;color:#d74371;rotate:-5deg}
.meets:before{content:'';position:absolute;inset:0;z-index:-1;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 90'%3E%3Cpath fill='%23fffaf4' d='M50 90C42 76 0 53 0 27C0 0 34-10 50 16C66-10 100 0 100 27C100 53 58 76 50 90Z'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.premise p{font-size:clamp(23px,2.6vw,43px);font-weight:900;line-height:1.45;letter-spacing:-.03em;margin:18px 0 0}
.premise p span{color:#fffaf4}.premise p br{display:none}.premise strong{font:inherit}
.premise-star{position:absolute;right:10%;top:-38px;font-size:48px;color:#fffaf4;animation:float 5s ease-in-out infinite alternate}
.hero-title{bottom:4%}.hero h1{font-size:clamp(105px,13.4vw,225px)}
.heart{display:none}.spark.one{right:9%;top:18%}.spark.two{right:6%;top:50%}
@keyframes premise-in{from{opacity:0;transform:translateX(-35px)}to{opacity:1;transform:none}}
.paused .premise{animation:none;opacity:1;transform:none}
@media(max-width:1000px) and (min-width:641px){.premise{top:19%;width:60%}.premise h2{font-size:3.9vw}.premise p{font-size:2.6vw}.hero-title{bottom:13%}.meets{width:52px;height:47px;padding-bottom:6px;font-size:13px}.poster-photo{inset:9% -17% 0 27%}}
@media(max-width:640px){
 .premise{left:7%;top:60px;width:88%;rotate:-6deg}
 .premise h2{font-size:clamp(21px,6.8vw,38px);line-height:1.45;letter-spacing:-.04em}
 .premise-first{margin-bottom:7px;text-decoration-thickness:2px;text-underline-offset:5px}
 .match-row{gap:9px}.meets{width:42px;height:38px;padding-bottom:5px;font-size:11px}
 .premise p{font-size:clamp(16px,5.2vw,29px);margin:8px 0 0}.premise-star{right:9%;top:4px;font-size:28px}
 .hero .film-kicker{display:none}
 .poster-photo{inset:21% -10% auto;height:72%}.poster-photo img{object-position:50% top}
 .poster-photo:after{background:linear-gradient(0deg,#ef8eaf,transparent 24%),linear-gradient(180deg,#ef8eaf,transparent 9%)}
 .hero-title{bottom:11%}.hero h1{font-size:clamp(70px,20vw,120px)}
 .hero .handwritten{display:none}.hero .release{margin-top:26px;text-shadow:0 1px 8px #ef8eaf}
 .teaser-button{bottom:2.5%}.scroll-cue{bottom:3.5%}
 .spark.one{top:36%;right:7%;font-size:32px}.spark.two{top:54%;right:4%;font-size:36px}
}
@media(prefers-reduced-motion:reduce){.hero h1>span,.premise{animation:none;opacity:1;transform:none}}
