/* Override per il tema Framework 360 (ambiente B side)
   Il tema impone Poppins !important sui titoli e dimensioni fisse: qui si ristabilisce il design system. */
html, body { margin: 0 !important; padding: 0 !important; background: var(--bg) !important; font-family: var(--font-body) !important; color: var(--ink) !important; }
body .header { z-index: 900; }
h1, h2, h3, h4, .h1, .h2, .h3 { font-family: var(--font-display) !important; font-weight: 500 !important; line-height: 1.1 !important; letter-spacing: -0.01em !important; margin: 0 !important; color: var(--brand); }
.h1, :not(.ms-custom-font) > h1.h1 { font-size: clamp(2.5rem, 6.2vw, 4.6rem) !important; }
.h2, :not(.ms-custom-font) > h2.h2 { font-size: clamp(2rem, 4.4vw, 3.15rem) !important; }
.h3, :not(.ms-custom-font) > h3.h3 { font-size: clamp(1.35rem, 2.2vw, 1.7rem) !important; }
.hero h1 { margin-bottom: 24px !important; }
.hv-card h3 { font-size: 1.35rem !important; margin-bottom: 8px !important; }
.pillar h3, .service-card h3 { font-size: 1.45rem !important; }
.pillar h3 { margin-bottom: 12px !important; }
.team-card__body b, .quote-card blockquote, .pillar__num, .stat strong, .hv-stat strong, .brand__text, .mobile-menu__link { font-family: var(--font-display) !important; }
.cta-band h2, .section--brand h2, .section--brand h3 { color: #fff !important; }
.cta-band h2 { margin-bottom: 14px !important; }
.footer h4 { font-family: var(--font-body) !important; font-size: 12px !important; font-weight: 700 !important; letter-spacing: 0.16em !important; margin: 0 0 18px !important; color: var(--azure) !important; }
p { margin: 0; }
.nav ul, .footer ul, .mobile-menu ul, .hero__trust, .partners, .hv-card__list, .cert-list, .hv-stat { list-style: none; padding: 0; }
.nav ul, .footer ul, .mobile-menu ul, .hv-card__list, .hv-stat { margin: 0; }
.footer ul { display: grid; }
.header a, .footer a, main a { text-decoration: none; }
.nav__link, .nav__dropdown a, .mobile-menu__link, .mobile-menu__sub a, .btn { cursor: pointer; }
.hero__trust { margin-top: 44px; }
.cert-list { margin-top: 26px; }

/* Il tema colora ogni <a> con var(--ms-color-primary) a specificita' (0,2,1): si ripristinano i colori del design system */
:where(.header, .mobile-menu, main, .footer) a { color: inherit !important; }
.nav__link { color: var(--ink-2) !important; }
.nav__link:hover, .nav__link[aria-current="page"] { color: var(--brand) !important; }
.nav__dropdown a { color: var(--ink-2) !important; }
.nav__dropdown a:hover { color: var(--brand) !important; }
.mobile-menu__link { color: var(--brand) !important; }
.mobile-menu__sub a { color: var(--ink-2) !important; }
.mobile-menu__sub a:hover { color: var(--brand) !important; }
.link-arrow { color: var(--brand) !important; }
.service-card--featured .link-arrow { color: var(--azure) !important; }
.btn--primary, .btn--outline-light { color: #fff !important; }
.btn--azure, .btn--ghost, .btn--light { color: var(--brand) !important; }
.footer a:hover { color: #fff !important; }
.footer__social a { color: #fff !important; }
.footer__social a:hover { color: var(--brand) !important; }
.breadcrumb a:hover, .contact-card a:hover, .profile__contact a:hover, .archive__months a:hover { color: var(--brand) !important; }
.contact-card a, .profile__contact a, .archive__months a { color: var(--ink-2) !important; }

/* Contatori: lo span interno a <strong> non deve ereditare lo stile dell'etichetta */
.stat strong span, .hv-stat strong span { display: inline !important; font-size: inherit !important; font-weight: inherit !important; color: inherit !important; margin: 0 !important; text-align: inherit !important; }

/* Pagine senza hero (es. la 404 di sistema): spazio sotto la navbar fissa */
body:not(:has(.hero)) { padding-top: calc(var(--nav-h) + 48px) !important; }
.skip-link { position: fixed !important; }
