/* Author-provided page styles preserved for local comparison. Publication rights pending. */

  .k7n-hero,
  .k7n-hero * { box-sizing: border-box; }
  .k7n-hero input,
  .k7n-hero textarea,
  .k7n-hero select { font: inherit; }

  .k7n-hero {
    --k-blue: #2A6DF4;
    --k-blue-700: #1F4FBF;
    --k-blue-50: #EAF1FF;
    --k-peach: #FFD9C2;
    --k-peach-2: #FFE8DC;
    --k-peach-ink: #B6481F;
    --k-ink: #15233B;
    --k-ink-2: #3C4A66;
    --k-muted: #6B7790;
    --k-bg: #F5F7FC;
    --k-bg-2: #EDF1F9;
    --k-line: #DDE4F1;
    --k-white: #ffffff;

    position: relative;
    overflow: hidden;
    background: linear-gradient(180deg, var(--k-bg) 0%, var(--k-bg-2) 100%);
    color: var(--k-ink);
    font-family: var(--t-text-font);
    padding: clamp(28px, 5vw, 64px) 0;
    isolation: isolate;
  }

  /* Декоративный фон */
  .k7n-hero__decor {
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
  }
  .k7n-hero__decor-blob {
    position: absolute;
    border-radius: 50%;
    filter: blur(80px);
    opacity: .55;
  }
  .k7n-hero__decor-blob--a {
    width: 520px; height: 520px;
    left: -180px; top: -180px;
    background: radial-gradient(circle at 30% 30%, rgba(42,109,244,.35), transparent 70%);
  }
  .k7n-hero__decor-blob--b {
    width: 460px; height: 460px;
    right: -160px; bottom: -160px;
    background: radial-gradient(circle at 70% 70%, rgba(42,109,244,.22), transparent 70%);
  }
  .k7n-hero__decor-grid {
    position: absolute;
    inset: 0;
    background-image:
      linear-gradient(rgba(42,109,244,.07) 1px, transparent 1px),
      linear-gradient(90deg, rgba(42,109,244,.07) 1px, transparent 1px);
    background-size: 56px 56px;
    mask-image: radial-gradient(ellipse at 50% 50%, black 30%, transparent 75%);
    -webkit-mask-image: radial-gradient(ellipse at 50% 50%, black 30%, transparent 75%);
  }

  .k7n-hero__inner {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 clamp(20px, 4vw, 48px);
  }

  /* Контент-блок — грид с именованными областями. */
  .k7n-hero__content {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
    grid-template-areas:
      "loc    photo"
      "title  photo"
      "sub    photo"
      "list   photo"
      "act    photo";
    column-gap: clamp(24px, 5vw, 64px);
    row-gap: clamp(14px, 2vw, 22px);
    align-items: center;
  }

  .k7n-hero__location { grid-area: loc; justify-self: start; align-self: center; }
  .k7n-hero__title    { grid-area: title; justify-self: start; align-self: center; }
  .k7n-hero__subtitle { grid-area: sub; justify-self: start; align-self: center; max-width: none; }
  .k7n-hero__media    { grid-area: photo; }
  .k7n-hero__list     { grid-area: list; justify-self: stretch; max-width: 540px; }
  .k7n-hero__actions  { grid-area: act; justify-self: start; }

  .k7n-hero__location {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 16px;
    background: rgba(255,255,255,.85);
    border: 1px solid var(--k-line);
    border-radius: 999px;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
  }
  .k7n-hero__location-dot {
    width: 8px; height: 8px;
    border-radius: 50%;
    background: var(--k-blue);
    box-shadow: 0 0 0 4px rgba(42,109,244,.15);
    flex: 0 0 auto;
  }
  .k7n-hero__location-text {
    font-family: var(--t-text-font);
    font-size: clamp(13px, 1.4vw, 15px);
    font-weight: 500;
    color: var(--k-ink-2);
    letter-spacing: .01em;
  }

  .k7n-hero__title {
    font-family: var(--t-headline-font);
    font-weight: 700;
    font-size: clamp(40px, 6.4vw, 84px);
    line-height: 1.02;
    letter-spacing: -0.035em;
    color: var(--k-ink);
    margin: 0;
    text-wrap: balance;
  }

  .k7n-hero__subtitle {
    font-family: var(--t-headline-font);
    font-weight: 500;
    font-size: clamp(18px, 2.1vw, 24px);
    line-height: 1.35;
    color: var(--k-blue);
    margin: 0;
    letter-spacing: -0.01em;
    max-width: 30ch;
  }
  .k7n-hero__br-mob { display: none; }

  .k7n-hero__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
    width: 100%;
  }
  .k7n-hero__item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 14px 18px;
    background: rgba(255,255,255,.78);
    border: 1px solid rgba(221,228,241,.7);
    border-radius: 16px;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    transition: transform .25s ease-out, box-shadow .25s ease-out, border-color .25s ease-out;
  }
  .k7n-hero__item:hover {
    transform: translateY(-2px);
    border-color: rgba(42,109,244,.35);
    box-shadow: 0 10px 30px -18px rgba(42,109,244,.4);
  }
  .k7n-hero__check {
    width: 26px; height: 26px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: var(--k-blue);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 1px;
  }
  .k7n-hero__check svg { width: 14px; height: 14px; }

  .k7n-hero__item-text {
    font-family: var(--t-text-font);
    font-size: clamp(15px, 1.5vw, 17px);
    line-height: 1.5;
    color: var(--k-ink);
    font-weight: 500;
  }

  .k7n-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
  }

  /* Кнопки на базе t-btnflex */
  .k7n-hero__btn {
    border-radius: 14px;
    transition: transform .2s ease-out, box-shadow .25s ease-out, background .25s ease-out, color .25s ease-out, border-color .25s ease-out;
    text-decoration: none;
  }
  .k7n-hero__btn--primary {
    background: var(--k-blue);
    color: #fff;
    box-shadow: 0 14px 30px -16px rgba(42,109,244,.55);
  }
  .k7n-hero__btn--primary:hover {
    background: var(--k-blue-700);
    transform: translateY(-2px);
    box-shadow: 0 18px 40px -16px rgba(31,79,191,.55);
  }
  .k7n-hero__btn--primary .t-btnflex__text { color: #fff; }

  .k7n-hero__btn--ghost {
    background: rgba(255,255,255,.6);
    color: var(--k-ink);
    border: 1px solid var(--k-line);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
  }
  .k7n-hero__btn--ghost:hover {
    border-color: var(--k-blue);
    color: var(--k-blue);
    background: #fff;
    transform: translateY(-2px);
  }
  .k7n-hero__btn--ghost .t-btnflex__text { color: inherit; }

  /* Правая колонка — фото */
  .k7n-hero__media {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    align-self: stretch;
  }
  .k7n-hero__photo-wrap {
    position: relative;
    width: 100%;
    max-width: 480px;
    aspect-ratio: 3 / 4;
  }

  .k7n-hero__photo-frame {
    position: absolute;
    inset: 0;
    border-radius: 28px;
    overflow: hidden;
    background: #d9e2f3;
    box-shadow:
      0 30px 60px -28px rgba(20,35,90,.35),
      0 12px 30px -18px rgba(20,35,90,.25);
    transform: rotate(-2deg);
    transition: transform .6s cubic-bezier(.2,.7,.2,1);
  }
  .k7n-hero__photo-wrap:hover .k7n-hero__photo-frame {
    transform: rotate(0deg) scale(1.01);
  }
  .k7n-hero__photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 25%;
    display: block;
  }

  /* Декоративная рамка за фото */
  .k7n-hero__photo-frame::before {
    content: "";
    position: absolute;
    inset: 12px;
    border: 1px solid rgba(255,255,255,.35);
    border-radius: 22px;
    pointer-events: none;
    z-index: 2;
  }

  /* Чипы */
  .k7n-hero__chip {
    position: absolute;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 18px;
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 18px 40px -22px rgba(20,35,90,.4);
    z-index: 3;
    animation: k7n-float 6s ease-in-out infinite;
  }
  .k7n-hero__chip--top {
    top: 6%;
    left: -6%;
    background: var(--k-blue);
    color: #fff;
    animation-delay: 0s;
  }
  .k7n-hero__chip-num {
    font-family: var(--t-headline-font);
    font-weight: 700;
    font-size: clamp(28px, 3vw, 36px);
    line-height: 1;
    letter-spacing: -0.02em;
  }
  .k7n-hero__chip-lbl {
    font-family: var(--t-text-font);
    font-weight: 500;
    font-size: clamp(11px, 1.1vw, 13px);
    line-height: 1.25;
    letter-spacing: .02em;
  }

  .k7n-hero__chip--price {
    bottom: 8%;
    right: -4%;
    width: 150px;
    height: 150px;
    border-radius: 50%;
    background: var(--k-peach);
    color: var(--k-peach-ink);
    flex-direction: column;
    justify-content: center;
    text-align: center;
    padding: 12px;
    gap: 6px;
    border: 2px solid var(--k-peach);
    box-shadow: 0 22px 50px -22px rgba(182,72,31,.45);
    transform: rotate(8deg);
    animation: k7n-float-rotate 7s ease-in-out infinite;
    animation-delay: -2s;
    z-index: 4;
  }
  .k7n-hero__chip--price::before {
    content: "";
    position: absolute;
    inset: 7px;
    border: 1.5px dashed rgba(182,72,31,.45);
    border-radius: 50%;
    opacity: 1;
    pointer-events: none;
  }
  .k7n-hero__chip-price {
    font-family: var(--t-headline-font);
    font-weight: 700;
    font-size: 26px;
    line-height: 1;
    letter-spacing: -0.01em;
    color: var(--k-peach-ink);
  }
  .k7n-hero__chip-price-lbl {
    font-family: var(--t-text-font);
    font-weight: 600;
    font-size: 9px;
    line-height: 1.3;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--k-peach-ink);
  }
  @keyframes k7n-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
  }
  @keyframes k7n-float-rotate {
    0%, 100% { transform: rotate(8deg) translateY(0); }
    50% { transform: rotate(8deg) translateY(-8px); }
  }

  /* ====== Брейкпоинты ====== */

  /* 960 — 1200 */
  @media (max-width: 1200px) {
    .k7n-hero__content {
      grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
      column-gap: 40px;
    }
    .k7n-hero__photo-wrap { max-width: 420px; }
  }

  /* <= 960: одна колонка */
  @media (max-width: 960px) {
    .k7n-hero { padding: 32px 0 44px; }
    .k7n-hero__content {
      grid-template-columns: 1fr;
      grid-template-areas:
        "loc"
        "title"
        "sub"
        "act"
        "photo"
        "list";
      column-gap: 0;
      row-gap: 18px;
      align-items: stretch;
    }
    .k7n-hero__media { align-self: center; }
    .k7n-hero__list { max-width: none; }

    .k7n-hero__actions { width: 100%; }
    .k7n-hero__btn { width: 100%; justify-content: center; }
    .k7n-hero__btn--primary { padding: 16px 22px; }

    .k7n-hero__photo-wrap {
      max-width: 360px;
      margin: 4px auto 0;
      aspect-ratio: 4 / 5;
    }
    .k7n-hero__chip--top { left: -4%; }
    .k7n-hero__chip--price {
      width: 118px;
      height: 118px;
      bottom: 6%;
      right: -4%;
      border-radius: 50%;
    }
    .k7n-hero__chip-price { font-size: 19px; }
  }

  /* 480 — 640 */
  @media (max-width: 640px) {
    .k7n-hero { padding: 26px 0 36px; }
    .k7n-hero__content { row-gap: 16px; }
    .k7n-hero__title { font-size: clamp(34px, 10vw, 48px); }
    .k7n-hero__subtitle { font-size: 17px; max-width: 100%; }
    .k7n-hero__br-mob { display: inline; }
    .k7n-hero__item-text { font-size: 15px; }
    .k7n-hero__photo-wrap { max-width: 320px; }
    .k7n-hero__chip--price {
      width: 104px;
      height: 104px;
      right: -4%;
      bottom: 6%;
      border-radius: 50%;
    }
    .k7n-hero__chip-price { font-size: 18px; }
    .k7n-hero__chip-price-lbl { font-size: 8px; }
  }

  /* 320 — 480: мобильный, фото крупнее */
  @media (max-width: 480px) {
    .k7n-hero { padding: 18px 0 26px; }
    .k7n-hero__inner { padding: 0 16px; }
    .k7n-hero__content { row-gap: 12px; }
    .k7n-hero__location { padding: 5px 11px; }
    .k7n-hero__location-text { font-size: 11.5px; }
    .k7n-hero__title {
      font-size: clamp(28px, 9vw, 36px);
      letter-spacing: -0.03em;
    }
    .k7n-hero__subtitle {
      font-size: 14px;
      line-height: 1.4;
    }
    .k7n-hero__btn--primary { padding: 13px 18px; }
    .k7n-hero__list { gap: 8px; }
    .k7n-hero__item {
      padding: 10px 12px;
      gap: 10px;
      border-radius: 12px;
    }
    .k7n-hero__check { width: 20px; height: 20px; }
    .k7n-hero__check svg { width: 11px; height: 11px; }
    .k7n-hero__item-text {
      font-size: 15px;
      line-height: 1.4;
    }
    .k7n-hero__actions { gap: 8px; }
    .k7n-hero__photo-wrap {
      max-width: 260px;
      aspect-ratio: 1 / 1;
    }
    .k7n-hero__chip {
      padding: 8px 10px;
      border-radius: 12px;
    }
    .k7n-hero__chip--price { border-radius: 50%; }
    .k7n-hero__chip-num { font-size: 20px; }
    .k7n-hero__chip-lbl { font-size: 9px; }
    .k7n-hero__chip--top { top: 4%; left: -8%; }
    .k7n-hero__chip--price {
      width: 92px;
      height: 92px;
      bottom: 4%;
      right: -8%;
      padding: 5px;
      gap: 3px;
    }
    .k7n-hero__chip-price { font-size: 16px; }
    .k7n-hero__chip-price-lbl { font-size: 7px; letter-spacing: .05em; }
    .k7n-hero__chip--price::before { inset: 3px; border-width: 1px; }
  }

  /* Респект reduced motion */
  @media (prefers-reduced-motion: reduce) {
    .k7n-hero__chip { animation: none; }
    .k7n-hero__chip--price { animation: none; transform: rotate(8deg); }
    .k7n-hero__photo-frame { transition: none; }
    .k7n-hero__item, .k7n-hero__btn { transition: none; }
  }

  /* === Мобильная правка (≤ 480) === */
  @media (max-width: 480px) {
    .k7n-hero__subtitle { color: #000f2d; font-size: 16px; }
    .k7n-hero__btn { font-size: 16px; }
    #k7n-hero-title { font-size: 30px; font-weight: 400; }
    .k7n-hero__content { padding: 10px 0 0; }
    .k7n-hero__item { font-size: 15px; font-family: var(--t-text-font); }
  }


@media (max-width: 480px) {
    .k7n-hero__item {
        font-weight: 600;
    }
}


.nk, .nk * { box-sizing: border-box; }
.nk { --k-blue: #2A6DF4; --k-blue-700: #1F4FBF; --k-blue-50: #EAF1FF; --k-peach: #FFD9C2; --k-peach-2: #FFE8DC; --k-peach-ink: #B6481F;
  --k-ink: #15233B; --k-ink-2: #3C4A66; --k-muted: #6B7790; --k-bg: #F5F7FC; --k-bg-2: #EDF1F9; --k-line: #DDE4F1;
  --nk-head: var(--t-headline-font, 'Comfortaa', sans-serif); --nk-text: var(--t-text-font, 'Manrope', sans-serif);
  position: relative; overflow: hidden; color: var(--k-ink); font-family: var(--nk-text); padding: clamp(40px, 5.5vw, 80px) 0;
  background: linear-gradient(180deg, var(--k-bg) 0%, var(--k-bg-2) 100%); }
.nk--white { background: #fff; }
.nk__in { max-width: 1200px; margin: 0 auto; padding: 0 clamp(20px, 4vw, 48px); }
.nk h2 { font-family: var(--nk-head); font-weight: 700; font-size: clamp(32px, 4vw, 52px); line-height: 1.06; letter-spacing: -0.03em;
  color: var(--k-ink); margin: 0 0 clamp(14px, 1.8vw, 20px); text-wrap: balance; }
.nk h2 em { font-style: normal; color: var(--k-blue); }
.nk .nk__sub { font-family: var(--nk-head); font-weight: 500; font-size: clamp(18px, 2.1vw, 24px); line-height: 1.35; letter-spacing: -0.01em;
  color: var(--k-blue); margin: 0 0 clamp(20px, 2.6vw, 32px); max-width: 44ch; }
.nk p { margin: 0; }
.nk b, .nk strong { font-weight: 700; color: var(--k-ink); }
.nk-text { font-family: var(--nk-text); font-size: clamp(15px, 1.5vw, 17px); line-height: 1.5; font-weight: 500; color: var(--k-ink); }
.nk-item { display: flex; align-items: flex-start; gap: 14px; padding: 14px 18px; background: rgba(255,255,255,.78);
  border: 1px solid rgba(221,228,241,.7); border-radius: 16px; transition: transform .25s ease-out, box-shadow .25s ease-out, border-color .25s ease-out; }
.nk--white .nk-item { background: var(--k-bg); }
.nk-item:hover { transform: translateY(-2px); border-color: rgba(42,109,244,.35); box-shadow: 0 10px 30px -18px rgba(42,109,244,.4); }
.nk-check { width: 26px; height: 26px; flex: 0 0 auto; border-radius: 50%; background: var(--k-blue); color: #fff;
  display: inline-flex; align-items: center; justify-content: center; margin-top: 1px; }
.nk-check svg { width: 14px; height: 14px; }
/* цветные плашки — те же цвета, что у чипов первого экрана */
.nk-t { border-radius: 20px; padding: clamp(16px, 2vw, 24px); border: 1px solid transparent; }
.nk-t--white { background: #fff; border-color: var(--k-line); }
.nk-t--sky { background: var(--k-blue-50); border-color: #D5E3FF; }
.nk-t--peach { background: var(--k-peach-2); border-color: var(--k-peach); }
.nk-t--blue { background: var(--k-blue); color: #fff; box-shadow: 0 18px 40px -22px rgba(42,109,244,.7); }
.nk-t--blue b, .nk-t--blue .nk-text, .nk-t--blue .nk-t__title { color: #fff; }
.nk-t__title { display: block; font-family: var(--nk-text); font-weight: 700; font-size: clamp(16px, 1.6vw, 19px); line-height: 1.3; color: var(--k-ink); margin: 0 0 6px; }
.nk-tag { display: inline-block; padding: 5px 12px; border-radius: 999px; background: #fff; color: var(--k-blue-700); font-size: 12px; font-weight: 700;
  letter-spacing: .06em; text-transform: uppercase; }
.nk-t--peach .nk-tag { color: var(--k-peach-ink); }
.nk-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 16px 28px; border-radius: 14px; background: var(--k-blue);
  color: #fff !important; font-family: var(--nk-head); font-weight: 600; font-size: 16px; line-height: 1.4; text-decoration: none;
  box-shadow: 0 14px 30px -16px rgba(42,109,244,.55); transition: transform .2s ease-out, background .25s ease-out, box-shadow .25s ease-out; }
.nk-btn:hover { background: var(--k-blue-700); transform: translateY(-2px); box-shadow: 0 18px 40px -16px rgba(31,79,191,.55); }
.nk-btn--white { background: #fff; color: var(--k-blue-700) !important; box-shadow: none; }
.nk-btn--white:hover { background: var(--k-blue-50); }
.nk-btn__arrow { width: 18px; height: 18px; flex: 0 0 auto; }
.nk__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin-top: clamp(20px, 2.6vw, 30px); }
.nk__actions--center { justify-content: center; }
@media (max-width: 640px) {
  .nk h2 { font-size: clamp(28px, 8vw, 36px); }
  .nk .nk__sub { font-size: 17px; max-width: 100%; }
}
@media (max-width: 480px) {
  .nk { padding: 36px 0; }
  .nk__in { padding: 0 16px; }
  .nk h2 { font-size: 30px; font-weight: 400; letter-spacing: -0.03em; }
  .nk .nk__sub { font-size: 16px; line-height: 1.4; color: #000f2d; margin-bottom: 18px; }
  .nk-text { font-size: 15.5px; line-height: 1.45; font-weight: 500; }
  .nk-item { padding: 10px 12px; gap: 10px; border-radius: 12px; }
  .nk-check { width: 20px; height: 20px; }
  .nk-check svg { width: 11px; height: 11px; }
  .nk-t { border-radius: 16px; padding: 14px; }
  .nk-btn { width: 100%; padding: 14px 18px; }
}

/* палитра акцентов как на макетах: синий, жёлтый, красный, зелёный, фиолетовый */
.c-blue, .r-blue { --c: #2A6DF4; --cb: #EAF1FF; --cl: #C9DAFF; --g: #F4F8FF; }
.c-yellow, .r-yellow { --c: #C98A0B; --cb: #FFF4CC; --cl: #F2CF63; --g: #FFE7A0; }
.c-red, .r-red { --c: #D64545; --cb: #FDE4E4; --cl: #F3B1B1; --g: #FBD2D2; }
.c-green, .r-green { --c: #1E9E5A; --cb: #DDF6E8; --cl: #9FE0BD; --g: #C4F0D8; }
.c-purple, .r-purple { --c: #7A4FD6; --cb: #EFE8FD; --cl: #CDBBF5; --g: #E2D6FB; }
.nk-ico { width: 44px; height: 44px; flex: 0 0 auto; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center;
  background: var(--cb); color: var(--c); border: 1px solid var(--cl); }
.nk-ico svg { width: 22px; height: 22px; }
.nk-rows { display: flex; flex-direction: column; gap: 10px; }
.nk-row { display: flex; gap: 14px; align-items: center; padding: 14px 16px; border-radius: 16px; border: 1px solid var(--cl);
  background: linear-gradient(100deg, var(--cb) 0%, var(--g) 100%); }
.nk-row .nk-ico { width: 36px; height: 36px; border-radius: 10px; background: #fff; border-color: transparent; box-shadow: 0 4px 10px -6px rgba(21,35,59,.25); }
.nk-row .nk-ico svg { width: 18px; height: 18px; }
.nk-row__t { display: block; font-family: var(--nk-head); font-weight: 600; font-size: clamp(16px, 1.6vw, 19px); line-height: 1.25; color: var(--k-ink); }
.nk-row__d { display: block; margin-top: 3px; font-family: var(--nk-text); font-weight: 500; font-size: clamp(14.5px, 1.4vw, 16px); line-height: 1.4; color: var(--k-ink-2); }
/* синяя черта под заголовками, как на макетах */
.nk h2.nk-h { margin-bottom: clamp(20px, 2.4vw, 28px); }
.nk h2.nk-h::after { content: ""; display: block; width: 48px; height: 4px; border-radius: 4px; background: var(--k-blue); margin-top: clamp(12px, 1.6vw, 18px); }
.nk-dark { display: flex; align-items: center; gap: 18px; padding: clamp(18px, 2.4vw, 26px) clamp(18px, 3vw, 32px); border-radius: 22px; color: #fff;
  background: linear-gradient(110deg, #15233B 0%, #1F4FBF 65%, #2A6DF4 100%); box-shadow: 0 24px 50px -30px rgba(21,35,59,.6); }
.nk-dark p, .nk-dark b { color: #fff; }
.nk-dark .nk-text { font-size: clamp(16px, 1.6vw, 19px); line-height: 1.5; font-weight: 500; color: #fff; }
.nk-dark__ico { width: 44px; height: 44px; flex: 0 0 auto; border-radius: 50%; background: rgba(255,255,255,.14); display: inline-flex; align-items: center; justify-content: center; }
.nk-dark__ico svg { width: 22px; height: 22px; }
.nk-pill { display: inline-flex; align-items: center; gap: 8px; padding: 7px 14px; border-radius: 999px; background: var(--cb); color: var(--c); font-size: 14px; font-weight: 600; }
.nk-pill::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--c); }
@media (max-width: 480px) {
  .nk-row { padding: 12px; gap: 12px; border-radius: 14px; }
  .nk-row__t { font-size: 16px; }
  .nk-row__d { font-size: 14.5px; }
  .nk-ico { width: 40px; height: 40px; border-radius: 11px; }
  .nk-dark { padding: 16px; gap: 12px; border-radius: 18px; align-items: flex-start; }
  .nk-dark .nk-text { font-size: 16px; }
  .nk-pill { padding: 6px 12px; font-size: 13px; }
}

.nk-who { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.nk-who__card { display: flex; flex-direction: column; gap: 8px; padding: clamp(16px, 2vw, 22px); background: #fff; border: 1px solid var(--k-line); border-radius: 20px;
  box-shadow: 0 16px 40px -34px rgba(21,35,59,.45); transition: transform .25s ease-out, box-shadow .25s ease-out; }
.nk-who__card:hover { transform: translateY(-3px); box-shadow: 0 20px 44px -28px rgba(42,109,244,.45); }
.nk-who__card .nk-ico { margin-bottom: 6px; }
/* разноцветные карточки «Кому я буду полезна» */
.nk-who__card.w-pink { background: linear-gradient(135deg, #FFE6EE 0%, #FFD3E0 100%); border-color: #F6AFC5; }
.nk-who__card.w-yellow { background: linear-gradient(135deg, #FFF4CC 0%, #FFE7A0 100%); border-color: #F2CF63; }
.nk-who__card.w-green { background: linear-gradient(135deg, #E2F8EC 0%, #C6F0D9 100%); border-color: #9FE0BD; }
.nk-who__card.w-purple { background: linear-gradient(135deg, #EFE8FD 0%, #E2D6FB 100%); border-color: #CDBBF5; }
.nk-who__card[class*=w-] .nk-ico { background: rgba(255,255,255,.85); }
@media (max-width: 960px) { .nk-who { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .nk-who { gap: 10px; } .nk-who__card { padding: 14px 12px; border-radius: 16px; gap: 6px; }
  .nk-who__card .nk-row__t { font-size: 15px; } .nk-who__card .nk-row__d { font-size: 13.5px; } }

.nk-und { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.nk-und__card { display: flex; gap: 16px; align-items: center; padding: 16px 18px; background: #fff; border: 1px solid var(--k-line); border-radius: 18px;
  box-shadow: 0 14px 34px -30px rgba(21,35,59,.45); }
.nk-und__card:last-child { grid-column: 1 / -1; }
.nk .nk-und .nk-text { font-weight: 500; }
@media (max-width: 760px) { .nk-und { grid-template-columns: 1fr; } .nk-und__card:last-child { grid-column: auto; } }
@media (max-width: 480px) { .nk-und { gap: 10px; } .nk-und__card { padding: 14px 12px; gap: 12px; border-radius: 16px; } .nk .nk-und .nk-text { font-size: 15.5px; } }

.nk-about { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(28px, 5vw, 64px); align-items: center; }
.nk-about__frame { position: relative; aspect-ratio: 4 / 5; max-height: 78vh; margin: 0 auto; border-radius: 28px; overflow: hidden; background: #d9e2f3;
  box-shadow: 0 30px 60px -28px rgba(20,35,90,.35), 0 12px 30px -18px rgba(20,35,90,.25);  transition: transform .6s cubic-bezier(.2,.7,.2,1); }

.nk-about__frame::before { content: ""; position: absolute; inset: 12px; border: 1px solid rgba(255,255,255,.35); border-radius: 22px; pointer-events: none; z-index: 2; }
.nk-about__frame img { width: 100%; height: 100%; object-fit: cover; object-position: center 12%; display: block; }
.nk-about__copy { display: flex; flex-direction: column; gap: 14px; align-items: flex-start; }
.nk-about__name { margin: 0 !important; }
.nk-about__role { margin: 0 !important; }
.nk-about__list { display: flex; flex-direction: column; gap: 12px; width: 100%; max-width: 560px; }
.nk-about__quote { font-family: var(--nk-head); font-weight: 500; font-size: clamp(15px, 1.4vw, 17px); line-height: 1.45; color: var(--k-ink-2); max-width: 52ch; }
@media (max-width: 860px) { .nk-about { grid-template-columns: 1fr; gap: 22px; } .nk-about__frame { aspect-ratio: 5 / 4; max-width: 520px; transform: none; }
  .nk-about__frame img { object-position: center 12%; } }
@media (max-width: 480px) { .nk-about__copy { gap: 12px; } .nk-about__list { gap: 8px; } .nk-about__quote { font-size: 14px; }
  .nk-sec-about { padding: 28px 0; } .nk-about { gap: 18px; } .nk-about__frame { aspect-ratio: 16 / 11; border-radius: 22px; } .nk-about__frame::before { inset: 8px; border-radius: 16px; } .nk-about .nk-btn { width: 100%; } }

.nk .nk-how__lead { max-width: 60ch; margin-bottom: clamp(18px, 2.2vw, 26px); }
.nk-how { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.nk-how__card { position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 12px; padding: clamp(18px, 2.2vw, 26px); background: #fff;
  border: 1px solid var(--k-line); border-radius: 20px; box-shadow: 0 16px 40px -34px rgba(21,35,59,.45); }
.nk-how__card::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 5px; }
.nk-how__card--in::before { background: linear-gradient(90deg, #7A4FD6, #2A6DF4); }
.nk-how__card--out::before { background: linear-gradient(90deg, #1E9E5A, #2A6DF4); }
.nk-how__head { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.nk-how__name { font-family: var(--nk-head); font-weight: 600; font-size: clamp(22px, 2.3vw, 28px); letter-spacing: -0.02em; color: var(--k-ink); }
.nk-how__pills { display: flex; flex-wrap: wrap; gap: 8px; }
.nk-tag--sky { background: var(--k-blue-50); }
.nk-how__syn { margin-top: 14px; gap: clamp(16px, 3vw, 32px); }
.nk-how__num { font-family: var(--nk-head); font-weight: 700; font-size: clamp(36px, 4.4vw, 56px); line-height: 1; white-space: nowrap; color: #fff;
  padding-right: clamp(16px, 3vw, 32px); border-right: 1px solid rgba(255,255,255,.3); }
.nk-how__syn-t { font-family: var(--nk-text); font-weight: 700; font-size: clamp(17px, 1.7vw, 20px); color: #fff; margin-bottom: 4px !important; }
@media (max-width: 760px) { .nk-how { grid-template-columns: 1fr; } }
@media (max-width: 480px) { .nk-how { gap: 10px; } .nk-how__card { padding: 16px 14px; gap: 10px; border-radius: 16px; } .nk-how__name { font-size: 22px; }
  .nk-how__syn { align-items: center; } .nk-how__num { font-size: 30px; padding-right: 14px; } .nk-how__syn-t { font-size: 16px; } .nk-how__syn .nk-text { font-size: 14.5px; } }

.nk-res .nk-rows { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.nk-res .nk-row:last-child { grid-column: 1 / -1; }
@media (max-width: 760px) { .nk-res .nk-rows { grid-template-columns: 1fr; gap: 10px; } .nk-res .nk-row:last-child { grid-column: auto; } }

.nk .nk-start__lead { max-width: 62ch; color: var(--k-ink-2); margin-bottom: clamp(18px, 2.4vw, 28px); }
.nk-plans { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: start; }
.nk-plan { display: flex; flex-direction: column; gap: 16px; }
.nk-plan > .nk-plan__top, .nk-plan > .nk-plan__body { background: #fff; border: 1px solid var(--k-line); border-radius: 22px; box-shadow: 0 20px 44px -36px rgba(21,35,59,.45); }
.nk-plan__top { padding: clamp(18px, 2.2vw, 26px); display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.nk-plan__name { font-family: var(--nk-head); font-weight: 600; font-size: clamp(22px, 2.3vw, 28px); line-height: 1.15; letter-spacing: -0.02em; color: var(--k-ink); margin: 0; }
.nk-plan__sum { font-family: var(--nk-text); font-weight: 700; font-size: clamp(36px, 3.8vw, 48px); line-height: 1; letter-spacing: -0.02em; color: var(--k-blue); }
.nk-plan__sum small { font-size: .55em; }
.nk-plan__meta { width: 100%; display: flex; align-items: center; flex-wrap: wrap; gap: 8px 10px; padding-top: 12px; border-top: 1px dashed var(--k-line);
  font-size: 15px; font-weight: 600; color: var(--k-ink-2); }
.nk-plan__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--k-blue); }
.nk-plan__body { padding: clamp(16px, 2vw, 22px); display: flex; flex-direction: column; gap: 12px; }
.nk-plan__head { display: flex; align-items: center; gap: 12px; font-family: var(--nk-head); font-weight: 600; font-size: clamp(20px, 2vw, 24px); color: var(--k-ink); }
.nk-plan__hico { width: 34px; height: 34px; border-radius: 9px; display: inline-flex; align-items: center; justify-content: center; background: var(--k-blue); color: #fff; }
.nk-plan__hico svg { width: 20px; height: 20px; }
.nk-plan__note { margin: 0; padding: 0 4px; background: none; border: 0; color: var(--k-ink); font-size: 13.5px; line-height: 1.45; font-weight: 400; }
.nk-plan__btn .nk-btn { width: 100%; }
.nk-plan--pink > .nk-plan__top { background: linear-gradient(135deg, #FFE6EE 0%, #FFD3E0 100%); border-color: #F6AFC5; box-shadow: 0 22px 44px -30px rgba(214,69,120,.45); }
.nk-plan--green > .nk-plan__top { background: linear-gradient(135deg, #E2F8EC 0%, #C6F0D9 100%); border-color: #9FE0BD; box-shadow: 0 22px 44px -30px rgba(30,158,90,.45); }
.nk-plan--pink .nk-plan__top .nk-tag, .nk-plan--green .nk-plan__top .nk-tag { background: rgba(255,255,255,.75); }
.nk-plan--pink .nk-plan__meta, .nk-plan--green .nk-plan__meta { border-top-color: rgba(21,35,59,.18); }
@media (max-width: 900px) { .nk-plans { grid-template-columns: 1fr; } }
@media (max-width: 480px) { .nk-plan { gap: 12px; } .nk-plan__top, .nk-plan__body { border-radius: 18px; } .nk-plan__body { padding: 12px; gap: 10px; }
  .nk-plan__sum { font-size: 38px; } .nk-plan__meta { font-size: 14px; } .nk-plan__head { font-size: 20px; } }

.nk-rev__top { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: clamp(16px, 2vw, 24px); }
.nk-rev__top h2 { margin: 0; }
.nk-arrows { display: flex; gap: 10px; flex: 0 0 auto; }
.nk-arrow { width: 48px; height: 48px; border-radius: 50%; border: 1px solid var(--k-line); background: #fff; color: var(--k-blue); font-size: 28px; line-height: 1;
  cursor: pointer; display: inline-flex; align-items: center; justify-content: center; padding: 0 0 3px; transition: background .2s, color .2s, border-color .2s; }
.nk-arrow:hover { background: var(--k-blue); color: #fff; border-color: var(--k-blue); }
.nk-track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 28px) / 3); column-gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory;
  scroll-behavior: smooth; -webkit-overflow-scrolling: touch; scrollbar-width: none; padding: 4px 2px 8px; }
.nk-track::-webkit-scrollbar { display: none; }
.nk-slide { scroll-snap-align: start; display: flex; flex-direction: column; gap: 10px; }
.nk-sec-reviews .nk-t--white { background: var(--k-bg); }
.nk-rev__head { display: flex; gap: 12px; align-items: center; }
.nk-rev__head .nk-t__title { margin: 0; }
.nk-rev__ava { width: 52px; height: 52px; border-radius: 50%; flex: 0 0 auto; object-fit: cover; background: var(--k-blue-50);
  display: inline-flex; align-items: center; justify-content: center; font-family: var(--nk-head); font-weight: 700; color: var(--k-blue-700); font-size: 20px; }
.nk-rev__kind { display: block; color: var(--k-muted); font-size: 13px; font-weight: 600; }
.nk-case { background: linear-gradient(140deg, var(--cb) 0%, var(--g) 100%); border-color: var(--cl); }
.nk-case .nk-tag { color: var(--c); }
.nk-case__t { font-family: var(--nk-head); font-size: clamp(19px, 1.9vw, 22px); margin: 4px 0 0; }
.nk-slide .nk-tag { align-self: flex-start; }
.nk-case__res { margin-top: auto !important; padding: 10px 12px; border-radius: 12px; background: #fff; font-size: 15px; line-height: 1.4; font-weight: 600; color: var(--k-ink); }
.nk-case__res b { color: var(--k-blue-700); }
.nk-dots { display: flex; justify-content: center; gap: 8px; margin-top: 14px; }
.nk-dots button { width: 8px; height: 8px; border-radius: 99px; border: 0; padding: 0; background: #C9D4EA; cursor: pointer; transition: width .25s, background .25s; }
.nk-dots button.is-on { width: 24px; background: var(--k-blue); }
@media (max-width: 960px) { .nk-track { grid-auto-columns: calc((100% - 14px) / 2); } }
@media (max-width: 640px) { .nk-track { grid-auto-columns: 86%; column-gap: 12px; } .nk-arrows { display: none; } }

.nk-faq { max-width: 880px; background: #fff; border: 1px solid var(--k-line); border-radius: 20px; padding: 4px 22px; }
.nk-faq details { border-bottom: 1px solid var(--k-line); }
.nk-faq details:last-child { border-bottom: 0; }
.nk-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 0;
  font-family: var(--nk-text); font-weight: 700; font-size: clamp(16px, 1.5vw, 18px); line-height: 1.35; color: var(--k-ink); }
.nk-faq summary::-webkit-details-marker { display: none; }
.nk-faq summary::after { content: "+"; flex: 0 0 auto; width: 30px; height: 30px; border-radius: 50%; background: var(--k-blue-50); color: var(--k-blue);
  display: inline-flex; align-items: center; justify-content: center; font-size: 20px; font-weight: 600; transition: transform .2s; }
.nk-faq details[open] summary::after { transform: rotate(45deg); }
.nk-faq details p { margin: 0 0 18px; }
@media (max-width: 480px) { .nk-faq { padding: 2px 14px; border-radius: 16px; } .nk-faq summary { padding: 14px 0; font-size: 15px; } }

.nk-final { text-align: center; display: flex; flex-direction: column; align-items: center; }
.nk-final .nk__sub { margin-left: auto; margin-right: auto; }
.nk-final__row { width: 100%; text-align: left; }
.nk-final__row .nk-rows { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.nk-final h2.nk-h::after { margin-left: auto; margin-right: auto; }
.nk-final__price { display: inline-block; padding: 0; background: none; color: var(--k-ink); font-size: 13.5px; font-weight: 400; }
.nk-footer { margin-top: clamp(36px, 5vw, 56px); padding-top: 22px; border-top: 1px solid var(--k-line);
  display: flex; flex-wrap: wrap; gap: 8px 24px; justify-content: space-between; font-size: 13px; line-height: 1.6; color: var(--k-muted); }
.nk-footer a { color: var(--k-blue-700); text-decoration: none; }
.nk-footer a:hover { text-decoration: underline; }
.nk-footer__links { display: flex; flex-wrap: wrap; gap: 6px 20px; }
@media (max-width: 760px) { .nk-final__row .nk-rows { grid-template-columns: 1fr; gap: 10px; } }
@media (max-width: 480px) { .nk-final .nk__actions { gap: 10px; } }
