
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:#f6eedc;--ink:#304f40;--accent:#967845}.entry .shutter{box-shadow:inset 0 0 0 8px #183c30,inset 0 0 0 9px #b8aa7555}.hero{min-height:620px;padding-top:70px}.hero h1{font-size:clamp(48px,14vw,74px)}.photo{width:82%;max-width:540px;padding:7px;border:1px solid #aa986c;background:#fffaf0;box-shadow:none;border-radius:180px 180px 0 0;overflow:hidden}.photo img{border-radius:170px 170px 0 0}.agenda{background:#e6eadb;border:0;padding:10px 22px}.quote{background:#304f40;color:#f6eedc}.quote h2{font-style:italic}.closing{background:#e6eadb;border-top:1px solid #96784566}