@import url('https://fonts.googleapis.com/css2?family=Italiana&family=Petit+Formal+Script&display=swap');
/* Preserve the anniversary layout; refine typography, rhythm and stationery. */
:root{--serif:'Italiana',Georgia,serif;--script:'Petit Formal Script',cursive}
.envelope-intro{isolation:isolate;background:#133b30;overflow:auto;padding:32px 16px}
.envelope-intro:before{content:'';position:absolute;inset:0;background:linear-gradient(#082d2599,#092e25ed),url('assets/unsplash-portrait.jpg') center 35%/cover;z-index:-1}
.envelope-intro:after{content:'';position:absolute;inset:16px;border:1px solid #d8b86655;pointer-events:none}
.intro-glow{display:none}.envelope-stage{max-width:520px;position:relative;z-index:1}.intro-overline{font-size:10px!important;letter-spacing:.26em!important;margin-bottom:32px!important;color:#ead5a7!important}.envelope{width:min(78vw,340px)!important;height:215px!important;transform:rotate(-4deg);margin:48px auto 38px!important;transition:transform .7s}.envelope-intro.opening .envelope{transform:rotate(0) scale(1.04)}.envelope-stage h1{font:400 clamp(40px,10vw,64px)/1.1 var(--serif)!important;letter-spacing:-.03em}.envelope-stage h1 em{font-family:var(--script);font-size:.58em}.envelope-stage>p:not(.intro-overline):not(.guest-name){font-size:13px!important;line-height:1.7;color:#e4d9c0!important;max-width:300px;margin:18px auto 25px}.intro-button{background:#e4d0a0;border:1px solid #f1dfb9;min-height:52px;font-size:12px;font-weight:600}.wax-seal{font-family:var(--serif);border:2px solid #d8b866}.letter{background:#fff7e3}.letter span{font-family:var(--serif)}.hero h1{font-weight:400;letter-spacing:-.05em;line-height:.9}.hero h1 em{font-family:var(--script);font-size:.65em}.kicker{font:20px/1.5 var(--serif);max-width:350px}.eyebrow{font-size:10px;letter-spacing:.2em}.intro{font-size:16px;line-height:1.8}.portrait:before{inset:-12px 5% 5%}.portrait figcaption{font:14px/1.5 var(--script);padding:20px;border-radius:8px}.anniversary{font-weight:400;background:#173f32;border:1px solid #cfb376}.quote>p{font-weight:400;letter-spacing:-.025em}.quote>span{font-size:12px;letter-spacing:.08em}.date-panel{background:#fffaf0;box-shadow:none;border:1px solid #dbcbab}.date-lockup strong{font-weight:400}.date-lockup span{font-weight:400}.countdown strong{font-weight:400}.agenda{background:#eee5d4}.event-card{border:1px solid #cdbd98;box-shadow:none;border-radius:110px 110px 16px 16px;min-height:460px}.event-card h3{font-weight:400}.event-card .icon{border:0;margin-top:42px}.event-card .number{left:50%;translate:-50% 0;font:12px var(--sans);letter-spacing:.15em}.event-card p{font-size:14px}.time{font-size:11px}.section-heading h2,.rsvp h2{font-weight:400;letter-spacing:-.025em}.rsvp-form{box-shadow:none;border-color:#d7c8a7;background:#fdf9ee;padding:28px 22px}.rsvp-form label{font-size:12px;font-weight:500}.rsvp-form input,.rsvp-form select,.rsvp-form textarea{background:#fffdf8;border-radius:8px}.closing{background:linear-gradient(#082d25dc,#082d25f2),url('assets/unsplash-portrait.jpg') center/cover}.closing h2{font-weight:400}.closing h2 em{font-family:var(--script)}.music-toggle{background:#f2e6c9;color:#173f32;border-color:#c8af75;width:48px;height:48px}.hero h1:focus{outline:none}
@media(max-width:800px){.hero-grid{gap:44px;padding-top:38px}.hero h1{font-size:clamp(68px,20vw,96px)}.portrait img{min-height:420px;height:auto;aspect-ratio:.86;object-position:center 32%}.hero{padding-bottom:38px}.kicker{margin-inline:auto}.quote{padding:74px 28px}.quote>p{font-size:38px;line-height:1.2}.date-panel{padding:52px 12px;margin:28px 16px;border-radius:18px}.date-lockup span{font-size:18px}.agenda{padding:60px 22px}.event-grid{gap:24px}.event-card{padding:32px 24px;min-height:430px}.rsvp{padding:64px 22px;gap:28px}.section-heading h2,.rsvp h2{font-size:44px}.closing{padding:74px 24px}.closing>span:last-child{font-size:11px}.envelope-stage{padding:0!important}.countdown span{font-size:9px}}
@media(max-height:650px){.envelope-intro{align-items:flex-start}.envelope{height:170px!important;width:265px!important;margin:25px auto!important}.intro-overline{margin-bottom:10px!important}.envelope-stage h1{font-size:38px!important}}
@media(prefers-reduced-motion:reduce){.envelope{transition:none!important}}
