.wedding-theme-estate{--estate-page-max:1180px;--estate-section-max:1040px;--estate-serif:var(--font-serif);--estate-sans:var(--font-sans);background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--accent-soft) 24%, transparent), transparent), var(--background);color:var(--foreground);font-family:var(--estate-sans)}.wedding-theme-estate .wedding-nav{background:color-mix(in srgb, var(--surface) 92%, transparent);border-bottom:3px double color-mix(in srgb, var(--border) 86%, var(--accent) 14%);padding:18px 24px 0;display:block}.wedding-theme-estate .wedding-nav__inner{min-height:80px;width:min(var(--estate-page-max), 100%);grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;margin:0 auto;display:grid}.wedding-theme-estate .wedding-nav__brand{color:var(--foreground);font-family:var(--estate-serif);letter-spacing:.02em;text-align:center;white-space:nowrap;grid-column:2;font-size:clamp(1.4rem,2.2vw,2rem);font-weight:500;line-height:1;position:relative}.wedding-theme-estate .wedding-nav__brand:before,.wedding-theme-estate .wedding-nav__brand:after{background:var(--accent);content:"";width:clamp(32px,6vw,72px);height:1px;position:absolute;top:50%}.wedding-theme-estate .wedding-nav__brand:before{right:calc(100% + 18px)}.wedding-theme-estate .wedding-nav__brand:after{left:calc(100% + 18px)}.wedding-theme-estate .wedding-nav__links{grid-column:1/-1;justify-content:center;gap:8px clamp(18px,3vw,34px);padding-bottom:18px}.wedding-theme-estate .wedding-nav__links a{color:var(--muted);font-family:var(--estate-sans);letter-spacing:.18em;text-transform:uppercase;padding:8px 0;font-size:.7rem;font-weight:500;position:relative}.wedding-theme-estate .wedding-nav__links a:after{background:var(--accent-strong);content:"";opacity:0;width:100%;height:1px;transition:opacity .16s,transform .16s;position:absolute;bottom:0;left:50%;transform:translate(-50%)scaleX(.45)}.wedding-theme-estate .wedding-nav__links a:hover,.wedding-theme-estate .wedding-nav__links a:focus-visible,.wedding-theme-estate .wedding-nav__links a[aria-current=page]{color:var(--accent-strong)}.wedding-theme-estate .wedding-nav__links a:hover:after,.wedding-theme-estate .wedding-nav__links a:focus-visible:after,.wedding-theme-estate .wedding-nav__links a[aria-current=page]:after{opacity:1;transform:translate(-50%)scaleX(1)}.wedding-theme-estate .wedding-hero{text-align:center;background-position:50%;place-items:center;min-height:min(82vh,780px);padding:clamp(92px,10vw,146px) 24px;display:grid}.wedding-theme-estate .wedding-hero__overlay{background:linear-gradient(#261c1752,#261c1794),radial-gradient(circle,#261c1738,#261c17b8)}.wedding-theme-estate .wedding-hero__content{color:#fffaf2;border:3px double #fffaf294;justify-items:center;width:min(900px,100%);max-width:900px;margin:0 auto;padding:clamp(34px,6vw,74px);display:grid}.wedding-theme-estate .wedding-hero .wedding-monogram--crest{color:#fffaf2;background:#261c1738;border-color:#fffaf2b8;margin-bottom:22px}.wedding-theme-estate .wedding-hero .wedding-monogram--crest:before{border-color:#fffaf26b}.wedding-theme-estate .section-kicker{color:var(--accent-strong);font-family:var(--estate-sans);letter-spacing:.2em;text-transform:uppercase;margin:0 0 14px;font-size:.7rem;font-weight:500;line-height:1.5}.wedding-theme-estate .wedding-hero .section-kicker{color:color-mix(in srgb, var(--accent-soft) 80%, white 20%)}.wedding-theme-estate .wedding-hero h1,.wedding-theme-estate .wedding-section h2,.wedding-theme-estate .wedding-countdown h2{font-family:var(--estate-serif);letter-spacing:0;font-weight:500}.wedding-theme-estate .wedding-hero h1{max-width:9ch;font-size:clamp(4rem,10vw,8.4rem);line-height:.9}.wedding-theme-estate .wedding-hero p:not(.section-kicker){color:color-mix(in srgb, #fffaf2 82%, var(--accent-soft) 18%);max-width:48ch;margin:22px auto 0;font-size:clamp(1rem,1.4vw,1.18rem);line-height:1.85}.wedding-theme-estate .wedding-hero__meta{justify-content:center;margin-top:30px}.wedding-theme-estate .wedding-hero__meta span{color:#fffaf2;font-family:var(--estate-sans);letter-spacing:.16em;text-transform:uppercase;border:1px solid #fffaf285;border-radius:0;padding:10px 14px;font-size:.7rem}.wedding-theme-estate .wedding-section{width:min(var(--estate-section-max), 100%);padding:clamp(76px,8vw,118px) 24px;position:relative}.wedding-theme-estate .wedding-section-separator{width:min(100%, var(--estate-section-max))}.wedding-theme-estate .wedding-section-separator:before,.wedding-theme-estate .wedding-section-separator:after{background:var(--border)}.wedding-theme-estate .wedding-section-separator__mark{color:var(--accent-strong);font-family:var(--estate-serif)}.wedding-theme-estate[data-monogram=stacked] .wedding-section-separator__mark{font-family:var(--estate-serif);letter-spacing:0;gap:.28rem;font-size:.9rem;display:inline-grid}.wedding-theme-estate[data-monogram=stacked] .monogram__symbol{color:var(--accent);margin:.12rem 0;font-size:.82rem}.wedding-theme-estate[data-monogram=crest] .wedding-hero .wedding-monogram{width:3.5rem;min-height:4rem;position:absolute;top:2rem;left:2rem}.wedding-theme-estate .wedding-section--soft{background:linear-gradient(180deg, color-mix(in srgb, var(--accent-soft) 44%, transparent), transparent 55%), var(--surface-soft);border-block:3px double color-mix(in srgb, var(--border) 78%, var(--accent) 22%);width:100%}.wedding-theme-estate .wedding-section--soft>*{width:min(var(--estate-section-max), 100%)}.wedding-theme-estate .wedding-section__header{text-align:center;max-width:760px;margin:0 auto clamp(34px,5vw,56px)}.wedding-theme-estate .wedding-section__header:after{background:var(--accent);content:"";width:72px;height:1px;margin:24px auto 0;display:block}.wedding-theme-estate .wedding-section h2,.wedding-theme-estate .wedding-countdown h2{color:var(--foreground);font-size:clamp(3rem,6.8vw,5.8rem);line-height:.92}.wedding-theme-estate .wedding-section h3{color:var(--foreground);font-family:var(--estate-serif);margin:0 0 12px;font-size:clamp(1.45rem,2.3vw,2rem);font-weight:500;line-height:1.05}.wedding-theme-estate .wedding-section p,.wedding-theme-estate .wedding-section li{color:var(--muted);font-family:var(--estate-sans);font-size:1rem;line-height:1.82}.wedding-theme-estate .wedding-section__header>p:not(.section-kicker){max-width:52ch;margin-left:auto;margin-right:auto}.wedding-theme-estate .wedding-countdown{border-block:3px double color-mix(in srgb, var(--border) 80%, var(--accent) 20%);width:min(900px,100% - 48px);margin-block:clamp(28px,5vw,64px)}.wedding-theme-estate .wedding-countdown h2{color:var(--accent-strong)}.wedding-theme-estate .story-timeline,.wedding-theme-estate .schedule-list,.wedding-theme-estate .travel-grid,.wedding-theme-estate .faq-list{gap:18px}.wedding-theme-estate .story-timeline{grid-template-columns:repeat(2,minmax(0,1fr))}.wedding-theme-estate .story-timeline__item,.wedding-theme-estate .schedule-item,.wedding-theme-estate .travel-grid article,.wedding-theme-estate .faq-list details{background:color-mix(in srgb, var(--surface) 86%, transparent);border:3px double color-mix(in srgb, var(--border) 80%, var(--accent) 20%);border-radius:0;padding:clamp(24px,4vw,38px)}.wedding-theme-estate .story-timeline time,.wedding-theme-estate .schedule-item time,.wedding-theme-estate .schedule-item strong{color:var(--accent-strong);font-family:var(--estate-sans);letter-spacing:.16em;text-transform:uppercase;margin-bottom:12px;font-size:.7rem;font-weight:500;line-height:1.5;display:block}.wedding-theme-estate .gallery-carousel{grid-template-columns:1fr 1.16fr 1fr;align-items:center;gap:clamp(18px,3vw,34px);max-width:1040px;margin:0 auto;padding:6px;display:grid;overflow:hidden}.wedding-theme-estate .gallery-carousel__item{min-width:0;margin:0}.wedding-theme-estate .gallery-carousel__item.is-prev{grid-column:1}.wedding-theme-estate .gallery-carousel__item.is-active{grid-column:2}.wedding-theme-estate .gallery-carousel__item.is-next{grid-column:3}.wedding-theme-estate .gallery-carousel__item.is-hidden{display:none}.wedding-theme-estate .gallery-carousel__item img{border:3px double color-mix(in srgb, var(--border) 74%, var(--accent) 26%);width:100%;padding:8px}.wedding-theme-estate .gallery-carousel__item figcaption{color:var(--muted);font-family:var(--estate-sans);text-align:center;margin-top:12px}.wedding-theme-estate .palette-row{justify-content:center;gap:14px}.wedding-theme-estate .palette-row span{border:3px double var(--border);border-radius:0;width:54px;height:54px}.wedding-theme-estate .dress-code-images{grid-template-columns:repeat(auto-fit,minmax(135px,190px));max-width:min(880px,100%)}.wedding-theme-estate .dress-code-images img{border:3px double color-mix(in srgb, var(--border) 74%, var(--accent) 26%);padding:6px}.wedding-theme-estate .dress-code-images figcaption{font-family:var(--estate-sans);font-size:.78rem}.wedding-theme-estate .schedule-list{border-top:3px double color-mix(in srgb, var(--border) 80%, var(--accent) 20%)}.wedding-theme-estate .schedule-item{border-inline:0;border-top:0;grid-template-columns:minmax(130px,210px) minmax(0,1fr);display:grid}.wedding-theme-estate .travel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wedding-theme-estate .travel-grid a,.wedding-theme-estate .registry-card__link,.wedding-theme-estate .button{color:var(--accent-strong);font-family:var(--estate-sans);letter-spacing:.16em;text-transform:uppercase;font-size:.72rem;font-weight:500}.wedding-theme-estate .button{background:var(--accent-strong);border:1px solid var(--accent-strong);color:var(--surface);border-radius:0;min-height:48px;padding:0 22px}.wedding-theme-estate .button.secondary{color:var(--accent-strong);background:0 0}.wedding-theme-estate .button:hover,.wedding-theme-estate .button:focus-visible{background:var(--foreground);border-color:var(--foreground);color:var(--surface)}.wedding-theme-estate .registry-list{grid-template-columns:repeat(auto-fit,minmax(250px,310px));width:min(1040px,100%);margin-top:clamp(34px,5vw,58px)}.wedding-theme-estate .registry-card{border:3px double color-mix(in srgb, var(--border) 82%, var(--accent) 18%);text-align:center;border-radius:0;justify-items:center;min-height:210px;padding:clamp(26px,4vw,42px)}.wedding-theme-estate .registry-card p{max-width:30ch}.wedding-theme-estate .rsvp-form{border:3px double color-mix(in srgb, var(--border) 82%, var(--accent) 18%);max-width:680px;margin:0 auto;padding:clamp(24px,4vw,42px)}.wedding-theme-estate .rsvp-form__field>span{color:var(--accent-strong);font-family:var(--estate-sans);letter-spacing:.16em;text-transform:uppercase;font-size:.7rem;font-weight:500}.wedding-theme-estate .rsvp-form__field>input,.wedding-theme-estate .rsvp-form select,.wedding-theme-estate .rsvp-form textarea{background:var(--surface);border:1px solid var(--border);color:var(--foreground);border-radius:0}.wedding-theme-estate .rsvp-form__field>input,.wedding-theme-estate .rsvp-form textarea{padding:12px 16px}.wedding-theme-estate .rsvp-choice input{accent-color:var(--accent-strong)}.wedding-theme-estate .rsvp-invite-summary,.wedding-theme-estate .rsvp-form__status{border:3px double color-mix(in srgb, var(--border) 82%, var(--accent) 18%);border-radius:0}.wedding-theme-estate .faq-list{width:min(820px,100%);margin:0 auto}.wedding-theme-estate .faq-list summary{color:var(--foreground);font-family:var(--estate-serif);font-size:clamp(1.35rem,2.2vw,1.8rem);font-weight:500}@media (max-width:860px){.wedding-theme-estate .wedding-nav{padding:0 18px}.wedding-theme-estate .wedding-nav__inner{flex-direction:column;align-items:flex-start;gap:10px;width:100%;min-width:0;max-width:100%;padding:16px 0;overflow-x:hidden}.wedding-theme-estate .wedding-nav__brand:before,.wedding-theme-estate .wedding-nav__brand:after{display:none}.wedding-theme-estate .wedding-nav__links{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;justify-content:flex-start;gap:0;width:100%;min-width:0;max-width:100%;display:flex;overflow-x:auto}.wedding-theme-estate .wedding-nav__links::-webkit-scrollbar{display:none}.wedding-theme-estate .wedding-nav__links a{border-top:1px solid color-mix(in srgb, var(--border) 72%, transparent);text-align:center;white-space:nowrap;flex:none;min-height:40px;padding:12px 22px 12px 0}.wedding-theme-estate .wedding-hero{min-height:74vh;padding:72px 18px}.wedding-theme-estate .wedding-hero__content{padding:26px 18px}.wedding-theme-estate .wedding-hero h1{font-size:clamp(3.35rem,17vw,5.6rem)}.wedding-theme-estate .wedding-hero__meta{display:grid}.wedding-theme-estate .wedding-section{padding:66px 18px}.wedding-theme-estate .wedding-section h2,.wedding-theme-estate .wedding-countdown h2{font-size:clamp(2.75rem,15vw,4.5rem)}.wedding-theme-estate .story-timeline,.wedding-theme-estate .schedule-item,.wedding-theme-estate .travel-grid{grid-template-columns:1fr}.wedding-theme-estate .gallery-carousel{grid-template-columns:1fr;max-width:560px}.wedding-theme-estate .gallery-carousel__item.is-active{grid-column:1}.wedding-theme-estate .gallery-carousel__item.is-prev,.wedding-theme-estate .gallery-carousel__item.is-next{display:none}}@media (max-width:560px){.wedding-theme-estate .wedding-nav__links{grid-template-columns:1fr}}
