/* Pagina contatti NDC — indipendente dagli stili della homepage. */
.contacts-page{--contact-ink:#0b2d49;--contact-muted:#59748a;--contact-line:#d6e6ee;--contact-bright:#a0dafa;background:#f6fafc;color:var(--contact-ink)}
.contacts-page [hidden]{display:none!important}
.contacts-page main{position:relative;z-index:1;pointer-events:auto;display:block}
.contacts-page main a,.contacts-page main button{pointer-events:auto}
.contacts-page svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.contacts-page a{text-decoration:none}
.contacts-page .path-head{z-index:100}
.contacts-page .path-nav a[aria-current=page],.contacts-page .path-menu a[aria-current=page]{color:#1178a6}
.contacts-page .path-nav .path-nav-cta{background:#0b3857;color:#fff;border-color:#0b3857}
.contacts-page .path-nav .path-nav-cta:hover{color:#fff;background:#185a7e}
.contact-page-hero{min-height:635px;position:relative;overflow:hidden;color:#f3faff;background:radial-gradient(ellipse 72% 112% at 92% 54%,#17476b 0%,#092a4b 59%,#061d35 100%);padding:clamp(52px,6vw,90px) clamp(22px,8vw,140px) 42px;isolation:isolate}
.contact-page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,rgba(147,209,244,.06) 100%);pointer-events:none}
.contact-hero-content{max-width:1240px;margin:0 auto;position:relative;z-index:2}
.contact-crumb{display:flex;align-items:center;gap:14px;font:700 10px/1.4 'DM Sans',sans-serif;letter-spacing:.19em;color:#9dc7e0;margin-bottom:clamp(60px,7vw,106px)}
.contact-crumb a{color:#ccdfed;transition:color .2s}.contact-crumb a:hover{color:white}
.contact-hero-kicker{display:flex;align-items:center;gap:13px;color:#9dd6f5;font-size:10px;font-weight:700;letter-spacing:.24em;margin-bottom:23px}
.contact-hero-kicker i{width:25px;height:1px;background:#91cbea;display:block}
.contact-page-hero h1{font:300 clamp(49px,6.8vw,100px)/1.045 Manrope,'DM Sans',sans-serif;letter-spacing:-.064em;margin:0 0 29px;max-width:1000px}
.contact-page-hero h1 em,.contact-last-section h2 em{font-style:normal;color:#9bd6f5}
.contact-page-hero p{max-width:545px;font:400 clamp(15px,1.3vw,18px)/1.75 'DM Sans',sans-serif;color:#c0d7e7;margin:0}
.contact-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:40px}
.contact-hero-button{display:inline-flex;align-items:center;justify-content:space-between;gap:33px;min-height:54px;padding:14px 20px 14px 22px;border-radius:100px;font:700 11px/1.3 'DM Sans',sans-serif;letter-spacing:.09em;transition:transform .2s,background .2s,border-color .2s}
.contact-hero-button svg,.contact-direction-button svg,.contact-load-map svg{width:20px;height:20px;flex:none}
.contact-hero-button-primary{color:#092e49;background:#d8f0fc;border:1px solid #d8f0fc}.contact-hero-button-primary:hover{background:#fff;transform:translateY(-2px)}
.contact-hero-button-outline{color:#e6f6ff;border:1px solid #82acca;background:rgba(255,255,255,.03)}.contact-hero-button-outline:hover{background:rgba(255,255,255,.12);transform:translateY(-2px)}
.contact-hero-deco{position:absolute;right:-165px;top:8%;height:680px;width:680px;opacity:.67;z-index:0;pointer-events:none}
.contact-hero-deco span{position:absolute;inset:0;border:1px solid rgba(179,224,251,.21);border-radius:50%}.contact-hero-deco span:nth-child(2){inset:83px}.contact-hero-deco span:nth-child(3){inset:175px}
.contact-hero-side{display:flex;align-items:center;gap:18px;transform:rotate(-90deg) translateY(-50%);transform-origin:right center;position:absolute;right:34px;top:51%;color:#a2cce4;font-size:10px;font-weight:700;letter-spacing:.28em;opacity:.65;pointer-events:none}.contact-cross{font-size:26px;font-weight:300}
.contact-hero-bottom{position:relative;z-index:1;max-width:1240px;margin:82px auto 0;display:flex;justify-content:space-between;gap:20px;border-top:1px solid #c6e2f433;padding-top:20px;color:#a1c9e0;font-size:10px;font-weight:600;letter-spacing:.14em}.contact-hero-bottom b{font-size:16px;margin-left:12px}
.contact-container{max-width:1280px;margin-inline:auto;width:calc(100% - clamp(40px,12vw,240px))}
.contact-page-section{background:#f7fbfe;padding:clamp(82px,9vw,137px) 0 clamp(85px,9vw,134px)}
.contact-section-top{display:grid;grid-template-columns:.47fr 1fr;gap:40px;align-items:start;margin-bottom:53px}
.contact-kicker,.contact-section-top .contact-kicker{font:700 10px/1.5 'DM Sans',sans-serif;letter-spacing:.2em;color:#317ea7;white-space:normal}.contact-section-top .contact-kicker{padding-top:13px}
.contact-section-top h2,.contact-location-title h2{font:400 clamp(40px,5vw,70px)/1.11 Manrope,sans-serif;letter-spacing:-.055em;color:#103652;margin:0 0 20px}.contact-section-top h2 em,.contact-location-title h2 em{font-style:normal;color:#3b89b2;font-weight:300}
.contact-section-top p,.contact-location-title p{font:400 15px/1.82 'DM Sans',sans-serif;color:#647c8c;max-width:520px;margin:0}
.contact-channels{border-top:1px solid #cadde8}
.contact-channel{display:grid;grid-template-columns:64px minmax(0,1fr) 33px;align-items:center;gap:22px;border-bottom:1px solid #cadde8;padding:25px 12px 26px 0;color:#113950;transition:background .2s,padding .2s}
.contact-channel:hover{background:#ecf6fb;padding-left:12px}
.contact-channel-icon{width:62px;height:62px;display:grid;place-items:center;border-radius:50%;border:1px solid #b9d4e5;color:#3386b4;background:#eaf5fc}.contact-channel-icon svg{width:25px;height:25px}
.contact-channel-body{display:flex;flex-direction:column;gap:6px;min-width:0}
.contact-channel-kicker{font-size:10px;letter-spacing:.2em;font-weight:700;color:#4884a7}
.contact-channel-body strong{font:500 clamp(23px,2.8vw,36px)/1.27 Manrope,sans-serif;letter-spacing:-.045em;color:#0d334f;overflow-wrap:anywhere}
.contact-channel-body strong.contact-email-long{font-size:clamp(16px,2.35vw,30px);letter-spacing:-.04em}
.contact-channel-body small{font:400 13px/1.65 'DM Sans',sans-serif;color:#6b8798}
.contact-channel-arrow{display:grid;place-items:center;width:34px;height:34px;border:1px solid #bfd8e6;border-radius:50%;font-size:18px;color:#2379a5;transition:background .2s,transform .2s}.contact-channel:hover .contact-channel-arrow{background:#d7effb;transform:translate(2px,-2px)}
.contact-location{background:#eaf3f8;padding:clamp(80px,9vw,124px) 0 clamp(93px,9vw,138px)}
.contact-location-title{margin-bottom:50px}.contact-location-title .contact-kicker{display:block;margin-bottom:20px}.contact-location-title h2{margin-bottom:19px}
.contact-location-layout{display:grid;grid-template-columns:minmax(315px,.73fr) minmax(0,1.27fr);min-height:580px;background:#fff;border:1px solid #d7e6ed;box-shadow:0 28px 70px rgba(13,53,78,.08);overflow:hidden;border-radius:5px}
.contact-location-info{padding:clamp(27px,4vw,57px) clamp(26px,3.5vw,46px);display:flex;flex-direction:column;align-items:flex-start}
.contact-info-eyebrow{font-size:10px;letter-spacing:.22em;font-weight:700;color:#4088b0}
.contact-location-pin{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:#edf7fc;border:1px solid #d1e5f0;color:#367fa8;margin-top:36px;margin-bottom:25px}.contact-location-pin svg{width:30px;height:30px}
.contact-location-info h3{font:400 clamp(28px,2.6vw,38px)/1.12 Manrope,sans-serif;letter-spacing:-.055em;margin:0 0 13px;color:#123950}
.contact-location-info address{font-style:normal;font-size:16px;line-height:1.78;color:#6b8697}
.contact-location-line{width:100%;height:1px;background:#d7e7ef;margin:29px 0}
.contact-direction-button{display:inline-flex;align-items:center;justify-content:space-between;gap:23px;max-width:100%;width:100%;background:#0e3d5e;color:white;padding:16px 19px;border-radius:4px;font-size:12px;font-weight:700;letter-spacing:.05em;transition:background .2s}.contact-direction-button:hover{background:#195e82;color:white}
.contact-location-link{margin-top:19px;font-size:13px;font-weight:700;color:#297ba8;transition:color .2s}.contact-location-link:hover{color:#084d78}
.contact-location-info .contact-location-tip{font-size:12px;line-height:1.7;color:#7a93a1;margin:45px 0 0}
.contact-map-shell{min-width:0;min-height:575px;position:relative;overflow:hidden;background:#0b2b47;isolation:isolate}
.contact-map-placeholder{height:100%;width:100%;min-height:575px;background:radial-gradient(ellipse at 70% 42%,#1f5376,#0a304f 61%,#06243f);display:grid;place-items:center;position:relative;overflow:hidden}
.contact-map-grid{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(186,229,255,.08) 1px,transparent 1px),linear-gradient(0deg,rgba(186,229,255,.08) 1px,transparent 1px);background-size:65px 65px;transform:rotate(-16deg) scale(1.6);opacity:.65}
.contact-map-grid:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 55% 42%,transparent 0 15%,#082440 73%)}
.contact-map-target{position:absolute;top:26%;left:62%;width:180px;height:180px;border-radius:50%;border:1px solid #b6e6ff55;display:grid;place-items:center;box-shadow:0 0 0 56px rgba(194,234,255,.06),0 0 0 115px rgba(194,234,255,.035)}
.contact-map-target>span{width:73px;height:73px;border-radius:50%;background:#ecf9ff;color:#0a4469;display:grid;place-items:center;box-shadow:0 18px 45px #051c3099}.contact-map-target svg{width:33px;height:33px}
.contact-map-prompt{position:absolute;bottom:36px;left:36px;right:32px;max-width:410px;background:rgba(6,32,53,.89);border:1px solid #a0cfe453;backdrop-filter:blur(10px);padding:27px 29px 26px;color:#fff;z-index:2}
.contact-map-tag{font-size:10px;font-weight:700;letter-spacing:.17em;color:#8cc7e8}
.contact-map-prompt h3{font:400 clamp(27px,3vw,38px)/1.12 Manrope,sans-serif;letter-spacing:-.047em;margin:13px 0 9px;color:#fff}
.contact-map-prompt p{color:#bad3e2;font:400 13px/1.65 'DM Sans',sans-serif;margin:0 0 20px}
.contact-load-map{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;max-width:255px;min-height:47px;border:0;border-radius:3px;background:#d8f2ff;color:#0b344e;padding:12px 16px;cursor:pointer;font:700 11px/1.4 'DM Sans',sans-serif;letter-spacing:.045em;transition:background .2s}.contact-load-map:hover{background:white}
.contact-map-prompt small{display:block;font-size:10px;line-height:1.6;color:#a8c7d9;margin-top:16px}.contact-map-prompt small a{color:#ddf4ff;text-decoration:underline}
.contact-map-shell iframe{border:0;width:100%;height:100%;min-height:575px;position:absolute;inset:0;z-index:3;background:#f8fbfd}
.contact-map-corner{position:absolute;z-index:2;top:25px;left:26px;color:#cee6f5;font-size:10px;font-weight:600;letter-spacing:.14em;pointer-events:none}
.contact-last-section{background:#072540;color:white;padding:clamp(70px,8vw,111px) 0}
.contact-last-inner{display:flex;justify-content:space-between;align-items:center;gap:45px}
.contact-last-section .contact-kicker{color:#8bc7e7}.contact-last-section h2{font:300 clamp(33px,4.1vw,56px)/1.17 Manrope,sans-serif;letter-spacing:-.05em;margin:16px 0 18px}.contact-last-section p{font-size:14px;line-height:1.8;color:#bbd1df;margin:0;max-width:510px}
.contact-last-inner>a{display:flex;align-items:center;justify-content:space-between;gap:27px;color:#082c48;background:#e8f7fe;border-radius:3px;padding:22px 26px;min-width:275px;font-size:12px;font-weight:700;transition:background .2s,transform .2s}.contact-last-inner>a:hover{background:#fff;transform:translateY(-3px)}.contact-last-inner>a span{font-size:23px}
.contacts-page .contact-page-footer{flex-wrap:wrap;gap:18px 26px;padding-bottom:100px}.contact-footer-caption{font-size:10px;color:#83a9c0;flex-basis:100%;margin-top:8px}
.contacts-page .booking-dock{z-index:95}
.contacts-page a:focus-visible,.contacts-page button:focus-visible,.contacts-page summary:focus-visible{outline:3px solid #4ba7d5;outline-offset:4px}
@media(max-width:1100px){.contact-hero-side{display:none}.contact-hero-deco{right:-320px}.contact-container{width:calc(100% - 84px)}.contact-location-layout{grid-template-columns:minmax(270px,.8fr) minmax(0,1.2fr)}}
@media(max-width:800px){.contact-page-hero{min-height:0}.contact-section-top{grid-template-columns:1fr;gap:20px}.contact-section-top .contact-kicker{padding-top:0}.contact-location-layout{grid-template-columns:1fr}.contact-map-shell,.contact-map-placeholder,.contact-map-shell iframe{min-height:475px}.contact-location-info{padding:42px}.contact-last-inner{align-items:flex-start;flex-direction:column}.contact-last-inner>a{min-width:min(100%,315px)}}
@media(max-width:600px){.contact-container{width:calc(100% - 42px)}.contact-page-hero{padding:41px 23px 26px}.contact-crumb{margin-bottom:75px}.contact-page-hero h1{font-size:clamp(43px,11.6vw,63px)}.contact-hero-deco{height:470px;width:470px;right:-320px;top:8%;opacity:.4}.contact-hero-bottom{margin-top:80px;font-size:8px;letter-spacing:.1em}.contact-hero-bottom>span:last-child{display:none}.contact-hero-actions{flex-direction:column;align-items:stretch;margin-top:28px}.contact-hero-button{width:100%;justify-content:space-between}.contact-page-section{padding:75px 0 92px}.contact-section-top{margin-bottom:29px}.contact-section-top h2,.contact-location-title h2{font-size:clamp(34px,9.5vw,48px)}.contact-channel{grid-template-columns:45px minmax(0,1fr) 21px;gap:12px;padding:22px 0}.contact-channel-icon{width:44px;height:44px}.contact-channel-icon svg{width:21px;height:21px}.contact-channel-arrow{width:24px;height:24px;border:0;font-size:17px}.contact-channel-body strong{font-size:clamp(20px,5.8vw,26px)}.contact-channel-body strong.contact-email-long{font-size:clamp(14px,3.65vw,19px);overflow-wrap:anywhere}.contact-channel-body small{font-size:11px}.contact-location{padding:70px 0 85px}.contact-location-title{margin-bottom:33px}.contact-location-info{padding:33px 25px}.contact-location-pin{margin-top:22px}.contact-location-info .contact-location-tip{margin-top:32px}.contact-map-shell,.contact-map-placeholder,.contact-map-shell iframe{min-height:480px}.contact-map-target{left:62%;top:21%;width:100px;height:100px;box-shadow:0 0 0 36px #c2eaff0c,0 0 0 70px #c2eaff08}.contact-map-target>span{width:52px;height:52px}.contact-map-target svg{width:25px;height:25px}.contact-map-prompt{left:17px;right:17px;bottom:18px;padding:23px 19px}.contact-map-corner{top:15px;left:17px}.contact-last-section{padding:70px 0}.contact-last-section h2{font-size:clamp(33px,8.4vw,45px)}.contact-last-inner>a{width:100%;min-width:0}.contacts-page .contact-page-footer{padding-bottom:105px}}
@media(prefers-reduced-motion:reduce){.contact-hero-button,.contact-channel,.contact-channel-arrow,.contact-direction-button,.contact-last-inner>a{transition:none}}
