/* Contatti: form informativo sopra la piega, prenotazione distinta dal CRM. */
.contact-hero{position:relative;overflow:hidden;margin-top:10px;margin-bottom:clamp(40px,5vw,72px);padding:clamp(44px,5vw,74px) 0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.99) 36%,rgba(255,255,255,.93) 43%,rgba(255,255,255,.64) 50%,rgba(255,255,255,.2) 57%,rgba(255,255,255,0) 65%),linear-gradient(160deg,#EAF2FA,#D6E3EE);border:1px solid #CCD9E8;border-radius:30px}
.contact-hero::after{content:"";position:absolute;right:-11%;bottom:-40%;width:54vw;aspect-ratio:1;border:1px solid rgba(31,95,168,.09);border-radius:50%;box-shadow:0 0 0 38px rgba(31,95,168,.035),0 0 0 76px rgba(31,95,168,.025);pointer-events:none}
.contact-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(300px,.72fr) minmax(540px,1.28fr);gap:clamp(42px,6vw,84px);align-items:center;padding-inline:clamp(42px,5vw,72px)}
.contact-copy{padding:16px 0}
.contact-kicker{display:flex;align-items:center;gap:10px;margin:0 0 18px;color:var(--brand);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.contact-kicker span{width:9px;height:9px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 6px rgba(31,95,168,.1)}
.contact-copy h1{max-width:9ch;margin:0;color:var(--brand);font:600 clamp(54px,5.2vw,80px)/.94 var(--serif);letter-spacing:-.035em;text-wrap:balance}
.contact-intro{max-width:39ch;margin:27px 0 0;color:#4F647B;font-size:18px;line-height:1.65}
.contact-direct{display:grid;gap:12px;margin:28px 0 0;font-style:normal}
.contact-direct>a,.contact-direct>span{display:flex;align-items:center;gap:12px;width:fit-content;color:var(--brand);font-size:16px;font-weight:400;text-decoration:none}
.contact-direct>a:hover{text-decoration:underline;text-underline-offset:3px}
.contact-direct-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:var(--brand);background:#DCEAF7;font-size:16px;font-weight:800;flex:none}
.contact-essentials{display:grid;gap:14px;margin-top:28px;padding-top:24px;border-top:1px solid rgba(31,95,168,.16)}
.contact-essential-item{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;align-items:center}
.contact-essential-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:var(--brand);background:#DCEAF7;font-size:14px;font-weight:800}
.contact-icon-svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.contact-essential-item strong{display:block;margin:0 0 3px;color:var(--brand);font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.contact-essential-item p,.contact-map-link{margin:0;color:var(--ink);font-size:16px;font-weight:400;line-height:1.45}
.contact-map-link{display:inline-block;color:var(--brand);text-underline-offset:3px}
.contact-map-link:hover{text-decoration-thickness:2px}

.contact-form-column{position:relative;padding-left:clamp(34px,4.5vw,72px);border-left:1px solid rgba(31,95,168,.2)}
.contact-form-heading h2{margin:0;color:var(--brand);font:600 clamp(32px,3vw,44px)/1.05 var(--serif);letter-spacing:-.025em}
.contact-form-heading p{margin:7px 0 0;color:var(--ink-soft);font-size:15px}
.contact-form{display:grid;gap:17px;margin-top:24px}
.contact-field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-form label:not(.contact-privacy){display:grid;gap:7px;color:var(--brand);font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.contact-form label span b{color:#A64D22;font-size:13px}
.contact-form input:not([type="checkbox"]),.contact-form select,.contact-form textarea{width:100%;padding:12px 14px;color:var(--ink);background:#fff;border:1px solid #BFCFDF;border-radius:7px;font:500 15px/1.35 var(--sans);letter-spacing:0;text-transform:none;transition:border-color .18s,box-shadow .18s}
.contact-form input:not([type="checkbox"]),.contact-form select{min-height:48px}
.contact-form textarea{min-height:128px;resize:vertical}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px rgba(31,95,168,.14)}
.contact-form-message{margin:20px 0 0;padding:12px 14px;border-radius:9px;font-size:14px;line-height:1.5}
.contact-form-message.is-success{color:#165B3A;background:#E7F5ED;border:1px solid #B6DEC6}
.contact-form-message.is-error{color:#7A321D;background:#FFF0E9;border:1px solid #E8C3B3}
.contact-privacy{display:flex;align-items:flex-start;gap:10px;color:var(--ink);font-size:13px;line-height:1.45}
.contact-privacy input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--brand);flex:none}
.contact-privacy a{color:var(--brand);font-weight:700;text-underline-offset:3px}
.contact-health-note{display:flex;align-items:center;gap:8px;margin:-6px 0 0;color:#66798D;font-size:12.5px;line-height:1.45}
.contact-health-note span{display:grid;place-items:center;width:18px;height:18px;border:1px solid #8AA3BC;border-radius:50%;color:var(--brand);font-size:11px;font-weight:800;flex:none}
.contact-form-submit{display:flex;justify-content:flex-end;margin-top:-2px}
.contact-form-submit .button{gap:18px;min-width:198px;border:0;cursor:pointer}
.contact-form-submit .button span{font-size:18px}
.contact-honeypot{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important;white-space:nowrap!important}

@media(max-width:1060px){
  .contact-hero-grid{grid-template-columns:minmax(260px,.7fr) minmax(480px,1.3fr);gap:34px}
}
@media(max-width:860px){
  .contact-hero{padding-top:32px;background:linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.92) 48%,rgba(255,255,255,.38) 74%,rgba(255,255,255,0) 100%),linear-gradient(90deg,rgba(255,255,255,.92) 0%,rgba(255,255,255,.55) 42%,rgba(255,255,255,.12) 78%,rgba(255,255,255,0) 100%),linear-gradient(160deg,#EAF2FA,#D6E3EE)}.contact-hero-grid{grid-template-columns:1fr;gap:30px}.contact-copy{padding:0}.contact-copy h1{max-width:12ch;font-size:clamp(48px,10vw,68px)}.contact-intro{max-width:52ch}.contact-form-column{padding:32px 0 0;border-top:1px solid rgba(31,95,168,.2);border-left:0}
}
@media(max-width:620px){
  .contact-page{padding-top:0}.contact-hero{width:calc(100% - 16px);padding-block:26px 30px;border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.94) 36%,rgba(255,255,255,.45) 60%,rgba(255,255,255,.18) 86%,rgba(255,255,255,0) 100%),linear-gradient(90deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.56) 44%,rgba(255,255,255,0) 76%),linear-gradient(160deg,#EAF2FA,#D6E3EE)}.contact-hero-grid{padding-inline:20px}.contact-copy h1{font-size:46px}.contact-intro{font-size:16px}.contact-direct>a,.contact-direct>span,.contact-essential-item p,.contact-map-link{font-size:14px}.contact-essentials{gap:12px;margin-top:24px;padding-top:20px}.contact-form-column{padding-top:24px}.contact-field-row{grid-template-columns:1fr;gap:17px}.contact-form-submit{justify-content:stretch}.contact-form-submit .button{width:100%}
}
@media(min-width:861px){.contact-hero{width:auto;margin-inline:clamp(16px,3vw,56px)}}
@media(prefers-reduced-motion:reduce){.contact-form input,.contact-form select,.contact-form textarea{transition:none}}
