/* Quieter corners for photographs; full-bleed heroes and controls keep their shape. */
:root{--photo-radius:8px}
.wedding-images img,.wedding-more-images img,.portrait img,.events-image img,
.prom-opening-image img,.prom-detail-image img,.event-image-pair img,
.gallery-open,.instagram-open,.venue-photo,.venue-catalogue-photo,
.film-player,.film video,.instagram-film video,.lightbox-stage img,
.media-gallery .gallery-open,.media-gallery .instagram-open,.media-gallery .film{border-radius:var(--photo-radius)}
.film-player{overflow:hidden}

/* The eyebrow sits above the title; title and introduction share a starting line. */
.weddings .section-heading{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto auto;column-gap:10%;row-gap:22px;align-items:start;margin-bottom:48px}
.weddings .section-heading>div:first-child{display:contents}
.weddings .section-heading>div:first-child>.eyebrow{grid-column:1;grid-row:1;margin:0}
.weddings .section-heading h2{grid-column:1;grid-row:2;align-self:start;margin:0;min-width:0}
.weddings .section-heading>.section-intro{grid-column:2;grid-row:2;align-self:start;min-width:0;max-width:none}
.weddings .section-intro>.lead{font:400 clamp(22px,1.85vw,25px)/1.55 var(--serif);letter-spacing:-.018em;color:var(--ink)}
.weddings .section-intro>.lead strong{display:block;margin-top:18px;font:600 17px/1.65 var(--sans);letter-spacing:-.01em;color:var(--ink)}
.weddings .section-intro>p:not(.lead){margin-top:20px;font:400 14px/1.85 var(--sans);letter-spacing:0;color:var(--muted)}

/* Two equal leading images align with pairs of the four smaller images below. */
.weddings{--wedding-photo-gap:28px}
.weddings .wedding-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;column-gap:var(--wedding-photo-gap);row-gap:0;align-items:start;margin:0}
.weddings .wedding-images>figure{display:contents}
.weddings .wedding-images>figure>img{grid-row:1;display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;min-width:0}
.weddings .wedding-images>figure:first-child>img{grid-column:1}
.weddings .wedding-images>figure:last-child>img{grid-column:2}
.weddings .wedding-more-images{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--wedding-photo-gap);margin-top:var(--wedding-photo-gap)}
.weddings .wedding-more-images>figure{min-width:0;margin:0}
.weddings .wedding-more-images img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}

@media(max-width:800px){
 .weddings .section-heading{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;row-gap:22px;margin-bottom:37px}
 .weddings .section-heading>.section-intro{grid-column:1;grid-row:3;max-width:650px}
 .weddings .section-intro>.lead{font-size:22px;line-height:1.55}
 .weddings .section-intro>.lead strong{margin-top:17px;font-size:16px;line-height:1.7}
 .weddings .section-intro>p:not(.lead){font-size:14px;line-height:1.85;margin-top:19px}
}
@media(max-width:680px){
 :root{--photo-radius:6px}
 .weddings{--wedding-photo-gap:14px}
 .weddings .section-heading{row-gap:20px;margin-bottom:34px}
 .weddings .wedding-more-images{grid-template-columns:repeat(2,minmax(0,1fr))}
}
