:root{--black:#080808;--panel:#121214;--panel2:#1a1a1d;--white:#f7f4ed;--muted:#aaa7a2;--red:#d71920;--gold:#d5b56b;--line:#2d2d31}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--white);font-family:"DM Sans",sans-serif;overflow-x:hidden}body.locked{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit}.skip{position:fixed;left:1rem;top:-5rem;z-index:999;background:white;color:#111;padding:.8rem 1rem}.skip:focus{top:1rem}.premiere{position:fixed;inset:0;z-index:1000;background:#030303;display:grid;place-items:center;transition:opacity .8s,visibility .8s}.premiere.done{opacity:0;visibility:hidden;pointer-events:none}.premiere-open{border:0;background:none;color:var(--white);text-align:center;cursor:pointer;padding:2rem;z-index:2}.invite-kicker,.invite-date,.open-pill{display:block;text-transform:uppercase;letter-spacing:.3em}.invite-kicker{font-size:.68rem;color:var(--gold);margin-bottom:1rem}.invite-title{display:block;font:500 clamp(3.6rem,11vw,8rem)/.9 "Cormorant Garamond",serif}.invite-title i{color:var(--red);font-weight:400}.invite-date{font-size:.72rem;margin:1.5rem 0;color:#c7c3bd}.open-pill{width:max-content;margin:auto;background:var(--red);padding:.8rem 1.2rem;border-radius:4px;font-size:.68rem;letter-spacing:.15em}.stripe-stage{position:absolute;inset:0;display:none;place-items:center;overflow:hidden}.premiere.playing .premiere-open{display:none}.premiere.playing .stripe-stage{display:grid}.stripes{position:absolute;inset:0;display:flex}.stripes i{flex:1;transform:scaleY(0);transform-origin:center;background:linear-gradient(180deg,#0d0205,#e50914,#ff782f,#6b0012,#050307);filter:blur(.5px);animation:stripe 2.35s cubic-bezier(.7,0,.2,1) forwards;animation-delay:var(--delay)}@keyframes stripe{0%{transform:scaleY(0);opacity:0}25%{opacity:1}62%{transform:scaleY(1)}100%{transform:scaleX(.015) scaleY(1);opacity:.6}}.intro-monogram{position:relative;opacity:0;font:500 clamp(4rem,15vw,11rem)/.8 "Cormorant Garamond",serif;letter-spacing:.03em;text-shadow:0 0 30px #000;animation:monogram 1.15s 1.35s forwards;text-align:center}.intro-monogram span{color:var(--red)}.intro-monogram small{display:block;font:500 .75rem/1 "DM Sans";letter-spacing:.65em;margin-top:1.5rem}@keyframes monogram{from{opacity:0;transform:scale(.6);filter:blur(15px)}to{opacity:1;transform:scale(1);filter:blur(0)}}.nav{position:fixed;top:0;left:0;right:0;z-index:30;height:72px;padding:0 5vw;display:flex;align-items:center;gap:3rem;background:linear-gradient(#090909e8,transparent);transition:background .3s}.nav.scrolled{background:#090909f2;border-bottom:1px solid #222}.brand{font:600 1.7rem "Cormorant Garamond";letter-spacing:-.08em}.brand span{color:var(--red)}.nav nav{display:flex;gap:1.5rem;font-size:.78rem;color:#d4d1ca}.nav nav a:hover{color:white}.nav-rsvp{margin-left:auto;background:var(--red);padding:.55rem 1rem;border-radius:3px;font:400 .76rem "DM Sans";letter-spacing:.1em}.hero{height:100svh;min-height:650px;position:relative;display:flex;align-items:flex-end;padding:0 6vw 10vh;overflow:hidden}.hero-media{position:absolute;inset:0;background:url("assets/couple/03-147327.jpg") center 32%/cover no-repeat;transform:scale(1.02)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#080808 0%,#080808d9 29%,transparent 69%),linear-gradient(0deg,#080808 0%,transparent 55%),linear-gradient(180deg,#08080880,transparent 25%)}.hero-copy{position:relative;z-index:2;max-width:720px}.overline span,.chapter{text-transform:uppercase;letter-spacing:.28em;color:var(--red);font:600 .7rem "DM Sans"}.hero h1{font:500 clamp(4.8rem,10vw,9.4rem)/.7 "Cormorant Garamond",serif;letter-spacing:-.05em;margin:.2em 0}.hero h1 em{color:var(--red);font-weight:400}.hero-logline{font:500 clamp(1.1rem,2vw,1.4rem) "Cormorant Garamond";max-width:560px;color:#e5e1d8}.hero-actions,.detail-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.7rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:45px;padding:.75rem 1.15rem;border-radius:4px;font-size:.82rem;font-weight:600;border:1px solid transparent;cursor:pointer}.button.primary{background:var(--white);color:#111}.button.primary:hover{background:#d9d6d0}.button.secondary{background:#ffffff24;border-color:#ffffff2b;backdrop-filter:blur(10px)}.hero-meta{position:absolute;z-index:2;right:5vw;bottom:10vh;display:grid;gap:.4rem;text-align:right;font:500 .68rem "DM Sans";letter-spacing:.15em;color:#bbb}.hero-meta b{color:var(--red);font:400 2.4rem "Bebas Neue"}.scroll-cue{position:absolute;z-index:2;bottom:2.4rem;left:50%;transform:translateX(-50%);font-size:.62rem;text-transform:uppercase;letter-spacing:.2em;color:#aaa}.scroll-cue span{display:block;text-align:center;font-size:1.1rem;margin-top:.25rem}.section,.cast-section,.gallery-section{padding:7rem 6vw}.section-head{max-width:720px;margin-bottom:3rem}.section-head h2,.rail-title h2,.details-copy h2,.trivia-wrap h2,.rsvp-card h2{font:500 clamp(2.8rem,6vw,5rem)/.95 "Cormorant Garamond";margin:.3rem 0 1rem}.section-head>p:last-child{color:var(--muted);line-height:1.7}.story-section{background:radial-gradient(circle at 80% 20%,#2b090d 0,transparent 32%)}.episodes{max-width:1050px;margin-left:auto}.episode{display:grid;grid-template-columns:100px 1fr;gap:2rem;padding:2.4rem 0;border-top:1px solid var(--line)}.episode-no{font:400 2rem "Bebas Neue";color:var(--red)}.episode-label{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}.episode h3{font:500 clamp(2rem,4vw,3rem) "Cormorant Garamond";margin:.3rem 0 .7rem}.episode div>p:last-child{max-width:690px;color:var(--muted);line-height:1.8}.gallery-section{padding-right:0;background:#0c0c0d}.rail-title{display:flex;align-items:flex-end;justify-content:space-between;padding-right:6vw;margin-bottom:2rem}.rail-controls button{background:#222;color:white;border:1px solid #333;width:42px;height:42px;border-radius:50%;margin-left:.4rem;cursor:pointer}.photo-rail{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-right:6vw;scrollbar-width:none}.photo-rail::-webkit-scrollbar{display:none}.photo-rail figure{flex:0 0 min(330px,78vw);margin:0;position:relative;scroll-snap-align:start;overflow:hidden;aspect-ratio:2/3;background:#18181a}.photo-rail figure:first-child{flex-basis:min(520px,85vw);aspect-ratio:4/5}.photo-rail img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.photo-rail figure:hover img{transform:scale(1.035)}.photo-rail figcaption{position:absolute;inset:auto 0 0;padding:3rem 1.2rem 1rem;background:linear-gradient(transparent,#000d);font:500 1.25rem "Cormorant Garamond"}.details-section{background:#111}.details-panel{min-height:500px;border:1px solid #333;background:linear-gradient(90deg,#090909e8,#09090978),url("assets/couple/02-147325.jpg") 70% 25%/cover;display:grid;grid-template-columns:220px 1fr;align-items:center;padding:4vw}.date-block{text-align:center;border-right:1px solid #ffffff26;padding:2rem}.date-block span{display:block;letter-spacing:.2em;font-size:.7rem;color:var(--gold)}.date-block strong{display:block;font:400 8rem/.9 "Bebas Neue"}.details-copy{padding:2rem 4vw}.address{font:500 1.4rem/1.4 "Cormorant Garamond"}.detail-chips{display:flex;gap:.7rem;flex-wrap:wrap;margin:1.5rem 0}.detail-chips span{border:1px solid #ffffff25;padding:.55rem .7rem;border-radius:999px;font-size:.68rem;letter-spacing:.08em}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem}.info-card{background:#18181b;padding:2rem;border-top:2px solid var(--red)}.info-card>span{font:400 1.3rem "Bebas Neue";color:var(--red)}.info-card h3{font:500 1.8rem "Cormorant Garamond"}.info-card p{color:var(--muted);line-height:1.7;font-size:.88rem}.info-card a{text-decoration:underline;color:#eee}.cast-section{background:radial-gradient(circle at 15% 20%,#261f0f 0,transparent 25%),#090909}.cast-tabs{display:flex;gap:.5rem;margin-bottom:2rem}.cast-tabs button{background:transparent;border:1px solid #444;color:#aaa;padding:.7rem 1rem;cursor:pointer}.cast-tabs button.active{background:var(--white);color:#111}.cast-grid{display:none;grid-template-columns:repeat(5,1fr);gap:1rem}.cast-grid.active{display:grid}.cast-card{background:#151517;min-width:0}.cast-card img,.portrait-placeholder{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top;filter:saturate(.82)}.portrait-placeholder{display:grid;place-items:center;background:linear-gradient(135deg,#351318,#121214);font:500 7rem "Cormorant Garamond";color:var(--gold)}.cast-card>div:last-child{padding:1.1rem}.cast-card p{color:var(--red);font-size:.61rem;text-transform:uppercase;letter-spacing:.12em}.cast-card h3{font:500 1.55rem "Cormorant Garamond";margin:.25rem 0}.cast-card blockquote{font:italic 1rem/1.45 "Cormorant Garamond";color:#bbb;margin:1rem 0 0}.menu-section{background:#f0ece3;color:#151515}.menu-section .chapter{color:#a5131a}.menu-grid{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:1rem;align-items:stretch}.menu-card{border:1px solid #cfc8bb;padding:2.2rem}.menu-card.featured{background:#141416;color:white;border-color:#141416;transform:translateY(-1.5rem)}.menu-no{color:#a5131a!important;font:400 1rem "Bebas Neue"}.menu-card h3{font:500 2.2rem "Cormorant Garamond";margin:.5rem 0 1.2rem}.menu-card h4{text-transform:uppercase;letter-spacing:.18em;font-size:.6rem;color:#a5131a;margin:1.3rem 0 .2rem}.menu-card ul{padding:0;list-style:none}.menu-card li,.menu-card>p:not(.menu-no){padding:.55rem 0;border-bottom:1px solid #d2ccc1}.menu-card.featured p{border-color:#333}.menu-note{font-size:.76rem;color:#777;margin-top:2rem}.trivia-section{padding:7rem 6vw;background:linear-gradient(115deg,#24050a,#0c0c0d 55%)}.trivia-wrap{display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:center}.quiz{background:#151517;border:1px solid #333;padding:2rem}.quiz>p:first-child{font:500 1.6rem/1.3 "Cormorant Garamond"}.quiz button.answer{width:100%;background:#202024;color:white;border:1px solid #38383d;padding:.8rem;text-align:left;margin:.35rem 0;cursor:pointer}.quiz button.answer:hover{border-color:var(--red)}.quiz button.correct{background:#183c26;border-color:#2e9d58}.quiz button.wrong{background:#4a171a;border-color:#be333a}.quiz-result{min-height:1.2rem;color:var(--gold)}.hidden{display:none}.rsvp-section{padding:8rem 6vw;background:url("assets/couple/01-147341.jpg") center 25%/cover fixed;position:relative}.rsvp-section:before{content:"";position:absolute;inset:0;background:#050505d9}.rsvp-card{position:relative;max-width:780px;margin:auto;background:#0c0c0deb;border:1px solid #ffffff2b;text-align:center;padding:5rem 7vw}.rsvp-card>p:not(.chapter){color:var(--muted)}.button.large{margin:1.5rem 0;padding:1rem 1.5rem;background:var(--red);color:white}.rsvp-card small{display:block;color:#777}.rsvp-contacts{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;margin-top:2rem;font-size:.72rem}.rsvp-contacts a{text-decoration:underline}footer{text-align:center;padding:4rem 1rem;color:#8f8c87;border-top:1px solid #242426;font-size:.76rem}footer .brand{color:white}.end-credit{text-transform:uppercase;letter-spacing:.2em;font-size:.6rem;margin-top:2rem}.sound-toggle{position:fixed;right:1rem;bottom:1rem;z-index:50;background:#19191ce8;color:#ddd;border:1px solid #3d3d42;border-radius:99px;padding:.55rem .8rem;font-size:.66rem;cursor:pointer}.reveal{opacity:0;transform:translateY(25px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}@media(max-width:1000px){.cast-grid{grid-template-columns:repeat(3,1fr)}.info-grid{grid-template-columns:1fr}.menu-grid{grid-template-columns:1fr}.menu-card.featured{transform:none}.nav nav{display:none}}@media(max-width:700px){.nav{height:62px}.hero{padding-bottom:13vh}.hero-media{background-position:58% 28%}.hero-shade{background:linear-gradient(0deg,#080808 4%,#08080877 66%,#08080888)}.hero h1{font-size:4.7rem;line-height:.72}.hero-meta{display:none}.section,.cast-section,.gallery-section,.trivia-section{padding-top:5rem;padding-bottom:5rem}.episode{grid-template-columns:54px;gap:1rem}.details-panel{grid-template-columns:1fr;padding:2rem;background-position:67% 25%}.date-block{border-right:0;border-bottom:1px solid #ffffff26}.details-copy{padding:2rem 0}.cast-grid{grid-template-columns:repeat(2,1fr)}.cast-card blockquote{font-size:.86rem}.trivia-wrap{grid-template-columns:1fr}.rsvp-section{background-attachment:scroll;padding:4rem 1rem}.rsvp-card{padding:3rem 1.3rem}}@media(max-width:430px){.cast-grid{grid-template-columns:1fr}.cast-card{display:grid;grid-template-columns:42% 58%}.cast-card img,.portrait-placeholder{height:100%;aspect-ratio:auto}.cast-card blockquote{font-size:.82rem}.invite-date{letter-spacing:.18em}.hero-actions .button{flex:1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
.gift-section{background:#0c0c0d}.gift-card{display:grid;grid-template-columns:1fr 1.1fr;gap:5vw;align-items:center;border:1px solid #303034;padding:4vw;background:radial-gradient(circle at 0 0,#2b2110,transparent 35%),#131315}.gift-card h2{font:500 clamp(2.6rem,5vw,4.4rem)/.95 "Cormorant Garamond";margin:.3rem 0 1rem}.gift-card>div>p:last-child{color:var(--muted);line-height:1.7}.gift-methods{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.gift-methods article{border:1px solid #3b3b3f;padding:1.5rem;background:#0c0c0e}.gift-methods span{font-size:.62rem;letter-spacing:.2em;color:var(--gold)}.gift-methods h3{font:500 1.8rem "Cormorant Garamond";margin:.55rem 0}.gift-methods p{color:var(--muted);font-size:.78rem}.gift-methods .pending{opacity:.65}@media(max-width:700px){.gift-card,.gift-methods{grid-template-columns:1fr}}
.childhood-section{padding:8rem 8vw;background:linear-gradient(140deg,#efe9dc,#d9ceb9);color:#171515;display:grid;grid-template-columns:.7fr 1.3fr;gap:6vw;align-items:center}.childhood-copy h2{font:500 clamp(3rem,6vw,5.4rem)/.9 "Cormorant Garamond";margin:.4rem 0 1.2rem}.childhood-copy>p:last-child{line-height:1.75;color:#5d5850;max-width:520px}.childhood-portraits{display:grid;grid-template-columns:1fr auto 1fr;gap:1.4rem;align-items:center}.childhood-portraits figure{margin:0}.childhood-frame{background:#fff;padding:.75rem;box-shadow:0 18px 50px #4f453338;transform:rotate(-2deg)}.childhood-portraits figure:last-child .childhood-frame{transform:rotate(2deg)}.childhood-frame img{display:block;width:100%;height:clamp(340px,42vw,600px);object-fit:cover;object-position:center top;filter:sepia(.12) contrast(.98)}.childhood-portraits figcaption{text-align:center;padding-top:1.1rem}.childhood-portraits figcaption span{font-size:.6rem;letter-spacing:.25em;text-transform:uppercase;color:#9b1c22}.childhood-portraits figcaption h3{font:500 2.2rem "Cormorant Garamond";margin:.2rem 0}.childhood-portraits figcaption p{font:italic 1rem "Cormorant Garamond";color:#676057}.childhood-mark{font:italic 3rem "Cormorant Garamond";color:#a5161d}@media(max-width:850px){.childhood-section{grid-template-columns:1fr}.childhood-portraits{gap:.7rem}.childhood-frame{padding:.4rem}.childhood-frame img{height:55vw}.childhood-mark{font-size:2rem}}@media(max-width:480px){.childhood-section{padding:5rem 1rem}.childhood-copy{padding:0 1rem}.childhood-portraits figcaption p{display:none}.childhood-portraits figcaption h3{font-size:1.55rem}.childhood-mark{font-size:1.5rem}}
.rsvp-card{max-width:900px}.guest-rsvp{text-align:left;margin-top:2.5rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.guest-rsvp label,.guest-rsvp fieldset{display:block;margin:0;border:0;padding:0}.guest-rsvp .full{grid-column:1/-1}.guest-rsvp label>span,.guest-rsvp legend{display:block;color:#bbb;font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;margin:0 0 .45rem}.guest-rsvp input,.guest-rsvp select,.guest-rsvp textarea{width:100%;border:1px solid #39393d;background:#171719;color:#fff;border-radius:3px;padding:.85rem;font:400 .86rem "DM Sans";outline:none}.guest-rsvp textarea{resize:vertical}.guest-rsvp input:focus,.guest-rsvp select:focus,.guest-rsvp textarea:focus{border-color:var(--red);box-shadow:0 0 0 2px #d7192022}.choice-row{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.choice-row label{position:relative}.choice-row input{position:absolute;opacity:0}.choice-row label span{display:block!important;border:1px solid #39393d;background:#171719;padding:.85rem;text-align:center;text-transform:none!important;letter-spacing:0!important;font-size:.82rem!important;cursor:pointer}.choice-row input:checked+span{border-color:var(--red);background:#d719201c;color:#fff}.submit-rsvp{width:100%;border:0}.submit-rsvp:disabled{opacity:.65;cursor:wait}.form-status{text-align:center!important;min-height:1.3rem;color:var(--gold)!important}.form-status.error{color:#ff8c91!important}.honeypot{position:absolute!important;left:-10000px!important}.rsvp-success{padding:3rem 1rem}.rsvp-success>span{display:grid;place-items:center;width:64px;height:64px;margin:auto;border-radius:50%;background:#1f6b3a;color:white;font-size:2rem}.rsvp-success h3{font:500 2.5rem "Cormorant Garamond";margin:1rem 0 .4rem}@media(max-width:650px){.form-grid,.choice-row{grid-template-columns:1fr}.guest-rsvp .full{grid-column:auto}}
.stay-section{padding:7rem 6vw;background:linear-gradient(145deg,#0b0b0c,#18130d)}.hotel-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.hotel-card{min-height:210px;padding:1.6rem;background:#151517;border:1px solid #313136;border-top:2px solid var(--gold);display:flex;flex-direction:column}.hotel-card>span{font-size:.58rem;letter-spacing:.19em;color:var(--gold)}.hotel-card h3{font:500 1.75rem/1.05 "Cormorant Garamond";margin:.65rem 0}.hotel-card p{color:var(--muted);font-size:.82rem;line-height:1.65;margin:0 0 1rem}.hotel-card a{margin-top:auto;color:#eee;font-size:.74rem;font-weight:600;text-decoration:underline;text-underline-offset:4px}@media(max-width:1100px){.hotel-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.stay-section{padding:5rem 1rem}.hotel-grid{grid-template-columns:1fr}.hotel-card{min-height:0}}
.hero-media{background-color:#101010;background-image:url("assets/couple/01-147341.jpg");background-position:78% center;background-size:auto 100%;filter:brightness(1) saturate(1.05)}
.hero-shade{background:linear-gradient(90deg,#080808 0%,#080808f2 27%,#080808a8 46%,#08080838 66%,transparent 82%),linear-gradient(180deg,#08080880 0%,transparent 18%)}
@media(max-width:700px){.hero-media{background-position:54% 18%;background-size:cover}.hero-shade{background:linear-gradient(0deg,#080808ed 0%,#080808a8 35%,#08080828 68%,#08080866 100%)}}
.final-score{font:500 3rem "Cormorant Garamond";margin:.5rem 0}.trivia-score-form{margin-top:1.5rem;padding-top:1.4rem;border-top:1px solid #343438}.trivia-score-form>label{display:block;margin-bottom:.55rem;color:#ddd;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}.trivia-score-form>div{display:grid;grid-template-columns:1fr auto;gap:.6rem}.trivia-score-form input{min-width:0;border:1px solid #45454a;background:#202024;color:#fff;border-radius:3px;padding:.8rem;font:400 .84rem "DM Sans"}.trivia-score-form input:focus{outline:2px solid #d7192055;border-color:var(--red)}.trivia-score-form button:disabled{opacity:.65}.trivia-note{margin:.65rem 0 0;color:#777;font-size:.68rem}.trivia-status{min-height:1.1rem;margin:.6rem 0 0;color:var(--gold);font-size:.75rem}.trivia-status.error{color:#ff8c91}.trivia-confirmed{margin:0;color:#7ad99d;font-weight:600}@media(max-width:520px){.trivia-score-form>div{grid-template-columns:1fr}.trivia-score-form button{width:100%}}
.invitation-lookup{max-width:620px;margin:2.5rem auto 0;text-align:left}.invitation-lookup label span{display:block;color:#bbb;font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:.45rem}.invitation-lookup>div{display:grid;grid-template-columns:1fr auto;gap:.7rem}.invitation-lookup input{min-width:0;border:1px solid #39393d;background:#171719;color:#fff;border-radius:3px;padding:.85rem;font:400 .86rem "DM Sans";text-transform:uppercase}.invitation-lookup input:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 2px #d7192022}.invitation-lookup button:disabled{opacity:.65}.lookup-help{margin:.65rem 0 0!important;color:#777!important;font-size:.72rem;text-align:left}@media(max-width:600px){.invitation-lookup>div{grid-template-columns:1fr}.invitation-lookup button{width:100%}}

/* Keep episode copy readable on narrow mobile screens. */
.episode{grid-template-columns:100px minmax(0,1fr)}
.episode>div{min-width:0}
.episode h3,.episode p{overflow-wrap:break-word;word-break:normal}
@media(max-width:700px){
  .episode{grid-template-columns:48px minmax(0,1fr);gap:1rem}
  .episode-no{font-size:1.75rem}
  .episode h3{font-size:clamp(1.9rem,10vw,2.65rem);line-height:1.05}
  .episode div>p:last-child{font-size:1rem;line-height:1.7}
}

/* Cinematic invitation premiere */
.premiere:before{content:"";position:absolute;inset:0;z-index:0;background:url("assets/couple/04-147331.jpg") center 22%/cover no-repeat;opacity:.72;transform:scale(1.02);filter:grayscale(.68) contrast(1.08)}
.premiere:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,#000b 0%,#0002 28%,#0005 56%,#000f 100%),radial-gradient(circle at 50% 35%,transparent 4%,#0009 100%)}
.premiere-open{position:relative;width:min(100vw,760px);height:100svh;min-height:620px;display:flex;flex-direction:column;align-items:center;padding:8vh 5vw 3.5vh;text-shadow:0 3px 18px #000}
.cover-badges{position:absolute;top:7vh;left:6vw;display:flex;flex-direction:column;align-items:flex-start;gap:.45rem;text-shadow:0 2px 8px #000}.rating-line{display:flex;align-items:center;gap:.8rem}.cover-badges b{position:relative;padding-left:.65rem;font:600 .68rem "DM Sans";letter-spacing:.14em;text-align:left}.cover-badges b:before{content:"";position:absolute;left:0;top:0;width:.34rem;height:1.85rem;background:var(--red)}.cover-badges b small{display:block;font:500 .42rem "DM Sans";letter-spacing:.38em;margin-top:.2rem}.cover-badges i{color:var(--red);font-size:.82rem;font-style:normal;letter-spacing:.2em;filter:drop-shadow(0 0 5px #d7192066)}.cover-badges em{background:var(--red);padding:.28rem .5rem;font:600 .52rem "DM Sans";letter-spacing:.15em;font-style:normal}
.premiere-open .invite-kicker{margin:28vh 0 .45rem;color:#fff;font-size:.7rem;letter-spacing:.42em}
.premiere-open .invite-title{font:400 clamp(3.5rem,11vw,6.3rem)/.88 "Great Vibes",cursive;text-shadow:0 4px 22px #000}
.premiere-open .invite-title i{font-family:"Great Vibes",cursive;color:#fff}
.premiere-open .invite-date{margin:.8rem 0 1rem;font-size:.62rem;color:#eee}
.cover-scripture{display:block;max-width:460px;margin:.1rem auto .7rem;color:#eee;font:italic .78rem/1.45 "Cormorant Garamond";text-shadow:0 2px 10px #000}.cover-scripture small{display:block;margin-top:.2rem;font:500 .48rem "DM Sans";font-style:normal;letter-spacing:.15em;text-transform:uppercase;color:var(--gold)}
.envelope{position:relative;display:block;width:min(330px,72vw);aspect-ratio:1.62;margin:auto auto .7rem;background:linear-gradient(145deg,#222225,#050506);border:1px solid #46464b;border-radius:4px;box-shadow:0 25px 65px #000,0 0 0 1px #000 inset;overflow:hidden;text-shadow:none}
.envelope:before,.envelope:after{content:"";position:absolute;inset:auto 0 0;height:72%;background:#0b0b0d;clip-path:polygon(0 100%,50% 22%,100% 100%)}
.envelope:before{inset:0 0 auto;height:65%;background:#202023;clip-path:polygon(0 0,50% 76%,100% 0);filter:drop-shadow(0 2px 2px #000)}
.envelope-brand{position:absolute;z-index:2;top:17%;left:50%;transform:translateX(-50%);white-space:nowrap;color:var(--red);font:600 1.6rem "Cormorant Garamond";letter-spacing:-.06em}.envelope-brand span{color:#fff}.envelope-brand small{display:block;font:500 .42rem "DM Sans";letter-spacing:.35em;color:#ddd;margin-top:.1rem}
.envelope-seal{position:absolute;z-index:3;left:50%;top:61%;transform:translate(-50%,-50%);display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--red);color:white;box-shadow:0 0 22px #d7192066}
.premiere.playing .premiere-open{display:block;pointer-events:none;animation:openEnvelope .65s ease forwards}
.premiere.playing .stripe-stage{display:grid;z-index:3;animation:revealStage .4s .45s both}
@keyframes openEnvelope{0%{opacity:1;transform:scale(1)}50%{transform:scale(1.04)}100%{opacity:0;transform:scale(.88);visibility:hidden}}
@keyframes revealStage{from{opacity:0}to{opacity:1}}
.intro-n{position:absolute;z-index:3;color:#e50914;font:900 clamp(14rem,52vw,34rem)/.82 "Bebas Neue";letter-spacing:-.09em;text-shadow:0 0 55px #e5091485;animation:introN 1.65s .55s both}
@keyframes introN{0%{opacity:0;transform:scale(.5);filter:blur(18px)}28%,65%{opacity:1;transform:scale(1);filter:blur(0)}100%{opacity:0;transform:scale(1.3);filter:blur(9px)}}
.stripes{z-index:2}
.stripes i{animation-delay:calc(var(--delay) + 1.55s)}
.intro-monogram{z-index:4;animation:monogram 1.25s 3.35s forwards}

/* Photo collage and wedding-day program */
.cinema-collage{width:min(900px,88vw);height:clamp(330px,48vw,580px);margin:5rem auto 0;position:relative}
.cinema-collage img{position:absolute;width:38%;height:78%;object-fit:cover;border:9px solid #f4f0e8;box-shadow:0 25px 65px #000;filter:saturate(.8)}
.cinema-collage img:nth-child(1){left:2%;top:12%;transform:rotate(-7deg)}.cinema-collage img:nth-child(2){left:31%;top:0;z-index:2;transform:rotate(2deg)}.cinema-collage img:nth-child(3){right:2%;top:15%;transform:rotate(8deg)}
.program{margin-top:5rem;padding:clamp(2rem,5vw,4rem);border:1px solid #343438;background:radial-gradient(circle at 90% 0,#31070d,transparent 36%),#0c0c0e}
.program-heading{text-align:center;max-width:650px;margin:0 auto 2.5rem}.program-heading h2{font:500 clamp(2.8rem,6vw,4.8rem)/.95 "Cormorant Garamond";margin:.3rem 0}.program-heading>p:last-child{color:var(--muted)}
.program-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.program-list article{padding:2rem;border:1px solid #38383d;background:#131315}.program-list article>span{color:var(--red);font:400 1.5rem "Bebas Neue"}.program-list time{display:block;color:var(--gold);font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;margin:1rem 0}.program-list h3{font:500 2rem "Cormorant Garamond";margin:.4rem 0}.program-list p{color:var(--muted);font-size:.84rem;line-height:1.6}
.finale{text-align:center;padding:9rem 1.5rem;background:radial-gradient(circle at 50% 40%,#35070d,transparent 38%),#070708}.finale-mark{font:500 clamp(6rem,18vw,12rem)/.8 "Cormorant Garamond";letter-spacing:-.08em}.finale-mark span{color:var(--red)}.finale h2{font:500 clamp(2.5rem,6vw,5rem)/1 "Cormorant Garamond";margin:1.2rem 0 .6rem}.finale>p:not(.chapter){color:var(--muted);margin-bottom:2rem}
.hero-scripture{max-width:620px;margin:1.2rem 0 0;padding-left:1rem;border-left:2px solid var(--gold);color:#e4dfd5;font:italic 1rem/1.5 "Cormorant Garamond"}.hero-scripture cite{display:block;margin-top:.35rem;color:var(--gold);font:500 .58rem "DM Sans";font-style:normal;letter-spacing:.14em;text-transform:uppercase}
@media(max-width:700px){.premiere:before{background-position:50% 18%;opacity:.7}.premiere-open{padding:6vh 1rem 3vh}.cover-badges{top:5vh;left:1.25rem}.premiere-open .invite-kicker{margin-top:27vh}.premiere-open .invite-title{font-size:clamp(3.2rem,15vw,5rem)}.envelope{width:min(300px,76vw)}.intro-n{font-size:min(78vw,22rem)}.cinema-collage{height:390px;margin-top:3rem}.cinema-collage img{width:54%;height:68%;border-width:6px}.cinema-collage img:nth-child(1){left:0;top:5%}.cinema-collage img:nth-child(2){left:23%;top:22%}.cinema-collage img:nth-child(3){right:0;top:5%}.program{margin-top:3rem;padding:2rem 1rem}.program-list{grid-template-columns:1fr}.program-list article{padding:1.4rem}.finale{padding:6rem 1.5rem}}
@media(max-width:380px){
  .episode{grid-template-columns:42px minmax(0,1fr);gap:.75rem}
}
