@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Inter:wght@400;500;600&display=swap";.invitation-experience{background:var(--paper)}.invite-section{padding:var(--section-space) var(--page-gutter);scroll-margin-top:5rem;position:relative}.section-shell{width:min(1120px,100%);margin-inline:auto}.section-eyebrow{text-align:center;margin-bottom:1rem}.section-title{letter-spacing:-.035em;text-align:center;max-width:780px;margin:0 auto 3rem;font-size:clamp(2.5rem,5vw,4.2rem);line-height:1.08}.section-intro{text-align:center;max-width:540px;color:var(--muted);margin:-1.4rem auto 2.7rem;font-size:.9rem}.site-header{z-index:40;border-bottom:1px solid var(--line);background:#fbf8f4f7;position:sticky;top:0}.nav-shell{width:min(1320px,100%);min-height:80px;padding:0 var(--page-gutter);justify-content:space-between;align-items:center;gap:1.5rem;margin:auto;display:flex;position:relative}.site-brand{font:500 1.1rem var(--serif);white-space:nowrap}.site-brand span{color:var(--mocha);margin-inline:.15rem;font-style:italic}.floating-nav{align-items:center;gap:.25rem;display:flex}.floating-nav a{border-bottom:2px solid #0000;min-height:44px;padding:.8rem .65rem;font-size:.72rem}.floating-nav a:hover,.floating-nav a[aria-current]{color:var(--accent);border-bottom-color:var(--accent)}.floating-nav .nav-rsvp{border:1px solid var(--button-bg);border-radius:var(--button-radius);background:var(--button-bg);color:var(--button-text);margin-left:.8rem;padding-inline:1.1rem}.floating-nav .nav-rsvp[aria-current],.floating-nav .nav-rsvp:hover{color:var(--button-text);background:var(--button-bg);border-color:var(--button-bg)}.floating-nav .nav-rsvp:hover{background:var(--button-hover)}.menu-toggle{background:0 0;border:0;align-items:center;gap:1rem;min-height:44px;font-size:.75rem;display:none}.menu-toggle-icon{width:20px;height:16px;position:relative}.menu-toggle-icon span{background:currentColor;width:20px;height:1px;transition:transform .18s,width .18s;position:absolute;top:4px;right:0}.menu-toggle-icon span:last-child{width:14px;top:11px}.menu-toggle[aria-expanded=true] .menu-toggle-icon span:first-child{transform:translateY(3.5px)rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-toggle-icon span:last-child{width:20px;transform:translateY(-3.5px)rotate(-45deg)}@media (prefers-reduced-motion:reduce){.menu-toggle-icon span{transition:none}}.minimal-card{text-align:center;max-width:620px;margin:auto}.minimal-card p{color:var(--muted);font-size:.95rem}.minimal-card p+p{margin-top:1rem}.minimal-card h3{margin-bottom:1rem;font-size:2rem}.card-icon{font:2rem var(--serif);color:var(--accent);margin:0 auto 1.5rem;display:block}#gift{background:var(--wash)}#gift .section-title{max-width:650px}#unplugged .minimal-card{border:1px solid var(--line);border-radius:var(--radius);padding:2rem}.image-frame{max-width:600px;margin:2rem auto 0}.image-frame img{object-fit:contain;max-height:440px;margin:auto}.attire-intro-card{text-align:center;max-width:600px;color:var(--muted);margin:auto}.attire-type{font-family:var(--serif);color:var(--ink);font-size:2rem}.reveal.is-visible{animation:.55s both section-appear}@keyframes section-appear{0%{opacity:.6;transform:translateY(14px)}to{opacity:1;transform:none}}@media (width<=900px){.nav-shell{min-height:72px}.menu-toggle{display:inline-flex}.floating-nav{padding:1rem var(--page-gutter) 1.5rem;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:var(--shadow);display:none;position:absolute;top:100%;left:0;right:0}.floating-nav.is-open{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.floating-nav a{padding:1rem}.floating-nav .nav-rsvp{text-align:center;margin:0}}@media (width<=600px){.section-title{margin-bottom:2rem}.site-brand{font-size:1rem}.section-intro{margin-top:-.6rem}}.opening-section{padding-top:clamp(2.5rem,6vw,5rem);padding-bottom:clamp(3.5rem,6vw,6rem)}.opening-layout{grid-template-columns:1fr .85fr;align-items:center;gap:clamp(2rem,6vw,6rem);display:grid}.opening-copy .mini-label{margin-bottom:1.8rem}.main-names{letter-spacing:-.045em;flex-direction:column;font-size:clamp(3.6rem,6.4vw,6.3rem);line-height:.98;display:flex}.main-names em{color:var(--accent);letter-spacing:0;font-size:.28em;font-weight:400;line-height:1.8}.opening-text{max-width:370px;color:var(--muted);margin:1.8rem 0;font-size:.9rem}.wedding-date-card{grid-template-columns:1fr 1fr;gap:1.2rem 1rem;margin:2rem 0;display:grid}.wedding-date-card div:first-child{grid-column:1/-1}.wedding-date-card dt{color:var(--muted);text-transform:uppercase;letter-spacing:.13em;margin-bottom:.3rem;font-size:.65rem}.wedding-date-card dd{font:500 1.4rem var(--serif)}.opening-portrait{flex-direction:column;align-self:stretch;padding-top:1rem;display:flex}.opening-portrait img{aspect-ratio:3/4;object-fit:cover;border-radius:120px 120px 4px 4px;width:100%}.opening-portrait figcaption{color:var(--muted);letter-spacing:.08em;justify-content:space-between;gap:1rem;padding-top:1rem;font-size:.65rem;display:flex}@media (width<=767px){.opening-layout{grid-template-columns:1fr;gap:2.5rem}.opening-copy{text-align:center}.main-names{font-size:clamp(3.4rem,13vw,5.5rem)}.opening-text{margin-inline:auto}.opening-copy .hero-actions{justify-content:center;gap:1rem}.wedding-date-card{max-width:350px;margin-inline:auto}.opening-portrait{width:min(400px,100%);margin-inline:auto}.opening-portrait img{aspect-ratio:4/4.5;object-position:center 57%;border-radius:100px 100px 4px 4px}}.verse-section{background:var(--wash);text-align:center}.verse-section .section-title{margin-bottom:2rem;font-size:clamp(2rem,4vw,3rem)}.verse-card{max-width:790px;margin:auto}.verse-card p{font:400 clamp(2rem, 4vw, 3.5rem)/1.25 var(--serif);letter-spacing:-.02em;text-wrap:balance}.verse-card cite{font:500 .7rem var(--sans);text-transform:uppercase;letter-spacing:.18em;color:var(--accent);margin-top:2rem;display:block}.verse-quote-mark,.verse-dove{display:none}.countdown-card{grid-template-columns:.65fr 1fr;align-items:center;gap:3rem;max-width:900px;margin:auto;display:grid}.countdown-art-area{background:var(--wash);aspect-ratio:1;border-radius:50%;place-items:center;padding:2.5rem;display:grid}.countdown-ring-image{width:100%;max-width:230px}.countdown-oval{display:none}.countdown-kicker{font:italic 1.7rem var(--serif);margin-bottom:1rem}.countdown-message{color:var(--muted);font-size:.88rem}.countdown-timer-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:2rem 0;display:grid}.countdown-time-card{border-bottom:1px solid var(--line);text-align:center;padding-bottom:1rem}.countdown-time-card strong{font:500 clamp(2rem, 4vw, 3.5rem)/1 var(--serif);display:block}.countdown-time-card span{color:var(--muted);margin-top:.7rem;font-size:.63rem;display:block}.countdown-wedding-date{flex-wrap:wrap;align-items:center;gap:1rem;font-size:.75rem;display:flex}.countdown-wedding-date span{color:var(--muted)}.countdown-wedding-date strong{font-weight:500}@media (width<=640px){.countdown-card{grid-template-columns:1fr;gap:2rem}.countdown-art-area{width:140px;margin:auto;padding:1.5rem}.countdown-content-area{text-align:center}.countdown-wedding-date{justify-content:center}.countdown-timer-grid{gap:.6rem}}.story-section{background:var(--paper)}.coming-soon-photo{aspect-ratio:3/4;background:var(--wash);width:100%;color:var(--accent);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:2rem 1rem 6rem;display:flex}.coming-soon-photo>span{color:var(--mocha);font-size:2rem}.coming-soon-photo strong{font:italic 2rem/1.2 var(--serif)}.coming-soon-photo small{font-size:.72rem;line-height:1.5}.carousel-photo-card.current .coming-soon-photo{aspect-ratio:3/4.2}.carousel-photo-card.is-coming-soon:after{display:none}.carousel-photo-card.is-coming-soon .carousel-photo-caption{color:var(--ink)}.carousel-photo-card.is-coming-soon .carousel-photo-caption>span:first-child{color:var(--accent)}.photo-modal-image-wrap .coming-soon-photo{aspect-ratio:auto;height:min(75dvh,650px);padding-bottom:2rem}@media (width<=640px){.carousel-photo-card.current .coming-soon-photo{aspect-ratio:3/4}.photo-modal-image-wrap .coming-soon-photo{height:44dvh}}.memories-teaser{border:1px solid var(--line);border-radius:var(--radius);background:var(--wash);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;margin-top:3rem;padding:clamp(1.5rem,3vw,2.5rem);display:flex}.memories-teaser-label{color:var(--accent);text-transform:uppercase;letter-spacing:.14em;font-size:.65rem}.memories-teaser h3{flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin:.65rem 0;font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.1;display:flex}.memories-teaser h3 span{border:1px solid var(--camel);font:400 .6rem/1.4 var(--sans);color:var(--accent);border-radius:999px;padding:.4rem .6rem}.memories-teaser p{color:var(--muted);font-size:.8rem}.carousel-track{grid-template-columns:.85fr 1.15fr .85fr;align-items:center;gap:1.5rem;display:grid}.carousel-photo-card{background:var(--ink);text-align:left;color:#fff;border:0;border-radius:6px;min-width:0;padding:0;display:block;position:relative;overflow:hidden}.carousel-photo-card img{aspect-ratio:3/4;object-fit:cover;width:100%;transition:transform .45s}.carousel-photo-card.current img{aspect-ratio:3/4.2}.carousel-photo-card:hover img{transform:scale(1.025)}.carousel-photo-card:after{content:"";pointer-events:none;background:linear-gradient(#0000,#19100be6);position:absolute;inset:45% 0 0}.carousel-photo-caption{bottom:0;z-index:1;padding:clamp(1rem,2.5vw,2rem);position:absolute;inset-inline:0}.carousel-photo-caption>span:first-child{text-transform:uppercase;letter-spacing:.13em;color:var(--champagne);font-size:.6rem;display:block}.carousel-photo-caption strong{font:500 clamp(1.6rem, 3vw, 2.6rem)/1.1 var(--serif);margin-top:.4rem;display:block}.carousel-click-hint{margin-top:.8rem;font-size:.7rem;display:block}.carousel-controls{justify-content:center;align-items:center;gap:1rem;margin-top:2rem;display:flex}.carousel-arrow,.photo-modal-controls button{border:1px solid var(--line);background:0 0;border-radius:50%;place-items:center;min-width:46px;min-height:46px;font-size:1.2rem;display:grid}.carousel-arrow:hover,.photo-modal-controls button:hover{background:var(--wash)}.carousel-dots{display:flex}.carousel-dots button{background:0 0;border:0;place-items:center;width:32px;height:44px;padding:0;display:grid}.carousel-dots span{border:1px solid var(--mocha);border-radius:50%;width:6px;height:6px}.carousel-dots button.active span{background:var(--mocha)}.photo-modal{border-radius:var(--radius);background:var(--paper);width:min(960px,100% - 2rem);max-width:none;max-height:calc(100dvh - 2rem);color:var(--ink);border:0;margin:auto;padding:0;position:fixed;overflow:auto;box-shadow:0 24px 80px #0003}.photo-modal::backdrop{background:#1e140dbf}.photo-modal-layout{grid-template-columns:1fr .85fr;display:grid}.photo-modal-image-wrap{background:var(--ink);place-items:center;display:grid}.photo-modal-image-wrap img{object-fit:contain;width:100%;height:min(75dvh,650px)}.photo-modal-story{align-self:center;padding:3rem}.photo-modal-chapter{text-transform:uppercase;letter-spacing:.15em;color:var(--accent);font-size:.65rem}.photo-modal-story h2{margin:1rem 0;font-size:2.8rem;line-height:1.1}.photo-modal-story>p:last-of-type{color:var(--muted);font-size:.9rem}.photo-modal-close{z-index:2;border:1px solid var(--line);background:var(--paper);border-radius:50%;width:44px;height:44px;font-size:1.5rem;position:absolute;top:.7rem;right:.7rem}.photo-modal-controls{justify-content:space-between;align-items:center;gap:1rem;margin-top:2rem;display:flex}.photo-modal-controls span{color:var(--muted);font-size:.7rem}@media (width<=640px){.carousel-track{grid-template-columns:1fr}.carousel-photo-card:not(.current){display:none}.carousel-photo-card.current img{aspect-ratio:3/4}.carousel-photo-caption{padding:1.5rem}.photo-modal-layout{grid-template-columns:1fr}.photo-modal-image-wrap img{height:44dvh}.photo-modal-story{padding:1.5rem}.photo-modal-story h2{font-size:2.2rem}}.details-section{background:var(--wash)}.details-section .section-shell{max-width:900px}.details-clock-decor{display:none}.details-card{background:var(--paper);border-radius:var(--radius);border:1px solid var(--line);padding:clamp(1.5rem,5vw,4rem)}.details-card-header{max-width:540px;margin-bottom:2.5rem}.details-date{font:500 1.7rem var(--serif)}.details-card-header p{color:var(--muted);margin-top:.7rem;font-size:.85rem}.details-list{gap:0;display:grid}.details-item{border-top:1px solid var(--line);grid-template-columns:120px 1fr;gap:1.5rem;padding:1.7rem 0;display:grid}.details-time{color:var(--accent);padding-top:.35rem;font-size:.85rem;font-weight:500}.details-copy h3{margin-bottom:.5rem;font-size:1.9rem;line-height:1.1}.details-copy p{color:var(--muted);font-size:.84rem}.details-reminder{border-top:1px solid var(--line);margin-top:1rem;padding-top:1.5rem}.details-reminder span{text-transform:uppercase;letter-spacing:.13em;color:var(--accent);font-size:.65rem}.details-reminder p{color:var(--muted);margin-top:.5rem;font-size:.8rem}@media (width<=480px){.details-item{grid-template-columns:85px 1fr;gap:1rem}.details-time{font-size:.76rem}.details-copy h3{font-size:1.6rem}}.invitation-card-section{background:var(--wash)}.printed-invitation-card{background:var(--paper);border:1px solid var(--camel);border-radius:14px;grid-template-columns:minmax(0,.7fr) minmax(0,1fr);max-width:1040px;margin:auto;display:grid;overflow:hidden;box-shadow:0 18px 55px #36291f12}.invitation-photo{isolation:isolate;background:var(--mocha);min-height:100%;position:relative}.invitation-photo img{object-fit:cover;object-position:43% center;width:100%;height:100%;position:absolute;inset:0}.invitation-photo:after{content:"";background:linear-gradient(#0000,#24170fbf);position:absolute;inset:40% 0 0}.invitation-photo figcaption{z-index:1;inset-inline:clamp(1.5rem,3vw,3rem);color:var(--paper);position:absolute;bottom:3rem}.invitation-photo-label{font:400 .65rem/1.5 var(--sans);text-transform:uppercase;letter-spacing:.2em;margin-bottom:.75rem;display:block}.invitation-photo-script{font:italic 400 clamp(3rem, 5vw, 5rem)/1 var(--serif);letter-spacing:-.04em;display:block}.invitation-paper{text-align:center;padding:clamp(2rem,4vw,3.5rem) clamp(1.5rem,4vw,3.5rem);position:relative}.invitation-paper:before{content:"";border:1px solid var(--line);pointer-events:none;border-radius:5px;position:absolute;inset:10px}.invitation-paper-heading{color:var(--mocha);justify-content:center;align-items:center;gap:1rem;margin-bottom:1.7rem;font-size:.75rem;display:flex}.invitation-paper-heading span:first-child,.invitation-paper-heading span:last-child{background:var(--camel);width:2rem;height:1px}.printed-names h3{letter-spacing:-.045em;font-size:clamp(2.6rem,4.2vw,4rem);font-weight:400;line-height:1.04}.printed-names span{color:var(--accent);font:italic 400 1.3rem/1.3 var(--serif);margin:.4rem 0;display:block}.formal-request{color:var(--muted);margin:1.5rem 0;font-size:.8rem;line-height:1.85}.formal-date{border-block:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;max-width:370px;margin:1.8rem auto 2rem;padding:1rem 0;display:grid}.formal-date-month{font:500 .63rem/1.8 var(--sans);text-transform:uppercase;letter-spacing:.1em}.formal-date-month span{color:var(--muted);font-weight:400;display:block}.formal-date strong{color:var(--accent);font:400 4.3rem/.95 var(--serif);letter-spacing:-.07em;padding-right:.07em}.formal-date-year{font:500 1.4rem/1.2 var(--serif)}.formal-date-year span{font:400 .65rem/1.5 var(--sans);color:var(--muted);letter-spacing:.04em;margin-top:.45rem;display:block}.formal-venue-label{color:var(--accent);font:500 .62rem/1.5 var(--sans);text-transform:uppercase;letter-spacing:.2em;margin-bottom:.7rem;display:block}.formal-place strong{max-width:300px;font:500 1.1rem/1.4 var(--serif);text-transform:capitalize;letter-spacing:.015em;margin:auto;display:block}.formal-address{color:var(--muted);font:400 .75rem/1.6 var(--sans);margin-top:.5rem;display:block}.formal-reception{margin-top:1.8rem}.reception-script{font:italic 400 1.15rem/1.4 var(--serif);color:var(--accent);margin-bottom:.6rem}.invitation-paper-footer{color:var(--mocha);margin-top:1.8rem;font-size:1.2rem}@media (width<=700px){.printed-invitation-card{grid-template-columns:1fr}.invitation-photo{height:clamp(210px,54vw,320px);min-height:0}.invitation-photo img{object-position:center 57%}.invitation-photo figcaption{bottom:1.5rem}.invitation-photo-script{font-size:3rem}.invitation-paper{padding:2.5rem 1.6rem}.printed-names h3{font-size:clamp(2.25rem,9.5vw,3.6rem)}}@media (width<=360px){.invitation-paper{padding-inline:1.2rem}.formal-date{gap:.6rem}.formal-date-month{font-size:.58rem}.formal-date strong{font-size:3.5rem}}.venue-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;display:grid}.venue-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow:hidden}.venue-image-wrap{background:var(--wash);overflow:hidden}.venue-image-wrap img{aspect-ratio:16/10;object-fit:cover;width:100%;transition:transform .5s}.venue-card:hover .venue-image-wrap img{transform:scale(1.025)}.venue-content{padding:clamp(1.4rem,3vw,2rem)}.venue-meta-row{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.venue-number{font:italic 1.2rem var(--serif);color:var(--mocha)}.venue-card h3{letter-spacing:-.025em;max-width:360px;font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.1}.venue-address{min-height:3.8rem;color:var(--muted);margin:1rem 0 1.4rem;font-size:.82rem}.venue-address>span{margin-right:.4rem}.venue-card a{justify-content:space-between;min-width:180px}.venue-link-arrow{font-size:1.1rem}@media (width<=700px){.venue-grid{grid-template-columns:1fr;gap:1.5rem}.venue-address{min-height:auto}}.attire-section-intro{text-align:center;max-width:550px;color:var(--muted);margin:-1rem auto 2.5rem;font-size:.85rem}.attire-combined-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:1.5rem;display:grid}.attire-panel{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:clamp(1.5rem,3vw,2.5rem)}.principal-panel,.secondary-panel{flex-direction:column;display:flex}.principal-panel .attire-image-card,.secondary-panel .attire-image-card{margin-top:auto;padding-top:1.5rem}.attire-panel-label{letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-size:.65rem}.attire-panel h3{margin:.7rem 0;font-size:2.3rem;line-height:1.1}.attire-panel p{color:var(--muted);font-size:.82rem}.attire-panel .principal-attire-details{color:var(--ink);margin-top:1rem;font-size:.8rem;line-height:1.9}.attire-image-card{place-items:center;min-height:220px;margin-top:1.5rem;display:grid}.attire-image-card img{object-fit:contain;width:100%;max-height:280px}.guest-panel{background:var(--wash);grid-column:1/-1;grid-template-columns:1fr .8fr;gap:1rem 3rem;display:grid}.guest-panel .attire-panel-copy{align-self:center}.guest-panel .attire-image-card{grid-area:1/2/3;margin:0}.attire-palette-card{margin-top:1rem}.attire-palette-title{letter-spacing:.08em;color:var(--accent);margin-bottom:1rem;font-size:.65rem;display:block}.attire-palette{grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem;display:grid}.attire-color-item{text-align:center;flex-direction:column;align-items:center;gap:.55rem;display:flex}.attire-color-swatch{aspect-ratio:1;background:var(--swatch-color);border:1px solid #36291f1f;border-radius:50%;width:min(100%,42px);display:block}.attire-color-item small{color:var(--ink);font-size:.7rem;line-height:1.5}@media (width<=700px){.attire-combined-grid{grid-template-columns:1fr}.guest-panel{display:block}.guest-panel .attire-image-card{margin-top:1.5rem}.attire-image-card img{max-height:260px}.attire-palette-card{margin-top:1.8rem}.attire-palette{grid-template-columns:repeat(auto-fit,minmax(65px,1fr))}}.hashtag-section{background:var(--paper)}.hashtag-card{grid-template-columns:1fr 180px;align-items:center;gap:3rem;max-width:860px;margin:auto;display:grid}.hashtag-small-label{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-size:.67rem}.hashtag-card-copy{min-width:0}.hashtag-card-copy h3{letter-spacing:-.02em;overflow-wrap:anywhere;margin:1rem 0;font-size:clamp(1.7rem,3.7vw,3rem);line-height:1.15}.hashtag-card-copy p{max-width:510px;color:var(--muted);font-size:.85rem}.hashtag-copy-button{margin-top:1.5rem}.hashtag-artwork img{opacity:.8;filter:sepia(.25);width:100%}@media (width<=640px){.hashtag-card{text-align:center;grid-template-columns:1fr;gap:2rem}.hashtag-artwork{grid-row:1;width:100px;margin:auto}}.rsvp-section{background:var(--wash)}.rsvp-layout{grid-template-columns:.7fr 1fr;align-items:start;gap:clamp(2rem,6vw,5rem);display:grid}.rsvp-intro{position:sticky;top:7rem}.rsvp-intro h3{margin-bottom:1rem;font-size:2.5rem;line-height:1.1}.rsvp-intro>p{color:var(--muted);font-size:.9rem}.rsvp-note-card{border-top:1px solid var(--camel);margin-top:2rem;padding-top:1.5rem}.rsvp-deadline-note{border:1px solid var(--camel);border-radius:var(--radius);background:var(--paper);margin-top:1.7rem;padding:1.4rem}.rsvp-deadline-note>span{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-size:.68rem;display:block}.rsvp-deadline-note time{font:500 1.8rem/1.2 var(--serif);margin:.6rem 0 1rem;display:block}.rsvp-deadline-note p{color:var(--muted);font-size:.8rem}.rsvp-deadline-note p+p{margin-top:.85rem}.rsvp-success .rsvp-update-note{margin-top:1.5rem;font-size:.8rem}.rsvp-success .rsvp-submit{margin-top:1.5rem}.rsvp-note-card span{text-transform:uppercase;letter-spacing:.14em;font-size:.67rem;font-weight:500}.rsvp-note-card p{color:var(--muted);margin-top:.7rem;font-size:.8rem}.rsvp-form,.rsvp-success{border:1px solid var(--line);border-radius:var(--radius);background:#fff;min-width:0;padding:clamp(1.5rem,3.5vw,3rem)}.rsvp-form{gap:1.4rem;display:grid}.rsvp-form fieldset{border:0;gap:1.4rem;min-width:0;margin:0;padding:0;display:grid}.rsvp-form legend{font:500 1.6rem var(--serif);margin-bottom:1.5rem}.rsvp-form label{gap:.6rem;font-size:.8rem;font-weight:500;display:grid}.field-label{flex-wrap:wrap;align-items:baseline;gap:.4rem;display:flex}.field-label small{color:var(--muted);font-size:.7rem;font-weight:400}.rsvp-form input,.rsvp-form select,.rsvp-form textarea{background:var(--paper);border:1px solid #beac9c;border-radius:5px;width:100%;min-width:0;min-height:50px;padding:.9rem 1rem;font-size:1rem;font-weight:400;line-height:1.4}.rsvp-form textarea{resize:vertical;min-height:130px}.rsvp-form input:focus,.rsvp-form select:focus,.rsvp-form textarea:focus{border-color:var(--accent)}.rsvp-form [aria-invalid=true]{border-color:#943a2d}.field-error{color:#943a2d;font-size:.75rem;line-height:1.5}.form-help{color:var(--muted);font-size:.72rem;font-weight:400;line-height:1.6}.rsvp-error{color:#7a2f25;background:#fcf1ec;border:1px solid #dab5a6;border-radius:5px;padding:1rem;font-size:.8rem}.rsvp-submit{width:100%}.rsvp-success{text-align:center;padding-block:4rem}.rsvp-success>span{background:var(--wash);width:48px;height:48px;color:var(--accent);border-radius:50%;place-items:center;margin:0 auto 1.5rem;font-size:1.4rem;display:grid}.rsvp-success h3{margin-bottom:1rem;font-size:2.7rem}.rsvp-success p{color:var(--muted);font-size:.9rem}.rsvp-success .text-link{margin-top:1.5rem}@media (width<=767px){.rsvp-layout{grid-template-columns:1fr}.rsvp-intro{position:static}}.closing-section{text-align:center;background:var(--ink);color:var(--paper);padding-block:clamp(4rem,8vw,7rem)}.closing-script{font:italic 1.6rem var(--serif);color:var(--beige)}.closing-section h2{letter-spacing:-.025em;margin:1.5rem 0;font-size:clamp(2.6rem,5vw,4.5rem);line-height:1.1}.closing-section p:last-child{color:#e1cdba;font-size:.8rem}.closing-links{flex-wrap:wrap;justify-content:center;gap:1.5rem;margin-top:2rem;display:flex}.closing-links a{min-height:44px;color:var(--champagne);border-bottom:1px solid var(--mocha);padding-block:.8rem;font-size:.75rem}.memories-page{background:var(--paper);min-height:100svh}.memories-header{width:min(1280px,100%);padding:1rem var(--page-gutter);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem 1rem;margin:auto;display:flex}.memories-back{align-items:center;gap:.7rem;min-height:44px;font-size:.75rem;display:inline-flex}.memories-back:hover{color:var(--accent)}.memories-couple{font:500 1.2rem var(--serif)}.memories-couple em{color:var(--mocha)}.memories-page main{padding:clamp(3rem, 7vw, 6rem) var(--page-gutter) 3rem}.memories-intro{text-align:center;max-width:740px;margin:0 auto 3rem}.memories-status{border:1px solid var(--camel);color:var(--accent);letter-spacing:.12em;text-transform:uppercase;border-radius:999px;padding:.45rem .85rem;font-size:.65rem;display:inline-block}.memories-eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:2rem;font-size:.65rem}.memories-intro h1{letter-spacing:-.045em;margin:1rem 0 1.4rem;font-size:clamp(2.8rem,6vw,5.6rem);line-height:1.05}.memories-intro h1 em{color:var(--accent);font-weight:400}.memories-intro>p:not([class]){font:italic 1.4rem/1.4 var(--serif)}.memories-coming-note{max-width:480px;color:var(--muted);margin:1.2rem auto 0;font-size:.84rem}.wedding-memory-gallery{max-width:1120px;margin:auto}.memory-gallery-filters{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:1.4rem;display:flex}.memory-gallery-filters button{border:1px solid var(--line);border-radius:var(--button-radius);background:0 0;min-height:44px;padding:.7rem 1.1rem;font-size:.75rem}.memory-gallery-filters button[aria-pressed=true]{background:var(--button-bg);color:var(--button-text);border-color:var(--button-bg)}.memory-gallery-filters button:hover:not([aria-pressed=true]){background:var(--wash)}.memory-gallery-status{text-align:center;color:var(--muted);margin-bottom:2.5rem;font-size:.75rem}.memory-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem 1.5rem;display:grid}.memory-gallery-card{min-width:0}.memory-gallery-card figure{aspect-ratio:4/5;border:1px solid var(--line);background:var(--wash);border-radius:120px 120px 8px 8px;overflow:hidden}.memory-gallery-card:nth-child(3n+2) figure{border-radius:8px}.memory-gallery-card img{object-fit:cover;width:100%;height:100%}.memory-gallery-placeholder{height:100%;color:var(--accent);text-align:center;background:#f3eae0;flex-direction:column;justify-content:center;align-items:center;gap:.7rem;padding:1rem;display:flex}.memory-gallery-card:nth-child(3n+2) .memory-gallery-placeholder{background:#eee2d6}.memory-gallery-placeholder .memory-gallery-mark{color:var(--camel);margin-bottom:.5rem;font-size:2.5rem}.memory-gallery-placeholder>span:not([class]){font:italic 1.8rem var(--serif)}.memory-gallery-placeholder small{color:var(--muted);font-size:.7rem}.memory-gallery-caption{padding:1rem .2rem 0}.memory-gallery-caption>span{text-transform:uppercase;letter-spacing:.12em;color:var(--accent);font-size:.65rem}.memory-gallery-caption h2{margin-top:.4rem;font-size:1.6rem;line-height:1.2}.memories-empty-note{text-align:center;border-top:1px solid var(--line);max-width:600px;margin:4rem auto 0;padding-top:3rem}.memories-empty-note>span{color:var(--mocha);font-size:1.8rem}.memories-empty-note h2{margin:1rem 0;font-size:2.3rem;line-height:1.15}.memories-empty-note p{color:var(--muted);font-size:.8rem}.memories-footer{text-align:center;margin:3rem auto 0}.memories-footer p{font:italic 1.3rem var(--serif)}.memories-footer .text-link{margin-top:1rem}@media (width<=900px){.memory-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=500px){.memories-couple{font-size:1rem}.memory-photo-grid{grid-template-columns:1fr;gap:1.8rem}.memory-gallery-card figure{aspect-ratio:4/4.3}.memory-gallery-filters{gap:.4rem}.memory-gallery-filters button{padding-inline:.85rem;font-size:.7rem}}.wedding-assistant{z-index:60;right:1.3rem;bottom:max(1.2rem, env(safe-area-inset-bottom));flex-direction:column;align-items:flex-end;gap:.8rem;display:flex;position:fixed}.wedding-chat-toggle{min-height:50px;color:var(--button-text);background:var(--button-bg);border:1px solid var(--button-bg);border-radius:var(--button-radius);align-items:center;gap:.65rem;padding:.8rem 1.2rem;font-size:.75rem;display:inline-flex;box-shadow:0 6px 24px #36291f26}.wedding-chat-toggle:hover{background:var(--button-hover)}.wedding-chat-panel{border:1px solid var(--line);background:var(--paper);border-radius:16px;flex-direction:column;width:min(380px,100vw - 2.6rem);max-height:min(600px,100dvh - 110px);display:flex;overflow:hidden;box-shadow:0 15px 60px #36291f2e}.wedding-chat-header{background:var(--wash);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.2rem;display:flex}.wedding-chat-header h2{font-size:1.7rem;line-height:1.1}.wedding-chat-header p{color:var(--muted);margin-top:.3rem;font-size:.68rem}.wedding-chat-header button{background:0 0;border:0;border-radius:50%;flex-shrink:0;width:44px;height:44px;padding:0;font-size:1.6rem}.wedding-chat-header button:hover{background:var(--paper)}.wedding-chat-log{overscroll-behavior:contain;flex-direction:column;gap:.75rem;min-height:100px;max-height:330px;padding:1rem;display:flex;overflow-y:auto}.wedding-chat-message{background:var(--wash);border-radius:12px 12px 12px 3px;flex-shrink:0;max-width:95%;padding:.9rem}.wedding-chat-message p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.8rem;line-height:1.65}.wedding-chat-message.user{background:var(--button-bg);color:var(--button-text);border-radius:12px 12px 3px;align-self:flex-end}.wedding-chat-message a{text-underline-offset:3px;min-height:40px;color:var(--accent);align-items:center;margin-top:.4rem;font-size:.74rem;text-decoration:underline;display:inline-flex}.wedding-chat-prompts{border-top:1px solid var(--line);flex-shrink:0;padding:.7rem 1rem .8rem}.wedding-chat-prompts>p{color:var(--muted);margin-bottom:.5rem;font-size:.68rem}.wedding-chat-suggestions{overscroll-behavior-x:contain;gap:.4rem;padding-bottom:.4rem;display:flex;overflow-x:auto}.wedding-chat-suggestions button{border:1px solid var(--line);text-align:left;white-space:nowrap;background:#fff;border-radius:999px;flex-shrink:0;min-height:40px;padding:.6rem .75rem;font-size:.7rem}.wedding-chat-suggestions button:hover{border-color:var(--camel)}.wedding-chat-form{border-top:1px solid var(--line);flex-shrink:0;padding:.9rem 1rem}.wedding-chat-form label{margin-bottom:.5rem;font-size:.7rem;display:block}.wedding-chat-form>div{gap:.5rem;display:flex}.wedding-chat-form input{background:#fff;border:1px solid #beac9c;border-radius:8px;width:100%;min-width:0;min-height:46px;padding:.7rem .8rem;font-size:1rem}.wedding-chat-form button{background:var(--button-bg);width:46px;color:var(--button-text);border:0;border-radius:50%;flex-shrink:0;font-size:1.3rem}.wedding-chat-form small{color:var(--muted);margin-top:.6rem;font-size:.64rem;line-height:1.4;display:block}@media (width<=500px){.wedding-assistant{right:1rem}.wedding-chat-panel{width:calc(100vw - 2rem)}.wedding-chat-toggle{padding-inline:1rem}}:root{--champagne:#fee9ce;--beige:#dabea6;--camel:#c49f82;--cinnamon:#af826b;--mocha:#92654e;--paper:#fbf8f4;--white:#fff;--ink:#36291f;--muted:#756255;--accent:#79513c;--button-bg:#292725;--button-hover:#1c1a18;--button-text:#fff;--line:#e5d8cb;--wash:#f3eae0;--serif:"Cormorant Garamond", Georgia, serif;--sans:"Inter", Arial, sans-serif;--radius:12px;--button-radius:999px;--shadow:0 12px 40px #36291f0d;--section-space:clamp(4.5rem, 8vw, 8rem);--page-gutter:clamp(1.25rem, 5vw, 5rem);--theme-bg:var(--paper);--theme-text:var(--ink);--theme-muted:var(--muted);--theme-accent:var(--accent);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--sans);color:var(--ink);background:var(--paper);font-synthesis:none}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{-webkit-font-smoothing:antialiased;min-width:320px;margin:0}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}h1,h2,h3,p,figure,blockquote,dl,dd{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500}h1,h2{text-wrap:balance}p{line-height:1.75}p,h1,h2,h3,a,dd{overflow-wrap:break-word}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}::selection{background:var(--champagne);color:var(--ink)}.primary-link,.venue-card a,.hashtag-copy-button,.rsvp-submit{border:1px solid var(--button-bg);border-radius:var(--button-radius);background:var(--button-bg);min-height:50px;color:var(--button-text);font:500 .8rem/1.4 var(--sans);justify-content:center;align-items:center;gap:1rem;padding:.9rem 1.5rem;transition:background .18s,transform .18s;display:inline-flex}.primary-link:hover,.venue-card a:hover,.hashtag-copy-button:hover,.rsvp-submit:hover:not(:disabled){background:var(--button-hover);transform:translateY(-2px)}.text-link{border-bottom:1px solid var(--camel);align-items:center;min-height:44px;padding:.5rem 0;font-size:.8rem;font-weight:500;display:inline-flex}.text-link:hover{color:var(--accent);border-color:var(--accent)}.hero-actions{flex-wrap:wrap;align-items:center;gap:1.5rem;display:flex}.eyebrow,.section-eyebrow,.mini-label,.card-label{font:500 .7rem/1.5 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}.sr-only,.hashtag-copy-status{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:200;background:var(--ink);color:#fff;padding:1rem;position:fixed;top:1rem;left:1rem;transform:translateY(-160%)}.skip-link:focus{transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.landing-page{background:var(--paper);grid-template-columns:1fr 1fr;min-height:100svh;display:grid}.landing-photo{background:var(--beige);min-height:650px;position:relative}.landing-photo img{object-fit:cover;object-position:center 55%;width:100%;height:100%;position:absolute}.landing-photo-caption{color:#fff;font:italic 1.2rem var(--serif);background:#36291fbf;padding:.7rem 1rem;position:absolute;bottom:2rem;left:2rem}.hero-content{text-align:center;align-self:center;padding:clamp(2.5rem,6vw,6rem) clamp(1.5rem,4vw,4rem)}.hero-content .eyebrow{margin-bottom:3rem}.name-group{letter-spacing:-.04em;flex-direction:column;font-size:clamp(3rem,5.5vw,6rem);line-height:1.05;display:flex}.name-group em{color:var(--mocha);letter-spacing:0;margin:.6rem 0;font-size:.35em;font-weight:400}.subtitle{max-width:280px;color:var(--muted);margin:2rem auto;font-size:.9rem}.landing-date{font-family:var(--serif);font-size:1.5rem}.landing-date span{font:.75rem var(--sans);color:var(--muted);margin-top:.4rem;display:block}.hero-content .hero-actions{justify-content:center;margin-top:2.5rem}.landing-footnote{color:var(--muted);margin-top:3rem;font-size:.72rem}@media (width<=767px){.landing-page{grid-template-columns:1fr}.landing-photo{height:48svh;min-height:0;max-height:480px}.landing-photo img{object-position:center 55%}.landing-photo-caption{font-size:1rem;bottom:1rem;left:1rem}.hero-content{padding:2.5rem 1.5rem 3rem}.hero-content .eyebrow{margin-bottom:1.5rem}.name-group{font-size:clamp(3rem,12vw,4.8rem)}.subtitle{margin:1.5rem auto}.hero-content .hero-actions{margin-top:1.8rem}.landing-footnote{margin-top:2rem}}
