.services{background:#fff;max-width:none;padding:85px max(7%,calc((100vw - 1210px)/2))}
.services-intro{max-width:760px}.services-intro>p{font-size:16px;line-height:1.8;color:#4f625c}
.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:36px 0 25px}
.service-card{border:1px solid #bdccc3;border-radius:8px;padding:28px;background:#f4f1e8}
.service-number{color:#005f63;font-size:12px;font-weight:700;letter-spacing:.1em}
.service-card h3{font-size:23px;line-height:1.2;letter-spacing:-.5px;margin:20px 0 14px}
.service-card p{font-size:15px;line-height:1.8;color:#4f625c}.service-card a{min-height:44px;align-items:center}
.services-note,.contact-privacy,.map-note{font-size:13px!important;line-height:1.7!important;color:#43594f!important}
.contact-privacy{max-width:470px;margin-top:20px!important}.contact-privacy a{text-decoration:underline;text-underline-offset:3px}
.contact-details .map-note{max-width:360px;margin:12px 0 0}
.contact-details .map-note a{display:inline;font-size:inherit;margin:0;text-decoration:underline;text-underline-offset:3px}
.legal-footer{border-top:1px solid #bdccc3;padding:18px 5% 28px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;color:#173d3e;font-size:14px}
.legal-footer a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px}
.legal-document{max-width:880px;margin:auto;padding:50px 6% 80px}.legal-document h1{font-size:clamp(34px,5vw,54px)}
.legal-document h2{font-size:26px;letter-spacing:-.6px;margin:35px 0 15px}.legal-document h3{margin:25px 0 12px;font-size:20px}
.legal-document p,.legal-document li{font-size:16px;line-height:1.85;margin-bottom:14px}.legal-document a{text-decoration:underline;overflow-wrap:anywhere}
.draft-notice{padding:18px 20px;border-left:4px solid #005f63;background:#e1eeee;margin-bottom:25px;font-size:15px;line-height:1.7}
.legal-document mark{background:#fff0a8;color:#173d3e;padding:2px 4px}
/* Migliore leggibilità per testi piccoli e contorni interattivi. */
.hero-copy>p,.section-intro>p,.people p,.contact p{color:#4f625c}
nav a,.button,.text-link{min-height:44px}nav a{display:inline-flex;align-items:center}
a:focus-visible,button:focus-visible{outline:3px solid #005f63;outline-offset:5px}
.ai-section a:focus-visible{outline-color:#f2c200}
footer>span{font-size:12px}.hero-location{color:#4f625c}
footer{flex-direction:column;justify-content:center;text-align:center;gap:16px}
footer .footer-brand{align-self:center;justify-content:center}
.back-to-top{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:100;display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;background:#f4f1e8;color:#003c40;box-shadow:0 3px 12px #0003;border:2px solid #003c40}
.back-to-top img{display:block;width:52px;height:52px;object-fit:contain}.back-to-top:hover{background:#fff}.back-to-top:focus-visible{outline:3px solid #bb871a;outline-offset:4px}
.back-to-top.is-flying img{animation:bird-return 1.2s ease-in-out}
@keyframes bird-return{0%,100%{transform:translateY(0) rotate(0)}20%{transform:translate(-3px,-9px) rotate(-12deg)}40%{transform:translate(3px,-4px) rotate(10deg)}60%{transform:translate(-2px,-11px) rotate(-9deg)}80%{transform:translate(2px,-5px) rotate(7deg)}}
@media(prefers-reduced-motion:reduce){.back-to-top.is-flying img{animation:none}}
footer>span{max-width:100%;text-align:center}
.people article>span{color:#43594f}nav a:hover,.text-link:hover{color:#685607}.ai-section .text-link:hover{color:#f2c200}
@media(max-width:900px){.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.services{padding:60px 6%}.services-grid{grid-template-columns:1fr;gap:18px}.service-card{padding:24px}.legal-footer{display:block}.legal-footer>*{margin-right:20px}.legal-document{padding-top:35px}}

.hero-visual>img{object-position:50% 65%}.photo-wide img{object-position:50% 60%}.space-grid figure:not(.photo-wide) img{object-position:50% 62%}
