.wedding-site{--wed-bg:#faf8f4;--wed-surface:#e8e1d9;--wed-text:#2f2f2f;--wed-accent:#596545;--wed-line:#d6c3b4;--wed-muted:#635c54;background:var(--wed-bg);color:var(--wed-text);font-family:var(--font-ui),sans-serif;overflow:clip;font-size:16px;line-height:1.75}.wedding-site.wedding-accent-rose{--wed-accent:#7d454a}.wedding-site.wedding-accent-gold{--wed-accent:#75602d}.wedding-site.wedding-tone-sand{--wed-bg:#e8e1d9;--wed-surface:#faf8f4}.wedding-site h1,.wedding-site h2,.wedding-site h3{font-family:var(--font-display),serif;font-weight:400;letter-spacing:-.045em;color:var(--wed-text);line-height:1.08}.wedding-site.wedding-type-modern h1,.wedding-site.wedding-type-modern h2,.wedding-site.wedding-type-modern h3{font-family:var(--font-ui),sans-serif;letter-spacing:-.05em}.wedding-site h2{font-size:clamp(2.5rem,5.8vw,5.5rem);max-width:15ch;margin:0 auto 2rem}.wedding-site h3{font-size:2rem;letter-spacing:-.03em}.wedding-site p{overflow-wrap:anywhere}.wedding-site a{color:inherit}.wedding-site a:focus-visible,.wedding-site button:focus-visible,.wedding-site summary:focus-visible{outline:3px solid var(--wed-accent);outline-offset:5px}.wedding-site main{max-width:none;width:100%;padding:0;margin:0}.wedding-nav{min-height:92px;display:flex;align-items:center;justify-content:space-between;padding:1.2rem clamp(1.25rem,5vw,6rem);gap:2rem;border-bottom:1px solid var(--wed-line)}.wedding-monogram{font-family:var(--font-display),serif;font-size:1.3rem;max-width:17rem;overflow-wrap:anywhere;text-decoration:none;line-height:1.25}.wedding-nav nav{display:flex;gap:1.6rem;align-items:center}.wedding-nav nav a{font-size:.78rem;text-decoration:none;padding:.75rem 0;white-space:nowrap}.wedding-nav nav a:hover{text-decoration:underline;text-underline-offset:6px}.wedding-nav button{display:none;min-width:80px;min-height:44px;border:1px solid var(--wed-line);background:transparent;color:var(--wed-text);font-size:.85rem;border-radius:0}.wedding-eyebrow{text-transform:uppercase;letter-spacing:.23em;font-size:.66rem;font-weight:700;color:var(--wed-accent);margin-bottom:1.5rem}.wedding-hero{padding:clamp(3rem,6vw,6rem) clamp(1rem,4.5vw,5rem) 2rem}.wedding-hero-copy{text-align:center}.wedding-hero h1{display:flex;align-items:center;justify-content:center;gap:clamp(.5rem,2vw,2rem);font-size:clamp(3.3rem,7.3vw,7.5rem);margin:0 0 1.5rem;flex-wrap:wrap}.wedding-hero h1 span{max-width:100%;overflow-wrap:anywhere}.wedding-hero h1 em{font-family:var(--font-accent),cursive;font-size:1.1em;line-height:.6;font-weight:700;color:var(--wed-accent);letter-spacing:0}.wedding-phrase{font-size:1rem;color:var(--wed-muted)}.wedding-date{font-size:.78rem;margin:1.4rem 0 2.5rem;letter-spacing:.025em}.wedding-hero-image{height:clamp(320px,60vw,720px);max-height:78svh;overflow:hidden;border-radius:46% 46% 3px 3px/16% 16% 3px 3px}.wedding-site img{width:100%;height:100%;display:block;object-fit:cover}.wedding-hero-bottom{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:1rem;padding:2.3rem 0;border-bottom:1px solid var(--wed-line)}.wedding-decorative{font-family:var(--font-accent),cursive;font-size:2.25rem;color:var(--wed-accent);line-height:1.1}.wedding-countdown{text-align:center;font-size:.75rem;letter-spacing:.08em;margin:0}.wedding-scroll{justify-self:end;font-size:.7rem;text-decoration:none}.wedding-scroll span{margin-left:1rem}.wedding-section{max-width:1320px;padding:clamp(4rem,9vw,9rem) clamp(1.25rem,5vw,5rem);margin:auto;text-align:center;scroll-margin-top:2rem}.wedding-intro{max-width:40rem;margin:0 auto 3rem;color:var(--wed-muted);font-size:.9rem}.wedding-pair{display:grid;grid-template-columns:minmax(0,1fr) 4rem minmax(0,1fr);align-items:center;gap:1.5rem;margin:3.5rem 0}.wedding-pair figure{height:clamp(290px,42vw,520px);margin:0;overflow:hidden}.wedding-pair figure:first-child{border-radius:46% 46% 0 0/30% 30% 0 0}.wedding-pair figure:last-child{margin-top:7rem;border-radius:0 0 46% 46%/0 0 30% 30%}.wedding-pair-line{font-family:var(--font-accent),cursive;font-size:4rem;color:var(--wed-accent);border-top:1px solid var(--wed-line);border-bottom:1px solid var(--wed-line)}.wedding-story-text{font-size:clamp(1rem,1.45vw,1.2rem);max-width:42rem;margin:2rem auto;white-space:pre-line;line-height:1.95}.wedding-story .wedding-decorative{margin-top:2rem}.wedding-events{max-width:none;background:var(--wed-surface)}.wedding-events>div{max-width:1120px;margin:auto}.wedding-event-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:3rem;text-align:left}.wedding-event-grid article{border-top:1px solid var(--wed-line);padding:2rem 0}.wedding-event-number{color:var(--wed-accent);font-size:.7rem;letter-spacing:.16em}.wedding-event-grid h3{margin:1.8rem 0 1rem}.wedding-event-grid p{font-size:.8rem}.wedding-event-venue{font-weight:700;margin:1.7rem 0 .5rem}.wedding-gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1.3rem;margin-top:3.5rem}.wedding-gallery-grid figure{height:clamp(220px,33vw,420px);margin:0;overflow:hidden}.wedding-gallery-grid figure:nth-child(3n+2){margin-top:4rem}.wedding-faq{max-width:920px;padding-top:1rem}.wedding-faq details{text-align:left;border-top:1px solid var(--wed-line);padding:.5rem 0}.wedding-faq details:last-child{border-bottom:1px solid var(--wed-line)}.wedding-faq summary{display:flex;justify-content:space-between;gap:1rem;align-items:center;min-height:64px;font-size:.9rem;padding:.8rem 0;cursor:pointer;list-style:none}.wedding-faq summary::-webkit-details-marker{display:none}.wedding-faq summary span{font-size:1.4rem;color:var(--wed-accent)}.wedding-faq details[open] summary span{transform:rotate(45deg)}.wedding-faq details p{font-size:.85rem;color:var(--wed-muted);max-width:40rem;padding-bottom:1rem;white-space:pre-line}.wedding-rsvp{border-top:1px solid var(--wed-line);padding-bottom:7rem}.wedding-rsvp h2{margin-bottom:2rem}.wedding-rsvp p:not(.wedding-eyebrow){font-size:.9rem;max-width:35rem;margin:1.5rem auto}.wedding-button{display:inline-flex;align-items:center;justify-content:space-between;gap:3rem;background:var(--wed-accent);color:var(--wed-bg)!important;padding:1rem 1.8rem;min-height:52px;text-decoration:none;font-size:.85rem;margin:1rem auto}.wedding-site .wedding-small{font-size:.7rem!important;color:var(--wed-muted);max-width:28rem!important}.wedding-footer{text-align:center;background:var(--wed-surface);padding:2.7rem 1rem}.wedding-footer>p:first-child{font-family:var(--font-display),serif;font-size:1.75rem;margin:0 0 .5rem}.wedding-preview-note{text-align:center;padding:1rem;background:var(--wed-accent);color:var(--wed-bg);font-size:.75rem;margin:0}.wedding-image-placeholder{width:100%;height:100%;min-height:240px;background:var(--wed-surface);display:grid;place-items:center;color:var(--wed-muted);font-size:.9rem;border:1px solid var(--wed-line);padding:2rem}.wedding-site [data-motion-ready=true] [data-motion]{transition:opacity .9s ease,transform 1.1s cubic-bezier(.22,.7,.2,1)}.wedding-site [data-motion-ready=true] [data-motion]:not([data-revealed=true]){opacity:.12;transform:translateY(20px)}.wedding-site [data-motion-ready=true] [data-motion=opposing]{opacity:1;transform:none}.wedding-site [data-motion=opposing] figure{transition:transform 1.4s cubic-bezier(.22,.7,.2,1)}.wedding-site [data-motion-ready=true] [data-motion=opposing]:not([data-revealed=true]) figure:first-child{transform:translateX(-52px)}.wedding-site [data-motion-ready=true] [data-motion=opposing]:not([data-revealed=true]) figure:last-child{transform:translateX(52px)}.wedding-site [data-motion=scale] img{transition:transform 1.5s cubic-bezier(.22,.7,.2,1)}.wedding-site [data-motion-ready=true] [data-motion=scale]:not([data-revealed=true]) img{transform:scale(1.045)}.wedding-site [data-motion=stagger] article,.wedding-site [data-motion=stagger] figure{transition:opacity .8s ease,transform 1s ease;transition-delay:calc(var(--reveal-order,0)*70ms)}.wedding-site [data-motion-ready=true] [data-motion=stagger]:not([data-revealed=true]) article,.wedding-site [data-motion-ready=true] [data-motion=stagger]:not([data-revealed=true]) figure{opacity:.15;transform:translateY(18px)}@media(max-width:760px){.wedding-nav{padding:1rem 1.25rem;min-height:80px;position:relative;flex-wrap:wrap;gap:1rem}.wedding-monogram{max-width:calc(100% - 100px);font-size:1.15rem}.wedding-nav button{display:block}.wedding-nav nav{display:none;width:100%;flex-wrap:wrap;gap:.5rem 1.5rem}.wedding-nav nav[data-open=true]{display:flex}.wedding-nav nav a{min-height:44px;display:flex;align-items:center}.wedding-hero{padding-top:3rem}.wedding-hero h1{flex-direction:column;font-size:clamp(3.3rem,14vw,5.2rem);gap:.65rem}.wedding-hero h1 em{font-size:.8em}.wedding-phrase{font-size:.85rem;max-width:25rem;margin:auto}.wedding-date{max-width:25rem;margin:1.6rem auto 2rem;line-height:1.9}.wedding-hero-image{height:470px;max-height:72svh;border-radius:48% 48% 2px 2px/18% 18% 2px 2px}.wedding-hero-bottom{grid-template-columns:1fr;text-align:center;padding:1.6rem 0;gap:1rem}.wedding-scroll{justify-self:center}.wedding-decorative{font-size:2rem}.wedding-section{padding:4rem 1.25rem}.wedding-pair{grid-template-columns:minmax(0,1fr) 1rem minmax(0,1fr);gap:.5rem;margin:2rem 0}.wedding-pair figure{height:260px}.wedding-pair figure:last-child{margin-top:3.5rem}.wedding-pair-line{font-size:2.4rem;border:none}.wedding-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-top:2rem}.wedding-gallery-grid figure{height:230px}.wedding-gallery-grid figure:nth-child(3n+2){margin-top:0}.wedding-gallery-grid figure:nth-child(2n){margin-top:2rem}.wedding-event-grid{gap:1rem}.wedding-site [data-motion-ready=true] [data-motion=opposing]:not([data-revealed=true]) figure:first-child{transform:translateX(-14px)}.wedding-site [data-motion-ready=true] [data-motion=opposing]:not([data-revealed=true]) figure:last-child{transform:translateX(14px)}.wedding-site [data-motion-ready=true] [data-motion]:not([data-revealed=true]){transform:translateY(10px)}.wedding-site [data-motion-ready=true] [data-motion=opposing]{transform:none}.wedding-site h2{font-size:2.7rem}.wedding-rsvp{padding-top:4rem;padding-bottom:4rem}}@media(prefers-reduced-motion:reduce){.wedding-site [data-motion],.wedding-site [data-motion] article,.wedding-site [data-motion] figure,.wedding-site [data-motion] img{opacity:1!important;transform:none!important;transition:none!important;animation:none!important}}