
html{background:#07061a}body{display:block;padding:0;background:#07061a;color:#fff;min-height:100svh;font-family:'DM Sans',sans-serif;font-weight:700}
#bg{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.win{position:fixed;inset:14px;z-index:1;border-radius:34px;overflow:hidden;pointer-events:none;background:radial-gradient(60% 90% at 0% 50%,rgba(219,57,132,.55),transparent 70%),radial-gradient(60% 90% at 100% 50%,rgba(209,219,58,.42),transparent 70%),radial-gradient(90% 55% at 50% 100%,rgba(68,156,219,.6),transparent 72%),radial-gradient(80% 40% at 50% 0%,rgba(130,80,230,.28),transparent 75%),rgba(8,6,26,.28);border:1px solid #ffffff29;box-shadow:0 0 0 100vmax #000}
.streak{position:absolute;width:1px;height:20vh;top:-22vh;opacity:.8;background:linear-gradient(180deg,transparent,var(--c),transparent);animation:fall linear infinite}
@keyframes fall{to{transform:translateY(135vh)}}
.access-header{position:relative;z-index:2;max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:44px 60px}
.access-brand{display:flex;align-items:center;gap:12px;color:white;text-decoration:none;font-weight:750;letter-spacing:-.04em;font-size:19px}.access-brand svg{width:44px;height:52px;flex-shrink:0}.access-home{font-size:13px;color:#e5e4f1;text-decoration:none;border:1px solid #ffffff38;padding:10px 18px;border-radius:100px}.access-home:hover{background:#ffffff12}
.access-layout{position:relative;z-index:2;max-width:1280px;min-height:calc(100svh - 140px);margin:auto;padding:32px 60px 90px;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:80px}
.access-intro .eyebrow{color:#c4c4d8;font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;margin:0 0 24px}.access-intro h1{font-size:clamp(44px,5.4vw,76px);line-height:1.08;font-weight:800;letter-spacing:-.035em;margin:0 0 28px}.access-intro>p:not(.eyebrow){font-size:17px;line-height:1.7;color:#c4c6d9;max-width:440px;margin:0 0 32px}.access-info{color:#fff;text-decoration:none;display:inline-flex;align-items:center;gap:22px;font-size:14px;font-weight:650;padding:12px 0;border-bottom:1px solid #ffffff45}
.wrap{max-width:450px;justify-self:end}.card{background:linear-gradient(145deg,#24213bba,#111323d9);border:1px solid #ffffff36;border-radius:26px;padding:38px 34px;backdrop-filter:blur(26px);-webkit-backdrop-filter:blur(26px);box-shadow:0 24px 80px #0005,inset 0 1px 0 #ffffff20;overflow:hidden}.card:before{height:2px;opacity:.85}.title{font-size:30px;line-height:1.15;margin-bottom:12px}.title em{color:#fff;background:none;-webkit-text-fill-color:initial}.subtitle{color:#c4c6d9;line-height:1.6;margin-bottom:28px}
label{color:#f5f5fc;font-size:13px}input{background:#090b1b73;border-color:#ffffff30;color:#fff;padding:15px 16px;min-height:52px}input::placeholder{color:#9399b4}input:focus{border-color:#65b9ef;box-shadow:0 0 0 3px #449cdb30}input:-webkit-autofill{-webkit-text-fill-color:#fff;box-shadow:0 0 0 1000px #222c45 inset}
.btn{background:linear-gradient(105deg,#b32585,#7250bf 50%,#399dde);box-shadow:0 8px 28px #db398422;margin-top:5px}.btn:hover{background:linear-gradient(105deg,#c12b94,#825bcf 50%,#48a9e5);box-shadow:0 10px 30px #449cdb30}.foot{color:#bfc3d7;font-size:12px;line-height:1.8;margin-top:24px}.foot a{color:#8fd3fa}.err{background:#54243a;color:#ffe1ed;border-color:#c25a8959}.access-caption{margin-top:28px;color:#aeb5cb;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
@media(max-width:950px){.access-layout{gap:36px;padding-inline:38px}.access-header{padding-inline:38px}.access-intro h1{font-size:54px}.card{padding:32px 26px}}
@media(max-width:700px){.win{inset:8px;border-radius:24px}.access-header{padding:28px 26px}.access-brand{font-size:15px;gap:8px}.access-brand svg{width:30px;height:38px}.access-home{font-size:11px;padding:8px 12px}.access-layout{grid-template-columns:1fr;padding:28px 26px 50px;gap:30px;min-height:auto}.access-intro{text-align:center}.access-intro h1{font-size:48px;margin-bottom:18px}.access-intro>p:not(.eyebrow){margin:0 auto 16px;font-size:15px}.access-intro .eyebrow{margin-bottom:18px}.wrap{justify-self:center;max-width:450px}.access-caption{display:none}.card{padding:30px 24px}.title{font-size:27px}}
@media(prefers-reduced-motion:reduce){.streak{display:none}.err.show{animation:none}}

.access-header{width:100%}

/* Tipografia unica bold per la pagina di accesso. */
.access-home,.access-info,.subtitle,.foot,.access-caption,label,input,.btn{font-family:inherit;font-weight:700}
.access-brand,.access-intro h1,.title{font-family:inherit;font-weight:800;font-style:normal}
