:root{--sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;--serif:var(--sans)}
/* Public typography: restrained sans serif, without third-party font requests. */
body .site-header .brand,body .site-footer .brand{font-family:var(--sans);font-size:clamp(27px,3vw,42px);font-weight:500;letter-spacing:-1.4px;line-height:1.05}
body h1,body h2,body h3,body h4,body .hero h2,body .text-section h1,body .text-section h2{font-family:var(--sans);font-weight:400;letter-spacing:-.045em}
body .hero h1,body .hero h2{font-size:clamp(42px,4.8vw,70px);line-height:1.08}
.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:35px}
.category-card{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:4/5;overflow:hidden;background:#e8e9e1;border:1px solid var(--line);isolation:isolate;color:var(--ink)}
.category-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .35s ease}
.category-card.has-cover{color:white;border:0}
.category-card.has-cover::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.45));z-index:-1}
.category-card>span:first-of-type{font-size:clamp(23px,2.4vw,34px);letter-spacing:-.035em;font-weight:500;text-align:center;padding:24px;overflow-wrap:anywhere}
.category-card .category-arrow{position:absolute;bottom:20px;right:22px;font-size:24px}
.category-card:hover img{transform:scale(1.035)}
.category-card:focus-visible{outline:3px solid var(--ink);outline-offset:5px}
@media(max-width:800px){.category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@media(max-width:520px){.category-grid{grid-template-columns:1fr;gap:20px}.category-card{aspect-ratio:5/4}}
@media(prefers-reduced-motion:reduce){.category-card img{transition:none}}
body .service-extra h4,body .plan-bottom strong{font-family:var(--sans)}
