:root{--cream:#f8f3e7;--paper:#fbf7ef;--bg:#f6eadb;--burgundy:#883a40;--rust:#b95439;--ink:#633b2e;--olive:#686c44;--line:#dac5b2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:82px}body{margin:0;background:var(--bg);color:var(--ink);font-family:'Cormorant Garamond',Georgia,serif;font-size:19px}a{color:inherit}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--olive);outline-offset:5px}img{max-width:100%;display:block}.header{height:78px;position:sticky;top:0;z-index:10;background:rgba(246,234,219,.95);border-bottom:1px solid #decbb755;display:flex;justify-content:space-between;align-items:center;padding:0 6%;backdrop-filter:blur(12px)}.monogram{text-decoration:none;font-size:30px;font-style:italic}.monogram span{font:9px Inter,sans-serif;letter-spacing:2px;display:block;margin-top:1px}nav{display:flex;gap:35px}nav a{text-decoration:none;font-size:19px;padding:12px 0;color:#887c70;border-bottom:1px solid transparent}nav a.active{color:var(--burgundy);border-color:var(--burgundy)}.skip-link{position:fixed;top:-100px;left:15px;z-index:30;background:white;padding:12px}.skip-link:focus{top:10px}.eyebrow{font:10px/1.8 Inter,sans-serif;letter-spacing:3px}.script{font-family:'Great Vibes',cursive;font-weight:400}.invitation{position:relative;overflow:hidden;min-height:1020px;text-align:center;padding:40px 20px 30px;background:var(--cream)}.hero-intro{position:relative;z-index:1}.hero-intro .script{font-size:43px;margin:18px 0 0;color:var(--rust)}.hero-intro>p:last-child{font-size:17px;margin:0}.hero-flower{position:absolute;width:480px;opacity:.32;pointer-events:none}.flower-left{top:-55px;left:-95px;transform:rotate(20deg)}.flower-right{top:200px;right:-110px;transform:rotate(-20deg)}.envelope{position:relative;max-width:560px;margin:25px auto 0;padding:120px 56px 45px;background:url('public/envelope.svg') center/100% 100% no-repeat}.invitation-card{position:relative;background:var(--cream);border:12px solid var(--burgundy);outline:1px solid #a9625b;outline-offset:-20px;padding:42px 22px 27px;box-shadow:0 13px 38px #59412d24}.seal{position:absolute;top:-43px;left:50%;transform:translateX(-50%);filter:drop-shadow(0 3px 2px #542d3233)}.invitation-card>.eyebrow{font-size:8px;letter-spacing:2px;margin:4px 0 15px}h1{font:58px/1.15 'Great Vibes',cursive;color:var(--burgundy);margin:0 0 12px}.birthday{display:flex;align-items:center;justify-content:center;gap:12px;color:var(--burgundy)}.age{font-size:91px;line-height:1}.age sup{font-size:30px;font-style:italic;vertical-align:top;position:relative;top:11px}.birthday p{text-align:left;font-size:20px;line-height:1.05;margin:0}.birthday small{display:block;font-size:12px;margin-top:8px}.date-block{display:flex;align-items:center;justify-content:space-around;border-top:1px solid var(--burgundy);margin:20px auto 0;padding-top:8px;max-width:290px;color:var(--rust)}.date-block p{font-size:15px;font-style:italic;margin:0}.date-block small{display:block;font-size:10px;font-style:normal}.date-block .day{font-size:75px;line-height:1}.month{letter-spacing:2px;font-size:13px;border-bottom:1px solid var(--burgundy);padding:8px 0 14px;margin:0 auto 12px;max-width:290px}.pin{color:var(--olive);font-size:32px}.venue h2{font-size:17px;text-transform:uppercase;margin:3px 0}.venue p{font-size:13px;margin:3px 0}.venue .address{font-size:12px;line-height:1.4;margin:13px 0}.text-link{display:inline-block;font:10px Inter,sans-serif;letter-spacing:1px;text-decoration:none;border-bottom:1px solid var(--rust);padding:7px 0;color:var(--rust)}.text-link span{margin-left:12px}.scroll-cue{display:block;text-decoration:none;font-style:italic;font-size:17px;margin:20px auto 0}.scroll-cue span{display:block;font-size:25px;margin-top:7px}.section{position:relative;overflow:hidden}.dresscode{text-align:center;background:var(--cream);min-height:770px;padding:95px 24px 170px;border-top:1px solid #ded3be}.botanical-bg{position:absolute;inset:0;background:url('public/flower_background.svg') center bottom/100% 100% no-repeat;opacity:.85;pointer-events:none}.section-content{position:relative;max-width:640px;margin:auto}h2{font-weight:500}.dresscode h2{font-size:46px;margin:12px 0 35px}.formal{font-size:18px;letter-spacing:2px;color:var(--burgundy);margin-bottom:6px}.italic{font-style:italic;font-size:21px;margin:6px 0}.translation{font-size:17px;line-height:1.45}.palette{display:flex;justify-content:center;gap:23px;list-style:none;margin:32px 0 45px;padding:0}.palette li{font:9px Inter,sans-serif;letter-spacing:1px;color:#716858}.palette span{display:block;width:49px;height:49px;border-radius:50%;background:var(--swatch);margin-bottom:12px}.countdown-wrap{border-top:1px solid #b78e75;padding-top:33px;max-width:420px;margin:auto}.countdown{display:flex;align-items:flex-start;justify-content:center;gap:13px;color:var(--rust);margin:22px 0}.countdown div{min-width:65px}.countdown span{font-size:56px;line-height:1;font-weight:600;font-variant-numeric:tabular-nums}.countdown small{display:block;font:9px Inter,sans-serif;letter-spacing:2px;margin-top:12px;color:var(--ink)}.countdown b{font-size:40px;font-weight:400;line-height:1}.countdown-wrap>.italic{font-size:17px}.message{background:var(--burgundy);color:var(--cream);text-align:center;min-height:720px;display:grid;place-items:center;padding:100px 25px}.message-content{position:relative;z-index:1;max-width:500px}.tiny-flower{font-size:35px;color:#d5a078}.message h2{font-size:67px;line-height:1.1;margin:30px -30px 12px}.message-content>.eyebrow{font-size:9px}.message-content>p:not(.eyebrow){font-size:20px;line-height:1.45}.message .english-message{font-style:italic;margin-top:38px}.message .verse{font-style:italic;font-size:18px!important}.short-rule{display:block;height:1px;width:55px;background:#cb9680;margin:27px auto}.message-flower{position:absolute;width:420px;opacity:.22;pointer-events:none}.message-flower.top{top:-90px;left:-100px;transform:rotate(15deg)}.message-flower.bottom{bottom:-110px;right:-100px;transform:rotate(-20deg)}.rsvp-section{padding:100px 6%;background:radial-gradient(ellipse at top left,#fae2c5,transparent 60%)}.rsvp-card{max-width:1080px;margin:auto;display:grid;grid-template-columns:.85fr 1.3fr;background:#fffdf9;border-radius:140px 140px 12px 12px;overflow:hidden;box-shadow:0 15px 50px #87573609}.rsvp-photo{position:relative;min-height:750px;background:#c7a57c}.rsvp-photo>img{height:100%;width:100%;object-fit:cover;position:absolute}.rsvp-photo:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#312c20b3)}.rsvp-photo>div{position:absolute;bottom:65px;left:25px;right:25px;text-align:center;z-index:1;color:#fff4df}.rsvp-photo .script{font-size:45px;line-height:1.2}.rsvp-content{padding:38px 45px 45px}.language{display:flex;justify-content:flex-end;gap:4px;margin-bottom:40px}.language button{border:1px solid #e7d4bf;border-radius:25px;padding:9px 12px;font:10px Inter,sans-serif;color:var(--ink);background:transparent}.language button[aria-pressed=true]{background:var(--rust);color:white;border-color:var(--rust)}.rsvp-content>.eyebrow{color:var(--rust);font-size:9px;letter-spacing:2px}.rsvp-content h2{font-size:38px;line-height:1.1;margin:16px 0 5px}.rsvp-subtitle{font-size:36px;color:var(--rust);margin:0}.rsvp-description{font-size:18px;line-height:1.5;margin:18px 0 28px}form{font-size:18px}form>label,#count-field>label{display:block;margin:21px 0 8px}.required{color:var(--rust)}input:not([type=radio]),textarea{width:100%;border:1px solid #e4cfbb;border-radius:9px;background:transparent;padding:12px 14px;color:var(--ink);font:15px/1.4 Inter,sans-serif}textarea{resize:vertical;min-height:100px}fieldset{border:0;padding:0;margin:21px 0}legend{padding:0;margin-bottom:8px}.attendance-options{display:flex;gap:10px}.attendance-options label{flex:1;border:1px solid #e4cfbb;border-radius:9px;padding:12px;display:flex;align-items:center;gap:8px;cursor:pointer}.attendance-options label:has(input:checked){border-color:var(--rust);background:#fbefe4}input[type=radio]{accent-color:var(--rust);width:17px;height:17px;margin:0}.privacy{font:10px/1.6 Inter,sans-serif;color:#827567}.submit{display:flex;align-items:center;justify-content:center;gap:15px;width:100%;border:0;border-radius:9px;padding:18px;background:#b95129;color:white;font:600 13px Inter,sans-serif;box-shadow:0 8px 16px #b9512920;margin-top:18px}.submit:hover{background:#963e1e}.submit:disabled{opacity:.6;cursor:wait}#form-status{font:13px/1.6 Inter,sans-serif;margin-bottom:0}#form-status:empty{display:none}#form-status[data-state=error]{color:#9d2634}#form-status[data-state=success]{color:#526435}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}footer{text-align:center;padding:5px 20px 45px}footer .script{font-size:35px;margin:10px}footer>p:last-child{font:9px Inter,sans-serif;letter-spacing:2px;color:#887966}.noscript{text-align:center;padding:20px;background:#fff} [hidden]{display:none!important}
@media(min-width:1100px){.hero-flower{width:600px}.flower-left{left:calc(50% - 760px)}.flower-right{right:calc(50% - 760px)}.dresscode{max-width:1100px;margin:auto}.botanical-bg{background-size:100% auto}.message-flower{width:540px}.message-flower.top{left:calc(50% - 760px)}.message-flower.bottom{right:calc(50% - 760px)}}
@media(max-width:700px){body{font-size:17px}.header{height:62px;padding:0 18px;justify-content:center}.monogram{display:none}nav{gap:25px}nav a{font-size:16px}html{scroll-padding-top:62px}.invitation{min-height:0;padding:27px 12px 30px}.hero-intro .eyebrow{font-size:8px;letter-spacing:2px}.hero-intro .script{font-size:37px}.hero-intro>p:last-child{font-size:15px}.hero-flower{width:300px}.flower-left{left:-120px;top:20px}.flower-right{right:-155px;top:220px}.envelope{max-width:440px;padding:83px 27px 32px;margin-top:15px}.invitation-card{padding:37px 14px 20px;border-width:9px;outline-offset:-15px}.seal{width:65px;height:65px;top:-37px}h1{font-size:49px}.age{font-size:77px}.age sup{font-size:26px}.birthday p{font-size:18px}.birthday small{font-size:11px}.invitation-card>.eyebrow{font-size:7px}.date-block{margin-top:17px}.date-block p{font-size:12px}.date-block .day{font-size:65px}.month{font-size:11px}.venue h2{font-size:15px}.venue p{font-size:12px}.venue .address{font-size:11px}.scroll-cue{font-size:15px;margin-top:10px}.dresscode{padding:65px 20px 145px;min-height:660px}.dresscode h2{font-size:34px;margin-bottom:30px}.formal{font-size:15px;letter-spacing:1px}.italic{font-size:19px}.translation{font-size:15px}.palette{gap:13px;margin:27px 0 32px}.palette span{width:39px;height:39px}.palette li{font-size:8px}.countdown-wrap{max-width:320px;padding-top:25px}.countdown-wrap .eyebrow{font-size:8px;letter-spacing:2px}.countdown{gap:7px}.countdown div{min-width:54px}.countdown span{font-size:46px}.countdown small{font-size:8px;letter-spacing:1px}.countdown b{font-size:32px}.message{min-height:670px;padding:85px 30px}.message h2{font-size:49px;margin:25px -15px 12px}.message-content>p:not(.eyebrow){font-size:18px}.message .english-message br{display:none}.message-flower{width:300px}.message-flower.top{top:-55px;left:-130px}.message-flower.bottom{bottom:-60px;right:-110px}.rsvp-section{padding:55px 18px}.rsvp-card{grid-template-columns:1fr;border-radius:100px 100px 12px 12px}.rsvp-photo{min-height:260px}.rsvp-photo>img{object-position:center 30%}.rsvp-photo>div{bottom:15px}.rsvp-photo .script{font-size:34px;margin:0 0 12px}.rsvp-photo .script br{display:none}.rsvp-photo .eyebrow{font-size:8px}.rsvp-content{padding:25px 24px 30px}.language{margin-bottom:25px}.rsvp-content h2{font-size:34px}.rsvp-description{font-size:17px}.rsvp-subtitle{font-size:31px}form{font-size:17px}.attendance-options label{padding:12px 9px}footer .script{font-size:31px}}@media(max-width:360px){nav{gap:19px}.envelope{padding-left:14px;padding-right:14px}h1{font-size:44px}.palette{gap:9px}.palette span{width:34px;height:34px}.rsvp-content{padding-left:18px;padding-right:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
