/* The last photograph gets its own breath before the invitation. */
.closing-finale{position:relative;isolation:isolate;background:var(--paper)}
.finale-film{position:relative;height:100svh;min-height:640px}
.finale-stage{position:sticky;top:0;height:100svh;min-height:640px;overflow:clip;color:#fff}
.finale-frame{position:absolute;inset:0;overflow:hidden;clip-path:inset(var(--finale-inset-y,0px) var(--finale-inset-x,0px));will-change:clip-path;background:#687869}
.finale-photo{width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 55%;transform:scale(var(--finale-scale,1));will-change:transform}
.finale-shade{position:absolute;inset:0;opacity:var(--finale-title,1);background:radial-gradient(ellipse 67% 65% at 15% 52%,#0b211652,transparent 95%);pointer-events:none}
.finale-heading{position:absolute;left:var(--gutter);right:var(--gutter);top:40%;opacity:var(--finale-title,1);transform:translate3d(0,var(--finale-title-y,0px),0);will-change:transform,opacity}
.finale-heading>.eyebrow{font-size:10px;letter-spacing:.16em;margin-bottom:29px}
.finale-heading h2{font:400 clamp(74px,8vw,156px)/1.04 var(--serif);letter-spacing:-.05em;margin:0;max-width:1250px;text-shadow:0 2px 30px #122b1317}
.finale-heading h2 em{font-weight:400}
.closing-finale.is-cinematic .finale-film{height:230svh}
.finale-contact-wrap{position:relative;z-index:2;padding:0 var(--gutter) clamp(70px,7vw,130px);margin-top:0}
.closing-finale.is-cinematic .finale-contact-wrap{margin-top:-17svh}
.finale-contact-card.contact-finale{max-width:1536px;margin:0 auto;background:var(--forest);transform:translate3d(0,var(--contact-rise,0px),0) scale(var(--contact-scale,1));transform-origin:50% 100%;will-change:transform;box-shadow:0 20px 70px #10291b0c}
.finale-contact-card .contact-finale-inner{padding:clamp(65px,6vw,100px) 0 clamp(60px,6vw,96px)}
.finale-brand{width:65px;height:65px;object-fit:contain;margin:0 auto 35px}
.finale-contact-card h2{font-family:var(--serif);font-weight:400;font-size:clamp(48px,5.3vw,94px);line-height:1.1;margin-bottom:27px}
.finale-contact-card h2 em{font-weight:400}
.finale-contact-card .contact-introduction{font-size:18px;line-height:1.85;max-width:620px;color:#e0e5da}
.finale-contact-card .contact-channels{max-width:900px;margin-top:46px;gap:65px}
.finale-contact-card .contact-channel{padding:22px 0}
.finale-contact-card .contact-channel-detail{font-size:14px}
.finale-contact-card:focus-within{transform:none}
@media(max-width:900px){
 .finale-film,.finale-stage{min-height:600px}
 .finale-photo{object-position:80% 50%}
 .finale-heading{top:29%}
 .finale-heading h2{font-size:clamp(54px,9.3vw,84px)}
 .closing-finale.is-cinematic .finale-film{height:210svh}
 .closing-finale.is-cinematic .finale-contact-wrap{margin-top:-12svh}
 .finale-contact-wrap{padding:0 24px 75px}
 .finale-contact-card.contact-finale{padding:0 35px}
 .finale-contact-card .contact-finale-inner{padding:55px 0}
 .finale-contact-card h2{font-size:clamp(39px,6.2vw,60px)}
 .finale-contact-card .contact-channels{gap:30px}
}
@media(max-width:600px){
 .finale-film,.finale-stage{min-height:580px}
 .finale-heading{left:24px;right:24px;top:21%}
 .finale-heading>.eyebrow{font-size:9px;letter-spacing:.12em;margin-bottom:22px}
 .finale-heading h2{font-size:clamp(43px,11.5vw,68px);line-height:1.1}
 .finale-shade{background:linear-gradient(180deg,#0b211632,transparent 70%)}
 .finale-contact-wrap{padding:0 14px 55px}
 .finale-contact-card.contact-finale{padding:0 23px}
 .finale-contact-card .contact-finale-inner{padding:45px 0 38px}
 .finale-brand{width:48px;height:48px;margin-bottom:28px}
 .finale-contact-card h2{font-size:clamp(28px,7vw,43px);margin-bottom:25px;letter-spacing:-.04em}
 .finale-contact-card h2 em{font-size:1.28em;margin-top:7px}
 .finale-contact-card .contact-title-line{white-space:normal}
 .finale-contact-card .contact-introduction{font-size:18px;line-height:1.75}
 .finale-contact-card .contact-channels{grid-template-columns:1fr;gap:0;margin-top:30px}
 .finale-contact-card .contact-channel{padding:20px 0}
 .finale-contact-card .contact-channel-heading{font-size:24px}
 .finale-contact-card .contact-channel-detail{font-size:13px}
}
@media(prefers-reduced-motion:reduce){
 .closing-finale .finale-film{height:100svh}
 .closing-finale .finale-contact-wrap{margin-top:0}
 .finale-frame{clip-path:none!important;will-change:auto}
 .finale-photo,.finale-heading,.finale-contact-card{transform:none!important;will-change:auto}
 .finale-heading,.finale-shade{opacity:1!important}
}
