:root{--black:#090102;--cherry:#1F0407;--ivory:#F5E8DF;--oxblood:#611D1C;--rose:#B86F79;--brass:#B08A56;--ink:#341619;--serif:'Cormorant Garamond',Georgia,serif;--sans:Manrope,Arial,sans-serif;--header:88px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:130px}body{margin:0;background:var(--cherry);color:var(--ivory);font:1.0625rem/1.75 var(--sans)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit;text-decoration:none}button,a,summary{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--rose);outline-offset:6px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.05}h2{font-size:clamp(3.2rem,5.8vw,5.25rem);letter-spacing:-.035em}h3{font-size:2.25rem}em{font-weight:400}p{max-width:65ch}img{display:block;width:100%;height:100%;object-fit:cover}[hidden]{display:none!important}.skip{position:fixed;left:20px;top:-100px;background:var(--ivory);color:var(--ink);padding:12px;z-index:100}.skip:focus{top:12px}.review-bar{position:relative;z-index:60;padding:9px 4vw;background:var(--ivory);color:var(--ink);font-size:.875rem;display:flex;justify-content:space-between;align-items:center;gap:12px;line-height:1.4}.review-bar button{border:0;border-bottom:1px solid currentColor;padding:3px 0;background:none;color:var(--oxblood);font-size:.875rem;white-space:nowrap}.header{height:var(--header);position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:rgba(9,1,2,.96);border-bottom:1px solid rgba(176,138,86,.3);z-index:50}.wordmark{font-family:var(--serif);font-size:2rem}.wordmark i{font-size:1.5rem;color:var(--brass);padding:0 4px}nav{display:flex;align-items:center;gap:32px;font-size:.875rem}nav a{padding:12px 0}nav a:hover{color:#dfb8b2}.nav-rsvp{border:1px solid var(--brass);padding:9px 24px}.menu-toggle{display:none}.eyebrow,.label,.section-label,.index{font-size:.875rem;line-height:1.5}.eyebrow,.label{letter-spacing:.14em;text-transform:uppercase}.eyebrow{color:var(--brass)}.hero{min-height:min(940px,calc(100svh - 129px));position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:52px 32px 76px;text-align:center;background:radial-gradient(ellipse at 50% 40%,#451018 0%,var(--cherry) 48%,var(--black) 100%)}.hero:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent,rgba(9,1,2,.06) 6%,transparent 12%);pointer-events:none}.hero-frame{position:absolute;inset:24px 3vw;border:1px solid rgba(176,138,86,.32);pointer-events:none}.hero-content{position:relative;z-index:1}.crest{width:72px;height:91px;border:1px solid var(--brass);border-radius:50%;display:flex;align-items:center;justify-content:center;gap:3px;font:1.8rem var(--serif);margin:0 auto 25px}.crest i{font-size:1.25rem;color:var(--brass)}.hero-eyebrow{margin-bottom:16px;color:#d3ac80;letter-spacing:.22em}h1{font-size:clamp(5rem,8.7vw,8rem);display:flex;align-items:baseline;justify-content:center;gap:.2em;letter-spacing:-.045em}h1 em{font-size:.72em;color:#c99a91;transform:translateY(.08em)}.hero-details{margin-top:22px}.hero-date{font-family:var(--serif);font-size:2.25rem;line-height:1.4;margin-bottom:5px}.hero-details p:last-child{font-size:.9375rem;letter-spacing:.025em}.hero-details span{padding:0 10px;color:var(--brass)}.hero-actions{display:flex;gap:14px;justify-content:center;margin-top:30px}.button{min-height:49px;display:inline-flex;justify-content:center;align-items:center;padding:12px 29px;border-radius:2px;font-size:.875rem;font-weight:600;line-height:1.5;border:1px solid transparent;transition:background .2s,color .2s;letter-spacing:.02em}.primary{background:var(--oxblood);color:var(--ivory);border-color:var(--oxblood)}.primary:hover{background:#7a2a2b;border-color:#7a2a2b}.outline{border-color:var(--brass);color:var(--ivory)}.outline:hover{background:var(--ivory);color:var(--ink)}.hero-note{margin:27px auto 0;font:italic 1.55rem/1.3 var(--serif);color:#dfc3b6}.hero-bottom{position:absolute;bottom:35px;left:5vw;right:5vw;display:flex;justify-content:space-between;color:#cab59d;font-size:.75rem;letter-spacing:.13em;text-transform:uppercase}.ivory{background:var(--ivory);color:var(--ink)}.dark{background:var(--cherry);color:var(--ivory)}.welcome{text-align:center;padding:86px 24px 92px;border-bottom:1px solid #d7c3b7}.section-label{display:flex;align-items:center;justify-content:center;gap:14px;text-transform:uppercase;letter-spacing:.13em;margin-bottom:30px}.small-rule{width:35px;height:1px;background:var(--brass)}.welcome h2{font-size:clamp(2.5rem,4.2vw,4rem)}.welcome p{margin:24px auto 22px;max-width:520px;font-size:1.0625rem}.signature{font:italic 1.6rem var(--serif);color:var(--oxblood)}.section-pad{padding:85px max(6vw,24px)}.section-top{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #b08a5680;padding-top:18px;margin-bottom:49px}.ivory .eyebrow{color:var(--oxblood)}.index{color:var(--brass);font-family:var(--serif);font-size:1.25rem}.celebration-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.intro{margin-top:26px}.wedding-facts{padding-top:6px}.wedding-facts>div{margin-bottom:25px;padding-bottom:23px;border-bottom:1px solid #cfb8aa}.label{display:block;color:var(--brass)}.ivory .label{color:var(--oxblood)}.wedding-facts p{font-family:var(--serif);font-size:2rem;line-height:1.4}.wedding-facts .fact-date{font-size:2.6rem}.wedding-facts span:last-child{font-size:.9375rem}.draft-field,.placeholder{color:inherit}.placeholder{display:inline-block;border-left:2px solid var(--brass);padding:8px 12px;font-size:.875rem;line-height:1.6;background:#b08a560c}.placeholder .draft-label{display:block;font-size:.75rem;letter-spacing:.07em;text-transform:uppercase;color:inherit;font-weight:600;opacity:.85;margin-bottom:4px}.dark .placeholder{color:#e1c4b9}.evening-wrap{display:grid;grid-template-columns:1fr 1fr;gap:8vw;border-top:1px solid #cfb8aa;padding-top:48px;margin-top:37px}.evening-wrap h3{font-size:3.3rem;margin-top:12px}.schedule-note{font-size:.875rem;max-width:230px;margin-top:18px}.schedule{list-style:none;margin:0;padding:0}.schedule li{display:grid;grid-template-columns:100px 1fr;gap:20px;padding:16px 0;border-bottom:1px solid #cfb8aa;align-items:center}.schedule li:first-child{padding-top:0}.schedule-time{font-size:.875rem;color:var(--oxblood)}.schedule-event{font-family:var(--serif);font-size:1.8rem}.schedule li p{font-size:.9375rem}.story{padding-bottom:90px}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.photo-space{position:relative;background:#2a0a0d;border:1px solid #b08a5670;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;color:#dfc3b6}.portrait{aspect-ratio:4/5;border-radius:200px 200px 0 0;max-width:480px}.photo-monogram{font:4.5rem var(--serif);margin-bottom:30px;color:#b08a5690}.photo-space p{font-size:.875rem;margin:10px auto 0;max-width:250px}.photo-space .label{font-size:.8125rem;color:#d4b895}.photo-space.has-photo{padding:0;overflow:hidden}.story-copy h2{margin-bottom:27px}.story-chapter{margin-top:29px}.story-chapter h3{font-size:2rem;margin-bottom:12px}.setting{padding-top:0}.setting-title{text-align:center;margin-bottom:36px}.setting-title h2{font-size:clamp(4rem,8vw,7.5rem);margin:14px 0 18px}.setting-title p:last-child{margin:auto;font-size:.9375rem}.landscape{min-height:300px;width:100%;max-width:1080px;margin:auto;aspect-ratio:2.7}.setting-bottom{max-width:1080px;display:flex;justify-content:space-between;margin:24px auto 0;font-size:.9375rem}.text-link{border-bottom:1px solid var(--brass);padding-bottom:4px}.travel{padding-bottom:30px}.travel-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.travel-details article{padding:0 0 25px;margin-bottom:29px;border-bottom:1px solid #cfb8aa}.travel-details h3{margin-bottom:12px;font-size:2rem}.travel-details p{font-size:1rem}.travel-details .placeholder{margin-top:12px}.travel-details .button{margin-top:18px}.faq{padding-top:36px}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.faq-grid>div>p{margin-top:25px}.questions{border-top:1px solid #cfb8aa}.questions details{border-bottom:1px solid #cfb8aa}.questions summary{position:relative;cursor:pointer;list-style:none;padding:19px 32px 19px 0;font-size:1rem;font-weight:500}.questions summary::-webkit-details-marker{display:none}.questions summary:after{content:'+';position:absolute;right:0;top:16px;font:1.7rem var(--serif);color:var(--oxblood)}.questions details[open] summary:after{content:'−'}.questions details>div{padding:0 0 20px}.rsvp{text-align:center;padding-top:85px;padding-bottom:93px;background:radial-gradient(ellipse at center,#401018 0%,var(--cherry) 70%);border-top:1px solid #b08a5650}.rsvp .eyebrow{margin-bottom:20px}.rsvp h2{font-size:clamp(3.2rem,5.3vw,5rem)}.rsvp>p:not(.eyebrow){margin:24px auto;max-width:520px}.rsvp .placeholder{margin-top:8px;max-width:430px;text-align:left}.rsvp .button{min-width:180px}footer{text-align:center;padding:44px 24px 32px;background:var(--black);border-top:1px solid #b08a5650}.footer-names{font:2rem var(--serif)}.footer-names i{color:var(--brass)}footer p{font-size:.8125rem;margin:12px auto;color:#d7bdb0}.footer-sign{font:italic 1.25rem var(--serif);display:block;margin-top:19px;color:#d2bda6}.guest-view .draft{display:none!important}.guest-view .review-description{display:none}.guest-view .story-copy:empty{display:none}.guest-view .section-pad{padding-top:65px;padding-bottom:65px}.registry{text-align:center}.registry p{margin:20px auto}.registry a{display:inline-flex;margin:10px}.menu-toggle span{font:1.8rem var(--serif);line-height:1}body.menu-open{overflow:hidden}
.rsvpify-embed{max-width:900px;margin:35px auto 27px;min-width:0;overflow:hidden}.rsvpify-embed iframe{display:block;width:100%;max-width:100%;border:0}.rsvpify-embed #rsvpify-iframe-loader{fill:var(--ivory)}.rsvp-fallback-note{margin:0 auto 16px;font-size:.9375rem}
@media(min-width:1500px){.section-pad{padding-left:max(6vw,calc((100vw - 1280px)/2));padding-right:max(6vw,calc((100vw - 1280px)/2))}.hero{min-height:860px}}
@media(max-width:900px){h1{font-size:clamp(4rem,8.5vw,7rem)}nav{gap:22px}.story-grid,.celebration-grid,.evening-wrap,.travel-grid,.faq-grid{gap:5vw}.section-pad{padding:65px 5vw}.portrait{border-radius:150px 150px 0 0}}
@media(max-width:700px){:root{--header:72px}html{scroll-padding-top:90px}.review-bar{padding:9px 20px;font-size:.8125rem}.review-description{display:none}.header{padding:0 24px}.menu-toggle{display:flex;gap:12px;align-items:center;color:var(--ivory);background:none;border:0;padding:10px 0;font-size:.9375rem}nav{display:none;position:absolute;top:var(--header);left:0;right:0;background:var(--black);padding:24px;flex-direction:column;gap:7px;border-bottom:1px solid var(--brass);align-items:stretch;max-height:calc(100dvh - 120px);overflow:auto}nav.open{display:flex}nav a{padding:11px 0;font-size:1.0625rem}nav .nav-rsvp{padding:11px 20px;text-align:center;margin-top:12px}.hero{min-height:780px;padding:45px 24px 80px}.hero-frame{inset:16px}.crest{width:62px;height:78px;margin-bottom:22px;font-size:1.6rem}.hero-eyebrow{font-size:.75rem;margin-bottom:15px}h1{display:flex;flex-direction:column;align-items:center;gap:0;font-size:clamp(4.3rem,15.8vw,6.25rem);line-height:.98}h1 em{font-size:.58em;margin:5px 0;transform:none;line-height:1}.hero-date{font-size:2rem}.hero-details{margin-top:25px}.hero-details p:last-child{max-width:240px;margin:auto;font-size:.875rem;line-height:1.7}.hero-actions{margin-top:25px;gap:10px}.button{padding:12px 18px}.hero-note{font-size:1.4rem;margin-top:23px}.hero-bottom{bottom:30px;left:31px;right:31px;letter-spacing:.08em;font-size:.75rem}.welcome{padding:65px 24px}.welcome h2{font-size:2.6rem}.welcome p{font-size:1rem}.section-pad{padding:57px 24px}.section-top{margin-bottom:32px}.celebration-grid,.evening-wrap,.story-grid,.travel-grid,.faq-grid{grid-template-columns:1fr;gap:32px}h2{font-size:3.5rem}.intro{margin-top:20px}.wedding-facts{padding-top:0}.wedding-facts>div:last-child{margin-bottom:0}.evening-wrap{margin-top:36px;gap:27px}.schedule-note{max-width:100%}.schedule li{grid-template-columns:90px 1fr;gap:15px}.portrait{max-width:400px;width:100%;margin:auto;aspect-ratio:4/4.6;order:2}.story-copy{order:1}.story-copy h2{font-size:3.25rem}.setting{padding-top:12px}.setting-title h2{font-size:4.6rem}.landscape{aspect-ratio:1.3;min-height:240px}.setting-bottom{font-size:.875rem}.travel{padding-bottom:20px}.travel-grid{gap:34px}.travel-details article:last-child{margin-bottom:0}.faq{padding-top:30px}.faq-grid{gap:30px}.faq-grid>div>p{margin-top:17px}.rsvp h2{font-size:3.2rem}.rsvp{padding:60px 24px}.guest-view .section-pad{padding:48px 24px}.guest-view .hero{min-height:780px}.review-bar button{font-size:.8125rem}}
@media(max-width:360px){.hero-actions{flex-direction:column;align-items:center}.hero-actions .button{width:190px}.hero{min-height:860px}h1{font-size:4rem}.review-bar{padding:8px 12px}.review-bar b{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
