@font-face{font-family:Cormorant;src:url('assets/serif.woff2') format('woff2');font-weight:300 700;font-display:swap}@font-face{font-family:Cormorant;src:url('assets/serif-italic.woff2') format('woff2');font-weight:300 700;font-style:italic;font-display:swap}@font-face{font-family:GreatVibes;src:url('assets/script.woff2') format('woff2');font-display:swap}
:root{--paper:#f8f6ef;--paper-dark:#eeede3;--olive:#465232;--deep:#303c28;--sage:#8fa17a;--gold:#a58b50;--gold-light:#d9c48c;--ink:#30372a;--muted:#69705f;--line:#d6d7c8;--serif:Cormorant,Georgia,serif;--script:GreatVibes,'Brush Script MT',cursive;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:19px;-webkit-font-smoothing:antialiased}body.welcome-open{overflow:hidden}button,input,select,textarea{font:inherit}a{color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:5px}button:disabled{opacity:.6;cursor:wait}::selection{background:#d9ddc9;color:var(--deep)}[hidden]{display:none!important}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.skip-link{position:fixed;top:-90px;left:20px;z-index:100;padding:12px 18px;background:var(--olive);color:white}.skip-link:focus{top:12px}svg{display:block}p,h1,h2,h3,h4,blockquote{margin:0}h1,h2,h3,h4{font-weight:400}h2{font-size:clamp(39px,4.1vw,61px);line-height:1.08;letter-spacing:-.035em}h3{font-size:38px;line-height:1.15}cite{font-family:var(--sans);font-style:normal;font-size:9px;letter-spacing:.25em}main:focus{outline:none}.eyebrow{font-family:var(--sans);font-size:9px;font-weight:500;letter-spacing:.23em;line-height:1.8}.section-pad{padding:95px max(7vw,24px)}.section-heading{text-align:center}.section-heading h2{margin:13px 0 18px}.section-lead{font-size:22px;line-height:1.5;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:51px;padding:15px 23px;text-decoration:none;font:500 11px/1.5 var(--sans);letter-spacing:.04em;border:1px solid transparent;transition:background .2s,transform .2s;cursor:pointer}.button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.3}.button svg:last-child{margin-left:10px}.button-olive{color:var(--paper);background:var(--olive)}.button-olive:hover{background:var(--deep);transform:translateY(-2px)}.button-outline{border-color:#b7bca9;color:var(--olive);background:transparent}.button-outline:hover{background:#e3e7d9}.text-button{border:0;background:transparent;color:var(--olive);padding:12px 0;font:10px/1.6 var(--sans);letter-spacing:.06em;text-decoration:underline;text-underline-offset:5px}.text-button span{margin-left:10px}.header{height:84px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);margin:0 6vw;position:relative;z-index:2}.brand{font-size:29px;letter-spacing:.1em;text-decoration:none;white-space:nowrap}.brand span{font-style:italic;font-size:22px;color:var(--gold)}nav{display:flex;align-items:center;gap:35px;font:10px var(--sans);letter-spacing:.05em}nav a{text-decoration:none}.nav-rsvp{display:flex;gap:15px;align-items:center;border-bottom:1px solid var(--gold);padding:11px 0}.nav-rsvp svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.3}.hero{max-width:1440px;position:relative;display:grid;grid-template-columns:1.1fr 1fr;gap:4vw;padding:55px 8vw 90px;margin:auto;align-items:center}.hero-copy{text-align:center;padding:8px 0}.section-kicker{display:flex;align-items:center;justify-content:center;gap:14px}.section-kicker>span{height:1px;width:24px;background:var(--gold)}.hero-intro{font-style:italic;font-size:25px;color:var(--gold);margin:20px 0 22px}.hero h1{display:flex;flex-direction:column;align-items:center;position:relative}.script-name{font-family:var(--script);font-size:clamp(50px,5.5vw,82px);line-height:1.25;color:var(--olive);font-weight:400;white-space:nowrap}.hero h1 small{font:9px var(--sans);letter-spacing:.28em}.ampersand{font-size:38px;font-style:italic;color:var(--gold);line-height:1.2;margin:8px 0 0}.blessing{max-width:350px;margin:28px auto 24px;font-size:20px;line-height:1.45;color:var(--muted)}.hero-date{display:flex;flex-direction:column;gap:6px;margin-bottom:26px}.hero-date>span{font:8px var(--sans);letter-spacing:.22em}.hero-date strong{font-size:29px;font-weight:400;letter-spacing:.06em}.hero-date i{font-size:18px;color:var(--gold);padding:0 5px;font-weight:300}.hero-art{position:relative;margin:3px 0 10px 14px}.photo-frame{position:relative;padding:12px;border:1px solid #bcbda9;border-radius:220px 220px 0 0;transform:rotate(2deg);background:var(--paper);box-shadow:10px 15px 45px #303c2810}.photo-frame img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;display:block;border-radius:210px 210px 0 0}.photo-caption{display:block;text-align:center;font:7px var(--sans);letter-spacing:.18em;margin:15px 0 5px}.round-label{position:absolute;bottom:24px;left:-38px;width:105px;height:105px;background:var(--paper);color:var(--olive);border:1px solid var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;transform:rotate(-9deg);box-shadow:0 0 0 6px var(--paper)}.round-label span{font:7px var(--sans);letter-spacing:.17em}.round-label strong{font-size:44px;font-weight:400;line-height:1.2}.scroll-cue{position:absolute;bottom:20px;left:8vw;display:flex;align-items:center;gap:20px;text-decoration:none;font:7px var(--sans);letter-spacing:.18em}.scroll-cue span:last-child{font-size:20px;color:var(--gold)}.date-section{background:var(--olive);color:var(--paper);padding:75px 24px;text-align:center;position:relative;overflow:hidden}.date-section h2{margin:14px 0 18px}.date-section .eyebrow{color:var(--gold-light)}.date-section .section-lead{color:#e0e4d7;font-size:20px}.countdown{display:flex;align-items:baseline;justify-content:center;gap:20px;margin:38px auto 25px}.countdown>div{min-width:76px;display:flex;flex-direction:column;gap:8px}.countdown strong{font-size:65px;line-height:1;font-weight:300;font-variant-numeric:tabular-nums}.countdown span{font:8px var(--sans);letter-spacing:.2em}.countdown>i{font-size:24px;font-style:normal;color:var(--gold-light);align-self:center;margin-top:-20px}.countdown-caption{font-style:italic;color:#e0e4d7;font-size:21px}.light{color:#e4dfc9;margin-top:14px}.date-branch{position:absolute;width:210px;height:350px;color:#b6c09a;opacity:.23}.date-branch.left{left:-48px;bottom:-60px;transform:rotate(10deg)}.date-branch.right{right:-48px;top:-60px;transform:rotate(190deg)}.families{background:var(--paper);max-width:1400px;margin:auto}.tiny-ornament{font-size:26px;color:var(--gold);display:block;margin:0 auto 15px}.parents{display:flex;align-items:center;justify-content:center;gap:7vw;margin:55px 0 40px;text-align:center}.parents .eyebrow{margin-bottom:21px;color:var(--gold)}.family-name{font-size:26px;line-height:1.25}.family-and{display:block;font-size:24px;line-height:1;color:var(--gold);font-style:italic;margin:9px 0}.family-divider{height:120px;width:1px;background:var(--line)}.godparents{text-align:center;border-top:1px solid var(--line);padding-top:34px;max-width:850px;margin:auto}.godparents .eyebrow{color:var(--gold)}.godparents>p:last-child{font-size:26px;margin-top:16px}.godparents span{color:var(--gold);font-style:italic;padding:0 13px}.celebration{background:#edeee5;border-top:1px solid #dfe2d3;border-bottom:1px solid #dfe2d3}.events{display:grid;grid-template-columns:1fr 1fr;max-width:1000px;margin:60px auto 0}.event{text-align:center;position:relative;padding:0 35px}.event+.event{border-left:1px solid #c9cebb}.event-number{font-size:75px;color:#dce0d0;position:absolute;left:35px;top:0;line-height:1;font-style:italic}.line-icon{width:82px;height:82px;fill:none;stroke:var(--gold);stroke-width:1;margin:0 auto 25px}.event .eyebrow{font-size:8px;color:var(--muted);letter-spacing:.17em}.event h3{margin:10px 0 15px}.event-time{font-style:italic;font-size:22px;color:var(--gold);min-height:33px}.event h4{font-size:24px;line-height:1.25;min-height:60px;margin:13px 0 10px}.location-note{font-size:19px;color:var(--muted);line-height:1.4;min-height:60px;margin-bottom:25px}.event .button{min-width:218px}.first-dance{background:var(--deep);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center;padding:70px 12vw}.dance-art{position:relative;max-width:340px;width:100%;margin:auto;color:var(--gold-light)}.couple{position:relative;width:100%;max-height:380px}.dance-halo{position:absolute;border:1px solid #b39a6144;border-radius:50%;width:95%;aspect-ratio:1;top:10%;left:2.5%;box-shadow:0 0 70px 15px #a58b5010,inset 0 0 90px #a58b5011}.dance-halo::after{content:'';position:absolute;inset:14px;border:1px solid #b39a6122;border-radius:50%}.dance-spark{position:absolute;font-size:30px;font-weight:300}.s1{top:25%;left:5%}.s2{top:13%;right:10%;font-size:20px}.s3{bottom:21%;right:7%;font-size:12px}.dance-copy{text-align:left}.dance-copy .eyebrow{color:var(--gold-light)}.dance-copy h2{margin:16px 0 22px}.gold-rule{height:1px;width:55px;background:var(--gold);display:block;margin-bottom:26px}.dance-copy blockquote{font-size:29px;font-style:italic;line-height:1.35}.dance-copy cite{display:block;margin-top:20px;color:var(--gold-light)}.dance-copy>p:last-child{font-size:20px;color:#d2d9c8;line-height:1.5;margin-top:30px}.dress-code{text-align:center;position:relative;overflow:hidden}.dress-icons{display:flex;align-items:center;justify-content:center;gap:25px;margin:35px auto 22px}.dress-icons svg{height:70px;width:70px;fill:none;stroke:var(--gold);stroke-width:1}.dress-icons span{font-family:var(--script);font-size:48px;color:var(--olive);padding-top:10px}.dress-copy{max-width:570px;margin:auto;color:var(--muted);font-size:23px;line-height:1.45}.dress-note{border-top:1px solid var(--line);max-width:500px;margin:30px auto 0;padding:26px 15px 0;display:flex;gap:15px;align-items:center;text-align:left}.dress-note .tiny-ornament{margin:0;font-size:27px}.dress-note p{font-size:19px;line-height:1.5;font-style:italic}.dress-branch{position:absolute;width:200px;height:360px;color:var(--sage);opacity:.35;bottom:-65px;right:-30px;transform:rotate(-35deg)}.rsvp-section{background:#e6e9dc;display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}.rsvp-intro{text-align:center}.rsvp-intro h2{margin:16px 0 22px;font-size:64px}.rsvp-intro>p:not(.eyebrow){font-size:23px;color:var(--muted);line-height:1.5}.rsvp-branch{width:95px;height:145px;color:var(--gold);margin:23px auto 15px;transform:rotate(20deg)}.rsvp-signature{display:block;font-family:var(--script);font-size:39px;line-height:1.15;color:var(--olive)}.rsvp-form{padding:35px;background:var(--paper);border:1px solid #d3d8c4;box-shadow:0 12px 40px #46523208;max-width:520px;width:100%;justify-self:center}.rsvp-form>label,.rsvp-form legend,#guests-field>label{font:11px/1.5 var(--sans);letter-spacing:.015em;display:block;margin:0 0 10px}.rsvp-form label>span[aria-hidden],.rsvp-form legend>span{color:var(--gold)}input[type=text],select,textarea{width:100%;border:1px solid #cbd0bf;border-radius:0;color:var(--ink);background:#fdfcf8;padding:13px 14px;font:13px/1.5 var(--sans);margin:0 0 25px;min-height:48px}textarea{resize:vertical;margin-bottom:18px}input::placeholder,textarea::placeholder{color:#858a7b;font-size:12px}select{font-size:12px;padding-right:7px}fieldset{padding:0;border:0;margin:0 0 24px;min-width:0}.radio-option{display:flex;align-items:center;gap:10px;padding:9px 0;font:12px/1.5 var(--sans);cursor:pointer}.radio-option input{accent-color:var(--olive);width:17px;height:17px;flex-shrink:0;margin:0}.optional{color:#7a806e;font-size:10px}.submit-button{width:100%;justify-content:center;font-size:11px}.submit-button svg{width:17px;height:17px}.submit-button svg:first-child{stroke-width:1}.form-help{font:10px/1.7 var(--sans);text-align:center;color:var(--muted);margin-top:13px}.form-help strong{font-weight:500}.form-error{font:12px/1.5 var(--sans);color:#9b3d2b;margin-bottom:15px}.rsvp-status{font:12px/1.6 var(--sans);color:var(--olive);margin-top:10px}.rsvp-status:empty{display:none}.rsvp-status a{display:block;margin-top:8px;font-weight:bold}.closing{text-align:center;position:relative}.closing>svg{width:75px;height:100px;color:var(--gold);margin:0 auto 15px;transform:rotate(15deg)}.closing-monogram{font-size:55px;letter-spacing:.07em;margin:0 auto 28px}.closing-monogram span{font-style:italic;color:var(--gold);font-size:45px}.closing blockquote{font-size:30px;line-height:1.4;font-style:italic}.closing cite{display:block;margin-top:20px;color:var(--gold)}.closing-date{font:10px var(--sans);letter-spacing:.23em;margin-top:42px}.closing-thanks{font-size:20px;font-style:italic;color:var(--muted);margin-top:17px}footer{border-top:1px solid var(--line);text-align:center;font:9px/1.8 var(--sans);color:var(--muted);padding:25px 65px}footer a{text-decoration:none;color:var(--olive);border-bottom:1px solid var(--gold)}.music-widget{position:fixed;z-index:30;right:22px;bottom:22px;display:flex;gap:12px;align-items:center;padding-bottom:env(safe-area-inset-bottom)}.music-toggle{width:51px;height:51px;border:1px solid #9e8449;border-radius:50%;background:linear-gradient(135deg,#d3bd80,#b59a5e);color:#354028;box-shadow:0 4px 17px #17221925;display:flex;align-items:center;justify-content:center}.music-tooltip{font:10px var(--sans);padding:9px 12px;background:var(--paper);color:var(--olive);box-shadow:0 2px 12px #303c2812;border:1px solid var(--line);opacity:0;transform:translateX(6px);transition:opacity .3s,transform .3s;pointer-events:none}.music-widget:hover .music-tooltip,.music-widget:focus-within .music-tooltip,.music-widget.hint .music-tooltip{opacity:1;transform:translateX(0)}.music-off{width:23px;height:23px}.equalizer{display:none;align-items:center;gap:3px;height:24px}.equalizer i{display:block;width:2px;height:15px;background:currentColor;animation:wave .85s ease-in-out infinite alternate}.equalizer i:nth-child(2){animation-delay:-.5s;height:23px}.equalizer i:nth-child(3){animation-delay:-.3s;height:12px}.equalizer i:nth-child(4){animation-delay:-.7s;height:20px}.equalizer i:nth-child(5){animation-delay:-.1s;height:10px}.music-toggle[aria-pressed=true] .equalizer{display:flex}.music-toggle[aria-pressed=true] .music-off{display:none}@keyframes wave{from{transform:scaleY(.3)}to{transform:scaleY(1)}}.welcome{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background:var(--paper);overflow:auto;transition:opacity .7s ease,visibility .7s ease}.welcome::after{content:'';position:absolute;inset:18px;border:1px solid #a58b504f;pointer-events:none}.welcome-content{text-align:center;position:relative;z-index:1;padding:40px 20px}.welcome h2{font-family:var(--script);font-size:64px;line-height:1.2;letter-spacing:0;margin:25px 0 10px;color:var(--olive)}.welcome h2 span{color:var(--gold);font-family:var(--serif);font-style:italic;font-size:45px}.welcome-date{font:9px var(--sans);letter-spacing:.28em;color:var(--muted)}.envelope{display:block;position:relative;isolation:isolate;background:#e9e8dc;width:340px;height:210px;margin:50px auto 32px;border:1px solid #d1d1bf;box-shadow:0 20px 40px #303c2818,0 1px 2px #303c2810;transform:rotate(-3deg);transition:transform .4s}.envelope:hover{transform:rotate(0deg) translateY(-5px)}.envelope::before,.envelope::after{content:'';position:absolute;inset:0}.envelope::before{background:linear-gradient(27deg,#f0efe4 50%,transparent 50%),linear-gradient(-27deg,#f3f2e9 50%,transparent 50%);filter:drop-shadow(0 -1px 1px #303c2810)}.envelope-fold{position:absolute;inset:0;display:block;background:linear-gradient(120deg,#fffef6,#e5e4d8);clip-path:polygon(0 0,100% 0,50% 60%);filter:drop-shadow(0 2px 2px #303c2820)}.envelope-lining{position:absolute;inset:8px;background:#75815d}.wax-seal{width:83px;height:83px;background:radial-gradient(ellipse at 35% 25%,#dcc58c,#b89b57 42%,#c9b375 64%,#947a3f 90%);border-radius:44% 48% 43% 47%;position:absolute;top:76px;left:calc(50% - 41px);display:flex;align-items:center;justify-content:center;box-shadow:2px 5px 6px #303c2838,inset 2px 3px 2px #e8d6a0,inset -2px -3px 3px #7e663c}.wax-seal::before{content:'';position:absolute;inset:7px;border:1px solid #8f753f;border-radius:50%;box-shadow:inset 1px 1px 2px #f2dfb9,1px 1px 2px #e2c98c}.wax-seal>span{font:28px var(--serif);color:#796132;text-shadow:0 1px #e6d2a1;letter-spacing:-.04em}.wax-seal i{font-weight:300;font-size:22px}.open-hint{font-style:italic;font-size:23px;color:var(--olive);margin-bottom:5px}.welcome-note{font-size:18px;color:var(--muted);font-style:italic;margin-top:30px}.welcome-corner{position:absolute;width:210px;height:330px;left:-50px;top:-40px;color:var(--sage);opacity:.5;transform:rotate(30deg)}.welcome-corner svg{width:100%;height:100%}.welcome-corner.lower{left:auto;top:auto;right:-50px;bottom:-40px;transform:rotate(210deg)}.welcome.leaving{opacity:0;visibility:hidden;pointer-events:none}.enhanced .reveal{opacity:0;transform:translateY(20px);transition:opacity .85s ease,transform .85s ease}.enhanced .reveal.visible{opacity:1;transform:translateY(0)}
@media(min-width:1500px){.hero{padding-left:110px;padding-right:110px}.hero-art{max-width:460px}}@media(max-width:980px){.header{margin:0 5vw;height:72px}nav{gap:20px}.hero{padding:40px 5vw 75px;gap:4vw}.hero-art{margin-left:0}.script-name{font-size:6.5vw}.hero-intro{font-size:23px;margin:16px 0}.blessing{font-size:19px;margin:24px auto 20px}.hero-date{margin-bottom:20px}.hero-date strong{font-size:25px}.section-kicker .eyebrow{font-size:7px;letter-spacing:.15em}.section-kicker>span{width:15px}.section-kicker{gap:8px}.round-label{width:85px;height:85px;left:-22px}.round-label strong{font-size:35px}.round-label span{font-size:6px}.section-pad{padding:75px 5vw}.family-name{font-size:23px}.parents{gap:4vw}.first-dance{padding:65px 6vw;gap:30px}.dance-copy blockquote{font-size:26px}.rsvp-section{gap:5vw}.rsvp-form{padding:27px}.rsvp-intro h2{font-size:53px}.rsvp-intro .eyebrow{font-size:8px}.rsvp-intro>p:not(.eyebrow){font-size:21px}.events{margin-top:50px}.event{padding:0 20px}.event-number{left:20px}}
@media(max-width:650px){html{scroll-padding-top:20px}.header{height:68px;margin:0 23px}.brand{font-size:25px}nav>a:not(.nav-rsvp){display:none}.nav-rsvp{font-size:9px;gap:12px}.nav-rsvp svg{width:15px}.hero{display:flex;flex-direction:column;padding:36px 23px 64px;gap:37px}.hero-copy{padding:0;width:100%}.section-kicker .eyebrow{font-size:7px;letter-spacing:.16em}.section-kicker>span{width:24px}.hero-intro{font-size:22px;margin:17px 0 16px}.script-name{font-size:62px;line-height:1.26}.hero h1 small{font-size:8px;letter-spacing:.26em}.ampersand{font-size:34px;margin:8px 0 0}.blessing{font-size:20px;max-width:303px;line-height:1.4;margin:24px auto 22px}.hero-date>span{font-size:8px}.hero-date strong{font-size:28px}.hero-date{margin-bottom:25px}.hero .button{font-size:10px;min-height:48px;padding:13px 18px}.hero-art{width:calc(100% - 38px);max-width:350px;margin:0 0 3px 8px}.photo-frame{padding:9px;border-radius:180px 180px 0 0;transform:rotate(2deg)}.photo-frame img{border-radius:170px 170px 0 0}.photo-caption{font-size:6px;margin:13px 0 4px;letter-spacing:.13em}.round-label{width:80px;height:80px;left:-22px;bottom:18px}.round-label strong{font-size:31px}.scroll-cue{bottom:18px;left:50%;transform:translateX(-50%);font-size:6px;white-space:nowrap}.date-section{padding:58px 20px}.date-section h2{font-size:40px;max-width:280px;margin:13px auto 20px}.date-section .section-lead{font-size:18px}.eyebrow{font-size:8px;letter-spacing:.18em}.countdown{gap:9px;margin:35px 0 22px}.countdown>div{min-width:55px;gap:9px}.countdown strong{font-size:49px}.countdown span{font-size:7px;letter-spacing:.14em}.countdown>i{font-size:18px;margin-top:-16px}.countdown-caption{font-size:20px}.date-branch{width:150px;height:270px;opacity:.16}.date-branch.left{left:-60px;bottom:-60px}.date-branch.right{right:-60px;top:-70px}.text-button{font-size:9px}.section-pad{padding:62px 24px}.section-heading h2{font-size:42px;margin:13px auto 18px;max-width:320px}.section-lead{font-size:20px}.parents{flex-direction:column;gap:0;margin:38px 0 30px}.family-name{font-size:25px}.parents .eyebrow{margin-bottom:17px}.family-divider{width:45px;height:1px;margin:31px auto;background:var(--gold)}.family-and{margin:7px 0;font-size:23px}.godparents{padding-top:27px}.godparents>p:last-child{font-size:25px;line-height:1.25;margin-top:17px}.godparents span{display:block;padding:8px 0}.events{grid-template-columns:1fr;margin-top:40px}.event{padding:0 5px 39px}.event+.event{border-left:0;border-top:1px solid #c9cebb;padding-top:39px;padding-bottom:0}.event-number{font-size:80px;left:20px;top:3px}.event+.event .event-number{top:42px}.line-icon{height:75px;width:75px;margin-bottom:20px}.event h3{font-size:37px}.event h4{font-size:25px;min-height:0;margin:14px auto 12px}.event-time{font-size:22px;min-height:0}.location-note{font-size:20px;min-height:0;line-height:1.4;margin-bottom:24px}.event .button{font-size:10px}.first-dance{grid-template-columns:1fr;gap:22px;padding:48px 27px 60px}.dance-art{max-width:260px}.dance-copy{text-align:center}.dance-copy h2{font-size:43px;max-width:300px;margin:14px auto 20px}.gold-rule{margin:0 auto 23px;width:40px}.dance-copy blockquote{font-size:28px;max-width:325px;margin:auto}.dance-copy cite{font-size:8px;margin-top:20px}.dance-copy>p:last-child{font-size:20px;margin-top:25px}.dress-icons{gap:17px;margin:30px auto 20px}.dress-icons svg{width:60px;height:60px}.dress-icons span{font-size:44px}.dress-copy{font-size:22px;max-width:330px}.dress-note{padding:23px 0 0;margin-top:27px;gap:15px;max-width:330px}.dress-note p{font-size:19px}.dress-branch{width:150px;height:250px;right:-60px;bottom:-60px;opacity:.23}.rsvp-section{grid-template-columns:1fr;gap:30px;padding-left:20px;padding-right:20px}.rsvp-intro h2{font-size:49px;margin:16px 0 18px}.rsvp-intro>p:not(.eyebrow){font-size:21px}.rsvp-branch{width:65px;height:100px;margin:18px auto 12px}.rsvp-signature{font-size:34px}.rsvp-form{padding:27px 20px;max-width:390px}.rsvp-form>label,.rsvp-form legend,#guests-field>label{font-size:11px}input[type=text],select,textarea{font-size:16px;min-height:49px}input::placeholder,textarea::placeholder{font-size:12px}select{font-size:12px}.radio-option{font-size:11px;gap:9px;padding:10px 0}.radio-option input{height:18px;width:18px}.submit-button{font-size:10px;gap:9px;padding:14px 10px}.submit-button svg:last-child{margin-left:3px}.form-help{font-size:9px;line-height:1.8}.closing{padding:52px 20px}.closing>svg{height:80px;width:60px}.closing-monogram{font-size:46px;margin-bottom:25px}.closing-monogram span{font-size:38px}.closing blockquote{font-size:25px}.closing cite{font-size:8px}.closing-date{font-size:9px;letter-spacing:.18em;margin-top:32px}.closing-thanks{font-size:19px}.music-widget{right:15px;bottom:17px}.music-toggle{height:47px;width:47px}.music-tooltip{font-size:9px}.welcome::after{inset:12px}.welcome h2{font-size:52px;white-space:nowrap;margin-top:25px}.welcome h2 span{font-size:37px}.welcome-content{padding:45px 20px}.welcome .eyebrow{font-size:8px}.welcome-date{font-size:8px;letter-spacing:.2em}.envelope{width:290px;height:183px;margin:42px auto 27px}.wax-seal{width:73px;height:73px;left:calc(50% - 36px);top:65px}.wax-seal>span{font-size:25px}.open-hint{font-size:21px}.welcome-note{font-size:17px;margin-top:22px}.welcome-corner{width:140px;height:230px;left:-45px;top:-30px;opacity:.4}.welcome-corner.lower{right:-45px;bottom:-30px}footer{padding:24px 58px;font-size:8px}}
@media(max-width:360px){.hero{padding-left:18px;padding-right:18px}.script-name{font-size:54px}.section-kicker .eyebrow{font-size:6px}.section-kicker>span{width:17px}.hero .blessing{font-size:19px}.envelope{width:255px;height:168px}.wax-seal{top:57px}.welcome h2{font-size:45px}.countdown{gap:6px}.countdown>div{min-width:50px}.countdown strong{font-size:44px}.radio-option{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.enhanced .reveal{opacity:1;transform:none}}
/* Keep the envelope folds above its lining and clip decorative branches. */
.welcome{overflow:hidden}.welcome-content{width:100%;max-height:100dvh;overflow-y:auto;overscroll-behavior:contain}.envelope-lining{z-index:0}.envelope::before{z-index:1}.envelope-fold{z-index:2}.wax-seal{z-index:3}

@media(max-width:650px){.rsvp-form>label,.rsvp-form legend,#guests-field>label{font-size:12px}.radio-option{font-size:13px;line-height:1.5;padding:11px 0}select{font-size:16px}.submit-button{font-size:12px;min-height:52px;gap:9px}.submit-button svg:last-child{display:none}.form-help{font-size:11px}.optional{font-size:11px}}

.dance-image{height:auto;max-height:none;object-fit:contain;mix-blend-mode:screen;filter:saturate(.7);opacity:.86}.dance-art:has(.dance-image){max-width:270px}@media(max-width:650px){.dance-art:has(.dance-image){max-width:230px}}

.site-footer{display:flex;flex-direction:column;align-items:center;gap:4px;background:var(--paper-dark);color:var(--deep);padding:30px 24px;font:14px/1.6 var(--sans)}
.site-footer a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:5px 0;font-size:16px;font-weight:600;letter-spacing:.025em;color:var(--olive);border-bottom:1px solid var(--gold);text-decoration:none}
.site-footer a:hover{color:var(--deep)}
@media(max-width:650px){.site-footer{padding-bottom:82px}}
