/* Единая шкала текста (не заголовков). Три размера: лид, основной, мелкий.
   Лид — абзац под заголовком секции; основной — описания, ответы, карточки; мелкий — подписи, сноски, метки. */
:root{--t-lead:18px;--t-lead-lh:1.55;--t-body:16px;--t-body-lh:1.6;--t-small:14px;--t-small-lh:1.5}
@media(max-width:1023px){:root{--t-lead:17px}}
@media(max-width:767px){:root{--t-lead:17px;--t-body:16px;--t-small:14px}}

/* лид */
.hero .hero-invite>p,.pixels-people .people-copy>p,#about-stories .about-copy>p.lead,#directions .section-heading>p,
#life .trip-lead,#life .tc-note,#life .trip-end-p,#first-visit .visit-intro,#prices>.section-heading>p,
#faq .faq-heading>p,.final-cta .final-copy>p:not(.section-label){font-size:var(--t-lead)!important;line-height:var(--t-lead-lh)!important}

/* основной */
#about-stories .school-festivals,#directions .finder-help p,#direction-list .direction-detail>p,#visit-panel>p,#teachers .teacher>p,
#prices .price-card>p:not(.price-number),#prices .family-tile>p,#faq .faq-answer p,#school-footer .footer-contact>p{font-size:var(--t-body)!important;line-height:var(--t-body-lh)!important}

/* вопрос FAQ: на ступень выше ответа */
#faq .faq-list>details>summary{font-size:18px!important;line-height:1.4!important}
@media(max-width:767px){#faq .faq-list>details>summary{font-size:17px!important}}

/* мелкий */
.hero .hero-location-line,#life .tp:not(.tp-10) figcaption,#teachers .teacher>span,
#reviews .parent-rating-details span:not(.parent-stars),#reviews .parent-reviews-note,#prices .price-note,
.concert-gallery .section-heading p,.hero .hero-after>p,#about-stories .about-inset>figcaption,#directions .result-count,#reviews .parent-quote b,.final-cta .hero-price,main p.metro,#school-footer .footer-metro,.timetable-level,.timetable-teacher,.timetable-group li{font-size:var(--t-small)!important;line-height:var(--t-small-lh)!important}

/* интерфейсные подписи: кнопки, ссылки-действия, вкладки, фильтры — 14px; метки и теги — не мельче 12–13px */
#prices .button,main .text-link,#about-stories .about-story-tabs button,#directions .category-filter button,#first-visit .visit-tabs button{font-size:14px!important}
#directions .age-label,#directions summary .age,#reviews .parent-reviews-label,#reviews .parent-reviews-all,.final-cta .section-label,
#school-footer .footer-group-title,#school-footer .footer-bottom>span,#school-footer .footer-bottom>a,#school-footer .footer-documents a{font-size:13px!important}
#prices .price-top span,#first-visit .visit-chat span,main .route-label .route-invite,main .route-label .route-action,.hero .film-controls span{font-size:12px!important}

/* ===== Внутренние страницы ===== */
/* лид */
.dir-section-heading>p,.section-heading>p,.team-heading>p,.cost-section-heading>p,.dir-start-copy>p,
.team-hero-copy>p.team-lead,.dir-hero-copy>p.dir-lead,.opening-copy>p.opening-lead,.possibilities-intro>p,
.beyond-copy>p,.together-copy>p,.together-heading>p span,.stage-heading>p:not(.story-label),
.story-ending>div>p:not(.story-label){font-size:var(--t-lead)!important;line-height:var(--t-lead-lh)!important}
/* основной */
.page-prose p,.page-prose li,.team-bio p,.dir-lesson-text>p,.dir-intro-copy>p:not(.dir-big-copy),.direction-detail>p,
.cost-plan>header>p,.cost-single-copy>p:not(.cost-amount):not(.cost-eyebrow),.cost-discount-copy>p:not(.cost-eyebrow),.cost-help>p>span,.demo-caption>p,
.inner-section>p,.dir-contacts address,.dir-care-copy>p:not(.section-label){font-size:var(--t-body)!important;line-height:var(--t-body-lh)!important}
/* мелкий */
.dir-teachers article>span,.inner-teachers article>span,.team-member>p.team-role,.dir-trial-note,.dir-location,
.dir-contacts>div>p,.dir-contacts figcaption,.cost-table-note,.cost-discount-exclusion,.schedule-fallback,
.together-big>figcaption,.team-collage-note{font-size:var(--t-small)!important;line-height:var(--t-small-lh)!important}
/* метки над заголовками */
.section-label,.story-label,.cost-eyebrow{font-size:13px!important}
.dir-care-caption{font-size:12px!important}
.cost-hero-copy>span,.cost-help>p>strong{font-size:var(--t-lead)!important;line-height:var(--t-lead-lh)!important}
.cost-plan thead th{font-size:13px!important}
.dir-related-grid .dir-current>small{font-size:12px!important}
.cost-extra-heading>p{font-size:var(--t-body)!important;line-height:var(--t-body-lh)!important}
/* 14. Попап записи (#booking-dialog): в общую шкалу. Было: текст 14, подписи 12, кнопки 13 (моб. 12), телефон 12 */
.booking-dialog>p:not(.section-label):not(.booking-phone):not(.booking-note){font-size:var(--t-body)!important;line-height:var(--t-body-lh)!important}
.booking-dialog label{font-size:var(--t-small)!important;line-height:var(--t-small-lh)!important;font-weight:500}
.booking-dialog select{font-size:16px!important}
.booking-dialog>.button{font-size:15px!important}
.booking-dialog>.booking-phone{font-size:var(--t-small)!important;line-height:var(--t-small-lh)!important}
.booking-dialog>.booking-note{font-size:13px!important}
@media(max-width:767px){.booking-dialog>.button{font-size:14px!important}}
/* 19. Длинные слова в заголовках карточек на узких телефонах (320–390): не вылезать за край */
.rent-prices .plan-card h3{font-size:min(30px,6.2vw)!important}
.cost-plans .cost-plan h3{font-size:min(34px,8.6vw)!important}
@media(max-width:380px){details.direction-row>summary h3{font-size:min(28px,6.9vw)!important}}
/* #29 телефон: жёлтая линия .marker под словом, а не поперёк (выглядела как зачёркивание); на /teachers в h1 линия убрана — наезжала на «люди» */
@media(max-width:700px){:is(h1,h2,h3) .marker:after{bottom:-.15em}#team-title .marker:after{display:none}}
/* #30 «Первый шаг – познакомиться»: правый край линии ниже (наклон -2° на длинном слове давал «зачёркивание») */
#visit-title .marker:after{left:-2%;right:auto;width:104%;bottom:-.13em;height:.2em;border-radius:50%;transform:rotate(-.8deg)}
