@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@400;450;500;550;600&display=swap');
:root{--cream:#edd6b3;--paper:#fff4df;--ink:#432918;--sand:#d9b583;--muted:#684b32;--terracotta:#9b411c;--line:#c29b68;--chestnut:#59321c;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.7}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--terracotta);outline-offset:6px}p,h1,h2,h3{margin:0}button{color:inherit}a.button,button.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;padding:17px 24px;min-height:54px;border:1px solid transparent;font-size:12px;font-weight:500;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--chestnut);color:var(--paper)}.primary:hover{background:#3b2214}.light{background:var(--cream);color:var(--ink)}.button span{font-size:18px;font-weight:400}.eyebrow{text-transform:uppercase;letter-spacing:2.5px;font-size:10px;font-weight:550}.header{max-width:none;background:#432918;color:#fff4df;margin:auto;display:flex;align-items:center;justify-content:space-between;height:104px;padding:0 64px;border-bottom:1px solid var(--line)}.monogram{font-family:var(--serif);font-size:34px;letter-spacing:-1.5px;line-height:1}.monogram span{font-size:24px;font-style:italic;margin:0 3px}.monogram .monogram-dot{font-size:30px;margin-left:5px;color:#e8b35c}nav{display:flex;align-items:center;gap:32px;font-size:11px}nav>a:not(.nav-rsvp):hover{text-decoration:underline;text-underline-offset:6px}.nav-rsvp{border:1px solid #b88c4b;padding:8px 18px}.nav-rsvp span{margin-left:20px}.menu-toggle{display:none}.hero{max-width:1220px;margin:auto;padding:66px 64px 70px;display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center;min-height:740px}.tiny-flower{display:inline-block;font-size:20px;vertical-align:middle;margin-right:12px;color:var(--terracotta)}h1{font:500 clamp(88px,8.5vw,126px)/.82 var(--serif);letter-spacing:-5px;margin:40px 0 37px}h1 .ampersand{font-weight:400;font-style:italic;color:var(--terracotta);font-size:.76em;margin-left:8px}.erica{display:inline-block;margin-left:57px;margin-top:16px}.hero-date{display:flex;align-items:center;gap:15px;font-size:11px;text-transform:uppercase;letter-spacing:1.7px}.line{width:38px;height:1px;background:var(--terracotta)}.hero-date b{display:block;font-weight:500;font-size:17px;letter-spacing:4px;margin-top:2px}.intro{color:var(--muted);font-size:13px;line-height:1.85;margin:25px 0 27px}.hero-art{position:relative;padding:0 10px;max-width:440px;width:100%;justify-self:end}.art-caption{font-family:var(--serif);font-style:italic;font-size:18px;text-align:center;margin-bottom:20px}.arch{overflow:hidden;border-radius:220px 220px 3px 3px;aspect-ratio:500/610;position:relative;background:var(--sand);outline:1px solid #ad7331;outline-offset:9px}.garden{position:absolute;inset:0;width:100%;height:100%}.art-monogram{position:absolute;top:29%;width:100%;text-align:center;font-family:var(--serif);font-size:76px;letter-spacing:-6px;color:#744530;line-height:1}.art-monogram span{font-style:italic;font-size:50px;margin:0 6px}.art-year{position:absolute;top:46%;width:100%;text-align:center;letter-spacing:4px;font-size:10px;color:#885f37}.art-seal{position:absolute;right:-22px;bottom:49px;transform:rotate(12deg);width:90px;height:90px;border-radius:50%;background:#81451f;color:#fff0d7;border:5px double #bd873c;box-shadow:1px 4px 7px #43291826;text-align:center;line-height:1.05;padding-top:18px;font-size:11px;letter-spacing:1px}.art-seal i{font:italic 28px var(--serif);letter-spacing:0}.art-footnote{text-align:center;text-transform:uppercase;font-size:8px;letter-spacing:3px;margin-top:28px}.welcome-strip{color:#fff4df;display:flex;justify-content:center;gap:40px;align-items:center;padding:23px;background:#965024;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:11px;letter-spacing:.3px}.welcome-strip>span{font-size:20px;color:#f3c374}.section{max-width:1220px;margin:auto;padding:94px 64px}h2{font:400 51px/1.08 var(--serif);letter-spacing:-1.3px}.section-heading{text-align:center}.section-heading .eyebrow{margin-bottom:19px}.section-heading>p:last-child{margin-top:20px;color:var(--muted);font-size:13px}.detail-list{margin-top:48px;border-top:1px solid var(--line)}.detail-row{display:flex;align-items:center;gap:25px;border-bottom:1px solid var(--line);padding:25px 0}.detail-icon{font-size:31px;width:50px;text-align:center;color:#a15b21}.detail-row h3,.registry-placeholder h3{font-family:var(--serif);font-size:26px;font-weight:500;line-height:1.3}.detail-row p,.registry-placeholder p{font-size:12px;color:var(--muted);margin-top:3px}.status{margin-left:auto;display:inline-flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.3px;color:#7c6348}.status:before{content:'';width:5px;height:5px;border-radius:50%;background:#9d5f1c}.small-note{font-size:10px;color:var(--muted)}.details>.small-note{margin-top:21px;text-align:center}.invitations{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center;background:#754321;color:#fff4df;max-width:none;padding:80px max(64px,calc((100vw - 1092px)/2))}.paper-wrap{width:350px;height:410px;position:relative;justify-self:center;isolation:isolate}.envelope{position:absolute;background:#bd8647;width:330px;height:245px;left:-18px;bottom:5px;transform:rotate(-12deg);box-shadow:0 9px 18px #43291812}.envelope:after{content:'';position:absolute;inset:0;clip-path:polygon(0 0,50% 65%,100% 0);background:#a66d34}.invitation-paper{color:var(--ink);position:absolute;width:290px;min-height:368px;top:5px;left:40px;padding:31px 22px 25px;transform:rotate(6deg);background:var(--paper);box-shadow:1px 6px 20px #43291814;text-align:center;border:1px solid #e7d5b9;outline:1px solid #c39959;outline-offset:-13px}.invitation-paper .eyebrow{font-size:7px;letter-spacing:2px}.paper-names{font:400 57px/.95 var(--serif);margin:29px 0 20px}.paper-names span{color:var(--terracotta);font-style:italic;font-size:42px}.paper-rule{width:30px;height:1px;background:#bf8d45;margin:16px auto}.paper-year{font-size:15px;letter-spacing:5px;margin-left:5px}.paper-bottom{font:italic 13px var(--serif);margin-top:20px}.paper-flower{position:absolute;right:4px;bottom:6px;font-size:91px;line-height:1;color:#9b411c;transform:rotate(12deg)}.invitation-copy .eyebrow{margin-bottom:22px}.invitation-copy>p:not(.eyebrow):not(.small-note){max-width:340px;font-size:13px;margin:22px 0;color:#f9dfb4}.text-button{background:transparent;border:0;border-bottom:1px solid #d8aa63;padding:6px 0 11px;font-size:12px;text-align:left}.text-button span{margin-left:38px;font-size:18px}.invitation-copy .small-note{color:#f9dfb4;margin-top:14px;max-width:280px}.registry{text-align:center;padding-top:100px;padding-bottom:100px}.registry>.eyebrow{margin-bottom:21px}.registry>p:not(.eyebrow){margin-top:22px;color:var(--muted);font-size:13px}.registry-placeholder{max-width:620px;margin:37px auto 0;padding:26px 28px;border:1px solid var(--line);display:flex;align-items:center;text-align:left;gap:20px;background:#f7e6c9}.gift-icon{font-size:38px;line-height:1;color:#9d5b20}.registry-links{margin-top:30px}.registry-links a{display:inline-block;margin:5px;padding:14px 25px;border:1px solid var(--ink)}.rsvp{max-width:1092px;background:var(--chestnut);color:var(--cream);text-align:center;padding:62px 30px;position:relative}.rsvp:after{content:'';position:absolute;inset:12px;border:1px solid #d4a76680;pointer-events:none}.rsvp-top{display:flex;justify-content:center;align-items:center;gap:22px;margin-bottom:26px}.rsvp-top>span{font-size:18px;color:#eeb958}.rsvp h2{font-size:57px}.rsvp>p:not(.rsvp-note){margin:20px auto 27px;color:#f9dfb4;font-size:12px}.rsvp .rsvp-note{font-size:9px;color:#ebc896;margin-top:16px}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:75px}.faq .eyebrow{margin-bottom:18px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;font-size:12px;cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}summary span{font-size:22px;line-height:1;font-weight:400;transition:transform .2s}details[open] summary span{transform:rotate(45deg)}details p{font-size:12px;color:var(--muted);padding:0 25px 22px 0;line-height:1.8}footer{max-width:1192px;margin:auto;padding:33px 20px 38px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-names{font:400 30px var(--serif)}.footer-names i{color:var(--terracotta)}footer p{font-size:10px;color:var(--muted)}footer p span{margin-left:12px}.footer-domain{font-size:9px;letter-spacing:.3px;color:var(--muted)}dialog{border:0;padding:0;background:var(--cream);color:var(--ink);max-width:min(520px,calc(100% - 32px));width:100%;max-height:90dvh;box-shadow:0 20px 100px #321c2140}dialog::backdrop{background:#2d1a10bf;backdrop-filter:blur(4px)}.close-dialog{position:absolute;top:8px;right:12px;width:40px;height:40px;border:0;background:transparent;font-size:28px;z-index:2}.dialog-invitation{padding:65px 35px 45px;text-align:center;outline:1px solid #d2ac76;outline-offset:-17px}.dialog-invitation h2{font-size:54px;margin:30px auto 20px}.dialog-invitation h2 i{color:var(--terracotta)}.dialog-flower{font-size:38px;color:var(--terracotta)}.dialog-year{font-size:22px;letter-spacing:7px;margin:16px 0}.dialog-invitation>p:not(.eyebrow):not(.small-note):not(.dialog-year){font-size:12px}.dialog-invitation hr{width:40px;margin:25px auto;border:0;border-top:1px solid #d2ac76}.dialog-status{letter-spacing:1px}.dialog-invitation>.small-note{margin-top:24px;font-size:9px}.dialog-content{padding:60px 45px 45px}.dialog-content h2{margin:20px 0 24px}.dialog-content>p:not(.eyebrow){font-size:13px;color:var(--muted);margin:16px 0}.dialog-content .button{margin-top:14px}.skip-link{position:fixed;left:15px;top:-70px;background:var(--ink);color:#fff;padding:12px 20px;z-index:5}.skip-link:focus{top:10px}[hidden]{display:none!important}
@media(min-width:1500px){.hero{min-height:800px}.hero-art{max-width:450px}}
@media(max-width:1000px){.header{padding:0 35px}.hero{padding:60px 40px;gap:35px;min-height:660px}h1{font-size:100px}.hero-art{max-width:360px}.art-seal{right:-9px}.section{padding:75px 40px}.invitations{gap:40px;padding:65px 40px}.paper-wrap{transform:scale(.9);transform-origin:center;width:320px}.rsvp{margin:0 35px}.faq{gap:45px}footer{margin:0 35px}.hero .eyebrow{letter-spacing:1.8px;font-size:9px}}
@media(max-width:700px){html{scroll-padding-top:20px}.header{height:80px;margin:0;padding:0 22px;position:relative}.monogram{font-size:30px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;border:0;background:transparent}.menu-toggle span{height:1px;width:23px;background:#fff4df;margin-left:10px}nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--cream);z-index:3;padding:20px 28px;box-shadow:0 15px 15px #43291810;gap:20px}nav.open{color:var(--ink);display:flex;flex-wrap:wrap}.nav-rsvp{padding:6px 14px}.hero{padding:42px 30px 43px;display:flex;flex-direction:column;gap:48px;min-height:0}.hero-copy{width:100%;max-width:400px}.hero .eyebrow{font-size:9px;letter-spacing:2px}h1{font-size:110px;margin:32px 0}.erica{margin-left:70px}.hero-date{font-size:10px}.hero-date b{display:inline;font-size:13px;margin-left:8px;letter-spacing:2px}.intro{margin:20px 0 23px;font-size:12px}.hero .button{padding:13px 20px;min-height:49px;font-size:11px}.hero-art{max-width:310px;align-self:center;justify-self:center;width:calc(100% - 30px);margin:0 10px 0 0}.art-caption{font-size:17px;margin-bottom:17px}.art-monogram{font-size:65px}.art-monogram span{font-size:43px}.art-year{font-size:8px}.art-seal{right:-25px;width:75px;height:75px;padding-top:12px;font-size:10px;bottom:43px}.art-seal i{font-size:24px}.art-footnote{font-size:7px;letter-spacing:2px}.welcome-strip{gap:16px;padding:20px 22px;line-height:1.7;text-align:center;font-size:10px}.welcome-strip>span{font-size:16px}.section{padding:63px 25px}h2{font-size:43px}.section-heading>p:last-child{font-size:12px}.detail-list{margin-top:30px}.detail-row{gap:13px;padding:22px 0;flex-wrap:wrap}.detail-icon{width:30px;font-size:27px}.detail-row h3{font-size:25px}.detail-row p{font-size:11px}.detail-row .status{width:100%;margin:-2px 0 0 43px;font-size:9px}.details>.small-note{font-size:9px;line-height:1.8}.invitations{display:flex;flex-direction:column;gap:24px;padding:45px 30px 57px}.paper-wrap{height:360px;width:310px;transform:scale(.87);margin:-12px 0;flex-shrink:0}.invitation-copy{max-width:400px}.invitation-copy>p:not(.eyebrow):not(.small-note){max-width:none;font-size:12px}.invitation-copy .eyebrow{font-size:9px}.registry>p:not(.eyebrow){font-size:12px}.registry-placeholder{padding:23px 18px;gap:14px;flex-wrap:wrap}.registry-placeholder h3{font-size:23px}.registry-placeholder p{font-size:10px}.registry-placeholder .status{margin-left:47px;width:100%;font-size:9px}.gift-icon{font-size:31px}.rsvp{margin:0 16px;padding:49px 24px}.rsvp h2{font-size:44px}.rsvp-top{gap:15px}.rsvp-top .eyebrow{font-size:9px}.rsvp>p:not(.rsvp-note){font-size:11px}.faq{display:block}.faq-list{margin-top:28px}summary{font-size:11px;padding:19px 0}details p{font-size:11px}footer{margin:0 24px;padding:28px 0 30px;flex-direction:column;gap:9px}.footer-names{font-size:32px}.footer-domain{font-size:9px}.dialog-content{padding:60px 28px 35px}.dialog-invitation{padding:60px 25px 45px}.dialog-invitation h2{font-size:47px}}
.hero-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 42%}.our-moment{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center;padding-top:86px;padding-bottom:0}.moment-photo{margin:0;max-width:420px}.moment-photo img{display:block;width:100%;height:auto;border:10px solid var(--paper);box-shadow:0 5px 24px #43291812;transform:rotate(-2deg)}.moment-photo figcaption{font:italic 16px var(--serif);text-align:center;margin-top:22px;color:var(--muted)}.moment-copy .eyebrow{margin-bottom:26px}.moment-flower{display:block;color:var(--terracotta);font-size:32px;line-height:1;margin-bottom:21px}.moment-copy h2{font-size:56px}.moment-copy h2 i{color:var(--terracotta)}.moment-copy>p:not(.eyebrow){font-size:12px;color:var(--muted);line-height:1.9;margin-top:24px}.moment-signature{display:block;font:400 34px var(--serif);margin-top:27px}.moment-signature i{color:var(--terracotta);font-size:28px}
@media(max-width:1000px){.our-moment{gap:45px}.moment-copy h2{font-size:48px}}
@media(max-width:700px){.our-moment{grid-template-columns:1fr;gap:39px;padding:57px 34px 0}.moment-photo{max-width:340px;margin:0 auto;width:100%}.moment-photo img{border-width:8px}.moment-photo figcaption{font-size:14px;margin-top:20px}.moment-copy{text-align:center}.moment-copy .eyebrow{font-size:9px;margin-bottom:22px}.moment-copy h2{font-size:46px}.moment-copy>p:not(.eyebrow){font-size:11px}.moment-signature{margin-top:20px}}
.photo-gallery{padding-bottom:32px}.gallery-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:34px}.gallery-heading .eyebrow{margin-bottom:18px}.gallery-heading>p{font-size:12px;color:var(--muted);padding-bottom:3px}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.gallery-item{border:0;padding:0;background:var(--sand);position:relative;overflow:hidden;aspect-ratio:3/4;text-align:left}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}.gallery-item:hover img{transform:scale(1.035)}.gallery-item>span{position:absolute;inset:auto 0 0;display:flex;justify-content:space-between;align-items:center;padding:27px 14px 10px;color:var(--paper);font-size:10px;letter-spacing:1px;background:linear-gradient(transparent,#321c2199)}.gallery-item b{font-size:20px;font-weight:400}.photo-dialog{max-width:min(1000px,calc(100% - 32px));background:#302014;color:var(--cream);padding:42px 26px 14px}.photo-dialog figure{margin:0;text-align:center}.photo-dialog figure img{display:block;width:100%;height:min(70dvh,760px);object-fit:contain;background:#302014}.photo-dialog figcaption{font-size:11px;padding:15px 8px 3px;color:#f4d9ad}.photo-dialog .close-dialog{top:0;right:5px;color:var(--cream);height:40px}.photo-controls{display:flex;justify-content:center;align-items:center;gap:28px}.photo-controls button{background:transparent;border:1px solid #b68a64;color:var(--cream);width:44px;height:40px;font-size:22px}.photo-controls p{font-size:11px;min-width:80px;text-align:center}.photo-dialog::backdrop{background:#24170edf}
@media(max-width:1000px){.gallery-grid{gap:12px}}
@media(max-width:700px){.photo-gallery{padding-bottom:8px}.gallery-heading{display:block;margin-bottom:24px}.gallery-heading>p{margin-top:20px;font-size:11px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gallery-item>span{padding:22px 11px 7px;font-size:9px}.photo-dialog{padding:42px 12px 16px;max-width:calc(100% - 20px)}.photo-dialog figure img{height:min(64dvh,650px)}.photo-dialog figcaption{font-size:10px;line-height:1.5;padding:13px 4px}.photo-controls{gap:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
