.jk-page {
  --jk-ink: #102a43;
  --jk-muted: #566b7f;
  --jk-line: #cad7e3;
  --jk-red: #e73b4e;
  --jk-paper: #fffdf8;
  color: var(--jk-ink);
  background: #ffffff;
  font-family: "Plus Jakarta Sans", sans-serif;
}

.jk-page *, .jk-page *::before, .jk-page *::after { box-sizing: border-box; }

.jk-shell {
  width: min(1180px, calc(100% - 40px));
  margin-inline: auto;
}

.jk-hero {
  position: relative;
  overflow: hidden;
  padding: 132px 0 72px;
  border-bottom: 1px solid var(--jk-line);
  background:
    linear-gradient(rgba(219, 229, 238, .48) 1px, transparent 1px),
    linear-gradient(90deg, rgba(219, 229, 238, .48) 1px, transparent 1px),
    radial-gradient(circle at 12% 18%, rgba(231, 59, 78, .10), transparent 30%),
    #f8fbfd;
  background-size: 32px 32px, 32px 32px, auto, auto;
}

.jk-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(480px, 1.12fr);
  gap: clamp(38px, 5vw, 76px);
  align-items: center;
}
.jk-hero__grid > *, .jk-signature__grid > * { min-width: 0; }
.jk-kicker, .jk-section-kicker, .jk-hero h1, .jk-hero__lead, .jk-button,
.jk-signature h2, .jk-signature__intro, .jk-signature__note,
.jk-contract__head span, .jk-contract__label, .jk-contract__value,
.jk-contract__result span, .jk-contract__result strong { overflow-wrap: anywhere; }

.jk-kicker,
.jk-section-kicker {
  margin: 0 0 18px;
  color: var(--jk-red);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .14em;
  line-height: 1.35;
  text-transform: uppercase;
}

.jk-hero h1 {
  margin: 0;
  max-width: 660px;
  color: #101c32;
  font-weight: 800;
  letter-spacing: -.045em;
  line-height: 1.02;
  text-wrap: balance;
}

.jk-hero__lead {
  max-width: 610px;
  margin: 24px 0 0;
  color: var(--jk-muted);
  font-size: clamp(17px, 1.5vw, 20px);
  line-height: 1.65;
}

.jk-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.jk-button {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  padding: 12px 20px;
  border: 1px solid var(--jk-ink);
  border-radius: 10px;
  color: #fff;
  background: var(--jk-ink);
  font-size: 15px;
  font-weight: 800;
  text-decoration: none;
}
.jk-button--quiet { color: var(--jk-ink); background: #fff; }
.jk-button:hover, .jk-button:focus-visible { transform: translateY(-1px); box-shadow: 0 10px 24px rgba(16, 42, 67, .14); }

.jk-hero__visual { margin: 0; min-width: 0; }
.jk-hero__visual picture, .jk-hero__visual img { display: block; width: 100%; }
.jk-hero__visual img { height: auto; filter: drop-shadow(0 20px 30px rgba(16, 42, 67, .12)); }
.jk-hero__visual figcaption { margin: 12px 10px 0; color: var(--jk-muted); font-size: 13px; line-height: 1.5; }

.jk-source {
  border-bottom: 1px solid var(--jk-line);
  background: #fff;
}
.jk-source__grid {
  display: grid;
  grid-template-columns: .78fr 1.22fr;
  gap: 32px;
  padding-block: 28px;
}
.jk-source h2 { margin: 0; color: var(--jk-ink); font-size: 20px; line-height: 1.35; }
.jk-source p { margin: 0; color: var(--jk-muted); font-size: 14px; line-height: 1.7; }
.jk-source a { color: #c72f42; font-weight: 800; text-underline-offset: 3px; }

.jk-signature { padding: 82px 0 90px; background: var(--jk-paper); }
.jk-signature__grid {
  display: grid;
  grid-template-columns: minmax(0, .78fr) minmax(520px, 1.22fr);
  gap: clamp(40px, 6vw, 86px);
  align-items: start;
}
.jk-signature h2 {
  margin: 0;
  max-width: 560px;
  color: #101c32;
  font-size: clamp(34px, 4vw, 54px);
  font-weight: 800;
  letter-spacing: -.045em;
  line-height: 1.04;
  text-wrap: balance;
}
.jk-signature__intro { margin: 22px 0 0; color: var(--jk-muted); font-size: 17px; line-height: 1.7; }
.jk-signature__note { margin: 26px 0 0; padding-left: 18px; border-left: 4px solid var(--jk-red); color: var(--jk-ink); font-size: 15px; font-weight: 700; line-height: 1.6; }

.jk-contract {
  position: relative;
  padding: 24px;
  border: 2px solid var(--jk-ink);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 14px 14px 0 #dbe7ef;
}
.jk-contract__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 0 4px 18px;
  border-bottom: 2px solid var(--jk-ink);
  color: var(--jk-ink);
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.jk-contract__head span:last-child { color: var(--jk-red); }
.jk-contract__row {
  display: grid;
  grid-template-columns: 54px minmax(150px, .72fr) minmax(0, 1.28fr);
  gap: 18px;
  align-items: center;
  min-height: 92px;
  border-bottom: 1px solid var(--jk-line);
}
.jk-contract__no {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--jk-ink);
  font-size: 14px;
  font-weight: 800;
}
.jk-contract__label { color: var(--jk-red); font-size: 13px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.jk-contract__value { color: var(--jk-ink); font-size: 17px; font-weight: 800; line-height: 1.35; }
.jk-contract__result {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 20px;
  padding: 18px 20px;
  border-radius: 12px;
  color: #fff;
  background: #2d806f;
  font-size: 15px;
  font-weight: 800;
}
.jk-contract__result strong { font-size: 18px; }

@media (max-width: 959px) {
  .jk-hero { padding-top: 112px; }
  .jk-hero__grid, .jk-signature__grid { grid-template-columns: minmax(0, 1fr); }
  .jk-hero__visual { max-width: 720px; margin-inline: auto; }
  .jk-signature__grid { gap: 34px; }
  .jk-source__grid { grid-template-columns: 1fr; gap: 12px; }
}

@media (max-width: 639px) {
  .jk-shell { width: min(100% - 28px, 1180px); }
  .jk-hero { padding: 102px 0 48px; background-size: 24px 24px, 24px 24px, auto, auto; }
  .jk-hero__grid { gap: 34px; }
  .jk-kicker, .jk-section-kicker { margin-bottom: 14px; font-size: 12px; }
  .jk-hero__lead { margin-top: 18px; font-size: 16px; line-height: 1.6; }
  .jk-actions { display: grid; grid-template-columns: 1fr; margin-top: 24px; }
  .jk-button { width: 100%; }
  .jk-hero__visual figcaption { margin-inline: 2px; }
  .jk-source__grid { padding-block: 22px; }
  .jk-signature { padding: 60px 0 72px; }
  .jk-signature h2 { font-size: 36px; }
  .jk-signature__intro { font-size: 16px; }
  .jk-contract { padding: 18px; box-shadow: 8px 8px 0 #dbe7ef; }
  .jk-contract__head { align-items: flex-start; flex-direction: column; gap: 5px; }
  .jk-contract__row { grid-template-columns: 42px 1fr; gap: 10px 12px; padding-block: 16px; }
  .jk-contract__value { grid-column: 2; font-size: 16px; }
  .jk-contract__result { align-items: flex-start; flex-direction: column; gap: 5px; }
}

@media (max-width: 639px) {
  #main-content.jk-page .jk-hero h1[data-city-type="h1"] {
    font-size: 28px !important;
    line-height: 1.08 !important;
    letter-spacing: -.065em;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
  }
  #main-content.jk-page .jk-signature h2 {
    font-size: 28px !important;
    line-height: 1.1 !important;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
  }
}
