@font-face{font-family:"Great Vibes";src:url("assets/GreatVibes-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
:root{--paper:#fffaf5;--ink:#383c48;--pink:#bc396b;--blue:#167daf;--gold:#b78145;--script:"Great Vibes","Snell Roundhand","Apple Chancery","URW Chancery L",cursive;--serif:Georgia,"Times New Roman",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:18px;line-height:1.65}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--blue);outline-offset:6px}[hidden]{display:none!important}.skip-link{position:absolute;top:-100px;left:15px;background:white;padding:10px;z-index:20}.skip-link:focus{top:10px}.motion-toggle{position:fixed;right:14px;bottom:14px;z-index:10;border:1px solid #dfcfbf;border-radius:30px;padding:8px 14px;background:#fffaf5ed;color:#655548;font-family:system-ui,sans-serif;font-size:12px;cursor:pointer;box-shadow:0 2px 15px #62492b0b}
.hero{position:relative;isolation:isolate;overflow:hidden;min-height:850px;padding:26.5px 24px 34px;text-align:center;background:radial-gradient(ellipse at 50% 55%,#fffdf9 30%,transparent 76%)}.hero-content{position:relative;z-index:2;max-width:650px;margin:auto}.eyebrow{font-family:system-ui,sans-serif;font-size:12px;letter-spacing:3.1px;font-weight:500;color:#806546;margin:0 0 18px}.heart-ornament{display:flex;justify-content:center;align-items:center;gap:14px;color:var(--gold);font-size:43px;line-height:1.2}.heart-ornament span{width:66px;height:13px;border-bottom:1px solid #c89b61;border-radius:50%}.heart-ornament span:first-child{transform:rotate(8deg)}.heart-ornament span:last-child{transform:rotate(-8deg)}h1{font-family:var(--script);font-weight:500;font-size:clamp(70px,8.4vw,116px);line-height:1.35;margin:10px -45px 12px;letter-spacing:-4px}h1 span:first-child,.signature span:first-child{color:var(--pink)}h1 span:last-child,.signature span:last-child{color:var(--blue)}.intro{font-size:21px;line-height:1.52;margin:0 auto 22px}.question{font-size:24px;line-height:1.55;margin:14px 0 6px}.question em{font-family:var(--script);font-size:40px;line-height:1.3;font-style:normal}.pink{color:var(--pink)}.blue{color:var(--blue)}.together{font-family:var(--script);font-size:29px;margin:10px 0 27px}.countdown-title{font-size:14px;letter-spacing:.3px;margin:0 0 15px;color:#695e55}.countdown{display:flex;justify-content:center;align-items:center;gap:12px}.countdown div{width:84px;min-height:93px;padding:8px 5px 10px;border:1px solid #dcbca355;border-radius:15px;background:linear-gradient(150deg,#fffefeec,#fcecf0b0);box-shadow:0 5px 20px #71502505}.countdown div:nth-of-type(even){background:linear-gradient(150deg,#fffefeec,#e6f3fbb0)}.countdown strong{display:block;font-size:42px;font-weight:400;line-height:1.2;font-variant-numeric:tabular-nums}.countdown span{display:block;font:11px/1.7 system-ui,sans-serif;letter-spacing:1.5px;text-transform:uppercase;color:#675d56}.countdown b{font-size:21px;font-weight:400;color:#bd9870;padding-bottom:20px}.discover-link{display:inline-flex;flex-direction:column;align-items:center;font-size:13px;letter-spacing:.5px;text-decoration:none;margin-top:22px;color:#79674f}.discover-link span{font-size:25px;line-height:1.2}
.bear{position:absolute;z-index:1;width:min(29vw,390px);aspect-ratio:3/4;background-image:url('assets/orsetti-palloncini.png');background-repeat:no-repeat;background-size:200% 100%;top:126px;transform-origin:50% 95%;animation:sway 7s ease-in-out infinite}.bear-pink{left:max(0px,calc((100vw - 1500px)/2));background-position:left center;--tilt:-2deg}.bear-blue{right:max(0px,calc((100vw - 1500px)/2));background-position:right center;--tilt:2deg;animation-delay:-3.5s}.watercolor{position:absolute;z-index:0;width:450px;height:650px;filter:blur(30px);border-radius:45% 55% 61% 39%;opacity:.45;top:-120px}.watercolor-pink{left:-250px;background:radial-gradient(ellipse,#f7bccc 0%,#f8dfe7 45%,transparent 70%)}.watercolor-blue{right:-250px;background:radial-gradient(ellipse,#a6d6f1 0%,#d8edf9 45%,transparent 70%)}.sparkles{position:absolute;inset:0;z-index:1;pointer-events:none}.sparkles span{position:absolute;color:#bf8d50;font-size:40px;animation:float 6s ease-in-out infinite}.sparkles span:nth-child(1){top:11%;left:19%;color:#df89a5;animation-delay:-2s}.sparkles span:nth-child(2){top:6%;left:31%;font-size:27px}.sparkles span:nth-child(3){top:14%;right:20%;color:#67afda;animation-delay:-4s}.sparkles span:nth-child(4){top:64%;left:28%;font-size:25px;animation-delay:-1s}.sparkles span:nth-child(5){top:69%;right:24%;color:#dc98ae;font-size:28px}.sparkles span:nth-child(6){top:3%;right:31%;font-size:24px;animation-delay:-3s}
.celebration{text-align:center;position:relative;padding:62px 24px 48px;background:linear-gradient(180deg,#f8f1e840,#fffdfa 70%);border-top:1px solid #e8d9c87d}.celebration:before{content:"";position:absolute;top:-1px;width:140px;left:calc(50% - 70px);height:1px;background:var(--gold)}h2{font-family:var(--script);font-size:56px;font-weight:400;line-height:1.3;margin:0 0 22px}.event-details{display:flex;align-items:center;justify-content:center;gap:54px;margin:35px auto 28px}.event-detail{display:flex;align-items:center;gap:23px;text-align:left}.event-detail svg{width:47px;height:47px;fill:none;stroke:var(--gold);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.event-detail p{margin:0;line-height:1.4}.event-detail p>span{display:block;font-size:17px}.event-detail time{display:block;font-size:26px;color:var(--pink);margin:5px 0}.event-detail strong{display:block;font-size:26px;font-weight:400;margin-top:5px}.detail-divider{height:80px;width:1px;background:#d6bd9b}.rsvp{font-size:20px;margin-top:32px}.rsvp span{color:var(--pink);font-size:26px;margin-left:5px}
.gifts{text-align:center;position:relative;max-width:800px;margin:38px auto 0;padding:45px 26px 50px;border:1px solid #d8b78670;border-radius:120px 120px 24px 24px;background:radial-gradient(ellipse at 0 100%,#f9dce64d,transparent 60%),radial-gradient(ellipse at 100% 0,#dceefb80,transparent 70%),#fffdfa}.gift-ornament{font-size:34px;color:var(--gold);line-height:1;margin:0 0 22px}.gifts h2{color:var(--pink);margin-bottom:18px}.gifts>p:not(.eyebrow){font-size:18px;line-height:1.8;margin-bottom:26px}.gift-button{display:inline-flex;align-items:center;justify-content:center;gap:13px;background:#fff1df;border:1px solid #d2a467;border-radius:50px;text-decoration:none;padding:14px 27px;color:#70481e;font-size:17px;transition:background .2s,transform .2s}.gift-button:hover{background:#ffe6c7;transform:translateY(-2px)}.gift-button svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}footer{position:relative;overflow:hidden;text-align:center;padding:62px 24px 80px;background:radial-gradient(ellipse at 0 110%,#f6cada80,transparent 54%),radial-gradient(ellipse at 100% 110%,#c0e3f580,transparent 54%)}footer>p:first-child{margin:0;font-size:17px}.signature{font-family:var(--script);font-size:58px;line-height:1.5;margin:4px 0 10px}.signature small{font-family:var(--serif);font-size:23px;margin:0 8px}.footer-date{font-family:system-ui,sans-serif;letter-spacing:4px;font-size:12px;color:#806546;margin:22px 0 0}
@keyframes sway{0%,100%{transform:rotate(var(--tilt)) translateY(0)}50%{transform:rotate(calc(var(--tilt) * -1)) translateY(-9px)}}@keyframes float{0%,100%{transform:translateY(0) rotate(-5deg);opacity:.6}50%{transform:translateY(-13px) rotate(6deg);opacity:1}}.motion-paused *{animation-play-state:paused!important}.motion-paused{scroll-behavior:auto}.motion-paused .gift-button{transition:none}
@media(min-width:1500px){.hero{min-height:910px;padding-top:37.5px}.bear{top:130px;width:415px}}
@media(max-width:1050px){.bear{width:27vw;top:195px}.hero-content{max-width:530px}.intro{font-size:19px}h1{font-size:94px}.sparkles span:nth-child(4){left:15%}.sparkles span:nth-child(5){right:15%}}
@media(max-width:700px){.hero{padding:20px 19px 29px;min-height:auto}.eyebrow{font-size:10px;letter-spacing:2px}.hero-content{max-width:100%}h1{font-size:clamp(63px,15.7vw,94px);letter-spacing:-2.5px;margin:9px -10px 17px;line-height:1.4}.heart-ornament{font-size:34px}.heart-ornament span{width:43px}.intro{font-size:18px;line-height:1.65}.question{font-size:21px;margin-top:18px}.question em{font-size:34px}.together{font-size:27px;margin:15px 0 260px}.bear{top:440px;width:190px;max-width:49%;animation-duration:8s}.bear-pink{left:calc(50% - 182px)}.bear-blue{right:calc(50% - 182px)}.countdown-title{font-size:14px;margin-bottom:14px}.countdown{gap:7px}.countdown div{width:67px;min-height:84px;padding:9px 3px}.countdown strong{font-size:35px}.countdown span{font-size:10px;letter-spacing:1px}.countdown b{font-size:16px}.sparkles span:nth-child(1){top:470px;left:4%;font-size:27px}.sparkles span:nth-child(2){top:38px;left:7%;font-size:18px}.sparkles span:nth-child(3){top:475px;right:4%;font-size:25px}.sparkles span:nth-child(4){top:650px;left:45%;font-size:20px}.sparkles span:nth-child(5){display:none}.sparkles span:nth-child(6){top:38px;right:7%;font-size:18px}.discover-link{margin-top:25px}.celebration{padding:44px 22px 29px}h2{font-size:47px}.event-details{flex-direction:column;gap:25px;max-width:300px;margin:25px auto}.event-detail{width:100%;gap:25px}.event-detail time,.event-detail strong{font-size:25px}.detail-divider{width:85%;height:1px}.rsvp{font-size:18px}.gifts{margin:26px 17px 0;padding:36px 24px 38px;border-radius:70px 70px 22px 22px}.gifts h2{font-size:43px}.gifts>p:not(.eyebrow){font-size:17px}.desktop-break{display:none}.gift-button{font-size:15px;padding:13px 19px;gap:10px}footer{padding:48px 17px 78px}.signature{font-size:45px}.signature small{font-size:19px;margin:0 3px}.motion-toggle{font-size:11px;padding:7px 11px}}
@media(max-width:360px){.hero{padding-left:13px;padding-right:13px}.eyebrow{letter-spacing:1.3px}h1{font-size:58px}.intro{font-size:16px}.together{font-size:24px;margin-bottom:245px}.bear{top:410px;width:164px}.bear-pink{left:0}.bear-blue{right:0}.countdown{gap:5px}.countdown div{width:60px}.countdown strong{font-size:32px}.signature{font-size:40px}.gifts{padding-left:17px;padding-right:17px}.gift-button{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Su telefono le illustrazioni seguono il testo, anche con caratteri ingranditi. */
.mobile-art{display:none}
@media(max-width:700px){.hero>.bear{display:none}.together{margin-bottom:8px}.mobile-art{display:block;position:relative;height:275px;margin:0 auto 22px;max-width:380px}.mobile-art .bear{top:0;width:190px;max-width:50%}.mobile-art .bear-pink{left:0}.mobile-art .bear-blue{right:0}}
@media(max-width:360px){.mobile-art{height:225px}.mobile-art .bear{width:164px}}
/* Testi dopo gli orsetti in tutte le dimensioni. */
.mobile-art{display:block;position:relative;height:310px;max-width:570px;margin:8px auto 16px}
.mobile-art .bear{top:0;width:225px;max-width:48%}
.mobile-art .bear-pink{left:0}.mobile-art .bear-blue{right:0}
.together{margin-bottom:27px}
@media(max-width:700px){.mobile-art{height:250px;max-width:360px;margin:3px auto 13px}.mobile-art .bear{width:180px}.question{margin-top:3px}.together{margin-bottom:25px}}
@media(max-width:360px){.mobile-art{height:212px}.mobile-art .bear{width:155px}}
h1{margin:12px -20px 10px;line-height:1}
.arched-title{display:block;width:100%;height:auto;overflow:visible}
.arched-title text{font-family:var(--script);font-size:126px;letter-spacing:-3px;font-weight:400}
.title-pink{fill:var(--pink)}.title-blue{fill:var(--blue)}
@media(max-width:700px){h1{margin:20px -13px 12px}.arched-title text{font-size:130px}}
.gift-link{display:inline-flex;flex-direction:column;align-items:center;text-decoration:none;border-radius:22px;padding:4px 22px 15px;color:#70481e}
.floating-gift{width:150px;height:146px;filter:drop-shadow(0 9px 7px #b48d5f20);animation:present-float 4s ease-in-out infinite;transform-origin:center}
.gift-link>span{font-family:var(--script);font-size:32px;margin-top:13px;line-height:1.4}
.gift-link small{font-size:13px;color:#75665c;margin-top:3px}
.gift-link:hover .floating-gift{filter:drop-shadow(0 12px 10px #b48d5f40)}
@keyframes present-float{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-13px) rotate(4deg)}}
/* Composizione più ampia, con decorazioni separate dai testi. */
.hero-content{max-width:1040px}.hero h1{max-width:780px;margin:10px auto 5px}
.intro{max-width:1000px;font-size:21px;line-height:1.65;margin:0 auto 8px}.intro span{display:block}
.mobile-art{max-width:850px;height:335px;margin:0 auto 5px}.mobile-art .bear{width:245px}
.question-row{display:flex;justify-content:center;align-items:center;gap:25px}.question{margin:0;line-height:1.65}.question em{display:inline-block;margin-left:.25em;white-space:nowrap}.together{margin:10px 0 25px}
.decoration{display:block;background-image:url('assets/fiocchi-ciucci.png');background-repeat:no-repeat;pointer-events:none;flex-shrink:0;animation:decoration-float 6s ease-in-out infinite}
.bow{width:80px;aspect-ratio:627/657;background-size:200% 190.8676%;transform-origin:50% 20%}.bow-pink{background-position:left top;--turn:-8deg}.bow-blue{background-position:right top;--turn:8deg;animation-delay:-3s}
.pacifier{width:95px;aspect-ratio:627/597;background-size:200% 210.0503%;--turn:-10deg}.pacifier-pink{background-position:left bottom}.pacifier-blue{background-position:right bottom;--turn:10deg;animation-delay:-2.5s}
.mobile-art>.decoration{position:absolute;z-index:2}.scene-bow-pink{left:34%;top:45px;width:65px}.scene-bow-blue{right:34%;top:45px;width:65px}.scene-pacifier-pink{left:34%;top:200px;width:62px}.scene-pacifier-blue{right:34%;top:200px;width:62px}.scene-heart{position:absolute;left:calc(50% - 21px);top:115px;font-size:55px;line-height:1;color:var(--gold);animation:float 5s ease-in-out infinite}
.question-bow{width:76px}.detail-pacifier-pink,.detail-pacifier-blue{position:absolute;top:100px;width:80px}.detail-pacifier-pink{left:max(4%,calc(50% - 480px))}.detail-pacifier-blue{right:max(4%,calc(50% - 480px))}.gift-bow-pink,.gift-bow-blue{position:absolute;top:30px;width:65px}.gift-bow-pink{left:36px}.gift-bow-blue{right:36px}.footer-toys{display:flex;justify-content:center;align-items:center;gap:35px;margin:-10px auto 30px}.footer-toys .pacifier{width:90px}.footer-toys>span{font-size:35px;color:var(--pink);animation:float 6s ease-in-out infinite}
.sparkles span:nth-child(7){top:29%;left:5%;color:#d77399;font-size:26px;animation-delay:-1s}.sparkles span:nth-child(8){top:31%;right:5%;color:#55a8d5;font-size:31px;animation-delay:-3s}.sparkles span:nth-child(9){top:47%;left:12%;color:#ec9eb9;font-size:23px;animation-delay:-4s}.sparkles span:nth-child(10){top:50%;right:11%;color:#67b3dc;font-size:25px;animation-delay:-2s}.sparkles span:nth-child(11){top:70%;left:7%;color:#62afd8;font-size:34px;animation-delay:-1s}.sparkles span:nth-child(12){top:72%;right:8%;color:#df86a7;font-size:30px;animation-delay:-5s}.sparkles span:nth-child(13){top:85%;left:18%;color:#e595b0;font-size:20px;animation-delay:-3s}.sparkles span:nth-child(14){top:87%;right:18%;color:#81bdda;font-size:24px;animation-delay:-1s}.sparkles span:nth-child(15){top:95%;left:4%;color:#9ccbe4;font-size:35px;animation-delay:-2s}.sparkles span:nth-child(16){top:93%;right:4%;color:#d782a2;font-size:29px;animation-delay:-4s}
@keyframes decoration-float{0%,100%{transform:translateY(0) rotate(var(--turn))}50%{transform:translateY(-9px) rotate(calc(var(--turn) * -1))}}
@media(max-width:1050px){.intro{font-size:19px}.hero-content{max-width:950px}.mobile-art{max-width:720px}.scene-bow-pink,.scene-pacifier-pink{left:38%;width:48px}.scene-bow-blue,.scene-pacifier-blue{right:38%;width:48px}.detail-pacifier-pink,.detail-pacifier-blue{width:55px;top:45px}}
@media(max-width:700px){.hero{padding-left:16px;padding-right:16px}.hero h1{margin:16px -10px 8px}.intro{font-size:17px;line-height:1.7;max-width:630px;margin-bottom:5px}.intro span{display:inline}.mobile-art{height:260px;max-width:510px;margin-bottom:5px}.mobile-art .bear{width:190px;max-width:39%}.scene-bow-pink{left:41%;top:32px;width:40px}.scene-bow-blue{right:41%;top:90px;width:40px}.scene-pacifier-pink{left:42%;top:161px;width:34px}.scene-pacifier-blue{display:none}.scene-heart{display:none}.question-row{gap:10px}.question-bow{width:51px}.question{font-size:21px}.question em{font-size:34px;margin-left:.22em}.question-row .question{min-width:0}.gift-bow-pink,.gift-bow-blue{width:46px;top:27px}.gift-bow-pink{left:20px}.gift-bow-blue{right:20px}.detail-pacifier-pink{left:17px;top:65px;width:39px}.detail-pacifier-blue{right:17px;top:65px;width:39px}.sparkles span:nth-child(1){top:30%;left:2%}.sparkles span:nth-child(3){top:34%;right:2%}.sparkles span:nth-child(4){top:57%;left:4%}.sparkles span:nth-child(7){top:46%;left:3%;font-size:20px}.sparkles span:nth-child(8){top:49%;right:3%;font-size:23px}.sparkles span:nth-child(9),.sparkles span:nth-child(10){display:none}.sparkles span:nth-child(11){top:75%;left:2%;font-size:23px}.sparkles span:nth-child(12){top:72%;right:2%;font-size:23px}.sparkles span:nth-child(13){top:95%;left:10%}.sparkles span:nth-child(14){top:95%;right:10%}.footer-toys{gap:28px}.footer-toys .pacifier{width:76px}}
@media(max-width:450px){.mobile-art{height:220px}.mobile-art .bear{max-width:44%}.scene-bow-pink{left:43%;width:29px;top:22px}.scene-bow-blue{right:43%;width:29px;top:78px}.scene-pacifier-pink{left:44%;width:31px;top:147px}.question-row{gap:4px}.question-bow{width:40px}.question{font-size:18px}.question em{font-size:29px}.intro{font-size:17px}.sparkles span:nth-child(11),.sparkles span:nth-child(12){font-size:18px}}
@media(max-width:360px){.mobile-art{height:185px}.scene-pacifier-pink{top:130px}.question-bow{width:31px}.question{font-size:17px}.question em{font-size:25px}.intro{font-size:16px}}
.changing-bow{position:relative;width:95px;aspect-ratio:627/657;margin:38px auto 18px;overflow:visible;animation:decoration-float 7s ease-in-out infinite;--turn:5deg}
.changing-bow .bow{position:absolute;inset:0;width:100%;animation:none}
.changing-bow .bow-pink{animation:bow-color 10s ease-in-out infinite}
@keyframes bow-color{0%,15%,100%{filter:hue-rotate(0deg)}45%,65%{filter:hue-rotate(-125deg)}}
.gift-alternative{margin:23px auto 0;font-size:17px;line-height:1.75}
.or-label{display:flex;align-items:center;justify-content:center;gap:15px;font-style:italic;font-size:16px;color:#7f6a54}
.or-label:before,.or-label:after{content:"";width:40px;height:1px;background:#d6bd9b}
.gift-alternative p{margin:15px 0 0}.gift-alternative a{color:#875424;text-decoration-color:#c5996b;text-underline-offset:5px}
@media(max-width:700px){.changing-bow{width:78px;margin:36px auto 18px}.question{font-size:21px}.question em{font-size:34px}.gift-alternative{font-size:16px}}
@media(max-width:360px){.question{font-size:19px}.question em{font-size:30px}}
.gift-alternative .amazon-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:280px;max-width:100%;min-height:167px;margin:20px auto 0;padding:15px 20px 20px;border:1px solid #c99e6a;border-radius:16px;background:radial-gradient(ellipse at 10% 5%,#fffdf9,transparent 70%),linear-gradient(130deg,#faead1,#e7cba5);box-shadow:0 8px 20px #996b3c12;color:#674323;text-decoration:none;transition:transform .2s,box-shadow .2s}
.amazon-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #996b3c24}.amazon-mark{width:91px;height:80px}.amazon-mark text{font:bold 83px Georgia,serif;fill:#503b2e}.amazon-card>span{font-size:20px}
.gift-alternative .amazon-card{position:relative;isolation:isolate;overflow:hidden;border-color:#c8aa83;background:repeating-linear-gradient(12deg,#ffffff0a 0,#ffffff0a 1px,transparent 1px,transparent 4px),repeating-linear-gradient(96deg,#8f663908 0,#8f663908 1px,transparent 1px,transparent 7px),radial-gradient(ellipse at 15% 10%,#f4e5cf,transparent 75%),linear-gradient(130deg,#ead5b6,#dfc39f);box-shadow:0 5px 0 -2px #f5e9d7,0 6px 0 -2px #cfb48f,0 12px 21px #84613b18;transform:rotate(-2deg);border-radius:13px}
.amazon-card:before{content:"";position:absolute;inset:8px;border:1px dashed #b699704f;border-radius:8px;pointer-events:none}.amazon-card:hover{transform:translateY(-4px) rotate(0deg)}
/* Gli orsetti affiancano l'invito senza finire sotto la prima schermata. */
@media(min-width:1100px){
  .mobile-art{width:calc(100vw - 64px);max-width:1400px;height:175px;left:50%;transform:translateX(-50%)}
  .mobile-art .bear{top:-165px;width:clamp(200px,17.5vw,260px)}
  .scene-bow-pink{left:41%;top:15px}.scene-bow-blue{right:41%;top:15px}
  .scene-pacifier-pink{left:41%;top:104px}.scene-pacifier-blue{right:41%;top:104px}
  .scene-heart{top:58px}
}
@media(min-width:701px) and (max-width:1099px){
  .mobile-art{max-width:100%;height:285px}
  .mobile-art .bear{top:-24px;width:210px}
}
.rsvp-open,.rsvp-submit{padding:13px 24px;border:1px solid #bd9568;border-radius:28px;color:#694929;background:linear-gradient(135deg,#fbefdf,#efdbc0);cursor:pointer;font:17px/1.45 var(--serif)}
.rsvp-open:hover,.rsvp-submit:hover{background:#eed4b3}
.modal-open body{overflow:hidden}
.rsvp-dialog{width:calc(100% - 32px);max-width:470px;max-height:calc(100dvh - 32px);margin:auto;padding:30px 35px;border:1px solid #d7b98e;border-radius:30px;background:radial-gradient(ellipse at 0 0,#f9e5ec80,transparent 60%),radial-gradient(ellipse at 100% 100%,#deeff980,transparent 65%),#fffbf6;color:var(--ink);box-shadow:0 25px 90px #45342238;overflow:auto;text-align:center}
.rsvp-dialog::backdrop{background:#3b302a6b;backdrop-filter:blur(4px)}
.rsvp-close{position:absolute;right:13px;top:10px;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:transparent;color:#745636;cursor:pointer;font:30px/1 system-ui,sans-serif}
.rsvp-close:hover{background:#efdfce}.rsvp-dialog-heart{color:var(--gold);font-size:33px;line-height:1.2}.rsvp-dialog h2{margin:6px 0 0;font-size:51px;color:var(--pink)}
.rsvp-dialog>p{font-size:17px;margin:0 0 23px}.rsvp-form{text-align:left}.rsvp-form label{display:block;font-size:17px;margin:16px 0 7px}.rsvp-form input{display:block;width:100%;min-height:48px;padding:10px 13px;border:1px solid #cbb798;border-radius:10px;background:#fffdfa;color:var(--ink);font:18px/1.4 var(--serif)}
.rsvp-form input:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.rsvp-form .field-hint{font-size:14px;color:#6d6055;margin:0 0 8px}.rsvp-preview-note{font-size:14px;line-height:1.6;color:#78634e;border-top:1px solid #e2d3c1;padding-top:15px;margin:20px 0 17px}.rsvp-submit{display:block;width:100%}.rsvp-result{font-size:15px;line-height:1.6;margin:15px 0 0;color:#6d5136}
@media(max-width:450px){.rsvp-dialog{padding:28px 23px;border-radius:24px}.rsvp-open{font-size:16px}}
.vote-invitation{margin:0 auto 30px}.vote-open{padding:12px 28px;border:1px solid #c5a8a5;border-radius:28px;background:linear-gradient(115deg,#fae0e9,#e1f0fc);color:#654b4d;font:18px/1.4 var(--serif);cursor:pointer}.vote-open:hover{background:linear-gradient(115deg,#f8cddd,#cfe7f8)}.vote-invitation p{font-size:15px;line-height:1.7;max-width:590px;margin:13px auto 0;color:#6a5d52}
.bow-options{display:flex;gap:14px;margin:22px 0 0;padding:0;border:0}.bow-options legend{font-size:17px;margin-bottom:8px}.rsvp-form .bow-option{position:relative;display:block;flex:1;min-width:0;margin:0;cursor:pointer}.rsvp-form .bow-option input{position:absolute;opacity:0;width:1px;height:1px;min-height:0;padding:0;left:50%;top:50%}.bow-choice{display:flex;flex-direction:column;align-items:center;gap:8px;border:1px solid #d5c3b5;border-radius:16px;background:#fffdfa;padding:12px 6px 15px;font-size:17px;transition:background .2s,border-color .2s}.bow-choice .bow{width:72px;animation:none}.pink-option input:checked+.bow-choice{border:2px solid var(--pink);padding:11px 5px 14px;background:#fce8ef}.blue-option input:checked+.bow-choice{border:2px solid var(--blue);padding:11px 5px 14px;background:#e4f2fc}.bow-option input:focus-visible+.bow-choice{outline:3px solid var(--blue);outline-offset:4px}.vote-prize{font-size:15px;line-height:1.65;color:#6a5d52;margin:18px 0 0}.vote-dialog h2{font-size:47px}
@media(max-width:450px){.vote-invitation p{font-size:14px;padding:0 10px}.vote-dialog h2{font-size:43px}.bow-choice{font-size:15px}.bow-choice .bow{width:65px}}
@media(max-width:450px){.question{font-size:16px}.question em{font-size:26px;margin-left:.15em}}
@media(max-width:360px){.question em{font-size:23px}}
@media(max-width:1050px){.event-details{gap:28px}.event-detail{gap:17px}.event-detail time,.event-detail strong{font-size:22px}}
@media(max-width:900px){.event-details{flex-direction:column}.detail-divider{height:1px;width:160px}}
@media(max-width:700px){.event-details{max-width:none}.event-detail{flex-direction:column;text-align:center;gap:10px}.event-detail time,.event-detail strong{font-size:clamp(17px,5.1vw,22px)}}
.music-status{position:fixed;left:14px;bottom:14px;z-index:10;max-width:260px;background:#fffaf5;border:1px solid #dfcfbf;border-radius:10px;padding:10px;margin:0;font:12px/1.4 system-ui,sans-serif;color:#6d4831}
.gifts #gift-title{color:#875f3e;font-family:var(--script);font-weight:400;font-size:clamp(34px,5.5vw,52px);line-height:1.3}.gifts #gift-title span{display:block}.event-detail time{color:#875f3e}
.paolo-surprise{position:fixed;inset:0;z-index:100;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at center,#f5fbfff5 0%,#eff9ffb8 42%,#e5f5ff38 75%);animation:paolo-background 5.5s ease both}.paolo-name{position:absolute;inset:40% 12px auto;margin:0;text-align:center;font:clamp(100px,22vw,210px)/1.3 var(--script);color:#178bc3;text-shadow:0 3px 0 #fff,0 0 35px #fff;animation:paolo-name 5.5s ease both}.paolo-balloon{position:absolute;left:50%;top:65%;width:clamp(38px,6vw,78px);aspect-ratio:4/5;border-radius:50% 50% 46% 46%;border:1px solid #57afe077;background:radial-gradient(ellipse at 30% 22%,#ffffffed,transparent 23%),radial-gradient(ellipse at 35% 30%,#c9eeff,#78c5ed 65%,#3897ce);box-shadow:inset -5px -6px 12px #3184bb25;animation:paolo-burst 5s cubic-bezier(.16,.65,.3,1) both;animation-delay:var(--delay,0s)}.paolo-balloon:before{content:"";position:absolute;bottom:-6px;left:calc(50% - 5px);border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:8px solid #6ab9e5}.paolo-balloon:after{content:"";position:absolute;top:calc(100% + 7px);left:50%;height:65px;width:14px;border-left:1px solid #7aabc8aa;border-radius:50%}.paolo-balloon:nth-child(3n){filter:brightness(1.1)}.paolo-balloon:nth-child(3n + 1){--delay:.12s}.paolo-balloon:nth-child(4n){--delay:.24s}
@keyframes paolo-burst{0%{transform:translate(-50%,15vh) scale(.08);opacity:0}8%{opacity:1}68%{opacity:1}100%{transform:translate(calc(-50% + var(--x)),var(--y)) rotate(var(--r));opacity:0}}
@keyframes paolo-name{0%,8%{opacity:0;transform:translateY(20px) scale(.8)}22%,80%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(-12px) scale(1.03)}}
@keyframes paolo-background{0%,100%{opacity:0}12%,85%{opacity:1}}
.paolo-balloon:nth-child(1){--x:-46vw;--y:-85vh;--r:-22deg}.paolo-balloon:nth-child(2){--x:46vw;--y:-92vh;--r:20deg}.paolo-balloon:nth-child(3){--x:-35vw;--y:-102vh;--r:-14deg}.paolo-balloon:nth-child(4){--x:34vw;--y:-87vh;--r:16deg}.paolo-balloon:nth-child(5){--x:-24vw;--y:-98vh;--r:-10deg}.paolo-balloon:nth-child(6){--x:22vw;--y:-108vh;--r:12deg}.paolo-balloon:nth-child(7){--x:-12vw;--y:-94vh;--r:-8deg}.paolo-balloon:nth-child(8){--x:10vw;--y:-99vh;--r:8deg}.paolo-balloon:nth-child(9){--x:-54vw;--y:-48vh;--r:-28deg}.paolo-balloon:nth-child(10){--x:55vw;--y:-56vh;--r:26deg}.paolo-balloon:nth-child(11){--x:-44vw;--y:-65vh;--r:-17deg}.paolo-balloon:nth-child(12){--x:43vw;--y:-70vh;--r:18deg}.paolo-balloon:nth-child(13){--x:-32vw;--y:-78vh;--r:-13deg}.paolo-balloon:nth-child(14){--x:31vw;--y:-73vh;--r:15deg}.paolo-balloon:nth-child(15){--x:-20vw;--y:-83vh;--r:-9deg}.paolo-balloon:nth-child(16){--x:19vw;--y:-81vh;--r:11deg}.paolo-balloon:nth-child(17){--x:-58vw;--y:-28vh;--r:-32deg}.paolo-balloon:nth-child(18){--x:58vw;--y:-33vh;--r:30deg}.paolo-balloon:nth-child(19){--x:-49vw;--y:-44vh;--r:-20deg}.paolo-balloon:nth-child(20){--x:48vw;--y:-39vh;--r:22deg}.paolo-balloon:nth-child(21){--x:-38vw;--y:-56vh;--r:-16deg}.paolo-balloon:nth-child(22){--x:37vw;--y:-60vh;--r:17deg}.paolo-balloon:nth-child(23){--x:-7vw;--y:-114vh;--r:-6deg}.paolo-balloon:nth-child(24){--x:5vw;--y:-119vh;--r:6deg}
@media(prefers-reduced-motion:reduce){.paolo-balloon{transform:translate(calc(-50% + var(--x)),calc(var(--y) * .5)) scale(.85);opacity:.65}.paolo-name{opacity:1}}
.vote-invitation .lucky-reveal{max-width:520px;margin:22px auto 10px;padding:0 18px;color:#875f3e;font-size:18px;font-style:italic;line-height:1.6;text-wrap:balance;transform-origin:center}.lucky-reveal-visible{animation:lucky-pop 1.2s cubic-bezier(.2,.7,.25,1) both}@keyframes lucky-pop{0%{opacity:0;transform:scale(.72)}65%{opacity:1;transform:scale(1.06)}82%{transform:scale(.98)}100%{opacity:1;transform:scale(1)}}@media(max-width:450px){.vote-invitation .lucky-reveal{font-size:16px;max-width:320px}}
/* Apertura esplicita dell'invito e della musica con lo stesso gesto. */
.invitation-closed .invitation-details,.invitation-closed .celebration,.invitation-closed .gifts,.invitation-closed footer{display:none}
.invitation-closed .hero{min-height:100svh;display:grid;align-items:center;padding-top:30px;padding-bottom:60px}
.invitation-closed .hero-content{width:100%}
.invitation-closed .title-pink{animation:cover-fade 1s ease .25s both}
.invitation-closed .title-blue{animation:cover-fade 1s ease .75s both}
.invitation-closed .invitation-open{animation:cover-fade 1s ease 1.25s both,label-breathe 4.5s ease-in-out 2.25s infinite}
@keyframes cover-fade{from{opacity:0;visibility:hidden}to{opacity:1;visibility:visible}}
.hero-content>.eyebrow{font-size:18px;text-wrap:balance}
.invitation-open{display:block;margin:0 auto;padding:6px 30px 10px;border:1px solid #b99571;border-radius:12px;background:repeating-linear-gradient(12deg,#ffffff18 0 1px,transparent 1px 4px),linear-gradient(135deg,#fffaf2,#f5e7d4);color:#875f3e;font:42px/1.4 var(--script);cursor:pointer;box-shadow:0 4px 18px #875f3e0a;transition:color .2s,transform .2s,background .2s}
.invitation-open:hover{color:#654329;background:#f8ead7;transform:translateY(-2px)}
.invitation-opened .mobile-art{animation:cover-fade .85s ease both}
.invitation-opened .intro{animation:invitation-appear .85s ease .3s both}
.invitation-opened .question-row,.invitation-opened .together{animation:invitation-appear .85s ease .5s both}
.invitation-opened .changing-bow{animation:cover-fade .85s ease .5s both,decoration-float 7s ease-in-out infinite}
.invitation-opened .vote-invitation,.invitation-opened .countdown-wrap,.invitation-opened .discover-link,.invitation-opened .celebration,.invitation-opened .gifts,.invitation-opened footer{animation:invitation-appear .85s ease .65s both}
@keyframes invitation-appear{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.music-status p{margin:0 0 6px}.music-retry{border:1px solid #b78145;border-radius:12px;background:#fff3e3;color:#6d4831;min-height:36px;padding:4px 12px;cursor:pointer}
@keyframes label-breathe{0%,100%{box-shadow:0 4px 16px #875f3e0a}50%{box-shadow:0 6px 23px #875f3e20}}
/* La copertina raccoglie titolo e invito, lasciando liberi i testi. */
:root{--ink:#51463e}
.invitation-closed .hero-content>.eyebrow{margin-bottom:9px}
.invitation-closed .hero-content>.heart-ornament{font-size:36px}
.invitation-closed .hero h1{margin-top:0;margin-bottom:0}
.invitation-closed .sparkles span:nth-child(1){left:12%;top:24%}
.invitation-closed .sparkles span:nth-child(3){right:12%;top:28%}
.invitation-closed .sparkles span:nth-child(4){left:16%;top:60%}
.invitation-closed .sparkles span:nth-child(5){right:16%;top:64%}
@media(max-width:700px){.hero-content>.eyebrow{font-size:15px}.invitation-open{font-size:36px;margin-top:4px;padding:7px 29px 11px}.invitation-closed .hero-content>.heart-ornament{font-size:30px}.invitation-closed .sparkles span:nth-child(1){left:4%;top:24%}.invitation-closed .sparkles span:nth-child(3){right:4%;top:27%}.invitation-closed .sparkles span:nth-child(4){left:8%;top:67%}}
