
main .section{max-width:780px;margin-inline:auto}
main h2{line-height:1.12;text-wrap:balance}
main p{line-height:1.75}
main .photo img,main .couple-photo img{display:block;width:100%;height:auto;object-fit:contain}
main .photo,main .couple-photo{max-width:650px;margin-inline:auto;width:calc(100% - 48px)}
main .photo figcaption,main .couple-photo figcaption{font-size:17px;line-height:1.5;padding:16px 10px}
main input,main textarea,main select{font-size:16px}
main .details summary{padding-block:20px;min-height:48px}
main .count{font-variant-numeric:tabular-nums}
main .agenda li{padding-block:22px}
main .agenda time{font:italic 23px Georgia,serif;letter-spacing:0}
main .agenda h3{line-height:1.15}
main .section-number{letter-spacing:2px;font-size:10px}
main .hero>svg.garden-art,main .hero>svg.route-art{position:absolute;pointer-events:none}
main .hero>*:not(svg){position:relative;z-index:2}
.entry button,.entry .open{min-height:48px;white-space:nowrap}
@media(max-width:400px){main .section{padding-inline:24px}main .agenda li{gap:12px;grid-template-columns:55px 1fr}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
body{--paper:#f4ecdf;--ink:#482735;--accent:#a18150}.entry .names{font-size:clamp(46px,14vw,70px)}.hero{background:#482735;min-height:650px}.hero h1{font-size:clamp(48px,14vw,72px)}.photo{padding:10px;background:#fffaf1;border:1px solid #b69b73;rotate:0;box-shadow:none}.agenda{border:3px double #b69b73;padding:12px 20px;background:#fffaf1}.agenda li{grid-template-columns:65px 1fr;text-align:left}.quote{background:#482735;color:#f4ecdf}.quote h2{font-style:italic}.quote .kicker{color:#d9c297}.closing{background:#ede2ce;border-top:1px solid #b69b73}
.venue-map-shell{position:relative;min-height:250px;margin:24px 0;background:#efe5d8;border:1px solid #986d3538}.venue-map-shell .venue-map{display:block;width:100%;height:250px;margin:0;border:0;opacity:0;transition:opacity .3s}.venue-map-shell.is-loaded .venue-map{opacity:1}.map-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:25px;font:15px/1.6 Georgia,serif;color:#422330}.map-loading[hidden]{display:none}
@media(min-width:900px){
body main .hero .hero-photo{width:100%;max-width:560px;height:auto;max-height:none;object-fit:contain;margin-left:auto;margin-right:auto}
}
