/* Second direction: one invitation, a cinematic aperture, less interface noise. */
:root{--cream:#efede3;--dark:#151b13;--olive-light:#bac2a4}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.header{height:112px;padding-block:30px}
.header nav{gap:34px}
.nav-rsvp{border-bottom-color:#d8dcc37a}
.hero{min-height:850px;height:100svh;max-height:1100px}
.hero-content{padding-top:clamp(173px,20vh,235px)}
.hero h1{font-size:clamp(78px,8.6vw,145px);line-height:1.01;letter-spacing:-.05em}
.title-line{display:block;overflow:hidden;padding-bottom:.09em;margin-bottom:-.09em}
.title-line>span{display:inline-block}
.hero-date{font-size:15px;text-transform:none;letter-spacing:.02em;margin-bottom:28px}
.hero-intro{max-width:345px;font-size:19px;line-height:1.5;margin-top:31px}
.hero-actions{margin-top:33px}
.hero-actions .button{min-width:211px}
.hero-bottom{min-height:118px;align-items:center}
.hero-venue{display:flex;align-items:center;gap:30px}
.hero-venue img{width:121px;height:auto;filter:brightness(0) invert(.94)}
.hero-venue>span{font-size:14px;line-height:1.4;color:#d3d8c4}
.scroll-cue{padding:15px 4px}
.motion-ready:not(.no-motion) .title-line>span{animation:title-arrive 1.05s cubic-bezier(.16,1,.3,1) both}
.motion-ready:not(.no-motion) .title-line:nth-child(2)>span{animation-delay:.13s}
.motion-ready:not(.no-motion) .hero-intro,.motion-ready:not(.no-motion) .hero-actions{animation:copy-arrive 1.1s .32s both}
.motion-ready:not(.no-motion) .hero-scene>img{animation:scene-arrive 1.8s cubic-bezier(.2,.6,.2,1) both}
@keyframes title-arrive{from{transform:translateY(108%)}to{transform:translateY(0)}}
@keyframes copy-arrive{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes scene-arrive{from{transform:scale(1.045)}to{transform:scale(1)}}
.welcome{padding-block:135px}
.welcome-grid{grid-template-columns:1fr 1.08fr;gap:12%;align-items:center}
.welcome h2{font-size:clamp(52px,5.5vw,82px);line-height:1.03;letter-spacing:-.045em}
.welcome-copy .lead{font-size:21px;margin-top:37px;max-width:425px}
.welcome-copy>p:not(.eyebrow):not(.lead){max-width:415px;font-size:17px;line-height:1.65;color:#606858;margin-top:21px}
.welcome-photo:before{display:none}
.welcome-photo img{aspect-ratio:1.02;object-position:50% 58%;height:auto;box-shadow:0 24px 52px #252a2010}

/* The same paper invitation starts on the chair and joins the RSVP scene. */
.ticket-origin{position:absolute;z-index:3;right:17%;top:63%;width:144px;height:184px;pointer-events:none}
.ticket-origin>.ticket-paper{transform:rotate(-9deg)}
.motion-ready .ticket-origin>.ticket-paper{visibility:hidden}
.journey-ticket{position:fixed;left:0;top:0;z-index:35;width:144px;height:184px;padding:0;background:none;border:0;overflow:visible;transform-origin:0 0;transform:translate3d(var(--ticket-x,0px),var(--ticket-y,0px),0) rotate(var(--ticket-rotate,-9deg)) scale(var(--ticket-scale,1));will-change:transform;text-align:left;color:var(--ink);border-radius:1px}
.journey-ticket[hidden]{display:none}
.ticket-paper{display:block;position:relative;width:144px;height:184px;padding:20px 18px 13px;background:#e9e5d8;color:#22291e;box-shadow:0 14px 26px #07100770,1px 1px 0 #fffc inset;clip-path:polygon(0 0,100% 0,100% 100%,0 100%,0 87%,3% 85%,0 83%,0 67%,3% 65%,0 63%,0 47%,3% 45%,0 43%,0 27%,3% 25%,0 23%,0 7%,3% 5%,0 3%);transition:filter .25s,background .25s}
.ticket-paper img{width:78px;height:auto;margin-bottom:15px}
.ticket-paper .ticket-date{font-size:45px;line-height:1;letter-spacing:-.055em}
.ticket-perforation{display:block;border-top:1px dashed #757c6566;margin:14px -18px 9px}
.ticket-time{display:block;font-size:13px;line-height:1.4}
.ticket-venue{display:block;font-size:9px;letter-spacing:.13em;margin-top:3px}
.ticket-open-icon{position:absolute;right:13px;bottom:17px;line-height:0;color:#4c5840}
.journey-ticket:hover .ticket-paper{background:#f6f1e3;filter:brightness(1.03)}
.journey-ticket:focus-visible{outline:3px solid #9caa7d;outline-offset:7px}
.guest-chairs{isolation:isolate}
.ticket-destination{position:absolute;left:105px;top:132px;width:68px;height:88px;pointer-events:none}
.invitation-dialog{width:min(360px,calc(100vw - 36px));padding:40px 33px 28px;background:var(--cream);color:var(--ink);border:0;max-height:calc(100svh - 36px);box-shadow:0 35px 100px #0008;overflow:auto}
.invitation-dialog::backdrop{background:#10170ed9;backdrop-filter:blur(7px)}
.invitation-dialog[open]{animation:invitation-open .38s cubic-bezier(.16,1,.3,1)}
@keyframes invitation-open{from{opacity:0;transform:translateY(14px) rotate(2deg) scale(.96)}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}
.invitation-close{position:absolute;right:11px;top:9px;width:44px;height:44px;font:300 28px Arial,sans-serif;color:#515944;background:transparent}
.invitation-numo{width:111px;height:auto;margin-bottom:28px}
.invitation-dialog h2{font-weight:300;letter-spacing:-.04em;font-size:43px;line-height:1.1}
.invitation-date{font-weight:300;font-size:68px;letter-spacing:-.05em;line-height:1;margin-top:18px;display:flex;justify-content:space-between;align-items:baseline;gap:15px}
.invitation-date span{font-size:27px;letter-spacing:-.02em}
.invitation-perforation{border-top:1px dashed #707d5b66;margin:25px -33px}
.invitation-pasaka{width:122px;height:auto;margin-bottom:12px}
.invitation-dialog>p:not(.invitation-date){font-size:14px;line-height:1.6}
.invitation-dialog .invitation-note{color:#6b745d;margin-top:16px}
.invitation-dialog .button{width:100%;margin-top:26px;min-height:54px;font-size:15px}
.invitation-film{display:block;text-align:center;font-size:13px;margin-top:19px;text-decoration:underline;text-underline-offset:5px}

/* The screen is always readable without JavaScript or with reduced motion. */
.film-reveal{position:relative;min-height:100svh;background:#11160f}
.film-stage{position:sticky;top:0;height:100svh;min-height:550px;overflow:hidden;isolation:isolate;background:#11160f;--aperture-inset:0%;--screen-scale:1;--reveal-title-opacity:1;--reveal-title-y:0px;--reveal-line-opacity:0}
.motion-ready:not(.no-motion) .film-reveal{min-height:180svh}
.screen-window{position:absolute;inset:0;clip-path:inset(var(--aperture-inset) 0);will-change:clip-path}
.film-stage .film-frame{width:100%;height:100%;aspect-ratio:auto;overflow:hidden;background:#131a10}
.film-stage .film-frame>img{object-position:60% 40%;filter:saturate(.62);transform:scale(var(--screen-scale));transition:filter .65s}
.film-stage .film-frame:hover>img{transform:scale(var(--screen-scale));filter:saturate(.9)}
.film-stage .film-frame-gradient{background:linear-gradient(90deg,#11190f87,transparent 78%),linear-gradient(0deg,#10170ee8 2%,#10170e33 70%,#10170e35)}
.film-curtain-copy{display:none;position:absolute;z-index:2;left:var(--page-pad);top:15%;font-size:clamp(54px,7.8vw,125px);font-weight:300;line-height:1.02;letter-spacing:-.045em;pointer-events:none;opacity:var(--reveal-line-opacity)}
.motion-ready:not(.no-motion) .film-curtain-copy{display:block}
.film-titles{position:absolute;left:0;bottom:21%;pointer-events:none;opacity:var(--reveal-title-opacity);transform:translateY(var(--reveal-title-y));will-change:opacity,transform}
.film-stage .film-title{font-size:clamp(76px,10.7vw,174px);line-height:.91;margin:0;letter-spacing:-.05em;font-weight:300;text-shadow:0 4px 45px #0003}
.film-stage .play-label{left:var(--page-pad);bottom:8%;font-size:17px;gap:20px}
.film-stage .play-circle{width:58px;height:58px;border-color:#efede3a0}
.aperture-edge{pointer-events:none;position:absolute;left:0;right:0;top:50%;height:1px;background:#d8dfac99;box-shadow:0 0 35px 4px #b7c4873d;opacity:var(--reveal-line-opacity)}
.film-stage.is-focused .screen-window,.no-motion .screen-window{clip-path:none!important}
.film-stage.is-focused .film-titles,.no-motion .film-titles{opacity:1!important;transform:none!important}
.film-stage.is-focused .film-curtain-copy,.film-stage.is-focused .aperture-edge,.no-motion .film-curtain-copy,.no-motion .aperture-edge{display:none!important}
.no-motion .film-stage .film-frame>img{transform:none!important}
.film-details{padding:95px 0 100px}
.film-intro-grid{margin-top:0;grid-template-columns:1.5fr .55fr;gap:13%}
.film-intro{font-size:clamp(22px,2.3vw,32px);line-height:1.45;max-width:820px;font-weight:300}
.film-intro strong{font-weight:400;color:#f4f2e9}
.film-credits{font-size:15px;padding-top:5px}
.film-credits span{font-size:12px;letter-spacing:0;text-transform:none;margin-bottom:10px}
.film-credits p+p{font-size:12px;margin-top:17px;color:#95a385;line-height:1.65}
.proof-row{margin-top:54px;padding:29px 0}
.award-proof{border-left:0;padding-left:25px;font-size:16px}
.award-proof small{font-size:12px;line-height:1.5}
.rating-meta{font-size:12px}
.rating-meta small{font-size:11px}
.film-meta-row{font-size:14px;gap:30px;padding-top:23px}

/* Financial context reads as an editorial spread, without statistic cards. */
.theranos-story{margin-top:105px}
.investment-story{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}
.investment-number{font-size:clamp(130px,17vw,245px);font-weight:300;letter-spacing:-.07em;line-height:.82;color:#d0d6bb}
.investment-number span{display:block;font-size:clamp(27px,3.3vw,48px);line-height:1.4;letter-spacing:-.025em;margin-top:19px}
.investment-caption{font-size:15px;line-height:1.5;color:#9baa89;max-width:320px;margin-top:15px}
.investment-copy>p:not(.fact-sources){font-size:23px;line-height:1.5;font-weight:300;color:#d2d9c6}
.investment-copy>p+p:not(.fact-sources){margin-top:23px}
.investment-copy strong{font-weight:400;color:#f0f2e3}
.fact-sources{display:flex;gap:13px 22px;flex-wrap:wrap;margin-top:24px;font-size:12px;line-height:1.5;color:#9ba98a}
.fact-sources a,.fact-source{display:inline-block;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#9ba98a77;line-height:1.6}
.fact-sources svg,.fact-source svg{width:11px;height:11px;margin-left:4px}
.fact-source{font-size:12px;color:#a0b08d;margin-top:20px}
.revenue-story{margin-top:95px;border-top:1px solid #c4ceae44;padding-top:44px}
.revenue-story h4{font-size:clamp(27px,3.2vw,45px);font-weight:300;letter-spacing:-.025em;line-height:1.15;margin:0 0 40px}
.revenue-comparison{display:grid;grid-template-columns:1fr 1fr;gap:9%}
.revenue-comparison>div{min-width:0}
.revenue-number{font-size:clamp(70px,9vw,135px);letter-spacing:-.06em;line-height:1;font-weight:300;white-space:nowrap}
.revenue-number span{font-size:.37em;letter-spacing:-.025em}
.revenue-projection{color:#859175}
.revenue-actual{color:#e3e8d3}
.revenue-comparison>div>p:last-child{font-size:16px;line-height:1.55;margin-top:21px;max-width:360px}
.revenue-story>.fact-source{margin-top:33px}
.film-context{margin-top:60px}
.film-context summary{font-size:27px;padding:28px 0}
.context-steps{grid-template-columns:1fr 1fr;gap:9%;padding:12px 0 7px}
.context-steps h3{font-size:29px;line-height:1.2;margin:0 0 16px}
.context-steps p{font-size:16px}
.context-steps .fact-source{font-size:12px;margin-top:17px}
.place-section{padding-block:115px}
.place-grid{grid-template-columns:1fr 1fr;gap:10%;align-items:center}
.place-heading h2{font-size:clamp(46px,4.6vw,71px);line-height:1.08}
.place-info{padding-top:0}
.place-info dt{font-size:13px}
.calendar-note{font-size:12px}
.rsvp-section{padding-top:105px}
.rsvp-copy h2{font-size:clamp(65px,7vw,100px)}
.rsvp-form-area{padding-top:7px}
.rsvp-copy>p:not(.eyebrow):not(.guest-caption){font-size:18px;line-height:1.55}
.rsvp-copy{position:relative}
.prototype-note{font-size:12px;margin-top:22px;color:#c1cdb1}
.field label,.guests legend{font-size:14px}
.guest-option{font-size:14px}
.footer-main{min-height:110px}
.footer-sub{font-size:11px}
.motion-toggle{font-size:12px}
.footer-main .motion-toggle{margin-left:auto}

@media(max-width:1100px){
 .hero h1{font-size:clamp(77px,9.3vw,106px)}
 .ticket-origin{right:14%;top:64%}
 .welcome-grid{gap:8%}.welcome h2{font-size:56px}
 .investment-story{gap:7%}.investment-copy>p:not(.fact-sources){font-size:20px}
 .revenue-number{font-size:90px}.revenue-comparison>div>p:last-child{font-size:15px}
 .rsvp-grid{gap:8%}.guest-option{font-size:12px}
 .ticket-destination{left:74px;top:132px}
}
@media(max-width:760px){
 .header{height:84px;padding-block:23px}.header nav{gap:18px}
 .hero{height:auto;min-height:850px;max-height:none}
 .hero-content{padding-top:139px}.hero h1{font-size:clamp(62px,12.7vw,91px);line-height:1.03}
 .hero-date{font-size:13px;margin-bottom:23px}.hero-intro{font-size:17px;max-width:290px;margin-top:26px}
 .hero-actions{margin-top:29px;gap:25px}.hero-actions .button{min-width:172px;font-size:14px}
 .hero-actions .text-link{font-size:13px}
 .hero-scene>img{object-position:66% bottom}
 .hero-bottom{min-height:90px;flex-direction:row;justify-content:space-between;align-items:center;padding-bottom:18px}
 .hero-venue{gap:18px;align-items:center}.hero-venue img{width:90px}
 .hero-venue>span{font-size:12px;max-width:105px}.scroll-cue{display:flex!important;padding:8px 0}
 .scroll-cue svg{height:32px;width:13px}
 .ticket-origin{width:112px;height:144px;right:15%;top:66%}
 .ticket-origin>.ticket-paper{transform:rotate(-9deg) scale(.778);transform-origin:0 0}
 .welcome{padding-block:76px}.welcome-grid{grid-template-columns:1fr;gap:39px}
 .welcome h2{font-size:clamp(43px,10.8vw,65px);line-height:1.07}
 .welcome-copy .lead{font-size:21px;margin-top:28px}
 .welcome-copy>p:not(.eyebrow):not(.lead){font-size:17px;margin-top:19px}
 .welcome-photo img{aspect-ratio:1.08}
 .film-stage{min-height:570px;height:100svh}
 .motion-ready:not(.no-motion) .film-reveal{min-height:145svh}
 .film-curtain-copy{font-size:70px;top:19%;line-height:1.04}
 .film-stage .film-frame>img{object-position:62% 40%}
 .film-titles{bottom:25%}.film-stage .film-title{font-size:clamp(62px,16vw,108px)}
 .film-stage .play-label{font-size:15px;bottom:11%;gap:14px}.film-stage .play-circle{width:48px;height:48px}
 .film-details{padding:59px 0 64px}.film-intro-grid{grid-template-columns:1fr;gap:28px}
 .film-intro{font-size:25px;line-height:1.45}.film-credits{font-size:14px;padding-top:0;gap:20px}
 .film-credits span{font-size:12px}.film-credits p+p{font-size:11px;max-width:150px;margin:0}
 .proof-row{margin-top:32px;padding:25px 0;gap:22px}.award-proof{padding:22px 0 0;font-size:16px}
 .award-proof small{font-size:11px}.rating-meta{font-size:12px}.rating-meta small{font-size:11px}
 .film-meta-row{font-size:13px;gap:17px}.film-meta-row>span:nth-child(2){margin-left:0}.film-meta-row a{font-size:13px}
 .theranos-story{margin-top:66px}.investment-story{grid-template-columns:1fr;gap:31px}
 .investment-number{font-size:clamp(130px,38vw,210px);line-height:.85;letter-spacing:-.06em}
 .investment-number span{font-size:35px;margin-top:12px}.investment-caption{font-size:14px;margin-top:14px;max-width:310px}
 .investment-copy>p:not(.fact-sources){font-size:21px}.investment-copy>p+p:not(.fact-sources){margin-top:19px}
 .fact-sources{font-size:12px;gap:12px 17px;margin-top:23px}
 .revenue-story{margin-top:51px;padding-top:33px}.revenue-story h4{font-size:30px;line-height:1.2;margin-bottom:30px;max-width:300px}
 .revenue-comparison{grid-template-columns:1fr;gap:30px}.revenue-number{font-size:82px;letter-spacing:-.05em}
 .revenue-comparison>div>p:last-child{font-size:16px;margin-top:12px;max-width:340px}
 .revenue-actual{padding-top:28px;border-top:1px solid #8e9a7955}
 .revenue-story>.fact-source{margin-top:25px}.fact-source{font-size:12px}
 .film-context{margin-top:40px}.film-context summary{font-size:25px;padding:26px 0}
 .context-steps{grid-template-columns:1fr;gap:31px;padding-top:5px}.context-steps article{display:block}
 .context-steps h3{font-size:28px;margin-bottom:13px}.context-steps p{font-size:16px}
 .place-section{padding-block:75px}.place-grid{grid-template-columns:1fr;gap:29px}.place-heading h2{font-size:clamp(41px,10vw,62px)}
 .place-info dt{font-size:12px}.place-info dd{font-size:23px}.place-info dd>span{font-size:13px}
 .calendar-note{font-size:12px;max-width:290px}.place-actions .text-link{font-size:13px}
 .rsvp-section{padding:73px 0 55px}.rsvp-copy h2{font-size:68px}.rsvp-copy>p:not(.eyebrow):not(.guest-caption){font-size:17px}
 .rsvp-form-area{padding-top:24px}.guest-option{font-size:12px}.field label,.guests legend{font-size:13px}
 .ticket-destination{width:59px;height:76px;left:99px;top:112px}.prototype-note{font-size:12px;line-height:1.5}
 .footer-main{min-height:103px;padding-top:25px}.footer-sub{font-size:10px}.motion-toggle{font-size:11px}
}
@media(max-width:360px){
 .hero{min-height:830px}.hero h1{font-size:60px}.hero-date{font-size:12px}.hero-intro{font-size:16px;max-width:270px}
 .hero-actions{gap:17px}.hero-actions .button{min-width:155px;font-size:13px}.hero-actions .text-link{font-size:12px}
 .hero-venue img{width:79px}.hero-venue{gap:15px}.hero-venue>span{font-size:11px}
 .ticket-origin{right:11%;top:65%}.welcome h2{font-size:42px}.welcome-copy .lead{font-size:20px}
 .film-curtain-copy{font-size:63px}.film-stage .film-title{font-size:62px}.film-intro{font-size:23px}
 .investment-number span{font-size:31px}.revenue-number{font-size:75px}.revenue-story h4{font-size:28px}
 .rsvp-copy h2{font-size:63px}.guest-option{font-size:11px;padding:13px 9px}
 .ticket-destination{left:84px;top:116px;width:53px;height:68px}
 .place-heading h2{font-size:39px}.place-info dl>div{grid-template-columns:86px 1fr;gap:15px}
 .invitation-dialog{padding:35px 26px 25px}.invitation-date{font-size:62px}.invitation-perforation{margin-inline:-26px}
}
@media(prefers-reduced-motion:reduce){
 .film-reveal{min-height:100svh!important}.screen-window{clip-path:none!important}.film-titles{opacity:1!important;transform:none!important}.film-curtain-copy,.aperture-edge{display:none!important}
 .film-stage .film-frame>img{transform:none!important}.title-line>span,.hero-intro,.hero-actions{opacity:1!important;transform:none!important}
}
