:root{--paper:#f4f0e7;--ink:#203d50;--muted:#61717a;--blue:#c5d6df;--gold:#a38860;--line:#203d502b;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{margin:0;max-width:100%;overflow-x:hidden;background:var(--paper);color:var(--ink);font:16px/1.8 var(--sans)}@supports(overflow:clip){html,body{overflow-x:clip}}html.locked{overflow:hidden;overscroll-behavior:none}body.locked{position:fixed;left:0;right:0;width:100%;overflow:hidden;overscroll-behavior:none;touch-action:none}button,input,textarea{font:inherit}a{color:inherit;text-underline-offset:6px}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:6px}img{display:block;width:100%}h1,h2,h3,p{margin:0}h2{font:400 clamp(3.2rem,6.5vw,6.5rem)/.98 var(--serif);letter-spacing:-.045em}h2 em{font-weight:400}p+p{margin-top:1.2rem}.eyebrow{font-size:.875rem;letter-spacing:.14em;text-transform:uppercase;line-height:1.6}.small{font-size:.875rem;color:var(--muted)}.script{font:italic 2rem var(--serif)}
.opening{position:fixed;inset:0;z-index:100;display:none;place-items:center;perspective:1600px;overflow-y:auto}.js .opening{display:grid}.fold{position:absolute;inset:0 50% 0 0;background:var(--paper);transform-origin:left center;transition:transform 1.5s cubic-bezier(.65,0,.2,1),opacity 1.5s}.fold.right{inset:0 0 0 50%;transform-origin:right center;background:#eee8dc;border-left:1px solid #d7cdbd}.opening-copy{z-index:1;text-align:center;padding:2rem;transition:opacity .4s,transform .7s}.opening-copy:before{content:'';position:absolute;inset:24px;border:1px solid #a3886045;pointer-events:none}.monogram{font:400 clamp(6rem,17vw,12rem)/1.1 var(--serif);letter-spacing:-.12em;margin:2rem 0}.monogram span{font-style:italic;color:var(--gold);font-size:.65em;margin:0 .08em}.opening-names{font:1.8rem var(--serif)}.opening-date{letter-spacing:.3em;font-size:.875rem;margin-top:1rem}.opening .solid{display:block;margin:2.3rem auto 1.5rem}.opening .script{font-size:1.25rem}.departing .opening-copy{opacity:0;transform:translateY(-15px)}.departing .left{transform:rotateY(-100deg);opacity:0}.departing .right{transform:rotateY(100deg);opacity:0}[hidden]{display:none!important}
.hero{height:100svh;min-height:650px;position:relative;color:white;overflow:hidden}.hero-photo{height:100%;object-fit:cover;object-position:center 53%;transform:scale(1.06);transition:transform 3s ease}.opened .hero-photo{transform:scale(1)}.shade{position:absolute;inset:0;background:linear-gradient(#15293955,transparent 50%,#10283b9c)}.hero-top{position:absolute;top:5vh;left:6vw}.hero h1{position:absolute;top:13vh;left:6vw;font:400 clamp(4rem,9.5vw,10rem)/.9 var(--serif);letter-spacing:-.055em;text-shadow:0 2px 25px #0002}.hero h1 i{font-size:.62em}.hero h1:focus{outline:none}.hero-bottom{position:absolute;bottom:5vh;left:6vw;right:6vw;display:flex;justify-content:space-between;align-items:end}.hero-bottom p{font:italic 2rem/1.4 var(--serif)}.hero-bottom p span{font:14px var(--sans)}.hero-bottom a{font-size:14px;text-decoration:none}.hero-bottom a span{display:block;text-align:right;font-size:1.7rem;margin-top:.5rem}
.letter{padding:clamp(6rem,12vw,12rem) 6vw;text-align:center;max-width:1000px;margin:auto}.letter h2{margin:2.5rem 0}.letter>p:not(.eyebrow){max-width:550px;margin:1.5rem auto}details summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.music{max-width:550px;margin:3.5rem auto 0;border-top:1px solid var(--line);padding-top:1rem}.music summary,.music p,.music a{font-size:14px}.music iframe{width:100%;aspect-ratio:16/9;border:0;margin:1rem 0}
.date-section{background:var(--blue);padding:7rem 9vw;display:grid;grid-template-columns:1fr 1.2fr;gap:10vw;align-items:center}.date-mark{text-align:center;display:grid;justify-items:center}.date-mark span{font-size:14px;letter-spacing:.18em;text-transform:uppercase}.date-mark strong{font:400 clamp(10rem,22vw,24rem)/.95 var(--serif);letter-spacing:-.08em;margin:1rem 0 1.5rem;padding-right:.07em}.date-copy h2{margin:1.5rem 0 2rem}.date-copy p:not(.eyebrow){max-width:480px}.text-link{display:inline-block;font-size:14px;margin-top:2rem;padding-bottom:.3rem;text-decoration:none;border-bottom:1px solid}.venue{position:relative;padding:7rem 8vw 9rem}.photo-button{padding:0;border:0;background:none;display:block;width:100%;cursor:zoom-in}.venue-image{width:77%;height:560px}.venue-image img{height:100%;object-fit:cover}.venue-paper{position:relative;background:var(--paper);border:1px solid var(--line);max-width:510px;padding:3.5rem;margin:-260px 0 0 auto;box-shadow:15px 20px 0 #c5d6df6b}.venue-paper h2{font-size:clamp(3rem,4.5vw,4.7rem);margin:1.5rem 0}
.attire{padding:3rem 9vw 8rem;display:grid;grid-template-columns:1fr 1.1fr;gap:9vw}.attire h2{margin-top:1.5rem}.attire details{margin-top:2rem;border-block:1px solid var(--line)}.attire summary,.custom summary{padding:1.2rem 0;display:flex;justify-content:space-between}.attire-detail{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;padding:0 0 1.5rem}.attire-detail img{height:320px;object-fit:cover}.attire-detail h3{font:1.65rem var(--serif);margin:0 0 .5rem}.attire-detail p{font-size:14px;margin-bottom:1.5rem}
.gifts{background:var(--ink);color:var(--paper);padding:7rem 9vw;display:grid;grid-template-columns:.85fr 1.25fr;gap:8vw}.gift-heading{align-self:start;position:sticky;top:3rem}.gift-heading h2{margin:1.5rem 0 2rem}.gift-heading p:last-child{max-width:400px;color:#e0e6e9}.gift-row{display:grid;grid-template-columns:1.5rem 1fr auto 1rem;gap:1rem;align-items:center;width:100%;text-align:left;padding:1.5rem 0;border:0;border-bottom:1px solid #ffffff35;color:inherit;background:none;transition:padding .25s,background .25s}.gift-row:hover{background:#ffffff08;padding-left:.5rem}.gift-number{font-size:12px;color:#adc2d0}.gift-name{font:1.6rem/1.1 var(--serif)}.gift-price{white-space:nowrap;font-size:14px}.custom{margin-top:1rem}.custom summary{border-bottom:1px solid #ffffff35}.custom form{padding:1.5rem 0}.gifts input{color:white;border-color:#ffffff70}.gifts input::placeholder{color:#afbdc6}.gift-note{color:#bbcad4;margin-top:1.5rem}.solid{background:var(--ink);border:1px solid var(--ink);color:var(--paper);padding:1rem 1.5rem;font-size:14px}.gifts .solid{background:var(--paper);color:var(--ink)}
.rsvp{max-width:780px;margin:auto;padding:8rem 6vw;text-align:center}.rsvp h2{margin:1.5rem 0 2rem}.rsvp form{text-align:left;margin-top:3rem}label{display:grid;gap:.35rem;font-size:14px;margin-bottom:1.5rem}input,textarea{min-width:0;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);border-radius:0;padding:.7rem 0;font-size:16px}input:focus,textarea:focus{outline:2px solid var(--blue);outline-offset:3px}textarea{resize:vertical}fieldset{border:0;padding:0;margin:0 0 1.5rem}legend{font-size:14px;margin-bottom:.8rem}.radio{display:inline-flex;align-items:center;gap:.7rem;margin:0 1.3rem .5rem 0}.radio input{width:18px;height:18px;accent-color:var(--ink)}.rsvp .solid{width:100%}.rsvp form>.small{text-align:center;margin-top:1rem}
.closing{display:grid;grid-template-columns:1fr 1fr;align-items:center;background:#dce5e7}.closing-copy{padding:6rem 6vw}.closing h2{margin:2rem 0}.closing .script{margin-top:2rem}.closing-image img{height:800px;max-height:100svh;object-fit:cover}.closing-image{overflow:hidden}footer{padding:3rem 6vw;display:flex;flex-wrap:wrap;gap:1rem 3rem;align-items:center;font-size:14px}footer>p{font:italic 1.8rem var(--serif)}footer>div{display:flex;gap:1.5rem}footer>span{margin-left:auto;letter-spacing:.15em}#reopen{flex-basis:100%;background:none;border:0;text-align:left;padding:1rem 0 0;color:var(--muted);font-size:14px}
dialog{border:0;background:var(--paper);color:var(--ink);width:min(640px,92vw);max-height:90svh;padding:3rem}dialog::backdrop{background:#132b3dcc;backdrop-filter:blur(8px)}dialog h2{font-size:3rem;margin:1.5rem 0}.close{position:absolute;right:1rem;top:.7rem;background:none;border:0;color:inherit;font-size:1.5rem;min-height:44px}.lightbox{width:100vw;max-width:none;height:100svh;max-height:none;background:#122634;color:var(--paper);padding:4rem 1rem 1rem}.lightbox img{height:calc(100% - 3rem);object-fit:contain}.lightbox p{text-align:center;font-size:14px}.lightbox .close{font-size:14px}.amount{font:2rem var(--serif)}.payment-options{display:grid;gap:.5rem;font-size:14px;margin:1.5rem 0;padding:1rem 0;border-block:1px solid var(--line);color:var(--muted)}.dialog-links{display:flex;flex-wrap:wrap;gap:1.5rem}.dialog-links a{font-size:14px}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:14px/1.8 var(--sans);padding:1rem;background:#c5d6df45}.edit{border:0;background:none;margin-top:1.5rem;color:var(--muted);padding:0}.reveal{transition:opacity .9s,transform .9s}.js .reveal.waiting{opacity:0;transform:translateY(25px)}
@media(max-width:800px){.hero{min-height:580px}.hero h1{top:15vh;font-size:clamp(3.7rem,12vw,6rem)}.hero-top{font-size:12px}.hero-bottom{display:block}.hero-bottom a{margin-top:1.5rem;display:block}.hero-bottom a span{display:inline;margin-left:1rem}.date-section{padding:5rem 7vw;gap:6vw}.date-mark strong{font-size:11rem}.venue{padding:4rem 6vw 6rem}.venue-image{width:100%;height:420px}.venue-paper{padding:2rem;width:90%;margin:-80px 0 0 auto}.attire,.gifts{grid-template-columns:1fr;gap:2.5rem;padding:5rem 7vw}.gift-heading{position:static}.gift-heading p:last-child{max-width:100%}.closing{grid-template-columns:1fr}.closing-copy{text-align:center;padding:5rem 7vw}.closing-image img{height:70svh;max-height:800px;object-position:center 53%}footer>span{margin-left:0}footer{justify-content:center;text-align:center}#reopen{text-align:center}}@media(max-width:520px){.opening-copy .eyebrow{font-size:12px}.opening-copy:before{inset:14px}.hero h1{font-size:15vw;top:18vh}.hero-photo{object-position:53% center}.hero-bottom p span{font-size:12px}.hero-bottom p{font-size:1.6rem}.letter{padding:5rem 7vw}.letter h2{font-size:3.3rem}.eyebrow{font-size:12px}.date-section{grid-template-columns:1fr;gap:3rem}.date-mark strong{font-size:11rem}.date-copy{text-align:center}.venue-image{height:320px}.attire-detail{grid-template-columns:1fr}.attire-detail img{height:360px}.gift-row{gap:.65rem;grid-template-columns:1rem 1fr auto 1rem}.gift-name{font-size:1.35rem}.gift-price{font-size:14px}.rsvp{padding:5rem 7vw}.radio{display:flex}dialog{padding:2.5rem 1.5rem}footer>div{flex-wrap:wrap;justify-content:center}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.js .reveal.waiting{opacity:1;transform:none}.hero-photo{transform:none}}

/* Chapters extend the original invitation's paper, blue and serif design. */
.music-strip{padding:1.4rem 6vw;text-align:center;border-bottom:1px solid var(--line)}.music-strip .music{margin:0 auto;border:0;padding:0}.music-strip summary{padding:.5rem}.story{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7vw;padding:7rem 9vw 2rem}.story h2{margin:1.5rem 0 2rem}.story-copy>p:not(.eyebrow){max-width:470px}.story-photo img{aspect-ratio:4/5;object-fit:cover}.venue-carousel{width:77%}.venue-carousel .venue-image{width:100%}.carousel-controls{display:flex;align-items:center;justify-content:space-between;padding:.7rem 0;width:60%}.carousel-controls button{background:transparent;border:1px solid var(--line);color:var(--ink);width:44px;height:44px;font-size:1.2rem}.carousel-count{font-size:14px}.program{padding:1rem 9vw 7rem;display:grid;grid-template-columns:1fr 1.1fr;gap:9vw}.program h2{margin-top:1.5rem}.timeline{list-style:none;padding:0;margin:0}.timeline li{display:grid;grid-template-columns:90px 1fr;gap:1.3rem;padding:1.5rem 0;border-bottom:1px solid var(--line)}.timeline li>time,.timeline li>span{font-size:14px;padding-top:.3rem}.timeline h3,.fabrics h3{font:2rem var(--serif);margin-bottom:.5rem}.timeline p{font-size:16px}.dress-palette{display:flex;flex-wrap:wrap;gap:1rem;margin:2rem 0}.dress-palette span{font-size:14px;text-align:center;min-width:60px}.dress-palette i{display:block;width:46px;height:46px;border-radius:50%;background:var(--swatch);margin:0 auto .5rem;border:1px solid #203d5022}.fabrics{padding:1.5rem 0;border-top:1px solid var(--line)}.gifts{display:block;text-align:center}.gift-heading{position:static;max-width:680px;margin:0 auto 3rem}.gift-heading p:last-child{max-width:570px;margin:auto}.gift-list{max-width:800px;margin:auto}.gift-row{transition:transform .25s,background .25s,padding .25s}.gift-row:hover,.gift-row:focus-visible{transform:translateY(-2px);background:#ffffff0c}.custom{text-align:left}.guest-card{position:relative;border:1px solid var(--line);padding:1.5rem;margin:0 0 1.5rem}.guest-card legend{padding:0 .5rem;font:1.5rem var(--serif)}.guest-card label:last-child{margin-bottom:0}.remove-guest{display:block;margin:0 0 1rem auto;background:none;border:0;text-decoration:underline;text-underline-offset:4px;color:var(--muted);font-size:14px;min-height:44px}.add-guest{padding:.75rem 1rem;background:transparent;border:1px solid var(--ink);color:var(--ink);font-size:14px;width:100%}.guest-help{margin:1rem 0 2rem}select{font:inherit;font-size:16px;width:100%;min-height:48px;color:var(--ink);background:var(--paper);border:1px solid var(--line);padding:.5rem}select:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
@media(max-width:800px){.story,.program{grid-template-columns:1fr;padding:5rem 7vw;gap:2.5rem}.story-photo img{max-height:650px}.venue-carousel{width:100%}.carousel-controls{width:100%}.venue-paper{margin-top:1.5rem}.timeline li{grid-template-columns:72px 1fr;gap:1rem}.guest-card{padding:1rem}.gifts{display:block}.gift-row:hover{transform:none}}
.hero-actions{display:flex;align-items:end;gap:2rem}.hero-rsvp{border-bottom:1px solid #fff;padding-bottom:.35rem}.quick-nav{display:flex;justify-content:center;gap:clamp(1rem,4vw,4rem);padding:.9rem 6vw;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:5}.quick-nav a{font-size:13px;text-decoration:none;color:var(--muted);white-space:nowrap}.quick-nav a[href="#confirmar"]{color:var(--ink);font-weight:600}.rsvp-extra{border-block:1px solid var(--line);margin:1rem 0 1.5rem}.rsvp-extra summary{padding:1rem 0;display:flex;justify-content:space-between;color:var(--muted);font-size:14px}.rsvp-extra>div{padding-top:1rem}
@media(max-width:800px){.hero-actions{align-items:start;gap:1.25rem;flex-wrap:wrap}.quick-nav{justify-content:flex-start;overflow-x:auto;gap:1.4rem}}
@media(max-width:520px){.hero-photo{object-position:58% center}.hero-actions{display:block}.hero-rsvp{display:inline-block!important;margin-top:1rem!important}}
.quick-nav{position:fixed;inset:0 0 auto;transition:transform .25s ease,opacity .25s ease,visibility .25s}.js .quick-nav{transform:translateY(-100%);opacity:0;visibility:hidden;pointer-events:none}.js .quick-nav.is-visible{transform:translateY(0);opacity:1;visibility:visible;pointer-events:auto}section[id]{scroll-margin-top:5rem}
.venue-image{overflow:hidden}.venue-image img[src$="venue-park-reference.webp"]{transform:scale(1.02)}
.venue{padding:5rem 8vw 7rem}.venue-heading{text-align:center;margin:0 auto 3rem;max-width:1000px}.venue-heading h2{margin-top:1.5rem;font-size:clamp(3.2rem,6vw,6rem);line-height:1.05}.venue-carousel{width:100%}.venue-carousel .venue-image{width:100%;height:clamp(360px,48vw,680px)}.carousel-controls{width:100%;padding:1rem 0}.venue-paper{max-width:none;width:100%;margin:1.5rem 0 0;padding:2rem 0 0;box-shadow:none;border:0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr auto;gap:2rem;align-items:start}.venue-paper p+p{margin:0}.venue-paper .text-link{margin:0;white-space:nowrap}
@media(max-width:800px){.venue{padding:4rem 7vw 5rem}.venue-heading{margin-bottom:2rem}.venue-paper{grid-template-columns:1fr;gap:1rem;margin-top:1rem;padding-top:1.5rem}.venue-paper .text-link{justify-self:start;margin-top:.5rem}}
.venue-carousel .venue-image{height:620px;margin-inline:auto;display:flex;align-items:center;justify-content:center}.venue-carousel .venue-image img{width:100%;height:100%;object-fit:contain;transform:none}.venue-carousel.portrait .venue-image{max-width:none}
@media(max-width:800px){.venue-carousel .venue-image{height:420px}}
.music-strip.music-prompt{padding:1.25rem 8vw;gap:clamp(2rem,7vw,7rem)}.song-suggestion{font-size:clamp(1.45rem,2.1vw,2.1rem);line-height:1.05}.song-credit{margin-top:.45rem;font-size:12px}#song-toggle.song-play{width:auto;height:auto;min-width:0;border:0;border-radius:0;padding:.25rem;background:transparent;display:flex;place-items:initial;align-items:center;gap:.8rem}#song-toggle.song-play span{display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffff90;border-radius:50%;font-size:.85rem;transform:none}#song-toggle.song-play strong{position:static;width:auto;height:auto;overflow:visible;clip:auto;font:500 13px var(--sans)}@media(max-width:600px){.music-strip.music-prompt{padding:1.1rem 7vw}.song-suggestion{font-size:1.4rem}#song-toggle.song-play{width:auto;height:auto;border-radius:0;padding:.2rem}#song-toggle.song-play strong{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}#song-toggle.song-play span{width:42px;height:42px}}
.music-strip.music-prompt{display:flex;justify-content:center;align-items:center;gap:clamp(3rem,10vw,10rem);padding:2.5rem 8vw;background:var(--ink);color:var(--paper);text-align:left}.music-prompt audio{display:none}.song-suggestion{font:400 clamp(1.9rem,3vw,3rem)/1.05 var(--serif)}.song-suggestion em{font-weight:400}.song-credit{font-size:13px;color:#c8d4db;margin-top:.75rem}.song-play{display:flex;align-items:center;gap:1rem;padding:.8rem 1.2rem;border:1px solid #ffffff80;background:transparent;color:var(--paper);min-width:150px}.song-play span{font-size:1rem}.song-play strong{font:500 14px var(--sans)}@media(max-width:600px){.music-strip.music-prompt{justify-content:space-between;gap:1.5rem;padding:2rem 7vw}.song-suggestion{font-size:1.8rem}.song-play{min-width:48px;width:48px;height:48px;padding:0;justify-content:center;border-radius:50%}.song-play strong{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}}
.custom-player{display:grid;grid-template-columns:64px 1fr;gap:1.5rem;align-items:center;width:100%;max-width:640px;margin-left:auto;padding:1.6rem;border-block:1px solid #ffffff4a}.custom-player audio{display:none}#song-toggle{width:58px;height:58px;border:1px solid #ffffff85;border-radius:50%;background:transparent;color:var(--paper);font-size:1.15rem;display:grid;place-items:center}#song-toggle span{line-height:1;transform:translateX(1px)}.player-track{min-width:0}.player-meta{display:flex;justify-content:space-between;gap:1rem;font-size:14px;margin-bottom:.75rem}.player-meta time{color:#c8d4db;white-space:nowrap}#song-progress{appearance:none;width:100%;height:2px;padding:0;border:0;background:#ffffff45}#song-progress::-webkit-slider-thumb{appearance:none;width:12px;height:12px;border-radius:50%;background:var(--paper)}#song-progress::-moz-range-thumb{width:12px;height:12px;border:0;border-radius:50%;background:var(--paper)}@media(max-width:700px){.custom-player{margin:0;padding:1.25rem 0;grid-template-columns:54px 1fr}#song-toggle{width:50px;height:50px}.player-meta{font-size:13px}}
.music-strip:has(.song-widget){padding:4rem 8vw;background:var(--ink);color:var(--paper);display:grid;grid-template-columns:.75fr 1.25fr;gap:7vw;align-items:center;text-align:left}.song-intro h2{font-size:clamp(3rem,5vw,5rem);margin:1rem 0}.song-widget{width:100%;max-width:640px;margin-left:auto}.song-widget iframe{display:block;border:0;border-radius:12px;width:100%;height:152px}@media(max-width:700px){.music-strip:has(.song-widget){grid-template-columns:1fr;padding:3.5rem 7vw;gap:2rem}.song-widget{margin:0}}
.music-strip:has(.ambient-music){display:block;padding:1rem 6vw;background:var(--paper);color:var(--ink);text-align:left}.ambient-music{max-width:760px;margin:auto}.ambient-music summary{display:flex;justify-content:space-between;gap:1.5rem;align-items:center;padding:.5rem 0;font-size:14px}.ambient-music summary strong{font-weight:500;white-space:nowrap}.ambient-music summary i{font-style:normal;margin-left:.5rem}.ambient-music iframe{display:block;width:100%;aspect-ratio:16/9;border:0;margin:1rem 0}.ambient-music>a{display:inline-block;font-size:13px;margin:.25rem 0 .75rem}@media(max-width:520px){.ambient-music summary{align-items:start}.ambient-music summary span{max-width:190px}}
.music-strip:has(.song-widget){padding:4rem 8vw;background:var(--ink);color:var(--paper);display:grid;grid-template-columns:.75fr 1.25fr;gap:7vw;align-items:center;text-align:left}.song-intro h2{font-size:clamp(3rem,5vw,5rem);margin:1rem 0}.song-intro>p:last-child{color:#c8d4db;max-width:360px}.song-widget{width:100%;max-width:640px;margin-left:auto}.song-widget iframe{display:block;border:0;border-radius:0;width:100%;height:152px}.song-actions{display:flex;justify-content:space-between;gap:1rem;margin-top:1rem}.song-actions a,.song-actions button{font:14px var(--sans);color:var(--paper);background:none;border:0;padding:.25rem 0;text-decoration:none}.song-actions button{cursor:pointer}.song-actions a{border-bottom:1px solid #ffffff70}@media(max-width:700px){.music-strip:has(.song-widget){grid-template-columns:1fr;padding:3.5rem 7vw;gap:2.5rem}.song-widget{margin:0}.song-actions{flex-wrap:wrap}}
.history{padding:6rem 8vw 2rem}.history-heading{max-width:750px;margin:0 auto 5rem;text-align:center}.history-heading h2{margin:1.5rem 0 2rem}.history-moments{list-style:none;margin:0;padding:0;position:relative}.history-moments:before{content:'';position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--line)}.history-moment{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10vw;margin-bottom:7rem;position:relative}.history-moment .photo-button{max-width:490px;margin:auto}.history-moment img{height:auto;aspect-ratio:4/5;object-fit:cover}.history-moment:last-child img{aspect-ratio:3/2}.history-copy{max-width:450px}.history-copy h3{font:400 clamp(2.6rem,4.5vw,4.8rem)/1.05 var(--serif);letter-spacing:-.035em;margin:1.25rem 0 1.75rem}.history-copy h3 em{font-weight:400}.history-number{display:block;font:italic 2rem var(--serif);color:var(--gold);margin-bottom:1rem}.history-moment:nth-child(even) .photo-button{grid-column:2;grid-row:1}.history-moment:nth-child(even) .history-copy{grid-column:1;grid-row:1}.history-moment:nth-child(even) .history-copy{margin-left:auto}
@media(max-width:800px){.history{padding:4.5rem 7vw 1rem}.history-heading{margin-bottom:3.5rem}.history-moments:before{display:none}.history-moment{grid-template-columns:1fr;gap:2rem;margin-bottom:4.5rem}.history-moment:nth-child(even) .photo-button,.history-moment:nth-child(even) .history-copy{grid-column:auto;grid-row:auto}.history-copy,.history-moment:nth-child(even) .history-copy{margin:0;max-width:none}.history-moment .photo-button{max-width:550px}.history-copy h3{font-size:3rem}.history-number{margin-bottom:.5rem}}
/* Public RSVP powered by Matri */
.rsvp{max-width:none;padding:8rem 9vw;display:grid;grid-template-columns:minmax(260px,.72fr) minmax(420px,1.28fr);gap:clamp(4rem,9vw,10rem);align-items:start;text-align:left}.rsvp-heading{position:sticky;top:6rem}.rsvp-heading h2{margin:1.5rem 0 2rem}.rsvp-heading>p:last-child{max-width:430px}.rsvp-panel{background:#fff;border:1px solid var(--line);padding:clamp(2rem,4vw,4rem);min-height:390px}.rsvp-panel form{margin:0}.rsvp-panel label{font-weight:500}.rsvp-search-control{display:grid;grid-template-columns:1fr auto;border-bottom:1px solid var(--ink)}.rsvp-search-control input{border:0;padding:.9rem 0}.rsvp-search-control button{border:0;background:transparent;color:var(--ink);font-size:14px;padding:0 0 0 1rem}.rsvp-status{min-height:2rem;margin-top:1rem;color:var(--muted);font-size:14px}.rsvp-results{display:grid;margin-top:.5rem;border-top:1px solid var(--line)}.rsvp-result{display:grid;grid-template-columns:1fr auto 1.25rem;gap:1rem;align-items:center;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);text-align:left;padding:1.25rem 0;transition:padding .2s}.rsvp-result:hover,.rsvp-result:focus-visible{padding-left:.5rem}.rsvp-result span{font:1.55rem var(--serif)}.rsvp-result small{color:var(--muted);white-space:nowrap}.rsvp-result b{font-weight:400}.rsvp-loader{display:inline-block;width:.8rem;height:.8rem;border:1px solid var(--line);border-top-color:var(--ink);border-radius:50%;animation:rsvp-spin .7s linear infinite}@keyframes rsvp-spin{to{transform:rotate(360deg)}}.rsvp-form-header{padding-bottom:1.5rem;border-bottom:1px solid var(--line);margin-bottom:1.5rem}.rsvp-form-header h3,.rsvp-success h3{font:400 clamp(2.3rem,4vw,3.6rem)/1 var(--serif);margin:.6rem 0}.rsvp-back{border:0;background:transparent;color:var(--muted);padding:0 0 1.5rem;font-size:14px}.rsvp-person{padding:1.5rem 0;border-bottom:1px solid var(--line);margin:0}.rsvp-person legend{font:400 1.8rem var(--serif);margin-bottom:1rem}.attendance-options{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.attendance-options label{margin:0;display:block}.attendance-options input{position:absolute;opacity:0;pointer-events:none}.attendance-options span{display:block;border:1px solid var(--line);padding:.8rem;text-align:center;font-size:14px;font-weight:400}.attendance-options input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--paper)}.attendance-options input:focus-visible+span{outline:2px solid var(--gold);outline-offset:3px}.dietary-field{margin:1rem 0 0}.rsvp-panel .rsvp-extra{margin-top:2rem}.rsvp-panel .solid{width:100%}.rsvp-panel .solid:disabled{opacity:.55;cursor:wait}.rsvp-success{text-align:center;padding:2rem 0}.rsvp-success>span{display:grid;place-items:center;width:58px;height:58px;border:1px solid var(--ink);border-radius:50%;margin:0 auto 1.5rem;font:1.4rem var(--serif)}.rsvp-success p:not(.eyebrow){max-width:420px;margin:1rem auto 2rem}.rsvp-success .solid{width:auto}.rsvp h3:focus{outline:none}
@media(max-width:800px){.rsvp{grid-template-columns:1fr;gap:2.5rem;padding:5rem 7vw}.rsvp-heading{position:static;text-align:center}.rsvp-heading>p:last-child{margin-inline:auto}.rsvp-panel{padding:2rem;min-height:0}}
@media(max-width:520px){.rsvp-panel{padding:1.5rem}.attendance-options{grid-template-columns:1fr}.rsvp-result{grid-template-columns:1fr auto}.rsvp-result small{grid-row:2}.rsvp-result b{grid-column:2;grid-row:1/3}.rsvp-search-control button{font-size:0}.rsvp-search-control button:after{content:'→';font-size:1.1rem}}
/* RSVP form refinements */
.rsvp-search-control{border:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:stretch;transition:border-color .2s,box-shadow .2s}.rsvp-search-control:focus-within{border-color:var(--ink);box-shadow:0 0 0 3px var(--blue)}.rsvp-search-control input{border:0;padding:.9rem 1rem;outline:0}.rsvp-search-control input:focus{outline:0}.rsvp-search-control button{background:var(--ink);color:var(--paper);padding:.75rem 1.25rem;margin:-1px;border:1px solid var(--ink)}.rsvp #rsvp-search-help{text-align:left;margin-top:.65rem}.rsvp-form-header{border-bottom:0;padding-bottom:.5rem}#rsvp-people{display:grid;gap:1rem}.rsvp-person{padding:1.5rem;background:#c5d6df24;border:0;margin:0}.rsvp-person h4{font:400 2rem/1.08 var(--serif);letter-spacing:-.02em;margin:0 0 1.25rem}.dietary-field textarea,.rsvp-extra textarea,.rsvp-extra input{border:1px solid var(--line);background:var(--paper);padding:.75rem;margin-top:.25rem}.dietary-field textarea{height:96px;min-height:96px}.dietary-field textarea:focus,.rsvp-extra textarea:focus,.rsvp-extra input:focus{border-color:var(--ink);outline:2px solid var(--blue);outline-offset:1px}.rsvp-panel .rsvp-extra{border-block:0;border-top:1px solid var(--line);padding-top:.5rem;margin:2rem 0 1.5rem}.rsvp-panel .rsvp-extra summary{border:0}.rsvp-panel .rsvp-extra>div{padding-top:.5rem}
@media(max-width:520px){.rsvp-search-control button{font-size:0;padding-inline:1rem}.rsvp-search-control button:after{content:'→';font-size:1.1rem}.rsvp-person{padding:1.25rem}}
/* RSVP editorial finish */
.rsvp{background:linear-gradient(180deg,var(--paper),#f7f4ed)}.rsvp-panel{position:relative;box-shadow:12px 14px 0 #c5d6df55;border-color:#203d5033}.rsvp-panel:before{content:'';position:absolute;left:-1px;right:-1px;top:-1px;height:4px;background:var(--ink)}#rsvp-search-form>label{font:400 1.7rem var(--serif);letter-spacing:-.015em;margin-bottom:.8rem}.rsvp-search-control{min-height:58px}.rsvp-search-control input::placeholder{color:#718089}.rsvp-result{padding:1rem .75rem}.rsvp-result:hover,.rsvp-result:focus-visible{padding-left:1.1rem;background:#c5d6df1f}.rsvp-form-header .eyebrow{color:var(--gold)}.rsvp-person{box-shadow:inset 4px 0 0 var(--blue)}.rsvp-extra summary{font-weight:500}.rsvp-panel>.rsvp-success{min-height:260px;align-content:center}.rsvp-success:not([hidden]){display:grid;justify-items:center}
@media(max-width:800px){.rsvp-panel{box-shadow:8px 10px 0 #c5d6df55}}
/* Garden-formal dress code */
.attire.attire-editorial{display:block;padding:8rem 8vw;background:#f1ebdf;color:#3f352e}.attire-intro{max-width:900px;margin:0 auto 4.5rem;text-align:center}.attire-intro h2{margin:1.4rem 0 1.8rem}.attire-lead{font:italic clamp(1.45rem,2.2vw,2rem)/1.4 var(--serif);max-width:680px;margin:0 auto 3rem}.attire-intro>p:last-child{max-width:760px;margin:0 auto}.earth-palette{display:grid;grid-template-columns:repeat(7,1fr);max-width:1200px;margin:0 auto 4rem}.earth-palette span{min-width:0}.earth-palette i{display:block;height:108px;background:var(--swatch)}.earth-palette b{display:block;padding:.7rem .45rem 0;border-top:1px solid #3f352e24;font:400 1rem var(--serif)}.attire-guidance{display:grid;grid-template-columns:1fr 1fr;gap:6vw;max-width:1000px;margin:0 auto 4rem;padding-top:2.5rem;border-top:1px solid #3f352e30}.attire-guidance .eyebrow{color:#75634d}.attire-guidance ul{list-style:none;padding:0;margin:1.25rem 0 0}.attire-guidance li{position:relative;padding:.55rem 0 .55rem 2rem;border-bottom:1px solid #3f352e17}.attire-guidance li:before{position:absolute;left:.2rem;top:.48rem;font:1.25rem var(--serif)}.attire-guidance>div:first-child li:before{content:'✓';color:#6f7048}.attire-guidance>div:last-child li:before{content:'×';color:#6b4a33}.attire-editorial details.outfit-guide{max-width:1200px;margin:0 auto;border:0;border-top:1px solid #3f352e30}.outfit-guide summary{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1.25rem;text-transform:uppercase;letter-spacing:.16em;font-size:13px}.outfit-guide summary:before,.outfit-guide summary:after{content:'';height:1px;background:#3f352e30;flex:1}.outfit-guide summary i{font-style:normal;font-size:1.1rem;transition:transform .2s}.outfit-guide .when-open{display:none}.outfit-guide[open] .when-open{display:inline}.outfit-guide[open] .when-closed{display:none}.outfit-guide[open] summary i{transform:rotate(45deg)}.outfit-intro{max-width:720px;margin:3.5rem auto;text-align:center;font:italic 1.5rem/1.5 var(--serif)}.outfit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#3f352e25;border:1px solid #3f352e25}.outfit-grid article{background:#f1ebdf;padding:1.75rem;min-height:220px}.outfit-grid article>span{display:inline-grid;place-items:center;width:34px;height:28px;background:#faf7f0;font:12px/1 var(--sans);letter-spacing:.12em}.outfit-grid h3{font:400 1.65rem/1.1 var(--serif);margin:1.5rem 0 .6rem}.outfit-grid p{font-size:14px;color:#6f6258}.outfit-dots{display:flex;gap:.45rem;margin-top:1.25rem}.outfit-dots i{width:16px;height:16px;border-radius:50%;background:var(--dot);border:1px solid #3f352e24}
@media(max-width:800px){.attire.attire-editorial{padding:5rem 7vw}.attire-intro{margin-bottom:3rem}.earth-palette{grid-template-columns:repeat(7,minmax(70px,1fr));overflow-x:auto;padding-bottom:.75rem;margin-right:-7vw}.earth-palette i{height:82px}.earth-palette b{font-size:.9rem}.attire-guidance{grid-template-columns:1fr;gap:2rem}.outfit-grid{grid-template-columns:1fr 1fr}.outfit-guide summary:before,.outfit-guide summary:after{min-width:20px}}
@media(max-width:520px){.outfit-grid{grid-template-columns:1fr}.outfit-grid article{min-height:0}.outfit-intro{margin:2.5rem auto;font-size:1.3rem}.attire-guidance{margin-bottom:3rem}}
/* Always-visible outfit references */
.earth-palette{display:none}.attire-intro{margin-bottom:3.5rem}.attire-guidance{margin-top:0}.attire-editorial .outfit-guide{padding-top:1rem}.outfit-intro{margin-top:2rem}
/* Unified page rhythm */
:root{--section-space:clamp(5.5rem,7vw,7rem);--section-space-mobile:4.5rem}.history{padding:var(--section-space) 8vw 1rem}.history-heading{margin-bottom:4rem}.history-moment{margin-bottom:6rem}.letter{padding:var(--section-space) 6vw}.letter h2{margin:2rem 0}.date-section{padding:var(--section-space) 9vw}.venue{padding:var(--section-space) 8vw}.venue-heading{margin-bottom:2.5rem}.program{padding:var(--section-space) 9vw;gap:7vw}.attire.attire-editorial{padding:var(--section-space) 8vw}.attire-intro{margin-bottom:3rem}.attire-lead{margin-bottom:2rem}.attire-guidance{margin-bottom:3rem;padding-top:2rem}.attire-editorial .outfit-guide{padding-top:0}.outfit-intro{margin:1.5rem auto 2.5rem}.gifts{padding:var(--section-space) 9vw}.gift-heading{margin-bottom:2.5rem}.rsvp{padding:var(--section-space) 9vw;gap:7vw}.closing-copy{padding:var(--section-space) 6vw}section[id]{scroll-margin-top:4.25rem}
@media(max-width:800px){.history,.letter,.date-section,.venue,.program,.attire.attire-editorial,.gifts,.rsvp{padding-top:var(--section-space-mobile);padding-bottom:var(--section-space-mobile)}.history{padding-bottom:.5rem}.history-heading{margin-bottom:3rem}.history-moment{margin-bottom:4rem}.program{gap:2.5rem}.attire-intro{margin-bottom:2.5rem}.attire-guidance{margin-bottom:2.5rem}.outfit-intro{margin:1rem auto 2rem}.closing-copy{padding-top:var(--section-space-mobile);padding-bottom:var(--section-space-mobile)}}
.rsvp-lock-note{margin:1rem 0;color:var(--muted);font-size:14px}.rsvp-person-saved{opacity:.82}.rsvp-person-saved .attendance-options span{cursor:default}.rsvp-person-saved textarea{color:var(--muted)}
.rsvp-result-saved{cursor:default}.rsvp-result-saved:disabled{color:var(--ink);opacity:.72}.rsvp-result-saved:disabled:hover{padding-left:.75rem;background:transparent}.rsvp-result-saved small{color:var(--gold)}
.letter,.program,.attire.attire-editorial,.closing{border-top:1px solid var(--line)}
@media(max-width:800px){.hero{height:var(--hero-height,100svh);min-height:var(--hero-height,580px)}}
/* Dress-code references */
.outfit-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;background:transparent;border:0}
.outfit-grid .outfit-card{min-height:0;padding:0;background:transparent}
.outfit-photo{position:relative;overflow:hidden;aspect-ratio:4/5;background:#dcd4c8}
.outfit-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.outfit-card:hover .outfit-photo img{transform:scale(1.025)}
.outfit-grid .outfit-photo>span{position:absolute;top:.75rem;left:.75rem;display:grid;place-items:center;width:2rem;height:2rem;background:#faf7f0e8;color:#3f352e;font:12px/1 var(--sans);letter-spacing:.12em}
.outfit-grid .outfit-card h3{margin:1rem 0 .4rem;font:400 clamp(1.35rem,2vw,1.75rem)/1.1 var(--serif)}
.outfit-grid .outfit-card p{max-width:28rem;font-size:14px;line-height:1.55;color:#6f6258}
.outfit-dots{display:none}
@media(max-width:800px){.outfit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}}
@media(max-width:520px){.outfit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.outfit-grid .outfit-card h3{font-size:1.2rem}.outfit-grid .outfit-card p{font-size:12px;line-height:1.45}.outfit-grid .outfit-photo>span{top:.5rem;left:.5rem;width:1.75rem;height:1.75rem}}
