:root{
  --home-surface: rgba(255,255,255,.72);
  --home-surface-soft: rgba(255,255,255,.58);
  --home-line: rgba(32,39,66,.12);
  --home-line-strong: rgba(32,39,66,.22);
  --home-card-radius: 20px;
  --home-card-pad: 16px;
}

.homePage .hero{
  padding: 32px 0 12px;
}

.homePage .homeSection{
  padding: 62px 0;
}

.homePage .homeSectionLast{
  padding-bottom: 76px;
}

.homePage section[id]{
  scroll-margin-top: 140px;
}

.homePage .sectionHead{
  margin-bottom: 30px;
}

.homePage .sectionHead h2{
  font-size: clamp(30px, 3.2vw, 42px);
  line-height: 1.05;
  letter-spacing: .2px;
  margin: 0 0 18px;
}

.homePage .sectionHead p{
  font-size: 18px;
  line-height: 1.5;
  color: rgba(32,39,66,.72);
  max-width: 72ch;
}

.homePage .homeHeroLayout{
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(0, .94fr);
  gap: 18px;
  align-items: stretch;
}

.homePage .homeHeroMediaCard{
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.homePage .homeHeroContent{
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 0 8px 0 0;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.homePage .homeHeroContent > .pill{
  align-self: flex-start;
  width: auto;
  max-width: 100%;
  margin-bottom: 8px;
}

.homePage .homeHeroMain{
  margin: 0;
}

.homePage .homeHeroContent .h1{
  font-size: clamp(34px, 3.45vw, 52px);
  line-height: 1.06;
  letter-spacing: .1px;
  margin-top: 0;
  margin-bottom: 0;
}

.homePage .homeHeroContent .h1 .homeHeroH1Sub{
  display: block;
  margin-top: 10px;
  font-size: .48em;
  line-height: 1.2;
  font-weight: 600;
  color: rgba(32,39,66,.76);
  letter-spacing: .01em;
  white-space: nowrap;
}

.homePage .homeHeroContent .lead{
  max-width: 48ch;
  margin-top: 14px;
  margin-bottom: 24px;
  font-size: 20px;
  line-height: 1.48;
}

.homePage .homeTrustRow{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 0;
  padding-top: 14px;
}

.homePage .homeTrustItem{
  border: 1px solid var(--home-line);
  background: rgba(250,248,243,.9);
  border-radius: 14px;
  padding: 14px;
}

.homePage .homeTrustItem b{
  display: block;
  color: var(--gp-ocean);
  font-size: 18px;
  line-height: 1.2;
  letter-spacing: .01em;
}

.homePage .homeTrustItem span{
  display: block;
  margin-top: 5px;
  color: rgba(32,39,66,.72);
  font-size: 14px;
  line-height: 1.35;
}

.homePage .homeHeroMediaCard{
  position: relative;
  overflow: hidden;
  padding: 0;
}

.homePage .homeHeroMediaCard img{
  width: 100%;
  height: 100%;
  min-height: 420px;
  display: block;
  object-fit: cover;
  object-position: center;
}

.homePage .homeTimeline{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.homePage .homeTimeline li{
  border: 1px solid var(--home-line);
  background: var(--home-surface);
  border-radius: var(--home-card-radius);
  padding: 22px 20px;
  display: grid;
  gap: 14px;
  align-content: start;
  position: relative;
  overflow: hidden;
}

.homePage .homeTimeline li::before{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 3px;
  background: linear-gradient(90deg, rgba(161,123,90,.9), rgba(32,39,66,.72));
}

.homePage .homeTimelineStep{
  width: 42px;
  height: 42px;
  border-radius: 12px;
  border: 1px solid var(--home-line-strong);
  display: grid;
  place-items: center;
  font-size: 14px;
  font-weight: 700;
  color: var(--gp-ocean);
  background: rgba(250,248,243,.94);
}

.homePage .homeTimeline h3{
  margin: 0;
  color: var(--gp-ocean);
  font-size: 21px;
  line-height: 1.22;
}

.homePage .homeTimeline p{
  margin: 6px 0 0;
  color: rgba(32,39,66,.76);
  font-size: 16px;
  line-height: 1.52;
}

.homePage .homeTimelineMeta{
  font-size: 12px;
  color: rgba(32,39,66,.62);
  font-weight: 600;
}

.homePage .homeDirectionGrid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.homePage .homeDirectionCard{
  display: grid;
  gap: 12px;
  min-height: 100%;
  padding: var(--home-card-pad);
  border-radius: var(--home-card-radius);
  background: var(--home-surface);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.homePage .homeDirectionCard:hover{
  transform: translateY(-2px);
  border-color: var(--home-line-strong);
  box-shadow: var(--gp-shadow-2);
}

.homePage .homeDirectionCover{
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: 14px;
  border: 1px solid var(--home-line);
  object-fit: cover;
  object-position: center;
}

.homePage .homeDirectionCard h3{
  margin: 2px 0 0;
  font-size: 24px;
  line-height: 1.2;
}

.homePage .homeDirectionCard p{
  margin: 0;
  min-height: 0;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  line-height: 1.48;
  color: rgba(32,39,66,.76);
}

.homePage .homeDirectionOutcome{
  font-size: 12px;
  color: rgba(32,39,66,.66);
  border-top: 1px solid var(--home-line);
  padding-top: 10px;
  font-weight: 600;
}

.homePage .homeDirectionCard .btn{
  margin-top: auto;
}

.homePage .homeSearchHead{
  align-items: flex-end;
}

.homePage .homeSearchToolbar{
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.homePage .homeSearchForm{
  margin: 0;
}

.homePage .homeSearchTypeField{
  min-width: 320px;
  max-width: 320px;
}

.homePage .homeSearchTypeField select{
  min-height: 44px;
}

.homePage .homeSearchWrap{
  background: transparent;
  border-radius: 0;
  border: 0;
  box-shadow: none;
  padding: 0;
}

.homePage .homeResultsGrid{
  margin-top: 12px;
}

.homePage .homeResultsGrid.catalogResultsList[data-view="catalog_grid"]{
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.homePage .homeCasesGrid{
  align-items: stretch;
  grid-auto-rows: 1fr;
}

.homePage .homeCaseCard{
  display: grid;
  grid-template-rows: auto auto auto 1fr auto;
  gap: 12px;
  padding: var(--home-card-pad);
  border-radius: var(--home-card-radius);
  background: var(--home-surface);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.homePage .homeCaseCard:hover{
  transform: translateY(-2px);
  border-color: var(--home-line-strong);
  box-shadow: var(--gp-shadow-2);
}

.homePage .homeCaseCard img{
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: 14px;
  border: 1px solid var(--home-line);
  object-fit: cover;
}

.homePage .homeCaseHeader{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}

.homePage .homeCaseHeader strong{
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  max-width: 190px;
  min-height: 28px;
  color: var(--gp-ocean);
  font-size: 12px;
  line-height: 1.2;
  text-align: right;
}

.homePage .homeCaseCard h3{
  margin: 0;
  font-size: 22px;
  line-height: 1.22;
  min-height: 54px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.homePage .homeCaseCard p{
  margin: 0;
  color: rgba(32,39,66,.75);
  line-height: 1.48;
  min-height: 72px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}

.homePage .homeCaseCard details{
  margin-top: auto;
}

.homePage .homeCaseCard details summary{
  min-height: 42px;
  padding: 10px 12px;
}

.homePage .homeArticlesGrid{
  align-items: stretch;
  grid-auto-rows: 1fr;
}

.homePage .homeArticleCard{
  display: grid;
  grid-template-rows: auto auto auto 1fr;
  gap: 11px;
  min-height: 100%;
  padding: var(--home-card-pad);
  border-radius: var(--home-card-radius);
  background: var(--home-surface);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.homePage .homeArticleCard:hover{
  transform: translateY(-2px);
  border-color: var(--home-line-strong);
  box-shadow: var(--gp-shadow-2);
}

.homePage .homeArticleCard img{
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: 14px;
  border: 1px solid var(--home-line);
  object-fit: cover;
}

.homePage .homeArticleMeta{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  color: rgba(32,39,66,.65);
  font-size: 12px;
  font-weight: 700;
}

.homePage .homeArticleCard h3{
  margin: 0;
  font-size: 22px;
  line-height: 1.24;
  min-height: 54px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.homePage .homeArticleCard p{
  margin: 0;
  color: rgba(32,39,66,.75);
  line-height: 1.5;
  min-height: 72px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}

.homePage .homeSectionCtaFinal{
  padding-top: 72px;
  padding-bottom: 74px;
}

.homePage .homeConsultCard{
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(0, .82fr);
  grid-template-areas:
    "top media"
    "bottom media";
  gap: 22px 24px;
  padding: clamp(28px, 3.2vw, 54px);
  border-radius: 34px;
  border: 1px solid rgba(244,241,234,.22);
  background:
    radial-gradient(900px 360px at 115% -22%, rgba(196,155,114,.2), transparent 58%),
    linear-gradient(150deg, rgba(32,39,66,.98), rgba(43,52,90,.96));
  box-shadow: 0 24px 64px rgba(13,17,30,.24);
  overflow: hidden;
}

.homePage .homeConsultCard::before{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255,255,255,.04), transparent 24%);
  pointer-events: none;
}

.homePage .homeConsultTop{
  grid-area: top;
  display: grid;
  align-content: start;
  gap: 14px;
  position: relative;
  z-index: 1;
}

.homePage .homeConsultEyebrow{
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  min-height: 36px;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid rgba(244,241,234,.24);
  background: rgba(255,255,255,.04);
  color: rgba(244,241,234,.88);
  font-size: 13px;
  line-height: 1.25;
  letter-spacing: .07em;
  font-weight: 700;
  text-transform: uppercase;
}

.homePage .homeConsultTop h2{
  margin: 0;
  max-width: 16ch;
  color: #fff;
  font-size: clamp(36px, 3.55vw, 54px);
  line-height: 1.03;
  letter-spacing: .01em;
  text-wrap: balance;
}

.homePage .homeConsultTop p{
  margin: 0;
  max-width: 56ch;
  color: rgba(244,241,234,.86);
  font-size: clamp(18px, 1.62vw, 20px);
  line-height: 1.58;
}

.homePage .homeConsultBenefits{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 6px;
}

.homePage .homeConsultBenefit{
  margin: 0;
  display: grid;
  gap: 5px;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(244,241,234,.18);
  background: rgba(255,255,255,.05);
}

.homePage .homeConsultBenefit b{
  color: #fff;
  font-size: 16px;
  line-height: 1.25;
  letter-spacing: .005em;
}

.homePage .homeConsultBenefit span{
  color: rgba(244,241,234,.74);
  font-size: 14px;
  line-height: 1.42;
}

.homePage .homeConsultMedia{
  grid-area: media;
  position: relative;
  border-radius: 24px;
  border: 1px solid rgba(244,241,234,.22);
  overflow: hidden;
  min-height: 100%;
  align-self: stretch;
  background: rgba(255,255,255,.04);
}

.homePage .homeConsultMedia img{
  width: 100%;
  height: 100%;
  min-height: 430px;
  display: block;
  object-fit: cover;
  object-position: center;
}

.homePage .homeConsultVisualTag{
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 14px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.homePage .homeConsultVisualTag span{
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  padding: 6px 11px;
  border-radius: 999px;
  border: 1px solid rgba(244,241,234,.2);
  background: rgba(32,39,66,.72);
  color: rgba(244,241,234,.92);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
}

.homePage .homeConsultBottom{
  grid-area: bottom;
  display: grid;
  gap: 10px;
  align-content: start;
  position: relative;
  z-index: 1;
}

.homePage .homeConsultActions{
  margin-top: 0;
  align-items: center;
}

.homePage .homeConsultCtaPrimary{
  min-height: 52px;
  padding: 14px 22px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.22);
  background: linear-gradient(135deg, rgba(249,243,233,.98), rgba(243,232,216,.96));
  color: var(--gp-ocean);
  box-shadow: 0 14px 28px rgba(10,14,26,.26);
}

.homePage .homeConsultCtaPrimary:hover{
  background: linear-gradient(135deg, rgba(252,247,240,1), rgba(247,238,227,1));
  box-shadow: 0 18px 36px rgba(10,14,26,.34);
}

.homePage .homeConsultCtaSecondary{
  min-height: 52px;
  padding: 14px 20px;
  border-radius: 16px;
  border-color: rgba(244,241,234,.26);
  background: rgba(255,255,255,.04);
  color: #fff;
}

.homePage .homeConsultCtaSecondary:hover{
  border-color: rgba(244,241,234,.44);
  background: rgba(255,255,255,.08);
}

.homePage .homeConsultNote{
  margin: 0;
  color: rgba(244,241,234,.76);
  font-size: 14px;
  line-height: 1.45;
}

.homePage .homePartnersCard{
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(0, 1fr) auto;
  gap: clamp(16px, 2vw, 24px);
  align-items: center;
  padding: clamp(26px, 2.5vw, 34px);
  border-radius: 28px;
  background:
    radial-gradient(820px 280px at 105% -25%, rgba(161,123,90,.12), transparent 65%),
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(250,247,242,.95));
  border: 1px solid var(--home-line);
  box-shadow: 0 14px 30px rgba(24,30,52,.07);
}

.homePage .homePartnersMain{
  display: grid;
  gap: 10px;
}

.homePage .homePartnersCard h2{
  margin: 0;
  font-size: clamp(34px, 2.5vw, 42px);
  line-height: 1.06;
  color: var(--gp-ocean);
}

.homePage .homePartnersCard p{
  margin: 0;
  max-width: 60ch;
  color: rgba(32,39,66,.78);
  font-size: 17px;
  line-height: 1.55;
}

.homePage .homePartnersBenefits{
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 9px;
}

.homePage .homePartnersBenefit{
  position: relative;
  padding-left: 18px;
  color: rgba(32,39,66,.86);
  font-size: 15px;
  line-height: 1.38;
  font-weight: 620;
}

.homePage .homePartnersBenefit::before{
  content: "";
  position: absolute;
  left: 0;
  top: .46em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(161,123,90,.9);
}

.homePage .homePartnersAction{
  display: flex;
  justify-content: flex-end;
}

.homePage .homePartnersBtn{
  min-height: 54px;
  padding: 0 24px;
  white-space: nowrap;
  box-shadow: 0 12px 24px rgba(26,35,62,.16);
}

.homePage .homeContactsGrid{
  align-items: stretch;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 22px;
}

.homePage .homeContactCard{
  border-radius: 30px;
  border: 1px solid var(--home-line);
  background: var(--home-surface);
}

.homePage .homeContactReach{
  display: grid;
  align-content: start;
  gap: 18px;
  padding: clamp(24px, 2.5vw, 36px);
  background:
    radial-gradient(900px 380px at -10% -18%, rgba(161,123,90,.13), transparent 56%),
    linear-gradient(180deg, rgba(255,255,255,.95), rgba(251,249,245,.95));
  box-shadow: 0 16px 36px rgba(24,30,52,.08);
}

.homePage .homeContactCard h3{
  margin: 0;
  color: var(--gp-ocean);
  font-size: clamp(31px, 2.3vw, 40px);
  line-height: 1.04;
}

.homePage .homeContactHead{
  display: grid;
  gap: 12px;
}

.homePage .homeContactHead p{
  margin: 0;
  color: rgba(32,39,66,.78);
  line-height: 1.55;
  font-size: 18px;
}

.homePage .homeContactPhone{
  display: inline-flex;
  align-self: flex-start;
  color: var(--gp-ocean);
  text-decoration: none;
  font-size: clamp(32px, 2.6vw, 42px);
  line-height: 1.02;
  letter-spacing: .01em;
  font-weight: 780;
  transition: color .2s ease, transform .2s ease;
}

.homePage .homeContactPhone:hover{
  color: rgba(32,39,66,.88);
  transform: translateX(2px);
}

.homePage .homeContactChannels{
  margin: -2px 0 0;
  color: rgba(32,39,66,.68);
  font-size: 14px;
  line-height: 1.35;
  font-weight: 600;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.homePage .homeContactButtons{
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 2px;
}

.homePage .homeContactButtons .btn{
  min-height: 54px;
  padding: 0 24px;
}

.homePage .homeContactBtnPrimary{
  box-shadow: 0 14px 26px rgba(26,35,62,.18);
}

.homePage .homeContactBtnSecondary{
  background: rgba(255,255,255,.76);
  border-color: rgba(32,39,66,.22);
  color: rgba(32,39,66,.9);
}

.homePage .homeContactBtnSecondary:hover{
  border-color: rgba(32,39,66,.32);
  background: rgba(255,255,255,.9);
}

.homePage .homeContactLocation{
  padding: 15px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.55);
  background:
    radial-gradient(680px 300px at 110% -12%, rgba(161,123,90,.1), transparent 62%),
    linear-gradient(180deg, rgba(249,246,240,.8), rgba(247,243,236,.78));
}

.homePage .homeContactMapFrame{
  position: relative;
  height: 100%;
  min-height: 430px;
  overflow: hidden;
  border-radius: 24px;
  border: 1px solid rgba(32,39,66,.14);
  background: rgba(255,255,255,.75);
}

.homePage .homeContactMapFrame::after{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(150deg, rgba(244,241,234,.2), transparent 46%),
    linear-gradient(0deg, rgba(244,241,234,.08), rgba(244,241,234,.08));
}

.homePage .homeContactAddress{
  margin: 0;
  margin-top: 8px;
  color: rgba(32,39,66,.82);
  line-height: 1.6;
  font-size: 16px;
  max-width: 52ch;
}

.homePage .homeContactAddress b{
  color: var(--gp-ocean);
}

.homePage .homeContactMap{
  display: block;
  width: 100%;
  height: 100%;
  min-height: 430px;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: rgba(255,255,255,.72);
  filter: saturate(.82) contrast(.95);
}

.homePage .homeDirectionCard .btn:focus-visible,
.homePage .homeArticleCard:focus-visible,
.homePage .homeContactPhone:focus-visible,
.homePage .homeContactButtons .btn:focus-visible{
  outline: 2px solid rgba(32,39,66,.4);
  outline-offset: 2px;
}

.homePage .homeFooter{
  background: rgba(255,255,255,.3);
}

@media (max-width: 1240px){
  .homePage .homeDirectionGrid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .homePage .homeSearchToolbar{
    justify-content: flex-start;
  }

  .homePage .homeContactsGrid{
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 18px;
  }
}

@media (max-width: 1024px){
  .homePage .homeHeroLayout{
    grid-template-columns: 1fr;
  }

  .homePage .homeHeroContent{
    justify-content: flex-start;
  }

  .homePage .homeHeroMediaCard img{
    min-height: 360px;
  }

  .homePage .homeTimeline{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .homePage .homeDirectionGrid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .homePage .homeResultsGrid.catalogResultsList[data-view="catalog_grid"]{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .homePage .homeSearchHead{
    align-items: flex-start;
    flex-direction: column;
    gap: 14px;
  }

  .homePage .homeSectionCtaFinal{
    padding-top: 56px;
    padding-bottom: 58px;
  }

  .homePage .homeConsultCard{
    grid-template-columns: 1fr;
    grid-template-areas:
      "top"
      "media"
      "bottom";
    gap: 18px;
    padding: 24px;
  }

  .homePage .homeConsultTop h2{
    max-width: 18ch;
  }

  .homePage .homeConsultBenefits{
    grid-template-columns: 1fr 1fr;
  }

  .homePage .homeConsultMedia img{
    min-height: 320px;
  }

  .homePage .homeContactsGrid{
    grid-template-columns: 1fr;
  }

  .homePage .homeContactReach{
    padding: 26px 22px;
  }

  .homePage .homeContactPhone{
    font-size: clamp(30px, 4.4vw, 38px);
  }

  .homePage .homeContactMapFrame,
  .homePage .homeContactMap{
    min-height: 320px;
  }

  .homePage .homePartnersCard{
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "main main"
      "benefits action";
    align-items: end;
    padding: 24px 22px;
  }

  .homePage .homePartnersMain{
    grid-area: main;
  }

  .homePage .homePartnersBenefits{
    grid-area: benefits;
  }

  .homePage .homePartnersAction{
    grid-area: action;
    justify-content: flex-end;
    align-self: end;
  }

  .homePage .homePartnersBtn{
    white-space: normal;
    text-align: center;
  }
}

@media (max-width: 860px){
  .homePage .homeSection{
    padding: 48px 0;
  }

  .homePage .homeHeroContent .h1 .homeHeroH1Sub{
    white-space: normal;
  }

  .homePage section[id]{
    scroll-margin-top: 110px;
  }

  .homePage .hero{
    padding-top: 24px;
  }

  .homePage .homeHeroContent{
    padding: 22px 18px;
  }

  .homePage .homeHeroMain{
    margin: 20px 0;
  }

  .homePage .homeHeroMediaCard{
    border-radius: 0;
  }

  .homePage .homeHeroMediaCard img{
    min-height: 250px;
  }

  .homePage .homeTrustRow{
    grid-template-columns: 1fr;
  }

  .homePage .homeTimeline{
    grid-template-columns: 1fr;
  }

  .homePage .homeDirectionGrid,
  .homePage .homeResultsGrid{
    grid-template-columns: 1fr;
  }

  .homePage .homeResultsGrid.catalogResultsList[data-view="catalog_grid"]{
    grid-template-columns: 1fr;
  }

  .homePage .homeCasesGrid,
  .homePage .homeArticlesGrid{
    grid-auto-rows: auto;
  }

  .homePage .homeCaseCard,
  .homePage .homeArticleCard{
    grid-template-rows: auto;
  }

  .homePage .homeCaseCard h3,
  .homePage .homeCaseCard p,
  .homePage .homeArticleCard h3,
  .homePage .homeArticleCard p{
    min-height: 0;
  }

  .homePage .homeSearchToolbar,
  .homePage .homeSearchForm,
  .homePage .homeSearchTypeField{
    width: 100%;
    max-width: none;
  }

  .homePage .homePartnersCard{
    grid-template-columns: 1fr;
    grid-template-areas:
      "main"
      "benefits"
      "action";
    padding: 22px 18px;
    gap: 16px;
  }

  .homePage .homePartnersCard h2{
    font-size: clamp(30px, 8vw, 36px);
  }

  .homePage .homePartnersCard p{
    font-size: 16px;
    line-height: 1.5;
  }

  .homePage .homePartnersBenefits{
    gap: 8px;
  }

  .homePage .homePartnersAction{
    justify-content: flex-start;
  }

  .homePage .homePartnersBtn{
    width: 100%;
    min-height: 52px;
    padding: 0 18px;
  }

  .homePage .homeContactReach{
    padding: 22px 18px;
    gap: 16px;
  }

  .homePage .homeContactCard h3{
    font-size: clamp(27px, 8vw, 34px);
  }

  .homePage .homeContactHead p{
    font-size: 17px;
  }

  .homePage .homeContactPhone{
    font-size: clamp(26px, 8vw, 34px);
  }

  .homePage .homeContactButtons{
    flex-direction: column;
    align-items: stretch;
  }

  .homePage .homeContactButtons .btn{
    width: 100%;
  }

  .homePage .homeContactMapFrame,
  .homePage .homeContactMap{
    min-height: 280px;
  }

  .homePage .homeSectionCtaFinal{
    padding-top: 48px;
    padding-bottom: 48px;
  }

  .homePage .homeConsultCard{
    padding: 20px;
    border-radius: 26px;
  }

  .homePage .homeConsultEyebrow{
    font-size: 12px;
    letter-spacing: .05em;
  }

  .homePage .homeConsultTop h2{
    max-width: none;
    font-size: clamp(30px, 8vw, 42px);
    line-height: 1.06;
  }

  .homePage .homeConsultTop p{
    font-size: 17px;
    line-height: 1.55;
  }

  .homePage .homeConsultBenefits{
    grid-template-columns: 1fr;
  }

  .homePage .homeConsultActions{
    flex-direction: column;
    align-items: stretch;
  }

  .homePage .homeConsultActions .btn{
    width: 100%;
  }

  .homePage .homeConsultMedia{
    border-radius: 18px;
  }

  .homePage .homeConsultMedia img{
    min-height: 260px;
  }

  .homePage .homeConsultVisualTag{
    left: 10px;
    right: 10px;
    bottom: 10px;
  }

  .homePage .homeConsultVisualTag span{
    font-size: 11px;
    min-height: 28px;
    padding: 5px 9px;
  }
}
