/* Размер текста управляется посетителем без запрета системного масштабирования. */
:root{--read-scale:1}
.text-size{position:relative;display:none;align-items:center;z-index:55}
.text-size__toggle{display:grid;place-items:center;width:43px;height:43px;border:1px solid #bdc8bc;border-radius:50%;background:#f7f8f3;color:#314836;font-weight:750;font-size:17px;letter-spacing:-.04em;line-height:1}
.text-size__toggle[aria-expanded="true"]{border-color:#3f674b;background:#e1ebdf}
.text-size__options{position:absolute;right:0;top:calc(100% + 11px);display:grid;grid-template-columns:repeat(2,1fr);gap:7px;min-width:194px;padding:12px;background:#fff;border:1px solid #d7dfd5;border-radius:13px;box-shadow:0 15px 45px #16302025}
.text-size__options[hidden]{display:none!important}
.text-size__options button{min-height:42px;border:1px solid #dfe6db;border-radius:8px;background:#f7f9f5;color:#344c39;font-weight:650;font-size:14px}
.text-size__options button[aria-pressed="true"]{background:#41654b;color:#fff;border-color:#41654b}
@media(max-width:1100px){.text-size{display:flex}}
@media(max-width:760px){
  .header__actions{gap:7px}
  .text-size__toggle{width:41px;height:41px}
  .hero__copy>p,.intro__side p,.section-head>p,.directions__caption,.approach__copy p,.step-card p,.faq details p,.voices p,.contact__copy>p,.footer p,.service-card p,.project-gallery__info p{font-size:clamp(14px,calc(17px * var(--read-scale)),22px)!important;line-height:1.7;overflow-wrap:anywhere}
  .service-card h3,.contact__card p,.modal__subtitle{font-size:clamp(16px,calc(18px * var(--read-scale)),23px)!important;line-height:1.5;overflow-wrap:anywhere}
  .btn,.text-link,.footer__links a,.faq summary,.service-card__price,.service-card__action,.modal form label,.modal form small,.contact__email small{font-size:clamp(13px,calc(15px * var(--read-scale)),20px)!important;line-height:1.45;overflow-wrap:anywhere}
  .section-label,.eyebrow,.project-card__top,.direction-card__text small,.announcement{font-size:clamp(10px,calc(12px * var(--read-scale)),16px)!important;line-height:1.4;overflow-wrap:anywhere}
  .modal input,.modal select,.modal textarea{font-size:clamp(16px,calc(16px * var(--read-scale)),21px)!important}
  .header__actions{flex-wrap:wrap;justify-content:flex-end}
  .service-card__meta,.direction-card__text{flex-wrap:wrap}
  .contact__email a{max-width:100%;overflow-wrap:anywhere}
  .service-card,.step-card,.contact__card{min-height:0;height:auto}
  .project-card{min-height:340px}
  .direction-card{min-height:270px}
  .modal__panel{overflow-x:hidden}
}
@media(max-width:390px){.header__actions{gap:2px}.text-size__toggle{width:39px;height:39px}}
