:root{--ink:#100b0c;--wine:#4d1120;--ivory:#faf4e8;--gold:#c9a557;--muted:#a99986}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--ivory);font-family:'DM Sans',sans-serif}#snow{position:fixed;inset:0;z-index:5;pointer-events:none}.screen{min-height:100svh;display:grid;place-items:center;padding:24px}.hidden{display:none!important}.eyebrow{text-transform:uppercase;letter-spacing:.2em;color:var(--gold);font-size:.65rem;margin:0 0 18px}.envelope-screen{overflow:hidden;position:relative;background:radial-gradient(circle at 50% 40%,#3b1720 0,#170c0f 43%,#090707 100%);text-align:center}.ambient{position:absolute;width:70vw;height:70vw;border-radius:50%;filter:blur(90px);opacity:.25}.ambient-one{background:#a86a36;top:-25%;left:-20%}.ambient-two{background:#70162e;bottom:-35%;right:-20%}.envelope-screen>*:not(.ambient){position:relative;z-index:1}.envelope{width:min(78vw,390px);aspect-ratio:1.45;border:0;background:linear-gradient(145deg,#7e192c,#3c0e19);padding:0;position:relative;cursor:pointer;box-shadow:0 28px 45px #0009;transition:transform .7s cubic-bezier(.2,.8,.2,1)}.envelope:before,.envelope:after{content:"";position:absolute;inset:0;background:linear-gradient(35deg,transparent 49.6%,#22060d 50%,transparent 50.4%)}.envelope:after{transform:scaleX(-1)}.flap{position:absolute;z-index:3;inset:0;background:linear-gradient(135deg,#9b263e,#510f21);clip-path:polygon(0 0,100% 0,50% 62%);transform-origin:top;transition:transform .8s ease}.letter{position:absolute;z-index:2;width:82%;height:83%;left:9%;top:8%;background:var(--ivory);color:var(--wine);display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;padding:23px;transition:transform .8s ease;box-shadow:0 3px 9px #0004}.letter em{font:3.6rem 'Great Vibes',cursive}.letter b{font:1.4rem 'Cormorant Garamond',serif}.letter small{flex-basis:100%;font:500 .55rem 'DM Sans';letter-spacing:.17em;text-transform:uppercase;color:#806a5b}.seal{position:absolute;z-index:4;width:70px;height:70px;border-radius:50%;left:calc(50% - 35px);top:calc(58% - 35px);display:grid;place-content:center;background:radial-gradient(circle at 30% 25%,#f1d585,#b5842d);color:#502719;font:2rem 'Great Vibes';line-height:.6;box-shadow:0 3px 7px #0007}.seal small{font:600 .6rem 'DM Sans';letter-spacing:1px}.envelope.open .flap{transform:rotateX(180deg)}.envelope.open .letter{transform:translateY(-42%) scale(1.04)}.envelope.open .seal{opacity:0;transition:opacity .2s}.tap{font:italic 1.15rem 'Cormorant Garamond';color:var(--muted)}.auth-screen{background:linear-gradient(145deg,#100b0c,#34101b)}.auth-card{width:min(100%,430px);text-align:center;padding:45px 27px;border:1px solid #c9a55766;background:#190f10aa;box-shadow:0 20px 70px #0008}.auth-card h1,.section h2{font:500 clamp(2.8rem,10vw,4.5rem) 'Cormorant Garamond',serif;margin:0;color:var(--ivory)}.auth-card>p:not(.eyebrow){color:var(--muted);line-height:1.65}.auth-card form{margin-top:28px}.auth-card input{width:100%;text-align:center;font-size:1.7rem;letter-spacing:.35em;padding:15px 8px;margin:10px 0 18px}.gold-button,.outline-button{display:inline-block;border:1px solid var(--gold);background:var(--gold);color:#20150e;padding:14px 22px;font:700 .7rem 'DM Sans';letter-spacing:.13em;text-transform:uppercase;cursor:pointer;text-decoration:none}.form-error{color:#e88989;font-size:.8rem;min-height:1em}.sound{position:fixed;z-index:10;top:20px;right:18px;border:1px solid #c9a55788;background:#110b0bdd;color:var(--ivory);padding:9px 11px;cursor:pointer;font-size:.72rem}.sound span{color:var(--gold);font-size:1rem;margin-right:5px}.hero{min-height:100svh;display:grid;place-items:center;text-align:center;padding:40px 20px;background:linear-gradient(#130c0cb8,#130c0ccf),radial-gradient(ellipse at top,#662238 0,#221016 48%,#100b0c 100%)}.hero-content{max-width:650px}.personal{font:italic 1.25rem 'Cormorant Garamond';color:var(--gold);margin:0 0 22px}.request,.section-copy{line-height:1.7;color:#d6cbbb;font-size:.9rem}.hero h1{margin:18px 0;font:500 clamp(4.7rem,20vw,9rem)/.7 'Great Vibes';color:var(--ivory);text-shadow:0 4px 25px #000}.hero h1 span,.hero h1 i{display:block}.hero h1 i{font:italic clamp(1.3rem,5vw,2.2rem) 'Cormorant Garamond';color:var(--gold);margin:12px}.date{letter-spacing:.2em;text-transform:uppercase;font-size:.72rem;color:var(--gold);margin-top:42px}.scroll-cue{display:inline-block;margin-top:70px;color:var(--ivory);text-decoration:none;font:italic 1rem 'Cormorant Garamond'}.scroll-cue span{color:var(--gold);margin-left:8px}.section{text-align:center;padding:88px max(22px,8vw)}.countdown{background:#f5ecdc;color:var(--wine)}#countdown{max-width:620px;margin:30px auto 0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #c9a55788;border-bottom:1px solid #c9a55788;padding:20px 0}#countdown b{font:500 clamp(1.8rem,7vw,3.8rem) 'Cormorant Garamond';display:block}#countdown span{font-size:.55rem;text-transform:uppercase;letter-spacing:.13em;color:#806a5b}.events{background:#100b0c}.section-copy{max-width:470px;margin:14px auto 35px}.event-list{max-width:720px;margin:auto;text-align:left}.event{display:flex;gap:18px;padding:22px 0;border-bottom:1px solid #c9a55744;align-items:center}.event-date{color:var(--gold);font:500 1.3rem 'Cormorant Garamond';min-width:57px}.event h3{font:500 1.55rem 'Cormorant Garamond';margin:0}.event p{margin:3px 0 0;color:var(--muted);font-size:.75rem}.venue{background:linear-gradient(145deg,#4d1120,#170d0e)}.venue h2{font-size:clamp(2.4rem,8vw,3.7rem)}.venue p:not(.eyebrow){max-width:450px;margin:20px auto 30px;color:#e1d5c2;line-height:1.7}.outline-button{background:transparent;color:var(--gold)}.rsvp{background:#f5ecdc;color:var(--wine)}.rsvp-form{max-width:500px;margin:34px auto 0;text-align:left}.rsvp-form label{display:block;margin:15px 0;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700}.rsvp-form input,.rsvp-form textarea{display:block;width:100%;margin-top:8px;border:0;border-bottom:1px solid #9b7e65;background:transparent;padding:10px 2px;color:var(--wine);font:1rem 'DM Sans';border-radius:0}.rsvp-form textarea{resize:vertical}.rsvp-form .gold-button{margin-top:15px}.rsvp-form #rsvpStatus{min-height:1.3rem;text-align:center;color:#765234;font-size:.85rem}footer{text-align:center;padding:45px 20px;background:#100b0c;color:var(--muted)}footer p{margin:0;font:2.5rem 'Great Vibes';color:var(--ivory)}footer i{color:var(--gold)}footer small{font-size:.67rem;letter-spacing:.08em}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(min-width:700px){.event{padding:25px}.hero{background:linear-gradient(#130c0c99,#130c0cca),radial-gradient(ellipse at top,#70263e 0,#241017 48%,#100b0c 100%)}}
