/* Tipografia del sito pubblico: due pesi, nessun corsivo, scala condivisa. */
:root{--type-body:18px;--type-control:16px;--type-small:14px;--type-title:36px;--type-subtitle:24px}
body{font-family:Lato,Arial,sans-serif;font-size:var(--type-body);line-height:1.6;font-weight:300;letter-spacing:.3px}
body *{font-weight:inherit!important;font-style:normal!important}
body :is(h1,h2,h3,h4,h5,h6,strong,b,.btn,.intro-link,.nav-link,.dropdown-item,.contact-action,.text-link,.gr-map-marker){font-weight:900!important}
body :is(h1,h2,.display-title,.slide-card h2,.page-hero h1,.offer-image h2,.company-copy h2,.work-intro h2){font-size:var(--type-title);line-height:1.25;letter-spacing:0}
body :is(h3,h4,h5,h6,.footer-title,.company-copy .quality-title,.product-card h2,.info-card h3,.contact-address h3,.contact-hours h3,.map-placeholder h3){font-size:var(--type-subtitle);line-height:1.3;letter-spacing:0}
body :is(p,.prose,.section-lead,.lead,.contact-intro,.contact-address p,.quality-context,.offer-info p,.work-card p,.slide-card p,.slide-card p:not(.slide-kicker),.slide-kicker,.hero-content .lead,.page-heading p){font-size:var(--type-body);line-height:1.6;letter-spacing:.3px}
body :is(.eyebrow,.page-hero .eyebrow){font-size:var(--type-body);line-height:1.6}
body :is(.btn,.intro-link,.nav-link,.dropdown-item,.text-link,.contact-action){font-family:Lato,Arial,sans-serif;font-size:var(--type-control);letter-spacing:.3px}
body :is(.btn,.intro-link,.dropdown-item,.text-link,.contact-action){line-height:1.5}
body :is(small,.slide-meta small,.footer-bottom .container,.footer-hours li,.footer-hours span,.contact-label,.map-status,.work-tag,.vertical-label){font-size:var(--type-small);line-height:1.5;letter-spacing:.3px}
body :is(.contact-channel strong,.contact-channel .contact-email){font-size:var(--type-subtitle);line-height:1.3}
body .slide-meta strong{font-size:var(--type-title);line-height:1.25}
body .quality-quote{font-size:var(--type-subtitle);line-height:1.5;font-weight:300!important}
body .home-intro h1{font-weight:300!important}
body .company-monogram span{font-weight:300!important}
body .gr-locations-map,body .gr-locations-map .leaflet-popup-content,body .gr-locations-map .leaflet-control{font-family:Lato,Arial,sans-serif;font-size:var(--type-small);line-height:1.5}
body .gr-locations-map .leaflet-bar a{font-family:Lato,Arial,sans-serif;font-size:22px;font-weight:900!important}
body .gr-locations-map .leaflet-popup-close-button{font-family:Lato,Arial,sans-serif;font-size:22px}
@media(max-width:767.98px){:root{--type-title:28px;--type-subtitle:22px}}
