:root{--paper:#f1e9d8;--floral:#171513;--ink:#9a1c45;--ink-soft:#b06f84;--line:#c9b99a;--fd:1.3s;--fe:cubic-bezier(.42,.12,.18,1)}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background:#0e0b12;font-family:Cormorant Garamond,Georgia,serif;overflow:hidden}#root{height:100%}.app{--cardH:min(80vh, 650px);--cardW:calc(var(--cardH) * .706);position:fixed;inset:0;overflow:hidden}.stage{perspective:2900px;perspective-origin:50% 42%;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.app[data-mood=Notte] .stage{background:radial-gradient(125% 115% at 50% 30%,#2c2536 0%,#191521 46%,#0c0a10 100%)}.app[data-mood=Vino] .stage{background:radial-gradient(125% 115% at 50% 30%,#3e1d29 0%,#24111a 46%,#150a0f 100%)}.app[data-mood=Neutro] .stage{background:radial-gradient(125% 115% at 50% 30%,#3b342b 0%,#26221a 46%,#13110c 100%)}.glow{pointer-events:none;mix-blend-mode:screen;background:radial-gradient(46% 38% at 50% 40%,#ffeecd29,#ffeecd00 70%);position:absolute;inset:0}.vignette{pointer-events:none;background:radial-gradient(120% 100%,#0000 52%,#0000008c 100%);position:absolute;inset:0}.book{height:var(--cardH);width:var(--cardW);transform-style:preserve-3d;transition:transform var(--fd) var(--fe);touch-action:none;cursor:grab;position:relative;transform:translate(48%)}.book:active{cursor:grabbing}.book.opened{transform:translate(2%)}.shadow{filter:blur(7px);pointer-events:none;height:9%;transition:left var(--fd) var(--fe), right var(--fd) var(--fe);background:radial-gradient(60% 100%,#00000080,#0000 72%);position:absolute;bottom:-7%;left:-6%;right:-6%;transform:translateZ(-2px)}.book.opened .shadow{left:-58%;right:-6%}.leaf{transform-origin:0;transform-style:preserve-3d;transition:transform var(--fd) var(--fe);will-change:transform;position:absolute;inset:0}.face{backface-visibility:hidden;pointer-events:none;will-change:transform;border-radius:3px 5px 5px 3px;position:absolute;inset:0;overflow:hidden;box-shadow:0 22px 50px #00000073}.face.front{pointer-events:auto}.face.front:before{content:"";pointer-events:none;z-index:5;background:linear-gradient(90deg,#0003,#0000);width:12%;position:absolute;top:0;bottom:0;left:0}.face.front.light-spine:before{display:none}.face.back{transform:rotateY(180deg)}.face.back:before{content:"";pointer-events:none;z-index:5;background:linear-gradient(270deg,#0000004d,#0000);width:20%;position:absolute;top:0;bottom:0;right:0}.shade{pointer-events:none;opacity:0;background:linear-gradient(90deg,#140c048c,#140c0400 58%);position:absolute;inset:0}.leaf.flip .shade{animation:pageShade var(--fd) var(--fe)}@keyframes pageShade{0%{opacity:0}30%{opacity:.5}60%{opacity:.5}to{opacity:0}}.paper{background:radial-gradient(140% 120% at 50% 0%, #ffffff80, #fff0 55%), var(--paper);width:100%;height:100%;color:var(--ink);font-size:calc(var(--cardH) * .0315);isolation:isolate;position:relative}.paper:after{content:"";border:1px solid color-mix(in srgb, var(--ink) 16%, transparent);pointer-events:none;z-index:1;position:absolute;inset:5.5% 6%}.card-event:after,.card-rsvp:after,.card-gift:after{content:"";mix-blend-mode:multiply;opacity:1;filter:saturate(1.16)contrast(1.05);pointer-events:none;z-index:10;background:url(/cornice_petali.png) 50%/100% 100% no-repeat;border:none;position:absolute;inset:0}.paper.blank:after{border-color:color-mix(in srgb, var(--ink) 9%, transparent);inset:7% 7.5%}.pad{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:11.5% 12.5%;display:flex;position:absolute;inset:0}.card-2 .pad{gap:.34em;padding:8.5% 11%}.ricevimento .floral-bg{position:absolute;inset:0}.ricevimento .floral-bg svg{width:100%;height:100%;display:block;position:absolute;inset:0}.ricevimento .pad{z-index:1;position:absolute;inset:0}.vellum{background:#f8f3e947;width:100%;height:100%;position:relative;box-shadow:inset 0 0 60px #ffffff2e}.vellum .sheen{pointer-events:none;background:linear-gradient(115deg,#ffffff52 0%,#fff0 28% 70%,#ffffff29 100%);position:absolute;inset:0}.vellum.solid{background:radial-gradient(140% 120% at 50% 0%, #ffffff73, #fff0 55%), color-mix(in srgb, var(--paper) 92%, #fff);-webkit-backdrop-filter:none;font-size:calc(var(--cardH) * .0315)}.floral{position:absolute;inset:0}.floral svg{width:100%;height:100%;display:block;position:absolute;inset:0}.floral.tint svg path{fill:var(--tint)!important}.floral.light{opacity:.52}.mono{color:var(--ink);flex-direction:column;justify-content:center;align-items:center;gap:.15em;display:flex;position:absolute;inset:0}.mono .em{color:color-mix(in srgb, var(--ink) 86%, transparent);font-family:Pinyon Script,cursive;font-size:3.1em;line-height:1}.mono .dt{letter-spacing:.42em;text-indent:.42em;text-transform:uppercase;color:var(--ink-soft);font-size:.86em}.mono .names{white-space:nowrap;font-family:WindSong,cursive;font-size:2em;line-height:1}.mono .date{letter-spacing:.04em;text-indent:0;text-transform:none;font-family:WindSong,cursive;font-weight:400}.card-1 .pad{gap:.5em}.names{color:color-mix(in srgb, var(--ink) 92%, transparent);font-family:Pinyon Script,cursive;font-size:2.75em;line-height:1.04}.names .e{vertical-align:.2em;color:var(--ink-soft);padding:0 .1em;font-size:.46em;font-style:italic}.lead{color:color-mix(in srgb, var(--ink) 78%, transparent);max-width:15em;font-size:1em;font-style:italic;line-height:1.3}.kicker{letter-spacing:.34em;text-indent:.34em;text-transform:uppercase;color:var(--ink-soft);font-size:.68em}.date{letter-spacing:.14em;text-indent:.14em;text-transform:uppercase;white-space:nowrap;font-size:1em;font-weight:600}.place{font-size:1.16em;font-weight:600;line-height:1.15}.venue{letter-spacing:.03em;font-size:1.3em;font-weight:600}.addr{color:var(--ink-soft);font-size:.8em;line-height:1.35}.time{color:color-mix(in srgb, var(--ink) 70%, transparent);font-size:.95em;font-style:italic}.note{max-width:16em;color:color-mix(in srgb, var(--ink) 76%, transparent);font-size:.9em;font-style:italic;line-height:1.36}.agency{font-size:.95em;font-weight:600}.small{font-size:.76em}.mail{color:var(--ink-soft);letter-spacing:.01em;font-size:.76em}.orn{width:62%;color:var(--ink-soft);justify-content:center;align-items:center;gap:.7em;margin:.15em 0;display:flex}.orn:before,.orn:after{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--ink) 30%, transparent), transparent);flex:1;height:1px}.orn .d{background:color-mix(in srgb, var(--ink) 45%, transparent);width:.42em;height:.42em;transform:rotate(45deg)}.block{flex-direction:column;align-items:center;gap:.12em;display:flex}.backmark{color:color-mix(in srgb, var(--ink) 12%, transparent);justify-content:center;align-items:center;font-family:WindSong,cursive;font-size:2.7em;display:flex;position:absolute;inset:0}.vellum-cover{background:#f8f3e91f}.vellum-cover .floral{opacity:1}.cover{position:relative}.cover .cover-floral{opacity:.16}.cover .cover-floral svg{width:100%;height:100%;display:block;position:absolute;inset:0}.cover .sheen{z-index:2}.cover-pad{z-index:1;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.34em;padding:2% 11% 20%;display:flex;position:absolute;inset:0}.cover-logo{width:76%;max-width:345px;margin-bottom:.1em;line-height:0}.cover-logo svg{width:100%;height:auto;display:block}.cover-logo svg path{fill:#2f2823!important}.cover .names{white-space:nowrap;font-family:WindSong,cursive;font-size:2.1em}.cover .date{letter-spacing:.04em;text-indent:0;text-transform:none;font-family:WindSong,cursive;font-size:1.08em;font-weight:400}.cover-city{letter-spacing:.04em;color:var(--ink-soft);font-family:WindSong,cursive;font-size:1.12em;font-style:normal}.card-event .pad{z-index:1;flex-direction:column;justify-content:flex-start;align-items:center;gap:.3em;padding:13.8% 10.5% 13.5%;display:flex;position:absolute;inset:0}.card-event .kicker{letter-spacing:.38em;text-indent:.38em}.card-event .venue{max-width:11em;margin-top:.16em;margin-bottom:.04em;line-height:1.08}.card-event .addr{max-width:86%;line-height:1.42}.card-event .time{margin-top:.16em;font-size:1em}.card-event .orn{width:56%;margin:.56em 0 .14em}.map-frame{background:color-mix(in srgb, #fff 84%, var(--paper));border:1px solid color-mix(in srgb, var(--ink) 12%, transparent);border-radius:8px;flex:0 0 42%;width:90%;height:42%;min-height:0;margin-top:auto;margin-bottom:.2em;padding:0;overflow:hidden;box-shadow:0 10px 24px #00000029}.map-slot{width:100%;height:100%;display:block}.map-iframe{border:none;width:100%;height:100%;display:block}.gift-pad{z-index:1;justify-content:flex-start;gap:.3em;padding:14% 8% 7%;position:absolute;inset:0}.gift-lead{color:var(--ink);text-align:center;max-width:18em;font-size:.82em;font-style:italic;line-height:1.36}.gift-note{color:var(--ink-soft);text-align:center;max-width:20em;margin-bottom:.1em;font-size:.74em;line-height:1.4}.gift-cards{flex-direction:column;gap:.35em;width:96%;display:flex}.gift-card{border:1px solid color-mix(in srgb, var(--ink) 18%, transparent);text-align:center;background:color-mix(in srgb, var(--paper) 60%, #fff);border-radius:7px;flex-direction:column;align-items:center;gap:.14em;width:100%;padding:.5em .6em .55em;display:flex}.gift-card-kicker{letter-spacing:.18em;text-indent:.18em;text-transform:uppercase;color:var(--ink-soft);margin-top:.1em;font-size:.48em}.gift-card-name{color:var(--ink);font-size:.88em;font-weight:600;line-height:1.2}.gift-card-sep{background:color-mix(in srgb, var(--ink) 22%, transparent);width:2em;height:1px;margin:.1em 0}.gift-card-value{width:100%;color:var(--ink);background:color-mix(in srgb, var(--ink) 5%, transparent);border-radius:5px;padding:.38em .5em;font-size:.7em;line-height:1.35}.gift-selectable{-webkit-user-select:text;user-select:text;cursor:text}.gift-card-email{font-size:.7em}.gift-card-mono{letter-spacing:.02em;white-space:nowrap;font-family:Cormorant Garamond,serif;font-size:.63em}.gift-iban-wrap{padding-right:2.8em;position:relative}.gift-iban-copy{background:var(--ink);width:2.1em;color:color-mix(in srgb, var(--paper) 92%, #fff);cursor:pointer;border:none;border-radius:3px;justify-content:center;align-items:center;padding:0;font-size:.72em;transition:opacity .15s;display:flex;position:absolute;top:4px;bottom:4px;right:4px}.gift-iban-copy:hover{opacity:.85}.gift-iban-copy.copied{opacity:.65}.gift-iban-toast{color:#fff;letter-spacing:.14em;text-indent:.14em;text-transform:uppercase;white-space:nowrap;pointer-events:none;z-index:20;background:#00000035;border-radius:5px;padding:.35em .7em;font-size:.55em;animation:.15s ibanToast;position:absolute;bottom:calc(100% + 2px);right:4px}@keyframes ibanToast{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.card-rsvp .pad{justify-content:flex-start}.rsvp-pad{z-index:1;gap:.38em;padding:14% 9% 7%;position:absolute;inset:0}.rsvp-lead{color:var(--ink);text-align:center;max-width:16em;margin-bottom:.18em;font-size:1.12em;font-style:italic;line-height:1.35}.rsvp-form{flex-direction:column;gap:.42em;width:100%;display:flex}.rsvp-field{flex-direction:column;gap:.18em;display:flex}.rsvp-label{letter-spacing:.2em;text-indent:.2em;text-transform:uppercase;color:var(--ink-soft);font-size:.52em}.rsvp-input,.rsvp-textarea{background:color-mix(in srgb, var(--paper) 55%, #fff);border:1px solid color-mix(in srgb, var(--ink) 16%, transparent);width:100%;color:var(--ink);resize:none;border-radius:7px;outline:none;padding:.52em .72em;font-family:Cormorant Garamond,serif;font-size:.88em;font-style:italic}.rsvp-input::placeholder,.rsvp-textarea::placeholder{color:color-mix(in srgb, var(--ink) 32%, transparent)}.rsvp-textarea{height:4.4em}.rsvp-toggle{gap:.45em;display:flex}.rsvp-toggle-btn{background:color-mix(in srgb, var(--paper) 55%, #fff);border:1px solid color-mix(in srgb, var(--ink) 16%, transparent);color:color-mix(in srgb, var(--ink) 55%, transparent);cursor:pointer;border-radius:7px;flex:1;padding:.52em .4em;font-family:Cormorant Garamond,serif;font-size:.88em;transition:all .15s}.rsvp-toggle-btn.active{color:#fff6fb;background:#b81d5b;border-color:#b81d5b}.rsvp-submit{letter-spacing:.22em;text-indent:.22em;text-transform:uppercase;color:#fff6fb;cursor:pointer;background:#b81d5b;border:none;border-radius:7px;width:100%;margin-top:.12em;padding:.68em;font-family:Cormorant Garamond,serif;font-size:.7em;transition:opacity .15s,filter .15s,transform .12s}.rsvp-submit:not(:disabled):hover,.rsvp-submit:not(:disabled):focus-visible{filter:brightness(1.06)}.rsvp-submit:not(:disabled):active{filter:brightness(.98);transform:translateY(1px)}.rsvp-submit:disabled{opacity:.46;cursor:default;background:color-mix(in srgb, var(--ink) 30%, var(--paper));color:color-mix(in srgb, var(--ink) 80%, #fff)}.rsvp-deadline{letter-spacing:.2em;text-indent:.2em;text-transform:uppercase;color:var(--ink);text-align:center;font-size:.58em;font-weight:700}.rsvp-error{color:var(--ink);text-align:center;font-size:.68em}.rsvp-success{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.6em;display:flex}.rsvp-success-icon{color:var(--ink);font-size:2.4em}.rsvp-success-msg{text-align:center;color:var(--ink);font-size:1em;font-style:italic;line-height:1.5}.countdown-area{flex:1;justify-content:center;align-items:center;width:100%;display:flex}.reception-collage{flex:1;justify-content:center;align-items:center;gap:0;width:100%;min-height:0;display:flex}.reception-photo{background:#fff;flex-shrink:0;width:46%;padding:3% 3% 8%;box-shadow:0 3px 14px #00000038,0 1px 4px #0000001f}.reception-photo img{object-fit:cover;aspect-ratio:3/4;width:100%;height:auto;display:block}.come-arrivare-btn{border:1.5px solid color-mix(in srgb, var(--ink) 38%, transparent);color:var(--ink);letter-spacing:.26em;text-transform:uppercase;background:color-mix(in srgb, var(--ink) 6%, var(--paper));pointer-events:auto;z-index:15;border-radius:40px;align-items:center;gap:.48em;margin-bottom:.42em;padding:.62em 1.6em;font-size:.72em;text-decoration:none;display:inline-flex;position:relative}.come-arrivare-btn:hover,.come-arrivare-btn:focus-visible{filter:brightness(1.06)}.come-arrivare-btn:active{filter:brightness(.98);transform:translateY(1px)}.come-arrivare-icon{flex:none;width:.98em;height:.98em;transform:translateY(-.02em)}.countdown-inline{color:var(--ink);flex-direction:column;align-items:center;gap:.16em;margin-top:.14em;margin-bottom:.12em;display:flex}.countdown-inline-counter{justify-content:center;align-items:flex-start;gap:.08em;display:flex}.countdown-inline-block{flex-direction:column;align-items:center;gap:.4em;min-width:1.95ch;display:flex}.countdown-inline-label{color:var(--ink);font-family:WindSong,cursive;font-size:clamp(1.14em,1.2vw,1.38em);line-height:1}.countdown-inline-num{color:var(--ink);font-family:Cormorant Garamond,serif;font-size:clamp(1.68em,3.98vw,2.46em);font-weight:400;line-height:.9}.countdown-inline-sep{color:var(--ink);margin-top:.08em;font-family:Cormorant Garamond,serif;font-size:clamp(1.22em,2.6vw,1.9em);line-height:.95}.countdown-inline-unit{letter-spacing:.22em;text-indent:.22em;color:var(--ink-soft);font-family:Cormorant Garamond,serif;font-size:clamp(.44em,.56vw,.54em);line-height:1}.petals{pointer-events:none;position:absolute;inset:0;overflow:hidden}.petal{opacity:.15;filter:blur(.3px);background:#ead8b4d9;border-radius:60% 40% 55% 45%;animation:linear infinite fall;position:absolute;top:-6%}@keyframes fall{0%{opacity:0;transform:translateY(-8vh)translate(0)rotate(0)}10%{opacity:.18}90%{opacity:.16}to{transform:translateY(112vh) translateX(var(--dx,8vw)) rotate(320deg);opacity:0}}.nav-btn{z-index:40;color:#fff7e8a6;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000038;border:1px solid #fff7e82e;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;padding:0;font-size:30px;line-height:1;transition:background .2s,color .2s,opacity .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.nav-btn:hover{color:#fff7e8f2;background:#0000006b}.prev-btn{left:2%}.next-btn{right:2%}.hint{z-index:45;pointer-events:none;justify-content:center;transition:opacity .6s;display:flex;position:absolute;bottom:5.5%;left:0;right:0}.hint .pill{letter-spacing:.26em;text-indent:.26em;text-transform:uppercase;color:#fff7e89e;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000002e;border:1px solid #fff7e82e;border-radius:40px;align-items:center;gap:.9em;padding:9px 20px;font-size:13px;display:flex}.hint .dotrow{gap:7px;display:flex}.hint .dotrow i{background:#fff7e84d;border-radius:50%;width:6px;height:6px;transition:background .3s}.hint .dotrow i.on{background:#fff7e8d9}.progress{z-index:45;pointer-events:none;justify-content:center;gap:9px;display:flex;position:absolute;top:5%;left:0;right:0}.progress i{border:1px solid #fff7e866;border-radius:50%;width:7px;height:7px;transition:all .35s}.progress i.on{background:#fff7e8e6;border-color:#fff7e8e6}@media (prefers-reduced-motion:reduce){.leaf,.book,.shadow{transition-duration:1ms}.petal{display:none}}@media (width<=540px){.app{--cardH:min(72vh, 520px, calc(78vw / .706));--cardW:calc(var(--cardH) * .706)}.book{transform:translate(0)}.book.opened{transform:translate(8%)}.book.opened .shadow{left:-22%}}
