@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Manrope:wght@400;500;600&display=swap');
:root{--green:#102c25;--gold:#c7ad73;--cream:#f3efe4;--muted:#b4c0b4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--green);color:var(--cream);font-family:Manrope,Arial,sans-serif;font-size:14px}button,a,input{ -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,input:focus-visible{outline:2px solid var(--gold);outline-offset:6px}header{height:94px;margin:0 6%;border-bottom:1px solid #c7ad7329;display:flex;align-items:center;justify-content:space-between}.monogram{font-family:'Cormorant Garamond',Georgia,serif;font-size:27px;letter-spacing:3px}.monogram i{color:var(--gold);font-size:21px}.header-link{font-size:11px;letter-spacing:4px;color:var(--gold)}.music{background:none;border:1px solid #c7ad7355;color:var(--gold);padding:11px 16px;border-radius:24px;font-size:12px}.music[aria-pressed=true]{background:#c7ad7318}.definitions{position:absolute;width:0;height:0}.hero{position:relative;min-height:720px;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse at 50% 42%,#26443866,transparent 64%)}.hero-inner{text-align:center;padding:77px 20px 46px;z-index:1}.eyebrow,.label{font-size:10px;letter-spacing:3.5px;color:var(--gold);font-weight:500}.tiny-line{width:1px;height:37px;background:var(--gold);opacity:.6;margin:25px auto}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400}h1{font-size:clamp(80px,9vw,138px);line-height:1.05;margin:16px 0 28px;letter-spacing:-4px}h1 em{font-size:.66em;color:var(--gold);font-weight:400;padding:0 12px}.invitation{color:#d4d9cf;line-height:2;font-size:14px}.date{display:flex;align-items:center;justify-content:center;margin:40px 0 55px;gap:19px}.date>span{font-family:Georgia,serif;font-size:55px;border-right:1px solid #c7ad7366;padding-right:20px;color:var(--gold)}.date>div{text-align:left;letter-spacing:3px;font-size:12px}.date small{display:block;font-size:9px;letter-spacing:2px;margin-top:12px;color:var(--muted)}.discover{font-size:9px;letter-spacing:2px;color:var(--gold)}.discover span{display:block;font-size:23px;margin-top:16px}.botanical{position:absolute;width:310px;color:var(--gold);opacity:.4}.botanical.left{left:-58px;top:30px;transform:rotate(8deg)}.botanical.right{right:-48px;bottom:30px;transform:rotate(188deg)}.side-note{position:absolute;left:5%;bottom:45px;writing-mode:vertical-rl;font-size:8px;letter-spacing:3px;color:#b7bfa3}.details{text-align:center;background:var(--cream);color:var(--green);padding:82px 24px 78px}.details .eyebrow{color:#817044}h2{font-size:clamp(36px,4.4vw,53px);margin:16px 0}.intro{line-height:1.9;color:#667167;font-size:13px}.event{max-width:850px;margin:50px auto 0;display:grid;grid-template-columns:1fr 1fr}.event>div{padding:6px 35px}.event-date{border-right:1px solid #102c2524}.event .label{color:#817044;font-size:9px}h3{font-size:32px;line-height:1.2;margin:20px 0 15px}.event p{color:#667167}.gold-button{display:flex;align-items:center;justify-content:center;gap:15px;margin:23px auto 0;max-width:234px;background:var(--green);color:var(--cream);padding:16px 24px;font-size:12px}.gold-button:hover{background:#254b3d}.gold-button span{color:var(--gold)}.text-button{background:none;border:0;border-bottom:1px solid #a68c5855;padding:8px 0;color:inherit;font-size:12px}.countdown-section{text-align:center;padding:72px 20px;background:#17372d;border-top:1px solid #c7ad7333}.countdown-section h2{font-style:italic;font-size:40px}.countdown{display:flex;justify-content:center;gap:48px;margin-top:35px}.countdown strong{display:block;font-family:'Cormorant Garamond',Georgia,serif;font-size:55px;font-weight:400;color:var(--gold);min-width:65px}.countdown span{display:block;font-size:9px;letter-spacing:2px;color:var(--muted);margin-top:7px}.count-message{font-size:11px;color:var(--muted);margin-top:32px}.closing{text-align:center;padding:60px 24px 38px}.flourish{color:var(--gold);font-size:54px}.closing h2{margin-top:0}.closing>p{color:var(--muted);font-size:12px;line-height:1.8}.outline-button{border:1px solid #c7ad7370;background:transparent;color:var(--gold);padding:15px 28px;margin:21px 0}.outline-button:hover{background:#c7ad7312}.audio-options{max-width:360px;margin:20px auto;color:var(--muted);font-size:11px}.audio-options summary{cursor:pointer}.audio-options p{line-height:1.7}.file-label{display:inline-block;padding:10px;border:1px solid #c7ad7355;cursor:pointer;margin-right:8px}.file-label input{display:block;max-width:230px;margin-top:10px;font-size:11px}#status{min-height:22px}footer{border-top:1px solid #c7ad7330;margin:0 6%;padding:25px 0;display:flex;align-items:center;justify-content:space-between}footer>span{font-size:8px;letter-spacing:2px;color:var(--muted)}@media(max-width:600px){header{height:77px}.header-link{display:none}.hero{min-height:690px}.hero-inner{padding:80px 20px 40px}h1{font-size:78px;letter-spacing:-3px}h1 em{padding:0 2px}.botanical{width:195px;opacity:.27}.botanical.left{left:-75px;top:5px}.botanical.right{right:-60px;bottom:0}.side-note{display:none}.invitation{font-size:12px}.event{grid-template-columns:1fr;gap:34px}.event-date{border-right:0;border-bottom:1px solid #102c2524;padding-bottom:35px!important}.details{padding:62px 20px}.details h2{font-size:35px}.countdown{gap:18px}.countdown strong{font-size:45px;min-width:52px}.countdown-section h2{font-size:35px}footer>span{letter-spacing:1px;font-size:7px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.event-status{text-align:center;color:var(--muted);font-size:12px;margin:0}.event-status:not(:empty){padding:20px}

/* Refined invitation edition */
:root{--green:#0c2821;--gold:#d4b87b;--cream:#f5f0e5;--muted:#bdc7bb}
body{background:#0c2821}header{height:82px}header .music{min-height:43px;background:#18392e}
.hero{min-height:1020px;background:radial-gradient(ellipse at 50% 40%,#2e514038,transparent 65%)}
.hero-inner{padding:50px 20px 36px}.hero .eyebrow{font-size:9px;letter-spacing:3.2px}.tiny-line{height:24px;margin:22px auto}
.invitation-arch{border:1px solid #c7ad735e;border-radius:220px 220px 8px 8px;min-width:380px;padding:70px 55px 24px;position:relative;outline:1px solid #c7ad7325;outline-offset:10px;background:linear-gradient(140deg,#ffffff03,#ffffff00)}
.arch-caption{font-size:8px;letter-spacing:2px;color:var(--gold);margin:5px 0 30px}h1{margin:0;font-size:100px;letter-spacing:-2px;line-height:.95}h1>span{display:block}h1 em{display:block;font-size:45px;line-height:1.5}.arch-flower{color:var(--gold);font-size:40px;margin:18px 0 0}.invitation{margin:35px 0 0;font-family:'Cormorant Garamond',Georgia,serif;font-size:23px;font-style:italic;line-height:1.5;color:#e3e4d7}.date{margin:29px 0 30px}.date>span{font-size:48px}.discover span{margin-top:10px}.botanical{width:365px;opacity:.45}.botanical.left{top:80px;left:-70px}.botanical.right{bottom:95px;right:-65px}.side-note{bottom:65px}.details{padding:80px 24px 85px}.details h2{font-size:49px}.details .intro{font-size:13px}.event{max-width:900px;margin-top:45px}.event h3{font-size:36px}.event>div{padding:15px 35px}.event .gold-button{background:var(--green);color:var(--cream);border:1px solid #102c25;min-height:51px}.gold-button{cursor:pointer;border:1px solid var(--gold);transition:background .2s,transform .2s}.gold-button:hover{transform:translateY(-2px)}.countdown-section{padding:65px 20px 58px;background:#12372b}.countdown-section h2{font-size:44px}.countdown{gap:55px}.countdown strong{font-size:62px}.countdown span{font-size:9px}footer{padding:27px 0}.event-status:empty{display:none}
.welcome-active{overflow:hidden}.welcome{position:fixed;inset:0;background:radial-gradient(ellipse at 50% 35%,#244b3c,#0a211b 76%);z-index:100;display:grid;place-items:center;padding:22px;overflow:auto;transition:opacity .5s,visibility .5s}.welcome[hidden]{display:none}.welcome.opened{opacity:0;visibility:hidden;pointer-events:none}.welcome-card{width:min(450px,100%);border:1px solid #c7ad735e;outline:1px solid #c7ad7320;outline-offset:9px;text-align:center;padding:43px 25px 35px;position:relative}.welcome-card::before,.welcome-card::after{content:'❧';position:absolute;color:#c7ad7370;font-size:50px}.welcome-card::before{left:12px;top:5px}.welcome-card::after{right:12px;bottom:5px;transform:rotate(180deg)}.seal{width:112px;height:112px;border:1px solid #c7ad7370;border-radius:50%;display:flex;align-items:center;justify-content:center;gap:3px;color:var(--gold);font-family:'Cormorant Garamond',Georgia,serif;font-size:36px;margin:33px auto}.seal span{font-size:25px;font-style:italic}.welcome h2{font-size:43px;font-style:italic;margin:20px 0}.welcome-card>p:not(.eyebrow){font-family:'Cormorant Garamond',Georgia,serif;font-size:25px;line-height:1.6}.welcome-card>p>span{font-family:Manrope,Arial,sans-serif;font-size:10px;letter-spacing:2px;color:var(--muted)}.welcome .gold-button{background:var(--gold);color:#102c25;width:225px;border:0;font-size:12px;min-height:51px;margin-top:25px}.welcome .gold-button span{color:#102c25}.welcome-card .welcome-note{font:10px/1.7 Manrope,Arial,sans-serif!important;color:var(--muted);margin:20px 0 4px}.welcome .text-button{color:var(--gold);font-size:10px;position:relative;z-index:1}
@media(max-width:600px){header{height:74px;margin:0 6%}.hero{min-height:900px}.hero-inner{padding:42px 20px 35px}.hero .eyebrow{font-size:7px;letter-spacing:2px}.invitation-arch{min-width:0;width:290px;padding:59px 22px 18px;outline-offset:7px}.arch-caption{font-size:7px;letter-spacing:1.4px;margin-bottom:24px}h1{font-size:84px}h1 em{font-size:36px}.arch-flower{font-size:32px}.invitation{font-size:20px;margin-top:31px}.botanical{width:230px;opacity:.3}.botanical.left{left:-106px;top:120px}.botanical.right{right:-95px;bottom:155px}.details{padding:59px 20px}.details h2{font-size:36px;max-width:330px;margin:18px auto}.event{margin-top:33px;gap:24px}.event>div{padding:8px 20px}.event h3{font-size:33px}.event-date{padding-bottom:30px!important}.countdown-section{padding:48px 15px}.countdown-section h2{font-size:37px}.countdown{gap:16px}.countdown strong{font-size:49px;min-width:54px}.countdown span{font-size:8px}.count-message{font-size:10px}.welcome-card{padding:29px 16px 24px}.welcome-card::before,.welcome-card::after{font-size:37px}.welcome h2{font-size:38px}.seal{margin:25px auto;width:95px;height:95px}.welcome .eyebrow{font-size:8px}}
@media(max-width:350px){.invitation-arch{width:260px}.hero .eyebrow{letter-spacing:1px}.countdown{gap:8px}.welcome h2{font-size:33px}}@media(prefers-reduced-motion:reduce){.welcome,.gold-button{transition:none}}


/* Phone-first composition, retained as an intimate invitation on larger screens. */
html{background:#071a15}body{width:100%;max-width:480px;margin:0 auto;box-shadow:0 0 90px #0005;overflow-x:clip}header{position:sticky;top:0;z-index:20;height:64px;margin:0;padding:0 22px;background:#0c2821f5;backdrop-filter:blur(12px);border-bottom:1px solid #c7ad7325}.header-link{display:none}.monogram{font-size:24px}header .music{font-size:10px;padding:10px 13px;min-height:42px}.hero{min-height:0}.hero-inner{width:100%;padding:28px 23px 31px}.hero .eyebrow{font-size:8px;letter-spacing:1.8px;margin:5px 0}.tiny-line{height:18px;margin:14px auto 19px}.invitation-arch{width:min(100%,288px);min-width:0;margin:auto;padding:37px 24px 14px;border-radius:160px 160px 6px 6px;outline-offset:6px}.arch-caption{font-size:7px;letter-spacing:1.4px;margin:8px 0 21px}h1{font-size:76px;letter-spacing:-1px;line-height:.9}h1 em{font-size:29px;line-height:1.4}.arch-flower{font-size:26px;margin-top:12px}.invitation{font-size:21px;line-height:1.45;margin:24px 0 0}.date{margin:22px 0 20px;gap:15px}.date>span{font-size:42px;padding-right:16px}.date>div{font-size:10px;letter-spacing:2px}.date small{font-size:8px;margin-top:9px}.discover{font-size:8px;letter-spacing:1.8px;display:inline-block;padding:9px 15px}.discover span{font-size:20px;margin-top:5px}.side-note{display:none}.botanical{width:210px;opacity:.33}.botanical.left{left:-117px;top:65px}.botanical.right{right:-100px;bottom:99px}.details{padding:43px 25px 40px}.eyebrow{font-size:8px;letter-spacing:2.1px}.details h2{font-size:35px;line-height:1.08;max-width:300px;margin:18px auto}.details .intro{font-size:12px;line-height:1.8}.event{display:flex;flex-direction:column;margin:29px 0 0;gap:23px}.event>div{padding:0 0 3px}.event-date{border-right:0;border-bottom:1px solid #102c2524;padding-bottom:23px!important}.event .label{font-size:8px;letter-spacing:2px}.event h3{font-size:33px;margin:15px 0 10px}.event p{font-size:13px;margin:10px}.text-button{min-height:44px;padding:10px 15px}.event .gold-button{width:100%;max-width:320px;min-height:54px;margin-top:19px;font-size:13px}.countdown-section{padding:37px 18px 35px}.countdown-section h2{font-size:34px;margin:15px 0}.countdown{gap:0;justify-content:space-around;margin-top:25px}.countdown>div{flex:1;border-right:1px solid #c7ad7325}.countdown>div:last-child{border:0}.countdown strong{font-size:43px;min-width:0;line-height:1.1}.countdown span{font-size:8px;letter-spacing:1.3px}.count-message{margin-top:25px;font-size:10px}footer{margin:0;padding:20px 24px}footer>span{font-size:7px;letter-spacing:1px}.welcome{padding:24px;max-width:480px;margin:0 auto}.welcome-card{padding:30px 18px 23px;outline-offset:6px}.welcome .eyebrow{font-size:8px}.seal{width:88px;height:88px;margin:23px auto;font-size:32px}.welcome h2{font-size:37px}.welcome-card>p:not(.eyebrow){font-size:24px}.welcome .gold-button{width:100%;max-width:280px;min-height:54px;font-size:13px}.welcome-card .welcome-note{font-size:11px!important}.welcome .text-button{font-size:11px;min-height:44px}.welcome-card::before,.welcome-card::after{font-size:32px}
@media(max-width:360px){.hero-inner{padding:24px 18px}.invitation-arch{width:258px;padding-top:33px}h1{font-size:67px}.hero .eyebrow{font-size:7px}.invitation{font-size:19px}.details h2{font-size:32px}.welcome{padding:19px}.welcome h2{font-size:32px}.countdown strong{font-size:38px}}
@media(max-height:740px){.welcome-card{padding-top:22px;padding-bottom:16px}.seal{width:70px;height:70px;margin:14px auto}.welcome h2{margin:13px 0}.welcome .gold-button{margin-top:17px}.welcome-card .welcome-note{margin-top:12px}}


.rsvp-section{padding:42px 26px 35px;text-align:center;background:#102e25;border-top:1px solid #c7ad732b}.rsvp-section h2{font-size:36px;margin:14px 0}.rsvp-intro{color:var(--muted);font-size:12px;line-height:1.8;margin-bottom:27px}#rsvp-form{text-align:left;max-width:340px;margin:auto}#rsvp-form>label{display:block;font-size:11px;color:#e9e7da;margin:20px 0 10px}#guest-name{width:100%;height:52px;border:1px solid #c7ad7350;border-radius:3px;padding:0 15px;color:var(--cream);background:#ffffff05;font:16px Manrope,Arial,sans-serif}#guest-name::placeholder{color:#9aab9e}.guest-stepper{display:flex;border:1px solid #c7ad7350;border-radius:3px;height:53px;overflow:hidden}.guest-stepper button{width:60px;border:0;background:#c7ad7310;color:var(--gold);font-size:23px;min-height:48px}.guest-stepper input{width:calc(100% - 120px);min-width:0;background:transparent;color:var(--cream);border:0;text-align:center;font:22px Georgia,serif;appearance:textfield;-moz-appearance:textfield}.guest-stepper input::-webkit-inner-spin-button,.guest-stepper input::-webkit-outer-spin-button{appearance:none;margin:0}.field-note{color:var(--muted);font-size:10px;margin:9px 0 22px;line-height:1.6}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.rsvp-submit{width:100%;max-width:none;min-height:54px;background:var(--gold);color:var(--green);font-size:12px;font-weight:600}.rsvp-submit span{color:var(--green)}.rsvp-submit:hover{background:#e1c58b}.rsvp-submit:disabled{opacity:.65;cursor:wait;transform:none}.rsvp-privacy{font-size:9px;line-height:1.9;text-align:center;color:var(--muted);margin-top:16px}.rsvp-message{font-size:12px;line-height:1.8;text-align:center;color:#edce96;margin:14px 0 0;min-height:22px}.rsvp-message.success{color:#d9e4c6}.welcome-card{animation:card-arrive 1s ease both}.seal{animation:seal-arrive 1.4s ease both}.invitation-open .invitation-arch{animation:arch-arrive 1.2s ease both}.invitation-open #names>span{animation:name-arrive 1.25s ease both}.invitation-open #names>span:last-child{animation-delay:.18s}.invitation-open .hero .botanical{animation:leaf-arrive 1.8s ease both}.reveal-pending{opacity:0;transform:translateY(16px);transition:opacity .85s ease,transform .85s ease}.reveal-pending.revealed{opacity:1;transform:translateY(0)}@keyframes card-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes seal-arrive{from{opacity:0;filter:blur(3px)}to{opacity:1;filter:blur(0)}}@keyframes arch-arrive{from{opacity:0}to{opacity:1}}@keyframes name-arrive{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}@keyframes leaf-arrive{from{opacity:0}to{opacity:.33}}@media(prefers-reduced-motion:reduce){.welcome-card,.seal,.invitation-open .invitation-arch,.invitation-open #names>span,.invitation-open .hero .botanical{animation:none}.reveal-pending{opacity:1;transform:none;transition:none}}@media(max-width:350px){.rsvp-section{padding:36px 21px}.rsvp-section h2{font-size:32px}}


.attendance-options{padding:0;border:0;margin:22px 0;display:grid;grid-template-columns:1fr 1fr;gap:9px}.attendance-options legend{font-size:11px;color:#e9e7da;margin-bottom:11px}.attendance-options label{position:relative;display:block;cursor:pointer}.attendance-options input{position:absolute;opacity:0;width:1px;height:1px}.attendance-options span{display:flex;align-items:center;justify-content:center;min-height:49px;border:1px solid #c7ad7350;border-radius:4px;color:var(--muted);font-size:11px;background:#ffffff03}.attendance-options input:checked+span{color:var(--gold);border-color:var(--gold);background:#c7ad7310}.attendance-options input:focus-visible+span{outline:2px solid var(--gold);outline-offset:3px}#guest-count-area>label{display:block;font-size:11px;color:#e9e7da;margin:20px 0 10px}#guest-count-area[hidden]{display:none}

