/* INDALO V60 — единая читаемость, масштаб и адаптивность 320px–4K.
   Шапка, главный hero-слайдер и подвал намеренно не перерабатываются. */

/* ---------- Базовая система контента ---------- */
main{
  --v60-text:clamp(16px,.82vw,18px);
  --v60-text-sm:clamp(14.5px,.70vw,16px);
  --v60-meta:clamp(13px,.62vw,14.5px);
  --v60-card-title:clamp(20px,1.08vw,25px);
  --v60-h2:clamp(34px,2.15vw,50px);
  --v60-section-y:clamp(72px,5.2vw,118px);
  --v60-card-pad:clamp(24px,1.6vw,36px);
  --v60-gap:clamp(18px,1.35vw,32px);
}
main :where(h1,h2,h3,h4){text-wrap:balance}
main :where(p,li,blockquote){text-wrap:pretty}
main :where(p,li){line-height:1.62}

/* Внутренние страницы получают больше полезной ширины на Full HD / 2K / 4K. */
:where(.about-page,.contacts-page,.pro-page,.services-page,.projects-page,.estate-page) .container,
.main > section:not(.hero) .container{
  width:min(calc(100% - clamp(32px,5vw,144px)),1320px);
}
.complete-page .cp-container{
  width:min(calc(100% - clamp(32px,5vw,144px)),1320px);
  margin-inline:auto;
}

/* Кнопки внутри контентной части — не мельче нормального UI-размера. */
main :where(section:not(.hero),.complete-page) .btn,
main :where(.about-hero,.contacts-hero,.pro-hero,.services-hero,.projects-hero,.estate-hero) .btn{
  min-height:48px;
  padding:12px 20px;
  font-size:clamp(15px,.72vw,16px);
}

/* Eyebrow/kicker остаются компактными, но перестают быть микротекстом. */
main :where(.eyebrow,.about-hero__kicker,.contacts-kicker,.pro-kicker,.services-kicker,.projects-kicker,.cp-eyebrow){
  font-size:clamp(13.5px,.64vw,15px)!important;
  line-height:1.35;
  letter-spacing:.13em;
}

/* ---------- Главная: всё после hero ---------- */
.main > section:not(.hero){padding-block:var(--v60-section-y)}
.main > #facts{padding-block:clamp(22px,2vw,38px)}
.main > section:not(.hero) .heading{max-width:920px;margin-bottom:clamp(34px,3vw,54px)}
.main > section:not(.hero) .heading p,
.home-heading-split>p,
.home-faq__copy p{
  font-size:var(--v60-text)!important;
  line-height:1.65!important;
}
.main > section:not(.hero) .title{font-size:var(--v60-h2)}

.home-facts{position:relative;z-index:4}
.home-facts .home-facts__grid{gap:clamp(10px,1vw,18px)}
.home-fact{min-height:90px;padding:18px 18px!important;border-radius:16px!important}
.home-fact strong{font-size:clamp(16px,.83vw,18px)!important;line-height:1.25}
.home-fact span:not(.home-fact__icon){font-size:var(--v60-text-sm)!important;line-height:1.45!important}
.home-fact__icon{width:34px!important;height:34px!important;flex-basis:34px!important}

.scenario-shell{gap:var(--v60-gap)!important}
.scenario{border-radius:24px!important;box-shadow:0 18px 50px rgba(45,34,24,.08)!important}
.scenario__body{padding:clamp(28px,2vw,42px)!important}
.scenario h3{font-size:clamp(27px,1.65vw,35px)!important;line-height:1.12!important}
.scenario p{font-size:var(--v60-text)!important;line-height:1.65!important}
.scenario .check li,.check li{font-size:var(--v60-text-sm)!important;line-height:1.55!important}

#projects .filters{gap:10px!important}
#projects .filter-btn{min-height:40px!important;padding:9px 16px!important;font-size:clamp(14px,.67vw,15px)!important}
#projects .proj-card{border-radius:18px!important}
#projects .proj-card__tag{font-size:clamp(12.5px,.6vw,14px)!important;letter-spacing:.08em!important}
#projects .proj-card h3{font-size:clamp(24px,1.4vw,30px)!important;line-height:1.15!important}
#projects .proj-card p{font-size:var(--v60-text-sm)!important;line-height:1.5!important}

.home-faq__intro{gap:clamp(30px,3vw,58px)!important;margin-bottom:clamp(34px,3vw,52px)!important}
.home-faq__media{min-height:clamp(220px,15vw,330px)!important;border-radius:24px!important}
.home-faq__copy .title{font-size:var(--v60-h2)!important}
.home-faq__item summary{min-height:78px!important;font-size:clamp(19px,1.15vw,24px)!important;line-height:1.32!important}
.home-faq__answer{max-width:980px!important;font-size:var(--v60-text)!important;line-height:1.68!important;padding-bottom:28px!important}

.home-benefits{gap:var(--v60-gap)!important}
.home-benefit{min-height:330px!important;padding:var(--v60-card-pad)!important;border-radius:22px!important}
.home-benefit h3{font-size:var(--v60-card-title)!important;line-height:1.2!important}
.home-benefit p{font-size:var(--v60-text)!important;line-height:1.62!important}
.home-benefit__num{font-size:clamp(48px,3vw,68px)!important}
.home-inline-cta,.home-reviews-cta,.home-reviews-action{padding:clamp(24px,1.7vw,34px)!important;border-radius:22px!important}
.home-inline-cta strong,.home-reviews-cta strong,.home-reviews-action__copy strong{font-size:clamp(20px,1.1vw,25px)!important}
.home-inline-cta span,.home-reviews-cta span,.home-reviews-action__copy span{font-size:var(--v60-text-sm)!important;line-height:1.55!important}

.home-reviews{gap:var(--v60-gap)!important}
.home-review{padding:var(--v60-card-pad)!important;border-radius:22px!important}
.home-review blockquote{font-size:clamp(23px,1.35vw,29px)!important;line-height:1.32!important}
.home-review p{font-size:var(--v60-text)!important;line-height:1.62!important}
.home-review span,.home-review__source{font-size:var(--v60-meta)!important}

.home-case-grid{gap:clamp(24px,2vw,38px)!important;align-items:stretch!important}
.home-before-after{min-height:clamp(470px,31vw,660px)!important;border-radius:24px!important}
.home-before-after__label,.home-case-copy__tag{font-size:var(--v60-meta)!important}
.home-case-copy{padding:clamp(30px,2.2vw,44px)!important;border-radius:24px!important}
.home-case-copy h3{font-size:clamp(27px,1.65vw,36px)!important;line-height:1.17!important}
.home-case-copy p{font-size:var(--v60-text)!important;line-height:1.65!important}
.home-case-results strong{font-size:clamp(15.5px,.78vw,17px)!important}
.home-case-results span,.home-case-project-link{font-size:var(--v60-text-sm)!important}

.home-mistakes{gap:var(--v60-gap)!important;border-radius:24px!important;padding:clamp(30px,2.4vw,48px)!important}
.home-mistakes article{padding:clamp(22px,1.35vw,30px)!important;border-radius:16px!important}
.home-mistakes article>span{font-size:var(--v60-meta)!important}
.home-mistakes h3{font-size:clamp(20px,1.08vw,24px)!important;line-height:1.28!important}
.home-mistakes p{font-size:var(--v60-text-sm)!important;line-height:1.62!important}
.home-tasks li{font-size:var(--v60-text)!important;line-height:1.58!important}

.requests{gap:var(--v60-gap)!important}
.request-card{border-radius:22px!important;overflow:hidden!important}
.request-card__body{padding:clamp(22px,1.6vw,32px)!important}
.request-card__num{font-size:var(--v60-meta)!important}
.request-card h3{font-size:clamp(22px,1.25vw,28px)!important;line-height:1.22!important}
.request-card p{font-size:var(--v60-text)!important;line-height:1.62!important}

.home-process-grid{gap:var(--v60-gap)!important}
.home-process-card{min-height:210px!important;padding:var(--v60-card-pad)!important;border-radius:20px!important}
.home-process-card>span{font-size:clamp(30px,2vw,42px)!important}
.home-process-card h3{font-size:var(--v60-card-title)!important;line-height:1.22!important}
.home-process-card p{font-size:var(--v60-text)!important;line-height:1.58!important}

#company .company__intro .eyebrow{font-size:clamp(13.5px,.64vw,15px)!important}
#company .company__intro .title{font-size:var(--v60-h2)!important}
#company .company__intro p{font-size:var(--v60-text)!important;line-height:1.65!important}
#company .company__intro .btn{font-size:clamp(15px,.72vw,16px)!important}
#company .company-card{min-height:112px!important;padding:clamp(18px,1.1vw,25px)!important;border-radius:18px!important}
#company .company-card h3{font-size:clamp(19px,1vw,23px)!important;line-height:1.25!important}
#company .company-card p{font-size:var(--v60-text-sm)!important;line-height:1.52!important}
#company .mini{font-size:clamp(12.5px,.58vw,14px)!important;line-height:1.35!important}
#company .mini strong{font-size:clamp(13.5px,.63vw,15px)!important}

.team-grid{gap:var(--v60-gap)!important}
.team-card{min-height:255px!important;padding:var(--v60-card-pad)!important;border-radius:20px!important}
.team-card h3{font-size:clamp(21px,1.1vw,25px)!important}
.team-role{font-size:var(--v60-meta)!important}
.team-card p{font-size:var(--v60-text)!important;line-height:1.58!important}
.team-links{font-size:var(--v60-text-sm)!important}

/* ---------- О компании ---------- */
.about-hero{padding-block:clamp(68px,5vw,104px)!important}
.about-hero__lead{font-size:var(--v60-text)!important;line-height:1.62!important;max-width:720px!important}
.about-hero__note,.about-visual__caption span,.about-stat span{font-size:var(--v60-meta)!important}
.about-visual__caption strong{font-size:clamp(19px,1vw,23px)!important}
.about-story,.about-benefits,.about-system,.about-team{padding-block:var(--v60-section-y)!important}
.about-story__grid,.about-benefits__grid,.about-team__grid{gap:var(--v60-gap)!important}
.about-story__aside h2,.about-system__head h2{font-size:var(--v60-h2)!important}
.about-story__quote,.about-benefits__head p,.about-system__head p,.about-team__heading p{font-size:var(--v60-text)!important;line-height:1.65!important}
.about-story__copy p{font-size:var(--v60-text)!important;line-height:1.7!important}
.about-story__copy p:first-child{font-size:clamp(19px,1vw,22px)!important}
.about-story__signature strong,.about-story__signature span{font-size:var(--v60-meta)!important}
.about-benefit{min-height:320px!important;padding:var(--v60-card-pad)!important;border-radius:22px!important}
.about-benefit h3{font-size:var(--v60-card-title)!important}
.about-benefit p{font-size:var(--v60-text)!important;line-height:1.62!important}
.about-process__item{padding:clamp(22px,1.4vw,30px)!important;border-radius:18px!important}
.about-process__item span{font-size:var(--v60-meta)!important}
.about-process__item h3{font-size:clamp(19px,1vw,23px)!important}
.about-process__item p{font-size:var(--v60-text-sm)!important;line-height:1.55!important}
.about-person{grid-template-columns:clamp(92px,6vw,126px) minmax(0,1fr)!important;gap:clamp(20px,1.4vw,30px)!important;min-height:250px!important;padding:var(--v60-card-pad)!important;border-radius:22px!important}
.about-person h3{font-size:clamp(21px,1.15vw,26px)!important}
.about-person__role,.about-person__meta{font-size:var(--v60-meta)!important}
.about-person p{font-size:var(--v60-text)!important;line-height:1.58!important}

/* ---------- Контакты ---------- */
.contacts-hero{padding-block:clamp(68px,5vw,104px)!important}
.contacts-hero__lead{font-size:var(--v60-text)!important;line-height:1.62!important}
.contacts-meta strong,.contacts-meta span,.contacts-visual__caption span,.contacts-address-card__label,.contacts-address-card span,.contacts-address-card a{font-size:var(--v60-meta)!important}
.contacts-visual__caption strong,.contacts-address-card strong{font-size:clamp(18px,1vw,22px)!important}
.contact-channels,.contact-location,.contact-start,.contact-forms,.contact-requisites{padding-block:var(--v60-section-y)!important}
.contact-heading p,.contact-visit__lead,.contact-start__head p,.contact-forms__heading p,.contact-requisites__intro p{font-size:var(--v60-text)!important;line-height:1.65!important}
.contact-channel-grid,.contact-start__grid,.contact-forms__grid{gap:var(--v60-gap)!important}
.contact-channel{min-height:275px!important;padding:var(--v60-card-pad)!important;border-radius:22px!important}
.contact-channel__label{font-size:clamp(38px,2.2vw,48px)!important}
.contact-channel h2,.contact-channel h3{font-size:var(--v60-card-title)!important}
.contact-channel p{font-size:var(--v60-text)!important;line-height:1.6!important}
.contact-channel__links{font-size:clamp(15.5px,.8vw,17px)!important}
.contact-visit h2,.contact-start__head h2,.contact-requisites__intro h2{font-size:var(--v60-h2)!important}
.contact-visit__list strong{font-size:clamp(15px,.76vw,16.5px)!important}
.contact-visit__list span,.contact-visit__list a{font-size:var(--v60-text-sm)!important}
.contact-step{padding:var(--v60-card-pad)!important;border-radius:20px!important}
.contact-step__num{font-size:var(--v60-meta)!important}
.contact-step h3{font-size:var(--v60-card-title)!important}
.contact-step p{font-size:var(--v60-text)!important;line-height:1.6!important}
.contact-person strong,.contact-person span{font-size:var(--v60-meta)!important}
.contact-form-card{padding:clamp(28px,2vw,42px)!important;border-radius:24px!important}
.contact-form-card__head h2{font-size:clamp(28px,1.8vw,38px)!important}
.contact-form-card__head p{font-size:var(--v60-text)!important;line-height:1.58!important}
.contact-field label,.contact-field__label,.contact-radio span,.contact-consent,.contact-form-note{font-size:var(--v60-meta)!important;line-height:1.45!important}
.contact-input,.contact-textarea{font-size:clamp(15.5px,.78vw,17px)!important}
.contact-details summary{font-size:clamp(15.5px,.82vw,18px)!important}
.contact-details__body{font-size:var(--v60-text-sm)!important;line-height:1.62!important}

/* ---------- Профессионалам ---------- */
.pro-hero{padding-block:clamp(68px,5vw,104px)!important}
.pro-hero__lead{font-size:var(--v60-text)!important;line-height:1.62!important}
.pro-fact strong{font-size:clamp(18px,.95vw,21px)!important}
.pro-fact span,.pro-visual__caption span,.pro-visual__tile-label{font-size:var(--v60-meta)!important}
.pro-visual__caption strong{font-size:clamp(20px,1.05vw,24px)!important}
.pro-visual__tile strong{font-size:clamp(18px,.95vw,21px)!important}
.pro-visual__tile p,.pro-visual__tile a{font-size:var(--v60-text-sm)!important;line-height:1.55!important}
.pro-model,.pro-solutions,.pro-benefits,.pro-comparison,.pro-infrastructure,.pro-partners{padding-block:var(--v60-section-y)!important}
.pro-section-head p,.pro-benefits__head p,.pro-when__copy p,.pro-contact__lead{font-size:var(--v60-text)!important;line-height:1.65!important}
.pro-step{padding:clamp(30px,2vw,42px) clamp(22px,1.3vw,30px)!important}
.pro-step__num,.pro-benefit__num,.pro-solution__tag,.pro-compare__label,.pro-infra__tag{font-size:var(--v60-meta)!important}
.pro-step h3,.pro-benefit h3{font-size:var(--v60-card-title)!important}
.pro-step p,.pro-benefit p{font-size:var(--v60-text)!important;line-height:1.6!important}
.pro-solution{min-height:490px!important;border-radius:22px!important}
.pro-solution h3{font-size:clamp(22px,1.22vw,28px)!important}
.pro-solution p,.pro-solution li{font-size:var(--v60-text)!important;line-height:1.58!important}
.pro-benefit{min-height:285px!important;padding:var(--v60-card-pad)!important;border-radius:20px!important}
.pro-benefits__head h2,.pro-when__copy h2,.pro-contact h2{font-size:var(--v60-h2)!important}
.pro-compare h3,.pro-infra h3{font-size:clamp(26px,1.5vw,34px)!important}
.pro-compare p,.pro-compare li,.pro-infra p,.pro-infra li{font-size:var(--v60-text)!important;line-height:1.6!important}
.pro-compare li span{font-size:var(--v60-text-sm)!important}
.pro-partner strong{font-size:clamp(15px,.78vw,17px)!important}
.pro-partner span,.pro-check span,.pro-contact__meta a,.pro-contact__meta span,.pro-form label,.pro-form__policy{font-size:var(--v60-meta)!important}
.pro-check strong{font-size:clamp(15.5px,.8vw,17.5px)!important}

/* ---------- Услуги ---------- */
.services-hero{padding-block:clamp(70px,5vw,108px)!important}
.services-hero__lead{font-size:var(--v60-text)!important;line-height:1.62!important}
.services-fact strong{font-size:clamp(18px,.95vw,21px)!important}
.services-fact span,.services-visual__caption span,.services-visual__tile-label{font-size:var(--v60-meta)!important}
.services-visual__caption strong,.services-visual__tile strong{font-size:clamp(19px,1vw,23px)!important}
.services-anchor a,.services-anchor__label{font-size:var(--v60-meta)!important}
.services-intro,.support-services,.services-process,.estimate-section,.services-feedback{padding-block:var(--v60-section-y)!important}
.service-packages{padding-bottom:var(--v60-section-y)!important}
.services-section-head h2,.support-services__head h2,.services-process__copy h2{font-size:var(--v60-h2)!important}
.services-section-head p,.support-services__head p,.services-process__copy p,.services-note p{font-size:var(--v60-text)!important;line-height:1.65!important}
.services-note strong{font-size:clamp(16px,.83vw,18px)!important}
.service-package{grid-template-columns:minmax(400px,.82fr) minmax(0,1.18fr)!important;min-height:560px!important;border-radius:26px!important}
.service-package__body{padding:clamp(30px,2.1vw,46px)!important}
.service-package__media-copy strong{font-size:clamp(21px,1.12vw,26px)!important}
.service-package__media-copy span,.service-package__tag,.service-package__price span,.service-package__examples-label{font-size:var(--v60-meta)!important}
.service-package h3{font-size:clamp(31px,2vw,44px)!important}
.service-package__price strong{font-size:clamp(30px,1.8vw,38px)!important}
.service-package__description{font-size:var(--v60-text)!important;line-height:1.65!important}
.service-package__example{font-size:var(--v60-text-sm)!important;line-height:1.45!important}
.service-package summary{font-size:clamp(15.5px,.82vw,18px)!important}
.service-package__list li{font-size:var(--v60-text)!important;line-height:1.58!important}
.services-steps{gap:var(--v60-gap)!important}
.services-step{grid-template-columns:58px minmax(0,1fr)!important;gap:20px!important;padding:var(--v60-card-pad)!important;border-radius:20px!important}
.services-step__num{font-size:clamp(14px,.68vw,15.5px)!important}
.services-step h3{font-size:var(--v60-card-title)!important}
.services-step p{font-size:var(--v60-text)!important;line-height:1.58!important}
.estimate-form__title{font-size:clamp(24px,1.35vw,30px)!important}
.estimate-form__field span,.estimate-form label{font-size:var(--v60-meta)!important}
.estimate-form input,.estimate-form select,.estimate-form textarea{font-size:clamp(15.5px,.78vw,17px)!important}
.services-feedback__copy p,.services-feedback__contacts{font-size:var(--v60-text)!important;line-height:1.6!important}

/* ---------- Управление недвижимостью ---------- */
.estate-hero__lead{font-size:var(--v60-text)!important;line-height:1.62!important}
.estate-section{padding-block:var(--v60-section-y)!important}
.estate-title,.estate-title--sm{font-size:var(--v60-h2)!important;line-height:1.12!important}
.estate-section :where(p,li){font-size:var(--v60-text)!important;line-height:1.62!important}
.estate-card,.estate-loss,.estate-project,.estate-form-card{border-radius:20px!important}
.estate-card,.estate-loss{padding:var(--v60-card-pad)!important}
.estate-card h3,.estate-loss h3,.estate-project h3{font-size:var(--v60-card-title)!important;line-height:1.25!important}
.estate-step{padding:clamp(22px,1.4vw,30px)!important;border-radius:18px!important}
.estate-step h3{font-size:clamp(19px,1vw,23px)!important}
.estate-step p{font-size:var(--v60-text-sm)!important}
.estate-project-tabs a{font-size:clamp(14px,.68vw,15.5px)!important;min-height:40px!important}
.estate-project__specs span,.estate-project__address{font-size:var(--v60-meta)!important}
.estate-project__specs strong{font-size:clamp(14px,.7vw,16px)!important}
.estate-faq summary{font-size:clamp(17px,.9vw,20px)!important;min-height:68px!important}
.estate-faq details p{font-size:var(--v60-text)!important}
.estate-calc__panel-head strong{font-size:clamp(18px,.95vw,21px)!important}
.estate-calc__panel-head p,.estate-calc__results-title p,.estate-calc__disclaimer{font-size:var(--v60-text-sm)!important;line-height:1.55!important}
.estate-calc--v2 .estate-field label,.estate-calc--v2 .estate-field__label,.estate-calc--v2 .estate-segment label{font-size:var(--v60-meta)!important}
.estate-calc--v2 .estate-field__value{font-size:clamp(17px,.88vw,20px)!important}
.estate-calc--v2 .estate-select{font-size:clamp(15px,.75vw,16.5px)!important}
.estate-range__scale,.estate-live-pill,.estate-metric__label,.estate-liquidity,.estate-insights__caption,.estate-insight-card__badge{font-size:var(--v60-meta)!important}
.estate-insights__head h3{font-size:clamp(21px,1.12vw,26px)!important}
.estate-insight-card h4{font-size:clamp(18px,.95vw,22px)!important}
.estate-insight-card p{font-size:var(--v60-text-sm)!important;line-height:1.58!important}
.estate-cta p,.estate-form-card>p{font-size:var(--v60-text)!important}
.estate-team-mini__person strong,.estate-team-mini__person span,.estate-form__types label,.estate-form__legal,.estate-form__status{font-size:var(--v60-meta)!important}
.estate-form-card h3{font-size:clamp(25px,1.4vw,32px)!important}

/* ---------- Каталог проектов ---------- */
.projects-hero{padding-block:clamp(76px,5.2vw,112px)!important}
.projects-hero__lead{font-size:var(--v60-text)!important;line-height:1.62!important}
.projects-stat strong{font-size:clamp(20px,1.05vw,24px)!important}
.projects-stat span,.projects-collage__label,.projects-jump__label,.projects-jump a{font-size:var(--v60-meta)!important}
.projects-catalog,.projects-proof{padding-block:var(--v60-section-y)!important}
.projects-catalog__head h2,.projects-proof h2{font-size:var(--v60-h2)!important}
.projects-catalog__head p,.projects-proof p{font-size:var(--v60-text)!important;line-height:1.65!important}
.projects-grid{gap:var(--v60-gap)!important}
.projects-card{min-height:440px!important;border-radius:22px!important}
.projects-card__tag{font-size:var(--v60-meta)!important}
.projects-card h3,.projects-card:not(.projects-card--wide) h3{font-size:clamp(24px,1.45vw,32px)!important;line-height:1.16!important}
.projects-card__bottom{font-size:var(--v60-meta)!important}
.projects-proof__badge strong{font-size:clamp(16px,.85vw,19px)!important}
.projects-proof__badge span,.projects-proof__list li{font-size:var(--v60-text-sm)!important;line-height:1.55!important}

/* ---------- Универсальные внутренние страницы / проекты / статьи / документы ---------- */
.complete-page .cp-hero{min-height:clamp(520px,34vw,720px)!important}
.complete-page .cp-hero__lead{font-size:var(--v60-text)!important;line-height:1.62!important;max-width:760px!important}
.complete-page .cp-breadcrumbs,.complete-page .cp-hero__badge span,.complete-page .cp-jump__label{font-size:var(--v60-meta)!important}
.complete-page .cp-hero__badge strong{font-size:clamp(20px,1.05vw,25px)!important}
.complete-page .cp-jump a{font-size:clamp(14.5px,.72vw,16px)!important}
.complete-page .cp-section{padding-block:var(--v60-section-y)!important}
.complete-page .cp-section__head{margin-bottom:clamp(30px,2.5vw,48px)!important}
.complete-page .cp-section__head h2,.complete-page .cp-feature h2{font-size:var(--v60-h2)!important}
.complete-page .cp-section__head p{font-size:var(--v60-text)!important;line-height:1.65!important}
.complete-page .cp-grid,.complete-page .cp-cards{gap:var(--v60-gap)!important}
.complete-page .cp-card{padding:var(--v60-card-pad)!important;border-radius:22px!important}
.complete-page .cp-card h3{font-size:var(--v60-card-title)!important}
.complete-page .cp-card p,.complete-page .cp-card li{font-size:var(--v60-text)!important;line-height:1.6!important}
.complete-page .cp-media-card{border-radius:22px!important}
.complete-page .cp-media-card__tag{font-size:var(--v60-meta)!important}
.complete-page .cp-media-card h3{font-size:clamp(23px,1.25vw,29px)!important}
.complete-page .cp-stat strong{font-size:clamp(25px,1.4vw,31px)!important}
.complete-page .cp-stat span,.complete-page .cp-project-meta span,.complete-page .cp-room-nav a{font-size:var(--v60-meta)!important}
.complete-page .cp-gallery{gap:clamp(12px,1vw,20px)!important;grid-auto-rows:clamp(170px,11vw,250px)!important}
.complete-page .cp-feature{gap:clamp(34px,3vw,64px)!important}
.complete-page .cp-article-card{border-radius:22px!important}
.complete-page .cp-article-card__meta{font-size:var(--v60-meta)!important}
.complete-page .cp-article-card h2,.complete-page .cp-article-card h3{font-size:clamp(22px,1.2vw,28px)!important;line-height:1.25!important}
.complete-page .cp-article-card__link,.complete-page .cp-aside a{font-size:var(--v60-text-sm)!important}
.complete-page .cp-article__content{font-size:var(--v60-text)!important;line-height:1.72!important}
.complete-page .cp-article__content p,.complete-page .cp-article__content li{font-size:var(--v60-text)!important;line-height:1.72!important}
.complete-page .cp-article__content h2{font-size:clamp(29px,1.75vw,38px)!important;line-height:1.2!important;margin-top:1.7em!important}
.complete-page .cp-article__content h3{font-size:clamp(22px,1.2vw,28px)!important;line-height:1.25!important}
.complete-page .cp-article__content blockquote{font-size:clamp(18px,1vw,22px)!important;line-height:1.58!important}
.complete-page .cp-aside h3{font-size:clamp(19px,1vw,23px)!important}
.complete-page .cp-legal{font-size:var(--v60-text)!important;line-height:1.72!important}
.complete-page .cp-legal h2{font-size:clamp(26px,1.55vw,34px)!important}
.complete-page .cp-site-map h2{font-size:clamp(22px,1.2vw,28px)!important}
.complete-page .cp-site-map :where(a,li,p){font-size:var(--v60-text)!important;line-height:1.6!important}

/* ---------- Единый нижний блок «С чего начать?» ---------- */
.indalo-common-start{padding-block:var(--v60-section-y)!important}
.indalo-common-start__title{font-size:var(--v60-h2)!important}
.indalo-common-start p{font-size:var(--v60-text)!important;line-height:1.6!important}
.indalo-common-start :where(.indalo-common-start__card,.indalo-common-start__item){border-radius:20px!important}
.indalo-common-start h3{font-size:var(--v60-card-title)!important}

/* ---------- Full HD / 2K ---------- */
@media (min-width:1600px){
  :where(.about-page,.contacts-page,.pro-page,.services-page,.projects-page,.estate-page) .container,
  .main > section:not(.hero) .container{width:min(calc(100% - 96px),1480px)}
  .complete-page .cp-container{width:min(calc(100% - 96px),1480px)}
  .main > section:not(.hero) .heading{max-width:1020px}
  .service-package{grid-template-columns:minmax(480px,.82fr) minmax(0,1.18fr)!important}
}

@media (min-width:1920px){
  :where(.about-page,.contacts-page,.pro-page,.services-page,.projects-page,.estate-page) .container,
  .main > section:not(.hero) .container{width:min(calc(100% - 128px),1640px)}
  .complete-page .cp-container{width:min(calc(100% - 128px),1560px)}
  .projects-card{min-height:470px!important}
  .pro-solution{min-height:520px!important}
}

/* ---------- 2.5K / QHD / ultrawide ---------- */
@media (min-width:2560px){
  main{
    --v60-text:18px;
    --v60-text-sm:16px;
    --v60-meta:14.5px;
    --v60-card-title:25px;
    --v60-h2:50px;
    --v60-section-y:120px;
    --v60-card-pad:36px;
    --v60-gap:32px;
  }
  :where(.about-page,.contacts-page,.pro-page,.services-page,.projects-page,.estate-page) .container,
  .main > section:not(.hero) .container{width:min(calc(100% - 180px),1880px)}
  .complete-page .cp-container{width:min(calc(100% - 180px),1720px)}
  .home-facts .container{width:min(calc(100% - 180px),1880px)!important}
  .projects-grid{column-gap:32px!important;row-gap:34px!important}
  .projects-card{min-height:510px!important}
  .home-before-after{min-height:660px!important}
  .cp-article__grid{gap:64px!important}
}

/* ---------- 4K ---------- */
@media (min-width:3200px){
  main{
    --v60-text:19px;
    --v60-text-sm:16.5px;
    --v60-meta:15px;
    --v60-card-title:27px;
    --v60-h2:54px;
    --v60-section-y:132px;
    --v60-card-pad:40px;
    --v60-gap:36px;
  }
  :where(.about-page,.contacts-page,.pro-page,.services-page,.projects-page,.estate-page) .container,
  .main > section:not(.hero) .container{width:min(calc(100% - 260px),2160px)}
  .complete-page .cp-container{width:min(calc(100% - 260px),1880px)}
  .home-facts .container{width:min(calc(100% - 260px),2160px)!important}
  .home-fact{min-height:104px!important;padding:22px!important}
  .home-before-after{min-height:720px!important}
  .projects-card{min-height:560px!important}
  .pro-solution{min-height:580px!important}
  .service-package{min-height:640px!important}
  .complete-page .cp-gallery{grid-auto-rows:270px!important}
}

/* ---------- Планшеты ---------- */
@media (max-width:1199.98px){
  main{--v60-section-y:clamp(64px,7vw,86px)}
  :where(.about-page,.contacts-page,.pro-page,.services-page,.projects-page,.estate-page) .container,
  .main > section:not(.hero) .container,
  .complete-page .cp-container{width:min(calc(100% - 40px),1100px)}
  .service-package{grid-template-columns:1fr!important;min-height:0!important}
  .home-case-grid{grid-template-columns:1fr!important}
  .home-before-after{min-height:520px!important}
}

@media (max-width:991.98px){
  main{--v60-text:16px;--v60-text-sm:15px;--v60-meta:13.5px;--v60-h2:clamp(31px,6vw,42px)}
  .main > section:not(.hero) .container,
  :where(.about-page,.contacts-page,.pro-page,.services-page,.projects-page,.estate-page) .container,
  .complete-page .cp-container{width:min(calc(100% - 32px),920px)}
  .home-faq__intro{grid-template-columns:1fr!important}
  .home-faq__media{min-height:260px!important}
  .home-reviews-action{grid-template-columns:1fr!important}
  .home-reviews-action__buttons{justify-content:flex-start!important}
  .about-person{grid-template-columns:88px minmax(0,1fr)!important}
  .complete-page .cp-feature{grid-template-columns:1fr!important}
}

/* ---------- Мобильные ---------- */
@media (max-width:767.98px){
  main{--v60-section-y:58px;--v60-card-pad:22px;--v60-gap:16px}
  .main > section:not(.hero) .container,
  :where(.about-page,.contacts-page,.pro-page,.services-page,.projects-page,.estate-page) .container,
  .complete-page .cp-container{width:calc(100% - 28px)}
  main :where(.eyebrow,.about-hero__kicker,.contacts-kicker,.pro-kicker,.services-kicker,.projects-kicker,.cp-eyebrow){font-size:12.5px!important;letter-spacing:.11em}
  .home-fact{min-height:82px!important;padding:15px!important}
  .scenario__body{padding:24px!important}
  .home-faq__media{min-height:200px!important}
  .home-faq__item summary{min-height:68px!important;padding:17px 52px 17px 2px!important;font-size:18px!important}
  .home-faq__answer{padding:0 52px 20px 20px!important;font-size:15.5px!important}
  .home-benefit{min-height:0!important}
  .home-before-after{min-height:390px!important}
  .home-mistakes{padding:22px!important}
  .request-card__body{padding:20px!important}
  .home-process-card{min-height:0!important}
  .team-card{min-height:0!important}
  .about-hero,.contacts-hero,.pro-hero,.services-hero,.projects-hero{padding-block:54px!important}
  .about-benefit,.about-person,.contact-channel,.contact-step,.pro-benefit,.services-step,.cp-card{padding:22px!important}
  .about-person{grid-template-columns:72px minmax(0,1fr)!important;gap:16px!important;min-height:0!important}
  .contact-channel{min-height:0!important}
  .contact-form-card{padding:24px!important}
  .pro-solution{min-height:430px!important}
  .projects-card{min-height:390px!important}
  .complete-page .cp-hero{min-height:440px!important}
  .complete-page .cp-gallery{grid-auto-rows:150px!important;gap:10px!important}
  .complete-page .cp-article__content p,.complete-page .cp-article__content li{font-size:16px!important}
}

@media (max-width:479.98px){
  .main > section:not(.hero) .container,
  :where(.about-page,.contacts-page,.pro-page,.services-page,.projects-page,.estate-page) .container,
  .complete-page .cp-container{width:calc(100% - 24px)}
  .home-before-after{min-height:330px!important}
  .projects-card{min-height:350px!important}
  .pro-solution{min-height:390px!important}
  .complete-page .cp-gallery{grid-auto-rows:132px!important}
}

/* ---------- Финальная нормализация оставшегося микротекста ---------- */
main :where(.about-breadcrumbs,.contacts-breadcrumbs,.pro-breadcrumbs,.services-breadcrumbs,.projects-breadcrumbs,.estate-breadcrumbs,.estate-eyebrow){
  font-size:var(--v60-meta)!important;
  line-height:1.45!important;
}
.indalo-common-start__person strong,.about-start-person strong{font-size:clamp(14px,.68vw,15.5px)!important}
.indalo-common-start__person span,.about-start-person span{font-size:var(--v60-meta)!important;line-height:1.4!important}

/* Дополнительные услуги и формы на странице стоимости. */
.support-card{border-radius:22px!important;padding:var(--v60-card-pad)!important}
.support-card__tag{font-size:var(--v60-meta)!important}
.support-card h3{font-size:var(--v60-card-title)!important;line-height:1.22!important}
.support-card p,.support-card li{font-size:var(--v60-text)!important;line-height:1.58!important}
.support-card__price span,.support-card__link{font-size:var(--v60-text-sm)!important}
.estimate-point{font-size:var(--v60-text-sm)!important;line-height:1.5!important}
.estimate-field label,.estimate-legend,.estimate-radio span,.estimate-consent,.estimate-note,.feedback-form__consent{font-size:var(--v60-meta)!important;line-height:1.45!important}
.estimate-field input,.estimate-field textarea,.feedback-form input,.feedback-form textarea{font-size:clamp(15.5px,.78vw,17px)!important}

/* Дополнительные элементы страницы управления недвижимостью. */
.estate-jump__label,.estate-scenario__num,.estate-flow-card__tag,.estate-tariff__label,.estate-calc__panel-index{font-size:var(--v60-meta)!important}
.estate-jump a,.estate-scenario__result,.estate-flow-card p,.estate-calc__recommendation{font-size:var(--v60-text-sm)!important;line-height:1.55!important}
.estate-income span,.estate-tariff__price span,.estate-tariff__note,.estate-option span,.estate-benefit span,.estate-result span,.estate-metric--primary:after{font-size:var(--v60-meta)!important}
.projects-empty span{font-size:var(--v60-text-sm)!important;line-height:1.5!important}

/* ---------- V61 hotfix: homepage spacing and grid alignment ---------- */
/* Причина пустот: к Bootstrap .row был добавлен gap, из-за этого ширины колонок суммарно превышали 100%. 
   Ниже секции переводятся на управляемый CSS Grid с обнулением bootstrap-обвязки. */

/* Ширина homepage-контейнеров: учитываем container-xl и большие экраны */
.main > section:not(.hero) .container-xl{
  width:min(calc(100% - clamp(32px,5vw,144px)),1320px)!important;
  max-width:none!important;
}
@media (min-width:1600px){
  .main > section:not(.hero) .container-xl{
    width:min(calc(100% - 80px),1480px)!important;
  }
}
@media (min-width:1920px){
  .main > section:not(.hero) .container-xl{
    width:min(calc(100% - 120px),1640px)!important;
  }
}
@media (min-width:2560px){
  .main > section:not(.hero) .container-xl{
    width:min(calc(100% - 180px),1880px)!important;
  }
}
@media (min-width:3200px){
  .main > section:not(.hero) .container-xl{
    width:min(calc(100% - 260px),2160px)!important;
  }
}

/* 1) Полоса преимуществ под hero — переигрываем в более премиальный 3x2 блок */
#facts{
  padding-block:clamp(20px,2vw,34px)!important;
}
#facts .home-facts__grid{
  gap:clamp(12px,1vw,18px)!important;
}
#facts .home-fact{
  min-height:102px!important;
  padding:18px 18px!important;
  align-items:flex-start!important;
}
#facts .home-facts__grid > .home-fact:first-child{
  background:linear-gradient(135deg,#fff,#f7efe6)!important;
  border-color:#e9d9c8!important;
  box-shadow:0 14px 34px rgba(39,31,25,.06)!important;
}
#facts .home-facts__grid > .home-fact:first-child strong{
  font-size:clamp(17px,.95vw,20px)!important;
}
@media (min-width:1200px){
  #facts .home-facts__grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media (min-width:768px) and (max-width:1199.98px){
  #facts .home-facts__grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media (max-width:767.98px){
  #facts .home-facts__grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media (max-width:479.98px){
  #facts .home-facts__grid{
    grid-template-columns:1fr!important;
  }
}

/* 2) Унифицируем блоки карточек, где не должно быть пустот */
.home-benefits,
.home-reviews,
.requests{
  margin:0!important;
}
.home-benefits > [class*="col-"],
.home-reviews > [class*="col-"],
.requests > [class*="col-"]{
  max-width:none!important;
  width:auto!important;
  padding:0!important;
  margin:0!important;
}

/* Блок выгод: делаем ровную 2x2 сетку — так он выглядит дороже и без пустот */
#trust .heading{margin-bottom:clamp(28px,2.5vw,44px)!important}
#trust .home-benefits{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:clamp(18px,1.35vw,28px)!important;
  align-items:stretch!important;
}
#trust .home-benefit{
  min-height:100%!important;
}
#trust .home-inline-cta{
  margin-top:clamp(22px,2vw,34px)!important;
}
@media (max-width:767.98px){
  #trust .home-benefits{
    grid-template-columns:1fr!important;
  }
}

/* Отзывы: на широких экранах 3 в ряд, на средних 2 + центрированный 3-й */
#reviews .heading{margin-bottom:clamp(28px,2.5vw,44px)!important}
#reviews .home-reviews{
  display:grid!important;
  gap:clamp(18px,1.35vw,28px)!important;
  align-items:stretch!important;
}
#reviews .home-review{
  min-height:100%!important;
}
#reviews .home-reviews-action{
  margin-top:clamp(22px,2vw,34px)!important;
}
@media (min-width:1400px){
  #reviews .home-reviews{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media (min-width:768px) and (max-width:1399.98px){
  #reviews .home-reviews{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  #reviews .home-reviews > :last-child{
    grid-column:1 / -1;
    max-width:min(620px, calc(50% - 10px))!important;
    justify-self:center;
  }
}
@media (max-width:767.98px){
  #reviews .home-reviews{
    grid-template-columns:1fr!important;
  }
}

/* Запросы клиентов: 3 равные карточки, без сдвигов и пустых зон */
#requests .heading{margin-bottom:clamp(28px,2.5vw,44px)!important}
#requests .requests{
  display:grid!important;
  gap:clamp(18px,1.35vw,28px)!important;
  align-items:stretch!important;
}
#requests .request-card{
  height:100%!important;
}
#requests .request-card__media img{
  width:100%!important;
  aspect-ratio:16/10;
  object-fit:cover!important;
}
@media (min-width:1400px){
  #requests .requests{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media (min-width:768px) and (max-width:1399.98px){
  #requests .requests{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  #requests .requests > :last-child{
    grid-column:1 / -1;
    max-width:min(620px, calc(50% - 10px))!important;
    justify-self:center;
  }
}
@media (max-width:767.98px){
  #requests .requests{
    grid-template-columns:1fr!important;
  }
}

/* Дополнительный вертикальный ритм между проблемными блоками */
#trust.section,
#reviews.section,
#requests.section{
  padding-block:clamp(74px,5.1vw,112px)!important;
}
#case.section{
  padding-top:clamp(78px,5.3vw,118px)!important;
}

/* ---------- V62: CTA под FAQ ---------- */
.home-faq__more{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:clamp(18px,1.5vw,28px);
  align-items:center;
  margin-top:clamp(22px,2vw,34px)!important;
  padding:clamp(22px,1.8vw,30px)!important;
  border:1px solid rgba(58,47,38,.12);
  border-radius:22px;
  background:linear-gradient(135deg,#fff,#f8f2eb);
  box-shadow:0 14px 38px rgba(43,31,20,.05);
}
.home-faq__more-copy{
  display:grid;
  gap:8px;
}
.home-faq__more-copy strong{
  font-size:clamp(20px,1.08vw,25px)!important;
  line-height:1.2;
  color:#221d19;
}
.home-faq__more-copy span{
  font-size:var(--v60-text-sm)!important;
  line-height:1.6!important;
  color:#6a6057;
  max-width:760px;
}
.home-faq__more-link{
  white-space:nowrap;
  min-width:220px;
  justify-content:center;
}
@media (max-width:767.98px){
  .home-faq__more{
    grid-template-columns:1fr;
  }
  .home-faq__more-link{
    width:100%;
    min-width:0;
  }
}

/* ---------- V64: финальное оформление CTA под FAQ ---------- */
.home-faq__more{
  margin-top:clamp(28px,2.4vw,40px)!important;
  padding:clamp(26px,2.1vw,36px) clamp(26px,2.4vw,42px)!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:clamp(24px,3vw,52px)!important;
  align-items:center!important;
  border:1px solid rgba(55,43,33,.10)!important;
  border-radius:24px!important;
  background:linear-gradient(135deg,#fff 0%,#fbf7f2 58%,#f4e9dd 100%)!important;
  box-shadow:0 18px 48px rgba(44,31,20,.065)!important;
}
.home-faq__more-copy{
  min-width:0!important;
  display:grid!important;
  gap:10px!important;
  max-width:790px!important;
}
.home-faq__more-badge{
  width:max-content!important;
  display:inline-flex!important;
  align-items:center!important;
  min-height:30px!important;
  padding:6px 12px!important;
  border-radius:999px!important;
  background:#f0e2d3!important;
  color:#99683c!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:700!important;
  letter-spacing:.11em!important;
  text-transform:uppercase!important;
}
.home-faq__more-copy strong{
  display:block!important;
  margin-top:2px!important;
  color:#211d19!important;
  font-size:clamp(23px,1.45vw,30px)!important;
  line-height:1.16!important;
  letter-spacing:-.025em!important;
}
.home-faq__more-copy>span:not(.home-faq__more-badge){
  display:block!important;
  max-width:760px!important;
  color:#6f655c!important;
  font-size:clamp(15px,.82vw,17px)!important;
  line-height:1.65!important;
}
.home-faq__more-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
}
.home-faq__more-link{
  min-width:260px!important;
  min-height:52px!important;
  padding:13px 22px!important;
  justify-content:center!important;
  white-space:nowrap!important;
  box-shadow:0 13px 30px rgba(184,132,82,.18)!important;
}
.home-faq__more-textlink{display:none!important}
@media(max-width:900px){
  .home-faq__more{
    grid-template-columns:1fr!important;
    gap:20px!important;
  }
  .home-faq__more-actions{justify-content:flex-start!important}
}
@media(max-width:767.98px){
  .home-faq__more{
    margin-top:24px!important;
    padding:22px 18px!important;
    border-radius:20px!important;
  }
  .home-faq__more-copy strong{font-size:22px!important}
  .home-faq__more-copy>span:not(.home-faq__more-badge){font-size:14.5px!important}
  .home-faq__more-actions,.home-faq__more-link{width:100%!important}
  .home-faq__more-link{min-width:0!important}
}
