.film-still{margin:55px auto;max-width:1100px}.film-still .photo{display:flex;align-items:center;justify-content:center;max-height:min(65svh,580px);background:var(--mist)}.film-still .photo img{display:block;width:100%;height:auto;max-height:min(65svh,580px);object-fit:contain}.film-still figcaption{color:var(--muted);font-size:11px;letter-spacing:.04em;margin-top:14px;text-align:center}.film-aerial-pair{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:25px 0 60px}.film-aerial-pair .film-still{margin:0;width:100%}.film-aerial-pair .photo,.film-aerial-pair .photo img{max-height:330px}@media(max-width:700px){.film-still{margin:35px auto}.film-aerial-pair{grid-template-columns:1fr;gap:30px;margin-bottom:40px}.film-still .photo,.film-still .photo img{max-height:48svh}}
.film-moments{margin:65px 0}.film-moments>h3{font:400 clamp(30px,3.4vw,46px)/1.15 Georgia,serif;letter-spacing:-.035em;margin:18px 0 30px}.film-moment-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.film-moment-grid .film-still{margin:0;width:100%;min-width:0}.film-moment-grid .photo,.film-moment-grid .photo img{max-height:350px}.film-moment-grid>.film-still:last-child:nth-child(odd){grid-column:1/-1;max-width:950px;margin:auto}.film-moment-grid>.film-still:last-child:nth-child(odd) .photo,.film-moment-grid>.film-still:last-child:nth-child(odd) .photo img{max-height:480px}@media(max-width:700px){.film-moment-grid{grid-template-columns:1fr;gap:28px}.film-moments{margin:45px 0}.film-moment-grid .photo,.film-moment-grid .photo img,.film-moment-grid>.film-still:last-child:nth-child(odd) .photo,.film-moment-grid>.film-still:last-child:nth-child(odd) .photo img{max-height:45svh}}
/* Dinner aerials are separate, full-width moments in the evening story. */
.film-still.evening-aerial{max-width:1200px;width:100%;margin:65px auto}.film-still.evening-aerial .photo,.film-still.evening-aerial .photo img{max-height:none}.film-still.evening-aerial .photo img{width:100%;height:auto}.film-moments>.evening-aerial{margin-top:25px}@media(max-width:700px){.film-still.evening-aerial{margin:40px auto}}
/* Keep the transition from the final dance still to the coast continuous. */
body[data-chapter="italy"] #celebration{padding-bottom:0}#film-dance{margin-bottom:0}.section.coast-transition{padding-top:55px;padding-bottom:55px}.coast-transition #film-finale{margin:0}@media(max-width:700px){.section.coast-transition{padding-top:40px;padding-bottom:40px}}
#closing h2{font-size:clamp(44px,7vw,90px);padding-bottom:12px}#closing .closing-italian{font:italic 400 clamp(21px,2.4vw,30px)/1.4 Georgia,serif;text-align:center;color:var(--muted);margin:0 18px 38px}

.violin-moment{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;max-width:1000px;margin:40px auto 75px}.violin-moment figure{margin:0}.violin-moment .photo{height:auto;aspect-ratio:1/1;display:block;overflow:hidden;background:var(--mist)}.violin-moment .photo img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:center top}.violin-moment h3{font:400 clamp(32px,4vw,52px)/1.1 Georgia,serif;margin:22px 0}.violin-moment p,.violin-moment figcaption{color:var(--muted)}.violin-moment figcaption{font-size:11px;margin-top:15px}@media(max-width:700px){.violin-moment{grid-template-columns:1fr;gap:25px;margin:25px auto 50px}.violin-moment .photo{height:auto}}

.ceremony-playlist{margin:28px 0 0}.ceremony-playlist>div+div{margin-top:26px}.ceremony-playlist dt{font:10px/1.5 system-ui,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.ceremony-playlist dd{margin:0;font:400 25px/1.25 Georgia,serif}.ceremony-playlist cite{font-style:italic}.ceremony-playlist dd span{display:block;font:13px/1.6 system-ui,sans-serif;color:var(--muted);margin-top:5px}

/* Galleries belong to the Wedding chapter; retain the existing featured-photo design. */
body[data-chapter="italy"] .wedding-carousel{margin:60px 0}
.wedding-carousel .memory-header h3{font:400 clamp(30px,3.5vw,46px)/1.15 Georgia,serif;margin:15px 0 0}
.wedding-carousel .memory-track>li{flex-basis:45%}.wedding-carousel[data-slides="2"] .memory-track>li{flex-basis:75%}
.wedding-carousel .memory-track .photo{height:min(38svh,290px)}
.wedding-carousel .memory-track img{object-fit:contain;max-width:100%;max-height:100%}
.dark .wedding-carousel .memory-header p,.dark .wedding-carousel .carousel-status{color:#d1ddd9}
.dark .wedding-carousel .carousel-controls button{color:var(--paper);border-color:#d1ddd980}
.dark .wedding-carousel .carousel-controls .carousel-auto{background:var(--paper);color:var(--sea)}
#place .setting-feature{max-width:1100px;margin:45px auto}
#place .setting-feature .photo,#place .setting-feature .photo img{max-height:none}
#place .setting-feature img{width:100%;height:auto}
#place .location-note{margin:65px 0;max-width:none;padding:0}
#place .setting-carousel{max-width:1050px;margin:50px auto 0}
#place .setting-carousel .memory-track>li{flex-basis:100%}
#place .setting-carousel .memory-track .photo{height:auto;aspect-ratio:16/9;max-height:65svh}
#place .setting-carousel .memory-track img{width:100%;height:100%;object-fit:contain}
.reception-arrival{max-width:480px;margin:50px auto 70px}.reception-arrival figcaption{font-size:11px;color:var(--muted);text-align:center;margin-top:14px}
.family-features{margin-bottom:20px}
@media(max-width:700px){.wedding-carousel .memory-track>li,.wedding-carousel[data-slides="2"] .memory-track>li{flex-basis:82%}.wedding-carousel .memory-track .photo{height:min(37svh,280px)}#place .setting-feature{margin:30px auto}#place .location-note{margin:40px 0}.reception-arrival{max-width:85%;margin:35px auto 45px}body[data-chapter="italy"] .wedding-carousel{margin:40px 0}}

.wedding-single{max-width:650px;margin:40px auto}.wedding-single>.photo{width:100%}@media(max-width:700px){.wedding-single{max-width:90%;margin:30px auto}}

#wedding-gallery .wedding-carousel{margin:0}#wedding-gallery .memory-track>li{flex-basis:32%}@media(max-width:700px){#wedding-gallery .memory-track>li{flex-basis:82%}}

/* Full-width horizontal aisle crop; keep every person within the lower part of the original. */
.aisle-landscape{max-width:1000px;margin:55px auto}.aisle-landscape .photo{display:block;width:100%;height:auto;aspect-ratio:3/2;overflow:hidden}.aisle-landscape .photo img{display:block;width:100%;height:100%;max-height:none;object-fit:cover;object-position:center 81%}
/* Natural image proportions form one level row rather than a staggered pair. */
.family-features{grid-template-columns:minmax(0,2.25fr) minmax(0,1fr);gap:28px;align-items:start}.family-features>.photo:nth-child(2){margin-top:0}.family-features>.photo img{width:100%;height:auto}
@media(max-width:700px){.family-features{grid-template-columns:1fr;gap:22px}.family-features>.photo:nth-child(2){margin-top:0}.aisle-landscape{margin:35px auto}}

#place .setting-lead{width:100%;max-width:none;margin:35px auto}#place .setting-pair{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,3fr);gap:28px;align-items:start;margin:35px 0 55px}#place .setting-pair>.setting-feature{width:100%;max-width:none;margin:0}#place .setting-pair img{width:100%;height:auto}@media(max-width:700px){#place .setting-pair{grid-template-columns:1fr;gap:28px;margin:28px 0 40px}}

.ceremony-bottom-crop,.kiss-bottom-crop{max-width:520px;margin:40px auto}.ceremony-bottom-crop .photo,.kiss-bottom-crop .photo{display:block;width:100%;height:auto;overflow:hidden}.ceremony-bottom-crop .photo{aspect-ratio:5/6}.kiss-bottom-crop .photo{aspect-ratio:8/11}.ceremony-bottom-crop .photo img,.kiss-bottom-crop .photo img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:center top}@media(max-width:700px){.ceremony-bottom-crop,.kiss-bottom-crop{max-width:100%;margin:30px auto}}
