@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;500;600;700&display=swap');
:root{--pine:#173a34;--deep:#102b27;--leaf:#456a58;--coral:#c97367;--paper:#f7f8f4;--white:#fff;--muted:#61746a;--line:#d7e2d8}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--deep);font-family:'DM Sans',Arial,sans-serif;line-height:1.55}img,svg{display:block;max-width:100%}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:0}::selection{background:var(--coral);color:#fff}:focus-visible{outline:3px solid #e79e87;outline-offset:3px}.skip-link{position:fixed;top:-80px;left:12px;z-index:100;background:#fff;padding:10px}.skip-link:focus{top:10px}section{scroll-margin-top:30px}
.demo-bar{height:46px;background:#102825;color:#e8f2ea;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:0 max(5vw,calc((100vw - 1480px)/2));font-size:.66rem;letter-spacing:.12em;font-weight:700;position:relative;z-index:20}.demo-bar>div{display:flex;align-items:center;gap:22px}.demo-bar a,.demo-bar button{display:inline-flex;align-items:center;gap:7px;background:none;border:0;color:#e8f2ea;font:700 .72rem 'DM Sans',sans-serif;letter-spacing:0}.demo-bar a:hover,.demo-bar button:hover{color:#ffcab7}.demo-bar svg{width:15px;height:15px}.demo-dot{color:#efaa95}
.invite-header{position:absolute;top:46px;left:0;right:0;height:80px;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,calc((100vw - 1480px)/2));color:white;border-bottom:1px solid #ffffff4a}.invite-mark,.invite-footer-mark{font:500 2.2rem 'Cormorant Garamond',Georgia,serif;white-space:nowrap}.invite-mark span,.invite-footer-mark span{font-style:italic;color:#f4b4a5}.invite-header nav{display:flex;align-items:center;gap:32px}.invite-header nav>a{font-size:.77rem;font-weight:600;transition:color .2s}.invite-header nav>a:hover{color:#ffd8c7}.invite-header .nav-rsvp{border:1px solid #ffffff9c;padding:10px 14px;display:flex;gap:12px;align-items:center}.nav-rsvp svg{width:16px;height:16px}
.invite-hero{height:min(720px,calc(100svh - 135px));min-height:600px;position:relative;isolation:isolate;display:flex;align-items:center;color:#fff;overflow:hidden}.invite-hero>img,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.invite-hero>img{object-fit:cover;object-position:center;z-index:-2}.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(10,34,30,.82),rgba(10,34,30,.37) 52%,rgba(10,34,30,.08) 100%)}.invite-hero-content{padding:150px max(5vw,calc((100vw - 1480px)/2)) 60px;width:100%}.invite-kicker,.invite-label{font-size:.69rem;letter-spacing:.19em;font-weight:700}.invite-kicker{color:#ffe8d6;margin-bottom:22px}.invite-hero h1{font:500 8rem/.83 'Cormorant Garamond',Georgia,serif;margin:0 0 32px}.invite-hero h1 em{font-weight:400;color:#ffd0bd}.invite-hero-date{font-size:.79rem;letter-spacing:.16em;font-weight:700;margin-bottom:34px}.invite-hero-date span{padding:0 8px;color:#ffd0bd}.invite-button{border:1px solid transparent;min-height:50px;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:12px 18px;font-size:.79rem;font-weight:700;transition:background .2s,transform .2s}.invite-button:hover{transform:translateY(-2px)}.invite-button svg{width:17px;height:17px}.invite-button.light{background:#fff;color:var(--pine)}.invite-button.light:hover{background:#f1d6c9}.invite-button.dark{background:var(--pine);color:#fff}.invite-button.dark:hover{background:#315d4d}.hero-side-note{position:absolute;bottom:26px;right:max(5vw,calc((100vw - 1480px)/2));font-size:.65rem;font-weight:700;letter-spacing:.15em}.hero-side-note span{color:#f4b4a5;padding:0 8px}
.date-strip{min-height:96px;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px max(5vw,calc((100vw - 1480px)/2));background:#fff;border-bottom:1px solid var(--line);color:var(--pine);font-size:.7rem;font-weight:700;letter-spacing:.16em}.date-strip span:nth-child(2){font:500 1.45rem 'Cormorant Garamond',Georgia,serif;letter-spacing:0}.date-strip i{font-style:normal;color:var(--coral);padding:0 5px}.invite-section{padding:110px max(7vw,calc((100vw - 1300px)/2))}.invite-label{color:#a44e51;margin-bottom:18px}.invite-section h2,.place-section h2{font:500 4.7rem/.99 'Cormorant Garamond',Georgia,serif;margin-bottom:25px}.invite-section h2 em,.place-section h2 em{font-weight:400;color:#ad5860}.welcome-section{display:grid;grid-template-columns:1fr .85fr;gap:clamp(50px,9vw,140px);align-items:center;background:#f7f8f4}.welcome-copy{max-width:650px}.welcome-copy>p:not(.invite-label){max-width:520px;color:#52675c;font-size:1rem;line-height:1.8}.signature{font:italic 2rem 'Cormorant Garamond',Georgia,serif;margin-top:30px;color:var(--pine)}.welcome-image{position:relative;aspect-ratio:4/4.4;overflow:hidden}.welcome-image img{width:100%;height:100%;object-fit:cover}.welcome-image span{position:absolute;bottom:20px;left:20px;background:#fff;padding:11px 15px;color:var(--pine);font-size:.64rem;font-weight:700;letter-spacing:.14em}
.countdown-section{text-align:center;background:#e6eee7}.countdown-section h2{margin-bottom:36px}.countdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:900px;margin:0 auto 30px}.countdown>div{border-right:1px solid #b9cfbf;min-height:130px;display:flex;flex-direction:column;justify-content:center}.countdown>div:last-child{border:0}.countdown strong{font:500 4.9rem/.9 'Cormorant Garamond',Georgia,serif}.countdown span{font-size:.68rem;font-weight:700;letter-spacing:.16em;margin-top:12px}.underlined-link{display:inline-flex;align-items:center;gap:12px;border-bottom:1px solid var(--pine);font-size:.79rem;font-weight:700;padding-bottom:5px}.underlined-link svg{width:16px;height:16px}.underlined-link:hover{color:#a44e51}
.schedule-section{background:#fff;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:clamp(60px,9vw,140px)}.section-intro>p:not(.invite-label){color:#61746a;max-width:400px}.schedule-list{border-top:1px solid var(--line)}.schedule-list>div{display:grid;grid-template-columns:85px 22px 1fr;gap:20px;padding:28px 0;border-bottom:1px solid var(--line)}.schedule-list time{font-size:.77rem;font-weight:700;color:#9f5254;padding-top:4px;white-space:nowrap}.schedule-marker{width:11px;height:11px;border:2px solid var(--coral);border-radius:50%;margin-top:6px}.schedule-list h3{font:500 1.85rem 'Cormorant Garamond',Georgia,serif;margin:0 0 2px}.schedule-list p{color:var(--muted);font-size:.9rem;margin:0}
.place-section{display:grid;grid-template-columns:1fr 1fr;background:var(--pine);color:#fff;min-height:540px}.place-image{min-height:540px;overflow:hidden}.place-image img{height:100%;width:100%;object-fit:cover;object-position:65% center}.place-copy{padding:80px clamp(40px,8vw,135px);align-self:center}.place-copy .invite-label{color:#ffb4a6}.place-copy h2{max-width:500px}.place-copy h2 em{color:#ffb4a6}.place-copy>p:not(.invite-label){color:#d2e2d5;max-width:470px}.place-location{display:flex;align-items:center;gap:8px;font-weight:700;color:#fff!important}.place-location svg{width:18px;height:18px;flex:none}.place-copy .invite-button{margin-top:20px;background:#fff;color:var(--pine)}.place-copy .invite-button:hover{background:#e6eee7}
.details-section{background:#f7f8f4}.details-section .section-intro{margin-bottom:50px}.details-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}.details-grid article{border-top:1px solid #c6d7c9;padding-top:24px}.details-grid svg{width:29px;height:29px;color:#9f5254;margin-bottom:30px}.details-grid h3{font:500 1.95rem 'Cormorant Garamond',Georgia,serif;margin-bottom:8px}.details-grid p{color:var(--muted);font-size:.9rem;max-width:340px}
.rsvp-section{display:grid;grid-template-columns:.9fr 1fr;gap:clamp(50px,8vw,120px);background:#e6eee7;align-items:start}.rsvp-copy>p:not(.invite-label){color:#546d5b;max-width:440px}.rsvp-flower{font:500 9rem 'Cormorant Garamond',Georgia,serif;opacity:.13;margin-top:70px}.rsvp-flower span{font-style:italic}.rsvp-form{background:#fff;padding:clamp(25px,4vw,55px);display:grid;gap:17px;box-shadow:0 22px 60px #102b2714}.form-eyebrow{font-size:.67rem;letter-spacing:.17em;font-weight:700;color:#a44e51;margin:0 0 4px}.rsvp-form label,.manager-toolbar label,.manager-add label{display:grid;gap:7px;font-size:.74rem;font-weight:700}.rsvp-form input:not([type=radio]),.rsvp-form select,.rsvp-form textarea,.manager-toolbar input,.manager-toolbar select,.manager-add input{width:100%;min-height:46px;border:1px solid #c7d5cc;border-radius:0;background:#fff;color:var(--deep);padding:10px 12px;outline:none}.rsvp-form :is(input,select,textarea):focus,.manager-toolbar :is(input,select):focus,.manager-add input:focus{border-color:var(--leaf);box-shadow:0 0 0 2px #d8eee0}.rsvp-form textarea{resize:vertical}.rsvp-form fieldset{border:0;padding:0;margin:0;display:grid;gap:8px}.rsvp-form legend{font-size:.74rem;font-weight:700;margin-bottom:8px}.rsvp-form fieldset label{display:flex;align-items:center;gap:9px;font-size:.82rem;font-weight:500}.rsvp-form input[type=radio]{accent-color:var(--pine);width:18px;height:18px}.rsvp-form #attending-fields{display:grid;gap:17px}.rsvp-form .invite-button{justify-self:start}.form-note{font-size:.72rem;color:var(--muted);margin:0}.rsvp-result{background:#e2f0e3;color:#1a4733;padding:12px 14px;margin:0;font-size:.83rem}.invite-footer{background:#102b27;color:#ebf2eb;text-align:center;padding:65px 20px 55px}.invite-footer-mark{font-size:3rem}.invite-footer p{font-size:.72rem;letter-spacing:.12em;margin:10px 0}.invite-footer p:last-child{letter-spacing:0;color:#b9d0c0;margin-top:35px}.invite-footer a{text-decoration:underline}
.rsvp-form #attending-fields[hidden],.rsvp-result[hidden]{display:none!important}
dialog{border:0;padding:0;width:min(960px,calc(100% - 26px));max-height:90svh;overflow:auto;color:var(--deep);background:#f7f8f4;box-shadow:0 25px 80px #0005}dialog::backdrop{background:#061c19b8}.manager-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:30px 35px 22px;background:#fff}.manager-head h2{font:500 2.8rem 'Cormorant Garamond',Georgia,serif;margin:0}.manager-head p:last-child{color:var(--muted);font-size:.81rem;margin:3px 0 0}.manager-head .invite-label{margin:0}.icon-button{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);background:#fff}.icon-button svg{width:18px;height:18px}.manager-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#d7e2d8;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.manager-stats>div{background:#fff;padding:18px 35px;display:grid}.manager-stats strong{font:500 2.2rem 'Cormorant Garamond',Georgia,serif}.manager-stats span{font-size:.68rem;font-weight:700;color:var(--muted)}.manager-toolbar{padding:25px 35px 15px;display:flex;align-items:end;gap:10px}.manager-toolbar label:first-child{flex:1}.manager-toolbar label:nth-child(2){width:180px}.manager-toolbar button,.manager-add button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--pine);background:var(--pine);color:#fff;min-height:46px;padding:10px 15px;font-size:.78rem;font-weight:700;white-space:nowrap}.manager-toolbar svg,.manager-add svg{width:16px;height:16px}.manager-list{padding:0 35px;min-height:130px}.manager-row{display:grid;grid-template-columns:minmax(130px,1fr) minmax(160px,1.3fr) 150px 40px;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:14px 0}.manager-row strong{display:block;font-size:.82rem}.manager-row small{font-size:.67rem;color:var(--muted)}.manager-row .guest-email{font-size:.75rem;overflow-wrap:anywhere;color:var(--muted)}.manager-row select{width:100%;border:1px solid #c7d5cc;background:#fff;padding:7px;font-size:.72rem}.manager-row button{border:1px solid var(--line);background:#fff;width:34px;height:34px;display:grid;place-items:center}.manager-row button svg{width:15px;height:15px}.manager-empty{padding:28px 0;color:var(--muted);font-size:.85rem}.manager-add{margin:25px 35px 0;padding-top:20px;border-top:1px solid var(--line)}.manager-add h3{font:500 1.8rem 'Cormorant Garamond',Georgia,serif;margin-bottom:10px}.manager-add>div{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}.reset-button{margin:25px 35px 30px;border:0;background:none;color:#9f5254;text-decoration:underline;font-size:.74rem;padding:0}
@media(max-width:900px){.invite-header nav{gap:17px}.invite-section{padding:85px 6vw}.invite-section h2,.place-section h2{font-size:3.8rem}.welcome-section{gap:40px}.place-copy{padding:60px 6vw}}
@media(max-width:700px){.demo-bar{padding:0 4vw;font-size:.57rem;letter-spacing:.05em}.demo-bar>div{gap:10px}.demo-bar button,.demo-bar a{font-size:.67rem}.demo-bar a{font-size:0;gap:0}.demo-bar a svg{width:19px;height:19px}.invite-header{height:68px;padding:0 5vw}.invite-header nav>a:not(.nav-rsvp){display:none}.invite-header .nav-rsvp{font-size:.69rem;padding:8px 10px}.invite-mark{font-size:1.9rem}.invite-hero{height:calc(100svh - 155px);min-height:590px}.invite-hero>img{object-position:62% center}.hero-shade{background:linear-gradient(90deg,#102b27c9,#102b2740)}.invite-hero-content{padding:125px 5vw 75px}.invite-hero h1{font-size:5rem;margin-bottom:24px}.invite-hero-date{font-size:.67rem;line-height:1.7}.hero-side-note{right:5vw;bottom:16px;font-size:.55rem}.date-strip{padding:15px 5vw;min-height:75px}.date-strip span:first-child{display:none}.date-strip span:nth-child(2){font-size:1.22rem}.date-strip span:last-child{font-size:.57rem;max-width:120px;text-align:right}.invite-section{padding:75px 5vw}.invite-section h2,.place-section h2{font-size:3.3rem}.welcome-section,.schedule-section,.rsvp-section{grid-template-columns:1fr}.welcome-image{aspect-ratio:1.15}.countdown strong{font-size:3.1rem}.countdown>div{min-height:100px}.countdown span{font-size:.52rem}.schedule-section{gap:28px}.place-section{grid-template-columns:1fr}.place-image{min-height:330px;height:330px}.place-copy{padding:65px 5vw}.details-grid{grid-template-columns:1fr;gap:25px}.details-grid svg{margin-bottom:12px}.rsvp-flower{display:none}.rsvp-section{gap:30px}.rsvp-form{padding:26px}.manager-head{padding:20px}.manager-stats>div{padding:13px 15px}.manager-toolbar{padding:20px;display:grid;grid-template-columns:1fr 1fr}.manager-toolbar label:first-child{grid-column:1/-1}.manager-toolbar label:nth-child(2){width:auto}.manager-list{padding:0 20px}.manager-row{grid-template-columns:1fr 140px 34px;gap:7px}.manager-row .guest-email{grid-column:1/-1;grid-row:2}.manager-add{margin:20px}.manager-add>div{grid-template-columns:1fr}.reset-button{margin:10px 20px 25px}}
@media(max-width:390px){.invite-hero h1{font-size:4.35rem}.invite-section h2,.place-section h2{font-size:2.9rem}.date-strip span:last-child{font-size:.52rem}.manager-row{grid-template-columns:1fr 115px 34px}.manager-toolbar button{font-size:.7rem;padding:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
