/* Invito in carta: elementi vettoriali separati, non una fotografia. */
.invitation-defs{position:absolute;pointer-events:none;overflow:hidden}
#cover{display:block;overflow-x:hidden;overflow-y:auto;padding:0;background-color:#f8f2e8;background-image:radial-gradient(ellipse at 50% 40%,#fffaf3c4 0%,#f5ebdf50 75%),url('moroccan-pattern.svg');background-size:cover,190px 190px;isolation:isolate;transition:opacity .85s ease,visibility .85s;overscroll-behavior:contain}
#cover:before{content:'';position:absolute;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 0 5%,#7d896317,transparent 29%),radial-gradient(ellipse at 100% 90%,#7d89630d,transparent 33%)}
#cover .cover-content{position:relative;min-height:100%;width:100%;padding:32px 20px 28px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
#cover .cover-content>.eyebrow{font-size:12px;letter-spacing:.32em;line-height:1.7}
#cover .cover-divider{display:block;width:150px;height:18px;color:#ac9363;margin:15px 0 0;flex-shrink:0;opacity:.75}
#cover .cover-title{position:relative;font-size:clamp(36px,4.8vw,66px);font-weight:normal;letter-spacing:-.035em;line-height:1.15;margin:12px 0 36px;z-index:2;white-space:nowrap}
#cover .cover-title .amp{color:#8b997b;font-style:italic;font-weight:normal}
#cover .invitation-scene{position:relative;width:min(760px,70vw);margin:0;isolation:isolate;flex-shrink:0}
#cover .botanical-spray{position:absolute;width:36%;height:112%;left:-20%;top:-4%;overflow:visible;pointer-events:none;z-index:0;filter:drop-shadow(3px 7px 3px #67593530);transform:rotate(-7deg);transform-origin:80% 80%}
#cover .botanical-spray-right{left:auto;right:-21%;top:15%;transform:scaleX(-1) rotate(-9deg)}
#cover .envelope{position:relative;z-index:1;width:100%;aspect-ratio:1.6;background:none;border:0;border-radius:2px;box-shadow:0 23px 35px -12px #69533466,0 3px 7px #6e573929;perspective:1600px;isolation:isolate;overflow:visible;transform:translateY(0);transition:transform 1.3s .9s cubic-bezier(.22,.7,.2,1)}
#cover .paper-plane{display:block;position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
#cover .envelope-back{z-index:0;filter:none}
#cover .letter{z-index:2;inset:5% 4% 4%;border:1px solid #bfa77a99;background:#fffaf1;outline:1px solid #bfa77a40;outline-offset:-9px;box-shadow:0 2px 7px #5a44221f;padding:25px 10px;gap:18px;transition:transform 1.4s 1.42s cubic-bezier(.22,.68,.17,1),box-shadow 1.4s 1.42s;transform:translateY(0);will-change:transform;display:grid;place-content:center;text-align:center}
#cover .letter:before{content:'✧';font-size:28px;color:#a88c57;line-height:1}
#cover .letter span{font-size:clamp(23px,3vw,39px);font-style:italic;color:#465246}
#cover .letter small{font:11px/1.8 Arial,sans-serif;letter-spacing:.12em;color:#65715b;max-width:95%;margin:auto}
#cover .pocket,#cover .pocket-bottom,#cover .flap{position:absolute;inset:0;border:0;background:none;clip-path:none;border-radius:0;filter:none;pointer-events:none}
#cover .pocket{z-index:3}
#cover .pocket-bottom{z-index:4}
#cover .flap{z-index:5;transform:rotateX(0);transform-origin:50% 0;backface-visibility:visible;-webkit-backface-visibility:visible;transition:none;will-change:transform}
#cover .seal{position:absolute;display:block;left:50%;top:62%;width:clamp(78px,14.5vw,116px);height:auto;aspect-ratio:1;border:0;background:none;padding:0;border-radius:50%;color:#465246;box-shadow:none;text-shadow:none;z-index:6;transform:translate(-50%,-50%) rotate(-7deg);filter:drop-shadow(2px 5px 3px #4b53394d);transition:transform .28s,filter .28s,opacity .1s 1s;touch-action:manipulation;cursor:pointer;overflow:visible}
#cover .seal:hover{transform:translate(-50%,-50%) rotate(-3deg) scale(1.045);filter:drop-shadow(2px 7px 5px #4b53394d)}
#cover .seal:focus-visible{outline:2px solid #637657;outline-offset:6px}
#cover .wax-piece{display:block;position:absolute;inset:0;transition:none;will-change:transform,opacity}
#cover .wax-piece svg{display:block;width:100%;height:100%;overflow:visible}
#cover .wax-piece-left{clip-path:polygon(0 0,51.43% 0,51.43% 7.14%,46.43% 20.71%,53.57% 31.43%,44.29% 43.57%,51.43% 52.86%,45.71% 65.71%,54.29% 75.71%,49.29% 92.86%,49.29% 100%,0 100%)}
#cover .wax-piece-right{clip-path:polygon(51.43% 0,100% 0,100% 100%,49.29% 100%,49.29% 92.86%,54.29% 75.71%,45.71% 65.71%,51.43% 52.86%,44.29% 43.57%,53.57% 31.43%,46.43% 20.71%,51.43% 7.14%)}
#cover .wax-fracture{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none}
#cover .cover-count{margin:28px 0 0;font-size:16px;color:#5b6853;line-height:1.4;z-index:2;transition:opacity .35s}
#cover .cover-count strong{font-size:30px;font-weight:normal;font-variant-numeric:tabular-nums}
#cover .open-note{margin:9px 0 0;font-size:clamp(16px,1.7vw,21px);line-height:1.6;font-style:italic;color:#59654f;z-index:2;transition:opacity .35s}
#cover .open-note+.cover-divider{margin-top:17px;width:125px}
#cover .cover-date{margin-top:13px;font-size:12px;letter-spacing:.32em}
#cover.opening .cover-title,#cover.opening .cover-content>.eyebrow,#cover.opening .cover-divider,#cover.opening .open-note,#cover.opening .cover-count{opacity:0;transition:opacity .38s}
#cover .envelope.opened{transform:translateY(42px)}
#cover .opened .seal{opacity:1;transform:translate(-50%,-50%) rotate(-7deg);pointer-events:none;filter:drop-shadow(2px 5px 3px #4b53394d)}
#cover .opened .wax-fracture{animation:wax-crack .22s .05s both}
#cover .opened .wax-piece-left{animation:wax-release-left .85s .12s cubic-bezier(.2,.6,.35,1) both}
#cover .opened .wax-piece-right{animation:wax-release-right .85s .12s cubic-bezier(.2,.6,.35,1) both}
#cover .opened .flap{animation:luxury-flap-open 1.35s .58s cubic-bezier(.38,.05,.22,1) both}
#cover .opened .letter{transform:translateY(-84%);box-shadow:0 15px 25px #705a4030}
@keyframes wax-crack{0%{opacity:0}60%{opacity:.9}100%{opacity:0}}
@keyframes wax-release-left{0%{transform:translate(0,0) rotate(0);opacity:1}35%{opacity:1}100%{transform:translate(-22%,16%) rotate(-18deg);opacity:0}}
@keyframes wax-release-right{0%{transform:translate(0,0) rotate(0);opacity:1}35%{opacity:1}100%{transform:translate(22%,12%) rotate(16deg);opacity:0}}
@keyframes luxury-flap-open{0%{transform:rotateX(0);z-index:5}49.9%{z-index:5}50%{z-index:1}100%{transform:rotateX(180deg);z-index:1}}
@media(max-width:650px){#cover .cover-content{padding:32px 16px 28px}#cover .cover-content>.eyebrow{font-size:11px;letter-spacing:.25em}#cover .cover-title{font-size:clamp(29px,8.5vw,46px);margin:15px 0 43px}#cover .invitation-scene{width:77vw;max-width:440px}#cover .cover-divider{width:120px;margin-top:12px}#cover .botanical-spray{left:-17%;width:33%;top:-7%}#cover .botanical-spray-right{left:auto;right:-17%;top:13%}#cover .cover-count{margin-top:36px;font-size:15px}#cover .cover-count strong{font-size:28px}#cover .open-note{font-size:16px;max-width:300px;margin-top:10px}#cover .letter{padding:10px;gap:8px}#cover .letter:before{font-size:18px}#cover .letter small{font-size:9px;letter-spacing:.08em}#cover .letter span{font-size:25px}#cover .cover-date{margin-top:15px;font-size:11px}#cover .envelope.opened{transform:translateY(30px)}}
@media(max-height:740px) and (min-width:651px){#cover .cover-content{padding:22px 20px}#cover .invitation-scene{width:min(620px,68vw)}#cover .cover-title{font-size:48px;margin-bottom:25px}#cover .cover-divider{margin-top:9px}#cover .cover-count{margin-top:20px}#cover .cover-date{margin-top:8px}}
@media(max-height:600px) and (orientation:landscape){#cover .cover-content{padding:20px}#cover .invitation-scene{width:min(330px,48vw)}#cover .cover-title{font-size:32px;margin:8px 0 22px}#cover .cover-content>.eyebrow{font-size:10px}#cover .cover-divider{height:10px;margin-top:5px}#cover .cover-count{margin-top:13px;font-size:13px}#cover .cover-count strong{font-size:23px}#cover .open-note{font-size:14px;margin-top:3px}#cover .cover-date{font-size:10px;margin-top:6px}#cover .seal{width:74px}}
@media(prefers-reduced-motion:reduce){#cover,#cover *{animation:none!important;transition:none!important}#cover .opened .seal{opacity:0}#cover .opened .flap{transform:rotateX(180deg);z-index:1}}
#cover .botanical-spray-right{transform-origin:50% 50%}#cover .seal{width:clamp(92px,18vw,154px)}@media(max-width:650px){#cover .invitation-scene{width:84vw}#cover .botanical-spray{width:22%;left:-3%;top:-2%}#cover .botanical-spray-right{left:auto;right:-3%;top:17%}}@media(max-height:600px) and (orientation:landscape){#cover .cover-content{padding:12px 20px}#cover .invitation-scene{width:min(300px,64vh)}#cover .cover-title{font-size:30px;margin:6px 0 14px}#cover .cover-count{margin-top:8px}#cover .open-note+.cover-divider{display:none}#cover .cover-date{margin-top:8px}#cover .seal{width:74px}}
/* Rametti ad acquerello: più visibili sugli angoli anche da telefono. */
#cover .botanical-spray{display:block;position:absolute;width:55%;height:auto;aspect-ratio:1.5;object-fit:contain;left:-23%;top:0;transform:rotate(-57deg);transform-origin:50% 50%;filter:none;opacity:.96;pointer-events:none;z-index:0}
#cover .botanical-spray-right{left:auto;right:-22%;top:32%;transform:rotate(122deg)}
@media(max-width:650px){#cover .cover-title{margin-bottom:70px}#cover .invitation-scene{margin-bottom:24px}#cover .botanical-spray{width:73%;left:-1%;top:-34%;height:auto;transform:rotate(-10deg)}#cover .botanical-spray-right{left:auto;right:-1%;top:auto;bottom:-38%;transform:rotate(172deg)}#cover .cover-count{margin-top:44px}}
@media(max-height:600px) and (orientation:landscape){#cover .cover-title{margin-bottom:24px}#cover .invitation-scene{margin-bottom:6px}#cover .botanical-spray{width:55%;left:-23%;top:0;transform:rotate(-57deg)}#cover .botanical-spray-right{left:auto;right:-22%;top:32%;bottom:auto;transform:rotate(122deg)}#cover .cover-count{margin-top:10px}}

@media(min-width:651px) and (min-height:601px){#cover .cover-title{margin-bottom:60px}#cover .botanical-spray{width:52%;left:-10%;top:-25%;transform:rotate(-12deg)}#cover .botanical-spray-right{width:50%;left:auto;right:-9%;top:auto;bottom:-27%;transform:rotate(168deg)}#cover .cover-count{margin-top:60px}}

@media(min-width:651px) and (min-height:601px){#cover .cover-title{margin-bottom:36px}#cover .botanical-spray{width:48%;left:-30%;top:17%;bottom:auto;transform:rotate(-90deg)}#cover .botanical-spray-right{width:48%;left:auto;right:-30%;top:20%;bottom:auto;transform:rotate(90deg)}#cover .cover-count{margin-top:28px}}
@media(max-width:650px) and (orientation:portrait){#cover .cover-title{margin-bottom:82px}#cover .botanical-spray{top:-39%}#cover .botanical-spray-right{top:auto;bottom:-43%}}

@media(max-width:650px) and (max-height:650px) and (orientation:portrait){#cover .cover-content{padding:18px 12px}#cover .cover-title{margin-bottom:62px}#cover .invitation-scene{margin-bottom:18px}#cover .cover-count{margin-top:36px}}

/* Nomi nel carattere calligrafico scelto: Parisienne. */
@font-face{font-family:Parisienne;font-style:normal;font-weight:400;font-display:swap;src:url('parisienne-regular.ttf') format('truetype')}
#cover .cover-title{font-family:Parisienne,cursive;font-weight:400;font-size:clamp(44px,5.7vw,80px);letter-spacing:0;line-height:1.2}
#cover .cover-title .amp{font-family:inherit;font-size:1em;font-style:normal}
.hero h1{font-family:Parisienne,cursive;font-weight:400;font-size:clamp(76px,10vw,118px);letter-spacing:0;line-height:1.12}
.hero h1 span{font-family:inherit;font-weight:400;font-style:normal;line-height:1.1}
@media(max-width:650px){#cover .cover-title{font-size:clamp(34px,10.8vw,49px)}.hero h1{font-size:clamp(68px,18vw,86px)}}
@media(max-height:740px) and (min-width:651px){#cover .cover-title{font-size:58px}}
@media(max-height:600px) and (orientation:landscape){#cover .cover-title{font-size:38px}}

/* Calligrafia dell'invito e proporzioni più raccolte su computer. */
#cover .letter span{font-family:Parisienne,cursive;font-weight:400;font-style:normal;line-height:1.2}
@media(min-width:651px){
 #cover .invitation-scene{width:min(600px,62vw)}
 #cover .cover-title{font-size:clamp(44px,4.6vw,62px)}
 #cover .seal{width:clamp(92px,11vw,122px)}
 .hero h1{font-size:clamp(76px,7.5vw,92px)}
}
@media(min-width:651px) and (max-height:740px){#cover .invitation-scene{width:min(520px,58vw)}#cover .cover-title{font-size:48px}}
@media(min-width:651px) and (max-height:600px) and (orientation:landscape){#cover .invitation-scene{width:min(300px,64vh)}#cover .cover-title{font-size:38px}#cover .seal{width:74px}}

/* Gli stessi fiori della busta abbracciano l'arco dell'invito. */
.hero>.hero-flowers{position:absolute;inset:20px max(18px,calc((100% - 700px)/2)) 20px;z-index:0;pointer-events:none}
.hero-flower{position:absolute;display:block;width:420px;height:auto;max-width:none;top:17%;opacity:.9;transform-origin:center}
.hero-flower-left{left:-190px;transform:rotate(-67deg)}
.hero-flower-right{right:-190px;transform:rotate(113deg)}
.hero>.eyebrow{margin-top:35px}
footer .names{font-family:Parisienne,cursive;font-weight:400;font-style:normal;font-size:44px;line-height:1.25}
.venue-photo-frame{aspect-ratio:4/3;background:#faf6ee;box-shadow:0 12px 30px #4652460a}
@media(max-width:700px){
 .hero>.hero-flowers{inset:15px 12px}
 .hero-flower{width:260px;top:16%;opacity:.85}
 .hero-flower-left{left:-126px;transform:rotate(-72deg)}
 .hero-flower-right{right:-126px;transform:rotate(108deg)}
 footer .names{font-size:40px}
}
