body.tpk-sat-home {
  --tpk-home-hero-space: clamp(2.25rem, 5.5vw, 5rem);
  --tpk-home-section-space: clamp(2.75rem, 5.7vw, 5rem);
  --tpk-home-column-gap: clamp(1.75rem, 4vw, 4rem);
  --tpk-home-radius: clamp(1rem, 2vw, 1.75rem);
  --tpk-home-shadow: 0 1rem 3rem rgb(17 39 45 / 11%);
}

.tpk-sat-home :is(
  #tr-homepage .trb-hero,
  .jr-v2 .jr-hero,
  .ke-home .ke-hero,
  #hm-home .hm-hero,
  .zer-home .zer-hero
) {
  padding-block: var(--tpk-home-hero-space);
}

.tpk-sat-home :is(
  .jr-v2 .jr-hero,
  #hm-home .hm-hero
) {
  background: linear-gradient(135deg, var(--tpk-tint, #eef7f5), var(--tpk-canvas, #fff) 90%);
}

@media (prefers-color-scheme: light) {
  .tpk-sat-home #tr-homepage .trb-hero {
    background: linear-gradient(135deg, var(--tpk-tint, #eef7f5), var(--tpk-canvas, #fff) 90%);
  }
}

.tpk-sat-home .zer-home .zer-hero {
  overflow-x: clip;
}

.tpk-sat-home .tk-home > section:has(> .tk-hero-grid) {
  padding-block: var(--tpk-home-hero-space) !important;
}

.tpk-sat-home #pr-home .pr-hero {
  /* The existing front-page layout sets important vertical padding. */
  padding-block: var(--tpk-home-hero-space) !important;
}

.tpk-sat-home :is(
  #tr-homepage .trb-heroGrid,
  .jr-v2 .jr-hero-grid,
  .ke-home .ke-hero-grid,
  .tk-home .tk-hero-grid,
  #hm-home .hm-hero-grid,
  #pr-home .pr-hero,
  .zer-home .zer-hero-grid
) {
  gap: var(--tpk-home-column-gap);
}

.tpk-sat-home .tk-home .tk-hero-grid {
  /* This grid has an inline gap. */
  gap: var(--tpk-home-column-gap) !important;
}

.tpk-sat-home :is(
  #tr-homepage .trb-heroGrid,
  .jr-v2 .jr-hero-grid,
  .ke-home .ke-hero-grid,
  .tk-home .tk-hero-grid,
  #hm-home .hm-hero-grid,
  #pr-home .pr-hero,
  .zer-home .zer-hero-grid
) > * {
  min-inline-size: 0;
}

.tpk-sat-home :is(
  #tr-homepage .trb-heroGrid,
  .jr-v2 .jr-hero-grid,
  .ke-home .ke-hero-grid,
  .tk-home .tk-hero-grid,
  #hm-home .hm-hero-grid,
  #pr-home .pr-hero,
  .zer-home .zer-hero-grid
) > :first-child > h1 {
  max-inline-size: 19ch;
  margin-block: 0 0.4em;
  font-size: clamp(2.2rem, 4.65vw, 4.35rem);
  font-weight: 800;
  line-height: 1.07;
  letter-spacing: -0.045em;
  text-wrap: balance;
  overflow-wrap: break-word;
}

.tpk-sat-home .tk-home .tk-hero-grid > :first-child > h1 {
  margin-block: 0 0.4em !important;
  font-size: clamp(2.2rem, 4.65vw, 4.35rem) !important;
  line-height: 1.07 !important;
  letter-spacing: -0.045em !important;
}

.tpk-sat-home :is(
  #tr-homepage .trb-lead,
  .jr-v2 .jr-hero-copy,
  .ke-home .ke-hero-copy,
  #hm-home .hm-hero-copy > p,
  #pr-home .pr-hero .pr-intro,
  .zer-home .zer-lead
) {
  max-inline-size: 58ch;
  font-size: clamp(1rem, 1.65vw, 1.175rem);
  line-height: 1.65;
  text-wrap: pretty;
}

.tpk-sat-home :is(
  #tr-homepage .trb-photo,
  .jr-v2 .jr-hero-photo,
  .ke-home .ke-hero-photo,
  #hm-home .hm-booking,
  #pr-home .pr-hero > .pr-booking,
  .zer-home .zer-picker
) {
  border-radius: var(--tpk-home-radius);
  box-shadow: var(--tpk-home-shadow);
  min-inline-size: 0;
}

.tpk-sat-home .ke-home .ke-hero-photo {
  box-shadow: 0 1.25rem 3rem rgb(10 9 24 / 28%);
}

.tpk-sat-home :is(
  #tr-homepage .trb-photo,
  .jr-v2 .jr-hero-photo,
  .ke-home .ke-hero-photo
) img {
  max-inline-size: 100%;
  border-radius: inherit;
}

.tpk-sat-home :is(
  #tr-homepage #uslugi,
  #tr-homepage .trb-process,
  #tr-homepage .trb-knowledge,
  .jr-v2 .jr-section,
  .ke-home .ke-section,
  #hm-home .hm-section,
  #pr-home .pr-how,
  #pr-home .pr-knowledge,
  #pr-home .pr-faq,
  .zer-home .zer-section
) {
  padding-block: var(--tpk-home-section-space);
}

.tpk-sat-home :is(
  #tr-homepage .trb-links,
  .jr-v2 .jr-links,
  .ke-header .ke-menu,
  .tk-head .tk-nav,
  #hm-home .hm-nav,
  #pr-home .pr-nav
) a {
  text-underline-offset: 0.24em;
}

.tpk-sat-home :is(
  #tr-homepage .trb-nav,
  .jr-v2 .jr-header,
  .ke-header,
  .tk-head,
  #hm-home .hm-header,
  #pr-home .pr-header,
  .zer-home .zer-nav
) :is(a, button, summary):focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
  border-radius: 0.375rem;
}

.tpk-sat-home :is(
  #tr-homepage .trb-navcta,
  .jr-v2 .jr-nav-cta,
  .ke-header a.ke-btn,
  .tk-head a.tk-btn,
  #hm-home .hm-header > .hm-cta,
  #pr-home .pr-header .pr-header-cta,
  .zer-home .zer-nav .zer-btn
) {
  min-block-size: 44px;
  border-radius: 0.75rem;
  align-items: center;
}

@media (max-width: 760px) {
  .tpk-sat-home :is(
    #tr-homepage .trb-heroGrid,
    .jr-v2 .jr-hero-grid,
    .ke-home .ke-hero-grid,
    #hm-home .hm-hero-grid,
    #pr-home .pr-hero,
    .zer-home .zer-hero-grid
  ) {
    grid-template-columns: minmax(0, 1fr);
  }

  .tpk-sat-home :is(.jr-v2 .jr-hero-photo, .ke-home .ke-hero-photo) img {
    min-block-size: 0;
    block-size: clamp(14rem, 67vw, 21rem);
  }
}
