*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f7f4e9;color:#303c2f;font-family:Montserrat,sans-serif;font-weight:300}button,input,select,textarea{font:inherit}main[hidden]{display:none}section{padding:100px 20px;text-align:center;position:relative;overflow:hidden}h2{font:400 clamp(44px,7vw,76px)/1.06 "Cormorant Garamond",serif;margin:20px auto}.eyebrow{font:400 12px Montserrat,sans-serif;letter-spacing:.48em;color:#6f8067}.cover{position:fixed;inset:0;z-index:50;overflow:hidden;background:#8fa28a;isolation:isolate}.envelope-paper{position:absolute;inset:0;background:radial-gradient(ellipse at 40% 70%,#a7b8a0,#8ca18a 75%);filter:contrast(1.03)}.envelope-paper:after{content:"";position:absolute;inset:0;opacity:.33;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");mix-blend-mode:multiply;pointer-events:none}.flap{position:absolute;z-index:3;inset:0 0 auto;height:58%;background:linear-gradient(165deg,#b5c5b0,#8ea48b);clip-path:polygon(0 0,100% 0,50% 100%);filter:drop-shadow(0 4px 5px #35483560);transform-origin:top;transition:transform 1.4s cubic-bezier(.22,.8,.23,1)}.crease{position:absolute;z-index:1;width:120%;height:1px;background:#6f876d55;top:58%;left:-10%}.crease-left{transform:rotate(35deg)}.crease-right{transform:rotate(-35deg)}.seal{position:absolute;z-index:5;top:54%;left:50%;transform:translate(-50%,-50%);width:clamp(125px,22vw,175px);aspect-ratio:1;border-radius:48% 52% 45% 55%;display:grid;place-items:center;background:radial-gradient(circle at 30% 25%,#fffdf5,#efe4ce 54%,#c7b59a 100%);border:9px ridge #f4e7d5;box-shadow:0 8px 18px #3e4a3966,inset 0 0 14px #b8a38c;transition:opacity .65s}.seal span{border:2px solid #d2c0a6;width:83%;height:83%;border-radius:50%;display:flex;align-items:center;justify-content:center;gap:3px;font:400 clamp(37px,6vw,55px) "Cormorant Garamond",serif;color:#d0bea7;text-shadow:1px 1px #fff}.seal small{font-size:.56em}.bouquet{position:absolute;right:-20px;bottom:0;width:48vw;height:39vh;min-width:210px;pointer-events:none;z-index:4;transform:rotate(-13deg)}.bouquet .stems{position:absolute;right:15%;bottom:-22%;font:350px Georgia,serif;color:#758e68}.bloom{position:absolute;font:clamp(70px,14vw,150px) Georgia,serif;text-shadow:2px 7px 10px #43583a40}.bloom-one{right:5%;bottom:17%;color:#d9aaa3}.bloom-two{right:35%;bottom:5%;color:#e7c5bb}.bloom-three{right:39%;bottom:40%;color:#f4eee0;font-size:85px}.bloom-four{right:2%;bottom:53%;color:#f6f2e6;font-size:64px}.cover-content{position:absolute;z-index:7;bottom:9%;left:0;right:0;text-align:center;color:#fff}.cover-content h1{font:400 clamp(48px,10vw,90px) "Great Vibes",cursive;margin:0 0 15px;text-shadow:0 2px 8px #35483577}.open-button{background:#485a496b;border:1px solid #e9eee0b5;border-radius:99px;padding:13px 30px;color:#fff;font:italic 29px "Cormorant Garamond",serif;cursor:pointer;backdrop-filter:blur(7px)}.cover.open .flap{transform:rotateX(178deg)}.cover.open .seal{opacity:0}.cover.exit{animation:reveal 1.5s ease forwards}@keyframes reveal{to{opacity:0;visibility:hidden;transform:scale(1.02)}}.intro-section{min-height:88svh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse,#fffcf5,#f3f0e5)}.couple{font-size:clamp(65px,11vw,125px);letter-spacing:-.045em}.couple i{font-weight:400;color:#80937b}.vow{font:italic clamp(25px,4vw,37px)/1.35 "Cormorant Garamond",serif;margin:20px 0 38px}.scroll-link{color:#65795e;text-decoration:none;font:400 12px Montserrat,sans-serif;letter-spacing:.16em;border-bottom:1px solid #9dab96;padding-bottom:8px}.day{min-height:100svh;background:linear-gradient(#fbf9f1,#f5f2e7);display:flex;flex-direction:column;align-items:center;justify-content:center}.number{font:400 clamp(160px,36vw,300px)/.85 "Cormorant Garamond",serif;margin:75px auto 12px;letter-spacing:-.08em}.month{font-size:18px;letter-spacing:.65em;color:#697d63;margin:20px 0 45px}.year{font:400 66px "Cormorant Garamond",serif;letter-spacing:.35em;margin-left:.35em}.countdown{display:flex;gap:clamp(10px,5vw,55px);margin:100px auto 22px}.countdown div{min-width:50px}.countdown strong{display:block;font:400 clamp(34px,6vw,55px) "Cormorant Garamond",serif}.countdown span{display:block;font-size:10px;letter-spacing:.23em;color:#77846e}.count-label{font-size:11px;letter-spacing:.38em;color:#6d8066}.venue{background:#f7f4e9}.painting{max-width:720px;margin:38px auto 45px}.painting svg{display:block;width:100%}.venue h2{max-width:800px}.venue-hour{font-size:13px;letter-spacing:.4em;color:#7d8d72;margin:30px 0}.venue-text{font:300 clamp(16px,2.7vw,23px)/1.8 Montserrat,sans-serif;max-width:660px;margin:25px auto 40px}.action-row{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.action,.send{display:inline-block;padding:14px 24px;background:#7e947b;color:white;border:1px solid #7e947b;text-decoration:none;border-radius:40px;cursor:pointer;font:400 12px Montserrat,sans-serif}.calendar-picker{position:relative}.calendar-options{position:absolute;top:calc(100% + 7px);left:50%;transform:translateX(-50%);z-index:10;background:#fffdf8;border:1px solid #c9d2c5;width:220px;box-shadow:0 12px 25px #33433333;border-radius:8px;padding:6px}.calendar-options[hidden]{display:none}.calendar-options a,.calendar-options button{display:block;width:100%;text-align:left;background:none;border:0;color:#425d43;padding:13px;font:400 12px Montserrat,sans-serif;text-decoration:none;cursor:pointer}.calendar-options a:hover,.calendar-options button:hover{background:#eaf0e7}.map{max-width:760px;margin:50px auto 0;border:8px solid #fffdf6}.map iframe{width:100%;height:320px;border:0;display:block}.gift{background:#e7ece1}.branch{font:110px Georgia,serif;color:#9eb39b;line-height:1}.gift>p:not(.eyebrow){max-width:740px;margin:25px auto;font:italic clamp(26px,4vw,40px)/1.35 "Cormorant Garamond",serif}.bank{background:#f9f7ee;max-width:520px;margin:40px auto 0;padding:30px 18px;border:1px solid #cbd5c5}.bank span{display:block;font-size:10px;letter-spacing:.28em;margin-top:20px}.bank strong{display:block;font:400 25px "Cormorant Garamond",serif;margin:8px}.rsvp{background:#f7f4e9}.rsvp>p:not(.eyebrow){font-size:14px;line-height:1.9}form{max-width:530px;margin:35px auto 0;padding:30px;background:#fffdf8;text-align:left;border:1px solid #d7ded1}form label{display:block;font-size:12px;margin:0 0 18px}form input,form select,form textarea{display:block;width:100%;margin-top:8px;padding:13px;border:1px solid #c5d0c0;background:#fff;color:#405340;border-radius:3px}form .send{width:100%}#status{text-align:center;font-size:12px}footer{text-align:center;padding:70px 20px;background:#e7ece1}footer p{font:italic 26px "Cormorant Garamond",serif}footer strong{display:block;font:50px "Great Vibes",cursive;font-weight:400}footer small{display:block;letter-spacing:.25em;font-size:10px;margin-top:15px}@media(max-width:600px){section{padding:75px 20px}.cover-content{bottom:8%}.bouquet{bottom:3%;height:32vh;right:-35px}.cover-content h1{font-size:55px}.number{margin-top:65px}.countdown{gap:16px;margin-top:75px}.countdown span{font-size:9px}.month{font-size:13px;letter-spacing:.48em}.year{font-size:52px}.venue-text{font-size:16px}.map iframe{height:260px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
/* Ultimi ritocchi richiesti */
.intro-date{font:400 clamp(16px,3vw,23px) "Cormorant Garamond",serif;letter-spacing:.24em;color:#667c63;margin:0 0 24px}
.day-date{font:400 clamp(37px,8.8vw,94px)/1.1 "Cormorant Garamond",serif;white-space:nowrap;letter-spacing:-.035em;margin:75px auto 15px}
.day .calendar-picker{margin-top:30px}
.day .calendar-options{z-index:15}
.day .countdown{margin-top:65px}
@media(max-width:600px){.day-date{font-size:clamp(31px,8.5vw,54px);margin-top:55px}.intro-date{font-size:18px;letter-spacing:.18em}.day .countdown{margin-top:65px}}

.music-toggle{position:fixed;right:19px;bottom:19px;z-index:40;width:49px;height:49px;border-radius:50%;border:1px solid #cdd6c6;background:#82987fe8;color:#fff;font-size:24px;box-shadow:0 4px 18px #263c2d33;cursor:pointer;display:none;align-items:center;justify-content:center;backdrop-filter:blur(7px)}.music-toggle.visible{display:flex}.music-toggle.paused{background:#f8f5eb;color:#61765c;border-color:#9eaf9a}.music-toggle:focus-visible{outline:3px solid #d9b97d;outline-offset:3px}

/* Edizione pergamena, campagna e dono a sorpresa */
.cover{background:#e9dbc0}.envelope-paper{inset:10% 7% 18%;border-radius:3px;background:radial-gradient(ellipse at 27% 17%,#f5ebd7 0%,#e7d3af 57%,#cfb68e 100%);box-shadow:0 12px 45px #735b3966, inset 0 0 45px #8f744c25;filter:none}.envelope-paper:after{opacity:.53}.flap{background:linear-gradient(165deg,#f2e4ca,#dcc39b);height:55%;filter:drop-shadow(0 5px 5px #82674777)}.crease{top:55%;background:#b49a7288}.seal{top:53%;width:clamp(93px,19vw,128px);background:radial-gradient(circle at 33% 22%,#ffe5a2,#dba849 44%,#9d6725 88%);border:7px double #f5d68b;box-shadow:0 8px 20px #78552c70,inset 0 0 0 3px #a5772b,inset 0 0 12px #81531f}.seal span{color:#fff0b9;text-shadow:0 1px 2px #7e4b1e;border:1px solid #f8df9b;width:78%;height:78%;font-size:63px}.cover-content{bottom:6%;color:#574e3c}.cover-invite{letter-spacing:.38em;font-size:11px;margin:0 0 15px}.open-button{background:#777f68;color:#fff;border-color:#f7eed7;font-size:26px;padding:12px 34px}.bouquet{opacity:.3;filter:sepia(.65);z-index:0}.cover.open .envelope-paper{transition:transform 1.4s ease,opacity 1.4s ease;transform:translateY(-12%) scale(1.04);opacity:0}.intro-section{min-height:100svh;background:linear-gradient(180deg,#f6f3e8d9 0%,#f6f3e86e 32%,#e7dfc52b 60%,#f8f4e9b0 100%),url('campagna.jpg') center center / cover no-repeat}.intro-content{position:relative;z-index:1;width:100%;padding:24px 8px;background:radial-gradient(ellipse,#fffdf3bd 0%,#fffdf300 70%)}.olive-mark{font:90px Georgia,serif;color:#65795d;line-height:1}.intro-section .eyebrow{color:#4c5d46}.intro-section .couple{font-size:clamp(62px,12vw,125px);text-shadow:0 2px 12px #fffaed}.intro-section .intro-date{color:#3e513e;font-weight:500}.intro-section .vow{font-size:clamp(22px,3.5vw,34px);text-shadow:0 1px 7px #fff}.painting{max-width:650px;margin:36px auto 40px}.painting img{display:block;width:100%;height:auto;mix-blend-mode:multiply;mask-image:linear-gradient(to bottom,transparent 0%,black 8%,black 91%,transparent 100%)}.gift{background:#faf5e9}.gift-note{max-width:600px;margin:35px auto!important;font-size:clamp(22px,3.5vw,32px)!important}.gift-envelope{width:min(78vw,330px);height:190px;margin:38px auto 32px;position:relative;background:linear-gradient(145deg,#fdf7ea,#e9d9c1);border:1px solid #d5c3a9;border-radius:4px;box-shadow:0 14px 28px #75664e2b;overflow:hidden}.gift-envelope:before{content:'';position:absolute;inset:0;background:linear-gradient(148deg,transparent 49.6%,#d6c3aa 50%,transparent 50.5%),linear-gradient(32deg,transparent 49.6%,#d6c3aa 50%,transparent 50.5%)}.gift-ribbon-v,.gift-ribbon-h{position:absolute;display:block;background:linear-gradient(90deg,#b3c3d4,#d6e0e9,#a8b9cc);box-shadow:0 1px 5px #7389a35e}.gift-ribbon-v{height:100%;width:21px;left:calc(50% - 10px)}.gift-ribbon-h{height:20px;width:100%;top:calc(50% - 10px)}.gift-bow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:68px;height:68px;border-radius:50%;background:#e7eff3;border:3px solid #a8bfd0;display:grid;place-items:center;color:#8199ad;font-size:48px;box-shadow:0 3px 9px #6c84905c}.gift-reveal{background:#778368;border:1px solid #778368;color:#fff;padding:16px 27px;border-radius:28px;cursor:pointer;font-size:13px;letter-spacing:.04em}.gift-reveal:hover{background:#65745b}.bank[hidden]{display:none}.bank{border-radius:14px;box-shadow:0 12px 25px #7d81611c;animation:bankShow .4s ease}@keyframes bankShow{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@media(max-width:600px){.envelope-paper{inset:12% 7% 23%}.cover-content{bottom:7%}.intro-section{background-position:center center}.intro-content{padding:25px 0}.painting{margin:26px auto}.gift-envelope{height:160px}}

/* Ritocchi richiesti — 10 ottobre 2026 */
/* Sigillo personalizzato in oro */
.seal .seal-ornament{font:500 clamp(31px,7vw,48px)/1 "Cormorant Garamond",serif;letter-spacing:-.045em;white-space:nowrap;color:#fff3c5;text-shadow:0 1px 3px #744515}
.seal .seal-amp{display:inline;border:0;width:auto;height:auto;font:italic 0.68em "Cormorant Garamond",serif;margin:0 2px;color:#fff2c4;text-shadow:none}
/* Decorazione floreale nella parte superiore, non sul fondo */
.cover-flowers{position:absolute;z-index:7;left:-16px;top:-30px;width:245px;height:230px;pointer-events:none;filter:drop-shadow(1px 5px 4px #6b66472c)}
.floral-leaves{position:absolute;left:4px;top:-58px;color:#75835b;font:310px/1 Georgia,serif;transform:rotate(-35deg)}
.floral-flower{position:absolute;color:#fff9e9;font:80px/1 Georgia,serif;text-shadow:1px 2px 3px #8b7b5960}
.f1{left:24px;top:48px}.f2{left:105px;top:16px;font-size:65px}.f3{left:69px;top:111px;font-size:56px}.f4{left:156px;top:78px;font-size:40px}
.cover-content{bottom:8%}.cover-content .cover-invite{display:none}
/* Inquadratura più ampia: mostra campagna, alberi e cerimonia sul telefono */
.intro-section{background-image:linear-gradient(180deg,#f6f3e8a8 0%,#f6f3e845 35%,#e7dfc51c 60%,#f8f4e9b0 100%),url('campagna.jpg');background-size:cover;background-position:center 43%;min-height:100svh;padding-bottom:145px}
.intro-content{margin-top:35px}
.intro-scroll{position:absolute;z-index:3;bottom:33px;left:50%;transform:translateX(-50%);display:flex;align-items:center;flex-direction:column;gap:3px;min-width:235px;text-decoration:none;color:#3e503b;font:500 10px/1.9 Montserrat,sans-serif;letter-spacing:.22em;text-shadow:0 1px 8px #fff;text-align:center}
.scroll-arrow{font:50px/0.9 "Cormorant Garamond",serif;animation:scrollBounce 2s ease-in-out infinite}
@keyframes scrollBounce{50%{transform:translateY(7px)}}
.olive-sprig{position:relative;width:50px;height:120px;margin:0 auto 18px;transform:rotate(8deg)}
.sprig-stem{position:absolute;left:50%;top:7px;width:2px;height:110px;background:#637a58;border-radius:50%;transform:rotate(5deg)}
.sprig-leaf{position:absolute;width:11px;height:26px;background:#708563;border:1px solid #4d684b;border-radius:100% 0 100% 0;transform-origin:bottom center}
.l1{top:9px;left:25px;transform:rotate(33deg)}.l2{top:28px;left:9px;transform:rotate(-55deg)}.l3{top:43px;left:27px;transform:rotate(40deg)}.l4{top:63px;left:9px;transform:rotate(-52deg)}.l5{top:76px;left:28px;transform:rotate(40deg)}.l6{top:94px;left:11px;transform:rotate(-50deg)}
/* Ornamenti nella sezione giorno senza cambiare data o countdown */
.day{background:radial-gradient(ellipse at 50% 50%,#fffdf6,#f6f0e4);border-top:1px solid #e4ddc9;border-bottom:1px solid #e4ddc9}
.day-branch{font:85px/1 Georgia,serif;color:#819378;transform:rotate(-25deg);margin-bottom:24px}
.day:before,.day:after{content:'✦';position:absolute;color:#b4a27d;font-size:17px;opacity:.65;top:29%;left:11%}.day:after{top:auto;bottom:20%;left:auto;right:12%}
.day-divider{display:flex;align-items:center;gap:16px;width:min(75vw,260px);margin:27px auto 4px;color:#b7a580}.day-divider:before,.day-divider:after{content:'';height:1px;background:#c8c2ad;flex:1}
/* Tipografia della tenuta */
.venue h2{font-size:clamp(37px,6.4vw,61px);line-height:1.1}
.venue-hour{font-size:clamp(18px,3.3vw,24px);font-weight:500;letter-spacing:.24em;color:#425a40}
/* Busta regalo compatta con nastro verde salvia e fiore */
.gift-envelope{width:min(67vw,240px);height:135px;margin:26px auto 25px}
.gift-ribbon-v,.gift-ribbon-h{background:linear-gradient(90deg,#819d7d,#bbd0b2,#738d70);box-shadow:0 1px 5px #5a75585c}
.gift-ribbon-v{width:16px;left:calc(50% - 8px)}.gift-ribbon-h{height:16px;top:calc(50% - 8px)}
.gift-bow{width:52px;height:52px;background:transparent;border:0;box-shadow:none;color:#f8f2df;font-size:21px}
.bow-petal{position:absolute;width:23px;height:16px;border-radius:90% 15% 90% 15%;background:#90a88b;box-shadow:0 2px 4px #4b694644}
.petal-a{transform:translate(-12px,-10px) rotate(32deg)}.petal-b{transform:translate(12px,-10px) rotate(130deg)}.petal-c{transform:translate(-12px,10px) rotate(-32deg)}.petal-d{transform:translate(12px,10px) rotate(-130deg)}
.bow-center{position:relative;z-index:2;color:#f8f2e5;text-shadow:0 1px 3px #556f4c}
.bank-outer{background:#faf5e9;padding:0 20px 75px;text-align:center}
.bank-outer .bank{margin:0 auto;max-width:520px}
@media(max-width:600px){
.cover-flowers{transform:scale(.76);transform-origin:top left;top:0;left:-12px}
.seal .seal-ornament{font-size:37px}
.intro-section{background-size:auto 88%;background-repeat:no-repeat;background-color:#f6f2e8;background-position:center bottom;padding:52px 14px 145px;min-height:100svh}
.intro-content{margin-top:0;padding:0;background:radial-gradient(ellipse,#fffdf3c4 0%,#fffdf300 75%)}
.intro-section .couple{font-size:clamp(58px,13vw,84px)}
.intro-section .vow{font-size:clamp(21px,5.3vw,29px)}
.olive-sprig{transform:scale(.83) rotate(8deg);margin-bottom:2px}
.intro-scroll{bottom:22px}
.venue h2{font-size:clamp(33px,8.5vw,43px)}
.venue-hour{font-size:19px;letter-spacing:.21em}
.day-branch{font-size:65px}
}

/* Ottobre: piccoli ritocchi richiesti */
/* Ramoscelli floreali in stile botanico, senza grande simbolo verde */
.cover-flowers{top:1%;left:0;width:245px;height:200px;transform:none;filter:none}
.floral-leaves{display:none!important}
.cover-twig{position:absolute;width:2px;height:125px;background:#7c8d6d;transform-origin:bottom;opacity:.85;border-radius:100%}
.cover-twig:before,.cover-twig:after{content:"";position:absolute;width:14px;height:28px;background:#839675;border:1px solid #6c8161;border-radius:100% 0 100% 0}
.twig-a{top:5px;left:77px;transform:rotate(43deg)}
.twig-a:before{top:19px;left:1px;transform:rotate(35deg)}.twig-a:after{top:58px;left:-13px;transform:rotate(-75deg)}
.twig-b{top:14px;left:138px;transform:rotate(-34deg)}
.twig-b:before{top:17px;left:1px;transform:rotate(35deg)}.twig-b:after{top:63px;left:-13px;transform:rotate(-75deg)}
.floral-flower{font-size:54px;color:#fff9ed;text-shadow:0 1px 2px #b0a18780}
.f1{left:12px;top:16px}.f2{left:97px;top:8px;font-size:46px}.f3{left:60px;top:80px;font-size:42px}.f4{left:165px;top:70px;font-size:32px}
.intro-date{display:none}
.day-sprig{transform:scale(.85) rotate(8deg);margin:0 auto 15px;flex-shrink:0}
.venue h2{font-size:clamp(30px,5vw,48px);line-height:1.12}
.painting{margin:20px auto 18px;max-height:450px;overflow:hidden}
.painting img{width:100%;height:auto;display:block;transform:translateY(-2%);mask-image:linear-gradient(to bottom,transparent 0%,black 7%,black 88%,transparent 97%)}
.gift-reveal{display:none!important}
.bank-outer .bank,.bank{display:block!important}
.rsvp h2{font-size:clamp(49px,8vw,83px)}
.rsvp .eyebrow{font-size:14px}
.rsvp>p:not(.eyebrow){font-size:16px}
.rsvp form label{font-size:15px;line-height:1.55}
.rsvp form input,.rsvp form select,.rsvp form textarea{font-size:16px}
.rsvp .send{font-size:15px}
@media(max-width:600px){
.cover-flowers{transform:scale(.83);transform-origin:top left;top:2%;left:0}
.day-sprig{transform:scale(.72) rotate(8deg);margin-bottom:-2px}
.venue h2{font-size:clamp(28px,7.2vw,36px)}
.painting{max-height:320px;margin:18px auto 13px}
.painting img{transform:translateY(-3%)}
.rsvp h2{font-size:clamp(48px,12vw,66px)}
.rsvp form{padding:23px 20px}
}

/* Ritocchi richiesti: regalo più raccolto e decorazione nel saluto finale */
.gift{padding-bottom:12px!important}
.bank-outer{padding-top:0!important;padding-bottom:65px!important}
.gift-envelope{margin-bottom:8px!important}
.footer-sprig{margin:0 auto 20px;transform:scale(.76);transform-origin:center center}
footer{position:relative}
@media(max-width:600px){.gift{padding-bottom:5px!important}.bank-outer{padding-top:0!important}.footer-sprig{margin-bottom:10px;transform:scale(.7)}}

/* Mobile hero: remove ghost lettering embedded in the old background and tighten composition */
.intro-section{background-image:linear-gradient(180deg,#f7f4eb6e 0%,#f7f4eb18 40%,#f7f4eb7a 100%),url('campagna.jpg')!important;}
.intro-content .olive-sprig{transform:scale(.65) rotate(8deg);transform-origin:center center;margin-top:-18px;margin-bottom:-24px;}
.intro-content{transform:translateY(-32px);}
@media(max-width:600px){
 .intro-section{padding-top:12px!important;padding-bottom:115px!important;justify-content:center!important;background-size:auto 100%!important;background-position:center center!important;}
 .intro-content{transform:translateY(-64px);padding:0 6px!important;}
 .intro-content .olive-sprig{transform:scale(.58) rotate(8deg);margin-top:-27px;margin-bottom:-29px;}
 .intro-section .eyebrow{margin-top:0;margin-bottom:15px;}
 .intro-section .couple{margin:12px auto 18px;}
 .intro-section .vow{margin:12px 0 0;}
}

/* 10 ottobre — ottimizzazione specifica per schermi mobili */
.intro-section .vow{color:#253a2d;text-shadow:0 1px 2px rgba(255,255,250,.92),0 0 18px rgba(255,253,243,.98);position:relative;z-index:1}
.intro-section .vow:before{content:"";position:absolute;z-index:-1;inset:-15px -12px;background:radial-gradient(ellipse,rgba(251,249,238,.89) 0%,rgba(251,249,238,.65) 58%,rgba(251,249,238,0) 82%);pointer-events:none}
/* Programma in stile carta antica, con linea del tempo verde salvia */
.schedule{background:radial-gradient(ellipse at 50% 30%,#fffdf5 0%,#f4efe2 100%);padding:95px 20px 90px}
.schedule-sprig{transform:scale(.7) rotate(8deg);margin:0 auto 0;transform-origin:center center}
.schedule h2{font-size:clamp(43px,7vw,72px);margin:0 auto 12px;line-height:1.08}
.schedule .eyebrow{font-size:11px;letter-spacing:.26em;margin:5px auto 12px}
.schedule-intro{font:italic clamp(20px,3vw,27px) 'Cormorant Garamond',serif;color:#61745e;margin:0 auto 32px}
.schedule-timeline{width:min(100%,440px);margin:0 auto;position:relative;padding:8px 0}
.schedule-timeline:before{content:"";position:absolute;left:42%;top:32px;bottom:35px;width:1px;background:linear-gradient(transparent,#91a089 12%,#91a089 88%,transparent)}
.schedule-item{display:grid;grid-template-columns:42% 18px 1fr;align-items:center;min-height:96px;gap:0;text-align:left}
.schedule-time{font:500 clamp(26px,5vw,37px) 'Cormorant Garamond',serif;color:#465a43;text-align:right;padding-right:26px;letter-spacing:.03em}
.schedule-dot{width:11px;height:11px;background:#85977b;border:3px solid #f8f5e9;outline:1px solid #8b9e81;border-radius:50%;z-index:1;margin-left:-5px}
.schedule-event{padding-left:16px;display:flex;align-items:center;gap:10px}
.schedule-symbol{font:25px 'Cormorant Garamond',serif;color:#8b9e80;min-width:22px;text-align:center}
.schedule-event h3{font:400 clamp(26px,4vw,34px)/1.05 'Cormorant Garamond',serif;color:#364a37;margin:0}
.schedule-end{font:38px 'Cormorant Garamond',serif;color:#849778;margin:12px auto 0}
footer .footer-location{font-size:10px;letter-spacing:.25em;margin-top:13px;line-height:1.7}
@media(max-width:600px){
 .intro-section{justify-content:flex-start!important;padding-top:0!important;padding-bottom:115px!important}
 .intro-content{transform:none!important;display:flex;flex-direction:column;align-items:center;width:100%;padding:0 7px!important;margin-top:0!important}
 .intro-content .olive-sprig{transform:scale(.47) rotate(8deg)!important;transform-origin:center top!important;height:77px!important;margin-top:-3px!important;margin-bottom:-13px!important}
 .intro-section .eyebrow{margin:0 auto 18px!important;font-size:11px;letter-spacing:.32em}
 .intro-section .couple{font-size:clamp(52px,12.2vw,75px);margin:5px auto 20px!important}
 .intro-section .vow{font-size:clamp(22px,5.6vw,29px);line-height:1.35;margin:8px auto 0!important;max-width:360px}
 .intro-scroll{bottom:24px}
 .schedule{padding:72px 17px 66px}
 .schedule-sprig{transform:scale(.6) rotate(8deg);height:85px;margin-bottom:-10px}
 .schedule h2{font-size:clamp(40px,10vw,53px)}
 .schedule-item{min-height:84px}
 .schedule-time{font-size:31px;padding-right:18px}
 .schedule-event{padding-left:12px;gap:6px}
 .schedule-event h3{font-size:clamp(23px,6.2vw,31px)}
 footer{padding:42px 18px 52px!important}
 footer .footer-sprig{height:75px;margin-bottom:-2px!important;transform:scale(.56) rotate(8deg);transform-origin:center top}
 footer p{margin:4px auto 5px}
 footer strong{margin:0 auto 3px}
 footer small{margin-top:9px}
 footer .footer-location{font-size:10px;letter-spacing:.17em;margin-top:10px}
}

/* Ritocchi 10 ottobre: programma mobile, saluto e ritaglio tenuta */
.schedule{padding-top:76px;padding-bottom:76px}
.schedule-sprig{height:100px;margin:0 auto 8px;transform:scale(.60) rotate(8deg);transform-origin:center top}
.schedule h2{font-size:clamp(45px,7vw,66px);margin:0 auto 34px}
.schedule-timeline{width:min(100%,490px);margin:0 auto;padding:0 4px}
.schedule-timeline:before{left:31%;top:28px;bottom:28px}
.schedule-item{grid-template-columns:31% 18px minmax(0,1fr);min-height:100px}
.schedule-time{padding-right:14px}
.schedule-event{padding-left:15px}
footer .footer-sprig{margin-top:-25px;margin-bottom:34px!important;transform:scale(.62) rotate(8deg);transform-origin:center top}
@media(max-width:600px){
 .schedule{padding:55px 13px 62px}
 .schedule-sprig{height:83px;margin:0 auto 0;transform:scale(.52) rotate(8deg)}
 .schedule h2{font-size:clamp(42px,10vw,52px);margin:0 auto 29px}
 .schedule-timeline{width:100%;padding:0 2px}
 .schedule-timeline:before{left:29%;top:26px;bottom:27px}
 .schedule-item{grid-template-columns:29% 16px minmax(0,1fr);min-height:86px}
 .schedule-time{font-size:clamp(24px,7vw,30px);padding-right:11px}
 .schedule-dot{width:10px;height:10px;margin-left:-5px}
 .schedule-event{padding-left:12px;gap:8px}
 .schedule-symbol{min-width:18px;font-size:22px}
 .schedule-event h3{font-size:clamp(23px,6.4vw,30px);overflow-wrap:normal}
 footer{padding-top:20px!important}
 footer .footer-sprig{height:83px;margin-top:-18px!important;margin-bottom:28px!important;transform:scale(.54) rotate(8deg)}
}

/* Ritocchi ottobre: titoli e ramoscelli coordinati */
.venue .section-sprig,.gift .section-sprig{height:98px;transform:scale(.72) rotate(8deg);transform-origin:center top;margin:0 auto 10px;}
.schedule h2#schedule-title{font-family:Montserrat,sans-serif;font-size:12px;font-weight:400;letter-spacing:.48em;line-height:1.7;color:#6f8067;text-transform:uppercase;margin:0 auto 34px;}
footer .footer-sprig{height:100px;margin:-3px auto 28px!important;transform:scale(.66) rotate(8deg);transform-origin:center top;}
@media(max-width:600px){
 .venue .section-sprig,.gift .section-sprig{height:83px;transform:scale(.61) rotate(8deg);margin:0 auto 5px;}
 .schedule h2#schedule-title{font-size:12px;letter-spacing:.43em;margin-bottom:28px;}
 footer .footer-sprig{height:95px;margin:0 auto 27px!important;transform:scale(.6) rotate(8deg);}
}

/* Apertura busta più lenta e tridimensionale: fiori immobili fino alla dissolvenza finale */
.cover{perspective:1250px;perspective-origin:50% 35%;transform-style:preserve-3d}
.envelope-paper{transform-style:preserve-3d;backface-visibility:hidden;will-change:transform,filter;transition:transform 2.3s cubic-bezier(.22,.65,.16,1),filter 2.3s ease,box-shadow 2.3s ease!important}
.cover .flap{transform-origin:50% 0%;backface-visibility:visible;transform-style:preserve-3d;transition:transform 2.15s cubic-bezier(.17,.66,.2,1),filter 2s ease!important;will-change:transform}
.cover.open .flap{transform:rotateX(174deg) translateZ(8px);filter:drop-shadow(0 -12px 12px #5d4a3260)}
.cover.open .envelope-paper{transform:translateY(2%) rotateX(-9deg) scale(1.035)!important;opacity:1!important;filter:brightness(1.06)!important;box-shadow:0 26px 65px #65553c75!important}
.cover.open .seal{transition:opacity .55s ease,transform .75s ease;opacity:0;transform:translate(-50%,-55%) scale(.86)}
.cover-flowers,.cover.open .cover-flowers{opacity:1!important;animation:none!important;transition:none!important;transform-origin:top left}
.cover.exit{animation:reveal3d 1.4s ease-in-out forwards!important;pointer-events:none}
@keyframes reveal3d{0%{opacity:1}100%{opacity:0;visibility:hidden}}
@media(prefers-reduced-motion:reduce){.cover .flap,.envelope-paper{transition-duration:.01ms!important}}
@media(max-width:600px){.schedule-item{min-height:79px}.schedule-event h3{font-size:clamp(22px,6vw,29px)}}

/* Nuova apertura: i fiori spariscono al tocco, si intravede la partecipazione. */
.cover .cover-flowers{transition:opacity .65s ease,transform .65s ease!important;opacity:1!important}
.cover.open .cover-flowers{opacity:0!important;transform:translateY(-8px) scale(.97)!important;pointer-events:none}
.cover.open .cover-content{transition:opacity .4s ease;opacity:0;pointer-events:none}
.envelope-paper{overflow:visible}
.letter-preview{position:absolute;z-index:2;top:12%;left:8%;right:8%;height:57%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:11px;overflow:hidden;border:1px solid #ded5bd;background:linear-gradient(180deg,#fffdf2cf,#fffaf0c9 34%,#f8f3e8b0),url('campagna.jpg') center 53%/cover no-repeat;box-shadow:0 8px 25px #4d443331;opacity:0;transform:translateY(19%) scale(.91);transition:opacity .85s ease 1.1s,transform 1.5s cubic-bezier(.22,.65,.16,1) 1.05s;pointer-events:none;text-align:center;padding:14px 8px}
.letter-preview .preview-sprig{font:italic 45px Georgia,serif;color:#74866a;line-height:1}
.letter-preview .preview-label{font:400 clamp(8px,1.8vw,12px) Montserrat,sans-serif;letter-spacing:.27em;color:#566a50}
.letter-preview strong{font:400 clamp(29px,7vw,64px) 'Cormorant Garamond',serif;color:#334435;white-space:nowrap}
.letter-preview i{font-weight:400;color:#74866a}
.cover.open .letter-preview{opacity:1;transform:translateY(-9%) scale(1)}
.cover.open .flap{z-index:3}
.cover.exit{animation:reveal3d 1.6s ease-in-out forwards!important}
@media(max-width:600px){.letter-preview{top:8%;height:66%;left:6%;right:6%}.letter-preview strong{font-size:clamp(29px,8vw,45px)}}
@media(prefers-reduced-motion:reduce){.cover.open .letter-preview{transition:none;opacity:1;transform:none}}

/* Busta che si apre dal sigillo: anteprima della vera seconda pagina all'interno. */
.cover{perspective:1300px;perspective-origin:50% 22%;}
.envelope-paper{isolation:isolate;overflow:visible;transform:none!important;opacity:1!important;filter:none!important;}
.envelope-paper .letter-peek{position:absolute;z-index:2;left:5%;right:5%;top:9%;height:79%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:12px;padding:25px 10px 45px;overflow:hidden;background:linear-gradient(180deg,#faf8f0d9 0%,#fffaf1aa 35%,#f4f1e7a0 100%),url('campagna.jpg') center 43%/cover no-repeat;box-shadow:0 8px 25px #584d3d44;border:1px solid #d8d1bf;opacity:0;transform:translateY(12%) scale(.96);transition:transform 1.5s cubic-bezier(.18,.75,.25,1) .48s,opacity .35s ease .45s;pointer-events:none;}
.peek-branch{font:54px Georgia,serif;color:#72876b;line-height:1}.peek-label{font:400 10px Montserrat,sans-serif;letter-spacing:.28em;color:#4b6348}.peek-names{font:400 clamp(32px,7vw,67px)/1 'Cormorant Garamond',serif;color:#354737;white-space:nowrap;text-shadow:0 1px 8px #fff}.peek-names i{color:#7d947b}.peek-quote{font:italic clamp(15px,3vw,25px)/1.3 'Cormorant Garamond',serif;color:#3d503c;text-shadow:0 1px 8px #fff}
.envelope-paper .envelope-pocket{position:absolute;z-index:4;inset:44% 0 0;background:linear-gradient(150deg,#e9d9bc 0%,#d6bf9a 100%);clip-path:polygon(0 0,50% 45%,100% 0,100% 100%,0 100%);filter:drop-shadow(0 -6px 9px #68523d33);pointer-events:none;}
.cover .flap{z-index:6;transform-origin:50% 0;backface-visibility:visible;transition:transform 1.35s cubic-bezier(.2,.6,.22,1)!important;}
.cover .seal{z-index:8;transition:opacity .32s ease,transform .45s ease!important;}
.cover .cover-flowers{transition:opacity .3s ease!important;}
.cover.open .cover-flowers{opacity:0!important;pointer-events:none;}
.cover.open .cover-content{opacity:0;pointer-events:none;transition:opacity .25s ease;}
.cover.open .seal{opacity:0;transform:translate(-50%,-65%) scale(.82);}
.cover.open .flap{transform:rotateX(178deg)!important;}
.cover.open .letter-peek{opacity:1;transform:translateY(-10%) scale(1);}
.cover.exit{animation:envelope-dissolve .95s ease-in-out forwards!important;pointer-events:none;}
@keyframes envelope-dissolve{to{opacity:0;visibility:hidden}}
@media(max-width:600px){.envelope-paper .letter-peek{top:9%;height:80%;left:4%;right:4%;gap:10px}.peek-names{font-size:clamp(31px,9vw,48px)}.peek-quote{font-size:19px}.envelope-paper .envelope-pocket{inset-block-start:44%}}
@media(prefers-reduced-motion:reduce){.cover.open .flap,.cover.open .letter-peek{transition-duration:.01ms!important}}

/* Ritocchi: busta uniforme, senza effetto busta nella busta. */
.envelope-paper .envelope-pocket{
  inset:56% 0 0!important;
  clip-path:none!important;
  background:radial-gradient(ellipse at 27% -70%,#f5ebd7 0%,#e7d3af 57%,#cfb68e 100%)!important;
  border:0!important;
  box-shadow:none!important;
  filter:none!important;
}
/* La carta interna compare soltanto durante l'apertura del lembo. */
.envelope-paper .letter-peek{z-index:2}
.cover .flap{z-index:6}
/* Data del giorno più importante, leggibile anche su smartphone. */
.day-date{font-size:clamp(43px,9.6vw,103px)!important;letter-spacing:-.045em!important}
@media(max-width:600px){.day-date{font-size:clamp(35px,9.25vw,57px)!important;letter-spacing:-.055em!important}}

/* Solo la busta: ripristino della carta e delle pieghe del modello fornito.
   Il sigillo M&S, i fiori, il pulsante e tutte le altre sezioni restano invariati. */
.cover{background:#e9dbc0!important;}
.cover .envelope-paper{
  inset:10% 7% 18%!important;
  border-radius:3px!important;
  background:radial-gradient(ellipse at 27% 17%,#f5ebd7 0%,#e7d3af 57%,#cfb68e 100%)!important;
  box-shadow:0 12px 45px #735b3966,inset 0 0 45px #8f744c25!important;
  filter:none!important;
  isolation:auto!important;
}
.cover .envelope-paper:after{opacity:.53!important;}
.cover .envelope-paper .envelope-pocket,
.cover .envelope-paper .letter-peek{display:none!important;}
.cover .envelope-paper .flap{
  height:55%!important;
  background:linear-gradient(165deg,#f2e4ca,#dcc39b)!important;
  filter:drop-shadow(0 5px 5px #82674777)!important;
}
.cover .envelope-paper .crease{top:55%!important;background:#b49a7288!important;}
@media(max-width:600px){.cover .envelope-paper{inset:12% 7% 23%!important;}}

/* Apertura breve, mantenendo invariata la busta */
.cover .envelope-paper .flap{transition-duration:.8s!important}
.cover.exit{animation-duration:.45s!important}

/* Menu calendario: si apre sopra il pulsante per restare visibile su smartphone. */
.day .calendar-picker { margin-top: 16px; }
.day .calendar-options { top: auto; bottom: calc(100% + 10px); z-index: 40; width: min(280px, calc(100vw - 48px)); }
.day .calendar-options a, .day .calendar-options button { font-size: 14px; padding: 16px 15px; }
@media (max-width: 600px) {
  .day .day-divider { margin-top: 12px; margin-bottom: 8px; }
  .day .calendar-picker { margin-top: 12px; }
}

/* Acquerello di Martina e Sofia nella sezione Il nostro giorno */
.day .our-portrait{width:min(78%,330px);margin:26px auto 24px;padding:7px;background:#f9f5ea;border:1px solid #d5c5a4;box-shadow:0 7px 22px #49463818;}
.day .our-portrait img{display:block;width:100%;height:auto;object-fit:contain;}
@media(max-width:600px){.day .our-portrait{width:min(72%,285px);margin:18px auto 16px;padding:5px;} }

/* Aggiornamento mobile: apertura busta ovunque e data più leggibile */
.cover{cursor:pointer;touch-action:manipulation}
.day-date{font-family:"Cormorant Garamond",serif!important;font-weight:400!important;font-size:clamp(43px,8.8vw,100px)!important;letter-spacing:-.045em!important;white-space:nowrap!important;margin-top:35px!important;margin-bottom:0!important;line-height:1.08!important}
.day .countdown{margin-top:20px!important}
@media(max-width:600px){.day-date{font-size:clamp(39px,10.2vw,62px)!important;letter-spacing:-.055em!important;margin-top:24px!important}.day .countdown{margin-top:14px!important}}
@media(max-width:360px){.day-date{font-size:10vw!important}}

/* Rifinitura mobile: data protagonista, cifre della stessa altezza di MAGGIO e respiro sul countdown. */
.day-date{display:flex!important;justify-content:center;align-items:baseline;gap:.10em;white-space:nowrap!important;letter-spacing:-.065em!important;font-size:clamp(46px,8.9vw,105px)!important;width:100%;max-width:100%;margin-bottom:0!important}
.day-date .date-number{font-size:1.15em;letter-spacing:-.09em;line-height:.95}
.day-date .date-month{font-size:1em;letter-spacing:-.07em}
.day .countdown{margin-top:48px!important}
@media(max-width:600px){.day-date{font-size:clamp(38px,9.25vw,56px)!important;gap:.07em;margin-top:24px!important}.day-date .date-number{font-size:1.18em;letter-spacing:-.095em}.day .countdown{margin-top:43px!important}}
@media(max-width:370px){.day-date{font-size:9vw!important;gap:.045em}.day-date .date-number{font-size:1.15em}.day .countdown{margin-top:40px!important}}

/* Busta del regalo: carta avorio, pieghe delicate, sigillo salvia e oro antico. */
.gift .gift-envelope-elegant{width:min(72vw,280px)!important;height:166px!important;margin:35px auto 23px!important;position:relative;isolation:isolate;overflow:visible!important;border:1px solid #cbbb9e!important;border-radius:3px!important;background:linear-gradient(155deg,#fffcf4 0%,#f3e9d8 60%,#e8d9c0 100%)!important;box-shadow:0 12px 27px #6f644a25,0 2px 4px #6f644a12!important;transform:rotate(-2deg)}
.gift .gift-envelope-elegant:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(30deg,transparent 49.6%,#cbb99c77 50%,transparent 50.4%) left bottom/50% 100% no-repeat,linear-gradient(-30deg,transparent 49.6%,#cbb99c77 50%,transparent 50.4%) right bottom/50% 100% no-repeat;pointer-events:none}
.gift .gift-envelope-elegant:after{content:"";position:absolute;left:0;right:0;top:0;height:67%;z-index:2;clip-path:polygon(0 0,100% 0,50% 92%);background:linear-gradient(160deg,#fef9ed 0%,#efe1cb 90%);filter:drop-shadow(0 2px 1px #8b76552b);pointer-events:none}
.gift-letter-fold{position:absolute;inset:0;z-index:0;background:linear-gradient(30deg,transparent 49.5%,#d2c2a755 50%,transparent 50.5%),linear-gradient(-30deg,transparent 49.5%,#d2c2a755 50%,transparent 50.5%)}
.gift-wax-seal{position:absolute;z-index:4;top:56%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;gap:1px;width:64px;height:64px;border-radius:49% 51% 48% 52%;background:radial-gradient(circle at 30% 24%,#c1cfb6,#7c9779 62%,#5e775d);border:3px double #d8c79c;box-shadow:0 3px 8px #3e4a3540,inset 0 0 0 3px #9fb296;color:#fff8e8;font:400 29px 'Cormorant Garamond',serif;letter-spacing:-.07em;text-shadow:0 1px 2px #465c46}
.gift-wax-seal span{font-size:.65em;letter-spacing:-.1em}
.gift-olive{position:absolute;z-index:3;color:#859b78;font:45px Georgia,serif;opacity:.66;top:52%;line-height:1}
.gift-olive-left{left:20px;transform:rotate(-35deg)}.gift-olive-right{right:20px;transform:scaleX(-1) rotate(-35deg)}
/* La stessa spiga/rametto della seconda pagina, sopra RSVP. */
.rsvp .rsvp-sprig{height:98px;transform:scale(.72) rotate(8deg);transform-origin:center top;margin:0 auto 10px;display:block}
@media(max-width:600px){.gift .gift-envelope-elegant{width:min(73vw,260px)!important;height:150px!important;margin:29px auto 18px!important}.rsvp .rsvp-sprig{height:83px;transform:scale(.61) rotate(8deg);margin:0 auto 5px}}

/* Stelline simmetriche ai lati della data, senza ornamento in basso a destra. */
.day::before,.day::after{content:none!important;display:none!important}
.day .day-date{position:relative!important}
.day .day-date::before,.day .day-date::after{content:'✦';position:absolute;display:block;color:#b4a27d;font:normal 20px/1 Georgia,serif;opacity:.7;pointer-events:none;letter-spacing:0;transform:none}
.day .day-date::before{left:5%;top:62%}
.day .day-date::after{right:5%;top:88%}
@media(max-width:600px){.day .day-date::before,.day .day-date::after{font-size:16px}.day .day-date::before{left:4%;top:64%}.day .day-date::after{right:4%;top:90%}}

/* Ultima rifinitura: busta regalo perfettamente dritta. */
.gift .gift-envelope-elegant{transform:none!important;rotate:0deg!important;}
/* Box IBAN come un cartoncino coordinato alla partecipazione. */
.bank-outer{background:#faf5e9!important;padding:8px 22px 76px!important;}
.bank-outer .bank{position:relative;isolation:isolate;max-width:520px!important;margin:0 auto!important;padding:37px 24px 34px!important;border:1px solid #c9b996!important;border-radius:5px!important;background:linear-gradient(150deg,#fffdf7 0%,#f5efdf 100%)!important;box-shadow:0 12px 32px #665c4519, inset 0 0 0 6px #fffdf780!important;overflow:hidden;}
.bank-outer .bank:before{content:'✦';display:block;color:#b7a078;font-size:21px;line-height:1;margin-bottom:14px;opacity:.85;}
.bank-outer .bank:after{content:'';display:block;width:78px;height:1px;margin:25px auto 0;background:linear-gradient(90deg,transparent,#b4a57f,transparent);}
.bank-outer .bank span{display:block!important;color:#72856e!important;font:500 10px/1.5 Montserrat,sans-serif!important;letter-spacing:.32em!important;margin:16px 0 8px!important;}
.bank-outer .bank strong{display:block!important;color:#344637!important;font:400 clamp(22px,5.4vw,30px)/1.22 'Cormorant Garamond',serif!important;letter-spacing:.01em!important;margin:0 auto!important;overflow-wrap:anywhere;}
.bank-outer .bank strong:first-of-type{font-size:clamp(26px,6vw,34px)!important;letter-spacing:.035em!important;}
@media(max-width:600px){.bank-outer{padding:8px 23px 62px!important}.bank-outer .bank{padding:28px 17px 27px!important}.gift .gift-envelope-elegant{transform:none!important}}

/* Fiori botanici sulla busta: bouquet acquerellato, non simboli tipografici. */
.cover .cover-flowers.botanical-cover{position:absolute!important;z-index:7!important;top:0!important;left:0!important;width:min(67vw,340px)!important;height:auto!important;transform:none!important;filter:drop-shadow(0 5px 7px rgba(63,70,53,.12))!important;pointer-events:none!important;}
.cover .cover-flowers.botanical-cover img{display:block;width:100%;height:auto;max-width:none;user-select:none;}
@media(max-width:600px){.cover .cover-flowers.botanical-cover{width:min(73vw,300px)!important;top:0!important;left:-5px!important;transform:none!important}}
/* Freccia di invito allo scroll ferma: niente animazione continua o tremolio. */
.intro-scroll .scroll-arrow{animation:none!important;transform:none!important;transition:none!important;display:block;line-height:1!important;}
.intro-scroll{animation:none!important;will-change:auto!important;}

/* Busta avorio con rami d’ulivo dipinti nello stesso stile dell’acquerello. */
.cover{background:radial-gradient(ellipse at center,#faf6eb 0%,#eee5d4 100%)!important}
.cover .envelope-paper{inset:auto!important;left:50%!important;top:46%!important;width:min(88vw,790px)!important;height:auto!important;aspect-ratio:1144/713!important;transform:translate(-50%,-50%)!important;border:0!important;border-radius:0!important;background:#f6efe1!important;box-shadow:0 18px 38px #6c59412d!important;overflow:visible!important}
.cover .envelope-paper .olive-envelope-art{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;display:block;z-index:8;pointer-events:none;transition:opacity .5s ease;user-select:none}
.cover .envelope-paper:after{opacity:0!important}
.cover .envelope-paper .seal{z-index:5}
.cover.open .envelope-paper .olive-envelope-art{opacity:0}
.cover.open .envelope-paper{transform:translate(-50%,-50%) scale(1.02)!important}
.cover .cover-content{bottom:10%!important}
@media(max-width:600px){.cover .envelope-paper{width:92vw!important;top:43%!important}.cover .cover-content{bottom:15%!important}}
@media(prefers-reduced-motion:reduce){.cover .envelope-paper .olive-envelope-art{transition:none!important}}

/* Busta iniziale verticale a schermo intero, mobile-first. */
.cover{height:100vh;height:100dvh;background:#f4eddf!important;}
.cover .envelope-paper{left:0!important;top:0!important;right:0!important;bottom:0!important;inset:0!important;width:100%!important;height:100%!important;aspect-ratio:auto!important;transform:none!important;background:linear-gradient(180deg,#f9f5eb,#eee4d3)!important;box-shadow:none!important;overflow:hidden!important;}
.cover .envelope-paper .olive-envelope-art{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center center!important;z-index:8!important;}
.cover.open .envelope-paper{transform:none!important;}
.cover .cover-content{bottom:max(5%,env(safe-area-inset-bottom))!important;z-index:12!important;}
.cover .cover-content .open-button{background:#7d927c!important;color:#fff!important;box-shadow:0 5px 18px #3b483b38!important;}
@media(max-width:600px){.cover .envelope-paper .olive-envelope-art{object-fit:contain!important}.cover .cover-content{bottom:max(7%,env(safe-area-inset-bottom))!important}}

.cover .envelope-paper .olive-envelope-art{object-fit:cover!important;}
@media(max-width:600px){.cover .envelope-paper .olive-envelope-art{object-fit:cover!important}}

/* Busta vera a schermo intero: nessuna fascia vuota sopra o sotto. */
.cover{height:100vh!important;height:100dvh!important;overflow:hidden!important;background:#f4eddf!important;}
.cover .envelope-paper{inset:0!important;width:100vw!important;height:100vh!important;height:100dvh!important;aspect-ratio:auto!important;overflow:hidden!important;transform:none!important;}
.cover .envelope-paper .olive-envelope-art{inset:0!important;width:100%!important;height:100%!important;object-fit:fill!important;object-position:center!important;}
.cover .cover-content{position:absolute!important;left:0!important;right:0!important;bottom:max(4%,env(safe-area-inset-bottom))!important;z-index:15!important;}
@media(max-width:600px){.cover .envelope-paper .olive-envelope-art{object-fit:fill!important}.cover .cover-content{bottom:max(5%,env(safe-area-inset-bottom))!important}}

/* Correzione proporzioni busta: riempie lo schermo senza deformare il disegno. */
.cover .envelope-paper .olive-envelope-art{object-fit:cover!important;object-position:center center!important;}
@media(max-width:600px){.cover .envelope-paper .olive-envelope-art{object-fit:cover!important;object-position:center center!important;}}

/* Busta verticale ridisegnata per telefono, proporzioni originali e immagine ad alta definizione */
.cover .envelope-paper .olive-envelope-art{object-fit:cover!important;object-position:center center!important;image-rendering:auto!important;}
.cover .envelope-paper{background:#f7f1e4!important;}
@media(min-aspect-ratio:3/4){.cover .envelope-paper .olive-envelope-art{object-fit:contain!important;background:#f7f1e4!important;}}

/* Nuova busta avorio floreale verticale e pulsante discreto. */
.cover .envelope-paper{background:#f5eee1!important}
.cover .envelope-paper .olive-envelope-art{object-fit:cover!important;object-position:center center!important}
.cover .cover-content .open-button{font-size:clamp(18px,4.6vw,22px)!important;padding:9px 23px!important;min-height:42px!important;line-height:1.1!important;border-radius:999px!important}
@media(max-width:600px){.cover .cover-content{bottom:max(5%,env(safe-area-inset-bottom))!important}}


/* === Coordinamento grafico 2026: carta avorio, botanica ad acquerello, oro tenue === */
/* La busta iniziale e tutti i contenuti testuali/funzionali rimangono invariati. */
:root{--ms-ivory:#f8f3e8;--ms-paper:#fffaf0;--ms-sage:#7e957e;--ms-olive:#3c5240;--ms-gold:#c1aa80;--ms-line:#d9cbb0}
html{background:var(--ms-ivory)}
#site{background:var(--ms-ivory);color:var(--ms-olive)}
#site section{isolation:isolate}
#site .day,#site .venue,#site .gift,#site .rsvp{position:relative;overflow:hidden}
#site .day:before,#site .venue:before,#site .gift:before,#site .rsvp:before,
#site .day:after,#site .venue:after,#site .gift:after,#site .rsvp:after{
  content:"";display:block!important;position:absolute;pointer-events:none;
  width:clamp(155px,30vw,330px);height:clamp(185px,37vw,390px);
  background:url('rametti-botanici.svg') center/contain no-repeat;
  opacity:.29;z-index:-1;inset:auto;filter:saturate(.8)
}
#site .day:before,#site .gift:before{top:20px;left:-90px;transform:rotate(-25deg)}
#site .day:after,#site .gift:after{bottom:50px;right:-100px;transform:rotate(155deg)}
#site .venue:before,#site .rsvp:before{top:20px;right:-95px;transform:scaleX(-1) rotate(-20deg)}
#site .venue:after,#site .rsvp:after{bottom:45px;left:-95px;transform:rotate(12deg)}
#site .eyebrow{color:#70856f!important;letter-spacing:.32em!important;font-weight:500!important}
#site h2,#site .couple,#site footer strong{color:#364d3b}
#site .intro-section{background-image:linear-gradient(180deg,rgba(249,246,237,.52),rgba(249,246,237,.22) 42%,rgba(249,246,237,.68)),url('campagna.jpg')!important}
#site .intro-content{padding:26px 20px 34px!important;border-radius:2px;background:radial-gradient(ellipse at center,rgba(255,252,242,.76),rgba(255,252,242,.34) 65%,transparent 80%)!important}
#site .intro-section .couple{font-family:'Cormorant Garamond',serif!important;letter-spacing:-.035em}
#site .intro-section .vow{font-style:italic;line-height:1.55}
#site .intro-scroll{color:#405c44!important;text-shadow:0 1px 6px #fffaf1}
#site .intro-scroll .scroll-arrow{animation:none!important;transform:none!important}
#site .day{background:radial-gradient(ellipse at 50% 28%,#fffdf5 0%,#f8f3e8 65%,#f3eadb 100%)!important;border-color:#e1d5bf!important}
#site .day .day-date{color:#334c3b!important}
#site .day .countdown{position:relative;z-index:1;max-width:650px;margin-left:auto;margin-right:auto}
#site .day .countdown strong{color:#344c3c!important}
#site .day .countdown span{color:#82917b!important}
#site .count-label{color:#657b67!important}
#site .our-portrait{padding:9px!important;border:1px solid #cbb991!important;background:#fffaf0!important;
 box-shadow:0 12px 35px #5b59401b,0 0 0 5px #fffaf080!important}
#site .our-portrait img{display:block}
#site .day-divider{color:#b9a47b}
#site .action,#site .send{background:#81977f!important;border:1px solid #82967c!important;color:#fffdf4!important;
 box-shadow:0 6px 18px rgba(59,78,56,.14)!important;transition:background .2s ease,box-shadow .2s ease}
#site .action:hover,#site .send:hover{background:#6f866d!important;box-shadow:0 8px 22px rgba(59,78,56,.21)!important}
#site .calendar-options{background:#fffaf0!important;border:1px solid #d7c7a7!important;box-shadow:0 12px 28px #574f3d22!important}
#site .calendar-options a,#site .calendar-options button{color:#405a44!important}
#site .venue{background:linear-gradient(180deg,#f8f2e5 0%,#fffaf1 55%,#f8f2e5 100%)!important}
#site .venue .painting{max-width:530px!important;padding:9px!important;background:#fffaf0;border:1px solid #d2c19f;
 box-shadow:0 12px 32px #554d3917!important;max-height:none!important;overflow:visible!important}
#site .venue .painting img{mask-image:none!important;transform:none!important;max-height:390px;object-fit:contain}
#site .venue-hour{color:#627a62!important}
#site .venue-text{color:#53634f!important}
#site .map{border:7px solid #fffaf0!important;outline:1px solid #d6c8ad;box-shadow:0 10px 28px #4c4d3b1a!important}
#site .gift{background:linear-gradient(180deg,#faf5ea,#f7efe2)!important}
#site .gift-note{max-width:560px;margin-left:auto;margin-right:auto;line-height:1.8!important;color:#485c49}
#site .gift .gift-envelope-elegant{background:linear-gradient(160deg,#fffdf5,#f0e4cf)!important;border-color:#c8b48f!important;
 box-shadow:0 12px 27px #62553e21!important}
#site .bank-outer{background:#f7efe2!important}
#site .bank-outer .bank{border-color:#c8b28a!important;background:linear-gradient(145deg,#fffdf7,#f7efdf)!important;
 box-shadow:0 13px 35px #6759431c,inset 0 0 0 7px #fffdf880!important}
#site .rsvp{background:radial-gradient(ellipse at 50% 30%,#fffdf7,#f6eee1)!important}
#site .rsvp form{background:#fffbf3!important;border:1px solid #d5c3a3!important;
 box-shadow:0 12px 35px rgba(87,79,58,.10)!important;border-radius:5px!important}
#site .rsvp form label{color:#465e4b!important}
#site .rsvp form input,#site .rsvp form select,#site .rsvp form textarea{background:#fffdf8!important;
 border:1px solid #d9ceb8!important;color:#334c3b!important;border-radius:3px!important}
#site .rsvp form input:focus,#site .rsvp form select:focus,#site .rsvp form textarea:focus{
 outline:2px solid #a4b29b!important;outline-offset:1px}
#site footer{background:linear-gradient(180deg,#f6efe3,#f2e7d5)!important;border-top:1px solid #d9c9ac!important}
#site footer strong{font-family:'Great Vibes',cursive!important;color:#48634b!important}
#site footer small{color:#697a66!important}
@media(max-width:600px){
 #site .day:before,#site .venue:before,#site .gift:before,#site .rsvp:before,
 #site .day:after,#site .venue:after,#site .gift:after,#site .rsvp:after{width:175px;height:205px;opacity:.19}
 #site .day:before,#site .gift:before{left:-115px}
 #site .day:after,#site .gift:after{right:-118px}
 #site .venue:before,#site .rsvp:before{right:-118px}
 #site .venue:after,#site .rsvp:after{left:-118px}
 #site .intro-content{padding:18px 12px 28px!important}
 #site .venue .painting{margin-left:20px!important;margin-right:20px!important}
 #site .our-portrait{max-width:calc(100vw - 74px)!important}
 #site .rsvp form{margin-left:16px!important;margin-right:16px!important}
}
@media(prefers-reduced-motion:reduce){#site .action,#site .send{transition:none!important}}

/* Frase della seconda pagina: meno a capo, senza interruzioni forzate. */
#site .intro-section .vow{max-width:min(660px,calc(100vw - 38px))!important;text-wrap:pretty!important;line-height:1.43!important}
@media(max-width:600px){#site .intro-section .vow{font-size:clamp(19px,4.8vw,25px)!important;max-width:calc(100vw - 36px)!important}}


/* Aggiornamento grafico: countdown in quattro cartoncini e botanica coordinata alla busta. */
#site .day .countdown{
 display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
 gap:clamp(5px,1.8vw,13px)!important;width:min(94%,610px)!important;
 max-width:610px!important;margin:48px auto 0!important;align-items:stretch!important;
}
#site .day .countdown > div{
 min-width:0!important;display:flex!important;flex-direction:column!important;
 justify-content:center!important;align-items:center!important;
 padding:clamp(13px,2.7vw,24px) 2px clamp(11px,2.3vw,18px)!important;
 background:linear-gradient(155deg,rgba(255,253,246,.95),rgba(242,231,210,.87))!important;
 border:1px solid rgba(197,173,133,.56)!important;border-radius:12px!important;
 box-shadow:0 5px 16px rgba(73,69,50,.09),inset 0 0 0 3px rgba(255,255,255,.47)!important;
 backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);
}
#site .day .countdown > div strong{
 display:block!important;font-family:'Cormorant Garamond',Georgia,serif!important;
 font-size:clamp(27px,6vw,49px)!important;font-weight:400!important;
 color:#3d5141!important;line-height:1.05!important;letter-spacing:-.035em!important;
 font-variant-numeric:tabular-nums!important;
}
#site .day .countdown > div span{
 display:block!important;margin-top:8px!important;font-family:Montserrat,sans-serif!important;
 font-size:clamp(7px,1.5vw,10px)!important;letter-spacing:.15em!important;
 color:#73816d!important;white-space:nowrap!important;
}
/* Composizioni negli angoli, derivate dalla stessa grafica botanica della busta. */
#site .intro-section,#site .day,#site .venue,#site .gift,#site .rsvp,#site footer{
 position:relative!important;isolation:isolate!important;
}
#site .intro-section::before,#site .day::before,#site .venue::before,
#site .gift::before,#site .rsvp::before,#site footer::before{
 content:''!important;position:absolute!important;display:block!important;
 width:clamp(160px,27vw,310px)!important;height:clamp(145px,24vw,265px)!important;
 top:8px!important;left:-40px!important;right:auto!important;bottom:auto!important;
 background:url('fiori-busta-botanici.svg') center/contain no-repeat!important;
 opacity:.28!important;transform:rotate(-9deg)!important;pointer-events:none!important;
 z-index:0!important;
}
#site .intro-section::after,#site .day::after,#site .venue::after,
#site .gift::after,#site .rsvp::after,#site footer::after{
 content:''!important;position:absolute!important;display:block!important;
 width:clamp(160px,27vw,310px)!important;height:clamp(145px,24vw,265px)!important;
 top:auto!important;left:auto!important;right:-48px!important;bottom:8px!important;
 background:url('fiori-busta-botanici.svg') center/contain no-repeat!important;
 opacity:.26!important;transform:rotate(169deg)!important;pointer-events:none!important;
 z-index:0!important;
}
#site .intro-section > *,#site .day > *,#site .venue > *,#site .gift > *,
#site .rsvp > *,#site footer > *{position:relative;z-index:1}
/* Il rametto resta discreto e non copre testi, campi o pulsanti. */
@media(max-width:600px){
 #site .day .countdown{width:calc(100% - 30px)!important;gap:7px!important;margin-top:43px!important}
 #site .day .countdown > div{border-radius:9px!important;padding:14px 1px 12px!important}
 #site .day .countdown > div strong{font-size:clamp(29px,7.2vw,43px)!important}
 #site .day .countdown > div span{font-size:clamp(7px,1.8vw,9px)!important;letter-spacing:.10em!important}
 #site .intro-section::before,#site .day::before,#site .venue::before,
 #site .gift::before,#site .rsvp::before,#site footer::before{width:175px!important;height:150px!important;left:-74px!important;opacity:.22!important}
 #site .intro-section::after,#site .day::after,#site .venue::after,
 #site .gift::after,#site .rsvp::after,#site footer::after{width:175px!important;height:150px!important;right:-74px!important;opacity:.22!important}
}
@media(max-width:350px){#site .day .countdown{gap:4px!important;width:calc(100% - 18px)!important}}

/* Correzione posizione invito: freccia in basso e più spazio sotto il countdown. */
#site .intro-section{position:relative!important;min-height:100svh!important;min-height:100dvh!important}
#site .intro-section > .intro-scroll{
 position:absolute!important;top:auto!important;bottom:clamp(28px,5.5svh,66px)!important;
 left:50%!important;right:auto!important;transform:translateX(-50%)!important;
 z-index:5!important;margin:0!important;width:max-content!important;max-width:calc(100% - 32px)!important;
}
#site .intro-section .scroll-arrow{animation:none!important;transform:none!important}
#site .day .countdown{margin-top:23px!important}
#site .day .count-label{margin-top:29px!important;margin-bottom:29px!important;line-height:1.8!important}
@media(max-width:600px){
 #site .intro-section > .intro-scroll{bottom:clamp(25px,5svh,56px)!important}
 #site .day .countdown{margin-top:17px!important}
 #site .day .count-label{margin-top:28px!important;margin-bottom:32px!important}
}

/* Spostamento delicato verso il basso del gruppo countdown. */
#site .day .countdown{margin-top:40px!important}
@media(max-width:600px){#site .day .countdown{margin-top:35px!important}}

/* Piccolo ulteriore abbassamento dei quattro cartoncini countdown. */
#site .day .countdown{margin-top:52px!important}
@media(max-width:600px){#site .day .countdown{margin-top:47px!important}}

/* Rifinitura pagina 3: acquerello, separatore e calendario leggermente più in alto.
   Il countdown e la sua spaziatura approvata non cambiano. */
#site .day .count-label{margin-bottom:16px!important}
#site .day .our-portrait{margin-top:12px!important;margin-bottom:14px!important}
#site .day .day-divider{margin-top:16px!important;margin-bottom:2px!important}
#site .day .calendar-picker{margin-top:14px!important}
@media(max-width:600px){
 #site .day .count-label{margin-bottom:16px!important}
 #site .day .our-portrait{margin-top:10px!important;margin-bottom:13px!important}
 #site .day .day-divider{margin-top:15px!important;margin-bottom:2px!important}
 #site .day .calendar-picker{margin-top:12px!important}
}

/* FIX MOBILE: nessuno scorrimento orizzontale e sezioni sempre a piena larghezza.
   I rametti decorativi fuori dagli angoli non devono allargare il documento. */
html{width:100%;max-width:100%;overflow-x:hidden!important;overscroll-behavior-x:none}
body{width:100%;max-width:100%;overflow-x:clip!important;overscroll-behavior-x:none}
#site{display:block;position:relative;width:100%!important;max-width:100%!important;min-width:0!important;overflow-x:clip!important}
#site[hidden]{display:none!important}
#site>section,#site>footer{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;overflow-x:clip!important}
#site section *,#site footer *{box-sizing:border-box}
#site img,#site iframe,#site svg{max-width:100%}
#site .intro-section{background-size:cover!important;background-position:center center!important;background-repeat:no-repeat!important}
#site .intro-content{width:100%;max-width:680px;min-width:0;margin-left:auto!important;margin-right:auto!important}
#site .intro-section .couple{max-width:100%;overflow-wrap:normal}
#site .intro-section .vow{max-width:100%;overflow-wrap:break-word}
#site .day .countdown{max-width:100%!important;min-width:0!important}
#site .day .countdown>div{min-width:0!important;flex:1 1 0!important}
#site .day .day-date{max-width:100%!important;min-width:0!important}
#site .day .our-portrait{max-width:calc(100% - 20px)!important}
#site .venue .painting,#site .map,#site .gift .bank,#site .rsvp form{max-width:100%!important}
@media(max-width:600px){
 html,body{width:100%!important;max-width:100%!important}
 #site .intro-section{width:100%!important;min-height:100svh!important;min-height:100dvh!important;padding-left:16px!important;padding-right:16px!important}
 #site .intro-content{padding-left:6px!important;padding-right:6px!important}
 #site .intro-section .couple{font-size:clamp(48px,11vw,70px)!important;white-space:nowrap!important;letter-spacing:-.05em!important}
 #site .intro-section .vow{font-size:clamp(21px,5.1vw,28px)!important;line-height:1.35!important}
 #site .day{padding-left:12px!important;padding-right:12px!important}
 #site .day .day-date{font-size:clamp(34px,9vw,54px)!important;gap:.06em!important}
 #site .day .countdown{width:calc(100% - 14px)!important;gap:7px!important}
 #site .day .countdown>div{padding-left:2px!important;padding-right:2px!important}
 #site .day .countdown>div strong{font-size:clamp(27px,7vw,42px)!important}
 #site .day .our-portrait{width:min(100%,440px)!important;max-width:calc(100% - 30px)!important}
 #site .venue .painting{max-width:calc(100% - 16px)!important;margin-left:auto!important;margin-right:auto!important}
 #site .rsvp form{margin-left:auto!important;margin-right:auto!important}
 #site .intro-section::before,#site .intro-section::after,
 #site .day::before,#site .day::after,#site .venue::before,#site .venue::after,
 #site .gift::before,#site .gift::after,#site .rsvp::before,#site .rsvp::after{pointer-events:none!important}
}

/* Immagine seconda pagina stabile su iPhone: nessun effetto zoom al tocco.
   Il normale scorrimento verticale e il pinch-to-zoom di accessibilità restano disponibili. */
#site .intro-section{
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  background-attachment:scroll!important;
  transition:none!important;
  animation:none!important;
  touch-action:pan-y pinch-zoom;
  -webkit-tap-highlight-color:transparent;
}
#site .intro-section::before,#site .intro-section::after{
  transition:none!important;animation:none!important;pointer-events:none!important;
}
#site .intro-section .intro-content{transition:none!important;animation:none!important}
#site .intro-section .intro-scroll{touch-action:manipulation}
@media(hover:hover){#site .intro-section:hover{background-size:cover!important}}

/* Acquerello pagina Il nostro giorno: dimensione originale più raccolta su telefono. */
@media(max-width:600px){
 #site .day .our-portrait{width:min(72%,285px)!important;max-width:calc(100% - 36px)!important;margin-left:auto!important;margin-right:auto!important}
 #site .day .our-portrait img{width:100%!important;height:auto!important;display:block!important}
}


/* Rifiniture richieste: busta regalo coordinata, titolo luogo e popup RSVP */
#site .gift-envelope.gift-envelope-elegant{width:min(78vw,360px)!important;height:clamp(180px,52vw,224px)!important;background:#f7f0e2 url('busta-ulivo-verticale.webp') center 58% / cover no-repeat!important;border:1px solid #cbb894!important;border-radius:3px!important;box-shadow:0 12px 27px rgba(72,61,42,.16)!important;transform:none!important;overflow:hidden!important}
#site .gift-envelope.gift-envelope-elegant::before,#site .gift-envelope.gift-envelope-elegant::after,#site .gift-envelope.gift-envelope-elegant .gift-letter-fold,#site .gift-envelope.gift-envelope-elegant .gift-wax-seal,#site .gift-envelope.gift-envelope-elegant .gift-olive{display:none!important}
#site .venue h2{max-width:none!important;width:100%!important;white-space:nowrap!important;font-size:clamp(15px,3.45vw,37px)!important;letter-spacing:-.025em!important;line-height:1.2!important;margin-left:auto!important;margin-right:auto!important}
#site .venue-hour{font-family:'Cormorant Garamond',Georgia,serif!important;font-size:clamp(27px,5.3vw,42px)!important;font-weight:700!important;letter-spacing:.06em!important;color:#405b43!important}
#site #status:empty{display:none!important}
#site .rsvp-success[hidden]{display:none!important}
#site .rsvp-success{position:fixed!important;inset:0!important;z-index:99999!important;background:rgba(34,47,37,.48)!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:22px!important;box-sizing:border-box!important;backdrop-filter:blur(5px)}
#site .rsvp-success-card{position:relative;max-width:430px;width:100%;padding:38px 22px 32px;background:#fffaf0;border:1px solid #c9b48c;box-shadow:0 18px 60px rgba(24,34,27,.22),inset 0 0 0 7px #fffdf6;text-align:center;color:#415943}
#site .rsvp-success-branch{font:46px Georgia,serif;color:#849b7d;margin-bottom:5px}
#site .rsvp-success-card h3{font:italic 500 clamp(32px,8vw,45px)/1.15 'Cormorant Garamond',Georgia,serif;margin:16px 0;color:#405a43}
#site .rsvp-success-card p:not(.eyebrow){font:400 18px/1.5 'Cormorant Garamond',Georgia,serif;margin-bottom:25px}
#site #rsvp-success-close{background:#80977f;color:#fffdf6;border:0;border-radius:28px;padding:12px 38px;font:500 13px Montserrat,sans-serif;cursor:pointer}
@media(max-width:600px){#site .venue h2{font-size:clamp(13px,3.5vw,22px)!important;letter-spacing:-.04em!important;padding:0 5px!important}#site .gift-envelope.gift-envelope-elegant{background-position:center 59%!important}}
/* Protezione larghezza su telefono */
html,body{max-width:100%;overflow-x:clip}#site{max-width:100%;overflow-x:clip}

/* Titolo della tenuta nuovamente grande, su due righe naturali se necessario. */
#site .venue h2{width:min(100%,760px)!important;max-width:760px!important;white-space:normal!important;text-wrap:balance;font-size:clamp(36px,6.7vw,60px)!important;line-height:1.04!important;letter-spacing:-.035em!important;padding:0 6px!important}
/* Busta regalo e cartoncino IBAN più vicini, senza alterare i contenuti. */
#site .gift{padding-bottom:0!important}
#site .gift .gift-envelope.gift-envelope-elegant{margin-bottom:0!important}
#site .bank-outer{padding-top:0!important}
#site .bank-outer .bank{margin-top:0!important}
@media(max-width:600px){#site .venue h2{font-size:clamp(36px,9vw,47px)!important;line-height:1.02!important;max-width:370px!important;padding:0 4px!important}#site .gift{padding-bottom:0!important}#site .gift .gift-envelope.gift-envelope-elegant{margin-bottom:0!important}#site .bank-outer{padding-top:0!important}}


/* FOTO SECONDA PAGINA: elemento immagine stabile, senza zoom da touch o da scroll */
#site .intro-section{
  background-image:none!important;
  background-color:#f7f3e9!important;
  background-attachment:scroll!important;
  background-size:auto!important;
  overflow:hidden!important;
  isolation:isolate;
  touch-action:pan-y pinch-zoom;
}
#site .intro-section .intro-static-photo{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center center!important;
  z-index:-2!important;
  pointer-events:none!important;
  user-select:none!important;
  -webkit-user-select:none!important;
  -webkit-user-drag:none!important;
  transform:none!important;
  scale:1!important;
  animation:none!important;
  transition:none!important;
  filter:none!important;
}
#site .intro-section::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(180deg,rgba(249,246,237,.56),rgba(249,246,237,.20) 43%,rgba(249,246,237,.72));
  pointer-events:none!important;
  transform:none!important;
  animation:none!important;
  transition:none!important;
}
#site .intro-section .intro-content,
#site .intro-section .intro-scroll{position:relative;z-index:1}
html,body,#site{max-width:100%;overflow-x:clip}

/* REGALO: busta leggermente sovrapposta al bordo superiore del cartoncino IBAN */
#site .gift{padding-bottom:0!important;overflow:visible!important;position:relative;z-index:2}
#site .gift .gift-envelope.gift-envelope-elegant{
  position:relative!important;
  z-index:3!important;
  margin-bottom:-32px!important;
}
#site .bank-outer{position:relative!important;z-index:1!important;padding-top:0!important}
#site .bank-outer .bank{margin-top:0!important;padding-top:58px!important}
@media(max-width:600px){
  #site .gift .gift-envelope.gift-envelope-elegant{margin-bottom:-25px!important}
  #site .bank-outer .bank{padding-top:52px!important}
}

/* Correzione Safari iPhone: blocca l'altezza dell'eroe alla prima apertura.
   La barra Safari che si nasconde durante lo scroll non cambia più il crop. */
#site .intro-section{
 height:var(--intro-locked-height, 100svh)!important;
 min-height:0!important;
 max-height:none!important;
 background:none!important;
 background-image:none!important;
 background-size:auto!important;
 overflow:hidden!important;
}
#site .intro-section .intro-static-photo{
 position:absolute!important;
 top:0!important;left:0!important;right:auto!important;bottom:auto!important;
 width:100%!important;
 height:100%!important;
 object-fit:cover!important;
 object-position:50% 50%!important;
 z-index:0!important;
 transform:none!important;
 transition:none!important;
 animation:none!important;
 pointer-events:none!important;
}
#site .intro-section::before{
 z-index:1!important;
 background:linear-gradient(180deg,rgba(249,246,237,.55),rgba(249,246,237,.19) 43%,rgba(249,246,237,.70))!important;
}
#site .intro-section::after{z-index:1!important}
#site .intro-section .intro-content,
#site .intro-section .intro-scroll{z-index:2!important}

/* Popup RSVP globale: sopra ogni pagina, indipendente dallo stacking context delle sezioni. */
body > .rsvp-success[hidden]{display:none!important}
body > .rsvp-success{position:fixed!important;inset:0!important;z-index:99999!important;background:rgba(34,47,37,.48)!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:22px!important;box-sizing:border-box!important;backdrop-filter:blur(5px)}
body > .rsvp-success-card{position:relative;max-width:430px;width:100%;padding:38px 22px 32px;background:#fffaf0;border:1px solid #c9b48c;box-shadow:0 18px 60px rgba(24,34,27,.22),inset 0 0 0 7px #fffdf6;text-align:center;color:#415943}
body > .rsvp-success-branch{font:46px Georgia,serif;color:#849b7d;margin-bottom:5px}
body > .rsvp-success-card h3{font:italic 500 clamp(32px,8vw,45px)/1.15 'Cormorant Garamond',Georgia,serif;margin:16px 0;color:#405a43}
body > .rsvp-success-card p:not(.eyebrow){font:400 18px/1.5 'Cormorant Garamond',Georgia,serif;margin-bottom:25px}
body > .rsvp-success #rsvp-success-close{background:#80977f;color:#fffdf6;border:0;border-radius:28px;padding:12px 38px;font:500 13px Montserrat,sans-serif;cursor:pointer}

body > .rsvp-success{position:fixed!important;inset:0!important;z-index:2147483647!important;overscroll-behavior:contain!important}

/* Cartoncino popup RSVP visibile anche quando il dialogo è figlio diretto di body */
body > #rsvp-success .rsvp-success-card {
  position:relative!important;
  display:block!important;
  width:min(100%,430px)!important;
  max-width:430px!important;
  padding:40px 25px 34px!important;
  box-sizing:border-box!important;
  background:#fffaf0!important;
  background-color:#fffaf0!important;
  border:1px solid #c9b48c!important;
  border-radius:12px!important;
  box-shadow:0 22px 65px rgba(24,34,27,.28),inset 0 0 0 7px #fffdf6!important;
  text-align:center!important;
  color:#415943!important;
  opacity:1!important;
  backdrop-filter:none!important;
}
body > #rsvp-success .rsvp-success-branch{font:46px Georgia,serif!important;color:#849b7d!important;margin-bottom:5px!important}
body > #rsvp-success .rsvp-success-card h3{font:italic 500 clamp(32px,8vw,45px)/1.15 'Cormorant Garamond',Georgia,serif!important;margin:16px 0!important;color:#405a43!important}
body > #rsvp-success .rsvp-success-card p:not(.eyebrow){font:400 20px/1.5 'Cormorant Garamond',Georgia,serif!important;margin-bottom:25px!important}
body > #rsvp-success #rsvp-success-close{background:#80977f!important;color:#fffdf6!important;border:0!important;border-radius:28px!important;padding:12px 38px!important;font:500 13px Montserrat,sans-serif!important;cursor:pointer!important}
@media(max-width:600px){body > #rsvp-success .rsvp-success-card{padding:34px 22px 30px!important}}

/* IBAN: pulsante coordinato con il cartoncino e feedback accessibile */
#site .bank-outer .bank #iban-value{font-size:clamp(19px,4.3vw,27px)!important;letter-spacing:.015em!important;overflow-wrap:anywhere;user-select:all;-webkit-user-select:all}
#site .bank-outer .bank .iban-copy-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;margin:17px auto 3px;padding:11px 21px;border:1px solid #879e87;border-radius:999px;background:#829a83;color:#fff;font:500 13px/1.3 Montserrat,sans-serif;letter-spacing:.025em;cursor:pointer;box-shadow:0 5px 15px rgba(47,65,48,.11);transition:background-color .2s ease}
#site .bank-outer .bank .iban-copy-button:active{background:#627c65}
#site .bank-outer .bank .iban-copy-button:focus-visible{outline:2px solid #344637;outline-offset:3px}
#site .bank-outer .bank .iban-copy-feedback{display:block!important;min-height:19px;margin:3px auto 0!important;font:500 11px/1.5 Montserrat,sans-serif!important;letter-spacing:0!important;color:#536b55!important}

/* IBAN compatto: copia con icona quadrata accanto al codice. */
#site .bank-outer .bank .iban-inline{
  display:flex!important;align-items:center!important;justify-content:center!important;
  gap:9px!important;max-width:100%!important;margin:0 auto!important;
}
#site .bank-outer .bank .iban-inline #iban-value{
  flex:0 1 auto!important;min-width:0!important;margin:0!important;
  font-family:'Cormorant Garamond',serif!important;font-weight:500!important;
  font-size:clamp(19px,4.9vw,31px)!important;letter-spacing:0!important;
  white-space:nowrap!important;overflow-wrap:normal!important;
}
#site .bank-outer .bank .iban-inline .iban-copy-button{
  display:flex!important;flex:0 0 36px!important;width:36px!important;height:36px!important;
  padding:0!important;margin:0!important;border-radius:9px!important;
  color:#fff!important;background:#829a83!important;border:1px solid #789077!important;
  align-items:center!important;justify-content:center!important;box-shadow:none!important;
}
#site .bank-outer .bank .iban-inline .iban-copy-button svg{display:block;width:20px;height:20px}
#site .bank-outer .bank .bank-holder{
  font-family:'Cormorant Garamond',serif!important;
  font-size:clamp(16px,3.8vw,23px)!important;letter-spacing:0!important;
  font-weight:500!important;white-space:nowrap!important;overflow-wrap:normal!important;
}
@media(max-width:390px){
 #site .bank-outer .bank .iban-inline{gap:5px!important}
 #site .bank-outer .bank .iban-inline #iban-value{font-size:clamp(16px,4.65vw,19px)!important}
 #site .bank-outer .bank .iban-inline .iban-copy-button{flex-basis:32px!important;width:32px!important;height:32px!important}
 #site .bank-outer .bank .bank-holder{font-size:clamp(14px,3.7vw,16px)!important}
}

/* IBAN con cifre moderne e regolari, come nell'esempio. */
#site .bank-outer .bank .iban-inline #iban-value{
 font-family:Arial,Helvetica,sans-serif!important;
 font-weight:500!important;
 font-variant-numeric:tabular-nums!important;
 font-feature-settings:"tnum" 1!important;
 letter-spacing:-.035em!important;
 font-size:clamp(15px,3.9vw,23px)!important;
 line-height:1.35!important;
}
/* Richiamo allo scorrimento: cartoncino chiaro leggibile sopra la fotografia. */
#site .intro-section > .intro-scroll{
 position:absolute!important;top:auto!important;
 bottom:clamp(22px,4.5svh,48px)!important;
 left:50%!important;right:auto!important;
 transform:translateX(-50%)!important;
 z-index:12!important;
 width:max-content!important;min-width:0!important;
 max-width:calc(100% - 38px)!important;
 padding:10px 20px 12px!important;
 background:rgba(255,251,241,.90)!important;
 border:1px solid rgba(174,152,111,.72)!important;
 border-radius:15px!important;
 box-shadow:0 5px 20px rgba(47,61,42,.15)!important;
 backdrop-filter:none!important;
 color:#405942!important;
 text-shadow:none!important;
 font-size:10px!important;
 font-weight:600!important;
 line-height:1.55!important;
 letter-spacing:.16em!important;
 text-align:center!important;
 animation:none!important;
}
#site .intro-section > .intro-scroll .scroll-arrow{
 display:block!important;font:500 35px/.65 Georgia,serif!important;
 color:#48654b!important;animation:none!important;transform:none!important;
 margin-bottom:8px!important;
}
@media(max-width:390px){
 #site .bank-outer .bank .iban-inline #iban-value{font-size:clamp(13px,3.65vw,15px)!important;letter-spacing:-.045em!important}
 #site .intro-section > .intro-scroll{padding:9px 15px 11px!important;font-size:9px!important}
}

/* Scorrimento discreto: nessun riquadro bianco, solo scritta e freccia leggibili. */
#site .intro-section > .intro-scroll{
 background:transparent!important;border:0!important;border-radius:0!important;
 box-shadow:none!important;backdrop-filter:none!important;
 padding:8px 12px 9px!important;
 color:#314b39!important;
 text-shadow:0 1px 3px rgba(255,253,245,.98),0 0 12px rgba(255,253,245,.95)!important;
 font-weight:600!important;
 letter-spacing:.16em!important;
}
#site .intro-section > .intro-scroll .scroll-arrow{
 color:#314b39!important;
 text-shadow:0 1px 3px #fffdf5,0 0 10px #fffdf5!important;
}
/* Una tinta unica e delicata per i dati principali. */
#site .bank-outer .bank .iban-inline #iban-value,
#site .bank-outer .bank .bank-holder,
#site .venue h2,
#site .venue .venue-hour,
#site .venue .venue-text{color:#53634f!important}

/* Nome della tenuta sempre su una sola riga, responsive su smartphone */
#site .venue h2{width:100%!important;max-width:100%!important;white-space:nowrap!important;text-wrap:nowrap!important;font-size:clamp(18px,4.5vw,46px)!important;letter-spacing:-.035em!important;line-height:1.25!important;padding:0!important;overflow:visible!important}
@media(max-width:390px){#site .venue h2{font-size:4.35vw!important;letter-spacing:-.045em!important}}

/* Nome della tenuta: più grande, un'unica riga e centrato su smartphone. */
#site .venue h2{
  display:block!important;
  width:132%!important;max-width:none!important;
  margin-left:-16%!important;margin-right:0!important;
  padding:0!important;
  font-family:'Cormorant Garamond',serif!important;
  font-size:clamp(29px,7.5vw,57px)!important;
  font-weight:500!important;letter-spacing:-.045em!important;
  white-space:nowrap!important;text-wrap:nowrap!important;
  line-height:1.15!important;text-align:center!important;
  transform:scaleX(.76)!important;transform-origin:center center!important;
  color:#53634f!important;
}
@media(min-width:700px){#site .venue h2{width:110%!important;margin-left:-5%!important;transform:scaleX(.91)!important;font-size:clamp(40px,5vw,60px)!important}}

/* Tutte le informazioni della tenuta usano il font pulito dell'indirizzo. */
#site .venue h2,
#site .venue .venue-hour,
#site .venue .venue-text{
  font-family:Montserrat, sans-serif!important;
  font-style:normal!important;
  color:#53634f!important;
  text-align:center!important;
  text-transform:none!important;
}
#site .venue h2{
  width:100%!important;max-width:100%!important;
  margin-left:auto!important;margin-right:auto!important;
  transform:none!important;
  white-space:nowrap!important;
  font-size:clamp(15px,4.15vw,30px)!important;
  font-weight:500!important;
  letter-spacing:-.055em!important;
  line-height:1.45!important;
}
#site .venue .venue-hour{
  font-size:clamp(22px,5.4vw,32px)!important;
  font-weight:600!important;
  letter-spacing:.035em!important;
}
#site .venue .venue-text{
  font-weight:300!important;
  letter-spacing:normal!important;
}

/* Uniformita tipografica definitiva della sezione cerimonia. */
html body #site section.venue > h2,
html body #site section.venue > p.venue-hour,
html body #site section.venue > p.venue-text {
 font-family:'Montserrat',Arial,sans-serif!important; font-style:normal!important;
 color:#53634f!important; text-transform:none!important; text-align:center!important;
 font-variant:normal!important; font-feature-settings:normal!important;
}
html body #site section.venue > h2 {
 font-size:clamp(15px,4.15vw,31px)!important; font-weight:400!important;
 letter-spacing:-.045em!important; white-space:nowrap!important;
 width:100%!important; max-width:100%!important; margin-inline:auto!important;
 transform:none!important; line-height:1.5!important;
}
html body #site section.venue > p.venue-hour {
 font-size:clamp(23px,5.5vw,33px)!important; font-weight:500!important;
 letter-spacing:.02em!important;
}
html body #site section.venue > p.venue-text {
 font-weight:300!important; letter-spacing:0!important;
}

/* Ultima rifinitura: stesso Montserrat, nome protagonista e orario discreto. */
html body #site section.venue > h2,
html body #site section.venue > p.venue-hour,
html body #site section.venue > p.venue-text {
  font-family:'Montserrat',Arial,sans-serif!important;
  font-style:normal!important; font-weight:400!important;
  font-variant:normal!important; letter-spacing:-.035em!important;
  color:#53634f!important; text-align:center!important;
}
html body #site section.venue > h2 {
  font-size:clamp(21px,5.5vw,42px)!important;
  font-weight:400!important; line-height:1.35!important;
  white-space:nowrap!important; width:112%!important; max-width:none!important;
  margin-left:-6%!important; margin-right:0!important;
  letter-spacing:-.065em!important; transform:scaleX(.92)!important;
  transform-origin:center center!important;
}
html body #site section.venue > p.venue-hour {
  font-size:clamp(17px,4.15vw,24px)!important; font-weight:400!important;
  letter-spacing:0!important;
}
html body #site section.venue > p.venue-text {
  font-size:clamp(14px,3.75vw,22px)!important; font-weight:400!important;
  letter-spacing:-.035em!important;
}
@media(max-width:380px){
 html body #site section.venue > h2{font-size:5.25vw!important;letter-spacing:-.07em!important}
}

/* Richiamo allo scorrimento: leggibile ma senza cartoncino né animazione. */
#site .intro-section::after{
 content:""!important;position:absolute!important;left:0!important;right:0!important;
 bottom:0!important;height:clamp(155px,25svh,245px)!important;
 background:linear-gradient(to bottom,rgba(250,247,237,0),rgba(250,247,237,.24) 40%,rgba(250,247,237,.78) 100%)!important;
 pointer-events:none!important;z-index:2!important;
}
#site .intro-section > .intro-scroll{
 position:absolute!important;top:auto!important;bottom:clamp(29px,5.2svh,65px)!important;
 left:50%!important;transform:translateX(-50%)!important;z-index:5!important;
 background:transparent!important;border:0!important;box-shadow:none!important;
 backdrop-filter:none!important;padding:6px 9px!important;
 color:#263e30!important;text-shadow:0 1px 2px rgba(255,255,247,.9)!important;
 font-family:'Montserrat',sans-serif!important;font-size:clamp(11px,2.9vw,13px)!important;
 font-weight:600!important;letter-spacing:.12em!important;line-height:1.65!important;
 text-align:center!important;white-space:nowrap!important;animation:none!important;transition:none!important;
}
#site .intro-section > .intro-scroll .scroll-arrow{
 color:#263e30!important;font:600 37px/0.8 Arial,sans-serif!important;
 text-shadow:0 1px 2px rgba(255,255,247,.9)!important;
 margin-bottom:9px!important;animation:none!important;transform:none!important;
}
@media(max-width:390px){#site .intro-section > .intro-scroll{font-size:10.5px!important;letter-spacing:.09em!important}}

/* Migliore contrasto della scritta scroll, senza un box rettangolare. */
html body #site section.intro-section > a.intro-scroll {
 bottom:clamp(45px,8svh,92px)!important;
 padding:14px 26px!important;
 background:radial-gradient(ellipse at center,rgba(251,248,239,.96) 0%,rgba(251,248,239,.76) 49%,rgba(251,248,239,0) 76%)!important;
 border:0!important;border-radius:0!important;box-shadow:none!important;
 backdrop-filter:none!important;
 color:#20392b!important;text-shadow:0 1px 1px white!important;
 font-size:clamp(12px,3.2vw,15px)!important;font-weight:700!important;
 letter-spacing:.10em!important;line-height:1.65!important;
 opacity:1!important;animation:none!important;transition:none!important;
}
html body #site section.intro-section > a.intro-scroll span {color:#20392b!important;opacity:1!important}
html body #site section.intro-section > a.intro-scroll .scroll-arrow {
 display:block!important;font-size:43px!important;line-height:.8!important;
 margin-bottom:12px!important;font-weight:700!important;
}
@media(max-width:390px){
 html body #site section.intro-section > a.intro-scroll {
 bottom:clamp(40px,7svh,70px)!important;
 font-size:11.5px!important;letter-spacing:.08em!important;
 }
}

/* Nuvola ridotta: ritorno alla tipografia delicata originale. */
html body #site section.intro-section > a.intro-scroll{
 bottom:clamp(29px,5.2svh,65px)!important;
 padding:6px 9px!important;
 background:transparent!important;
 color:#263e30!important;
 font-size:clamp(11px,2.9vw,13px)!important;
 font-weight:600!important;letter-spacing:.12em!important;
 text-shadow:0 1px 2px rgba(255,255,247,.9)!important;
}
html body #site section.intro-section > a.intro-scroll::before{
 content:""!important;position:absolute!important;
 left:50%!important;top:56%!important;transform:translate(-50%,-50%)!important;
 width:calc(100% + 28px)!important;height:calc(100% + 13px)!important;
 background:radial-gradient(ellipse at center,rgba(250,247,237,.55) 0%,rgba(250,247,237,.30) 43%,rgba(250,247,237,0) 74%)!important;
 z-index:-1!important;pointer-events:none!important;
}
html body #site section.intro-section > a.intro-scroll .scroll-arrow{
 font:600 37px/.8 Arial,sans-serif!important;margin-bottom:9px!important;
}
@media(max-width:390px){
 html body #site section.intro-section > a.intro-scroll{
 font-size:10.5px!important;letter-spacing:.09em!important;
 }
}

/* Indicazione di scorrimento: bianca, senza alone né riquadro. */
html body #site section.intro-section > a.intro-scroll,
html body #site section.intro-section > a.intro-scroll span,
html body #site section.intro-section > a.intro-scroll .scroll-arrow {
 color:#fffdf7!important;
 text-shadow:0 1px 3px rgba(19,39,27,.70),0 2px 7px rgba(19,39,27,.45)!important;
}
html body #site section.intro-section > a.intro-scroll {
 background:none!important;box-shadow:none!important;backdrop-filter:none!important;
 border:0!important;animation:none!important;opacity:1!important;
}
html body #site section.intro-section > a.intro-scroll::before,
html body #site section.intro-section > a.intro-scroll::after {
 content:none!important;display:none!important;background:none!important;
}


/* VERSIONE RESPONSIVE DESKTOP / TABLET — su telefono resta il layout originale. */
html,body{max-width:100%;overflow-x:clip}
#site{width:100%;max-width:100%;overflow-x:clip}
@media(min-width:768px){
  body{background:#f1eadc}
  #site section:not(.intro-section){padding:76px clamp(30px,5vw,80px)!important}
  /* Copertina: immagine verticale intera, senza stirarla su monitor orizzontali. */
  .cover{background:radial-gradient(ellipse at center,#faf5e9 0%,#e9dfcf 100%)!important}
  .cover .envelope-paper{inset:0!important;width:100%!important;height:100%!important;background:#f3ebdd!important}
  .cover .envelope-paper .olive-envelope-art{
    position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
    object-fit:contain!important;object-position:center!important;background:#f3ebdd!important;
  }
  .cover .cover-content{bottom:5%!important}
  .cover .cover-content .open-button{font-size:21px!important;padding:9px 26px!important}
  /* Hero panoramico: foto riempie lo schermo, testi al centro. */
  #site .intro-section{width:100%!important;min-height:680px!important;max-height:none!important;isolation:isolate}
  #site .intro-section .intro-static-photo{object-fit:cover!important;object-position:center 53%!important}
  #site .intro-section .intro-content{
    width:min(90%,900px)!important;max-width:900px!important;
    padding:26px 30px!important;margin:0 auto!important;
  }
  #site .intro-section .couple{font-size:clamp(72px,7.5vw,112px)!important;white-space:normal!important}
  #site .intro-section .vow{
    max-width:780px!important;margin:30px auto 0!important;
    font-size:clamp(28px,2.6vw,38px)!important;line-height:1.35!important;
  }
  #site .intro-section > a.intro-scroll{bottom:30px!important;font-size:13px!important}
  /* Tutte le pagine interne come cartoncini eleganti, con larghezza controllata. */
  #site .day,#site .venue,#site .gift,#site .rsvp,
  #site .program,#site .closing{width:100%!important;min-width:0!important}
  #site .day{min-height:0!important;justify-content:flex-start!important}
  #site .day .day-date{
    font-size:clamp(56px,6vw,88px)!important;
    width:auto!important;max-width:100%!important;white-space:nowrap!important;
    margin-left:auto!important;margin-right:auto!important;
  }
  #site .day .countdown{width:min(100%,650px)!important;max-width:650px!important;gap:16px!important}
  #site .day .countdown>div{min-width:0!important}
  #site .day .our-portrait{width:min(100%,440px)!important;max-width:440px!important;margin-left:auto!important;margin-right:auto!important}
  #site .day .calendar-picker{margin-bottom:24px!important}
  #site .venue .painting{width:min(100%,650px)!important;max-width:650px!important}
  #site .venue > h2{
    width:100%!important;max-width:900px!important;margin-left:auto!important;margin-right:auto!important;
    transform:none!important;white-space:normal!important;
    font-size:clamp(30px,3.5vw,43px)!important;letter-spacing:-.045em!important;
  }
  #site .venue > p.venue-hour{font-size:clamp(19px,2vw,24px)!important}
  #site .venue > p.venue-text{font-size:clamp(17px,1.6vw,21px)!important}
  #site .venue .map{width:min(100%,760px)!important}
  #site .gift > p:not(.eyebrow){max-width:720px!important}
  #site .gift .bank{max-width:620px!important}
  #site .rsvp form{width:min(100%,600px)!important;max-width:600px!important;margin-left:auto!important;margin-right:auto!important}
}
@media(min-width:1100px){
  #site .intro-section .intro-content{transform:translateY(-20px)}
  #site .day .day-date{font-size:82px!important}
}
