html.contact-open{overflow:hidden;scroll-behavior:auto}html.contact-open body{position:fixed;width:100%;overflow:hidden}
#contact-overlay{--fg:#f4f1eb;--muted:#c5c1c9;box-sizing:border-box;position:fixed;inset:0;margin:auto;width:min(1080px,calc(100% - 64px));max-width:none;max-height:calc(100dvh - 64px);padding:0;border:1px solid rgb(255 255 255 / 20%);border-radius:16px;background:rgb(19 19 24 / 85%);color:var(--fg);backdrop-filter:blur(28px) saturate(120%);-webkit-backdrop-filter:blur(28px) saturate(120%);font:400 16px/1.55 Raleway,sans-serif;overflow:auto;overscroll-behavior:contain;scrollbar-color:#68636d transparent;outline:none}
#contact-overlay::backdrop{background:rgb(6 6 9 / 52%);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
#contact-overlay[open]{animation:contact-reveal .3s cubic-bezier(.16,1,.3,1)}
@keyframes contact-reveal{from{opacity:.6;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
#contact-overlay .contact-shell,.contact-inline .contact-shell{position:relative;display:grid;grid-template-columns:.85fr 1.2fr;gap:55px;padding:64px 50px 42px}
#contact-overlay .contact-close{position:absolute;right:17px;top:17px;width:44px;height:44px;display:grid;place-items:center;background:rgb(255 255 255 / 7%);border:1px solid rgb(255 255 255 / 22%);border-radius:50%;color:#f4f1eb;padding:10px;cursor:pointer}
#contact-overlay svg,.contact-inline svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;flex:none}
#contact-overlay .contact-close:hover{background:rgb(255 255 255 / 16%)}
#contact-overlay .contact-intro h2,.contact-inline .contact-intro h2{font:750 clamp(35px,3.5vw,49px)/1.07 Montserrat,sans-serif;letter-spacing:-.045em!important;text-wrap:balance;margin:0;color:#f4f1eb}
#contact-overlay .contact-intro>p,.contact-inline .contact-intro>p{color:#c5c1c9;font-size:17px;line-height:1.7;max-width:300px;margin:25px 0 40px}
#contact-overlay .contact-email,.contact-inline .contact-email{display:inline-flex;align-items:center;gap:14px;font-size:15px;color:#f4f1eb;text-decoration:none;border-bottom:1px solid #6c6670;padding-bottom:9px;overflow-wrap:anywhere}
#contact-overlay .contact-fields,.contact-inline .contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:21px 20px;margin:0;min-width:0}
#contact-overlay .contact-field,.contact-inline .contact-field{display:flex;flex-direction:column;gap:8px;min-width:0}.contact-field-wide{grid-column:1/-1}
#contact-overlay label,.contact-inline label{font-size:13px;color:#f4f1eb;font-weight:500}#contact-overlay label span,.contact-inline label span{font-size:11px;color:#b8b3bd;margin-left:5px}
#contact-overlay input,#contact-overlay select,#contact-overlay textarea,.contact-inline input,.contact-inline select,.contact-inline textarea{box-sizing:border-box;display:block;width:100%;min-width:0;border:1px solid #69636f;border-radius:5px;padding:11px 13px;background:rgb(255 255 255 / 4%);color:#f4f1eb;font:400 16px/1.5 Raleway,sans-serif;caret-color:#ff657d;min-height:47px;color-scheme:dark}
#contact-overlay option,.contact-inline option{background:#202025;color:#f4f1eb}#contact-overlay textarea,.contact-inline textarea{min-height:112px;resize:vertical}
#contact-overlay :is(input,select,textarea):focus,.contact-inline :is(input,select,textarea):focus{outline:2px solid #f4f1eb;outline-offset:3px;border-color:transparent}
#contact-overlay :is(a,button):focus-visible,.contact-inline :is(a,button):focus-visible{outline:2px solid #f4f1eb;outline-offset:5px}
#contact-overlay .contact-intro h2:focus,.contact-inline .contact-intro h2:focus{outline:none}
#contact-overlay .contact-submit-row,.contact-inline .contact-submit-row{display:flex;flex-direction:column;align-items:start;gap:12px;margin-top:1px}
#contact-overlay .contact-submit,.contact-inline .contact-submit{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;background:#cc1731;border:0;border-radius:5px;color:#fff;font:600 15px/1.3 Raleway,sans-serif;min-height:54px;padding:16px 23px;cursor:pointer}
#contact-overlay .contact-submit:hover,.contact-inline .contact-submit:hover{background:#e2203d}#contact-overlay .contact-submit-row p,.contact-inline .contact-submit-row p{font-size:12px;line-height:1.55;color:#b8b3bd;margin:0}
#contact-overlay .contact-status,.contact-inline .contact-status{font-size:13px;color:#f4f1eb;line-height:1.6;margin:0}#contact-overlay .contact-status:empty,.contact-inline .contact-status:empty{display:none}
@media(max-width:900px){#contact-overlay .contact-shell,.contact-inline .contact-shell{gap:30px;padding:62px 32px 35px;grid-template-columns:.8fr 1.2fr}#contact-overlay .contact-intro h2,.contact-inline .contact-intro h2{font-size:36px}#contact-overlay .contact-email,.contact-inline .contact-email{font-size:13px}}
@media(max-width:640px){#contact-overlay{width:calc(100% - 24px);max-height:calc(100dvh - 24px);border-radius:14px}#contact-overlay .contact-shell,.contact-inline .contact-shell{display:block;padding:65px 24px 30px}#contact-overlay .contact-close{top:12px;right:12px}#contact-overlay .contact-intro h2,.contact-inline .contact-intro h2{font-size:36px;text-wrap:initial}#contact-overlay .contact-intro>p,.contact-inline .contact-intro>p{font-size:15px;margin:18px 0 20px;max-width:none}#contact-overlay .contact-email,.contact-inline .contact-email{font-size:14px;margin-bottom:30px}#contact-overlay .contact-fields,.contact-inline .contact-fields{grid-template-columns:1fr;gap:18px}#contact-overlay .contact-submit,.contact-inline .contact-submit{width:100%;margin-top:3px}#contact-overlay .contact-submit-row p,.contact-inline .contact-submit-row p{font-size:12px}}
@media(prefers-reduced-motion:reduce){#contact-overlay[open]{animation:none}}

/* Nuovo sito: consenso, newsletter, Turnstile e honeypot nel modulo vero. */
#contact-overlay .contact-check,.contact-inline .contact-check{display:flex;align-items:flex-start;gap:12px;font-size:13px;line-height:1.55;color:#c5c1c9;font-weight:400;cursor:pointer}
#contact-overlay .contact-check input,.contact-inline .contact-check input{width:18px;height:18px;min-height:0;margin:2px 0 0;padding:0;flex:none;accent-color:#cc1731;border-radius:3px}
#contact-overlay .contact-check a,.contact-inline .contact-check a{color:#f4f1eb;text-decoration:underline;text-underline-offset:3px}
#contact-overlay .contact-hp,.contact-inline .contact-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
#contact-overlay .contact-turnstile,.contact-inline .contact-turnstile{min-height:65px}
#contact-overlay .contact-submit:disabled,.contact-inline .contact-submit:disabled{opacity:.6;cursor:progress}

/* Lo stesso modulo in pagina (/contatti). */
.contact-inline{color:#f4f1eb}
.contact-inline .contact-shell{padding:56px 50px 42px;border:1px solid rgb(255 255 255 / 14%);border-radius:16px;background:#131318}
.contact-inline .contact-place{color:#c5c1c9;font-size:14px;margin-top:22px}
.contact-inline .contact-note{color:#b8b3bd;font-size:13px;line-height:1.6;margin-top:22px;max-width:320px}
@media(max-width:900px){.contact-inline .contact-shell{grid-template-columns:1fr;gap:30px;padding:40px 24px 30px}.contact-inline .contact-fields{grid-template-columns:1fr}}

/* Telefono: il modulo sta in una schermata sola, senza scorrere (Francesco, 30/09/2026).
   Titolo su una riga, niente intro ed email (l'email resta nel footer), Azienda e Telefono affiancati,
   messaggio su due righe. I campi restano a 16px: sotto, iOS ingrandisce la pagina al tocco. */
@media(max-width:640px){
#contact-overlay{inset:0;width:100%;height:100dvh;max-height:100dvh;margin:0;border:0;border-radius:0}
#contact-overlay .contact-shell{padding:14px 16px calc(6px + env(safe-area-inset-bottom))}
#contact-overlay .contact-close{top:10px;right:10px;width:38px;height:38px;padding:8px}
#contact-overlay .contact-intro h2{font-size:24px;line-height:1.15;padding-right:48px;min-height:38px;display:flex;align-items:center}
#contact-overlay .contact-intro h2 br{display:none}
#contact-overlay .contact-intro>p,#contact-overlay .contact-email{display:none}
#contact-overlay .contact-fields{grid-template-columns:1fr 1fr;gap:8px 10px;margin-top:10px}
#contact-overlay .contact-field{gap:3px}
#contact-overlay .contact-field:nth-child(1),#contact-overlay .contact-field:nth-child(2){grid-column:1/-1}
#contact-overlay label{font-size:12px}
#contact-overlay label span{font-size:10px;margin-left:3px}
#contact-overlay input,#contact-overlay select,#contact-overlay textarea{min-height:40px;padding:7px 11px;line-height:1.4}
#contact-overlay textarea{min-height:56px;height:56px;resize:none}
#contact-overlay .contact-check{font-size:11.5px;line-height:1.4;gap:9px}
#contact-overlay .contact-check input{width:16px;height:16px;margin-top:1px}
#contact-overlay .contact-submit-row{flex-direction:row;align-items:center;gap:12px}
#contact-overlay .contact-submit{width:auto;flex:none;min-height:44px;padding:11px 16px;gap:18px;margin:0}
#contact-overlay .contact-submit-row p{font-size:11px;line-height:1.35}
}
