/* Размеры повторяющихся элементов — по главной. Специфичность изолирует
   эту шкалу от накопленных правил предыдущих релизов. */
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) {
 --vt-type-heading:44px; --vt-type-heading-line:1.14;
 --vt-type-card:24px; --vt-type-work:20px;
 --vt-type-lead:18px; --vt-type-work-copy:13px;
 --vt-type-subheading:24px;
}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) :is(
 .page-head h1,.hr-case-head h1,.door-info h1,
 .sec-head h2,.hr-heading h2,.h2-cats__head h2,.fg-factory-head h2,
 .hr-estimate-intro h2,.fg-geography>h2,.partner-request h2,.geo-copy h2,
 .hr-final-form h2,.lead-panel h2,.door-lead>h2,.solution-request-copy h2
) {
 font:500 var(--vt-type-heading)/var(--vt-type-heading-line) Manrope,Inter,system-ui,sans-serif!important;
 letter-spacing:-.035em!important;text-transform:none!important;
}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) :is(
 .ph-lead,.sec-note,.hr-heading p,.h2-cats__head p,.fg-factory-head>p,
 .hr-estimate-intro>p,.fg-geography>p,.solution-request-copy>p,
 .partner-copy>div>p:not(.eyebrow),.geo-copy h2+p,.door-lead>p.mono
) {
 font:400 var(--vt-type-lead)/1.6 Inter,system-ui,sans-serif!important;
 letter-spacing:normal!important;text-transform:none!important;
}
/* Тематические карточки — как три сценария главной. */
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) :is(.sol-card h3,.info-card h3,.hr-segment h3,.sol-prj__card h3,.c-body h2) {
 font:500 var(--vt-type-card)/1.3 Manrope,Inter,system-ui,sans-serif!important;
 letter-spacing:-.025em!important;text-transform:none!important;
}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) :is(.sol-card p,.info-card p:not(.mono):not(.geo-addr),.hr-segment p,.c-desc,.bi-card__ex,.blog-row__body>p:not(.blog-read)) {
 font:400 16px/1.6 Inter,system-ui,sans-serif!important;letter-spacing:normal!important;
}
/* Работа в портфолио — один компонент на всех страницах. */
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) :is(.hr-project-body h3,#sol-projects .sol-prj__card h3,.ow-card__body h3) {
 font:500 var(--vt-type-work)/1.3 Manrope,Inter,system-ui,sans-serif!important;letter-spacing:-.025em!important;text-transform:none!important;
}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) :is(.hr-project-body p,.ow-card__body p) {
 font:400 var(--vt-type-work-copy)/1.6 Inter,system-ui,sans-serif!important;
}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .c-price {
 font:800 18px/1.5 Manrope,Inter,system-ui,sans-serif!important;
}
/* Текстовые разделы и вложенные заголовки имеют собственный уровень. */
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) :is(.tp-body,.ba-text,.blog-body,.hr-case-copy,.door-lede) {
 font:400 16px/1.6 Inter,system-ui,sans-serif!important;
}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) :is(.tp-body,.ba-text,.blog-body,.hr-case-copy) :is(p,li) {
 font-size:16px!important;font-weight:400!important;line-height:1.6!important;
}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) :is(
 .tp-body h2,.ba-text h2,.blog-body h2,.hr-case-copy h2,
 .door-section>h2,.shopgal__head h3,.bi-card h2,.blog-row__body h2,
 .cta-band h2,.lead-modal__win h2,.vc h2,.vc h3,.q h2
) {
 font:500 var(--vt-type-subheading)/1.3 Manrope,Inter,system-ui,sans-serif!important;
 letter-spacing:-.025em!important;text-transform:none!important;
}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) :is(.tp-body h3,.ba-text h3,.blog-body h3,.hr-case-copy h3) {
 font:500 20px/1.35 Manrope,Inter,system-ui,sans-serif!important;letter-spacing:-.025em!important;text-transform:none!important;
}
/* Одинаковый текст на обычной кнопке — независимо от места подключения. */
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) :is(.btn,.fg-button,.nav-cta,.mm-cta,.vc-actions>button,.vc form button[type=submit],#qzPrev,#qzNext,.ba-back,.blog-read,.ow-case-link,.link-arrow,.hr-card-link) {
 font:600 13px/1.35 Inter,system-ui,sans-serif!important;
 letter-spacing:0!important;text-transform:none!important;
}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) :is(.btn,.fg-button,.nav-cta,.mm-cta,.vc-actions>button,.vc form button[type=submit],#qzPrev,#qzNext,.ba-back,.blog-read,.ow-case-link,.link-arrow,.hr-card-link) .vm-label {
 font:inherit!important;letter-spacing:inherit!important;text-transform:inherit!important;
}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) :is(.lead-form .lead-field>span,.lead-form .lead-alt,.lead-form .lead-agree>span,.lead-modal__lead,.vc-note) {
 font:400 13px/1.6 Inter,system-ui,sans-serif!important;letter-spacing:normal!important;text-transform:none!important;
}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .lead-form .lead-field>span {
 font-size:12px!important;font-weight:600!important;
}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .lead-form :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),textarea,select) {
 font:400 16px/1.5 Inter,system-ui,sans-serif!important;
}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) :is(.geo-rev-date,.geo-revcard-name,.geo-rev-src) {
 font:600 11.2px/1.6 Inter,system-ui,sans-serif!important;
}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .geo-stars {font:400 12.48px/1.6 Inter,system-ui,sans-serif!important}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .geo-cta-star {font-size:33.6px!important;line-height:1!important}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) #chipsDesc {font:400 14px/1.55 Inter,system-ui,sans-serif!important}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) :is(.geo-addr,.contact-details dd) {
 font:400 18px/1.55 Inter,system-ui,sans-serif!important;
}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .mobile-menu :is(.mm-group-label,nav>a:not(.mm-cta)) {font-weight:500!important}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .qz-title {font:500 20px/1.3 Manrope,Inter,sans-serif!important;text-transform:none!important}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .q-num {font:600 14px/1.4 Inter,system-ui,sans-serif!important}
/* Карточка — целиком ссылка. Вместо кнопки внутри — спокойная стрелка перехода. */
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) #solutions .hr-segment {
 position:relative;min-height:220px;padding:28px 28px 66px!important;
 background:#faf9f6!important;border:1px solid #dedbd3!important;border-radius:12px!important;
 transition:background .2s,border-color .2s,transform .2s;
}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) #solutions .hr-segment p {margin:12px 0 0!important;flex:initial!important}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) #solutions .hr-segment .hr-card-link {display:none!important}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) #solutions .hr-segment::after {
 content:'↗';position:absolute;right:26px;bottom:20px;font:400 26px/1 Inter,system-ui,sans-serif;color:#89652e;
 transition:transform .2s;
}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) #solutions .hr-segment:hover {background:#f3f0e8!important;border-color:#a47d3b!important;transform:translateY(-2px)}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) #solutions .hr-segment:hover::after {transform:translate(2px,-2px)}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) #solutions .hr-segment:focus-visible {outline:2px solid #89652e;outline-offset:4px}
@media(max-width:700px) {
 html body.fg-preview:not(#vt-type-a):not(#vt-type-b) {
  --vt-type-heading:30px;--vt-type-heading-line:1.16;--vt-type-card:22px;
  --vt-type-work:15px;--vt-type-work-copy:12px;--vt-type-lead:16px;--vt-type-subheading:22px;
 }
 html body.fg-preview:not(#vt-type-a):not(#vt-type-b) #chipsDesc {font-size:13px!important}
 html body.fg-preview:not(#vt-type-a):not(#vt-type-b) #solutions .hr-segment {min-height:0;padding:24px 24px 60px!important}
}
@media(prefers-reduced-motion:reduce) {
 html body.fg-preview:not(#vt-type-a):not(#vt-type-b) #solutions .hr-segment,
 html body.fg-preview:not(#vt-type-a):not(#vt-type-b) #solutions .hr-segment::after {transition:none;transform:none}
}

/* Карточка двери: общая ось текста и спокойный ритм характеристик. */
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .door {
 --door-label:220px;
}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .door .door-info {min-width:0}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .door .door-lede {max-width:60ch;margin:20px 0;overflow-wrap:break-word}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .door .door-cta {gap:10px;margin:24px 0 0}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .door .door-cta .btn {min-height:46px;padding:13px 20px;white-space:normal;text-align:center}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .door .wrap>.door-section {
 display:grid;grid-template-columns:var(--door-label) minmax(0,1fr);column-gap:48px;row-gap:20px;
 margin-top:48px;padding-top:48px;
}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .door .wrap>.door-section>h2 {grid-column:1;grid-row:1;margin:0}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .door .wrap>.door-section>:not(h2) {grid-column:2;min-width:0}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .door .door-params__group {margin:0}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .door .door-params__title {font:600 14px/1.5 Inter,system-ui,sans-serif;margin:0 0 10px}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .door .door-params__list li {font:400 14px/1.5 Inter,system-ui,sans-serif;padding:8px 14px}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .door .door-facts {display:block;max-width:900px}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .door .door-chars li {
 display:grid;grid-template-columns:minmax(120px, .65fr) minmax(0,1.35fr);gap:12px 28px;padding:16px 0;
 font:400 16px/1.6 Inter,system-ui,sans-serif;
}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .door .door-chars li:first-child {padding-top:0}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .door .door-chars li>span:last-child {text-align:left;font-weight:500;overflow-wrap:break-word}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .door .door-info .door-section {margin-top:32px;padding-top:28px}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .door .door-feat li {font:400 16px/1.6 Inter,system-ui,sans-serif;padding-top:12px;padding-bottom:12px}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .door .door-feat li::before {top:12px}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .door .door-content {max-width:68ch}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .door .door-content>:first-child {margin-top:0}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .door #lead {max-width:none!important;margin:48px 0 0!important;padding-top:48px;border-top:1px solid var(--sk-line);display:grid;grid-template-columns:var(--door-label) minmax(0,1fr);column-gap:48px}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .door #lead>h2 {grid-column:1;grid-row:1 / span 2;font-size:var(--vt-type-subheading)!important;line-height:1.3!important;letter-spacing:-.025em!important;margin:0!important}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .door #lead>:not(h2) {grid-column:2;max-width:640px;width:100%;box-sizing:border-box}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .door #lead>p {margin:0 0 24px!important;font-size:16px!important}
@media(max-width:1100px) {
 html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .door {--door-label:190px}
}
@media(max-width:700px) {
 html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .door .wrap>.door-section,
 html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .door #lead {display:block;margin-top:32px!important;padding-top:32px}
 html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .door .wrap>.door-section>h2,
 html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .door #lead>h2 {margin:0 0 24px!important}
 html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .door .door-params__group+.door-params__group {margin-top:20px}
 html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .door .door-chars li {grid-template-columns:1fr;gap:4px;padding:16px 0}
 html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .door .door-cta .btn {flex:1 1 160px}
}
/* Цвет действующей кнопки шапки, включая основной CTA формы. */
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .door :is(.btn-dark,.lead-form button[type=submit]) {background:#a9762a!important;border-color:#a9762a!important;color:#14100a!important}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .door :is(.btn-dark,.lead-form button[type=submit]):hover {background:#ba9137!important;border-color:#ba9137!important}

/* Повторяющиеся карточки: радиус фотографий каталога и работ на главной. */
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) {
 --vt-card-radius:4px;--vt-panel-radius:12px;
}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) :is(
 .card,.pcard,.cat-card,.sol-prj__card,.ow-card,
 .bi-card,.blog-row,.hr-project-photo,.h2-cat img,.door-gallery__stage,
 .case-gallery-stage,.ba-cover,.shopgal__cell
) {border-radius:var(--vt-card-radius)!important}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) :is(.lead-panel,.hr-estimate-form,.geo-mapwrap,.geo-reviews--side,.sol-card,.info-card,.about-fact,.sol-ai,.sol-specs>div,.sol-bullets,.ba-toc,.ba-inline-cta) {border-radius:var(--vt-panel-radius)!important}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b):not(.fg-home) .geo-revcard {border-radius:var(--vt-panel-radius)!important}
/* Высота следует за действующим шрифтом: 52/44px обрезали вторые строки. */
html body.fg-preview:not(#vt-type-a):not(#vt-type-b):is(.fg-catalog,.tax-project_category) #grid .card:not(.card-note) .c-body {
 grid-template-rows:minmax(3.9em,auto) auto auto 1fr!important;
}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b):is(.fg-catalog,.tax-project_category) #grid .card:not(.card-note) h2 {
 display:block!important;-webkit-line-clamp:unset!important;overflow:visible!important;
 height:auto!important;max-height:none!important;overflow-wrap:anywhere;
}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b):is(.fg-catalog,.tax-project_category) #grid .card:not(.card-note) .c-desc {
 display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;overflow:hidden!important;
 height:auto!important;max-height:none!important;min-height:3.2em;overflow-wrap:anywhere;
}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b):is(.fg-catalog,.tax-project_category) #grid .card:not(.card-note) .c-actions {align-self:end}
/* FAQ использует тот же круглый переключатель, что этапы главной. */
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .sol-faq details {padding:0!important;border-top:1px solid var(--sk-line);border-bottom:0!important}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .sol-faq details:last-child {border-bottom:1px solid var(--sk-line)!important}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .sol-faq summary {
 display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:start;gap:16px;
 min-height:78px;box-sizing:border-box;padding:1.1rem 0;
 font:500 clamp(20px,1.65vw,26px)/1.25 Manrope,Inter,sans-serif!important;
 list-style:none;cursor:pointer;
}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .sol-faq summary::-webkit-details-marker {display:none}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .sol-faq summary::after {
 content:''!important;display:block;width:32px;height:32px;box-sizing:border-box;
 border:1px solid rgba(35,37,34,.3);border-radius:50%;
 background:linear-gradient(#252724,#252724) center/12px 1px no-repeat,linear-gradient(#252724,#252724) center/1px 12px no-repeat;
 transition:border-color .2s,background-color .2s;
}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .sol-faq details[open] summary::after {
 border-color:#a87321;background-color:rgba(168,115,33,.08);background-size:12px 1px,1px 0;
}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .sol-faq summary:hover {color:#8a5a20}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) :is(.sol-faq summary,.hr-step summary):focus-visible {outline:2px solid var(--sk-gold-ink);outline-offset:4px}
html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .sol-faq details p {margin:0!important;padding:0 50px 1.4rem 0;font:400 16px/1.65 Inter,system-ui,sans-serif!important;max-width:72ch}
@media(max-width:700px) {
 html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .sol-faq summary {grid-template-columns:minmax(0,1fr) 30px;gap:12px;min-height:68px;padding:.9rem 0;font-size:18px!important}
 html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .sol-faq summary::after {width:28px;height:28px}
 html body.fg-preview:not(#vt-type-a):not(#vt-type-b) .sol-faq details p {padding:0 42px 1.15rem 0}
}
