:root{--cream:#f7f0e4;--ink:#4b402f;--gold:#a88648;--green:#102d25}body{background:#f7f0e4}body:after{opacity:.28}.language-switch{background:#f5edddf2;border-color:#bb9d65;border-radius:2px;box-shadow:0 4px 18px #071c1a24}.language-switch button{border-radius:0}.eyebrow{letter-spacing:3px;color:#8a7046}#envelope{background-image:url('rose-sprig.svg'),url('rose-sprig.svg'),radial-gradient(ellipse at 50% 25%,#335344 0,#19392f 45%,#081f1a 100%);background-position:left bottom,right top,center;background-size:auto 105%,auto 102%,cover}.envelope-frame{position:absolute;inset:40px;border:1px solid #c6ac7050;pointer-events:none}.envelope-frame:before,.envelope-frame:after{content:'❧';position:absolute;left:50%;transform:translateX(-50%);color:#d0b67a;font:48px Georgia;line-height:1;top:-27px;background:#244236;padding:0 20px}.envelope-frame:after{top:auto;bottom:-25px;transform:translateX(-50%) rotate(180deg);background:#112d25}#envelope:before{inset:23px;border-color:#c6ac7080}#envelope:after{inset:29px;border-color:#c6ac7030}#envelope .eyebrow{color:#e1d0a9}.fold{background:linear-gradient(39deg,transparent 49.9%,#dfc99445 50%,transparent 50.1%),linear-gradient(-39deg,transparent 49.9%,#dfc99445 50%,transparent 50.1%)!important;opacity:.75}.envelope-top{top:15%}.envelope-top h1{color:#f6e8ca;text-shadow:0 2px 1px #040f0b55}.envelope-top .date{font-size:12px;letter-spacing:7px;color:#e3cfa1}.envelope-top h1 span{font-size:.42em}#seal{top:58%;width:147px;height:147px;border:1px solid #b69351;border-radius:46% 54% 48% 52% / 51% 45% 55% 49%;background:radial-gradient(ellipse at 30% 20%,#f7e9bf,#d2b87f 45%,#ae8945 80%,#d3b572);box-shadow:0 12px 25px #0008,inset 0 0 0 5px #d8bf87,inset 0 0 0 7px #a98a4e,inset 0 0 0 10px #ead4a0;color:#775b2a;text-shadow:0 1px #fff1c9}#seal:before{content:'';position:absolute;inset:14px;border:1px solid #a4854688;border-radius:50%;pointer-events:none}#seal span{font-size:38px}#seal small{font-size:12px}.open-hint{bottom:12%;font-size:12px}.open-hint span{color:#dec79a}.hero{min-height:900px;padding-top:76px;background:radial-gradient(ellipse at center,#fffdf6 0,#f7f0e4 70%)}.hero:before,.hero:after,.families:before,.details:after,.venue:before,footer:before{background-image:url('rose-sprig.svg')}.hero:before,.hero:after{width:370px;height:720px;opacity:.68}.hero:before{left:-35px;bottom:-15px}.hero:after{right:-35px;top:0}.halo{width:620px;height:785px;top:35px;border-color:#b2945b66;background:linear-gradient(110deg,#ffffff50,transparent)}.hero .halo{box-shadow:0 0 0 7px #f7f0e4,0 0 0 8px #b2945b38,0 0 0 17px #f7f0e440,0 0 0 18px #b2945b18}.hero h1{font-size:112px;color:#8b6b35;text-shadow:0 1px #fff;line-height:1.5;margin:6px 0}.hero .intro{font-size:23px;color:#8d734a}.rings{margin:40px 0 25px}.rings i{border:3px double #b59960;box-shadow:1px 2px 3px #68512615,inset 0 0 0 1px #e2cb92;position:relative}.rings i:first-child:before{content:'';position:absolute;top:-7px;left:17px;width:7px;height:7px;transform:rotate(45deg);border:1px solid #b59960;background:#f6edd7}.ornament{font-size:14px;margin:22px auto;color:#a88648}.ornament:before,.ornament:after{background:linear-gradient(90deg,transparent,#b59960,transparent);width:110px}.fullnames{font-size:28px;line-height:1.5}.hero .date{font-size:16px;letter-spacing:8px}.scroll{letter-spacing:1px;font-size:11px}.families{background:#eee4d1;padding:105px 24px}.families:after{content:'';position:absolute;inset:20px;border:1px solid #af925e45;z-index:-1;pointer-events:none}.families:before{opacity:.3;width:360px;left:-60px}.families h2{color:#896b39}.family-names{font-size:25px}.invitation-copy em{color:#927039}.details{padding:110px 24px;background:radial-gradient(ellipse at 35% 20%,#fffdf7,#f7f0e4 65%)}.details:after{opacity:.3;width:370px;height:640px}.details h2{color:#6d5938}.date-display{margin-top:30px}.date-display strong{font-family:'Cormorant Garamond',Georgia,serif;font-size:115px;color:#9c7b41;font-weight:400}.date-display>span{font-size:13px}#countdown{gap:0;margin:40px auto 25px;width:min(420px,100%);padding:22px 8px;border-top:1px solid #b1956045;border-bottom:1px solid #b1956045}#countdown>div{width:25%;border-inline-end:1px solid #b1956033}#countdown>div:last-child{border:0}#countdown strong{font-family:'Cormorant Garamond',Georgia,serif;font-size:43px;color:#836a3f}#countdown span{font-size:10px;letter-spacing:1px}.button{background:linear-gradient(110deg,#b69a64,#d5be8d 50%,#b59a64);border:1px solid #b59a64;box-shadow:inset 0 0 0 3px #f5ebd155,0 6px 18px #88704415;color:#382d1b;min-height:50px;padding:14px 30px}.button:hover{background:linear-gradient(110deg,#d1b780,#e8d4ab,#c4a774)}.venue{padding:110px 24px;background:radial-gradient(ellipse at center,#2a483a,#0c271f);margin:0 35px;border:1px solid #af925e;outline:1px solid #b5996055;outline-offset:7px}.venue:after{content:'';position:absolute;inset:17px;border:1px solid #c1a46a55;pointer-events:none;z-index:-1;background:url('rose-sprig.svg') no-repeat right top/auto 115%;opacity:.5}.venue:before{height:610px;width:340px;left:-50px;opacity:.6}.venue-pattern{display:none}.venue .eyebrow{color:#d9c494}.venue h2{font-family:'Great Vibes',cursive;font-size:89px;color:#f0dfb8}.venue p:not(.eyebrow){color:#eee1c8}.venue .ornament{color:#e4cb92}.original{padding:120px 35px;gap:90px;max-width:1080px}.original img{border:12px solid #f6eddc;outline:1px solid #b29866;outline-offset:5px;box-shadow:0 22px 45px #57412425;transform:rotate(-2deg)}.original h2{color:#795e32}.text-link{color:#8a7046}footer{background:#e9dec8;padding:80px 20px}footer:after{content:'';position:absolute;inset:16px;border:1px solid #a58a5844;pointer-events:none}footer h2{color:#8c6c38}.language-switch{transition:box-shadow .2s}html[lang=en] .hero h1,html[lang=en] .envelope-top h1,html[lang=en] footer h2,html[lang=en] .invitation-copy em{font-family:'Great Vibes',cursive;font-weight:400}html[lang=en] .envelope-top h1{font-size:100px;line-height:1.3;margin:22px 0 14px}html[lang=en] .hero h1{font-size:105px;line-height:1.4;margin:8px 0}html[lang=en] .hero h1 span{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:.45em}html[lang=en] h2,html[lang=en] .fullnames,html[lang=en] .family-names,html[lang=en] .invitation-copy{font-family:'Cormorant Garamond',Georgia,serif}html[lang=en] .venue h2{font-family:'Great Vibes',cursive}html[lang=en] .details h2{font-size:54px}html[lang=en] .fullnames{font-size:27px;line-height:1.3}html[lang=en] .family-names{font-size:25px}html[lang=en] .invitation-copy em{font-size:65px}html[lang=en] .original h2{font-size:51px;line-height:1.1}html[lang=en] footer h2{font-size:70px}html[lang=en] .open-hint span{font-family:'Cormorant Garamond',serif;font-size:25px}html[lang=en] #seal span{font-family:'Great Vibes',cursive;font-size:40px}html[lang=en] .intro{font-family:'Cormorant Garamond',serif;font-size:25px}html[lang=en] .hero .eyebrow{letter-spacing:2px}
@media(max-width:800px){.hero:before,.hero:after{width:210px;height:490px;opacity:.5}.hero:before{left:-100px}.hero:after{right:-100px}.halo{width:82%;height:740px;top:35px}.hero{min-height:825px;padding-top:80px}.hero h1{font-size:82px}.fullnames{font-size:25px}.envelope-frame{inset:30px}#envelope:before{inset:16px}#envelope:after{inset:21px}.envelope-frame:before,.envelope-frame:after{font-size:33px;top:-17px;padding:0 12px}.envelope-frame:after{top:auto;bottom:-17px}.envelope-top{top:19%}#envelope{background-size:auto 90%,auto 85%,cover;background-position:-150px bottom,calc(100% + 150px) top,center}.envelope-top h1{font-size:78px}#seal{top:58%;width:125px;height:125px}.open-hint{bottom:13%}.open-hint span{font-size:21px}.families,.details{padding:75px 22px}.family-names{font-size:21px;gap:20px}.families:before{left:-170px;opacity:.23}.venue{margin:0 16px;padding:85px 24px}.venue h2{font-size:64px}.venue:before{left:-150px;opacity:.32}.venue:after{background-position:calc(100% + 150px) top;opacity:.3}.venue .button{font-size:10px;padding:13px 15px}.original{padding:90px 30px;gap:55px}.original img{max-width:330px}.original h2{font-size:36px}html[lang=en] .envelope-top h1{font-size:clamp(48px,12vw,80px);margin-top:24px}html[lang=en] .hero h1{font-size:clamp(49px,12vw,78px);margin:22px 0}html[lang=en] .hero .eyebrow{font-size:8px;letter-spacing:1px}html[lang=en] .fullnames{font-size:23px}html[lang=en] .details h2{font-size:40px}html[lang=en] .family-names{font-size:20px}html[lang=en] .invitation-copy em{font-size:50px}html[lang=en] .original h2{font-size:43px}html[lang=en] footer h2{font-size:58px}.details:after{right:-180px;opacity:.25}.date-display strong{font-size:95px}.hero .date{letter-spacing:5px;font-size:14px}.hero .ornament{margin:18px auto}.hero .scroll{font-size:10px}.language-switch{right:14px;top:12px}.envelope-top .eyebrow{font-size:9px;letter-spacing:1px}.envelope-top .date{font-size:10px;letter-spacing:5px}}
@media(max-height:650px){.envelope-top{top:14%}.envelope-top h1,html[lang=en] .envelope-top h1{font-size:55px;margin:10px 0}#seal{width:105px;height:105px;top:60%}.open-hint{bottom:9%}.open-hint span{margin-top:5px;font-size:17px}.envelope-top .eyebrow{font-size:9px}.envelope-frame:after{display:none}}
.envelope-frame:before,.envelope-frame:after{background:transparent}html[lang=en] #seal span{font-size:32px;transform:translateX(-2px)}

/* Sparse corner florals; keep the centre clear at every screen size. */
#envelope{background-image:url('rose-sprig.svg'),url('rose-sprig.svg'),radial-gradient(ellipse at 50% 25%,#335344 0,#19392f 45%,#081f1a 100%);background-repeat:no-repeat;background-size:clamp(145px,20vw,245px) auto,clamp(130px,17vw,205px) auto,cover;background-position:left 26px bottom 28px,right 26px top 28px,center;display:flex;align-items:center;justify-content:flex-start;gap:clamp(24px,5vh,44px);padding:55px 30px;overflow-x:hidden;overflow-y:auto}
#envelope .envelope-top{position:relative;top:auto;width:100%;margin-top:auto;flex-shrink:0}
#envelope #seal{position:relative;top:auto;transform:rotate(-7deg);flex-shrink:0}
.envelope-bottom{position:relative;display:flex;align-items:center;flex-direction:column;gap:22px;margin-bottom:auto;flex-shrink:0}
#envelope .open-hint{position:static;bottom:auto}
.language-switch{position:static;inset:auto;display:inline-flex;align-self:center;width:max-content;margin:0;z-index:auto;box-shadow:none;border-radius:24px;padding:3px;background:#f6efdf;border:1px solid #b59a6455;direction:ltr}
.language-switch button{border-radius:20px;min-height:40px;padding:7px 17px;font-size:12px}
#envelope .language-switch{background:#112e25aa;border-color:#ccb17a66}
#envelope .language-switch button{color:#e8dbbc}
#envelope .language-switch button[aria-pressed=true]{background:#e8d7ae;color:#203b2f}
footer .language-switch{display:flex;margin:26px auto 0}
nav,html[lang=en] nav{justify-content:center;padding-inline:20px;gap:32px}
.hero:before,.hero:after{background-image:url('rose-sprig.svg');width:clamp(130px,18vw,240px);height:350px;opacity:.38}
.hero:before{left:20px;bottom:25px}
.hero:after{right:20px;top:35px;transform:rotate(180deg)}
.families:before,.details:after,.venue:before,footer:before{display:none}
.venue:after{background:none;opacity:1}
@media(max-width:800px){
#envelope{padding:50px 26px;background-size:135px auto,115px auto,cover;background-position:left -32px bottom 35px,right -25px top 30px,center;gap:32px}
#envelope .envelope-top{width:100%}
#envelope .envelope-top h1,html[lang=en] #envelope .envelope-top h1{margin-top:16px;margin-bottom:10px}
.envelope-bottom{gap:20px}
.hero:before,.hero:after{width:120px;height:175px;opacity:.29}
.hero:before{left:-24px;bottom:24px}
.hero:after{right:-24px;top:35px}
nav,html[lang=en] nav{padding-inline:16px;gap:30px}
}
@media(max-height:650px){
#envelope{gap:22px;padding-block:36px}
#envelope .envelope-top h1,html[lang=en] #envelope .envelope-top h1{font-size:55px;margin:8px 0}
#envelope #seal{top:auto;width:105px;height:105px}
.envelope-bottom{gap:16px}
#envelope .open-hint span{font-size:18px}
}
.language-switch button,footer .language-switch button{margin:0;border:0;min-height:40px;padding:7px 17px}
