/* Shared readability pass: balanced headings without oversized two-word lines. */
h1,h2,h3{hyphens:none;overflow-wrap:normal;text-wrap:balance}
p,li,summary{overflow-wrap:break-word;text-wrap:pretty}

@media (min-width: 901px){
  body.home-page h1{font-size:clamp(52px,4.9vw,76px);line-height:1.01;max-width:760px}
  body.home-page .section-head h2{font-size:clamp(38px,4vw,56px);line-height:1.08;max-width:720px}
  body.home-page .contact-section h2{font-size:clamp(36px,3.7vw,52px);line-height:1.08}
  body.separatsiya-page .display{font-size:clamp(48px,5.3vw,88px);line-height:.99;max-width:820px}
  body.separatsiya-page .section-title{font-size:clamp(32px,3vw,50px);line-height:1.08}
  body.architektura-page .hero h1{font-size:clamp(48px,3.7vw,62px);line-height:1.02;max-width:780px}
  body.architektura-page .manifesto h2,
  body.architektura-page .result h2,
  body.architektura-page .section-heading h2,
  body.architektura-page .cta h2{font-size:clamp(40px,4.1vw,60px);line-height:1.08}
}

@media (max-width: 620px){
  body.home-page h1{font-size:clamp(40px,11.7vw,52px);line-height:1.02;letter-spacing:-.045em}
  body.home-page .section-head h2,
  body.home-page .contact-section h2{font-size:clamp(32px,9.8vw,42px);line-height:1.08}
  body.separatsiya-page .display{font-size:clamp(40px,11.5vw,50px);line-height:1.01}
  body.separatsiya-page .section-title{font-size:clamp(30px,9vw,39px);line-height:1.08}
  body.architektura-page .hero h1{font-size:clamp(40px,11.5vw,50px);line-height:1.03}
  body.architektura-page .manifesto h2,
  body.architektura-page .result h2,
  body.architektura-page .section-heading h2,
  body.architektura-page .cta h2{font-size:clamp(32px,9.5vw,42px);line-height:1.08}
}
