/* Уточнения по мобильной записи. Текст и изображения остаются заменяемыми. */
.envelope-screen{padding:0;background:#760e30;overflow:hidden}
.envelope{width:100%;height:100%;position:absolute;inset:0;background:linear-gradient(115deg,#821737,#680c29);box-shadow:none}
.envelope:before{background:linear-gradient(30deg,#690c29,#85183a);clip-path:polygon(0 0,100% 0,100% 50%);filter:drop-shadow(0 3px 5px #26051688)}
.envelope:after{background:linear-gradient(150deg,#7e1638,#660a28);clip-path:polygon(0 100%,100% 50%,100% 100%)}
.flap{inset:0;width:77%;background:linear-gradient(110deg,#7b1234,#710b2d);clip-path:polygon(0 0,100% 50%,0 100%);filter:drop-shadow(5px 3px 5px #30061588);z-index:2;transition:none}
.envelope-hint{position:absolute;z-index:3;left:8%;top:50%;transform:translateY(-50%);margin:0;max-width:42%;font:12px/1.8 Georgia,serif;text-transform:uppercase;color:#f5e6d8}
.seal{left:77%;top:50%;width:88px;height:88px;color:#d1a277;background:radial-gradient(circle at 35% 25%,#9b5339,#4f160f 75%);border-color:#a76343;box-shadow:0 3px 10px #21061599}
.envelope-screen.opening{opacity:0;transition:opacity var(--envelope-exit,220ms) linear}
.opening .flap{transform:none}
.hero{background:#fff}
.hero-content{padding-bottom:140px}
.hero .portrait,.hero .hero-shade,.hero .hero-content{opacity:0;transition:opacity var(--portrait-reveal,1600ms) ease}
.invitation-open .hero .portrait,.invitation-open .hero .hero-shade,.invitation-open .hero .hero-content{opacity:1}
.hero-rose{z-index:2}
.hero .hero-shade{background:linear-gradient(180deg,#24131a00 20%,#2b0b1c38 60%,#2b0b1c99)}
.memory-section{padding:0 0 30px}
.memory-section img{display:block;width:min(100%,760px);max-height:850px;object-fit:cover;margin:auto}
.js-reveal .reveal{transition-duration:var(--reveal-duration,1000ms)}
.date-section .calendar .selected{background:var(--paper);color:var(--wine);border-color:var(--paper)}
.rsvp input:not([type=radio]){background:var(--paper);color:var(--ink);padding:10px 12px;border:1px solid #d8c2bb}
.rsvp .demo-note{background:#ffffff0a;border-color:var(--gold)}
.rsvp .button{background:var(--paper);color:var(--wine);border-color:var(--paper)}
.rsvp .button:hover{background:#e9ddcd}
.rsvp .error{color:#ffe4a9}
.rsvp input[type=radio]{accent-color:var(--gold)}
.rsvp input[aria-invalid=true]{border:2px solid #f2bc74}
.rsvp input:focus-visible,.rsvp button:focus-visible{outline-color:var(--gold)}
footer.paper{padding-bottom:0}
footer .footer-rose{display:none}
footer>small{margin:40px 0 30px;color:var(--ink)}
.music-control button{width:48px;height:48px;min-height:48px;padding:0;display:grid;place-items:center;background:var(--wine)}
.music-control button span{font-size:26px;line-height:1}
.countdown-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.38)}
.countdown-section> :not(.countdown-backdrop){position:relative}
@media(max-width:600px){
 .hero{height:100svh;min-height:720px;max-height:none}
 .hero-content{align-self:end;padding:50px 24px 200px}
 .hero .fine-rule{display:none}
 .hero .hero-title{display:block;font-size:11px;letter-spacing:.2em}
 .hero .hero-script{display:block;font-size:clamp(25px,6.5vw,36px);max-width:320px;margin:22px auto}
 .hero h1{font-size:clamp(42px,10vw,64px);font-style:italic}
 .hero-rose{width:100%;right:-15%;bottom:-12%;transform:rotate(-10deg)}
 .seal{width:76px;height:76px}
 .envelope-hint{font-size:10px}
 .memory-section{padding:0}
 .date-section{padding-top:60px}
 .countdown{flex-direction:column;align-items:center;gap:25px}
 .countdown i{display:none}
 .countdown strong{font-size:48px}
 .countdown span{font-size:12px}
 .fields{gap:24px}
}
.hero-bouquet{position:relative;height:0;z-index:4;pointer-events:none}
.bouquet-flowers{position:absolute;left:0;right:0;top:-190px;height:380px;overflow:hidden}
.bouquet-stage{position:absolute;top:190px;left:50%;width:1200px;transform:translateX(-50%)}
.bouquet-rose{position:absolute;display:block;left:var(--rose-x);top:var(--rose-y);width:var(--rose-size);height:auto;max-width:none;pointer-events:none;transform:rotate(var(--rose-angle,0deg))}
/* Координаты семи цветов из сохранённого образца, порядок слоёв совпадает с DOM. */
.bouquet-rose--1{--rose-x:269px;--rose-y:-73px;--rose-size:186px}
.bouquet-rose--2{--rose-x:745px;--rose-y:-107px;--rose-size:186px}
.bouquet-rose--3{--rose-x:567px;--rose-y:-120px;--rose-size:191px;--rose-angle:29deg}
.bouquet-rose--4{--rose-x:412px;--rose-y:-103px;--rose-size:191px;--rose-angle:6deg}
.bouquet-rose--5{--rose-x:637px;--rose-y:-47px;--rose-size:186px;--rose-angle:25deg}
.bouquet-rose--6{--rose-x:338px;--rose-y:-23px;--rose-size:186px}
.bouquet-rose--7{--rose-x:491px;--rose-y:-9px;--rose-size:186px}
.welcome{clip-path:none;margin-top:0;padding-top:220px}
@media(max-width:1199px){
 .bouquet-stage{width:960px}
 .bouquet-rose--1{--rose-x:166px;--rose-y:-118px;--rose-size:174px;--rose-angle:22deg}
 .bouquet-rose--2{--rose-x:615px;--rose-y:-153px;--rose-size:174px}
 .bouquet-rose--3{--rose-x:450px;--rose-y:-120px;--rose-size:178px}
 .bouquet-rose--4{--rose-x:305px;--rose-y:-150px;--rose-size:178px}
 .bouquet-rose--5{--rose-x:515px;--rose-y:-91px;--rose-size:174px}
 .bouquet-rose--6{--rose-x:236px;--rose-y:-66px;--rose-size:174px}
 .bouquet-rose--7{--rose-x:379px;--rose-y:-52px;--rose-size:174px}
}
@media(max-width:959px){
 .bouquet-stage{width:640px}
 .bouquet-rose--1{--rose-x:-21px;--rose-y:-83px;--rose-size:191px}
 .bouquet-rose--2{--rose-x:472px;--rose-y:-123px;--rose-size:191px}
 .bouquet-rose--3{--rose-x:292px;--rose-y:-138px;--rose-size:195px}
 .bouquet-rose--4{--rose-x:132px;--rose-y:-119px;--rose-size:195px}
 .bouquet-rose--5{--rose-x:363px;--rose-y:-52px;--rose-size:191px}
 .bouquet-rose--6{--rose-x:56px;--rose-y:-24px;--rose-size:191px}
 .bouquet-rose--7{--rose-x:213px;--rose-y:-8px;--rose-size:191px}
}
@media(max-width:639px){
 .bouquet-stage{width:480px}
 .bouquet-rose--1{--rose-x:-71px}
 .bouquet-rose--2{--rose-x:378px}
 .bouquet-rose--3{--rose-x:213px}
 .bouquet-rose--4{--rose-x:68px}
 .bouquet-rose--5{--rose-x:278px}
 .bouquet-rose--6{--rose-x:-1px}
 .bouquet-rose--7{--rose-x:142px}
}
@media(max-width:479px){
 .bouquet-stage{width:320px}
 .bouquet-rose--1{--rose-x:-90px;--rose-y:-38px;--rose-size:134px;--rose-angle:247deg}
 .bouquet-rose--2{--rose-x:237px;--rose-y:-115px;--rose-size:161px;--rose-angle:54deg}
 .bouquet-rose--3{--rose-x:129px;--rose-y:-101px;--rose-size:143px;--rose-angle:27deg}
 .bouquet-rose--4{--rose-x:15px;--rose-y:-73px;--rose-size:143px;--rose-angle:4deg}
 .bouquet-rose--5{--rose-x:195px;--rose-y:-34px;--rose-size:148px;--rose-angle:84deg}
 .bouquet-rose--6{--rose-x:-24px;--rose-y:19px;--rose-size:135px;--rose-angle:337deg}
 .bouquet-rose--7{--rose-x:97px;--rose-y:23px;--rose-size:134px}
}
.memory-section{padding-bottom:0}
.photo-tear{position:absolute;left:50%;width:min(100%,760px);height:clamp(30px,8vw,68px);transform:translateX(-50%);z-index:2;pointer-events:none;background:var(--tear-color,var(--paper));--tear-mask:linear-gradient(#000 0 0) top/100% 50% no-repeat,var(--tear-image) center/100% 100% no-repeat;mask:var(--tear-mask);-webkit-mask:var(--tear-mask)}
.photo-tear.tear-top{top:-1px}
.photo-tear.tear-bottom{bottom:-1px;transform:translateX(-50%) rotate(180deg);--tear-color:var(--wine)}
.music-icon{width:25px;height:25px;display:block}
.icon-pause{display:none}
#music[aria-pressed=true] .icon-play{display:none}
#music[aria-pressed=true] .icon-pause{display:block}
@media(prefers-reduced-motion:reduce){
 .hero .portrait,.hero .hero-shade,.hero .hero-content{transition:none}
}
