/* Zenostacks — shared typography. One family (Outfit), consistent weights across every page. Loaded last. */
body{font-family:var(--font);font-weight:400;letter-spacing:0;font-feature-settings:"ss01" 0}
/* Headlines: one bold weight everywhere */
h1,h2,h3,h4,.statement,.hero h1,.contact h2,.ab-title,.ab-h2,.ab-h3,.ab-manifesto-text,.ab-list-name,.service-card h3,.process-step h3,.project-meta h3,.local-note>strong,.dialog-content>h2{font-weight:600}
.hero h1{line-height:1.02}
.hero-outline{font-weight:600;color:#6f667e}
.contact h2{line-height:1.02}
.ab-title-small{font-weight:500}
.ab-line:nth-child(2){line-height:1}
/* Small text: readable medium weight */
.nav-link,.nav-cta,.button,.text-link,.ab-pill,.service-cta,.mobile-menu a{font-weight:500}
.eyebrow,.micro,.overline,.section-tag,.ab-label,.hero-topline{font-weight:500;letter-spacing:.12em}
.brand,.footer-logo{font-weight:600}
.footer-watermark{font-weight:700}
.local-word{font-weight:700;letter-spacing:-.03em;background:linear-gradient(110deg,#5b3a78,#8a63c4 60%,#6b4a93);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
/* ——— responsive polish ——— */
@media(max-width:380px){.ct-hero h1,.pr-hero h1,.pjh h1,.sv-hero h1,.ab-title{font-size:min(11.2vw,44px)}}
h1,h2,h3{overflow-wrap:break-word}
@media(max-width:700px){
  .footer-links a{display:inline-flex;align-items:center;min-height:32px}
  .footer-links{gap:2px}
  .sv-crumb a,.pjh-crumb a{display:inline-flex;align-items:center;min-height:32px}
  button[data-privacy]{min-height:32px}
  .ct-tag,.ct-small{font-size:11px}
}
