/* Photography adds rhythm while preserving the original invitation's palette. */
.cerimonia-grid{grid-template-columns:1fr 1.05fr;gap:90px}
.cerimonia-details{grid-column:1;grid-row:1}
.cerimonia-visual{grid-column:2;grid-row:1;margin:0 0 0 22px}
.photo-window{overflow:hidden;position:relative;background:var(--sea-pale)}
.photo-window img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.65,.3,1)}
@media(hover:hover){.photo-window:hover img{transform:scale(1.035)}}
.coast-interlude{height:560px;padding:0;position:relative;isolation:isolate;overflow:hidden;background:var(--sea)}
.coast-interlude>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;transform:translateY(var(--photo-shift,0px)) scale(1.08)}
.coast-interlude::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#15363db3, #15363d20 65%);z-index:1;pointer-events:none}
.coast-copy{height:100%;position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-block:60px}
.coast-copy .section-label{color:#faf2df;letter-spacing:2px;margin-bottom:23px}
.coast-copy h2{font:400 clamp(60px,6.8vw,100px)/.98 'Cormorant Garamond',Georgia,serif;letter-spacing:-2px;color:#fff9eb;margin:0}
.coast-copy h2 em{font-weight:400}
.coast-caption{font-size:8px;letter-spacing:2px;color:#fff2de;margin-top:37px;padding-top:20px;border-top:1px solid #fff6}
.giornata-photos{display:grid;grid-template-columns:.8fr 1.3fr;gap:38px;align-items:start;margin:64px 0 50px}
.giornata-photos figure{margin:0;min-width:0}
.giornata-photos figure:nth-child(2){margin-top:48px}
.giornata-photos .photo-window{height:315px}
.giornata-photos figure:first-child .photo-window{border-radius:100px 0 0 0}
.giornata-photos figure:first-child img{object-position:35% center}
.giornata-photos figcaption,.rsvp-photo figcaption{font:italic 19px/1.5 'Cormorant Garamond',Georgia,serif;color:var(--text-mid);padding-top:13px}
.arrival-landscape{position:relative;margin:40px 0 0}
.arrival-landscape .photo-window{height:330px}
.arrival-landscape img{object-position:50% 58%}
.arrival-landscape figcaption{position:absolute;bottom:0;left:0;right:0;padding:45px 30px 22px;background:linear-gradient(transparent,#173c44b3);color:#fff5e7;font:italic 27px 'Cormorant Garamond',Georgia,serif;display:flex;align-items:baseline;justify-content:space-between;gap:20px;pointer-events:none}
.arrival-landscape figcaption span{font:9px 'Jost',sans-serif;letter-spacing:1.5px}
.rsvp-introduction{position:static}
.rsvp-photo{margin:30px 0 0;max-width:350px}
.rsvp-photo .photo-window{height:240px;border-radius:0 90px 0 0}
.rsvp-photo img{object-position:50% 70%}
.last-note{padding:95px 24px 105px}
.last-note h2{font-size:clamp(65px,7.5vw,112px);letter-spacing:-3px}
.photo-credits{font-size:9px;opacity:.7;margin-top:20px}
.photo-credits a{color:inherit;text-underline-offset:4px}
@media(max-width:1100px){.cerimonia-grid{gap:45px}.giornata-photos{gap:24px}.giornata-photos .photo-window{height:275px}}
@media(max-width:800px){.cerimonia-grid{gap:35px}.coast-interlude{height:460px}.giornata-photos{gap:20px}.giornata-photos .photo-window{height:245px}.rsvp-introduction .rsvp-photo{display:block;grid-column:1/-1;max-width:none;margin:24px 0 0}.rsvp-photo .photo-window{height:240px;border-radius:0 70px 0 0}}
@media(max-width:600px){
 .cerimonia-grid{grid-template-columns:1fr;gap:42px}
 .cerimonia-details{grid-column:auto;grid-row:auto}
 .cerimonia-visual{grid-column:auto;grid-row:auto;margin:12px 20px 20px 12px}
 .coast-interlude{height:430px}
 .coast-interlude>img{object-position:42% center}
 .coast-copy{padding:45px 28px;justify-content:flex-end}
 .coast-copy .section-label{font-size:8px;letter-spacing:1.3px;margin-bottom:20px}
 .coast-copy h2{font-size:62px;letter-spacing:-1.7px}
 .coast-caption{font-size:7px;letter-spacing:1.3px;margin-top:28px}
 .giornata-photos{grid-template-columns:1fr 1fr;gap:14px;margin:38px 0 30px}
 .giornata-photos figure:nth-child(2){margin-top:32px}
 .giornata-photos .photo-window{height:225px}
 .giornata-photos figure:first-child .photo-window{border-radius:65px 0 0 0}
 .giornata-photos figure:first-child img{object-position:32% center}
 .giornata-photos figure:nth-child(2) img{object-position:64% center}
 .giornata-photos figcaption{font-size:16px;line-height:1.25;padding-top:11px}
 .arrival-landscape{margin-top:30px}
 .arrival-landscape .photo-window{height:280px}
 .arrival-landscape figcaption{padding:40px 19px 19px;display:block;font-size:25px}
 .arrival-landscape figcaption span{display:block;font-size:8px;margin-top:8px}
 .rsvp-introduction .rsvp-photo{margin-top:28px}
 .rsvp-photo figcaption{font-size:18px}
 .last-note{padding:60px 24px 70px}
 .last-note h2{font-size:65px;letter-spacing:-2px}
}
@media(prefers-reduced-motion:reduce){.photo-window img{transition:none;transform:none!important}.coast-interlude>img{transform:none}}
