/* TouchPrint V6 · contatti e richiamo storico · palette ufficiale */
:root{--tp6-navy:#0C2D67;--tp6-blue:#0F64E2;--tp6-cyan:#19B8F2;--tp6-coral:#FF6A61;--tp6-gold:#F4B517}
.tp-contacts-section{position:relative;isolation:isolate;margin-top:14px;margin-bottom:75px;scroll-margin-top:130px}
.tp-contacts-head{display:grid;grid-template-columns:1fr minmax(280px,0.7fr);gap:30px;align-items:end;margin-bottom:26px}
.tp-contacts-eyebrow{display:block;color:var(--tp6-blue);font-size:11px;font-weight:900;letter-spacing:.16em}
.tp-contacts-head h2{margin:10px 0 0;color:var(--tp6-navy);font-weight:900;font-size:clamp(38px,4vw,55px);letter-spacing:-.063em;line-height:1.1}
.tp-contacts-head h2 span{color:var(--tp6-blue)}
.tp-contacts-head p{max-width:535px;margin:0;color:#536985;font-size:14px;line-height:1.7}
.tp-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.tp-contact-card{display:flex;gap:18px;align-items:center;min-width:0;min-height:114px;position:relative;overflow:hidden;background:#fff;border:1px solid #dbe6f3;border-radius:17px;padding:20px 24px;box-shadow:0 15px 38px #0C2D6709;transition:transform .2s,box-shadow .2s,border-color .2s;text-decoration:none!important}
.tp-contact-card:before{content:'';position:absolute;inset:0 auto 0 0;width:4px;background:var(--tp6-blue)}
.tp-contact-card--wa:before{background:#18a97f}
.tp-contact-card:hover{transform:translateY(-3px);box-shadow:0 25px 50px #0C2D6716;border-color:#b3cbea}
.tp-contact-icon{width:53px;height:53px;flex:0 0 53px;display:grid;place-items:center;background:#edf5ff;color:var(--tp6-blue);border:1px solid #dceaf7;border-radius:15px}
.tp-contact-card--wa .tp-contact-icon{background:#e8faf3;border-color:#c5edda;color:#148b66}
.tp-contact-icon svg{width:25px;height:25px}
.tp-contact-card-body{display:flex;flex-direction:column;gap:3px;min-width:0}
.tp-contact-card-body small{font-size:10px;color:#59779b;letter-spacing:.11em;font-weight:900}
.tp-contact-card-body strong{font-size:clamp(16px,1.65vw,22px);font-weight:850;letter-spacing:-.025em;line-height:1.28;color:var(--tp6-navy);overflow-wrap:anywhere}
.tp-contact-card-body em{font-size:12px;font-style:normal;color:#617a95}
.tp-contact-arrow{font-size:21px;margin-left:auto;color:#7c9aba;align-self:center}
.tp-social-strip{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:21px 22px;margin-top:16px;border:1px solid #d8e6f4;border-radius:17px;background:linear-gradient(110deg,#f3f8ff,#fff);min-width:0}
.tp-social-intro{display:flex;flex-direction:column;gap:5px;min-width:0;max-width:320px}
.tp-social-intro strong{font-size:18px;letter-spacing:-.025em;color:var(--tp6-navy)}
.tp-social-intro span{font-size:12px;color:#62809a;line-height:1.5}
.tp-social-links{display:flex;align-items:stretch;gap:11px;flex-wrap:wrap;justify-content:flex-end}
.tp-social-link{display:flex;align-items:center;gap:10px;min-width:171px;background:white;border:1px solid #d9e6f5;border-radius:12px;padding:12px 13px;color:#0C2D67;text-decoration:none!important}
.tp-social-link:not(.tp-social-link--soon):hover{border-color:#98b9e9;box-shadow:0 8px 22px #0C2D670e}
.tp-social-icon{width:34px;height:34px;display:grid;place-items:center;flex:0 0 34px;background:#edf5ff;border-radius:9px;color:#0F64E2}
.tp-social-icon svg{width:20px;height:20px}
.tp-social-icon--linkedin{font-size:15px;font-weight:950;letter-spacing:-.04em}
.tp-social-link>span:nth-child(2){display:flex;flex-direction:column;gap:1px;flex:1}
.tp-social-link b{font-size:12px;font-weight:850}
.tp-social-link small{font-size:10px;color:#647f9d}
.tp-social-link>span:last-child:not(.tp-social-soon){font-size:14px;color:#628cbd}
.tp-social-link--soon{background:#f9fbfe;border-style:dashed;color:#516681;cursor:default}
.tp-social-soon{font-size:9px!important;font-weight:900;letter-spacing:.08em;color:#6e849f;background:#eaf0f8;padding:4px 6px;border-radius:4px;white-space:nowrap}
.tp-site-footer{background:#0C2D67!important;color:#fff;border:0!important;padding-top:55px!important;position:relative;overflow:hidden}
.tp-site-footer:before,.tp-subfooter:before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#19B8F2 0 25%,#FF6A61 25% 50%,#F4B517 50% 75%,#0F64E2 75%)}
.tp-footer-main{display:grid;grid-template-columns:1.3fr .8fr 1fr;gap:50px;padding-bottom:45px}
.tp-footer-brand img{width:180px;height:auto;max-width:100%;object-fit:contain;background:white;border-radius:8px;padding:6px 10px}
.tp-footer-brand strong{display:block;font-weight:850;font-size:19px;margin-top:19px}
.tp-footer-brand p{max-width:350px;color:#bed4ef;line-height:1.8;font-size:12px;margin:10px 0 0}
.tp-footer-nav,.tp-footer-reach{display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.tp-footer-nav>span,.tp-footer-reach>span{color:#8ce4fd;font-size:10px;font-weight:900;letter-spacing:.14em;margin-bottom:6px}
.tp-footer-nav a,.tp-footer-reach a{font-size:12px;color:#ebf3ff;text-decoration:none}
.tp-footer-nav a:hover,.tp-footer-reach a:hover{text-decoration:underline;text-underline-offset:4px}
.tp-footer-reach a{overflow-wrap:anywhere}
.tp-footer-social{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:14px;font-size:11px}
.tp-footer-social a{font-size:11px;color:#a7dff8}
.tp-footer-social span{font-size:11px;color:#a8bed9}
.tp-heritage{position:relative;display:grid;grid-template-columns:65px minmax(0,1fr) 130px;gap:23px;align-items:center;padding:25px 29px;border:1px solid #5d7eb47a;border-radius:17px;background:linear-gradient(110deg,#173d7e,#103268 65%,#123f79);overflow:hidden}
.tp-heritage:after{content:'.To';position:absolute;right:22%;top:-65px;font-size:170px;font-weight:950;letter-spacing:-.08em;color:#b4eaff;opacity:.033;pointer-events:none}
.tp-heritage-symbol{font-size:110px;align-self:start;line-height:.82;color:#36c5ff;font-family:Georgia,serif}
.tp-heritage-copy{position:relative;z-index:1;min-width:0}
.tp-heritage-label{font-size:10px;letter-spacing:.14em;color:#93e2fa;font-weight:900}
.tp-heritage blockquote{margin:7px 0 7px;font-size:clamp(18px,2.1vw,28px);font-weight:900;line-height:1.19;letter-spacing:-.025em;color:#fff;max-width:740px}
.tp-heritage-copy p{color:#c7d8f2;font-size:11px;line-height:1.7;max-width:670px;margin:0}
.tp-heritage-source{display:flex;flex-direction:column;align-items:flex-end;gap:2px;white-space:nowrap;text-align:right;font-size:17px;font-weight:800;color:#fff}
.tp-heritage-source span{display:block;font-size:24px;letter-spacing:.1em;font-weight:900;color:#F4B517}
.tp-footer-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px 0 25px!important;color:#b0c9e7;border-top:0!important;font-size:10px;margin-top:8px}
.tp-subfooter{background:#0C2D67;color:#fff;position:relative;padding:31px 0 0;isolation:isolate}
.tp-subfooter-wrap{width:min(1190px,calc(100% - 55px));margin:auto}
.tp-subfooter-bar{display:grid;grid-template-columns:280px 1fr;gap:30px;padding:0 0 23px;align-items:start}
.tp-subfooter-bar>div{display:flex;flex-direction:column;gap:5px}
.tp-subfooter-bar strong{font-size:16px;color:#fff}
.tp-subfooter-bar div span{font-size:12px;color:#b8cbe5}
.tp-subfooter-bar nav{display:flex;justify-content:flex-end;gap:8px 16px;align-content:center;align-items:center;flex-wrap:wrap;font-size:12px}
.tp-subfooter-bar nav a{color:#ecf6ff;text-decoration:none}
.tp-subfooter-bar nav a:hover{text-decoration:underline;text-underline-offset:3px}
.tp-subfooter-bar nav span{font-size:11px;color:#9ab5d6}
.tp-subfooter .tp-heritage{margin-top:5px}
.tp-subfooter-bottom{display:flex;justify-content:space-between;gap:20px;padding:17px 0 24px;color:#bbcfec;font-size:11px}
.tp-subfooter-bottom a{color:#d9e8ff;text-decoration:none}
.tp-subfooter a:focus-visible,.tp-contact-card:focus-visible,.tp-social-link:focus-visible{outline:3px solid #19B8F2;outline-offset:3px}
@media(max-width:1120px){.tp-social-strip{align-items:flex-start;flex-direction:column}.tp-social-links{justify-content:flex-start}.tp-footer-main{gap:25px}}
@media(max-width:850px){.tp-contacts-head{grid-template-columns:1fr;gap:14px}.tp-contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tp-contact-card{padding:16px;gap:10px}.tp-contact-icon{width:42px;height:42px;flex-basis:42px}.tp-contact-card-body strong{font-size:16px}.tp-footer-main{grid-template-columns:1fr 1fr;gap:28px}.tp-footer-brand{grid-column:1/-1}.tp-heritage{grid-template-columns:40px 1fr 100px;padding:21px 20px;gap:16px}.tp-heritage-symbol{font-size:78px}.tp-subfooter-bar{grid-template-columns:1fr;gap:16px}.tp-subfooter-bar nav{justify-content:flex-start}}
@media(max-width:600px){.tp-contacts-section{margin-bottom:45px;margin-top:0;scroll-margin-top:95px}.tp-contacts-head h2{font-size:36px}.tp-contacts-head p{font-size:12.5px}.tp-contact-grid{grid-template-columns:1fr;gap:10px}.tp-contact-card{min-height:95px;padding:15px 16px}.tp-contact-card-body strong{font-size:18px}.tp-social-strip{padding:17px;gap:16px}.tp-social-links{display:grid;grid-template-columns:1fr;gap:8px;width:100%}.tp-social-link{min-width:0;width:100%}.tp-footer-main{grid-template-columns:1fr 1fr;gap:20px}.tp-footer-brand{grid-column:1/-1}.tp-footer-nav a,.tp-footer-reach a{font-size:11px}.tp-footer-main{padding-bottom:25px}.tp-heritage{grid-template-columns:28px 1fr;gap:13px;padding:21px 15px}.tp-heritage-symbol{font-size:64px}.tp-heritage-copy blockquote{font-size:19px}.tp-heritage-source{grid-column:2;align-items:flex-start;font-size:13px;flex-direction:row;gap:9px;align-items:baseline}.tp-heritage-source span{font-size:17px}.tp-footer-bottom{flex-direction:column;align-items:flex-start;gap:6px}.tp-subfooter-wrap{width:calc(100% - 28px)}.tp-subfooter-bar nav{gap:9px 15px}.tp-subfooter-bottom{flex-direction:column;gap:5px}}
@media(prefers-reduced-motion:reduce){.tp-contact-card{transition:none}}
