/* Shared type scale: Archivo headings and Arimo reading text. */
:root{--type-body:1rem;--type-small:.875rem;--type-h1:clamp(2.6rem,4.7vw,4.6rem);--type-h2:clamp(2rem,3.7vw,3.4rem);--type-card:clamp(1.5rem,2.1vw,1.85rem)}
body{font-family:Arimo,Arial,sans-serif;font-size:var(--type-body);line-height:1.6;letter-spacing:0;color:var(--black)}
p,li{line-height:1.6;letter-spacing:0}
body h1,body h2,body h3,body h4{font-family:Archivo,Arial,sans-serif}
body .pagehero h1,body .pagehero .has-photo h1,body[data-page] .hero-copy-grid h1{font-size:var(--type-h1);line-height:1.1;letter-spacing:-.02em}
body .hero h1{font-size:clamp(3.1rem,6.5vw,6.2rem);line-height:1.06;letter-spacing:-.02em}
body h2,body .contactgrid h2,body .banner h2{font-size:var(--type-h2);line-height:1.15;letter-spacing:-.02em}
body h3{font-size:1.5rem;line-height:1.25;letter-spacing:-.015em}
body[data-page] :is(.about-process,.seo-services,.ai-services,.service-cards) .tile h3,body .service-row h3{font-size:var(--type-card);line-height:1.25;letter-spacing:-.015em}
body[data-page] :is(.about-process,.seo-services,.ai-services,.service-cards) .tile p,body .service-row p,body .tile p,body .faq details p,body .split p{font-size:var(--type-body);line-height:1.6;letter-spacing:0}
body .hero p,body .pagehero p,body .intro p{font-size:var(--type-body);line-height:1.6;letter-spacing:0}
body .banner p{font-size:var(--type-body);line-height:1.6}
body .footer p,body .footer a{font-size:var(--type-body);line-height:1.6;letter-spacing:0;color:#fff}
body .footer h3{font-size:var(--type-small);line-height:1.4;letter-spacing:.04em;font-weight:700}
body .eyebrow{font-family:Archivo,Arial,sans-serif;font-size:.75rem;line-height:1.4;letter-spacing:.14em}
body .breadcrumbs,body .note{font-size:var(--type-small);line-height:1.5;letter-spacing:0}
body .faq summary{font-family:Archivo,Arial,sans-serif;font-size:1.125rem;line-height:1.4;letter-spacing:0}
body .field label,body .btn,body .hero-intro .btn{font-size:var(--type-small);line-height:1.4;letter-spacing:0}
body .field input,body .field select,body .field textarea{font-family:Arimo,Arial,sans-serif;font-size:var(--type-body);line-height:1.5;letter-spacing:0;color:var(--black)}
body .field input::placeholder,body .field textarea::placeholder{color:var(--black);opacity:1}
body .nav{font-size:.8125rem;line-height:1.4;letter-spacing:0}
body .locations a,body .arrow{font-size:var(--type-small);line-height:1.5;letter-spacing:0}
@media(max-width:800px){body .nav{font-size:1rem}}
@media(max-width:560px){
 :root{--type-h1:clamp(2.35rem,9.5vw,3.15rem);--type-h2:clamp(1.9rem,7.5vw,2.4rem);--type-card:1.5rem}
 body .hero h1{font-size:clamp(3rem,11.5vw,4.1rem)}
 body .actions .btn,body .hero-intro .actions .btn{font-size:var(--type-small)}
}

/* One reading size throughout every page; labels remain smaller. */
body[data-page] p:not(.note),body[data-page] li{font-family:Arimo,Arial,sans-serif;font-size:var(--type-body);line-height:1.6;letter-spacing:0}

/* Footer: one reading size, one supporting size. */
body .footer p,body .footer a:not(.brand){font-family:Arimo,Arial,sans-serif;font-size:1rem;line-height:1.6;letter-spacing:0;color:#fff}
body .footer h3{margin:0 0 18px;text-transform:uppercase;color:#fff}
body .footer p{margin:0 0 18px}
body .footer a:not(.brand){margin-bottom:10px}
body .footer p a{display:inline;margin:0}
body .footer a+h3,body .footer p+h3{margin-top:30px}
body .footer .footbottom{font-family:Arimo,Arial,sans-serif;font-size:.875rem;line-height:1.6;letter-spacing:0;color:#fff;margin-top:44px;padding-top:22px}
@media(max-width:560px){body .footer .footgrid{gap:32px}body .footer .footbottom{margin-top:32px}}

/* Reading copy: 17px with compact, comfortable 25.5px leading. */
body[data-page] p:not(.note),body[data-page] li{font-size:1.0625rem;line-height:1.5}

/* Compact desktop footer; preserve the existing mobile typography. */
@media(min-width:801px){
 body[data-page] .footer p:not(.note),body[data-page] .footer a:not(.brand),body[data-page] .footer h3,body[data-page] .footer .footbottom{font-size:16px;line-height:1.4}
 body[data-page] .footer h3{font-weight:700;text-transform:uppercase}
}

/* Explore links follow the footer's text rhythm on desktop. */
@media(min-width:801px){
 body[data-page] .footer .footgrid>div:nth-child(2)>a{margin-top:0;margin-bottom:0;line-height:1.4}
}

/* Copyright is supporting text, quieter than the footer navigation. */
body[data-page] .footer .footbottom{font-size:12px;line-height:1.5;color:#a3a3a3}
