
:root{--cream:#e6eaf0;--peach:#bdcbdc;--pink:#9caec9;--coral:#1b345c;--dark:#142744;--text:#20334d}
body{background:#9caec9}main{background:var(--cream)}.progress{background:#1b345c}
.hero{background:#0b1d39}.hero-shade{background:linear-gradient(180deg,#0b1d3955 0%,transparent 30%,#0b1d3944 58%,#0b1d39dd 100%)}
.hero-light,.tiny-spark,.heart{display:none!important}.hero-copy h1,.hero .wave,.reveal.visible h2,.reveal.visible .fine-line,.reveal.visible .button{animation:none!important}
.motion-ready .reveal{opacity:1!important;transform:none!important;transition:none!important}
.countdown,.memories{background:#bdcbdc}.story{background:#e6eaf0}.bridge{background:#9caec9}.celebration{background:#f7f8fa}.dress{background:#9caec9}.gifts{background:#bdcbdc}.rsvp{background:#1b345c;color:#f7f8fa}footer{background:#bdcbdc}
.timer strong,.handwritten{color:#1b345c}.venue,h2{color:#142744}.rsvp h2{color:inherit}
.primary{background:#1b345c;border-color:#1b345c;color:#f7f8fa}.primary:hover{background:#142744}.outline{border-color:#1b345c;color:#142744}.light{background:#f7f8fa;color:#142744}
.floating-music{background:#f7f8fa;color:#142744;border-color:#9caec9}.brand,.text-button{color:#142744}
dialog{background:#e6eaf0;color:#20334d;border-color:#9caec9}.form-demo{background:#bdcbdc}input[type=radio]{accent-color:#1b345c}
#welcome.welcome.window{--welcome-bg:#1b345c;--welcome-ink:#f7f8fa}
#film-photo{position:absolute;inset:0;width:100%;height:100%;background-image:url('assets/emilio-2.jpg');background-size:cover;background-repeat:no-repeat;background-position:50% 38%;opacity:1;will-change:opacity,transform}
.film-vignette{z-index:1}.film-word,.film-controls{z-index:2}.welcome-photo{background-image:url('assets/emilio-2.jpg');background-size:cover;background-repeat:no-repeat;background-position:50% 38%}
.closing-photo{position:absolute;inset:0;width:100%;height:100%;background-image:url('assets/emilio-5.jpg');background-size:cover;background-repeat:no-repeat;background-position:50% 38%;animation:hero-living 12s ease-in-out infinite alternate}
.closing-shade{background:linear-gradient(180deg,#0b1d3911 10%,#0b1d3944 45%,#0b1d39dd 100%)}
@media(max-width:600px){h1{font-size:clamp(4rem,19vw,5.15rem)}}

/* Birthday title: one centered name with its own spacing at every width. */
#welcome.welcome.birthday{--welcome-bg:#1b345c;--welcome-ink:#f7f8fa}
.hero-copy{display:flex;flex-direction:column;align-items:center;gap:16px;left:24px;right:24px;bottom:19%;text-align:center}
.hero-copy .eyebrow{font-size:.875rem;line-height:1.6;letter-spacing:.2em}
.hero-copy h1{display:block;width:100%;max-width:100%;margin:0;padding:10px 12px 8px;font-size:clamp(4.5rem,13vw,8.4rem);line-height:1.15;letter-spacing:0;text-align:center}
.hero-copy .hero-date{margin:0;font-size:1rem;line-height:1.7}
.hero-copy .music-intro{margin:0}
.hero-photo{object-position:50% 35%}
.hero-top{gap:16px}.hero-top>span:last-child{font-size:.875rem;letter-spacing:.13em;text-align:right;line-height:1.5}
.welcome-title{position:absolute}.welcome-title h2{line-height:1.2;padding:6px 12px}
.film-word{display:none}
@media(max-width:600px){.hero{min-height:690px}.hero-copy{left:20px;right:20px;gap:12px;bottom:19%}.hero-copy h1{font-size:clamp(4rem,19vw,6rem)}.hero-copy .eyebrow{font-size:.875rem;letter-spacing:.14em}.hero-top{left:24px;right:24px}.hero-top>span:last-child{font-size:.875rem;max-width:220px;letter-spacing:.08em}}
@media(max-height:650px){.hero{min-height:620px}.hero-copy{bottom:22%}}
