/* Keep decorative artwork outside the content columns. */
html,body{max-width:100%;overflow-x:clip}
main>section{max-width:100%;isolation:isolate}
.intro-top{justify-content:flex-end}
.wax{padding:0}
.seal-botanical{display:block;width:47%;height:58%;filter:drop-shadow(1px 1px 0 #64400e)}
/* Section geometry uses shrinkable grid tracks rather than overlapping layers. */
.reception{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(30px,4.5vw,72px);padding:clamp(56px,6vw,96px) clamp(28px,6vw,96px);overflow:hidden;align-items:center}
.reception-copy{min-width:0;width:100%;padding:0;position:relative;z-index:2}
.reception .section-heading h2{font-size:clamp(50px,5.1vw,76px);white-space:normal}
.reception .section-heading>.eyebrow{letter-spacing:clamp(2px,.25vw,4px)}
.reception .event-details{grid-template-columns:minmax(0,1.1fr) minmax(0,.8fr) minmax(0,1.2fr);gap:0;margin:24px 0}
.event-details>div{min-width:0}
.event-details strong,.reception .event-details strong{white-space:normal;overflow-wrap:normal;text-wrap:balance}
.reception .event-details strong{font-size:clamp(13px,1.35vw,20px)}
.reception .map-frame{position:relative;inset:auto;width:100%;min-width:0;height:clamp(300px,28vw,420px);margin:0;z-index:3;align-self:center}
.map-frame iframe{max-width:100%}
.reception>.floral{display:none}
.reception:after{bottom:-1px;z-index:0}
/* Closing copy and photograph always occupy separate columns. */
.closing{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);height:auto;min-height:0;max-height:none;padding:clamp(56px,6vw,96px) clamp(28px,6vw,96px);align-items:center;overflow:hidden}
.closing-copy{position:relative;inset:auto;grid-column:1;grid-row:1;order:0;min-width:0;width:100%;height:auto;min-height:0;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:2}
.closing-copy h2{white-space:normal;font-size:clamp(45px,4.6vw,68px);line-height:1.15;margin:0 0 24px;max-width:100%;overflow-wrap:normal;text-wrap:balance}
.closing-copy p{font-size:clamp(17px,1.5vw,22px);line-height:1.55;width:100%;max-width:510px;margin:0 auto;color:var(--color-dark-brown)}
.closing-copy .ornament{margin:26px 0 15px}
.closing-photo{position:relative;inset:auto;grid-column:2;grid-row:1;order:0;width:100%;height:clamp(350px,36vw,510px);min-height:0;max-height:none;overflow:hidden;border:1px solid #b47b3535;border-radius:3px;z-index:1}
.closing-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 46%}
.closing-photo:after{display:none}
.closing>.floral{display:none}
.closing:before{z-index:0}
.closing:after{z-index:0;bottom:-1px}
.hero>.floral{width:clamp(180px,23vw,310px);max-width:310px;z-index:1;pointer-events:none}
.hero>.floral-left{top:-85px;left:-65px}
.hero>.floral-right{bottom:-70px;right:-70px}
.hero-copy{z-index:2;min-width:0}
.gallery{overflow:hidden}
.gallery>.floral{width:180px;max-width:180px;z-index:0;opacity:.75}
.gallery>.floral-left{left:-100px;top:-70px}
.gallery>.floral-right{right:-100px;bottom:-70px}
.gallery-header,.gallery-stage{position:relative;z-index:2}
.gallery-header{min-width:0;padding-inline:24px}
.gallery-header h2{max-width:100%;white-space:normal}
footer{overflow:hidden}
@media(max-width:1000px) and (min-width:761px){.reception{gap:26px;padding-inline:32px}.reception .event-details strong{font-size:13px}.reception .event-details>div{padding-inline:4px}.reception .section-heading>.eyebrow{font-size:9px;letter-spacing:2px}.closing{gap:32px;padding-inline:32px}.closing-copy h2{font-size:45px}.closing-copy p{font-size:18px}}
@media(max-width:760px){.reception,.closing{display:grid;grid-template-columns:minmax(0,1fr);gap:32px;padding:52px 24px}.reception .section-heading h2{font-size:58px}.reception .section-heading>.eyebrow{font-size:9px;letter-spacing:2.5px}.reception .map-frame{height:280px}.reception .event-details strong{font-size:13px}.closing-copy,.closing-photo{grid-column:1;grid-row:auto;order:0}.closing-copy{padding:0;width:100%;min-height:0}.closing-copy h2{font-size:47px;margin-bottom:22px}.closing-copy p{font-size:18px;line-height:1.55;max-width:480px}.closing-photo{height:110vw;max-height:470px;min-height:340px}.closing-photo img{object-position:50% 45%}.hero>.floral{max-width:180px;width:42vw}.hero>.floral-left{top:-50px;left:-75px}.hero>.floral-right{bottom:-45px;right:-65px}.hero-copy>.eyebrow:first-of-type{white-space:normal;text-wrap:balance}.intro-top{left:auto;right:18px}.wax{padding:0}.gallery-header{gap:8px}.gallery-header>.ornament{display:none}}
@media(max-width:380px){.reception,.closing{padding:46px 20px}.reception .section-heading h2{font-size:53px}.reception .event-details strong{font-size:12px}.closing-copy h2{font-size:43px}.closing-copy p{font-size:17px}}
/* Floral framing occupies reserved corner space, never the content columns. */
.reception,.closing{padding-top:clamp(108px,9vw,140px);padding-bottom:clamp(108px,9vw,140px)}
.reception>.floral,.closing>.floral{display:block;position:absolute;width:clamp(220px,22vw,290px);max-width:290px;height:auto;z-index:0;opacity:1;pointer-events:none;filter:none}
.reception>.floral-left,.closing>.floral-left{left:-38px;top:-22px;right:auto;bottom:auto;transform:none}
.reception>.floral-right,.closing>.floral-right{right:-38px;bottom:-22px;left:auto;top:auto;transform:rotate(180deg)}
.reception-copy,.map-frame,.closing-copy,.closing-photo{position:relative;z-index:2}
.gallery>.floral{width:clamp(190px,20vw,250px);max-width:250px;opacity:1;z-index:1}
.gallery>.floral-left{left:-44px;top:-58px;right:auto;bottom:auto;transform:none}
.gallery>.floral-right{right:-44px;bottom:-58px;left:auto;top:auto;transform:rotate(180deg)}
@media(max-width:1000px) and (min-width:761px){.reception,.closing{padding-top:110px;padding-bottom:110px}.reception>.floral,.closing>.floral{width:225px}.reception>.floral-left,.closing>.floral-left{left:-42px}.reception>.floral-right,.closing>.floral-right{right:-42px}}
@media(max-width:760px){.reception,.closing{padding-top:100px;padding-bottom:100px}.reception>.floral,.closing>.floral{width:185px;max-width:185px}.reception>.floral-left,.closing>.floral-left{left:-35px;top:-12px}.reception>.floral-right,.closing>.floral-right{right:-35px;bottom:-12px}.gallery{padding-top:65px;padding-bottom:58px}.gallery>.floral{width:165px;max-width:165px}.gallery>.floral-left{left:-42px;top:-38px}.gallery>.floral-right{right:-42px;bottom:-38px}}
