
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:#182f29;--ink:#eee7d5;--accent:#c6b78c}.hero h1{font-size:clamp(46px,14vw,70px);line-height:1.1}.hero .garden-art{opacity:.7}.photo{border:1px solid #c6b78c77;padding:8px;background:#203c31;box-shadow:none}.photo:nth-of-type(2),.photo:nth-of-type(2) img{border-radius:0}.agenda{padding:12px 22px;background:#203c31;border:1px solid #c6b78c44}.agenda time{color:#e1cea3}.quote h2{font-style:italic;color:#243e31}.quote p{color:#243e31}.closing{border-top:1px solid #c6b78c55;background:#102820}.details summary{color:#eee7d5}
.fireflies i{box-shadow:0 0 14px 4px #e9d594aa;opacity:1}
.fireflies-ambient{position:fixed;inset:0;pointer-events:none;z-index:3;overflow:hidden}
.fireflies-ambient i{position:absolute;width:var(--size);height:var(--size);border-radius:50%;background:#fff6dd;box-shadow:0 0 8px 3px #fff6dd;opacity:0;scale:.2;transition:opacity 700ms ease var(--fade-delay),scale 900ms cubic-bezier(.23,1,.32,1) var(--fade-delay)}
.fireflies-ambient i span{position:absolute;inset:calc(var(--size) * -2.2);border-radius:50%;background:radial-gradient(circle,#ffe8ac99 0%,#ffe8ac3d 40%,transparent 72%);filter:blur(1.5px)}
.fireflies-ambient.is-in i{opacity:1;scale:1}
.entry .entry-copy{transition:opacity 280ms ease-in,translate 280ms ease-in}
.entry.is-open .entry-copy{opacity:0;translate:0 -10px}
.light-flash{position:fixed;inset:0;z-index:5;pointer-events:none;background:radial-gradient(circle at 50% 42%,#fff2cf 0%,#fff2cf00 60%);opacity:0}
.light-flash.go{animation:lightFlash 1.4s ease-out forwards}
@keyframes lightFlash{0%{opacity:0}12%{opacity:.85}100%{opacity:0}}
@media(prefers-reduced-motion:no-preference){.fireflies-ambient i{will-change:translate,opacity}}