.wedding-public{--public-frame:color-mix(in oklch, var(--gold) 32%, var(--border));--public-paper:var(--surface-raised,var(--surface))}.wedding-public .eyebrow{letter-spacing:.19em;font-size:.6875rem;line-height:1.6}.wedding-public .public-header{border-bottom:1px solid var(--public-frame);box-shadow:0 3px 18px color-mix(in oklch, var(--ink) 4%, transparent)}.wedding-public .public-monogram{white-space:nowrap;border:1px solid var(--public-frame);border-radius:50%;flex:none;justify-content:center;align-items:center;width:fit-content;min-width:3.25rem;min-height:3.25rem;padding:.1rem .45rem;font-size:1.5rem;line-height:1}.wedding-public .public-desktop-nav a{letter-spacing:.015em;font-size:.75rem}.wedding-public .public-header-rsvp{box-shadow:inset 0 0 0 1px color-mix(in oklch, var(--primary-foreground) 16%, transparent)}.wedding-public #public-mobile-menu{background:var(--public-paper);box-shadow:var(--shadow-panel);padding-top:.5rem;padding-bottom:1rem}.wedding-public #public-mobile-menu a{font-family:var(--font-display);align-items:center;padding-inline:.75rem;font-size:1.25rem;display:flex}.wedding-public #public-mobile-menu a:hover{background:var(--blush-soft)}.wedding-public .hero-stationery{background:linear-gradient(135deg, var(--bg), var(--surface-tint,var(--blush-soft)));padding-block:3rem}.wedding-public .hero-stationery:after{border:1px solid var(--public-frame);content:"";pointer-events:none;position:absolute;inset:1rem}.wedding-public .hero-invitation{padding-inline:.375rem}.wedding-public .hero-names{letter-spacing:-.025em;margin-top:1.25rem}.wedding-public .hero-names>span:not(.font-script){font-size:clamp(2.75rem,7.6vw,3.7rem)}.wedding-public .hero-names>.font-script{margin-block:.125rem;font-size:2.75rem}.wedding-public .hero-subtitle{margin-top:1rem;font-size:1.375rem;line-height:1.25}.wedding-public .home-info{padding-block:.625rem}.wedding-public .public-info-item>div>p:first-child{letter-spacing:.08em;font-size:.75rem;line-height:1.5}.wedding-public .public-info-item>div>p:last-child{margin-top:.375rem;font-size:1rem;line-height:1.2}.wedding-public .home-features{padding-block:2.5rem}.wedding-public .public-feature-card{border:1px solid var(--border);background:var(--public-paper);border-radius:.25rem;padding:.5rem .5rem 1.25rem}.wedding-public .public-feature-card>div{border-radius:.125rem}.wedding-public .public-feature-card>svg{width:2rem;height:2rem;margin-top:1rem}.wedding-public .public-feature-card h2{letter-spacing:.025em;padding-inline:.25rem;font-size:1.1875rem;line-height:1.15}.wedding-public .public-feature-card p{margin-top:.5rem;padding-inline:.375rem;font-size:.8125rem;line-height:1.65}.wedding-public .home-story{height:auto;padding-block:2rem 3.5rem}.wedding-public .public-story-copy h2,.wedding-public .public-section-intro h2,.wedding-public .public-location-copy h2{letter-spacing:-.025em;text-wrap:balance;font-size:clamp(2.375rem,4.1vw,3.75rem);line-height:.98}.wedding-public .public-story-copy>p:last-child,.wedding-public .public-section-intro>p:last-child:not(.eyebrow){line-height:1.8}.wedding-public .home-values{border-block:1px solid var(--public-frame);background:var(--surface-tint,var(--blush-soft));height:auto;padding-block:1.75rem}.wedding-public .home-values p:first-of-type{letter-spacing:.025em;font-size:1.0625rem}.wedding-public .home-values p:last-child{margin-top:.375rem;font-size:.8125rem;line-height:1.6}.wedding-public .public-location-copy{background:var(--public-paper);padding-block:3rem;position:relative}.wedding-public .public-location-copy:before{border:1px solid var(--public-frame);content:"";pointer-events:none;position:absolute;inset:1rem}.wedding-public .home-location figcaption{letter-spacing:.08em;padding-block:.5rem;font-size:.8125rem;line-height:1.5}.wedding-public #programme,.wedding-public #dress-code,.wedding-public #practical,.wedding-public #faq{padding-block:clamp(3.5rem,6.25vw,6rem)}.wedding-public #programme{background:var(--bg)}.wedding-public #programme[data-empty=true]{padding-block:clamp(2rem,4vw,3rem)}.wedding-public #programme[data-empty=true]>div{row-gap:1.5rem}.wedding-public .public-programme-card{border:1px solid var(--public-frame);background:var(--public-paper);box-shadow:var(--shadow-soft);padding:clamp(1.5rem,3vw,2.5rem)}.wedding-public #programme[data-empty=true] .public-programme-card{box-shadow:none;padding:1rem 1.25rem}.wedding-public .public-programme-timezone,.wedding-public .public-map-note{font-size:.8125rem;line-height:1.6}.wedding-public .public-schedule>li{border-bottom:1px solid var(--border);padding-bottom:1.25rem;position:relative}.wedding-public .public-schedule>li:last-child{border-bottom:0;padding-bottom:0}.wedding-public .public-schedule>li>svg{box-sizing:content-box;border:1px solid var(--public-frame);background:var(--bg);border-radius:50%;margin-top:0;padding:.625rem}.wedding-public .public-schedule p.font-display{font-size:1.5rem;line-height:1.15}.wedding-public .public-schedule time{margin-top:.375rem;font-size:.8125rem;display:block}.wedding-public .public-countdown{border-top:1px solid var(--public-frame);margin-top:1.75rem;padding-top:1.5rem}.wedding-public .public-countdown p:first-child{color:var(--gold-deep);font-size:clamp(2rem,3.5vw,3rem);line-height:1}.wedding-public .public-countdown p:last-child{letter-spacing:.07em;margin-top:.625rem;font-size:.75rem}.wedding-public #gallery{background:var(--public-paper);padding-block:clamp(3rem,5vw,5rem)}.wedding-public .public-gallery-heading{margin-bottom:2rem}.wedding-public .public-gallery-heading h2{letter-spacing:-.025em;font-size:clamp(2.75rem,5vw,4.5rem);line-height:.95}.wedding-public .public-gallery-frame{outline:1px solid var(--public-frame);outline-offset:.5rem;box-shadow:var(--shadow-panel);border-radius:.125rem}.wedding-public .public-gallery-frame:focus-visible{outline:2px solid var(--foreground);outline-offset:.5rem}.wedding-public .public-gallery-caption{color:var(--gold-deep);margin-top:1.5rem}.wedding-public .public-gallery-state{border:1px solid var(--public-frame);background:var(--bg);color:var(--muted-foreground);border-radius:.125rem}.wedding-public #dress-code{border-block:1px solid var(--public-frame);background:var(--surface-tint,var(--blush-soft))}.wedding-public .public-dress-palette{border-top:1px solid var(--public-frame);gap:1rem 1.25rem;padding-top:1.5rem}.wedding-public .public-dress-palette>div{gap:.625rem;font-size:.875rem;line-height:1.4}.wedding-public .public-dress-palette span[aria-hidden]{outline:1px solid var(--public-frame);outline-offset:3px;flex-shrink:0;width:2.5rem;height:2.5rem}.wedding-public .public-photo-mount{border:1px solid var(--public-frame);background:var(--public-paper);box-shadow:var(--shadow-soft);border-radius:.125rem;padding:.5rem}.wedding-public .public-dress-references figcaption{border-left:2px solid var(--champagne);margin-top:1.25rem;padding-left:.875rem;font-size:.8125rem;line-height:1.65}.wedding-public .public-practical-grid{border:0;gap:1rem}.wedding-public .public-practical-grid article{border:1px solid var(--border);background:var(--public-paper);border-radius:.25rem;padding:clamp(1.25rem,2.2vw,2rem)}.wedding-public .public-practical-grid article>svg{box-sizing:content-box;background:var(--blush-soft);border-radius:50%;padding:.625rem}.wedding-public .public-practical-grid article>div{min-width:0}.wedding-public .public-practical-grid h3{font-size:1.625rem;line-height:1.15}.wedding-public .public-practical-grid p{margin-top:.625rem;line-height:1.8}.wedding-public #gifts{border-top:1px solid var(--public-frame);background:var(--surface-tint,var(--blush-soft))}.wedding-public .public-gift-bank{border:1px solid var(--public-frame);background:var(--surface-raised,var(--surface));border-radius:.375rem;padding:1.25rem}.wedding-public .public-gift-bank h3{font-family:var(--font-display);margin-bottom:1.25rem;font-size:1.625rem;font-weight:400;line-height:1.15}.wedding-public .gift-bank-row+.gift-bank-row{border-top:1px solid var(--border);padding-top:1rem}.gift-bank-details .gift-bank-value{flex-wrap:wrap;align-items:start;gap:.5rem .75rem;margin-top:.375rem;display:flex}.gift-bank-details .gift-bank-value>span{flex:10rem;line-height:1.7}.gift-bank-details .gift-bank-copy{min-height:2.75rem;padding-inline:.75rem}.gift-bank-details .gift-copy-status{overflow-wrap:anywhere;min-height:1.5rem;line-height:1.6}.wedding-public #public-gifts-actions{border-top:1px solid var(--public-frame);padding-top:1.5rem}.wedding-public .public-rsvp-band{padding-block:clamp(3.5rem,6vw,5.5rem);position:relative}.wedding-public .public-rsvp-band:before{border:1px solid color-mix(in oklch, var(--primary-foreground) 30%, transparent);content:"";pointer-events:none;position:absolute;inset:1rem}.wedding-public .public-rsvp-band>div>p:first-child{letter-spacing:.17em}.wedding-public .public-rsvp-band h2{letter-spacing:-.025em;text-wrap:balance;font-size:clamp(2.75rem,4.5vw,4rem)}.wedding-public .public-rsvp-band a{letter-spacing:.12em;box-shadow:0 5px 16px color-mix(in oklch, var(--ink) 12%, transparent)}.wedding-public .public-faq-list{border-top:0}.wedding-public .public-faq-list>div{border:1px solid var(--border);background:var(--public-paper);border-radius:.25rem;margin-bottom:.75rem;padding-inline:clamp(1rem,2vw,1.5rem)}.wedding-public .public-faq-list>div[data-state=open]{border-color:var(--public-frame);background:var(--surface-tint,var(--blush-soft))}.wedding-public .public-faq-list h3 button{min-height:4rem;font-size:1.25rem;line-height:1.35}.wedding-public #contact{border-top-color:var(--public-frame);padding-block:clamp(3.5rem,6vw,5.5rem);position:relative}.wedding-public #contact[data-empty=true]{padding-block:clamp(2rem,4vw,3rem)}.wedding-public #contact>div>svg{box-sizing:content-box;border:1px solid var(--public-frame);border-radius:50%;margin-bottom:1rem;padding:1rem}.wedding-public #contact[data-empty=true]>div>svg{margin-bottom:.75rem;padding:.75rem}.wedding-public .home-quote{border-block:1px solid var(--public-frame);height:auto;min-height:12.5rem}.wedding-public .home-quote blockquote{font-size:clamp(1.75rem,2.4vw,2.25rem);line-height:1.25}.wedding-public .public-footer{background:var(--public-paper);border-top:0}.wedding-public .public-footer-inner{gap:1.5rem;padding-block:2.25rem}.wedding-public .public-footer-brand .public-monogram{width:4rem;height:4rem;font-size:1.625rem;display:flex}.wedding-public .public-footer-brand-copy{overflow-wrap:anywhere}.wedding-public .public-footer-brand-copy p,.wedding-public .public-footer-legal a{font-size:.8125rem;line-height:1.5}.wedding-public .public-footer-brand-copy p:first-child{letter-spacing:.08em}.wedding-public .public-footer nav{border-block:1px solid var(--border);column-gap:1.25rem;padding-block:.75rem;font-size:.875rem;line-height:1.5}.wedding-public .public-legal-document{border:1px solid var(--public-frame);background:var(--public-paper);max-width:52rem;box-shadow:var(--shadow-soft);margin-block:6.5rem 3rem;padding:clamp(1.5rem,4vw,3.5rem)}.wedding-public .public-legal-heading{border-bottom:1px solid var(--public-frame);padding-bottom:1.5rem}.wedding-public .public-legal-heading h1{letter-spacing:-.025em;font-size:clamp(2.5rem,5vw,3.5rem);line-height:1.05}.wedding-public .public-legal-heading a{color:var(--primary);text-underline-offset:.25rem}.wedding-public .public-legal-document>section+section{border-top:1px solid var(--border);padding-top:1.5rem}.wedding-public .public-legal-document h2{font-size:1.75rem;line-height:1.2}.wedding-lightbox{border-color:var(--border-strong,var(--border));background:var(--bg);box-shadow:var(--shadow-panel);border-radius:.375rem}.wedding-lightbox>div:first-of-type{background:var(--surface-tint,var(--blush-soft))}.wedding-gift-dialog{border-color:var(--border-strong,var(--border));background:var(--surface-raised,var(--surface));box-shadow:var(--shadow-panel);gap:1.5rem}.wedding-gift-dialog h2{font-family:var(--font-display);padding-right:1.25rem;font-size:2rem;font-weight:400;line-height:1.1}.wedding-gift-dialog dl{border:1px solid var(--border);background:var(--bg);border-radius:.25rem;padding:1.25rem}.wedding-gift-dialog dl>div+div{border-top:1px solid var(--border);padding-top:1rem}.wedding-gift-dialog dt{letter-spacing:.04em}.wedding-gift-dialog dd{margin-top:.375rem;line-height:1.7}@media (width>=64rem){.wedding-public .hero-stationery{padding:1.75rem 2.5rem}.wedding-public .hero-stationery:after{inset:1.25rem}.wedding-public .hero-names>span:not(.font-script){font-size:clamp(2.8rem,4.6vw,4.2rem)}.wedding-public .hero-names>.font-script{font-size:clamp(2.5rem,3.5vw,3.25rem)}.wedding-public .home-features{padding-block:3rem}.wedding-public .public-feature-card{padding:.625rem .625rem 1.5rem}.wedding-public .public-feature-card h2{font-size:1.4375rem}.wedding-public .home-story{min-height:26.25rem;padding-block:1.5rem 4.5rem}.wedding-public .home-values{min-height:10rem}.wedding-public .home-location{min-height:23rem}.wedding-public .public-location-copy{padding:3rem}.wedding-public .public-footer-inner{grid-template-columns:minmax(0,1fr) minmax(0,1.7fr) minmax(0,1fr);gap:2rem}.wedding-public .public-footer nav{border-block:0}}@media (width>=64rem) and (width<=79.999rem){.wedding-public .hero-names{margin-top:.75rem}.wedding-public .hero-names>span:not(.font-script){font-size:clamp(2.65rem,4.2vw,3.25rem)}.wedding-public .hero-subtitle{margin-top:.75rem;font-size:1.25rem}.wedding-public .hero-invitation>p:last-of-type{margin-top:.75rem}.wedding-public .hero-invitation>a{margin-top:1rem}}@media (width<=39.999rem){.wedding-public .public-monogram{min-width:2.75rem;min-height:2.75rem;font-size:1.3rem}.wedding-public .public-info-item{flex-direction:column;justify-content:flex-start;gap:.5rem}.wedding-public .public-info-item>div{text-align:center}.wedding-public .public-info-item>div>p:last-child{font-size:.9375rem}.wedding-public .home-features{padding-block:1.75rem}.wedding-public .public-feature-grid{row-gap:1rem}.wedding-public .public-feature-card{padding-bottom:.875rem}.wedding-public .public-feature-card>svg{width:1.75rem;height:1.75rem;margin-top:.75rem}.wedding-public .public-feature-card p{line-height:1.55}.wedding-public .home-story{padding-block:1.5rem 2.5rem}.wedding-public .home-values{padding-block:1.25rem}.wedding-public .home-values>div{row-gap:.75rem}.wedding-public .home-values>div>div{min-height:5rem}.wedding-public .public-schedule>li{gap:.75rem}.wedding-public .public-schedule>li>svg{padding:.375rem}.wedding-public #dress-code{padding-block:3rem}.wedding-public .public-dress-palette{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:.75rem;margin-top:1.25rem;padding-top:1rem;display:grid}.wedding-public .public-dress-palette>div{text-align:center;flex-direction:column}.wedding-public #practical,.wedding-public #faq{padding-block:2.5rem}.wedding-public .public-practical-grid{gap:.75rem;margin-top:1.5rem}.wedding-public .public-practical-grid article{gap:.875rem;padding:1rem}.wedding-public .public-practical-grid article>svg{width:1.375rem;height:1.375rem;padding:.5rem}.wedding-public .public-practical-grid p{margin-top:.5rem;line-height:1.65}.wedding-public .public-faq-list>div{margin-bottom:.5rem}.wedding-public .public-faq-list h3 button{min-height:3.5rem}.wedding-public .public-footer-brand{justify-content:center}.wedding-public .public-legal-document{width:calc(100% - 2rem);margin-block:5.5rem 2rem}}
