:root {
  --foundation-ink: #27282e;
  --foundation-muted: #6d6e74;
  --foundation-line: #e4e4e4;
  --foundation-brand: #ffa64b;
  --foundation-brand-light: #ffda7c;
  --foundation-ground: #f4f4f4;
}

.foundation-site { background: var(--foundation-ground); color: var(--foundation-ink); font-family: Onest, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
.site-header .container,
.site-header__promo .container { width: 100%; max-width: 1240px; padding-inline: 1rem; }
.site-header__promo { background: var(--foundation-ink); color: rgba(255, 255, 255, .75); }
.site-header__promo .container { display: flex; align-items: center; min-height: 2rem; font-size: .75rem; line-height: 1.35; }
.site-header__promo-row { display: flex; align-items: center; justify-content: space-between; gap: .75rem; width: 100%; }
.site-header__partnership { display: inline-flex; flex: 0 0 auto; align-items: center; gap: .35rem; color: #f2b75d; font-weight: 600; text-decoration: none; }
.site-header__partnership svg { width: 1rem; height: 1rem; transition: transform .2s ease; }
.site-header__partnership:hover, .site-header__partnership:focus { color: #ffca78; }
.site-header__partnership:hover svg, .site-header__partnership:focus svg { transform: translateX(.2rem); }
.site-header__nav { position: relative; border-top: 1px solid var(--foundation-line); }
.main-menu { position: relative; }
.main-menu__desktop { display: block; }
.main-menu__list { display: flex; align-items: center; justify-content: space-between; gap: .125rem; min-height: 3.15rem; margin: 0; padding: 0; list-style: none; }
.main-menu__parent-control { display: flex; align-items: center; }
.main-menu__link, .main-menu__trigger { display: inline-flex; align-items: center; color: var(--foundation-ink); font-size: .9375rem; font-weight: 500; line-height: 1.35; text-decoration: none; }
.main-menu__link { border-radius: .5rem; padding: .75rem .5rem; white-space: nowrap; }
.main-menu__parent-control .main-menu__link { padding-right: .125rem; }
.main-menu__trigger { border: 0; border-radius: .5rem; background: transparent; padding: .75rem .25rem; }
.main-menu__trigger svg { width: 1rem; height: 1rem; opacity: .6; transition: transform .2s ease; }
.main-menu__link:hover, .main-menu__link:focus, .main-menu__trigger:hover, .main-menu__trigger:focus { color: #c96e17; }
.main-menu__parent-control:hover .main-menu__link, .main-menu__parent-control:hover .main-menu__trigger { color: #c96e17; }
.main-menu__mega { position: absolute; z-index: 50; top: 100%; left: 50%; width: 100vw; padding-top: .5rem; transform: translateX(-50%); }
.main-menu__mega-inner { width: 100%; max-width: 1240px; margin: 0 auto; padding-inline: 2rem; }
.main-menu__mega-list { column-count: 3; column-gap: 2rem; margin: 0; padding: 1.5rem; list-style: none; border: 1px solid var(--foundation-line); border-radius: 1rem; background: #fff; box-shadow: 0 1.5rem 3.75rem -1.25rem rgba(39, 40, 46, .35); }
.main-menu__mega-item { break-inside: avoid; padding-bottom: .75rem; }
.main-menu__mega-link { display: block; border-radius: .375rem; padding-block: .25rem; color: var(--foundation-ink); font-size: .9375rem; font-weight: 600; line-height: 1.45; text-decoration: none; }
.main-menu__mega-link:hover, .main-menu__mega-link:focus { color: #c96e17; }
.main-menu__mega-submenu { margin: .25rem 0 0; padding: 0 0 0 .75rem; list-style: none; border-left: 2px solid rgba(255, 209, 91, .7); }
.main-menu__mega-submenu a { display: block; border-radius: .375rem; padding-block: .25rem; color: #68707a; font-size: .875rem; line-height: 1.45; text-decoration: none; }
.main-menu__mega-submenu a:hover, .main-menu__mega-submenu a:focus { color: var(--foundation-ink); }
.main-menu__drawer, .site-header__menu-toggle { display: none; }
.main-menu-drawer-open { overflow: hidden; }
.site-header { background: rgba(255, 255, 255, .95); border-bottom: 1px solid var(--foundation-line); backdrop-filter: blur(12px); }
.site-header__top { border: 0; }
.site-header__row { display: flex; align-items: center; gap: 1rem; min-height: 4rem; padding-block: .75rem; }
.site-header__brand { display: block; flex: 0 0 auto; }
.site-header__brand img { display: block; width: auto; height: 1.5rem; }
.site-header__foreman { align-items: center; gap: .75rem; margin-left: auto; }
.site-header__foreman img { width: 2.75rem; height: 2.75rem; border: 2px solid var(--foundation-brand-light); border-radius: 50%; object-fit: cover; }
.site-header__foreman-name { color: var(--foundation-ink); font-size: .875rem; font-weight: 600; line-height: 1.2; }
.site-header__foreman a { color: #c25a00; font-size: .8125rem; font-weight: 500; line-height: 1.3; text-decoration: underline dotted; text-underline-offset: 4px; }
.site-header__foreman a:hover { color: var(--foundation-ink); }
.site-header__controls { display: flex; align-items: center; gap: .75rem; margin-left: auto; }
.site-header__mobile-phone { display: grid; width: 2.5rem; height: 2.5rem; place-items: center; border-radius: 50%; background: #fff7ec; color: #c25a00; }
.site-header__mobile-phone svg { width: 1.25rem; height: 1.25rem; }
.site-header__phone-block { text-align: right; line-height: 1.2; }
.site-header__phone-block a { color: var(--foundation-ink); font-family: Geologica, Onest, system-ui, sans-serif; font-size: 1.1875rem; font-weight: 600; letter-spacing: -.02em; text-decoration: none; }
.site-header__phone-block a:hover { color: #c25a00; }
.site-header__phone-block div { margin-top: .15rem; color: var(--foundation-muted); font-size: .75rem; }
.site-header__quiz { align-items: center; gap: .5rem; border: 0; border-radius: .75rem; background: linear-gradient(180deg, var(--foundation-brand-light), var(--foundation-brand)); box-shadow: 0 8px 20px -8px rgba(255, 166, 75, .9); color: var(--foundation-ink); font-size: .875rem; font-weight: 600; line-height: 1.5; padding: .625rem 1rem; }
.site-header__quiz:hover { background: linear-gradient(180deg, var(--foundation-brand-light), #f29b38); color: var(--foundation-ink); }
.site-header__quiz:focus-visible { box-shadow: 0 0 0 4px rgba(255, 209, 91, .6); color: var(--foundation-ink); outline: 0; }
.site-header__quiz svg { width: 1rem; height: 1rem; }
.site-header__nav { border-top: 1px solid var(--foundation-line); }
.site-header .main-menu { margin: 0 !important; padding: 0; }
.site-header .navbar-nav { width: 100%; justify-content: space-between; }
.site-header .nav-link { color: var(--foundation-ink); font-size: .9375rem; font-weight: 500; padding: .75rem; }
.site-header .nav-link:hover, .site-header .nav-link:focus { color: #b66e21; }
.site-header .dropdown-menu { border-color: var(--foundation-line); border-radius: 1rem; box-shadow: 0 24px 60px -20px rgba(39, 40, 46, .35); }

.fundament-breadcrumbs { margin: -1.5rem calc(50% - 50vw) 0; border-bottom: 1px solid var(--foundation-line); background: #fff; }
.fundament-breadcrumbs .breadcrumb { display: flex; flex-wrap: nowrap; align-items: center; box-sizing: border-box; width: 100%; max-width: 1240px; margin: 0 auto; padding: .75rem 1rem; overflow-x: auto; color: var(--foundation-muted); font-size: .8125rem; font-weight: 400; line-height: 1.35; list-style: none; scrollbar-width: none; white-space: nowrap; }
.fundament-breadcrumbs .breadcrumb::-webkit-scrollbar { display: none; }
.fundament-breadcrumbs .breadcrumb-item { flex: 0 0 auto; color: inherit; }
.fundament-breadcrumbs .breadcrumb-item a { color: inherit; text-decoration: none; transition: color .2s ease; }
.fundament-breadcrumbs .breadcrumb-item a:hover, .fundament-breadcrumbs .breadcrumb-item a:focus { color: #c96e17; }
.fundament-breadcrumbs .breadcrumb-item.active { display: flex; min-width: 0; align-items: center; color: var(--foundation-ink); }
.fundament-breadcrumbs .breadcrumb-item.active > * { overflow: hidden; text-overflow: ellipsis; }
.fundament-breadcrumbs .breadcrumb-item + .breadcrumb-item { display: flex; align-items: center; padding-left: 0; }
.fundament-breadcrumbs .breadcrumb-item + .breadcrumb-item::before { display: block; float: none; width: .45rem; height: .45rem; margin-right: .625rem; padding: 0; border-top: 1.5px solid #9a9ba0; border-right: 1.5px solid #9a9ba0; color: transparent; content: ""; transform: rotate(45deg); }
@media (min-width: 576px) { .fundament-breadcrumbs .breadcrumb { padding-inline: 1.5rem; } }
@media (min-width: 992px) { .fundament-breadcrumbs { margin-top: -3rem; } .fundament-breadcrumbs .breadcrumb { padding-inline: 2rem; } }

.foundation-hero { position: relative; isolation: isolate; overflow: hidden; margin-top: -1.5rem; margin-inline: calc(50% - 50vw); width: auto; display: grid; align-items: center; background: var(--foundation-ink); }
.foundation-hero.foundation-hero--after-breadcrumbs { margin-top: 0; }
.foundation-hero__image, .foundation-hero__overlay { position: absolute; inset: 0; width: 100%; height: 100%; }
.foundation-hero__image { object-fit: cover; object-position: 60% center; z-index: -2; }
.foundation-hero__overlay { z-index: -1; background: linear-gradient(90deg, rgba(39, 40, 46, .96) 0%, rgba(39, 40, 46, .86) 49%, rgba(39, 40, 46, .42) 100%); }
.foundation-hero__inner { width: 100%; max-width: 1240px; margin: 0 auto; padding: 3rem 1rem; }
.foundation-hero__title { max-width: none; margin-bottom: 0; font-family: Geologica, Onest, system-ui, sans-serif; font-size: 1.875rem; font-weight: 700; letter-spacing: -.025em; line-height: 1.05; }
.foundation-hero--with-form .foundation-hero__title { max-width: 720px; }
.foundation-hero__lead { max-width: 576px; margin: 1rem 0 .75rem; color: rgba(255, 255, 255, .85); font-size: 1rem; line-height: 1.5; }
.foundation-hero__description { font-size: inherit; font-weight: 400; line-height: inherit; }
.foundation-hero__promo { display: inline-flex; align-items: flex-start; gap: .625rem; margin-top: .75rem; padding: .625rem 1rem; border: 1px solid rgba(255, 209, 91, .4); border-radius: .75rem; background: rgba(255, 166, 75, .15); color: var(--foundation-brand-light); font-size: .9375rem; font-weight: 500; line-height: 1.45; }
.foundation-hero__promo svg { flex: 0 0 1.25rem; width: 1.25rem; height: 1.25rem; margin-top: .05rem; }
.foundation-hero__price-chips { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .75rem; }
.foundation-hero__price-chips a { display: inline-flex; align-items: center; gap: .5rem; border: 1px solid rgba(255, 255, 255, .15); border-radius: .75rem; background: rgba(255, 255, 255, .1); padding: .5rem .875rem; color: #fff; font-size: .875rem; font-weight: 400; line-height: 1.3; text-decoration: none; transition: background-color .2s ease, border-color .2s ease, color .2s ease; }
.foundation-hero__price-chips a:hover { border-color: rgba(255, 255, 255, .25); background: rgba(255, 255, 255, .15); color: #fff; }
.foundation-hero__price-chips a:focus-visible { outline: 2px solid var(--foundation-brand-light); outline-offset: 3px; color: #fff; }
.foundation-hero__price-chips svg { flex: 0 0 1rem; width: 1rem; height: 1rem; color: var(--foundation-brand-light); }
.foundation-hero__price-chips strong { font-weight: 600; font-variant-numeric: tabular-nums; }
.foundation-hero__actions { margin-top: 1.5rem; }
.foundation-hero__actions .btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; border-width: 1px; border-radius: .75rem; font-size: 1rem; font-weight: 600; line-height: 1.5; padding: .875rem 1.5rem; }
.foundation-hero__works { border-color: rgba(255, 255, 255, .4); color: #fff; transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out; }
.foundation-hero__works:hover { border-color: rgba(255, 255, 255, .4); background-color: rgba(255, 255, 255, .1); color: #fff; }
.foundation-hero__works:active { border-color: rgba(255, 255, 255, .4); background-color: rgba(255, 255, 255, .14); color: #fff; }
.foundation-hero__works:focus-visible,
.foundation-hero__actions .btn-warning:focus-visible,
.foundation-hero__form .btn-warning:focus-visible { outline: 0; box-shadow: 0 0 0 4px rgba(255, 209, 91, .6); }
.foundation-hero__works svg { flex: 0 0 1rem; width: 1rem; height: 1rem; }
.foundation-hero__actions .btn-warning,
.foundation-hero__form .btn-warning { border: 0; background: linear-gradient(180deg, var(--foundation-brand-light), var(--foundation-brand)); box-shadow: 0 8px 20px -8px rgba(255, 166, 75, .9); }
.foundation-hero__actions .btn-warning:hover,
.foundation-hero__form .btn-warning:hover { background: linear-gradient(180deg, var(--foundation-brand-light), #f29b38); color: var(--foundation-ink); }
.foundation-hero__actions .btn-warning:active,
.foundation-hero__form .btn-warning:active { background: linear-gradient(180deg, #ffd06b, #ed9130); color: var(--foundation-ink); }
.foundation-hero__advantages { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin-top: 1.5rem; color: rgba(255, 255, 255, .9); }
.foundation-hero__advantages li { display: flex; gap: .625rem; align-items: center; font-size: .8125rem; line-height: 1.25; }
.foundation-hero__advantage-icon { display: grid; flex: 0 0 2.25rem; width: 2.25rem; height: 2.25rem; place-items: center; border: 1px solid rgba(255, 255, 255, .15); border-radius: .75rem; background: rgba(255, 255, 255, .1); color: var(--foundation-brand-light); }
.foundation-hero__advantage-icon svg { width: 1.25rem; height: 1.25rem; }
.foundation-hero__form { padding: 1.5rem; color: var(--foundation-ink); background: #fff; border-radius: 1.5rem; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, .25); }
.foundation-hero__form-title { margin: 0 0 1.25rem; font-family: Geologica, Onest, system-ui, sans-serif; font-size: 1.25rem; font-weight: 600; line-height: 1.2; letter-spacing: -.025em; }
.foundation-hero__success { margin-bottom: 1rem; padding: .75rem 1rem; border: 1px solid #b9ddbe; border-radius: .75rem; background: #edf8ef; color: #276536; font-size: .875rem; line-height: 1.4; }
.foundation-hero__form .mb-3 { margin-bottom: .75rem !important; }
.foundation-hero__form .mb-4 { margin-bottom: 1rem !important; }
.foundation-hero__form .form-control { border: 1px solid var(--foundation-line); border-radius: .75rem; font-size: .9375rem; line-height: 1.5; padding: .75rem 1rem; }
.foundation-hero__form .form-control:focus { border-color: var(--foundation-brand); box-shadow: 0 0 0 4px rgba(255, 166, 75, .2); outline: 0; }
.foundation-hero__form .form-control.is-invalid { border-color: #ff4e45; background-image: none; }
.foundation-hero__form .form-control.is-invalid:focus { border-color: #ff4e45; box-shadow: 0 0 0 4px rgba(255, 78, 69, .12); }
.foundation-hero__field-error { margin-top: .25rem; color: #ff4e45; font-size: .875rem; font-weight: 400; line-height: 1.45; }
.foundation-hero__form .personal-data-consent.form-check { display: flex; align-items: flex-start; gap: .75rem; margin: 0; min-height: 0; padding: 0; color: var(--foundation-muted); font-size: .75rem; font-weight: 400; line-height: 1.625; }
.foundation-hero__form .personal-data-consent .form-check-input { float: none; flex: 0 0 1rem; width: 1rem; height: 1rem; margin: .125rem 0 0; border-color: var(--foundation-line); border-radius: .25rem; accent-color: var(--foundation-brand); }
.foundation-hero__form .personal-data-consent .form-check-label { color: inherit; }
.foundation-hero__form .personal-data-consent__link { color: inherit; font-weight: 400; text-decoration-line: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; }
.foundation-hero__form .personal-data-consent__link:hover,
.foundation-hero__form .personal-data-consent__link:focus { color: #c25a00; }
.foundation-hero__form .btn-warning { color: var(--foundation-ink); font-size: 1rem; font-weight: 600; line-height: 1.5; border-radius: .75rem; padding: 1rem 1.5rem; }
.foundation-hero__next-steps { margin-top: 1.25rem; padding: 1rem; border-radius: .75rem; background: var(--foundation-ground); }
.foundation-hero__next-steps-title { margin: 0; color: var(--foundation-ink); font-family: Onest, Arial, sans-serif; font-size: .8125rem; font-weight: 600; line-height: 1.35; }
.foundation-hero__next-steps-list { display: grid; gap: .5rem; margin: .75rem 0 0; padding: 0; color: var(--foundation-muted); font-family: Onest, Arial, sans-serif; font-size: .875rem; line-height: 1.4; list-style: none; }
.foundation-hero__next-steps-list li { display: flex; align-items: flex-start; gap: .625rem; }
.foundation-hero__next-steps-list span { display: grid; flex: 0 0 1.25rem; width: 1.25rem; height: 1.25rem; border-radius: 50%; place-items: center; color: #fff; background: var(--foundation-ink); font-size: .6875rem; font-weight: 600; line-height: 1; }

.foundation-intro-phase1 { width: auto; margin-inline: calc(50% - 50vw); padding: 3.5rem 0; background: var(--foundation-section-background, var(--foundation-ground)); }
.foundation-intro-phase1__inner { width: min(100% - 2rem, 77.5rem); margin: 0 auto; }
.foundation-intro-phase1__layout { display: grid; gap: 2rem; }
.foundation-intro-phase1__content { position: relative; min-width: 0; }
.foundation-intro-phase1:not(.foundation-intro-phase1--with-image) .foundation-intro-phase1__layout { max-width: 48rem; margin-inline: auto; }
.foundation-intro-phase1__text { color: #333; font-size: 1.0625rem; font-weight: 400; line-height: 1.7; }
.foundation-intro-phase1__text > * { margin: 0; }
.foundation-intro-phase1__text > * + * { margin-top: 1em; }
.foundation-intro-phase1__text > :first-child { margin-top: 0; }
.foundation-intro-phase1__text > :last-child { margin-bottom: 0; }
.foundation-intro-phase1__text h2 { margin-top: 1.6em; color: var(--foundation-ink); font-family: Geologica, Onest, sans-serif; font-size: 1.625rem; font-weight: 700; line-height: 1.2; }
.foundation-intro-phase1__text h3 { margin-top: 1.4em; color: var(--foundation-ink); font-family: Geologica, Onest, sans-serif; font-size: 1.25rem; font-weight: 600; line-height: 1.25; }
.foundation-intro-phase1__text ul { padding-left: 0; list-style: none; }
.foundation-intro-phase1__text li { position: relative; padding-left: 1.375rem; }
.foundation-intro-phase1__text li + li { margin-top: .5em; }
.foundation-intro-phase1__text ul li::before { position: absolute; top: .62em; left: 0; width: .625rem; height: .625rem; border-radius: .125rem; background: var(--foundation-brand); content: ""; }
.foundation-intro-phase1__text strong { color: var(--foundation-ink); font-weight: 600; }
.foundation-intro-phase1__text a { color: #c25a00; text-decoration: underline; text-underline-offset: 3px; }
.foundation-intro-phase1__content.is-collapsed .foundation-intro-phase1__text { max-height: 32.5rem; overflow: hidden; }
.foundation-intro-phase1__fade { display: none; }
.foundation-intro-phase1__content.is-collapsed .foundation-intro-phase1__fade { position: absolute; right: 0; bottom: 4rem; left: 0; display: block; height: 8rem; background: linear-gradient(to top, var(--foundation-ground), transparent); pointer-events: none; }
.foundation-intro-phase1__toggle { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; margin-top: 1.5rem; border: 1px solid var(--foundation-brand); border-radius: .75rem; background: #fff; padding: .8125rem 1.5rem; color: var(--foundation-ink); font: 600 1rem/1.5 Onest, sans-serif; transition: background-color .2s ease, border-color .2s ease; }
.foundation-intro-phase1__toggle:hover { background: #fff5e8; }
.foundation-intro-phase1__toggle:focus-visible { outline: 0; box-shadow: 0 0 0 4px rgba(255, 166, 75, .25); }
.foundation-intro-phase1__toggle svg { width: 1rem; height: 1rem; transition: transform .2s ease; }
.foundation-intro-phase1__content:not(.is-collapsed) .foundation-intro-phase1__toggle svg { transform: rotate(180deg); }
.foundation-intro-phase1__media { order: -1; }
.foundation-intro-phase1__image { display: block; width: 100%; border-radius: 1rem; object-fit: cover; }
@media (min-width: 576px) { .foundation-intro-phase1 { padding-block: 4rem; } .foundation-intro-phase1__inner { width: min(100% - 3rem, 77.5rem); } }
@media (min-width: 992px) { .foundation-intro-phase1 { padding-block: 4rem; } .foundation-intro-phase1__inner { width: min(100% - 4rem, 77.5rem); } .foundation-intro-phase1--with-image .foundation-intro-phase1__layout { grid-template-columns: minmax(0, 1fr) 23.75rem; gap: 2.5rem; } .foundation-intro-phase1__media { order: 0; } .foundation-intro-phase1__media > * { position: sticky; top: 10rem; } .foundation-intro-phase1__image { aspect-ratio: 4 / 3; } }

/* Shared legacy block advantages2: content is common for all foundation cities. */
.service-advantages-phase1 { width: auto; margin-inline: calc(50% - 50vw); padding: 3.5rem 0; background: var(--foundation-section-background, #f4f4f4); }
.service-advantages-phase1__inner { width: min(100% - 2rem, 77.5rem); margin: 0 auto; }
.service-advantages-phase1 h2 { margin: 0; color: var(--foundation-ink); font-family: Geologica, Onest, sans-serif; font-size: 1.875rem; font-weight: 700; line-height: 1.2; letter-spacing: -.025em; }
.service-advantages-phase1__grid { display: grid; gap: .75rem; margin: 2rem 0 0; padding: 0; list-style: none; }
.service-advantages-phase1__item { display: flex; align-items: flex-start; gap: .75rem; border-radius: .75rem; background: #fff; padding: 1rem; color: #374151; font-size: .9375rem; font-weight: 400; line-height: 1.45; }
.service-advantages-phase1__icon { flex: 0 0 1.25rem; width: 1.25rem; height: 1.25rem; margin-top: .05rem; color: var(--foundation-brand); }
@media (min-width: 576px) { .service-advantages-phase1 { padding-block: 4rem; } .service-advantages-phase1__inner { width: min(100% - 3rem, 77.5rem); } .service-advantages-phase1 h2 { font-size: 2.25rem; } .service-advantages-phase1__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 992px) { .service-advantages-phase1__inner { width: min(100% - 4rem, 77.5rem); } .service-advantages-phase1__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

.contract-guarantees-phase1 { width: auto; margin-inline: calc(50% - 50vw); padding: 3.5rem 0; background: var(--foundation-section-background, #fff); }
.contract-guarantees-phase1__inner { width: min(100% - 2rem, 77.5rem); margin: 0 auto; }
.contract-guarantees-phase1 h2 { margin: 0; color: var(--foundation-ink); font-family: Geologica, Onest, sans-serif; font-size: 1.875rem; font-weight: 700; line-height: 1.2; letter-spacing: -.025em; }
.contract-guarantees-phase1__heading p { max-width: 42rem; margin: .75rem 0 0; color: var(--foundation-muted); font-size: 1rem; font-weight: 400; line-height: 1.5; }
.contract-guarantees-phase1__grid { display: grid; gap: 1rem; margin: 2rem 0 0; padding: 0; list-style: none; }
.contract-guarantees-phase1__card { border: 1px solid var(--foundation-line); border-radius: 1rem; background: #fff; padding: 1.5rem; }
.contract-guarantees-phase1__icon { display: grid; width: 2.75rem; height: 2.75rem; place-items: center; border-radius: .75rem; background: #fff4e4; color: #c25a00; }
.contract-guarantees-phase1__icon svg { width: 1.35rem; height: 1.35rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.contract-guarantees-phase1__card h3 { margin: 1rem 0 0; color: var(--foundation-ink); font-family: Geologica, Onest, sans-serif; font-size: 1.125rem; font-weight: 600; line-height: 1.35; }
.contract-guarantees-phase1__card p { margin: .5rem 0 0; color: var(--foundation-muted); font-size: .9375rem; font-weight: 400; line-height: 1.55; }
@media (min-width: 576px) { .contract-guarantees-phase1 { padding-block: 4rem; } .contract-guarantees-phase1__inner { width: min(100% - 3rem, 77.5rem); } .contract-guarantees-phase1 h2 { font-size: 2.25rem; } .contract-guarantees-phase1__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 992px) { .contract-guarantees-phase1__inner { width: min(100% - 4rem, 77.5rem); } .contract-guarantees-phase1__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

.external-foundation-calculator-phase1 { width: auto; margin-inline: calc(50% - 50vw); padding: 2.5rem 0; background: #fff; }
.external-foundation-calculator-phase1__inner { width: min(100% - 2rem, 77.5rem); margin: 0 auto; }
.external-foundation-calculator-phase1__card { display: flex; flex-direction: column; align-items: flex-start; gap: 1.25rem; border-radius: 1.5rem; background: var(--foundation-ink); padding: 1.75rem; color: #fff; }
.external-foundation-calculator-phase1__heading { display: flex; align-items: center; gap: 1rem; }
.external-foundation-calculator-phase1__icon { display: grid; flex: 0 0 3.5rem; width: 3.5rem; height: 3.5rem; place-items: center; border-radius: 1rem; background: var(--foundation-brand); color: var(--foundation-ink); }
.external-foundation-calculator-phase1__icon svg { width: 1.75rem; height: 1.75rem; }
.external-foundation-calculator-phase1__heading h2 { margin: 0; color: #fff; font-family: Geologica, Onest, sans-serif; font-size: 1.5rem; font-weight: 700; line-height: 1.2; letter-spacing: -.025em; }
.external-foundation-calculator-phase1__button { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; border: 0; border-radius: .75rem; background: linear-gradient(180deg, var(--foundation-brand-light), var(--foundation-brand)); padding: .875rem 1.5rem; color: var(--foundation-ink); font: 600 1rem/1.5 Onest, sans-serif; box-shadow: 0 .5rem 1.25rem -.5rem rgba(255, 166, 75, .9); transition: filter .2s ease, transform .2s ease; }
.external-foundation-calculator-phase1__button:hover { filter: brightness(.97); transform: translateY(-1px); }
.external-foundation-calculator-phase1__button:focus-visible { outline: 0; box-shadow: 0 0 0 4px rgba(255, 209, 91, .6); }
.external-foundation-calculator-phase1__button svg { width: 1rem; height: 1rem; }
@media (min-width: 576px) { .external-foundation-calculator-phase1__inner { width: min(100% - 3rem, 77.5rem); } .external-foundation-calculator-phase1__card { flex-direction: row; align-items: center; justify-content: space-between; padding: 2.25rem; } .external-foundation-calculator-phase1__heading h2 { font-size: 1.875rem; } }
@media (min-width: 992px) { .external-foundation-calculator-phase1__inner { width: min(100% - 4rem, 77.5rem); } }

.foundation-advantages-phase1 { width: auto; margin-inline: calc(50% - 50vw); padding: 3.5rem 0; background: #fff; }
.foundation-advantages-phase1__inner { width: min(100% - 2rem, 77.5rem); margin: 0 auto; }
.foundation-advantages-phase1 h2 { margin: 0; color: var(--foundation-ink); font-family: Geologica, Onest, sans-serif; font-size: 1.875rem; font-weight: 700; line-height: 1.2; letter-spacing: -.025em; }
.foundation-advantages-phase1__grid { display: grid; gap: 1rem; margin-top: 2rem; }
.foundation-advantages-phase1__card { border: 1px solid var(--foundation-line); border-radius: 1rem; padding: 1.5rem; }
.foundation-advantages-phase1__card--plus { border-color: rgba(5, 150, 105, .3); background: rgba(236, 253, 245, .6); }
.foundation-advantages-phase1__card--minus { background: #fff; }
.foundation-advantages-phase1__card ul { display: grid; gap: .75rem; margin: 0; padding: 0; list-style: none; }
.foundation-advantages-phase1__card li { display: flex; align-items: flex-start; gap: .75rem; color: #4b5563; font-size: 1rem; font-weight: 400; line-height: 1.625; }
.foundation-advantages-phase1__icon { display: grid; flex: 0 0 1.5rem; width: 1.5rem; height: 1.5rem; place-items: center; margin-top: .05rem; border-radius: 50%; color: #fff; }
.foundation-advantages-phase1__icon svg { width: .875rem; height: .875rem; }
.foundation-advantages-phase1__card--plus .foundation-advantages-phase1__icon { background: #059669; }
.foundation-advantages-phase1__card--minus .foundation-advantages-phase1__icon { background: #6b7280; }
@media (min-width: 576px) { .foundation-advantages-phase1 { padding-block: 4rem; } .foundation-advantages-phase1__inner { width: min(100% - 3rem, 77.5rem); } .foundation-advantages-phase1 h2 { font-size: 2.25rem; } }
@media (min-width: 768px) { .foundation-advantages-phase1__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 992px) { .foundation-advantages-phase1__inner { width: min(100% - 4rem, 77.5rem); } }

.foundation-partnership-modal .modal-dialog { width: calc(100% - 2rem); max-width: 30rem; }
.foundation-partnership-modal .modal-content { border: 0; border-radius: 1rem; box-shadow: 0 1.5rem 4rem rgba(14, 26, 38, .24); }
.foundation-partnership-modal .modal-header { padding: 1.75rem 1.75rem .5rem; }
.foundation-partnership-modal .modal-title { color: var(--foundation-ink); font-family: Geologica, sans-serif; font-size: 1.5rem; font-weight: 600; line-height: 1.2; }
.foundation-partnership-modal .modal-body { padding: 1rem 1.75rem; }
.foundation-partnership-modal .modal-footer { display: block; padding: .25rem 1.75rem 1.75rem; }
.foundation-partnership-modal .form-control { min-height: 3.25rem; border-color: #d4d9de; border-radius: .5rem; color: var(--foundation-ink); font-size: .9375rem; }
.foundation-partnership-modal textarea.form-control { min-height: 5.5rem; padding-top: .875rem; resize: vertical; }
.foundation-partnership-modal .form-control:focus { border-color: var(--foundation-brand); box-shadow: 0 0 0 .2rem rgba(227, 158, 46, .15); }
.foundation-partnership-modal .personal-data-consent { display: flex; align-items: flex-start; gap: .625rem; margin: .25rem 0 0; padding: 0; color: var(--foundation-muted); font-size: .75rem; line-height: 1.45; }
.foundation-partnership-modal .personal-data-consent .form-check-input { float: none; flex: 0 0 1rem; width: 1rem; height: 1rem; margin: .1rem 0 0; border-radius: .25rem; }
.foundation-partnership-modal .personal-data-consent__link { color: inherit; text-decoration: underline; text-underline-offset: .125rem; }
.foundation-partnership-modal .invalid-feedback:empty { display: none !important; }
.foundation-partnership-modal .foundation-partnership-modal__submit { width: 100%; border: 0; border-radius: .5rem; background: linear-gradient(102deg, #e9a943 0%, #f3c069 100%); box-shadow: 0 .5rem 1.25rem rgba(210, 137, 25, .22); color: #fff; font-weight: 600; padding: .875rem 1.25rem; }
.foundation-partnership-modal .foundation-partnership-modal__submit:hover, .foundation-partnership-modal .foundation-partnership-modal__submit:focus { background: linear-gradient(102deg, #dc9630 0%, #eeb354 100%); color: #fff; }

.foundation-quiz .modal-dialog { width: calc(100% - 2rem); max-width: 48rem; }
.foundation-quiz__content { overflow: hidden; border: 0; border-radius: 1.5rem; background: #fff; box-shadow: 0 1.5rem 4rem rgba(14, 26, 38, .28); }
.foundation-quiz__close-wrap { position: absolute; z-index: 1; top: .5rem; right: .5rem; }
.foundation-quiz__close { display: grid; width: 2.5rem; height: 2.5rem; place-items: center; border-radius: 50%; opacity: .65; }
.foundation-quiz__close:hover { background-color: var(--foundation-ground); opacity: 1; }
.foundation-quiz__body { padding: 2rem; }
.foundation-quiz__title { max-width: 43rem; margin: 0; padding-right: 2.5rem; color: var(--foundation-ink); font-family: Geologica, Onest, sans-serif; font-size: 1.75rem; font-weight: 700; letter-spacing: -.025em; line-height: 1.15; }
.foundation-quiz__title--intro { font-size: 2rem; }
.foundation-quiz__description { max-width: 40rem; margin: .75rem 0 0; color: var(--foundation-muted); font-size: 1rem; line-height: 1.5; }
.foundation-quiz__eyebrow { margin: 2rem 0 .75rem; color: #9a9ba0; font-size: .75rem; font-weight: 600; letter-spacing: .09em; line-height: 1.4; text-transform: uppercase; }
.foundation-quiz__button { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; border: 1px solid transparent; border-radius: .75rem; font-size: .9375rem; font-weight: 600; line-height: 1.5; padding: .75rem 1.5rem; transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease, color .15s ease; }
.foundation-quiz__button:focus-visible { outline: 0; box-shadow: 0 0 0 4px rgba(255, 166, 75, .25); }
.foundation-quiz__button--brand { margin-top: 1.5rem; border: 0; background: linear-gradient(180deg, var(--foundation-brand-light), var(--foundation-brand)); box-shadow: 0 .5rem 1.25rem -.5rem rgba(255, 166, 75, .9); color: var(--foundation-ink); }
.foundation-quiz__button--brand:hover { background: linear-gradient(180deg, var(--foundation-brand-light), #f29b38); color: var(--foundation-ink); }
.foundation-quiz__button--dark { background: var(--foundation-ink); color: #fff; }
.foundation-quiz__button--dark:hover { background: #3d3f47; color: #fff; }
.foundation-quiz__button--outline { border-color: var(--foundation-brand); background: #fff; color: var(--foundation-ink); }
.foundation-quiz__button--outline:hover { background: #fff7ec; color: var(--foundation-ink); }
.foundation-quiz__bonuses { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; margin: 0; padding: 0; list-style: none; }
.foundation-quiz__bonuses li { display: flex; align-items: center; gap: .75rem; min-height: 4rem; border-radius: .75rem; background: var(--foundation-ground); padding: .75rem 1rem; color: var(--foundation-ink); font-size: .875rem; font-weight: 500; line-height: 1.25; }
.foundation-quiz__bonuses img { flex: 0 0 2rem; width: 2rem; height: 2rem; }
.foundation-quiz__options { display: grid; gap: .5rem; margin-top: 1.5rem; }
.foundation-quiz__options--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.foundation-quiz__options--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.foundation-quiz__options input, .foundation-quiz__channels input { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.foundation-quiz__option { display: flex; align-items: center; gap: .625rem; min-height: 3.5rem; cursor: pointer; border: 1px solid var(--foundation-line); border-radius: .75rem; padding: .75rem; color: var(--foundation-ink); font-size: .875rem; font-weight: 500; line-height: 1.3; transition: border-color .15s ease, background-color .15s ease; }
.foundation-quiz__option:hover { border-color: var(--foundation-brand); }
.foundation-quiz__option--image { display: flex; min-height: 8.75rem; flex-direction: column; align-items: stretch; gap: .5rem; }
.foundation-quiz__option--image > img { width: 100%; height: 4.75rem; object-fit: contain; }
.foundation-quiz__option--image > span { display: flex; align-items: center; gap: .625rem; }
.foundation-quiz__options input:checked + .foundation-quiz__option, .foundation-quiz__channels input:checked + .foundation-quiz__option { border-color: var(--foundation-brand); background: #fff9ee; }
.foundation-quiz__options input:focus-visible + .foundation-quiz__option, .foundation-quiz__channels input:focus-visible + .foundation-quiz__option { box-shadow: 0 0 0 4px rgba(255, 166, 75, .22); }
.foundation-quiz__dot { display: grid; flex: 0 0 .95rem; width: .95rem; height: .95rem; place-items: center; border: 2px solid #d6d7da; border-radius: 50%; }
.foundation-quiz__options input:checked + .foundation-quiz__option .foundation-quiz__dot, .foundation-quiz__channels input:checked + .foundation-quiz__option .foundation-quiz__dot { border-color: var(--foundation-brand); box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 8px var(--foundation-brand); }
.foundation-quiz__dimensions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; max-width: 38rem; margin-top: 1.5rem; }
.foundation-quiz__dimensions label { color: var(--foundation-ink); font-size: .9375rem; font-weight: 500; }
.foundation-quiz__dimensions input, .foundation-quiz__contact-form > input { display: block; width: 100%; min-height: 3.25rem; border: 1px solid var(--foundation-line); border-radius: .75rem; background: #fff; color: var(--foundation-ink); font-size: 1rem; outline: 0; padding: .75rem 1rem; }
.foundation-quiz__dimensions input { margin-top: .5rem; font-size: 1.125rem; }
.foundation-quiz__dimensions input:focus, .foundation-quiz__contact-form > input:focus { border-color: var(--foundation-brand); box-shadow: 0 0 0 4px rgba(255, 166, 75, .2); }
.foundation-quiz__contact-step { display: grid; grid-template-columns: minmax(0, 1fr) minmax(18rem, .92fr); gap: 2rem; align-items: start; }
.foundation-quiz__contact-copy .foundation-quiz__eyebrow { margin-top: 1.5rem; }
.foundation-quiz__bonuses--stacked { grid-template-columns: 1fr; }
.foundation-quiz__contact-form { border-radius: 1rem; background: var(--foundation-ground); padding: 1.25rem; }
.foundation-quiz__contact-form > p { margin: 0 0 1rem; color: var(--foundation-ink); font-family: Geologica, Onest, sans-serif; font-size: 1.0625rem; font-weight: 600; line-height: 1.3; }
.foundation-quiz__channels { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .375rem; margin: 0 0 1rem; padding: 0; border: 0; }
.foundation-quiz__channels legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.foundation-quiz__channels .foundation-quiz__option { justify-content: center; min-height: 2.75rem; padding: .5rem; font-size: .75rem; }
.foundation-quiz__channels .foundation-quiz__dot { flex-basis: .8rem; width: .8rem; height: .8rem; }
.foundation-quiz__contact-form > input + .foundation-quiz__error { min-height: 0; }
.foundation-quiz__contact-form > input { margin-top: .75rem; }
.foundation-quiz__error { color: #ff4e45; font-size: .8125rem; line-height: 1.35; }
.foundation-quiz__contact-form .personal-data-consent { display: flex; align-items: flex-start; gap: .625rem; margin: 1rem 0 0; padding: 0; color: var(--foundation-muted); font-size: .75rem; line-height: 1.45; }
.foundation-quiz__contact-form .personal-data-consent .form-check-input { float: none; flex: 0 0 1rem; width: 1rem; height: 1rem; margin: .1rem 0 0; border-color: var(--foundation-line); border-radius: .25rem; accent-color: var(--foundation-brand); }
.foundation-quiz__contact-form .personal-data-consent__link { color: inherit; text-decoration: underline; text-underline-offset: .125rem; }
.foundation-quiz__submit { width: 100%; margin-top: 1rem; }
.foundation-quiz__done { text-align: center; }
.foundation-quiz__done-icon { display: grid; width: 4rem; height: 4rem; place-items: center; margin: 0 auto 1.25rem; border-radius: 50%; background: var(--foundation-brand); color: var(--foundation-ink); font-size: 2rem; font-weight: 600; }
.foundation-quiz__done .foundation-quiz__title { padding-right: 0; margin-inline: auto; }
.foundation-quiz__done .foundation-quiz__description { margin-inline: auto; }
.foundation-quiz__done .foundation-quiz__button { margin-top: 1.5rem; }
.foundation-quiz__done .foundation-quiz__bonuses { max-width: 40rem; margin-inline: auto; text-align: left; }
.foundation-quiz__footer { display: flex; align-items: flex-end; gap: .5rem; border-top: 1px solid var(--foundation-line); padding: 1.25rem 2rem; }
.foundation-quiz__progress { display: grid; flex: 1 1 auto; gap: .5rem; min-width: 10rem; margin-right: auto; }
.foundation-quiz__progress > span:first-child { color: var(--foundation-muted); font-size: .8125rem; font-weight: 500; line-height: 1.3; }
.foundation-quiz__progress-track { display: block; height: .5rem; overflow: hidden; border-radius: 999px; background: var(--foundation-ground); }
.foundation-quiz__progress-track > span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--foundation-brand-light), var(--foundation-brand)); transition: width .2s ease; }

.home-foundations-phase1 { margin: 0 calc(50% - 50vw); background: var(--foundation-ground); }
.home-foundations-phase1, .home-foundation-objects-phase1 { padding-block: 4rem; }
.home-foundations-phase1__inner { width: min(100%, 77.5rem); margin: 0 auto; padding-inline: 1rem; }
.home-foundations-phase1__heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 1.5rem; margin-bottom: 2.5rem; }
.home-foundations-phase1__title, .home-foundation-objects-phase1__title { margin: 0; color: var(--foundation-ink); font-family: Geologica, Onest, sans-serif; font-size: 1.875rem; font-weight: 700; letter-spacing: -.025em; line-height: 1.25; }
.home-foundation-objects-phase1 { position: relative; isolation: isolate; background: transparent !important; }
.home-foundation-objects-phase1::before { position: absolute; z-index: -1; inset: 0 calc(50% - 50vw); background: var(--foundation-section-background); content: ''; }
.foundation-comparison-phase1 { width: auto; margin-inline: calc(50% - 50vw); padding-block: 3.5rem; background: var(--foundation-section-background, #fff); }
.foundation-comparison-phase1__inner { width: min(100% - 2rem, 77.5rem); margin-inline: auto; }
.foundation-comparison-phase1 h2 { margin: 0; color: var(--foundation-ink); font-family: Geologica, Onest, sans-serif; font-size: 1.875rem; font-weight: 700; letter-spacing: -.025em; line-height: 1.2; }
.foundation-comparison-phase1__scroll { margin-top: 2rem; overflow-x: auto; border: 1px solid var(--foundation-line); border-radius: 1rem; background: #fff; }
.foundation-comparison-phase1__table { width: 100%; min-width: 45rem; border-collapse: collapse; color: var(--foundation-ink); font-family: Onest, Arial, sans-serif; font-size: .9375rem; line-height: 1.5; }
.foundation-comparison-phase1__table th, .foundation-comparison-phase1__table td { padding: 1rem; text-align: left; vertical-align: top; }
.foundation-comparison-phase1__table thead { background: var(--foundation-ground); color: var(--foundation-muted); font-size: .8125rem; font-weight: 600; }
.foundation-comparison-phase1__table tbody tr + tr { border-top: 1px solid var(--foundation-line); }
.foundation-comparison-phase1__table tbody th { font-family: Geologica, Onest, sans-serif; font-size: 1rem; font-weight: 600; }
.foundation-comparison-phase1__price { text-align: right !important; font-weight: 600; white-space: nowrap; }
.foundation-comparison-phase1__table small { display: block; margin-top: .25rem; color: var(--foundation-muted); font-size: .75rem; line-height: 1.35; }
.foundation-comparison-phase1__notes { display: grid; gap: 1rem; margin-top: 1.5rem; }
.foundation-comparison-phase1__note { display: flex; gap: 1rem; border: 1px solid var(--foundation-line); border-radius: 1rem; background: #fff; padding: 1.25rem; }
.foundation-comparison-phase1__note--engineer { border: 0; background: var(--foundation-ground); }
.foundation-comparison-phase1__note img { flex: 0 0 5rem; width: 5rem; height: 5rem; border-radius: .75rem; object-fit: cover; object-position: top; }
.foundation-comparison-phase1__engineer-content { min-width: 0; flex: 1 1 auto; }
.foundation-comparison-phase1__engineer-name, .foundation-comparison-phase1__note h3 { margin: 0; color: var(--foundation-ink); font-family: Geologica, Onest, sans-serif; font-size: 1rem; font-weight: 600; line-height: 1.3; }
.foundation-comparison-phase1__engineer-name span { color: var(--foundation-muted); font-family: Onest, Arial, sans-serif; font-weight: 400; }
.foundation-comparison-phase1__engineer-copy { margin-top: .75rem; border: 1px solid var(--foundation-line); border-radius: 1rem; background: #fff; padding: 1rem; }
.foundation-comparison-phase1__table tbody td, .foundation-comparison-phase1__note p { color: #333; }
.foundation-comparison-phase1__note p { margin: .75rem 0 0; font-size: .875rem; line-height: 1.5; }
.foundation-comparison-phase1__engineer-copy p { margin: 0; }
@media (min-width: 576px) { .foundation-comparison-phase1 { padding-block: 4rem; } .foundation-comparison-phase1__inner { width: min(100% - 3rem, 77.5rem); } .foundation-comparison-phase1 h2 { font-size: 2.25rem; } }
@media (min-width: 992px) { .foundation-comparison-phase1__inner { width: min(100% - 4rem, 77.5rem); } .foundation-comparison-phase1__notes { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.additional-works-phase1 { width: auto; margin-inline: calc(50% - 50vw); padding-block: 3.5rem; background: var(--foundation-section-background); }
.additional-works-phase1__inner { width: min(100% - 2rem, 77.5rem); margin-inline: auto; }
.additional-works-phase1 h2 { margin: 0; color: var(--foundation-ink); font-family: Geologica, Onest, sans-serif; font-size: 1.875rem; font-weight: 700; letter-spacing: -.025em; line-height: 1.2; }
.additional-works-phase1__grid { display: grid; gap: .5rem; margin: 2rem 0 0; padding: 0; list-style: none; }
.additional-works-phase1__link { display: flex; min-height: 3.25rem; align-items: center; justify-content: space-between; gap: .75rem; border: 1px solid var(--foundation-line); border-radius: .75rem; background: #fff; padding: .75rem 1rem; color: var(--foundation-ink); font-size: .9375rem; font-weight: 500; line-height: 1.35; text-decoration: none; transition: border-color .2s ease, color .2s ease, transform .2s ease; }
.additional-works-phase1__link svg { flex: 0 0 1rem; width: 1rem; height: 1rem; color: #818181; transition: color .2s ease, transform .2s ease; }
.additional-works-phase1__link:hover, .additional-works-phase1__link:focus-visible { border-color: var(--foundation-brand); color: var(--foundation-ink); }
.additional-works-phase1__link:hover svg, .additional-works-phase1__link:focus-visible svg { color: #c25a00; transform: translateX(.125rem); }
.additional-works-phase1__link:focus-visible { outline: 2px solid var(--foundation-brand); outline-offset: 3px; }
@media (min-width: 576px) { .additional-works-phase1 { padding-block: 4rem; } .additional-works-phase1__inner { width: min(100% - 3rem, 77.5rem); } .additional-works-phase1 h2 { font-size: 2.25rem; } .additional-works-phase1__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 992px) { .additional-works-phase1__inner { width: min(100% - 4rem, 77.5rem); } .additional-works-phase1__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.home-foundation-objects-phase1 .row { margin-top: 2.5rem; }
.home-foundation-objects-phase1__more { display: inline-flex; align-self: flex-start; align-items: center; justify-content: center; gap: .5rem; margin-top: auto; border: 1px solid var(--foundation-brand); border-radius: .75rem; padding: .625rem 1.5rem; color: var(--foundation-ink); font-size: 1rem; font-weight: 600; line-height: 1.25; text-decoration: none; transition: background-color .2s ease, border-color .2s ease, color .2s ease; }
.home-foundation-objects-phase1__more svg { width: 1rem; height: 1rem; }
.home-foundation-objects-phase1__more:hover { border-color: var(--foundation-brand); background: #fff0d9; color: var(--foundation-ink); }
.home-foundation-objects-phase1__more:focus-visible { outline: 0; box-shadow: 0 0 0 4px rgba(255, 166, 75, .35); color: var(--foundation-ink); }
.home-foundations-phase1__all { display: inline-flex; align-items: center; gap: .625rem; flex: 0 0 auto; color: var(--foundation-ink); font-size: 1rem; font-weight: 600; line-height: 1.25; text-decoration: none; }
.home-foundations-phase1__all span { color: var(--foundation-brand-dark); font-size: 1.375rem; line-height: .8; transition: transform .2s ease; }
.home-foundations-phase1__all:hover, .home-foundations-phase1__all:focus-visible { color: var(--foundation-brand-dark); }
.home-foundations-phase1__all:hover span, .home-foundations-phase1__all:focus-visible span { transform: translateX(.25rem); }
.home-foundations-phase1__all:focus-visible, .home-foundations-phase1__card-title a:focus-visible, .home-foundations-phase1__image-link:focus-visible, .home-foundations-phase1__order:focus-visible { outline: 2px solid var(--foundation-brand-dark); outline-offset: 3px; }
.home-foundations-phase1__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.home-foundations-phase1__card { display: flex; min-height: 25.75rem; flex-direction: column; border: 1px solid var(--foundation-line); border-radius: 1rem; background: #fff; padding: 1.25rem; box-shadow: 0 .25rem .75rem rgba(39, 40, 46, .03); transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.home-foundations-phase1__card:hover { border-color: var(--foundation-brand); box-shadow: 0 1rem 2rem rgba(39, 40, 46, .1); transform: translateY(-.25rem); }
.home-foundations-phase1__card-title { margin: 0; font-family: Geologica, Onest, sans-serif; font-size: 1rem; font-weight: 600; line-height: 1.25; }
.home-foundations-phase1__card-title a { color: var(--foundation-ink); text-decoration: none; transition: color .2s ease; }
.home-foundations-phase1__card:hover .home-foundations-phase1__card-title a, .home-foundations-phase1__card-title a:hover { color: var(--foundation-brand-dark); }
.home-foundations-phase1__price { width: fit-content; max-width: 100%; margin: .75rem 0 0; border-radius: .375rem; background: #fff0d9; padding: .375rem .5rem; color: var(--foundation-muted); font-size: .75rem; line-height: 1.3; }
.home-foundations-phase1__price strong { color: var(--foundation-ink); font-weight: 600; }
.home-foundations-phase1__image-link { display: flex; min-height: 12.5rem; align-items: center; justify-content: center; margin: .5rem 0 1rem; }
.home-foundations-phase1__image-link img { display: block; width: 100%; max-width: 100%; max-height: 11.5rem; object-fit: contain; transition: transform .25s ease; }
.home-foundations-phase1__card:hover .home-foundations-phase1__image-link img { transform: scale(1.035); }
.home-foundations-phase1__order { display: flex; min-height: 3rem; align-items: center; justify-content: center; margin-top: auto; border-radius: .5rem; background: linear-gradient(100deg, var(--foundation-brand-light), var(--foundation-brand)); box-shadow: 0 .5rem 1rem rgba(211, 121, 29, .22); color: var(--foundation-ink); font-size: .9375rem; font-weight: 600; line-height: 1.2; text-decoration: none; transition: box-shadow .2s ease, filter .2s ease, transform .2s ease; }
.home-foundations-phase1__order:hover { color: var(--foundation-ink); filter: brightness(.98); box-shadow: 0 .75rem 1.25rem rgba(211, 121, 29, .32); transform: translateY(-1px); }
.home-foundations-phase1__consultation { display: flex; min-height: 25.75rem; border-radius: 1rem; background: var(--foundation-ink); box-shadow: 0 1rem 2rem rgba(39, 40, 46, .12); color: #fff; }
.home-foundations-phase1__consultation-form { display: flex; width: 100%; flex-direction: column; padding: 1.5rem; }
.home-foundations-phase1__consultation-title { margin: 0; color: #fff; font-family: Geologica, Onest, sans-serif; font-size: 1.25rem; font-weight: 600; line-height: 1.375; letter-spacing: -.015em; }
.home-foundations-phase1__consultation-description { margin: .5rem 0 0; color: rgba(255, 255, 255, .7); font-size: .875rem; font-weight: 400; line-height: 1.5; }
.home-foundations-phase1__form-success, .home-foundations-phase1__form-error { margin-top: .75rem; border-radius: .5rem; padding: .5rem .625rem; font-size: .8125rem; line-height: 1.35; }
.home-foundations-phase1__form-success { background: rgba(111, 198, 115, .2); color: #c7f5c9; }
.home-foundations-phase1__form-error, .home-foundations-phase1__field-error { color: #ff918c; }
.home-foundations-phase1__form-field { margin-top: .75rem; }
.home-foundations-phase1__form-field:first-of-type { margin-top: 1.25rem; }
.home-foundations-phase1__consultation-form .form-control { min-height: 3rem; border: 1px solid rgba(255, 255, 255, .15); border-radius: .75rem; background: rgba(255, 255, 255, .1); padding: .75rem 1rem; color: #fff; font-family: Onest, sans-serif; font-size: .9375rem; font-weight: 400; line-height: 1.3; }
.home-foundations-phase1__consultation-form .form-control::placeholder { color: rgba(255, 255, 255, .55); opacity: 1; }
.home-foundations-phase1__consultation-form .form-control:focus { border-color: var(--foundation-brand-light); background: rgba(255, 255, 255, .13); box-shadow: 0 0 0 .25rem rgba(255, 218, 124, .25); color: #fff; }
.home-foundations-phase1__field-error { min-height: 0; padding-top: .25rem; font-size: .8125rem; line-height: 1.35; }
.home-foundations-phase1__consent { margin-top: .75rem; }
.home-foundations-phase1__consultation-form .personal-data-consent { display: flex; align-items: flex-start; gap: .75rem; margin: 0; padding: 0; color: rgba(255, 255, 255, .6); font-family: Onest, sans-serif; font-size: .75rem; font-weight: 400; line-height: 1.5; }
.home-foundations-phase1__consultation-form .personal-data-consent .form-check-input { float: none; flex: 0 0 1rem; width: 1rem; height: 1rem; margin: .125rem 0 0; border-color: rgba(255, 255, 255, .5); border-radius: .25rem; background-color: transparent; accent-color: var(--foundation-brand); }
.home-foundations-phase1__consultation-form .personal-data-consent a { color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; transition: color .2s ease; }
.home-foundations-phase1__consultation-form .personal-data-consent a:hover, .home-foundations-phase1__consultation-form .personal-data-consent a:focus-visible { color: var(--foundation-brand-light); }
.home-foundations-phase1__form-submit { width: 100%; min-height: 3rem; margin-top: auto; border: 0; border-radius: .75rem; background: linear-gradient(180deg, var(--foundation-brand-light), var(--foundation-brand)); color: var(--foundation-ink); font-family: Onest, sans-serif; font-size: .9375rem; font-weight: 600; line-height: 1.2; box-shadow: 0 .5rem 1.25rem -.5rem rgba(255, 166, 75, .9); transition: filter .2s ease, transform .2s ease; }
.home-foundations-phase1__form-submit:hover { filter: brightness(.97); transform: translateY(-1px); }
.home-foundations-phase1__form-submit:focus-visible { outline: 2px solid var(--foundation-brand-light); outline-offset: 3px; }

.foreman-form-phase1 { margin: 0 calc(50% - 50vw); padding: 4rem 0; background: var(--foundation-ground); }
.foreman-form-phase1__card { display: grid; width: min(100% - 2rem, 77.5rem); margin: 0 auto; overflow: hidden; border-radius: 1.5rem; background: #fff; box-shadow: 0 1.875rem 3.75rem -2.5rem rgba(39, 40, 46, .5); }
.foreman-form-phase1__image { position: relative; isolation: isolate; overflow: hidden; padding: 2rem; color: #fff; }
.foreman-form-phase1__image > img, .foreman-form-phase1__image-overlay { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; }
.foreman-form-phase1__image > img { object-fit: cover; }
.foreman-form-phase1__image-overlay { z-index: -1; background: rgba(39, 40, 46, .75); }
.foreman-form-phase1__image-content { position: relative; }
.foreman-form-phase1__image-title { margin: 0; font-family: Geologica, Onest, sans-serif; font-size: 1.5rem; font-weight: 600; line-height: 1.25; }
.foreman-form-phase1__list { display: grid; gap: 1rem; margin: 1.5rem 0 0; padding: 0; list-style: none; font-size: 1rem; line-height: 1.35; }
.foreman-form-phase1__list li { display: flex; align-items: center; gap: .75rem; }
.foreman-form-phase1__list span { display: grid; flex: 0 0 1.75rem; width: 1.75rem; height: 1.75rem; place-items: center; border-radius: 50%; background: var(--foundation-brand); color: var(--foundation-ink); }
.foreman-form-phase1__list svg { width: 1rem; height: 1rem; }
.foreman-form-phase1__form-side { padding: 2rem; }
.foreman-form-phase1__title { margin: 0; color: var(--foundation-ink); font-family: Geologica, Onest, sans-serif; font-size: 1.5rem; font-weight: 600; line-height: 1.2; letter-spacing: -.025em; }
.foreman-form-phase1__description { margin: .5rem 0 0; color: var(--foundation-muted); font-size: 1rem; font-weight: 400; line-height: 1.5; }
.foreman-form-phase1__form { margin-top: 1.5rem; }
.foreman-form-phase1__form-message { margin-bottom: .75rem; border-radius: .75rem; padding: .75rem 1rem; font-size: .875rem; line-height: 1.4; }
.foreman-form-phase1__form-success { background: #edf8ef; color: #276536; }
.foreman-form-phase1__form-error, .foreman-form-phase1__field-error { color: #ff4e45; }
.foreman-form-phase1__form-error { background: #fff0ef; }
.foreman-form-phase1__fields { display: grid; gap: .75rem; }
.foreman-form-phase1__form .form-control { min-height: 3rem; border: 1px solid var(--foundation-line); border-radius: .75rem; padding: .75rem 1rem; color: var(--foundation-ink); font-family: Onest, sans-serif; font-size: .9375rem; font-weight: 400; line-height: 1.3; }
.foreman-form-phase1__form .form-control::placeholder { color: #9a9ba0; opacity: 1; }
.foreman-form-phase1__form .form-control:focus { border-color: var(--foundation-brand); box-shadow: 0 0 0 .25rem rgba(255, 166, 75, .2); }
.foreman-form-phase1__field-error { min-height: 0; padding-top: .25rem; font-size: .8125rem; line-height: 1.35; }
.foreman-form-phase1__consent { margin-top: 1rem; }
.foreman-form-phase1__form .personal-data-consent { display: flex; align-items: flex-start; gap: .75rem; margin: 0; padding: 0; color: var(--foundation-muted); font-family: Onest, sans-serif; font-size: .75rem; font-weight: 400; line-height: 1.5; }
.foreman-form-phase1__form .personal-data-consent .form-check-input { float: none; flex: 0 0 1rem; width: 1rem; height: 1rem; margin: .125rem 0 0; border-color: var(--foundation-line); border-radius: .25rem; accent-color: var(--foundation-brand); }
.foreman-form-phase1__form .personal-data-consent a { color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; transition: color .2s ease; }
.foreman-form-phase1__form .personal-data-consent a:hover, .foreman-form-phase1__form .personal-data-consent a:focus-visible { color: #c25a00; }
.foreman-form-phase1__submit { min-height: 3.5rem; width: 100%; margin-top: 1.25rem; border: 0; border-radius: .75rem; background: linear-gradient(180deg, var(--foundation-brand-light), var(--foundation-brand)); box-shadow: 0 .5rem 1.25rem -.5rem rgba(255, 166, 75, .9); color: var(--foundation-ink); font-family: Onest, sans-serif; font-size: 1rem; font-weight: 600; line-height: 1.2; transition: filter .2s ease, transform .2s ease; }
.foreman-form-phase1__submit:hover { filter: brightness(.97); transform: translateY(-1px); }
.foreman-form-phase1__submit:focus-visible { outline: 2px solid var(--foundation-brand); outline-offset: 3px; }

.foundation-calculator-phase1 { margin: 0 calc(50% - 50vw); padding-block: 4rem; background: var(--foundation-ground); }
.foundation-calculator-phase1__inner { width: min(100%, 77.5rem); margin: 0 auto; padding-inline: 1rem; }
.foundation-calculator-phase1__card { display: grid; gap: 2rem; border-radius: 1.5rem; background: #fff; padding: 1.5rem; }
.foundation-calculator-phase1__visual { display: flex; flex-direction: column; }
.foundation-calculator-phase1__title { margin: 0; color: var(--foundation-ink); font-family: Geologica, Onest, sans-serif; font-size: 1.875rem; font-weight: 700; letter-spacing: -.025em; line-height: 1.25; }
.foundation-calculator-phase1__plan { display: flex; flex: 1 1 auto; align-items: center; justify-content: center; min-height: 15rem; margin: 2rem 0 0; border: 1px dashed var(--foundation-line); border-radius: 1rem; background: rgba(244, 244, 244, .6); padding: 1.5rem; }
.foundation-calculator-phase1__plan svg { width: 100%; max-width: 20rem; height: auto; }
.foundation-calculator-phase1__form { display: flex; flex-direction: column; gap: 1.5rem; }
.foundation-calculator-phase1__message { border-radius: .75rem; padding: .75rem 1rem; font-size: .875rem; line-height: 1.4; }
.foundation-calculator-phase1__success { background: #eff8ef; color: #2d6a3b; }
.foundation-calculator-phase1__error, .foundation-calculator-phase1__field-error { color: #ef4444; }
.foundation-calculator-phase1__error { background: #fff1f1; }
.foundation-calculator-phase1__field-error { min-height: 1.15rem; margin-top: .375rem; font-size: .8125rem; font-weight: 500; line-height: 1.4; }
.foundation-calculator-phase1__range-label { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; color: var(--foundation-ink); font-size: .9375rem; font-weight: 500; line-height: 1.35; }
.foundation-calculator-phase1__range-label output { color: var(--foundation-ink); font-family: Geologica, Onest, sans-serif; font-size: 1.125rem; font-weight: 600; font-variant-numeric: tabular-nums; }
.foundation-calculator-phase1__range-field input[type="range"] { width: 100%; height: .5rem; margin-top: .75rem; appearance: none; border-radius: 999px; background: linear-gradient(to right, var(--foundation-brand) 0 var(--calculator-progress, 16%), var(--foundation-line) var(--calculator-progress, 16%) 100%); cursor: pointer; }
.foundation-calculator-phase1__range-field input[type="range"]::-webkit-slider-runnable-track { height: .5rem; border-radius: 999px; background: transparent; }
.foundation-calculator-phase1__range-field input[type="range"]::-webkit-slider-thumb { width: 1.625rem; height: 1.625rem; margin-top: -.5625rem; appearance: none; border: 6px solid var(--foundation-brand); border-radius: 50%; background: #fff; box-shadow: 0 .125rem .5rem rgba(39, 40, 46, .25); }
.foundation-calculator-phase1__range-field input[type="range"]::-moz-range-track { height: .5rem; border-radius: 999px; background: var(--foundation-line); }
.foundation-calculator-phase1__range-field input[type="range"]::-moz-range-progress { height: .5rem; border-radius: 999px; background: var(--foundation-brand); }
.foundation-calculator-phase1__range-field input[type="range"]::-moz-range-thumb { width: 1rem; height: 1rem; border: 6px solid var(--foundation-brand); border-radius: 50%; background: #fff; cursor: pointer; }
.foundation-calculator-phase1__range-field input[type="range"]:focus-visible { outline: 3px solid rgba(255, 166, 75, .5); outline-offset: 4px; }
.foundation-calculator-phase1__select-field { position: relative; }
.foundation-calculator-phase1__select-field select, .foundation-calculator-phase1__contact-fields input { width: 100%; min-height: 3rem; border: 1px solid var(--foundation-line); border-radius: .75rem; background: #fff; padding: .75rem 1rem; color: var(--foundation-ink); font-size: .9375rem; line-height: 1.35; outline: 0; transition: border-color .2s ease, box-shadow .2s ease; }
.foundation-calculator-phase1__select-field select { appearance: none; padding-right: 2.5rem; }
.foundation-calculator-phase1__select-field svg { position: absolute; top: 50%; right: .75rem; width: 1.25rem; height: 1.25rem; transform: translateY(-50%); pointer-events: none; color: var(--foundation-muted); }
.foundation-calculator-phase1__select-field select:focus, .foundation-calculator-phase1__contact-fields input:focus { border-color: var(--foundation-brand); box-shadow: 0 0 0 4px rgba(255, 166, 75, .2); }
.foundation-calculator-phase1__contact-fields { display: grid; gap: .75rem; }
.foundation-calculator-phase1__consent .personal-data-consent { color: var(--foundation-muted); font-size: .75rem; line-height: 1.45; }
.foundation-calculator-phase1__submit { width: 100%; min-height: 3.5rem; border: 0; border-radius: .75rem; background: linear-gradient(to bottom, var(--foundation-brand-light), var(--foundation-brand)); box-shadow: 0 .5rem 1.25rem -.5rem rgba(255, 166, 75, .9); color: var(--foundation-ink); font-size: 1rem; font-weight: 600; line-height: 1.25; transition: background .2s ease, box-shadow .2s ease; }
.foundation-calculator-phase1__submit:hover { background: linear-gradient(to bottom, var(--foundation-brand-light), #f39433); box-shadow: 0 .75rem 1.25rem -.5rem rgba(255, 166, 75, .9); }
.foundation-calculator-phase1__submit:focus-visible { outline: 0; box-shadow: 0 0 0 4px rgba(255, 166, 75, .35); }

.portfolio-showcase-phase1 { margin: 0 calc(50% - 50vw); padding-block: 4rem; background: #fff; }
.foundation-detail-page .portfolio-showcase-phase1 { background: var(--foundation-ground); }

/* Таблица подбора фундамента: данные сохранены из старого Fundament, вид — phase 1. */
.funhome-phase1 { width: auto; margin-inline: calc(50% - 50vw); padding: 3.5rem 0; background: #fff; }
.funhome-phase1__inner { width: min(100% - 2rem, 77.5rem); margin-inline: auto; }
.funhome-phase1__title { margin: 0; color: var(--foundation-ink); font-family: Geologica, Onest, sans-serif; font-size: 1.875rem; font-weight: 700; line-height: 1.15; letter-spacing: -.03em; }
.funhome-phase1__scroll { margin-top: 2rem; overflow-x: auto; border: 1px solid var(--foundation-line); border-radius: .75rem; background: #fff; -webkit-overflow-scrolling: touch; }
.funhome-phase1__scroll:focus-visible { outline: 0; box-shadow: 0 0 0 .25rem rgba(255, 192, 74, .38); }
.funhome-phase1__table { width: 100%; min-width: 71rem; border-collapse: collapse; color: var(--foundation-ink); font-family: Onest, Arial, sans-serif; font-size: .875rem; line-height: 1.35; }
.funhome-phase1__table th,
.funhome-phase1__table td { padding: .75rem 1rem; }
.funhome-phase1__table thead { color: #fff; background: #363b49; }
.funhome-phase1__table thead th { font-size: .8125rem; font-weight: 600; text-align: center; vertical-align: middle; }
.funhome-phase1__table thead tr:first-child th:first-child { position: sticky; z-index: 3; left: 0; min-width: 15.5rem; background: #363b49; text-align: left; }
.funhome-phase1__table thead tr:nth-child(2) th { background: #2c3140; text-align: left; }
.funhome-phase1__table tbody tr { border-bottom: 1px solid var(--foundation-line); background: #fff; }
.funhome-phase1__table tbody tr:nth-child(even) { background: var(--foundation-ground); }
.funhome-phase1__table tbody tr:last-child { border-bottom: 0; }
.funhome-phase1__table tbody th { position: sticky; z-index: 2; left: 0; min-width: 15.5rem; color: var(--foundation-ink); background: inherit; font-weight: 500; text-align: left; white-space: nowrap; }
.funhome-phase1__table td { min-width: 8.75rem; text-align: center; vertical-align: middle; }
.funhome-phase1__check { display: inline-grid; width: 1.5rem; height: 1.5rem; place-items: center; border-radius: 50%; color: #fff; background: #059669; }
.funhome-phase1__check svg { width: .875rem; height: .875rem; }
.funhome-phase1__dash { display: inline-grid; width: 1.5rem; height: 1.5rem; place-items: center; color: #9ca3af; font-size: 1rem; font-weight: 500; }

@media (min-width: 576px) {
  .funhome-phase1 { padding-block: 4rem; }
  .funhome-phase1__inner { width: min(100% - 3rem, 77.5rem); }
  .funhome-phase1__title { font-size: 2.25rem; }
}
.portfolio-showcase-phase1__inner { width: min(100%, 77.5rem); margin: 0 auto; padding-inline: 1rem; }
.portfolio-showcase-phase1__heading { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1rem; }
.portfolio-showcase-phase1__title { margin: 0; color: var(--foundation-ink); font-family: Geologica, Onest, sans-serif; font-size: 1.875rem; font-weight: 700; letter-spacing: -.025em; line-height: 1.25; }
.portfolio-showcase-phase1__all { display: inline-flex; align-items: center; gap: .5rem; color: var(--foundation-ink); font-size: .9375rem; font-weight: 600; line-height: 1.5; text-decoration: none; transition: color .15s ease; }
.portfolio-showcase-phase1__all svg, .portfolio-cards-phase1__more svg { width: 1rem; height: 1rem; transition: transform .15s ease; }
.portfolio-showcase-phase1__all:hover, .portfolio-showcase-phase1__all:focus-visible { color: #c25a00; }
.portfolio-showcase-phase1__all:hover svg, .portfolio-showcase-phase1__all:focus-visible svg, .portfolio-cards-phase1__more:hover svg, .portfolio-cards-phase1__more:focus-visible svg { transform: translateX(.2rem); }
.portfolio-showcase-phase1__all--service { min-height: 3.25rem; justify-content: center; margin-top: 2.5rem; border-radius: .75rem; background: linear-gradient(180deg, var(--foundation-brand-light), var(--foundation-brand)); padding: .75rem 1.5rem; box-shadow: 0 .5rem 1.25rem -.5rem rgba(255, 166, 75, .9); color: var(--foundation-ink); font-size: .9375rem; }
.portfolio-showcase-phase1__all--service:hover, .portfolio-showcase-phase1__all--service:focus-visible { color: var(--foundation-ink); filter: brightness(.97); box-shadow: 0 .75rem 1.25rem -.5rem rgba(211, 121, 29, .32); }
.portfolio-showcase-phase1__tabs-wrap { margin-top: 2rem; }
.portfolio-showcase-phase1__tabs { display: flex; gap: .5rem; overflow-x: auto; padding: 0 0 .25rem; cursor: grab; scrollbar-width: none; touch-action: pan-y; user-select: none; }
.portfolio-showcase-phase1__tabs.is-dragging { cursor: grabbing; }
.portfolio-showcase-phase1__tabs::-webkit-scrollbar, .portfolio-cards-phase1::-webkit-scrollbar { display: none; }
.portfolio-showcase-phase1__tab { flex: 0 0 auto; border: 1px solid var(--foundation-line); border-radius: 999px; background: #fff; padding: .5rem 1rem; color: #333; font-family: Onest, sans-serif; font-size: .875rem; font-weight: 500; line-height: 1.45; transition: background-color .15s ease, border-color .15s ease, color .15s ease; }
.portfolio-showcase-phase1__tab:hover, .portfolio-showcase-phase1__tab:focus-visible { border-color: var(--foundation-brand); color: #333; outline: 0; }
.portfolio-showcase-phase1__tab.active, .portfolio-showcase-phase1__tab[aria-selected="true"] { border-color: var(--foundation-ink); background: var(--foundation-ink); color: #fff; }
.portfolio-showcase-phase1__content { margin-top: 2rem; }
.service-example-cards-phase1 { display: flex; gap: 1rem; overflow-x: auto; margin-inline: -1rem; padding: 0 1rem .5rem; scroll-padding-inline: 1rem; scroll-snap-type: x mandatory; scrollbar-width: none; }
.service-example-cards-phase1::-webkit-scrollbar { display: none; }
.service-example-cards-phase1__card { position: relative; display: block; flex: 0 0 70%; overflow: hidden; border-radius: 1rem; background: var(--foundation-ink); color: #fff; scroll-snap-align: start; text-decoration: none; }
.service-example-cards-phase1__card::after { position: absolute; z-index: 0; inset: 35% 0 0; background: linear-gradient(to top, rgba(38, 40, 48, .92), transparent); content: ''; pointer-events: none; }
.service-example-cards-phase1__card img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .25s ease, opacity .25s ease; }
.service-example-cards-phase1__card:hover img { opacity: .9; transform: scale(1.03); }
.service-example-cards-phase1__card:focus-visible { outline: 2px solid var(--foundation-brand); outline-offset: 3px; }
.service-example-cards-phase1__label { position: absolute; z-index: 1; right: 1rem; bottom: 1rem; left: 1rem; display: flex; align-items: center; gap: .375rem; color: #fff; font-family: Onest, Arial, sans-serif; font-size: .9375rem; font-weight: 500; line-height: 1.35; }
.service-example-cards-phase1__label svg { flex: 0 0 1rem; width: 1rem; height: 1rem; color: var(--foundation-brand-light); }
.portfolio-cards-phase1 { display: flex; gap: 1rem; overflow-x: auto; margin-inline: -1rem; padding: 0 1rem .5rem; scroll-padding-inline: 1rem; scroll-snap-type: x mandatory; scrollbar-width: none; }
.portfolio-cards-phase1__card { display: flex; flex: 0 0 82%; flex-direction: column; overflow: hidden; scroll-snap-align: start; border: 1px solid var(--foundation-line); border-radius: 1rem; background: #fff; }
.portfolio-cards-phase1__image { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--foundation-ground); }
.portfolio-cards-phase1__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.portfolio-cards-phase1__card:hover .portfolio-cards-phase1__image img { transform: scale(1.03); }
.portfolio-cards-phase1__body { display: flex; flex: 1 1 auto; flex-direction: column; padding: 1.25rem; }
.portfolio-cards-phase1__title { margin: 0; color: var(--foundation-ink); font-family: Geologica, Onest, sans-serif; font-size: 1.125rem; font-weight: 600; line-height: 1.35; }
.portfolio-cards-phase1__title a { color: inherit; text-decoration: none; }
.portfolio-cards-phase1__title a:hover, .portfolio-cards-phase1__title a:focus-visible { color: #c25a00; }
.portfolio-cards-phase1__meta { display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; margin-top: .75rem; color: var(--foundation-muted); font-size: .875rem; line-height: 1.45; }
.portfolio-cards-phase1__meta div { display: inline-flex; align-items: center; gap: .375rem; }
.portfolio-cards-phase1__meta svg { flex: 0 0 1rem; width: 1rem; height: 1rem; color: #c25a00; }
.portfolio-cards-phase1__meta strong { color: var(--foundation-ink); font-weight: 500; }
.portfolio-cards-phase1__price { flex-basis: 100%; padding-top: .25rem; }
.portfolio-cards-phase1__price strong { font-family: Geologica, Onest, sans-serif; font-size: 1rem; font-weight: 600; }

/* Примеры смет на главной: фактические городские работы и их состав. */
.estimate-examples-phase1 { background: var(--foundation-section-background, #f4f4f4); padding: 3.5rem 0; }
.estimate-examples-phase1__inner { width: min(100% - 2rem, 1240px); margin: 0 auto; }
.estimate-examples-phase1__heading { margin-bottom: 2rem; }
.estimate-examples-phase1 h2 { margin: 0; color: #20242b; font-family: Geologica, Onest, sans-serif; font-size: 1.875rem; font-weight: 700; line-height: 1.2; letter-spacing: -.025em; }
.estimate-examples-phase1__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.estimate-examples-phase1__card { display: flex; flex-direction: column; min-width: 0; padding: 1.5rem; border: 1px solid var(--foundation-line); border-radius: 1rem; background: #fff; }
.estimate-examples-phase1__type { margin: 0; color: #7b8490; font-size: .8125rem; font-weight: 600; line-height: 1.35; letter-spacing: .04em; text-transform: uppercase; }
.estimate-examples-phase1 h3 { margin: .25rem 0 0; color: #20242b; font-family: Geologica, Onest, sans-serif; font-size: 1.125rem; font-weight: 600; line-height: 1.35; }
.estimate-examples-phase1__facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; margin: 1rem 0 0; }
.estimate-examples-phase1__facts > div { min-width: 0; border-radius: .5rem; background: var(--foundation-ground); padding: .625rem .75rem; }
.estimate-examples-phase1__facts div:last-child:nth-child(odd) { grid-column: 1 / -1; }
.estimate-examples-phase1__facts dt, .estimate-examples-phase1__bottom span { margin: 0; color: #7b8490; font-size: .8125rem; font-weight: 400; line-height: 1.35; }
.estimate-examples-phase1__facts dd { margin: .15rem 0 0; color: #20242b; font-size: .8125rem; font-weight: 600; line-height: 1.35; }
.estimate-examples-phase1__services { flex: 1; margin-top: 1rem; }
.estimate-examples-phase1__services ul { display: grid; gap: .375rem; margin: 0; padding: 0; list-style: none; }
.estimate-examples-phase1__services li { display: flex; align-items: flex-start; gap: .5rem; color: #4d5661; font-size: .875rem; line-height: 1.4; }
.estimate-examples-phase1__services svg { flex: 0 0 1rem; width: 1rem; height: 1rem; margin-top: .125rem; color: #c25a00; }
.estimate-examples-phase1__bottom { display: flex; align-items: flex-end; justify-content: space-between; gap: .75rem; margin-top: auto; padding-top: 1rem; border-top: 1px solid var(--foundation-line); }
.estimate-examples-phase1__bottom strong { display: block; margin-top: .15rem; color: #20242b; font-family: Geologica, Onest, sans-serif; font-size: 1.5rem; font-weight: 700; line-height: 1.2; white-space: nowrap; }
.estimate-examples-phase1__bottom a { display: inline-flex; align-items: center; gap: .375rem; color: #c25a00; font-size: .875rem; font-weight: 600; text-decoration: none; white-space: nowrap; }
.estimate-examples-phase1__bottom a:hover, .estimate-examples-phase1__bottom a:focus-visible { color: #20242b; text-decoration: none; }
@media (max-width: 991.98px) { .estimate-examples-phase1__grid { grid-template-columns: 1fr; } }
@media (min-width: 576px) { .estimate-examples-phase1 { padding-block: 4rem; } .estimate-examples-phase1 h2 { font-size: 2.25rem; } }
@media (max-width: 575.98px) { .estimate-examples-phase1__inner { width: min(100% - 1.5rem, 1240px); } .estimate-examples-phase1__card { padding: 1.25rem; } }
.portfolio-cards-phase1__review { margin-top: 1rem; border-radius: .75rem; background: var(--foundation-ground); padding: 1rem; color: #333; font-size: .875rem; line-height: 1.625; }
.portfolio-cards-phase1__review p { display: -webkit-box; margin: 0; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.portfolio-cards-phase1__review.is-expanded p { display: block; overflow: visible; }
.portfolio-cards-phase1__review strong { color: var(--foundation-ink); font-weight: 600; }
.portfolio-cards-phase1__review button { display: inline-block; margin-top: .25rem; border: 0; background: transparent; padding: 0; color: #c25a00; font-size: inherit; font-weight: 500; line-height: inherit; text-decoration: none; }
.portfolio-cards-phase1__review button:hover, .portfolio-cards-phase1__review button:focus-visible { color: var(--foundation-ink); text-decoration: underline; }
.portfolio-cards-phase1__more-wrap { margin-top: auto; padding-top: 1.25rem; }
.portfolio-cards-phase1__more { display: inline-flex; align-items: center; align-self: flex-start; gap: .5rem; margin-top: auto; border-radius: .75rem; background: var(--foundation-ink); padding: .625rem 1.5rem; color: #fff; font-size: .875rem; font-weight: 600; line-height: 1.5; text-decoration: none; transition: background-color .15s ease; }
.portfolio-cards-phase1__more:hover, .portfolio-cards-phase1__more:focus-visible { background: #333; color: #fff; outline: 0; }

/* Каталог работ: карточки и фильтры сохраняют локальные данные, композиция — phase 1. */
.portfolio-page-phase1 { width: auto; margin-inline: calc(50% - 50vw); padding: 3rem 0 4rem; background: #fff; }
.portfolio-page-phase1__inner { width: min(100% - 2rem, 77.5rem); margin-inline: auto; }
.portfolio-page-phase1__heading { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.portfolio-page-phase1__title { margin: 0; color: var(--foundation-ink); font-family: Geologica, Onest, sans-serif; font-size: 1.875rem; font-weight: 700; letter-spacing: -.03em; line-height: 1.15; }
.portfolio-objects-map-phase1__show-all { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 2.75rem; border-radius: .75rem; background: var(--foundation-ink); padding: .625rem 1.5rem; color: #fff; font-family: Onest, Arial, sans-serif; font-size: 1rem; font-weight: 600; line-height: 1.5; text-align: center; text-decoration: none; transition: background-color .15s ease, transform .15s ease; }
.portfolio-objects-map-phase1__location-icon { width: 1rem; height: 1rem; flex: 0 0 auto; }
.portfolio-objects-map-phase1__show-all:hover, .portfolio-objects-map-phase1__show-all:focus-visible { background: #4a4b52; color: #fff; outline: 0; transform: translateY(-1px); }
.portfolio-page-phase1__layout { display: grid; gap: 1.5rem; margin-top: 1.5rem; }
.portfolio-page-phase1__sidebar { display: grid; gap: .625rem; border-radius: 1rem; background: var(--foundation-ground); padding: 1.25rem; }
.portfolio-page-phase1__filter-label { margin: 0; color: #686970; font-family: Onest, Arial, sans-serif; font-size: .6875rem; font-weight: 600; line-height: 1.35; text-transform: uppercase; }
.portfolio-page-phase1__select { width: 100%; min-height: 3rem; border: 1px solid transparent; border-radius: .625rem; background: #fff; padding: .625rem .875rem; color: var(--foundation-ink); font-family: Onest, Arial, sans-serif; font-size: .875rem; line-height: 1.35; }
.portfolio-page-phase1__select:focus { border-color: var(--foundation-brand); box-shadow: 0 0 0 .25rem rgba(255, 166, 75, .18); outline: 0; }
.portfolio-page-phase1__sidebar .portfolio-page-phase1__filter-label:not(:first-child) { margin-top: .875rem; }
.portfolio-page-phase1__reset { justify-self: start; margin-top: .5rem; color: #b67924; font-family: Onest, Arial, sans-serif; font-size: .8125rem; font-weight: 600; line-height: 1.4; text-decoration: none; }
.portfolio-page-phase1__reset:hover, .portfolio-page-phase1__reset:focus-visible { color: var(--foundation-ink); text-decoration: underline; }
.portfolio-page-phase1__foundation-types { min-width: 0; margin: 0; padding: 0; border: 0; }
.portfolio-page-phase1__foundation-types .portfolio-page-phase1__filter-label { display: block; margin-bottom: .75rem; }
.portfolio-page-phase1__chips { display: flex; flex-wrap: wrap; gap: .5rem; }
.portfolio-page-phase1__chips input { position: absolute; opacity: 0; pointer-events: none; }
.portfolio-page-phase1__chips label { display: inline-flex; align-items: center; min-height: 2.25rem; border: 1px solid #e5e5e5; border-radius: 999px; background: #fff; padding: .375rem .875rem; color: #5c5d63; font-family: Onest, Arial, sans-serif; font-size: .8125rem; font-weight: 500; line-height: 1.3; cursor: pointer; transition: border-color .15s ease, background-color .15s ease, color .15s ease; }
.portfolio-page-phase1__chips label:hover { border-color: #c9c9c9; color: var(--foundation-ink); }
.portfolio-page-phase1__chips input:checked + label { border-color: var(--foundation-ink); background: var(--foundation-ink); color: #fff; }
.portfolio-page-phase1__chips input:focus-visible + label { outline: 3px solid rgba(255, 166, 75, .35); outline-offset: 2px; }
.portfolio-page-phase1__cards { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; margin-top: 1.5rem; }
.portfolio-page-phase1__card { display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid #ececec; border-radius: .875rem; background: #fff; box-shadow: 0 .25rem .875rem rgba(39, 40, 46, .04); }
.portfolio-page-phase1__image { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--foundation-ground); }
.portfolio-page-phase1__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.portfolio-page-phase1__card:hover .portfolio-page-phase1__image img { transform: scale(1.03); }
.portfolio-page-phase1__meta { position: absolute; right: .75rem; bottom: .75rem; left: .75rem; display: flex; flex-wrap: wrap; gap: .375rem; }
.portfolio-page-phase1__meta span { border-radius: .375rem; background: rgba(255, 255, 255, .92); padding: .25rem .5rem; color: #4b4b50; font-family: Onest, Arial, sans-serif; font-size: .6875rem; font-weight: 500; line-height: 1.25; }
.portfolio-page-phase1__card-body { display: flex; flex: 1 1 auto; flex-direction: column; padding: 1rem; }
.portfolio-page-phase1__card h3 { margin: 0; color: var(--foundation-ink); font-family: Geologica, Onest, sans-serif; font-size: 1rem; font-weight: 600; line-height: 1.35; }
.portfolio-page-phase1__card h3 a { color: inherit; text-decoration: none; }
.portfolio-page-phase1__card h3 a:hover, .portfolio-page-phase1__card h3 a:focus-visible { color: #b66a19; }
.portfolio-page-phase1__address { margin: .625rem 0 0; color: #8a8b91; font-family: Onest, Arial, sans-serif; font-size: .8125rem; line-height: 1.35; }
.portfolio-page-phase1__price { margin: auto 0 0; padding-top: .875rem; color: var(--foundation-ink); font-family: Geologica, Onest, sans-serif; font-size: 1rem; font-weight: 700; line-height: 1.25; }
.portfolio-page-phase1__load-more { margin-top: 2rem; text-align: center; }
.portfolio-page-phase1__more { min-height: 2.875rem; border: 1px solid #dfc68e; border-radius: .625rem; background: #fff; padding: .625rem 1.25rem; color: var(--foundation-ink); font-family: Onest, Arial, sans-serif; font-size: .875rem; font-weight: 600; line-height: 1.35; transition: background-color .15s ease, border-color .15s ease; }
.portfolio-page-phase1__more:hover, .portfolio-page-phase1__more:focus-visible { border-color: var(--foundation-brand); background: #fff8e9; outline: 0; }

@media (min-width: 576px) {
  .portfolio-page-phase1 { padding: 3.5rem 0 5rem; }
  .portfolio-page-phase1__inner { width: min(100% - 3rem, 77.5rem); }
  .portfolio-page-phase1__title { font-size: 2.25rem; }
  .portfolio-page-phase1__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
  .portfolio-page-phase1__card-body { padding: 1.25rem; }
  .portfolio-page-phase1__card h3 { font-size: 1.125rem; }
}

@media (min-width: 992px) {
  .portfolio-page-phase1__layout { grid-template-columns: 15rem minmax(0, 1fr); gap: 2rem; margin-top: 2rem; }
  .portfolio-page-phase1__sidebar { align-self: start; padding: 1.25rem; }
  .portfolio-page-phase1__cards { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 2rem; }
}

/* Карта всех объектов каталога. Состав меток зависит от города. */
.portfolio-objects-map-phase1 { width: auto; margin-inline: calc(50% - 50vw); padding: 3.5rem 0; background: var(--foundation-ground); scroll-margin-top: 4rem; }
.portfolio-objects-map-phase1__inner { width: min(100% - 2rem, 77.5rem); margin-inline: auto; }
.portfolio-objects-map-phase1 h2 { margin: 0; color: var(--foundation-ink); font-family: Geologica, Onest, sans-serif; font-size: 1.875rem; font-weight: 700; letter-spacing: -.03em; line-height: 1.15; }
.portfolio-objects-map-phase1__map { position: relative; min-height: 20rem; margin-top: 1.5rem; overflow: hidden; border-radius: 1rem; background: #e5e5e1; }
.portfolio-objects-map-phase1__fallback { position: absolute; inset: 0; display: grid; place-items: center; margin: 0; color: var(--foundation-muted); font-family: Onest, Arial, sans-serif; font-size: .875rem; text-align: center; }
.portfolio-objects-map-phase1__map.is-ready .portfolio-objects-map-phase1__fallback { display: none; }
.portfolio-objects-map-phase1__map.is-unavailable .portfolio-objects-map-phase1__fallback { display: grid; }

@media (min-width: 576px) {
  .portfolio-objects-map-phase1 { padding-block: 5rem; }
  .portfolio-objects-map-phase1__inner { width: min(100% - 3rem, 77.5rem); }
  .portfolio-objects-map-phase1 h2 { font-size: 2.25rem; }
  .portfolio-objects-map-phase1__map { min-height: 28rem; margin-top: 2rem; }
}

/* Project links block. Content and destinations remain data from the local project. */
.links-group-phase1 { width: auto; margin-inline: calc(50% - 50vw); padding: 3.5rem 0; background: #fff; }
.links-group-phase1__inner { width: min(100% - 2rem, 77.5rem); margin: 0 auto; }
.links-group-phase1__card { display: grid; gap: 2rem; border-radius: 1.5rem; background: var(--foundation-ground); padding: 1.5rem; }
.links-group-phase1__aside { display: flex; flex-direction: column; align-items: center; gap: 1.25rem; text-align: center; }
.links-group-phase1__image { display: block; width: 100%; max-width: 17.5rem; height: auto; }
.links-group-phase1__button { display: inline-flex; align-items: center; justify-content: center; min-height: 3.25rem; border-radius: .75rem; background: linear-gradient(180deg, #ffda78 0%, #f0ad45 100%); box-shadow: 0 .5rem 1.25rem -.5rem rgba(255, 166, 75, .9); padding: .75rem 1.5rem; color: var(--foundation-ink); font-size: 1rem; font-weight: 600; line-height: 1.5; text-decoration: none; transition: box-shadow .15s ease, filter .15s ease; }
.links-group-phase1__button:hover, .links-group-phase1__button:focus-visible { color: var(--foundation-ink); box-shadow: 0 .625rem 1.5rem -.5rem rgba(228, 139, 36, .9); filter: brightness(.97); outline: 0; }
.links-group-phase1__content h2 { margin: 0; color: var(--foundation-ink); font-family: Geologica, Onest, sans-serif; font-size: 1.5rem; font-weight: 700; line-height: 1.2; letter-spacing: -.025em; }
.links-group-phase1__links { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1.25rem 0 0; padding: 0; list-style: none; }
.links-group-phase1__links a { display: block; border: 1px solid var(--foundation-line); border-radius: .5rem; background: #fff; padding: .5rem .75rem; color: var(--foundation-ink); font-size: .875rem; font-weight: 400; line-height: 1.5; text-decoration: none; transition: border-color .15s ease, color .15s ease; }
.links-group-phase1__links a:hover, .links-group-phase1__links a:focus-visible { border-color: var(--foundation-brand); color: #c25a00; outline: 0; }
@media (min-width: 576px) { .links-group-phase1 { padding-block: 4rem; } .links-group-phase1__inner { width: min(100% - 3rem, 77.5rem); } .links-group-phase1__card { padding: 2.5rem; } .links-group-phase1__content h2 { font-size: 1.875rem; } }
@media (min-width: 992px) { .links-group-phase1__inner { width: min(100% - 4rem, 77.5rem); } .links-group-phase1__card { grid-template-columns: 20rem minmax(0, 1fr); align-items: center; } }

/* Suitable projects block. Card titles and items are supplied by the local page data. */
.is-for-phase1 { width: auto; margin-inline: calc(50% - 50vw); padding: 3.5rem 0; background: var(--foundation-ground); }
.is-for-phase1__inner { width: min(100% - 2rem, 77.5rem); margin: 0 auto; }
.is-for-phase1 h2 { margin: 0; color: var(--foundation-ink); font-family: Geologica, Onest, sans-serif; font-size: 1.875rem; font-weight: 700; line-height: 1.2; letter-spacing: -.025em; }
.is-for-phase1__grid { display: grid; gap: 1rem; margin-top: 2rem; }
.is-for-phase1__card { border: 1px solid var(--foundation-line); border-radius: 1rem; background: #fff; padding: 1.25rem; }
.is-for-phase1__card h3 { margin: 0; color: var(--foundation-ink); font-family: Geologica, Onest, sans-serif; font-size: 1.125rem; font-weight: 600; line-height: 1.35; }
.is-for-phase1__card ul { display: grid; gap: .375rem; margin: .75rem 0 0; padding: 0; list-style: none; }
.is-for-phase1__card li { display: flex; align-items: flex-start; gap: .5rem; color: #4b5563; font-size: .9375rem; font-weight: 400; line-height: 1.55; }
.is-for-phase1__check { flex: 0 0 1rem; width: 1rem; height: 1rem; margin-top: .2rem; color: #c25a00; }
@media (min-width: 576px) { .is-for-phase1 { padding-block: 4rem; } .is-for-phase1__inner { width: min(100% - 3rem, 77.5rem); } .is-for-phase1 h2 { font-size: 2.25rem; } .is-for-phase1__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 992px) { .is-for-phase1__inner { width: min(100% - 4rem, 77.5rem); } .is-for-phase1__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* Work advantages block. Existing local descriptions are deliberately retained. */
.work-advantages-phase1 { width: auto; margin-inline: calc(50% - 50vw); padding: 3.5rem 0; background: #fff; }
.work-advantages-phase1__inner { width: min(100% - 2rem, 77.5rem); margin: 0 auto; }
.work-advantages-phase1 h2 { margin: 0; color: var(--foundation-ink); font-family: Geologica, Onest, sans-serif; font-size: 1.875rem; font-weight: 700; line-height: 1.2; letter-spacing: -.025em; }
.work-advantages-phase1__grid { display: grid; gap: 1rem; margin-top: 2rem; }
.work-advantages-phase1__card { border: 1px solid var(--foundation-line); border-radius: 1rem; background: #fff; padding: 1.5rem; }
.work-advantages-phase1__icon { display: grid; width: 2.75rem; height: 2.75rem; place-items: center; border-radius: .75rem; background: #fff4e4; color: #c25a00; }
.work-advantages-phase1__icon svg { width: 1.25rem; height: 1.25rem; }
.work-advantages-phase1__card h3 { margin: 1rem 0 0; color: var(--foundation-ink); font-family: Geologica, Onest, sans-serif; font-size: 1.125rem; font-weight: 600; line-height: 1.35; }
.work-advantages-phase1__card p { margin: .5rem 0 0; color: #6b7280; font-size: .9375rem; font-weight: 400; line-height: 1.625; }
@media (min-width: 576px) { .work-advantages-phase1 { padding-block: 4rem; } .work-advantages-phase1__inner { width: min(100% - 3rem, 77.5rem); } .work-advantages-phase1 h2 { font-size: 2.25rem; } .work-advantages-phase1__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 992px) { .work-advantages-phase1__inner { width: min(100% - 4rem, 77.5rem); } .work-advantages-phase1__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

.sale-fundament-phase1 { margin: 0 calc(50% - 50vw); padding-block: 4rem; background: var(--foundation-ground); }
.sale-fundament-phase1__inner { width: min(100%, 77.5rem); margin: 0 auto; padding-inline: 1rem; }
.sale-fundament-phase1__title { margin: 0; color: var(--foundation-ink); font-family: Geologica, Onest, sans-serif; font-size: 1.875rem; font-weight: 700; letter-spacing: -.025em; line-height: 1.25; }
.sale-fundament-phase1__grid { display: flex; gap: 1.25rem; overflow-x: auto; margin: 2.5rem -1rem 0; padding: 0 1rem .5rem; scroll-padding-inline: 1rem; scroll-snap-type: x mandatory; scrollbar-width: none; }
.sale-fundament-phase1__grid::-webkit-scrollbar { display: none; }
.sale-fundament-phase1__grid.is-carousel { cursor: grab; }
.sale-fundament-phase1__grid.is-carousel.is-dragging { cursor: grabbing; scroll-snap-type: none; }
.sale-fundament-phase1__card { display: flex; flex: 0 0 85%; flex-direction: column; overflow: hidden; scroll-snap-align: start; border: 1px solid var(--foundation-line); border-radius: 1rem; background: #fff; }
.sale-fundament-phase1__image { aspect-ratio: 16 / 10; width: 100%; object-fit: cover; transition: transform .3s ease; }
.sale-fundament-phase1__card:hover .sale-fundament-phase1__image { transform: scale(1.02); }
.sale-fundament-phase1__body { display: flex; flex: 1 1 auto; flex-direction: column; align-items: flex-start; gap: 1rem; padding: 1.5rem; }
.sale-fundament-phase1__card-title { margin: 0; color: var(--foundation-ink); font-family: Geologica, Onest, sans-serif; font-size: 1.25rem; font-weight: 600; line-height: 1.35; }
.sale-fundament-phase1__description { margin: 0; color: var(--foundation-muted); font-size: .9375rem; line-height: 1.5; }
.sale-fundament-phase1__button { display: inline-flex; align-items: center; justify-content: center; min-height: 2.75rem; margin-top: auto; border: 1px solid var(--foundation-brand); border-radius: .75rem; background: #fff; padding: .625rem 1.5rem; color: var(--foundation-ink); font-size: .875rem; font-weight: 600; line-height: 1.5; text-decoration: none; transition: background-color .15s ease, box-shadow .15s ease; }
.sale-fundament-phase1__button:hover { background: #fff7ec; color: var(--foundation-ink); }
.sale-fundament-phase1__button:focus-visible { outline: 0; box-shadow: 0 0 0 4px rgba(255, 209, 91, .6); color: var(--foundation-ink); }

.achievements-phase1 { position: relative; isolation: isolate; overflow: hidden; margin: 0 calc(50% - 50vw); padding-block: 4rem; background: var(--foundation-ink); color: #fff; }
.achievements-phase1__image { position: absolute; z-index: -1; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .25; }
.achievements-phase1__inner { width: min(100%, 77.5rem); margin: 0 auto; padding-inline: 1rem; }
.achievements-phase1__title { margin: 0; color: #fff; font-family: Geologica, Onest, sans-serif; font-size: 1.875rem; font-weight: 700; letter-spacing: -.025em; line-height: 1.25; }
.achievements-phase1__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem 1.5rem; margin: 2.5rem 0 0; padding: 0; list-style: none; }
.achievements-phase1__item { border-left: 2px solid var(--foundation-brand); padding-left: 1.25rem; }
.achievements-phase1__number { color: var(--foundation-brand-light); font-family: Geologica, Onest, sans-serif; font-size: 3rem; font-variant-numeric: tabular-nums; font-weight: 700; letter-spacing: -.025em; line-height: 1; }
.achievements-phase1__label { margin-top: .5rem; color: rgba(255, 255, 255, .8); font-size: .9375rem; font-weight: 400; line-height: 1.4; }

@media (max-width: 991.98px) {
  .foreman-form-phase1__card { grid-template-columns: 1fr; }
  .foreman-form-phase1__image { min-height: 24rem; }
  .home-foundations-phase1__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-header__nav { height: 0; border-top: 0; }
  .site-header .main-menu { padding: 0; }
  .main-menu__desktop { display: none; }
  .site-header__menu-toggle { display: grid; width: 2.5rem; height: 2.5rem; place-content: center; gap: .25rem; border: 1px solid var(--foundation-line); border-radius: .5rem; background: #fff; }
  .site-header__menu-toggle span { display: block; width: 1.125rem; height: 2px; border-radius: 1px; background: var(--foundation-ink); }
  .main-menu__drawer:not([hidden]) { display: block; position: fixed; z-index: 1100; inset: 0; }
  .main-menu__drawer-backdrop { position: fixed; inset: 0; width: 100%; height: 100dvh; border: 0; background: rgba(39, 40, 46, .6); }
  .main-menu__drawer-panel { position: fixed; top: 0; right: 0; bottom: 0; display: flex; width: min(100%, 24rem); height: 100dvh; flex-direction: column; overflow-y: auto; background: #fff; padding: 0 1.25rem 2rem; box-shadow: -1.25rem 0 3rem rgba(39, 40, 46, .18); }
  .main-menu__drawer-head { position: sticky; z-index: 1; top: 0; display: flex; align-items: center; justify-content: space-between; min-height: 4.5rem; background: #fff; }
  .main-menu__drawer-head img { width: auto; height: 1.5rem; }
  .main-menu__drawer-close { display: grid; width: 2.5rem; height: 2.5rem; place-items: center; border: 1px solid var(--foundation-line); border-radius: .5rem; background: #fff; color: var(--foundation-ink); }
  .main-menu__drawer-close svg { width: 1.25rem; height: 1.25rem; }
  .main-menu__drawer-links > a, .main-menu__drawer-links details { display: block; border-bottom: 1px solid var(--foundation-line); color: var(--foundation-ink); text-decoration: none; }
  .main-menu__drawer-links > a, .main-menu__drawer-links summary { padding-block: 1rem; font-size: 1.125rem; font-weight: 600; line-height: 1.35; }
  .main-menu__drawer-links summary { display: flex; align-items: center; justify-content: space-between; cursor: pointer; list-style: none; }
  .main-menu__drawer-links summary::-webkit-details-marker { display: none; }
  .main-menu__drawer-links summary svg { width: 1.25rem; height: 1.25rem; transition: transform .2s ease; }
  .main-menu__drawer-links details[open] summary svg { transform: rotate(180deg); }
  .main-menu__drawer-children { padding-bottom: .75rem; }
  .main-menu__drawer-children a { display: block; padding-block: .5rem; color: var(--foundation-ink); font-size: .9375rem; font-weight: 500; line-height: 1.4; text-decoration: none; }
  .main-menu__drawer-children .main-menu__drawer-nested-link { padding-left: 1rem; color: #68707a; font-weight: 400; }
  .main-menu__drawer-phone { display: block; margin-top: 1.5rem; color: var(--foundation-ink); font-family: Geologica, Onest, sans-serif; font-size: 1.5rem; font-weight: 600; text-decoration: none; }
  .main-menu__drawer-caption { margin-top: .25rem; color: var(--foundation-muted); font-size: .875rem; }
  .foundation-hero__overlay { background: linear-gradient(180deg, rgba(39, 40, 46, .87), rgba(39, 40, 46, .94)); }
  .foundation-hero__form { margin-top: .5rem; }
  .foundation-quiz__options--three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 576px) {
  .foundation-calculator-phase1 { padding-block: 5rem; }
  .foundation-calculator-phase1__card { padding: 2.5rem; }
  .foundation-calculator-phase1__contact-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .portfolio-showcase-phase1 { padding-block: 5rem; }
  .portfolio-showcase-phase1__inner { padding-inline: 1.5rem; }
  .portfolio-showcase-phase1__title { font-size: 2.25rem; }
  .sale-fundament-phase1 { padding-block: 5rem; }
  .sale-fundament-phase1__inner { padding-inline: 1.5rem; }
  .sale-fundament-phase1__title { font-size: 2.25rem; }
  .achievements-phase1 { padding-block: 5rem; }
  .achievements-phase1__title { font-size: 2.25rem; }
  .achievements-phase1__number { font-size: 3.75rem; }
  .home-foundations-phase1, .home-foundation-objects-phase1 { padding-block: 5rem; }
  .foreman-form-phase1 { padding-block: 5rem; }
  .foreman-form-phase1__image, .foreman-form-phase1__form-side { padding: 2.5rem; }
  .foreman-form-phase1__title { font-size: 1.875rem; }
  .home-foundations-phase1__title, .home-foundation-objects-phase1__title { font-size: 2.25rem; }
  .foreman-form-phase1__fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .foreman-form-phase1__submit { width: auto; min-width: 13.5rem; padding-inline: 1.5rem; }
  .site-header .container,
  .site-header__promo .container { padding-inline: 1.5rem; }
  .site-header__promo .container { min-height: 2.25rem; font-size: .8125rem; }
  .site-header__brand img { height: 1.75rem; }
  .foundation-hero__inner { padding: 4rem 1.5rem; }
  .foundation-hero__title { font-size: 2.25rem; }
  .foundation-hero__lead { font-size: 1.125rem; }
  .foundation-hero__advantages { gap: 1rem; margin-top: 1.5rem; }
  .foundation-hero__advantages li { gap: .75rem; font-size: .9375rem; line-height: 1.35; }
  .foundation-hero__advantage-icon { flex-basis: 2.5rem; width: 2.5rem; height: 2.5rem; }
}

@media (min-width: 768px) {
  .sale-fundament-phase1__grid:not(.is-carousel) { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: visible; margin-inline: 0; padding: 0; }
  .sale-fundament-phase1__grid:not(.is-carousel) .sale-fundament-phase1__card { min-width: 0; }
  .sale-fundament-phase1__grid.is-carousel .sale-fundament-phase1__card { flex: 0 0 calc((100% - 2.5rem) / 3); }
}

@media (min-width: 992px) {
  .foundation-calculator-phase1__card { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 3rem; }
  .portfolio-showcase-phase1__inner { padding-inline: 2rem; }
  .service-example-cards-phase1 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; overflow: visible; margin: 0; padding: 0; }
  .service-example-cards-phase1__card { min-width: 0; }
  .portfolio-cards-phase1 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; overflow: visible; margin: 0; padding: 0; }
  .portfolio-cards-phase1__card { min-width: 0; }
  .sale-fundament-phase1__inner { padding-inline: 2rem; }
  .achievements-phase1__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .foreman-form-phase1 { padding-block: 5rem; }
  .foreman-form-phase1__card { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .foreman-form-phase1__image, .foreman-form-phase1__form-side { padding: 3rem; }
  .foreman-form-phase1__list { font-size: 1.125rem; }
  .site-header .container,
  .site-header__promo .container { padding-inline: 2rem; }
  .foundation-hero { margin-top: -3rem; }
  .foundation-hero__inner { padding: 3rem 2rem; }
  .foundation-hero__inner .row { --bs-gutter-x: 3.5rem; }
  .foundation-hero__inner .col-lg-7 { flex: 1 1 0; width: auto; }
.foundation-hero__inner .col-lg-6 { flex: 0 1 25rem; width: min(100%, 25rem); }
  .foundation-hero__title { font-size: 2.875rem; }
}

.foundation-price-tabs-phase1 { width: auto; margin-inline: calc(50% - 50vw); padding-block: 4rem; background: var(--foundation-ground); }
.foundation-price-tabs-phase1--prices-page { background: #fff; }
.foundation-price-tabs-phase1__inner { width: min(100% - 2rem, 77.5rem); margin-inline: auto; }
.foundation-price-tabs-phase1__title { margin: 0; color: var(--foundation-ink); font-family: Geologica, sans-serif; font-size: clamp(1.875rem, 2.8vw, 2.25rem); font-weight: 700; line-height: 1.2; letter-spacing: -.03em; }
.foundation-price-tabs-phase1__sizes { margin-top: 2rem; }
.foundation-price-tabs-phase1__sizes-heading { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .5rem 1rem; }
.foundation-price-tabs-phase1__sizes-heading h3 { margin: 0; color: var(--foundation-ink); font-family: Geologica, sans-serif; font-size: 1.25rem; font-weight: 600; line-height: 1.3; }
.foundation-price-tabs-phase1__sizes-heading p { margin: 0; color: var(--foundation-muted); font-size: .8125rem; line-height: 1.45; }
.foundation-price-tabs-phase1__sizes-grid { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(15.5rem, 78%); gap: 1rem; overflow-x: auto; margin: 1rem -1rem 0; padding: 0 1rem .5rem; scroll-snap-type: x mandatory; scrollbar-width: none; }
.foundation-price-tabs-phase1__sizes-grid::-webkit-scrollbar { display: none; }
.foundation-price-tabs-phase1__size-card { display: flex; flex-direction: column; min-height: 100%; padding: 1rem; border: 1px solid var(--foundation-line); border-radius: 1rem; background: #fff; scroll-snap-align: start; }
.foundation-price-tabs-phase1__size-card h4 { margin: 0; color: var(--foundation-ink); font-family: Geologica, sans-serif; font-size: 1.25rem; font-weight: 700; line-height: 1.3; }
.foundation-price-tabs-phase1__size-card > p { margin: .25rem 0 0; color: var(--foundation-muted); font-size: .875rem; line-height: 1.35; }
.foundation-price-tabs-phase1__size-card > p strong { color: #c25a00; font-family: Geologica, sans-serif; font-size: 1.25rem; font-weight: 600; }
.foundation-price-tabs-phase1__size-card ul { margin: .75rem 0 0; padding: 0; list-style: none; }
.foundation-price-tabs-phase1__size-card li { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .25rem .75rem; border-top: 1px solid var(--foundation-line); padding: .5rem 0; }
.foundation-price-tabs-phase1__size-card li:first-child { border-top: 0; }
.foundation-price-tabs-phase1__size-card a { min-width: 0; color: #4a4b51; font-size: .8125rem; line-height: 1.35; text-decoration: none; overflow-wrap: anywhere; }
.foundation-price-tabs-phase1__size-card a:hover, .foundation-price-tabs-phase1__size-card a:focus-visible { color: #c25a00; text-decoration: none; outline: 0; }
.foundation-price-tabs-phase1__size-card li span { color: var(--foundation-ink); font-size: .8125rem; font-weight: 600; line-height: 1.35; white-space: nowrap; }
.foundation-price-tabs-phase1__layout { display: grid; gap: 1.5rem; margin-top: 2.5rem; }
.foundation-price-tabs-phase1__tabs { display: flex; gap: .5rem; overflow-x: auto; padding: 0 1rem .25rem; margin-inline: -1rem; scrollbar-width: none; }
.foundation-price-tabs-phase1__tabs::-webkit-scrollbar { display: none; }
.foundation-price-tabs-phase1__tab { flex: 0 0 auto; padding: .75rem 1rem; border: 0; border-radius: .75rem; background: var(--foundation-ground); color: var(--foundation-ink); font: 500 .9375rem/1.4 Onest, sans-serif; text-align: left; transition: background-color .2s ease, color .2s ease; }
.foundation-price-tabs-phase1__tab:hover, .foundation-price-tabs-phase1__tab:focus-visible { background: #fff4e7; color: var(--foundation-ink); outline: 0; }
.foundation-price-tabs-phase1__tab.active { background: var(--foundation-brand); color: var(--foundation-ink); font-weight: 600; }
.foundation-price-tabs-phase1__table-wrap { overflow-x: auto; border: 1px solid var(--foundation-line); border-radius: .75rem; scrollbar-color: var(--foundation-brand) transparent; }
.foundation-price-tabs-phase1__table { width: 100%; min-width: max-content; border-collapse: collapse; color: var(--foundation-ink); font-size: .875rem; line-height: 1.45; }
.foundation-price-tabs-phase1__table th, .foundation-price-tabs-phase1__table td { padding: .75rem 1rem; white-space: nowrap; vertical-align: middle; }
.foundation-price-tabs-phase1__table thead { background: var(--foundation-ink); color: #fff; }
.foundation-price-tabs-phase1__table thead th { font-size: .8125rem; font-weight: 600; text-align: right; }
.foundation-price-tabs-phase1__table thead th:first-child { text-align: left; }
.foundation-price-tabs-phase1__table tbody tr { border-bottom: 1px solid var(--foundation-line); background: #fff; }
.foundation-price-tabs-phase1__table tbody tr:nth-child(even) { background: var(--foundation-ground); }
.foundation-price-tabs-phase1__table tbody tr:last-child { border-bottom: 0; }
.foundation-price-tabs-phase1__table tbody tr.foundation-price-tabs-phase1__pair-start,
.foundation-price-tabs-phase1__table tbody tr.foundation-price-tabs-phase1__pair-end { background: #fff; }
.foundation-price-tabs-phase1__table tbody tr.foundation-price-tabs-phase1__pair--ground { background: var(--foundation-ground); }
.foundation-price-tabs-phase1__table tbody tr.foundation-price-tabs-phase1__pair-start { border-bottom: 0; }
.foundation-price-tabs-phase1__table tbody tr.foundation-price-tabs-phase1__pair-start--separated th,
.foundation-price-tabs-phase1__table tbody tr.foundation-price-tabs-phase1__pair-start--separated td:not(.foundation-price-tabs-phase1__total) { border-bottom: 1px solid var(--foundation-line); }
.foundation-price-tabs-phase1__table tbody th { font-weight: 500; text-align: left; }
.foundation-price-tabs-phase1__table tbody td { color: #4a4b51; font-variant-numeric: tabular-nums; text-align: right; }
.foundation-price-tabs-phase1__table .foundation-price-tabs-phase1__total { border-left: 1px solid var(--foundation-line); background: rgba(255, 247, 236, .6); color: var(--foundation-ink); font-weight: 600; }
.foundation-price-tabs-phase1__first-cell { position: sticky; left: 0; z-index: 1; background: inherit; }
.foundation-price-tabs-phase1__first-cell--separated { border-right: 1px solid var(--foundation-line); }
.foundation-price-tabs-phase1__first-cell--description { min-width: 31rem; white-space: pre-line !important; }
.foundation-price-tabs-phase1__table thead .foundation-price-tabs-phase1__first-cell { z-index: 2; background: var(--foundation-ink); }
.foundation-price-tabs-phase1__table--first-column-separated thead th:first-child { border-right: 1px solid rgba(255, 255, 255, .25); }
.foundation-price-tabs-phase1__footer { display: flex; flex-wrap: wrap; align-items: center; gap: 1.25rem 2rem; margin-top: 1.5rem; padding: 1.25rem; border-radius: .75rem; background: var(--foundation-ground); }
.foundation-price-tabs-phase1__footer p { flex: 1 1 28rem; margin: 0; color: var(--foundation-muted); font-size: .875rem; line-height: 1.55; }
.foundation-price-tabs-phase1__request { display: inline-flex; align-items: center; justify-content: center; min-height: 3rem; padding: .75rem 1.25rem; border-radius: .75rem; background: linear-gradient(180deg, var(--foundation-brand-light) 0%, var(--foundation-brand) 100%); box-shadow: 0 .5rem 1.25rem rgba(221, 141, 31, .22); color: var(--foundation-ink); font-size: .9375rem; font-weight: 600; line-height: 1.4; text-decoration: none; transition: box-shadow .2s ease, filter .2s ease, transform .2s ease; }
.foundation-price-tabs-phase1__request:hover, .foundation-price-tabs-phase1__request:focus-visible { color: var(--foundation-ink); box-shadow: 0 .625rem 1.25rem rgba(221, 141, 31, .28); filter: saturate(1.06); outline: 0; transform: translateY(-1px); }
.foundation-price-tabs-phase1__request:active { box-shadow: none; transform: translateY(0); }

.foundation-price-explainer-phase1 { width: auto; margin-inline: calc(50% - 50vw); padding: 3rem 0 5rem; background: var(--foundation-section-background, #fff); }
.foundation-price-explainer-phase1__inner { display: grid; gap: 1.5rem; width: min(100% - 2rem, 77.5rem); margin-inline: auto; padding: 1.5rem; border-radius: 1.5rem; background: var(--foundation-ground); }
.foundation-price-explainer-phase1 h2 { margin: 0; color: var(--foundation-ink); font-family: Geologica, sans-serif; font-size: 1.5rem; font-weight: 700; line-height: 1.25; }
.foundation-price-explainer-phase1__factors { display: grid; grid-template-columns: 1fr; gap: .75rem; margin: 1.25rem 0 0; padding: 0; list-style: none; }
.foundation-price-explainer-phase1__factors li { border-radius: .75rem; background: #fff; padding: 1rem; }
.foundation-price-explainer-phase1__included article { border-radius: 1rem; background: #fff; padding: 1.25rem; }
.foundation-price-explainer-phase1__factors strong, .foundation-price-explainer-phase1__included h3 { display: block; color: var(--foundation-ink); font-size: .9375rem; font-weight: 600; line-height: 1.35; }
.foundation-price-explainer-phase1__factors p { margin: .25rem 0 0; color: var(--foundation-muted); font-size: .875rem; line-height: 1.5; }
.foundation-price-explainer-phase1__included { display: grid; gap: .75rem; margin-top: 1.25rem; }
.foundation-price-explainer-phase1__included h3 { margin: 0 0 .625rem; }
.foundation-price-explainer-phase1__included ul { display: grid; gap: .375rem; margin: 0; padding: 0; list-style: none; }
.foundation-price-explainer-phase1__included li { display: flex; gap: .5rem; color: #4a4b51; font-size: .9375rem; line-height: 1.45; }
.foundation-price-explainer-phase1__included li::before { flex: 0 0 auto; color: #c25a00; content: '✓'; }
.foundation-price-explainer-phase1__note { margin: .75rem 0 0; color: var(--foundation-muted); font-size: .8125rem; line-height: 1.45; }
@media (min-width: 768px) { .foundation-price-explainer-phase1__factors { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 576px) { .foundation-price-explainer-phase1 { padding-top: 3.75rem; } .foundation-price-explainer-phase1__inner { padding: 2rem; } }
@media (min-width: 992px) { .foundation-price-explainer-phase1__inner { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); } }

.fundament-reviews-phase1 { width: auto; margin-inline: calc(50% - 50vw); padding-block: 4rem; background: var(--foundation-ground); }
.fundament-reviews-phase1__inner { width: min(100% - 2rem, 77.5rem); margin-inline: auto; }
.fundament-reviews-phase1__heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; }
.fundament-reviews-phase1__title { margin: 0; color: var(--foundation-ink); font-family: Geologica, sans-serif; font-size: clamp(1.875rem, 2.8vw, 2.25rem); font-weight: 700; line-height: 1.2; letter-spacing: -.03em; }
.fundament-reviews-phase1__arrows { display: flex; gap: .5rem; }
.fundament-reviews-phase1__arrows button { display: grid; width: 2.75rem; height: 2.75rem; padding: 0; border: 1px solid var(--foundation-line); border-radius: 999px; place-items: center; background: #fff; color: var(--foundation-ink); transition: border-color .2s ease, background-color .2s ease; }
.fundament-reviews-phase1__arrows svg { width: 1.25rem; height: 1.25rem; }
.fundament-reviews-phase1__arrows button:hover, .fundament-reviews-phase1__arrows button:focus-visible { border-color: var(--foundation-brand); background: #fff8ef; outline: 0; }
.fundament-reviews-phase1__tabs { display: flex; gap: .5rem; overflow-x: auto; margin-top: 2rem; padding-bottom: .25rem; scrollbar-width: none; }
.fundament-reviews-phase1__tabs::-webkit-scrollbar, .fundament-reviews-phase1__scroller::-webkit-scrollbar { display: none; }
.fundament-reviews-phase1__tabs button { flex: 0 0 auto; padding: .5rem 1rem; border: 1px solid var(--foundation-line); border-radius: 999px; background: #fff; color: var(--foundation-ink); font: 500 .875rem/1.4 Onest, sans-serif; transition: border-color .2s ease, background-color .2s ease; }
.fundament-reviews-phase1__tabs button:hover, .fundament-reviews-phase1__tabs button:focus-visible { border-color: var(--foundation-brand); outline: 0; }
.fundament-reviews-phase1__tabs button.is-active { border-color: var(--foundation-brand); background: var(--foundation-brand); font-weight: 600; }
.fundament-reviews-phase1__panel { margin-top: 1.75rem; }
.fundament-reviews-phase1__scroller { display: flex; gap: 1.25rem; overflow-x: auto; margin: 0; padding: 0 0 .5rem; list-style: none; scroll-snap-type: x mandatory; scrollbar-width: none; }
.fundament-reviews-phase1__text-card, .fundament-reviews-phase1__video-card { flex: 0 0 min(21.25rem, calc(100vw - 3rem)); min-height: 20rem; scroll-snap-align: start; }
.fundament-reviews-phase1__text-card { display: flex; flex-direction: column; padding: 1.5rem; border: 1px solid var(--foundation-line); border-radius: 1rem; background: #fff; }
.fundament-reviews-phase1__author { display: flex; align-items: center; gap: .75rem; }
.fundament-reviews-phase1__author img, .fundament-reviews-phase1__author span { display: grid; flex: 0 0 3rem; width: 3rem; height: 3rem; border-radius: 50%; place-items: center; background: #fff1df; color: #ae6100; font-weight: 700; object-fit: cover; }
.fundament-reviews-phase1__author h3 { margin: 0; color: var(--foundation-ink); font-size: 1rem; font-weight: 600; }
.fundament-reviews-phase1__text-card p { display: -webkit-box; overflow: hidden; margin: 1rem 0 0; color: #4a4b51; font-size: .9375rem; line-height: 1.6; -webkit-box-orient: vertical; -webkit-line-clamp: 6; }
.fundament-reviews-phase1__text-card.is-expanded p { display: block; overflow: visible; -webkit-line-clamp: unset; }
.fundament-reviews-phase1__text-card button { align-self: start; margin-top: .75rem; padding: 0; border: 0; background: transparent; color: #b46100; font: 500 .9375rem/1.4 Onest, sans-serif; }
.fundament-reviews-phase1__text-card button:hover, .fundament-reviews-phase1__text-card button:focus-visible { color: var(--foundation-ink); outline: 0; }
.fundament-reviews-phase1__video-card { overflow: hidden; border-radius: 1rem; background: var(--foundation-ink); }
.fundament-reviews-phase1__video-card button { position: relative; display: block; width: 100%; height: 100%; min-height: 20rem; padding: 0; border: 0; overflow: hidden; background: var(--foundation-ink); color: #fff; text-align: left; }
.fundament-reviews-phase1__video-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .72; transition: opacity .2s ease, transform .2s ease; }
.fundament-reviews-phase1__video-card button > span { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(39, 40, 46, .85), rgba(39, 40, 46, .06) 70%); }
.fundament-reviews-phase1__video-card i { position: absolute; top: 50%; left: 50%; display: grid; width: 4rem; height: 4rem; border-radius: 50%; place-items: center; transform: translate(-50%, -50%); background: var(--foundation-brand); color: var(--foundation-ink); transition: transform .2s ease; }
.fundament-reviews-phase1__video-card i svg { width: 1.5rem; height: 1.5rem; margin-left: .15rem; }
.fundament-reviews-phase1__video-card strong { position: absolute; right: 0; bottom: 0; left: 0; padding: 1.25rem; font-family: Geologica, sans-serif; font-size: 1rem; line-height: 1.3; }
.fundament-reviews-phase1__video-card button:hover img, .fundament-reviews-phase1__video-card button:focus-visible img { opacity: .9; transform: scale(1.03); }
.fundament-reviews-phase1__video-card button:hover i, .fundament-reviews-phase1__video-card button:focus-visible i { transform: translate(-50%, -50%) scale(1.1); }
.fundament-reviews-phase1__video-card button:focus-visible { outline: .1875rem solid var(--foundation-brand); outline-offset: -.1875rem; }
.fundament-reviews-phase1__all { display: inline-flex; align-items: center; gap: .5rem; margin-top: 1.5rem; color: var(--foundation-ink); font-size: .9375rem; font-weight: 600; text-decoration: none; }
.fundament-reviews-phase1__all svg { width: 1rem; height: 1rem; transition: transform .2s ease; }
.fundament-reviews-phase1__all:hover, .fundament-reviews-phase1__all:focus-visible { color: #b46100; outline: 0; }
.fundament-reviews-phase1__all:hover svg { transform: translateX(.2rem); }
.fundament-reviews-phase1__dialog { width: min(56rem, calc(100% - 2rem)); padding: 0; border: 0; border-radius: 1rem; overflow: hidden; background: #000; }
.fundament-reviews-phase1__dialog::backdrop { background: rgba(39, 40, 46, .75); backdrop-filter: blur(.25rem); }
.fundament-reviews-phase1__dialog video { display: block; width: 100%; max-height: 80vh; }
.fundament-reviews-phase1__dialog button { position: absolute; z-index: 1; top: .75rem; right: .75rem; display: grid; width: 2.5rem; height: 2.5rem; padding: 0; border: 0; border-radius: 50%; place-items: center; background: #fff; color: var(--foundation-ink); font-size: 1.5rem; line-height: 1; }

.fundament-steps-phase1 { position: relative; isolation: isolate; width: auto; margin-inline: calc(50% - 50vw); overflow: hidden; padding-block: 4rem; background: var(--foundation-ink); color: #fff; }
.fundament-steps-phase1__image { position: absolute; z-index: -1; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .2; }
.fundament-steps-phase1__inner { width: min(100% - 2rem, 77.5rem); margin-inline: auto; }
.fundament-steps-phase1__title { margin: 0; color: #fff; font-family: Geologica, sans-serif; font-size: clamp(1.875rem, 2.8vw, 2.25rem); font-weight: 700; line-height: 1.2; letter-spacing: -.03em; }
.fundament-steps-phase1__grid { display: grid; gap: 1rem; margin: 2.5rem 0 0; padding: 0; list-style: none; }
.fundament-steps-phase1__card { min-height: 12.25rem; padding: 1.5rem; border: 1px solid rgba(255, 255, 255, .1); border-radius: 1rem; background: rgba(255, 255, 255, .04); backdrop-filter: blur(.25rem); }
.fundament-steps-phase1__number { color: var(--foundation-brand); font-family: Geologica, sans-serif; font-size: 2.25rem; font-weight: 700; font-variant-numeric: tabular-nums; line-height: 1; }
.fundament-steps-phase1__card-title { margin: 1rem 0 0; color: #fff; font-family: Geologica, sans-serif; font-size: 1.125rem; font-weight: 600; line-height: 1.35; }
.fundament-steps-phase1__card p { margin: .5rem 0 0; color: rgba(255, 255, 255, .7); font-size: .9375rem; line-height: 1.55; }
.fundament-steps-phase1__card a { color: #ffda7c; font-weight: 500; text-decoration: underline dotted; text-underline-offset: .25rem; }
.fundament-steps-phase1__card a:hover, .fundament-steps-phase1__card a:focus-visible { color: #fff1bf; outline: 0; }

.fundament-professionals-phase1 { width: auto; margin-inline: calc(50% - 50vw); padding-block: 4rem; background: #fff; }
.fundament-professionals-phase1__inner { width: min(100% - 2rem, 77.5rem); margin-inline: auto; }
.fundament-professionals-phase1__title { margin: 0; color: var(--foundation-ink); font-family: Geologica, sans-serif; font-size: clamp(1.875rem, 2.8vw, 2.25rem); font-weight: 700; line-height: 1.2; letter-spacing: -.03em; }
.fundament-professionals-phase1__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem 1rem; margin: 2rem 0 0; padding: 0; list-style: none; }
.fundament-professionals-phase1__card { display: flex; min-width: 0; flex-direction: column; }
.fundament-professionals-phase1__photo { overflow: hidden; aspect-ratio: 4 / 5; border-radius: 1rem; background: linear-gradient(180deg, #fff4e7, var(--foundation-ground)); }
.fundament-professionals-phase1__photo img, .fundament-professionals-phase1__photo span { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top; }
.fundament-professionals-phase1__photo span { display: grid; place-items: center; color: #b46100; font-family: Geologica, sans-serif; font-size: 2rem; font-weight: 700; }
.fundament-professionals-phase1__name { margin: .75rem 0 0; color: var(--foundation-ink); font-family: Geologica, sans-serif; font-size: 1.125rem; font-weight: 600; line-height: 1.3; }
.fundament-professionals-phase1__job { margin: .125rem 0 0; color: #b46100; font-size: .8125rem; font-weight: 500; line-height: 1.45; }
.fundament-professionals-phase1__description { margin: .5rem 0 0; color: var(--foundation-muted); font-size: .875rem; line-height: 1.55; }

.fundament-certificates-phase1 { width: auto; margin-inline: calc(50% - 50vw); padding-block: 4rem; background: #fff; }
.fundament-certificates-phase1__inner { width: min(100% - 2rem, 77.5rem); margin-inline: auto; }
.fundament-certificates-phase1__heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; }
.fundament-certificates-phase1__title { margin: 0; color: var(--foundation-ink); font-family: Geologica, sans-serif; font-size: clamp(1.875rem, 2.8vw, 2.25rem); font-weight: 700; line-height: 1.2; letter-spacing: -.03em; }
.fundament-certificates-phase1__arrows { display: none; gap: .5rem; }
.fundament-certificates-phase1__arrows button { display: grid; width: 2.75rem; height: 2.75rem; padding: 0; border: 1px solid var(--foundation-line); border-radius: 50%; place-items: center; background: #fff; color: var(--foundation-ink); transition: border-color .2s ease, background-color .2s ease; }
.fundament-certificates-phase1__arrows svg { width: 1.25rem; height: 1.25rem; }
.fundament-certificates-phase1__arrows button:hover, .fundament-certificates-phase1__arrows button:focus-visible { border-color: var(--foundation-brand); background: #fff8ef; outline: 0; }
.fundament-certificates-phase1__scroller { display: flex; gap: 1rem; overflow-x: auto; margin: 2.5rem -1rem 0; padding: 0 1rem .5rem; list-style: none; scroll-padding-inline: 1rem; scroll-snap-type: x mandatory; scrollbar-width: none; }
.fundament-certificates-phase1__scroller::-webkit-scrollbar { display: none; }
.fundament-certificates-phase1__card { flex: 0 0 11.25rem; scroll-snap-align: start; }
.fundament-certificates-phase1__card button, .fundament-certificates-phase1__card > span { display: block; width: 100%; overflow: hidden; border: 1px solid var(--foundation-line); border-radius: .75rem; background: #fff; padding: .5rem; color: var(--foundation-muted); text-align: center; transition: border-color .2s ease, box-shadow .2s ease; }
.fundament-certificates-phase1__card button:hover, .fundament-certificates-phase1__card button:focus-visible { border-color: var(--foundation-brand); box-shadow: 0 .75rem 1.5rem rgba(39, 40, 46, .12); outline: 0; }
.fundament-certificates-phase1__card img, .fundament-certificates-phase1__card > span { aspect-ratio: 3 / 4; border-radius: .5rem; object-fit: cover; }
.fundament-certificates-phase1__card > span { display: grid; place-items: center; background: var(--foundation-ground); font-size: .8125rem; line-height: 1.4; }
.fundament-certificates-phase1__dialog { width: fit-content; max-width: calc(100% - 2rem); padding: 0; border: 0; border-radius: 1rem; overflow: visible; background: transparent; }
.fundament-certificates-phase1__dialog::backdrop { background: rgba(39, 40, 46, .75); backdrop-filter: blur(.25rem); }
.fundament-certificates-phase1__dialog img { display: block; width: auto; max-width: 100%; max-height: 94vh; margin-inline: auto; background: #fff; }
.fundament-certificates-phase1__dialog button { position: absolute; z-index: 1; top: .75rem; right: .75rem; display: grid; width: 2.5rem; height: 2.5rem; padding: 0; border: 0; border-radius: 50%; place-items: center; background: #fff; color: var(--foundation-ink); font-size: 1.5rem; line-height: 1; }

@media (min-width: 576px) {
  .fundament-steps-phase1__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fundament-professionals-phase1__grid { gap: 2rem; margin-top: 2.5rem; }
  .fundament-professionals-phase1__name { margin-top: 1rem; font-size: 1.25rem; }
  .fundament-professionals-phase1__job { font-size: .875rem; }
  .fundament-professionals-phase1__description { font-size: .9375rem; }
  .fundament-certificates-phase1__arrows { display: flex; }
  .fundament-certificates-phase1__scroller { margin-inline: 0; padding-inline: 0; scroll-padding-inline: 0; }
  .fundament-certificates-phase1__card { flex-basis: 13.125rem; }
}

@media (min-width: 992px) {
  .foundation-price-tabs-phase1 { padding-block: 5rem; }
  .fundament-reviews-phase1 { padding-block: 5rem; }
  .fundament-steps-phase1 { padding-block: 5rem; }
  .fundament-steps-phase1__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .fundament-professionals-phase1 { padding-block: 5rem; }
  .fundament-professionals-phase1__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .fundament-certificates-phase1 { padding-block: 5rem; }
  .foundation-price-tabs-phase1__layout { grid-template-columns: 17.5rem minmax(0, 1fr); gap: 2rem; }
  .foundation-price-tabs-phase1__layout--single { grid-template-columns: minmax(0, 1fr); }
  .foundation-price-tabs-phase1__sizes-grid { grid-auto-flow: row; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-columns: auto; overflow: visible; margin-inline: 0; padding-inline: 0; }
  .foundation-price-tabs-phase1__tabs { flex-direction: column; overflow: visible; margin: 0; padding: 0; }
  .foundation-price-tabs-phase1__tab { width: 100%; }
}

.foundation-request-modal .modal-dialog { width: calc(100% - 2rem); max-width: 32rem; margin-inline: auto; }
.foundation-request-modal .modal-content { overflow: hidden; border: 0; border-radius: 1.5rem; box-shadow: 0 1.5rem 4rem rgba(39, 40, 46, .18); }
.foundation-request-modal .modal-header { position: relative; display: block; padding: 1.5rem 1.5rem 0; border: 0; }
.foundation-request-modal__title { padding-right: 2.5rem; color: var(--foundation-ink); font-family: Geologica, sans-serif; font-size: 1.875rem; font-weight: 700; line-height: 1.15; }
.foundation-request-modal .btn-close { position: absolute; top: 1rem; right: 1rem; display: grid; width: 2.5rem; height: 2.5rem; padding: 0; place-items: center; border: 0; border-radius: 50%; background-color: transparent; opacity: 1; transition: background-color .2s ease, opacity .2s ease; }
.foundation-request-modal .btn-close:hover, .foundation-request-modal .btn-close:focus-visible { background-color: var(--foundation-ground); opacity: 1; }
.foundation-request-modal .modal-body { padding: .25rem 1.5rem 1.5rem; }
.foundation-request-modal [data-request-description] { margin: 0 0 1.5rem; color: var(--foundation-muted) !important; font-size: 1rem; font-weight: 400; line-height: 1.5; }
.foundation-request-modal .modal-body > .mb-3 { margin-bottom: .75rem !important; }
.foundation-request-modal .form-control { min-height: 3rem; padding: .75rem 1rem; border-color: var(--foundation-line); border-radius: .75rem; color: var(--foundation-ink); font-size: .9375rem; line-height: 1.5; }
.foundation-request-modal .form-control::placeholder { color: #9b9ca1; opacity: 1; }
.foundation-request-modal textarea.form-control { min-height: 6.25rem; resize: none; }
.foundation-request-modal .form-control:focus { border-color: var(--foundation-brand); box-shadow: 0 0 0 .25rem rgba(255, 166, 75, .2); }
.foundation-request-modal .personal-data-consent.form-check { display: flex; align-items: flex-start; gap: .75rem; margin: .25rem 0 0; min-height: 0; padding: 0; color: var(--foundation-muted); font-size: .75rem; font-weight: 400; line-height: 1.625; }
.foundation-request-modal .personal-data-consent .form-check-input { float: none; flex: 0 0 1rem; width: 1rem; height: 1rem; margin: .125rem 0 0; border-color: var(--foundation-line); border-radius: .25rem; accent-color: var(--foundation-brand); }
.foundation-request-modal .personal-data-consent__link { color: inherit; font-weight: 400; text-decoration-thickness: 1px; text-underline-offset: 2px; }
.foundation-request-modal .personal-data-consent__link:hover, .foundation-request-modal .personal-data-consent__link:focus { color: #c25a00; }
.foundation-request-modal .modal-footer { display: block; padding: 0 1.5rem 1.5rem; border: 0; }
.foundation-request-modal__submit { width: 100%; min-height: 3.5rem; padding: 1rem 1.5rem; border: 0; border-radius: .75rem; background: linear-gradient(180deg, var(--foundation-brand-light) 0%, var(--foundation-brand) 100%); color: var(--foundation-ink); font-size: 1rem; font-weight: 600; line-height: 1.5; transition: box-shadow .2s ease, filter .2s ease, transform .2s ease; }
.foundation-request-modal__submit:hover, .foundation-request-modal__submit:focus-visible { color: var(--foundation-ink); box-shadow: 0 .625rem 1.25rem rgba(221, 141, 31, .28); filter: saturate(1.06); transform: translateY(-1px); }
.foundation-request-modal__submit:active { color: var(--foundation-ink); box-shadow: none; transform: translateY(0); }
.foundation-request-modal .alert { margin-bottom: .75rem !important; border-radius: .75rem; font-size: .875rem; }

@media (min-width: 576px) {
  .foundation-request-modal .modal-header { padding: 2rem 2rem 0; }
  .foundation-request-modal .modal-body { padding: .25rem 2rem 2rem; }
  .foundation-request-modal .modal-footer { padding: 0 2rem 2rem; }
}

@media (max-width: 575.98px) {
  .foreman-form-phase1 { padding-bottom: 2.5rem; }
  .foreman-form-phase1__card { width: calc(100% - 2rem); border-radius: 1rem; }
  .foreman-form-phase1__image { min-height: 21rem; padding: 1.5rem; }
  .foreman-form-phase1__image-title { font-size: 1.25rem; }
  .foreman-form-phase1__list { gap: .75rem; margin-top: 1.25rem; font-size: .9375rem; }
  .foreman-form-phase1__list span { flex-basis: 1.5rem; width: 1.5rem; height: 1.5rem; }
  .foreman-form-phase1__list svg { width: .875rem; height: .875rem; }
  .foreman-form-phase1__form-side { padding: 1.5rem; }
  .foreman-form-phase1__title { font-size: 1.5rem; }
  .portfolio-showcase-phase1__heading { align-items: flex-start; flex-direction: column; }
  .portfolio-showcase-phase1__all { font-size: .9375rem; }
  .home-foundations-phase1__heading { align-items: flex-start; flex-direction: column; gap: 1rem; margin-bottom: 2.5rem; }
  .home-foundations-phase1__all { font-size: .9375rem; }
  .home-foundations-phase1__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .625rem; }
  .home-foundations-phase1__card { min-height: 17.75rem; border-radius: .75rem; padding: .75rem; }
  .home-foundations-phase1__card-title { font-size: .8125rem; line-height: 1.25; }
  .home-foundations-phase1__price { margin-top: .5rem; padding: .25rem .375rem; font-size: .625rem; }
  .home-foundations-phase1__image-link { min-height: 7.5rem; margin: .25rem 0 .75rem; }
  .home-foundations-phase1__image-link img { max-height: 7rem; }
  .home-foundations-phase1__order { min-height: 2.5rem; border-radius: .375rem; font-size: .8125rem; }
  .home-foundations-phase1__consultation { min-height: 17.75rem; border-radius: .75rem; }
  .home-foundations-phase1__consultation-form { padding: .75rem; }
  .home-foundations-phase1__consultation-title { font-size: .9375rem; line-height: 1.3; }
  .home-foundations-phase1__consultation-description { margin-top: .375rem; font-size: .6875rem; line-height: 1.35; }
  .home-foundations-phase1__form-field { margin-top: .5rem; }
  .home-foundations-phase1__form-field:first-of-type { margin-top: .75rem; }
  .home-foundations-phase1__consultation-form .form-control { min-height: 2.5rem; border-radius: .5rem; padding: .5rem .625rem; font-size: .75rem; }
  .home-foundations-phase1__consent { margin-top: .5rem; }
  .home-foundations-phase1__consultation-form .personal-data-consent { gap: .375rem; font-size: .5625rem; line-height: 1.25; }
  .home-foundations-phase1__consultation-form .personal-data-consent .form-check-input { flex-basis: .75rem; width: .75rem; height: .75rem; }
  .home-foundations-phase1__form-submit { min-height: 2.5rem; border-radius: .5rem; font-size: .75rem; }
  .site-header__row { min-height: 3.5rem; padding-block: .625rem; }
  .site-header__promo .container { min-height: 2rem; }
  .foundation-hero__actions { display: grid !important; }
  .foundation-hero__actions .btn { width: 100%; }
  .foundation-hero__promo { font-size: .875rem; }
  .foundation-hero__form { padding: 1.25rem; border-radius: 1rem; }
  .foundation-quiz .modal-dialog { width: calc(100% - 1rem); margin-inline: auto; }
  .foundation-quiz__content { border-radius: 1rem; }
  .foundation-quiz__body { padding: 1.5rem 1rem; }
  .foundation-quiz__close-wrap { top: .5rem; right: .5rem; }
  .foundation-quiz__title, .foundation-quiz__title--intro { font-size: 1.5rem; }
  .foundation-quiz__description { font-size: .9375rem; }
  .foundation-quiz__bonuses, .foundation-quiz__options--three, .foundation-quiz__options--two, .foundation-quiz__dimensions { grid-template-columns: 1fr; }
  .foundation-quiz__contact-step { grid-template-columns: 1fr; gap: 1.5rem; }
  .foundation-quiz__contact-copy .foundation-quiz__bonuses { display: none; }
  .foundation-quiz__footer { flex-wrap: wrap; justify-content: space-between; padding: 1rem; }
  .foundation-quiz__progress { flex-basis: 100%; }
  .foundation-quiz__footer .foundation-quiz__button { flex: 1 1 0; padding-inline: 1rem; }
}

/* «Виды фундамента»: повторяет блок w2_subtypes из дизайн-макета. */
.foundation-subtypes-phase1 { width: auto; margin-inline: calc(50% - 50vw); padding: 3.5rem 0; background: var(--foundation-section-background, #fff); }
.foundation-subtypes-phase1__inner { width: min(100% - 2rem, 77.5rem); margin-inline: auto; }
.foundation-subtypes-phase1 h2 { margin: 0; color: var(--foundation-ink); font-family: Geologica, Onest, Arial, sans-serif; font-size: 1.875rem; font-weight: 700; line-height: 1.2; letter-spacing: -.025em; }
.foundation-subtypes-phase1__grid { display: grid; grid-template-columns: 1fr; gap: 1rem; margin: 2rem 0 0; padding: 0; list-style: none; }
.foundation-subtypes-phase1__card { display: flex; height: 100%; flex-direction: column; padding: 1.5rem; border: 1px solid var(--foundation-line); border-radius: 1rem; background: #fff; color: var(--foundation-ink); text-decoration: none; transition: border-color .2s ease, box-shadow .2s ease; }
.foundation-subtypes-phase1__card:hover, .foundation-subtypes-phase1__card:focus-visible { border-color: var(--foundation-brand); box-shadow: 0 1.125rem 2.5rem -1.5rem rgba(39, 40, 46, .45); color: var(--foundation-ink); outline: 0; }
.foundation-subtypes-phase1__card h3 { margin: 0; color: var(--foundation-ink); font-family: Geologica, Onest, Arial, sans-serif; font-size: 1.25rem; font-weight: 600; line-height: 1.35; overflow-wrap: anywhere; }
.foundation-subtypes-phase1__card:hover h3, .foundation-subtypes-phase1__card:focus-visible h3 { color: var(--foundation-brand-dark, #a85e00); }
.foundation-subtypes-phase1__card p { margin: .5rem 0 0; color: var(--foundation-muted); font-size: .9375rem; font-weight: 400; line-height: 1.5; }
.foundation-subtypes-phase1__bottom { display: flex; align-items: end; justify-content: space-between; gap: .75rem; margin-top: auto; padding-top: 1.25rem; }
.foundation-subtypes-phase1__bottom strong { color: var(--foundation-ink); font-family: Geologica, Onest, Arial, sans-serif; font-size: 1.125rem; font-weight: 600; line-height: 1.35; }
.foundation-subtypes-phase1__bottom span { display: inline-flex; align-items: center; gap: .375rem; color: var(--foundation-brand-dark, #a85e00); font-size: .875rem; font-weight: 600; line-height: 1.4; white-space: nowrap; }
.foundation-subtypes-phase1__bottom svg { width: 1rem; height: 1rem; }
@media (min-width: 576px) { .foundation-subtypes-phase1 { padding-block: 4rem; } .foundation-subtypes-phase1__inner { width: min(100% - 3rem, 77.5rem); } .foundation-subtypes-phase1 h2 { font-size: 2.25rem; } .foundation-subtypes-phase1__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 992px) { .foundation-subtypes-phase1__inner { width: min(100% - 4rem, 77.5rem); } .foundation-subtypes-phase1__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* Городской SEO-текст: локальные данные в композиции из первого макета. */
.fundament-order-phase1 { width: auto; margin-inline: calc(50% - 50vw); padding-block: 4rem; background: #f5f4f1; }
.fundament-order-phase1__inner { width: min(100% - 2rem, 77.5rem); margin-inline: auto; }
.fundament-order-phase1__layout { display: grid; gap: 2rem; }
.fundament-order-phase1__content { max-width: 48rem; margin-inline: auto; }
.fundament-order-phase1--with-image .fundament-order-phase1__content { max-width: none; margin-inline: 0; }
.fundament-order-phase1__title { margin: 0; color: #172238; font-family: Geologica, Arial, sans-serif; font-size: clamp(1.875rem, 4vw, 2.25rem); font-weight: 700; line-height: 1.18; letter-spacing: -.03em; }
.fundament-order-phase1__prose { position: relative; max-height: 26.25rem; margin-top: 2rem; overflow: hidden; color: #394357; font-family: Onest, Arial, sans-serif; font-size: 1rem; line-height: 1.6; }
.fundament-order-phase1__image { display: block; width: 100%; border-radius: 1rem; object-fit: cover; }
.fundament-order-phase1__prose::after { position: absolute; right: 0; bottom: 0; left: 0; height: 10rem; content: ''; pointer-events: none; background: linear-gradient(to top, #f5f4f1 12%, rgba(245, 244, 241, 0)); transition: opacity .2s ease; }
.fundament-order-phase1__prose.is-expanded { max-height: none; }
.fundament-order-phase1__prose.is-expanded::after { opacity: 0; }
.fundament-order-phase1__prose > :first-child { margin-top: 0; }
.fundament-order-phase1__prose > :last-child { margin-bottom: 0; }
.fundament-order-phase1__prose p { margin: 0 0 1rem; }
.fundament-order-phase1__prose h2,
.fundament-order-phase1__prose h3,
.fundament-order-phase1__prose h4 { margin: 2rem 0 1rem; color: #172238; font-family: Geologica, Arial, sans-serif; font-weight: 700; line-height: 1.25; }
.fundament-order-phase1__prose h2 { font-size: 1.5rem; letter-spacing: -.02em; }
.fundament-order-phase1__prose h3 { font-size: 1.25rem; }
.fundament-order-phase1__prose h4 { font-size: 1.125rem; }
.fundament-order-phase1__prose ul { margin: 0 0 1rem; padding-left: 0; list-style: none; }
.fundament-order-phase1__prose ol { margin: 0 0 1rem; padding-left: 1.3rem; }
.fundament-order-phase1__prose ul li { position: relative; padding-left: 1.375rem; margin-top: .5em; }
.fundament-order-phase1__prose ul li::before { position: absolute; top: .62em; left: 0; width: .625rem; height: .625rem; border-radius: .125rem; background: #ffa64b; content: ''; }
.fundament-order-phase1__prose li + li { margin-top: .375rem; }
.fundament-order-phase1__prose a { color: #ad6d12; text-decoration-color: currentColor; text-underline-offset: .16em; }
.fundament-order-phase1__toggle { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 3.25rem; margin-top: 1.5rem; padding: .75rem 1.5rem; border: 1px solid #e6a32f; border-radius: .75rem; color: #172238; background: #fff; font-family: Onest, Arial, sans-serif; font-size: 1rem; font-weight: 600; line-height: 1.25; transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease; }
.fundament-order-phase1__toggle svg { width: 1rem; height: 1rem; transition: transform .2s ease; }
.fundament-order-phase1.is-expanded .fundament-order-phase1__toggle svg { transform: rotate(180deg); }
.fundament-order-phase1__toggle:hover { border-color: #c88418; background: #fff5df; }
.fundament-order-phase1__toggle:focus-visible { outline: 0; box-shadow: 0 0 0 .25rem rgba(230, 163, 47, .28); }

@media (min-width: 576px) {
  .fundament-order-phase1 { padding-block: 5rem; }
  .fundament-order-phase1__inner { width: min(100% - 3rem, 77.5rem); }
}

@media (min-width: 992px) {
  .fundament-order-phase1--with-image .fundament-order-phase1__layout { grid-template-columns: 23.75rem minmax(0, 1fr); gap: 2.5rem; align-items: start; }
  .fundament-order-phase1--with-image .fundament-order-phase1__media { position: sticky; top: 10rem; }
  .fundament-order-phase1--with-image .fundament-order-phase1__image { aspect-ratio: 4 / 3; }
}

/* Контакты города и интерактивная карта. */
.fundament-contacts-map-phase1 { width: auto; margin-inline: calc(50% - 50vw); padding: 5rem 0 3rem; background: var(--foundation-ground); }
.fundament-contacts-map-phase1__inner { width: min(100% - 2rem, 77.5rem); margin-inline: auto; }
.fundament-contacts-map-phase1__card { display: grid; overflow: hidden; border: 1px solid var(--foundation-line); border-radius: 1.5rem; background: #fff; }
.fundament-contacts-map-phase1__content { display: flex; flex-direction: column; padding: 2rem; }
.fundament-contacts-map-phase1__title { margin: 0; color: var(--foundation-ink); font-family: Geologica, Onest, sans-serif; font-size: 1.5rem; font-weight: 600; line-height: 1.2; letter-spacing: -.02em; }
.fundament-contacts-map-phase1__list { display: grid; gap: 1rem; margin: 1.5rem 0 0; padding: 0; list-style: none; }
.fundament-contacts-map-phase1__item { display: flex; align-items: flex-start; gap: .75rem; color: var(--foundation-ink); font-family: Onest, Arial, sans-serif; font-size: 1rem; line-height: 1.35; text-decoration: none; transition: color .2s ease; }
a.fundament-contacts-map-phase1__item:hover { color: #c25a00; }
.fundament-contacts-map-phase1__icon { display: grid; flex: 0 0 2.5rem; width: 2.5rem; height: 2.5rem; place-items: center; border-radius: .75rem; color: #c25a00; background: #fff7ec; }
.fundament-contacts-map-phase1__icon svg { width: 1.25rem; height: 1.25rem; }
.fundament-contacts-map-phase1__item > :last-child { padding-top: .5rem; }
.fundament-contacts-map-phase1__label { display: block; margin-bottom: .125rem; color: #818181; font-size: .8125rem; }
.fundament-contacts-map-phase1__button { align-self: flex-start; min-height: 3.25rem; margin-top: 2rem; padding: .75rem 1.5rem; border: 0; border-radius: .75rem; color: var(--foundation-ink) !important; background: linear-gradient(180deg, var(--foundation-brand-light), var(--foundation-brand)); box-shadow: 0 8px 20px -8px rgba(255, 166, 75, .9); font-family: Onest, Arial, sans-serif; font-size: 1rem; font-weight: 600; line-height: 1.25; text-decoration: none; transition: filter .2s ease, transform .2s ease; }
.fundament-contacts-map-phase1__button:hover { filter: saturate(1.05); transform: translateY(-1px); }
.fundament-contacts-map-phase1__button:focus-visible { outline: 0; box-shadow: 0 0 0 .25rem rgba(255, 209, 91, .6); }
.fundament-contacts-map-phase1__map { position: relative; min-height: 22.5rem; background: #e9e8e5; }
.fundament-contacts-map-phase1__frame { display: block; width: 100%; height: 100%; min-height: 22.5rem; border: 0; }
.fundament-contacts-map-phase1__unavailable { display: none; position: absolute; inset: 0; align-items: center; justify-content: center; margin: 0; padding: 2rem; color: var(--foundation-muted); font-family: Onest, Arial, sans-serif; text-align: center; }
.fundament-contacts-map-phase1__map.is-unavailable .fundament-contacts-map-phase1__frame { display: none; }
.fundament-contacts-map-phase1__map.is-unavailable .fundament-contacts-map-phase1__unavailable { display: flex; }

@media (min-width: 576px) {
  .fundament-contacts-map-phase1 { padding: 6rem 0 4rem; }
  .fundament-contacts-map-phase1__inner { width: min(100% - 3rem, 77.5rem); }
  .fundament-contacts-map-phase1__content { padding: 2.5rem; }
}

@media (min-width: 992px) {
  .fundament-contacts-map-phase1__card { grid-template-columns: 25rem minmax(0, 1fr); }
  .fundament-contacts-map-phase1__map,
  .fundament-contacts-map-phase1__frame { min-height: 26.25rem; }
}

/* Подвал: данные и состав ссылок соответствуют старому Fundament, композиция — phase 1. */
.fundament-footer-phase1 { margin-top: 0; color: #fff; background: #363b49; font-family: Onest, Arial, sans-serif; }
.fundament-footer-phase1__container { width: min(100% - 2rem, 77.5rem); padding-block: 4rem 3rem; }
.fundament-footer-phase1__top { display: grid; gap: 2.5rem 2rem; }
.fundament-footer-phase1__brand { display: flex; flex-direction: column; align-items: flex-start; }
.fundament-footer-phase1__logo { color: #f8b34c; font-family: Geologica, Onest, sans-serif; font-size: 1.25rem; font-weight: 700; line-height: 1.1; letter-spacing: -.02em; text-decoration: none; }
.fundament-footer-phase1__logo:hover { color: #ffd173; }
.fundament-footer-phase1__payment-block { margin-top: 1.25rem; }
.fundament-footer-phase1__payment-block > p { margin: 0; color: rgba(255, 255, 255, .6); font-size: .8125rem; font-weight: 400; line-height: 1.35; }
.fundament-footer-phase1__payments { display: flex; flex-wrap: wrap; gap: .5rem; margin: .5rem 0 1.5rem; }
.fundament-footer-phase1__payments span { display: inline-flex; align-items: center; justify-content: center; width: 3rem; min-height: 2rem; padding: .2rem .35rem; border-radius: .375rem; color: #263244; background: #fff; font-size: .625rem; font-weight: 700; line-height: 1; }
.fundament-footer-phase1__payments img { display: block; max-width: 2.25rem; max-height: 1.25rem; }
.fundament-footer-phase1__payments b { font-size: .625rem; font-weight: 700; }
.fundament-footer-phase1__callback { display: inline-flex; align-items: center; justify-content: center; min-height: 3rem; padding: .75rem 1.5rem; border-radius: .75rem; color: #172238; background: linear-gradient(180deg, #ffdc70, #efa93b); box-shadow: 0 .5rem 1.25rem -.75rem rgba(240, 169, 59, .85); font-size: 1rem; font-weight: 600; line-height: 1.2; text-decoration: none; transition: transform .2s ease, filter .2s ease; }
.fundament-footer-phase1__callback:hover { color: #172238; filter: saturate(1.08); transform: translateY(-1px); }
.fundament-footer-phase1__callback:focus-visible { outline: 0; box-shadow: 0 0 0 .25rem rgba(255, 216, 110, .45); }
.fundament-footer-phase1__column h2,
.fundament-footer-phase1__cities h2 { margin: 0; color: rgba(255, 255, 255, .5); font-family: Onest, Arial, sans-serif; font-size: .8125rem; font-weight: 600; line-height: 1.25; letter-spacing: .08em; text-transform: uppercase; }
.fundament-footer-phase1__column nav { display: grid; gap: .625rem; margin-top: 1rem; }
.fundament-footer-phase1__column a,
.fundament-footer-phase1__cities a,
.fundament-footer-phase1__bottom a { color: rgba(255, 255, 255, .7); font-size: .9375rem; font-weight: 400; line-height: 1.4; text-decoration: none; transition: color .2s ease; }
.fundament-footer-phase1__column a:hover,
.fundament-footer-phase1__cities a:hover,
.fundament-footer-phase1__bottom a:hover { color: #ffd173; text-decoration: underline; text-underline-offset: .15em; }
.fundament-footer-phase1__cities { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid rgba(255, 255, 255, .1); }
.fundament-footer-phase1__cities p { max-width: 70rem; margin: .75rem 0 0; color: rgba(255, 255, 255, .75); font-size: .9375rem; font-weight: 400; line-height: 1.6; }
.fundament-footer-phase1__bottom { display: grid; gap: 1rem; margin-top: 2.5rem; padding-top: 2rem; border-top: 1px solid rgba(255, 255, 255, .1); color: rgba(255, 255, 255, .55); font-size: .8125rem; font-weight: 400; line-height: 1.6; }
.fundament-footer-phase1__legal-links { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; }
.fundament-footer-phase1__legal-links a { color: rgba(255, 255, 255, .55); font-size: .8125rem; line-height: 1.6; }
.fundament-footer-phase1__legal-links a:hover { color: #fff; }
.fundament-footer-phase1__bottom p { max-width: 64rem; margin: 0; }

@media (min-width: 576px) {
  .foundation-hero__lead { font-size: 1.125rem; }
  .fundament-footer-phase1__container { width: min(100% - 3rem, 77.5rem); }
  .fundament-footer-phase1__top { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 992px) {
  .fundament-footer-phase1__top { grid-template-columns: 1.35fr repeat(3, minmax(0, 1fr)); gap: 2rem; }
  .fundament-footer-phase1__cities { margin-top: 3.5rem; }
}

/* На внутренних страницах нейтральные секции всегда чередуются по фактическому
   порядку вывода. У тёмных смысловых блоков (цифры и схема работ) свой фон. */
.foundation-detail-page > section:nth-of-type(odd) { --foundation-section-background: #fff; }
.foundation-detail-page > section:nth-of-type(even) { --foundation-section-background: var(--foundation-ground); }
.site-main > section:nth-of-type(odd) { --foundation-section-background: #fff; }
.site-main > section:nth-of-type(even) { --foundation-section-background: var(--foundation-ground); }
.about-page-phase1 > section:nth-of-type(odd) { --foundation-section-background: #fff; }
.about-page-phase1 > section:nth-of-type(even) { --foundation-section-background: var(--foundation-ground); }
.about-page-phase1 > :is(.foundation-intro-phase1, .service-advantages-phase1, .contract-guarantees-phase1, .fundament-professionals-phase1, .fundament-certificates-phase1, .fundament-contacts-map-phase1) { background: var(--foundation-section-background); }
.about-page-phase1__dark-pair, .home-page-phase1__dark-pair { position: relative; isolation: isolate; width: auto; margin-inline: calc(50% - 50vw); overflow: hidden; padding-block: 4rem; background: var(--foundation-ink); color: #fff; }
.about-page-phase1__dark-pair::before, .home-page-phase1__dark-pair::before { position: absolute; z-index: -1; inset: 0; background: url('../images/steps/steps-1440.webp') center / cover no-repeat; content: ''; opacity: .2; }
.about-page-phase1__dark-pair::after, .home-page-phase1__dark-pair::after { position: absolute; z-index: -1; inset: 0; background: linear-gradient(to bottom, rgba(23, 34, 56, .6), rgba(23, 34, 56, .8)); content: ''; }
:is(.about-page-phase1__dark-pair, .home-page-phase1__dark-pair) > :is(.achievements-phase1, .fundament-steps-phase1) { position: relative; z-index: 1; margin: 0; padding: 0; background: transparent; }
:is(.about-page-phase1__dark-pair, .home-page-phase1__dark-pair) :is(.achievements-phase1__image, .fundament-steps-phase1__image) { display: none; }
:is(.about-page-phase1__dark-pair, .home-page-phase1__dark-pair) .achievements-phase1__inner,
:is(.about-page-phase1__dark-pair, .home-page-phase1__dark-pair) .fundament-steps-phase1__inner { width: min(100% - 2rem, 77.5rem); margin-inline: auto; padding: 0; }
:is(.about-page-phase1__dark-pair, .home-page-phase1__dark-pair) .achievements-phase1__grid { gap: 0; margin-top: 2rem; overflow: hidden; border: 1px solid rgba(255, 255, 255, .1); border-radius: 1rem; background: rgba(255, 255, 255, .06); backdrop-filter: blur(.25rem); }
:is(.about-page-phase1__dark-pair, .home-page-phase1__dark-pair) .achievements-phase1__item { padding: 1.5rem; }
:is(.about-page-phase1__dark-pair, .home-page-phase1__dark-pair) .fundament-steps-phase1 { margin-top: 3.5rem; padding-top: 0; border-top: 0; }
:is(.about-page-phase1__dark-pair, .home-page-phase1__dark-pair) .fundament-steps-phase1__inner { border-top: 1px solid rgba(255, 255, 255, .1); padding-top: 3.5rem; }
:is(.about-page-phase1__dark-pair, .home-page-phase1__dark-pair) .fundament-steps-phase1__grid { margin-top: 2rem; }
@media (min-width: 576px) {
  .about-page-phase1__dark-pair, .home-page-phase1__dark-pair { padding-block: 5rem; }
  :is(.about-page-phase1__dark-pair, .home-page-phase1__dark-pair) .achievements-phase1__inner,
  :is(.about-page-phase1__dark-pair, .home-page-phase1__dark-pair) .fundament-steps-phase1__inner { width: min(100% - 3rem, 77.5rem); }
}
.foundation-detail-page > :is(
  .foundation-intro-phase1,
  .external-foundation-calculator-phase1,
  .foundation-advantages-phase1,
  .foundation-price-tabs-phase1,
  .foundation-calculator-phase1,
  .funhome-phase1,
  .portfolio-showcase-phase1,
  .links-group-phase1,
  .is-for-phase1,
  .work-advantages-phase1,
  .sale-fundament-phase1,
  .fundament-professionals-phase1,
  .fundament-certificates-phase1,
  .fundament-order-phase1,
  .fundament-reviews-phase1,
  .fundament-contacts-map-phase1
) { background: var(--foundation-section-background); }

.site-main > :is(
  .home-foundations-phase1,
  .foreman-form-phase1,
  .foundation-comparison-phase1,
  .home-foundation-objects-phase1,
  .foundation-calculator-phase1,
  .portfolio-showcase-phase1,
  .sale-fundament-phase1,
  .foundation-price-tabs-phase1,
  .fundament-reviews-phase1,
  .fundament-professionals-phase1,
  .fundament-order-phase1,
  .fundament-certificates-phase1,
  .fundament-contacts-map-phase1
) { background: var(--foundation-section-background); }

/* На странице цен блок с таблицами не участвует в чередовании фонов. */
.site-main > .foundation-price-tabs-phase1--prices-page { background: #fff; }
.foundation-detail-page > .fundament-faq-phase1 { background: var(--foundation-section-background); }
.foundation-detail-page > .service-price-phase1 { background: var(--foundation-section-background); }
.foundation-detail-page > .fundament-contacts-map-phase1 { padding-top: 5rem !important; }
@media (min-width: 576px) { .foundation-detail-page > .fundament-contacts-map-phase1 { padding-top: 6rem !important; } }
.foundation-detail-page > .foundation-intro-phase1 .foundation-intro-phase1__content.is-collapsed .foundation-intro-phase1__fade,
.about-page-phase1 > .foundation-intro-phase1 .foundation-intro-phase1__content.is-collapsed .foundation-intro-phase1__fade,
.foundation-detail-page > .fundament-order-phase1 .fundament-order-phase1__prose::after,
.site-main > .fundament-order-phase1 .fundament-order-phase1__prose::after { background: linear-gradient(to top, var(--foundation-section-background) 12%, transparent); }

/* Карта заканчивает типовые страницы вплотную к подвалу: общий нижний padding
   контейнера здесь не нужен и создавал светлую полосу между секциями. */
.site-main:has(.foundation-detail-page),
.site-main:has(.home-foundations-phase1) { padding-bottom: 0 !important; }
.site-main:has(> .fundament-contacts-map-phase1:last-child) { padding-bottom: 0 !important; }
.site-main:has(.about-page-phase1 > .fundament-contacts-map-phase1:last-child) { padding-bottom: 0 !important; }
.site-main:has(> .portfolio-objects-map-phase1:last-child) { padding-bottom: 0 !important; }
.site-main:has(> .fundament-certificates-phase1 + .fundament-certificates-phase1__dialog:last-child) { padding-bottom: 0 !important; }

/* Стоимость услуг. Данные и ссылки берутся из старого шаблона, внешний вид — phase 1. */
.service-price-phase1 { width: auto; margin-inline: calc(50% - 50vw); padding-block: 3.5rem; background: #fff; }
.service-price-phase1__inner { width: min(100% - 2rem, 77.5rem); margin-inline: auto; }
.service-price-phase1 h2 { margin: 0; color: var(--foundation-ink); font-family: Geologica, Onest, sans-serif; font-size: 1.875rem; font-weight: 700; letter-spacing: -.025em; line-height: 1.25; }
.service-price-phase1__scroll { margin-top: 2rem; overflow-x: auto; border: 1px solid var(--foundation-line); border-radius: .75rem; background: #fff; scrollbar-color: var(--foundation-brand) transparent; }
.service-price-phase1__table { width: 100%; min-width: 42rem; margin: 0; border-collapse: collapse; color: var(--foundation-ink); font-family: Onest, Arial, sans-serif; font-size: .875rem; line-height: 1.45; }
.service-price-phase1__table th, .service-price-phase1__table td { padding: .75rem 1rem; white-space: nowrap; vertical-align: middle; }
.service-price-phase1__table thead { background: var(--foundation-ink); color: #fff; }
.service-price-phase1__table thead th { font-size: .8125rem; font-weight: 600; line-height: 1.35; text-align: right; }
.service-price-phase1__table thead th:first-child { text-align: left; }
.service-price-phase1__table tbody tr { border-bottom: 1px solid var(--foundation-line); background: #fff; }
.service-price-phase1__table tbody tr:nth-child(even) { background: var(--foundation-ground); }
.service-price-phase1__table tbody tr:last-child { border-bottom: 0; }
.service-price-phase1__table tbody th { color: var(--foundation-ink); font-weight: 500; text-align: left; }
.service-price-phase1__table td { color: #4a4b51; font-variant-numeric: tabular-nums; text-align: right; }
.service-price-phase1__note { margin: 1rem 0 0; color: var(--foundation-muted); font-family: Onest, Arial, sans-serif; font-size: .8125rem; font-weight: 400; line-height: 1.45; }

@media (min-width: 576px) {
  .service-price-phase1 { padding-block: 5rem; }
  .service-price-phase1__inner { width: min(100% - 3rem, 77.5rem); }
  .service-price-phase1 h2 { font-size: 2.25rem; }
}

@media (max-width: 575.98px) {
  .service-price-phase1__scroll { margin-top: 1.5rem; border-radius: .625rem; }
  .service-price-phase1__table { min-width: 31rem; font-size: .8125rem; }
  .service-price-phase1__table th, .service-price-phase1__table td { padding: .75rem; }
  .service-price-phase1__table thead th { font-size: .75rem; }
  .service-price-phase1__note { font-size: .75rem; }
  .portfolio-showcase-phase1__all--service { width: 100%; margin-top: 1.5rem; }
}

/* Вопрос-ответ. */
.fundament-faq-phase1 { width: auto; margin-inline: calc(50% - 50vw); padding-block: 3.5rem; background: #fff; }
.fundament-faq-phase1__inner { width: min(100% - 2rem, 48rem); margin-inline: auto; }
.fundament-faq-phase1__heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; }
.fundament-faq-phase1__heading h2 { margin: 0; color: var(--foundation-ink); font-family: Geologica, Onest, sans-serif; font-size: 1.875rem; font-weight: 700; line-height: 1.15; letter-spacing: -.03em; }
.fundament-faq-phase1__ask { display: inline-flex; align-items: center; justify-content: center; min-height: 3rem; border: 1px solid var(--foundation-brand); border-radius: .75rem; padding: .625rem 1.5rem; color: var(--foundation-ink); background: #fff; font-family: Onest, Arial, sans-serif; font-size: .9375rem; font-weight: 600; line-height: 1.35; text-align: center; text-decoration: none; transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease; }
.fundament-faq-phase1__ask:hover { border-color: #d88b22; color: var(--foundation-ink); background: #fff5e6; }
.fundament-faq-phase1__ask:focus-visible { outline: 0; box-shadow: 0 0 0 .25rem rgba(255, 192, 74, .4); }
.fundament-faq-phase1__ask--mobile { display: none; }
.fundament-faq-phase1__list { margin-top: 1.5rem; }
.fundament-faq-phase1__item { border-bottom: 1px solid var(--foundation-line); }
.fundament-faq-phase1__item summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-block: 1.25rem; color: var(--foundation-ink); cursor: pointer; font-family: Geologica, Onest, sans-serif; font-size: 1.125rem; font-weight: 600; line-height: 1.35; list-style: none; }
.fundament-faq-phase1__item summary::-webkit-details-marker { display: none; }
.fundament-faq-phase1__item summary svg { flex: 0 0 1.25rem; width: 1.25rem; height: 1.25rem; transition: transform .2s ease; }
.fundament-faq-phase1__item[open] summary svg { transform: rotate(180deg); }
.fundament-faq-phase1__answer { padding: 0 2.25rem 1.25rem 0; color: var(--foundation-muted); font-family: Onest, Arial, sans-serif; font-size: 1rem; font-weight: 400; line-height: 1.6; }
.fundament-faq-phase1__answer > :first-child { margin-top: 0; }
.fundament-faq-phase1__answer > :last-child { margin-bottom: 0; }

/* Поставщикам: самостоятельная форма старой логики в сетке первого этапа. */
.supplier-form-phase1 { width: auto; margin-inline: calc(50% - 50vw); padding-block: 3.5rem; background: #fff; }
.supplier-form-phase1__container { width: min(100% - 2rem, 64rem); margin-inline: auto; }
.supplier-form-phase1__card { padding: 1.25rem; border: 1px solid var(--foundation-line); border-radius: 1.25rem; background: #fff; box-shadow: 0 1.5rem 3.75rem -2.5rem rgba(39, 40, 46, .45); }
.supplier-form-phase1__row { display: grid; gap: .5rem; margin-top: 1rem; }
.supplier-form-phase1__row > label, .supplier-form-phase1__row > span { padding-top: .7rem; color: var(--foundation-ink); font-family: Onest, Arial, sans-serif; font-size: .9375rem; font-weight: 600; line-height: 1.4; }
.supplier-form-phase1 input:not([type="checkbox"]), .supplier-form-phase1 select, .supplier-form-phase1 textarea { width: 100%; border: 1px solid var(--foundation-line); border-radius: .75rem; padding: .75rem 1rem; color: var(--foundation-ink); background: #fff; font: 400 .9375rem/1.45 Onest, Arial, sans-serif; outline: 0; transition: border-color .2s ease, box-shadow .2s ease; }
.supplier-form-phase1 select + .supplier-form-phase1__field-error + select { margin-top: .75rem; }
.supplier-form-phase1 textarea { min-height: 8rem; resize: vertical; }
.supplier-form-phase1 input:not([type="checkbox"]):focus, .supplier-form-phase1 select:focus, .supplier-form-phase1 textarea:focus { border-color: var(--foundation-brand); box-shadow: 0 0 0 .25rem rgba(255, 192, 74, .25); }
.supplier-form-phase1__success, .supplier-form-phase1__error { margin-bottom: 1rem; border-radius: .75rem; padding: .875rem 1rem; font: 500 .875rem/1.45 Onest, Arial, sans-serif; }
.supplier-form-phase1__success { color: #386e42; background: #edf8ef; }
.supplier-form-phase1__error, .supplier-form-phase1__field-error { color: #dc3545; }
.supplier-form-phase1__field-error { min-height: 1.1rem; margin-top: .25rem; font: 500 .8125rem/1.35 Onest, Arial, sans-serif; }
.supplier-form-phase1__geography { overflow: hidden; border: 1px solid var(--foundation-line); border-radius: .875rem; }
.supplier-form-phase1__geo-tools { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; padding: .75rem; border-bottom: 1px solid var(--foundation-line); background: var(--foundation-ground); color: var(--foundation-muted); font: 400 .8125rem/1.4 Onest, Arial, sans-serif; }
.supplier-form-phase1__geo-tools input { flex: 1 1 14rem; padding-block: .6rem !important; }
.supplier-form-phase1__geo-tools b { color: var(--foundation-ink); }
.supplier-form-phase1__geo-tools button { border: 0; padding: 0; color: #b66d12; background: transparent; font: 600 .8125rem/1.4 Onest, Arial, sans-serif; }
.supplier-form-phase1__geo-list { max-height: 27.5rem; overflow: auto; padding: .5rem; }
.supplier-form-phase1__geo-line { display: flex; align-items: center; gap: .5rem; min-height: 2.25rem; border-radius: .5rem; padding-right: .5rem; }
.supplier-form-phase1__geo-line:hover { background: #fff6e6; }
.supplier-form-phase1__geo-line--region { padding-left: 1.75rem; }
.supplier-form-phase1__geo-line--city { padding-left: 3.5rem; }
.supplier-form-phase1__geo-line button, .supplier-form-phase1__geo-line i { display: grid; flex: 0 0 1.5rem; width: 1.5rem; height: 1.5rem; place-items: center; border: 0; border-radius: .375rem; color: var(--foundation-muted); background: transparent; font-size: 0; }
.supplier-form-phase1__geo-line button::after { width: .45rem; height: .45rem; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; content: ''; transform: rotate(-45deg); transition: transform .18s ease; }
.supplier-form-phase1__geo-line button[aria-expanded="true"]::after { transform: rotate(45deg); }
.supplier-form-phase1__geo-line input { flex: 0 0 auto; width: 1rem; height: 1rem; accent-color: #f1b34d; }
.supplier-form-phase1__geo-line label { flex: 1; cursor: pointer; color: var(--foundation-ink); font: 400 .875rem/1.4 Onest, Arial, sans-serif; }
.supplier-form-phase1__geo-line--district label { font-weight: 600; }
.supplier-form-phase1__footer { margin-top: 1.5rem; }
.supplier-form-phase1__footer .personal-data-consent { display: flex; align-items: flex-start; gap: .625rem; color: var(--foundation-muted); font-size: .8125rem; line-height: 1.45; }
.supplier-form-phase1__footer .personal-data-consent input { flex: 0 0 auto; margin-top: .2rem; }
.supplier-form-phase1__footer .btn { min-height: 3rem; margin-top: .75rem; padding-inline: 1.5rem; font: 600 .9375rem/1.2 Onest, Arial, sans-serif; }
@media (min-width: 576px) { .supplier-form-phase1 { padding-block: 5rem; } .supplier-form-phase1__container { width: min(100% - 3rem, 64rem); } .supplier-form-phase1__card { padding: 2.5rem; border-radius: 1.5rem; } .supplier-form-phase1__row { grid-template-columns: 12.5rem minmax(0, 1fr); gap: 1.5rem; margin-top: 1.5rem; } .supplier-form-phase1__footer { margin-left: 14rem; } }

@media (min-width: 576px) {
  .fundament-faq-phase1 { padding-block: 4rem; }
  .fundament-faq-phase1__inner { width: min(100% - 3rem, 48rem); }
  .fundament-faq-phase1__heading h2 { font-size: 2.25rem; }
}

@media (max-width: 575.98px) {
  .fundament-faq-phase1__heading { align-items: flex-start; }
  .fundament-faq-phase1__ask--desktop { display: none; }
  .fundament-faq-phase1__ask--mobile { display: flex; width: 100%; margin-top: 1.5rem; }
  .fundament-faq-phase1__item summary { padding-block: 1rem; font-size: 1rem; }
  .fundament-faq-phase1__answer { padding-right: 0; padding-bottom: 1rem; font-size: .9375rem; }
}
