/* Calm hero typography and compact service-area navigation. */
.hero h1,.hero .hero-title{font-size:clamp(28px,3.8vw,46px)!important;font-weight:600;line-height:1.22!important;letter-spacing:-.018em;text-wrap:balance;margin-bottom:24px}
.hero-grid .hero-title{max-width:24ch}
.hero .hero-description{font-size:18px;line-height:1.7;font-weight:400;max-width:60ch;margin-bottom:32px}
.b2b-service-hero p{line-height:1.7;max-width:68ch}
.footer-grid{grid-template-columns:1.3fr 1.2fr 1fr 1fr;gap:32px}
.footer-areas p{font-size:14px;line-height:1.65;opacity:.8;margin:0 0 16px}
.footer .footer-area-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;margin:0 0 18px}
.footer-area-links li{margin:0}
.footer-area-overview{display:inline-block;font-weight:600;font-size:14px;text-decoration:underline;text-underline-offset:4px}
.area-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 28px;list-style:none;padding:0;margin:24px 0}
.area-directory a{display:block;padding:8px 0;text-decoration:underline;text-underline-offset:4px}
.area-directory a:focus-visible,.footer-area-overview:focus-visible{outline:2px solid currentColor;outline-offset:4px}
@media(max-width:1000px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}}
@media(max-width:768px){.hero h1,.hero .hero-title{font-size:28px!important;line-height:1.25!important;margin-bottom:24px}.hero .hero-description{font-size:17px;line-height:1.7}.area-directory{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.footer-grid{grid-template-columns:1fr;gap:32px}.area-directory{gap:8px 18px}}
