/* DM Sans and Space Grotesk from this site (variable fonts, latin and latin-ext), not from Google Fonts: no visitor address goes to Google. */
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/dm-sans-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/dm-sans-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/space-grotesk-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/space-grotesk-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{color-scheme:dark;--pink:#f45bda;--muted:#ada2ba;--line:#ffffff25}*{box-sizing:border-box}body{margin:0;background:#09070f;color:#fff;font-family:'DM Sans',Arial,sans-serif;min-height:100svh}button,input,select{font:inherit}a{color:inherit;text-decoration:none}button,a,input,select{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--pink);outline-offset:5px}.ambient{position:fixed;inset:0;overflow:hidden;z-index:-1;background:radial-gradient(ellipse at 45% 85%,#290e38 0,transparent 65%)}.orb{position:absolute;filter:blur(80px);border-radius:50%;opacity:.45;animation:drift 17s ease-in-out infinite alternate}.a{background:#7917bc;width:45vw;height:50vh;top:5%;left:-24%}.b{background:#a61870;width:35vw;height:55vh;bottom:-25%;right:-12%;animation-delay:-8s}.ring{position:absolute;width:1050px;height:470px;border:1px solid #b252d42a;border-radius:50%;transform:rotate(-27deg);left:calc(50% - 525px);top:20%;box-shadow:0 -15px 70px #a438c50e,inset 0 8px 55px #7f22ae10}@keyframes drift{to{transform:translate(60px,80px) scale(1.2)}}header{height:96px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff0b}.small-logo{font:bold 29px 'Space Grotesk',sans-serif;letter-spacing:-2px}.small-logo span{font-size:37px}.small-logo .dot{font-size:10px;vertical-align:top;letter-spacing:0}.header-right{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:2px}.live-dot{width:5px;height:5px;background:var(--pink);border-radius:50%;box-shadow:0 0 10px var(--pink)}.demo{border:1px solid #ffffff30;border-radius:5px;padding:5px 7px;letter-spacing:1px;color:#c4b6cb;margin-left:20px}main{min-height:calc(100svh - 172px);padding:45px 24px;display:flex;justify-content:center;align-items:center}footer{min-height:76px;border-top:1px solid #ffffff10;padding:23px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#8f829e;font-size:9px;letter-spacing:1.5px}footer nav{display:flex;gap:24px;align-items:center}footer button{border:0;background:none;color:inherit;padding:0;font-size:10px}footer a{font-size:10px;letter-spacing:0}.home{text-align:center;width:100%;max-width:1000px}.eyebrow{font-size:10px;letter-spacing:4px;text-transform:uppercase;color:#c7aecf}.eyebrow .pink{color:var(--pink)}.wordmark{font-family:'Space Grotesk',Arial,sans-serif;font-weight:700;font-size:clamp(90px,17vw,210px);line-height:1;letter-spacing:-.085em;margin:14px 0 12px}.wordmark span{display:inline-block;font-size:1.17em;vertical-align:-.045em;letter-spacing:-.1em;margin-left:-.02em;margin-right:.015em}.tagline{font-size:11px;letter-spacing:7px;color:#d6c9df;margin:0 0 33px}.home .intro{font-size:15px;color:var(--muted);line-height:1.8;margin:0 0 28px}.primary{border:0;background:#f1eaf5;color:#17101c;border-radius:10px;padding:18px 22px;font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:30px;transition:.2s}.primary:hover{background:#fff;box-shadow:0 0 35px #f45bda25;transform:translateY(-2px)}.home .primary{max-width:350px;margin:auto}.arrow{font-size:22px;font-weight:400}.home-links{display:flex;justify-content:center;gap:30px;margin:22px 0 39px;color:#bbb0c5;font-size:12px}.next{font-size:10px;letter-spacing:2px;color:#a68cae;display:flex;justify-content:center;align-items:center;gap:10px}.next:before{content:'';width:18px;height:1px;background:var(--pink)}.shell{width:100%;max-width:920px}.topline{display:flex;justify-content:space-between;margin-bottom:30px;color:#a998b5;font-size:10px;letter-spacing:2px}.back{background:none;border:0;padding:0;color:#c2b4cf;font-size:12px;letter-spacing:0}.event-layout{display:grid;grid-template-columns:340px 1fr;gap:65px;align-items:center}.poster{width:100%;display:block;border-radius:12px;border:1px solid var(--line);box-shadow:0 25px 80px #0007}.event-info h1,.panel h1{font:500 46px/1.08 'Space Grotesk',sans-serif;letter-spacing:-2px;margin:18px 0}.event-info p,.sub{color:var(--muted);font-size:14px;line-height:1.8}.date-chip{display:inline-block;font-size:10px;letter-spacing:2px;color:#f7c4ed;border:1px solid #f45bda40;background:#f45bda0b;border-radius:30px;padding:9px 13px}.meta{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin:26px 0;display:grid;grid-template-columns:1fr 1fr;gap:18px}.meta small,.label{display:block;color:#a48eaf;font-size:9px;letter-spacing:2px;margin-bottom:7px}.meta strong{font-size:13px;font-weight:500}.fine{font-size:11px!important;color:#a995b3;line-height:1.65}.panel{width:100%;max-width:470px}.panel h1{font-size:35px}.panel .eyebrow{letter-spacing:2px}.steps{display:flex;gap:8px;margin:23px 0}.steps i{height:2px;flex:1;background:#ffffff18}.steps i.active{background:var(--pink)}.option{display:flex;align-items:center;justify-content:space-between;width:100%;background:#ffffff05;border:1px solid var(--line);border-radius:12px;padding:21px;text-align:left;color:white;margin:12px 0;transition:.2s}.option:hover{border-color:#ee73db;background:#e44ac00d;transform:translateX(3px)}.option strong{font-size:17px;font-weight:500;display:block}.option small{display:block;color:#ad9cb8;font-size:11px;margin-top:6px}.option .price{font-family:'Space Grotesk',sans-serif;font-size:21px;white-space:nowrap}.option .price small{font:10px 'DM Sans',sans-serif}.schedule{border:1px solid var(--line);border-radius:10px;margin:22px 0;overflow:hidden}.schedule summary{cursor:pointer;padding:16px;font-size:12px;color:#d4c6dc}.schedule .inside{padding:0 16px 15px}.price-row{display:flex;justify-content:space-between;font-size:12px;padding:10px 0;border-top:1px solid #ffffff12}.notice{font-size:11px;color:#bba6c6;line-height:1.7;border-left:2px solid #b84b9e;padding-left:12px;margin:22px 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:block;margin:15px 0}.form-grid .field{margin:0}.field span{display:block;font-size:11px;margin-bottom:8px;color:#d9cce1}.field input,.field select{width:100%;min-height:48px;background:#ffffff06;border:1px solid #ffffff25;border-radius:8px;color:#fff;padding:12px;outline:none}.field input:focus,.field select:focus{border-color:var(--pink)}.field input::placeholder{color:#84758f}.field option{background:#21142d}.check{display:flex;gap:10px;align-items:flex-start;font-size:11px;color:#c2b2ce;line-height:1.6;margin:16px 0}.check input{accent-color:#de5bc5;margin:3px 0;width:16px;height:16px;flex-shrink:0}.inline{border:0;padding:0;background:none;text-decoration:underline;color:#ecd5f5;font-size:inherit}.full{width:100%}.summary-box{background:#ffffff05;border:1px solid var(--line);padding:17px;border-radius:10px;margin:20px 0;font-size:12px;line-height:1.8}.summary-box b{font-weight:500}.error{color:#ffacbe;font-size:12px}.success{text-align:center}.success-icon{width:56px;height:56px;border:1px solid #e78fd9;border-radius:50%;display:grid;place-items:center;font-size:25px;color:#edafe6;margin:0 auto 25px}.ticket{background:#f3edf5;color:#211829;padding:25px;border-radius:14px;margin:25px 0;text-align:left}.ticket small{font-size:9px;letter-spacing:2px;color:#786682}.ticket h2{font:600 28px 'Space Grotesk';margin:10px 0}.ticket p{font-size:12px;line-height:1.8}.ticket-bottom{border-top:1px dashed #cdbbd2;padding-top:15px;display:flex;gap:20px;align-items:center}.qr-placeholder{width:78px;height:78px;border:2px dashed #ad91b7;display:grid;place-items:center;font-size:11px;text-align:center;color:#83658d;flex-shrink:0}.secondary{border:1px solid var(--line);border-radius:9px;color:#e5d7ee;background:#ffffff05;padding:14px;width:100%;font-size:12px;display:block;text-align:center}.photo-view{max-width:420px;margin:auto}.photo-view img{width:100%;border-radius:12px}dialog{background:#1a1025;border:1px solid #795389;color:white;border-radius:16px;width:calc(100% - 35px);max-width:510px;padding:35px;line-height:1.8}dialog::backdrop{background:#05010ccc;backdrop-filter:blur(6px)}dialog h2{font:500 26px 'Space Grotesk'}dialog p{font-size:13px;color:#c6b4d2}.close{position:absolute;right:14px;top:10px;background:none;color:white;border:0;font-size:26px}.fade{animation:enter .35s ease-out}@keyframes enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:650px){header{height:75px;padding:0 22px}.header-right{font-size:8px;letter-spacing:1px}.header-right .live-dot{display:none}.demo{margin-left:0}main{padding:30px 22px;min-height:calc(100svh - 165px)}footer{padding:20px 22px;flex-wrap:wrap;font-size:8px}footer>span:last-child{display:none}footer nav{gap:15px}.home .tagline{font-size:8px;letter-spacing:3.8px}.home .intro{font-size:13px}.wordmark{font-size:26vw;margin:27px 0 17px}.home-links{margin-bottom:48px}.event-layout{grid-template-columns:1fr;gap:25px}.poster{max-width:280px;margin:auto}.event-info h1{font-size:36px}.event-info .eyebrow{margin-top:10px}.topline{margin-bottom:23px}.panel h1{font-size:32px}.ring{width:720px;left:calc(50% - 360px)}.orb{width:75vw}.next{font-size:8px}.event-info .primary{width:100%}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.event-carousel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;outline-offset:5px}.event-carousel::-webkit-scrollbar{display:none}.event-slide{flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always;padding:4px}.future-slide{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px solid var(--line);border-radius:12px;background:#ffffff03;padding:35px}.future-slide h1{font:500 40px 'Space Grotesk',sans-serif;letter-spacing:-1px;margin-bottom:0}.future-slide .sub{max-width:390px}.carousel-controls{display:flex;justify-content:center;align-items:center;gap:25px;margin-top:24px}.carousel-arrow{width:48px;font-size:20px;padding:8px}.carousel-controls span{font-size:12px;color:var(--muted)}.carousel-hint{text-align:center}button:disabled{opacity:.4;cursor:not-allowed;transform:none!important;box-shadow:none!important}.primary:disabled{background:#c9bdcf}.event-carousel:focus-visible{outline:2px solid var(--pink)}
/* Default Italian prefix: the guest only needs to enter the phone number. */
.phone-field{display:flex;align-items:center;gap:10px;width:100%}.phone-field>span{flex:0 0 auto;color:#aaa}.phone-field>input{min-width:0;flex:1}.field select{width:100%;padding:14px;border-radius:8px;background:#19151f;color:#fff;border:1px solid #ffffff30;font:inherit}
.event-list{display:grid;gap:12px;margin:28px auto 0;max-width:520px;text-align:left}
.meta .address{display:block;margin-top:6px;letter-spacing:0;font-size:11px}
.phone-field{display:flex;gap:8px;align-items:center}
.phone-field>span{font-size:13px;color:#d9cce1;margin:0}
/* The QR large and centred under the name, as an image that can be kept pressed and saved; drawn at 480 px, shown at 240. */
.ticket-qr{margin:18px auto 6px;width:min(240px,100%)}
.ticket-qr img{display:block;width:100%;height:auto;aspect-ratio:1;background:#fff;border-radius:8px;image-rendering:pixelated}
.ticket .ticket-note{font-size:13px;line-height:1.6;text-align:center;margin:12px 0 0}
.ticket.over{opacity:.62}
.ticket .code{font-size:10px;color:#6c5b77;overflow-wrap:anywhere;margin-top:12px}
.ticket-actions{display:grid;gap:8px;margin-top:14px}
.ticket-actions .secondary{color:#211829;border-color:#cdbbd2;background:#fff}
.test-banner{background:#f6c675;color:#2b1a00;font-size:11px;font-weight:700;text-align:center;padding:9px 16px}
@media print{.ambient,header,footer,.ticket-actions,#print,.schedule,.back,.cta-bar{display:none!important}body{background:#fff;color:#111}.sub,.eyebrow,.success-icon{color:#333!important;border-color:#333}}
/* Birth date as day, month and year menus. */
.birth{border:0;padding:0;min-width:0}
.birth legend{display:block;font-size:11px;margin-bottom:8px;color:#d9cce1;padding:0}
.birth-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1.32fr) minmax(0,1fr);gap:8px}
/* Narrower inner spacing so «Giorno» and «settembre» fit, down to 320 px phones. */
.birth-grid select{padding:14px 6px 14px 10px}
@media(max-width:360px){.birth-grid select{font-size:15px;padding:14px 4px 14px 8px}}
/* Sizes that can be read and touched on a phone: footer, notes, checkboxes. */
footer nav{flex-wrap:wrap;gap:4px 18px}footer nav a,footer nav button{font-size:13px;padding:8px 0}
.check{font-size:13px}.fine{font-size:12px!important}.notice{font-size:13px}.meta small{font-size:10px}.option small{font-size:12px}
.notice a,.error a{text-decoration:underline}
/* Header: the shortcut to the saved QR codes; on phones it takes the place of the motto. */
.my-qr{border:1px solid #f45bda80;border-radius:20px;padding:7px 12px;font-size:11px;letter-spacing:1px;color:#fff;white-space:nowrap}
/* Event page: the QR saved on this phone, the table link. */
.mine{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid #8be3b880;background:#8be3b80d;border-radius:10px;padding:14px 16px;margin:0 0 16px;font-size:14px}
.mine span:last-child{white-space:nowrap;color:#bff2d8}
.table-link{display:block;margin:16px 0 0;font-size:13px;text-decoration:underline}
.cta-bar{display:none}
/* Legal texts: headings, links, a close button that stays at hand and one at the end. */
dialog p a{text-decoration:underline}
dialog .close{position:sticky;top:0;right:auto;z-index:1;display:block;margin:-22px -22px -18px auto;width:40px;height:40px;line-height:40px;padding:0;border-radius:50%;background:#1a1025}
dialog .close-bottom{margin-top:22px}
dialog.layer{position:fixed;inset:16px;margin:auto;max-height:calc(100% - 32px);overflow:auto;z-index:50}
dialog:not([open]){display:none}
/* /privacy and /condizioni: the general legal texts on a page of their own. */
.legal-page{max-width:680px}.legal-page p{color:#c6b4d2;font-size:14px;line-height:1.8}.legal-page p a{text-decoration:underline}
@media(max-width:650px){
 body.has-qr .motto{display:none}
 .cta-bar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:20;padding:14px 22px 18px;background:linear-gradient(#09070f00,#09070fee 32%);transition:transform .2s}
 .cta-bar.away{transform:translateY(120%)}
 .cta-bar .primary{width:100%}
 body.has-cta-bar footer{padding-bottom:110px}
}
