/* home.css — стили главной Cashriver. Все числа из REST-узлов (figma-data/styles-15-20.txt). */

/* ===== Header (28:595 + 28:591) ===== */
.cr-header__top { display: flex; justify-content: space-between; align-items: center; padding-top: 20px; padding-bottom: 20px; }
.cr-logo img { width: 160px; height: 52px; }
.cr-header__actions { display: flex; gap: 8px; }
.cr-header__nav { border-top: 1px solid var(--c-border); border-bottom: 1px solid var(--c-border); }
.cr-header__nav-in { display: flex; justify-content: space-between; align-items: center; padding-top: 11px; padding-bottom: 11px; }
.cr-phone { display: flex; flex-direction: column; gap: 2px; }
.cr-phone__num { font-weight: 600; font-size: 14px; line-height: 19.12px; }
.cr-phone__note { font-weight: 400; font-size: 12px; line-height: 16.39px; opacity: .7; }
.cr-menu { display: flex; gap: 32px; }
.cr-menu li { font-weight: 500; font-size: 14px; line-height: 19.12px; transition: color .2s; }
.cr-menu li a:hover, .cr-menu li a:focus-visible { color: var(--c-primary); }
.cr-logo img.cr-logo__mini { display: none; width: 60px; height: 46px; } /* мини-лого 60×46; специфичность выше .cr-logo img */
.cr-header__actions--mobile { display: none; }
.cr-btn--round { width: 42px; height: 42px; padding: 12px; }
.cr-btn--round .cr-ico, .cr-header__actions--mobile .cr-ico { width: 18px; height: 18px; }
.cr-header__nav.is-open { display: block; }

/* ===== Hero (28:596, панель 1240×539 r24 #b912ca) ===== */
.cr-hero { padding-top: 30px; }
.cr-hero__panel {
  position: relative;
  background: var(--c-primary);
  border-radius: 24px;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 493px;
  gap: 40px;
  padding: 40px;
  min-height: 539px;
  /* тир 1440: панель 1240x539, узлы 28:659 (image 2) и 28:601 (promo) */
  --hero-img-x: 43.790%; --hero-img-y: 464px; --hero-img-w: 43.387%; --hero-img-rot: 0deg;
  /* бейдж — от бокса заголовка (узел promo минус узел заголовка), а не от панели:
     он часть композиции заголовка и не должен уезжать на чужой текст между тирами */
  --hero-badge-x: 454.5px; --hero-badge-y: 126.5px;
}
.cr-hero__left { display: flex; flex-direction: column; gap: 32px; max-width: 571px; }
.cr-hero__title { color: var(--c-white); font-weight: 700; font-size: 72px; line-height: 79.2px; letter-spacing: -2.16px; position: relative; z-index: 2; }
.cr-hero__sub { color: var(--c-white); font-weight: 500; font-size: 18px; line-height: 27.9px; max-width: 275px; position: relative; z-index: 2; }
.cr-promo {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 8px 12px; border-radius: 999px;
  box-shadow: inset 0 0 0 1px var(--c-white);
  color: var(--c-white); font-weight: 700; font-size: 14px; line-height: 19.12px;
  letter-spacing: 0; /* 28:604: бейдж не наследует -2.16px заголовка */
}
.cr-promo .cr-ico { width: 16px; height: 16px; }
/* Сцена hero: кошелёк + бейдж — координаты из узлов фрейма (audit/scene-hero.json:
   image 2 / promo). Центр по X — доля ширины панели, центр по Y — px от верха панели. */
.cr-hero__promo {
  position: absolute; left: var(--hero-badge-x); top: var(--hero-badge-y);
  transform: translate(-50%, -50%); margin: 0; white-space: nowrap; z-index: 2;
}
.cr-hero__btn { margin-top: auto; align-self: flex-start; position: relative; z-index: 2; }
.cr-hero__img {
  position: absolute; left: var(--hero-img-x); top: var(--hero-img-y);
  width: var(--hero-img-w); max-width: none; height: auto; aspect-ratio: 1 / 1;
  transform: translate(-50%, -50%) rotate(var(--hero-img-rot, 0deg));
  pointer-events: none; z-index: 1;
}

/* Калькулятор (28:621, 493×459 r24) */
.cr-calc {
  position: relative; z-index: 2;
  background: var(--c-white); border-radius: 24px;
  padding: 24px; display: flex; flex-direction: column; gap: 48px;
  align-self: start;
}
.cr-calc__title { font-weight: 700; font-size: 28px; line-height: 30.8px; letter-spacing: -0.84px; }
.cr-calc__fields { display: flex; flex-direction: column; gap: 16px; }
.cr-calc__field { display: flex; flex-direction: column; gap: 4px; }
.cr-calc__head { display: flex; justify-content: space-between; align-items: center; }
.cr-calc__label { font-weight: 600; font-size: 14px; line-height: 19.12px; }
.cr-calc__value { font-weight: 700; font-size: 16px; line-height: 21.86px; }
.cr-calc__limits { display: flex; justify-content: space-between; }
.cr-calc__limits span { font-weight: 500; font-size: 12px; line-height: 16.39px; opacity: .7; }
.cr-calc__disclaimer {
  margin-top: -32px;
  font-size: 10px;
  line-height: 1.45;
  color: rgba(26, 26, 31, 0.65);
  word-break: break-word;
  text-align: justify;
}
.cr-calc__disclaimer a {
  color: rgba(26, 26, 31, 0.7);
  text-decoration: underline;
  text-underline-offset: 1px;
}

/* Слайдер (28:626): track 10px r5 rgba(16,18,4,.18), fill #b912ca, ползунок 24 белый stroke 4 */
.cr-range { -webkit-appearance: none; appearance: none; width: 100%; height: 22px; background: none; margin: 0; --pct: 60%; }
.cr-range::-webkit-slider-runnable-track {
  height: 10px; border-radius: 5px;
  background: linear-gradient(to right, var(--c-primary) var(--pct), rgba(16, 18, 4, 0.18) var(--pct));
}
.cr-range::-webkit-slider-thumb {
  -webkit-appearance: none; appearance: none;
  width: 24px; height: 24px; border-radius: 50%; margin-top: -7px;
  background: var(--c-white); border: 4px solid var(--c-primary);
  box-shadow: 0 3px 8px rgba(23, 28, 8, 0.30);
  cursor: pointer;
}
.cr-range::-moz-range-track { height: 10px; border-radius: 5px; background: rgba(16, 18, 4, 0.18); }
.cr-range::-moz-range-progress { height: 10px; border-radius: 5px; background: var(--c-primary); }
.cr-range::-moz-range-thumb {
  width: 16px; height: 16px; border-radius: 50%;
  background: var(--c-white); border: 4px solid var(--c-primary);
  box-shadow: 0 3px 8px rgba(23, 28, 8, 0.30); cursor: pointer;
}
.cr-range:focus-visible { outline: 2px solid var(--c-primary); outline-offset: 2px; border-radius: 5px; }

/* Результат (28:640, r20 фиолет) */
.cr-calc__result { background: var(--c-primary); border-radius: 20px; padding: 20px; display: flex; flex-direction: column; gap: 12px; }
.cr-calc__result-row { display: flex; justify-content: space-between; align-items: center; }
.cr-calc__return { color: var(--c-white); opacity: .7; font-weight: 500; font-size: 14px; line-height: 19.12px; }
.cr-calc__total { color: var(--c-white); font-weight: 700; font-size: 24px; line-height: 32.78px; letter-spacing: -0.48px; }

/* ===== Секции: общие отступы (заголовок y≈802 при низе hero 722 → pt 80) ===== */
.cr-how, .cr-repay { padding-top: 80px; }
.cr-section-head { display: flex; flex-direction: column; gap: 20px; }

/* Как получить (28:661/693/694) */
.cr-how__meta { display: flex; align-items: center; gap: 16px; margin-top: 20px; flex-wrap: wrap; }
.cr-how__meta-label { font-weight: 500; font-size: 16px; line-height: 24px; opacity: .8; }
.cr-flow { display: flex; align-items: center; }
.cr-tag {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 4px 8px; border-radius: 12px;
  background: var(--c-primary-10); color: var(--c-primary);
  font-weight: 500; font-size: 16px; line-height: 24px;
}
.cr-tag .cr-ico { width: 16px; height: 16px; }
.cr-tag > span { opacity: .8; }
.cr-flow__arrow {
  padding: 4px 8px; border-radius: 12px; background: var(--c-dark-05);
  font-weight: 500; font-size: 16px; line-height: 24px; opacity: .8;
}
.cr-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 40px; align-items: end; }
.cr-step {
  background: var(--c-bg-light); border-radius: 28px; padding: 24px;
  display: flex; flex-direction: column; gap: 12px;
  transition: background-color .25s ease, transform .25s ease;
}
.cr-step:hover { background: #ededf0; transform: translateY(-4px); }
.cr-step__num {
  width: 40px; height: 40px; border-radius: 20px; background: var(--c-primary-10);
  display: flex; align-items: center; justify-content: center;
  color: var(--c-primary); font-family: var(--font-num); font-weight: 700; font-size: 16px; line-height: 19.36px;
}
.cr-step__head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.cr-step__title { color: var(--c-primary); font-weight: 600; font-size: 18px; line-height: 24.59px; }
.cr-step__text { font-weight: 500; font-size: 16px; line-height: 24px; }
.cr-step--gap { gap: 12px; }
.cr-step__group { display: flex; flex-direction: column; gap: 12px; }
.cr-step__row { display: contents; }
.cr-step--spread { justify-content: space-between; min-height: 220px; }

/* ===== Что нужно (28:722, фон #f8f8f9, бенто 400/505/295) ===== */
.cr-need { background: var(--c-bg-light); padding-top: 60px; padding-bottom: 60px; margin-top: 80px; }
.cr-bento { display: grid; grid-template-columns: 400px minmax(0, 1fr) 295px; gap: 20px; margin-top: 40px; }
.cr-bento__card {
  position: relative; border-radius: 12px; overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease; /* hover как у adv-карточек */
}
.cr-bento__card:hover { transform: translateY(-4px); box-shadow: 0 16px 36px rgba(23, 28, 8, 0.18); }
.cr-bento__pattern {
  position: absolute; width: 1866px; height: 1660px;
  background-color: var(--c-pattern-passport);
  -webkit-mask: url('../src/assets/icons/pattern.svg') 0 0 / 1866px 1660px no-repeat;
  mask: url('../src/assets/icons/pattern.svg') 0 0 / 1866px 1660px no-repeat;
  pointer-events: none;
}
.cr-bento__card--passport {
  background: var(--c-primary); color: var(--c-white);
  min-height: 402px; padding: 24px;
  display: flex; flex-direction: column; justify-content: space-between; gap: 24px;
}
.cr-bento__card--passport .cr-bento__pattern { left: -733px; top: -629px; }
.cr-bento__card--passport .cr-bento__icon { color: var(--c-primary); }
.cr-bento__photo {
  position: absolute; left: 50px; top: 12px;
  width: 369px; height: 372px;
  object-fit: cover;
}
.cr-bento__icon {
  position: relative; z-index: 2;
  width: 56px; height: 56px; border-radius: 18px; background: var(--c-white);
  display: flex; align-items: center; justify-content: center;
}
.cr-bento__icon .cr-ico { width: 26px; height: 26px; }
.cr-bento__text { position: relative; z-index: 2; display: flex; flex-direction: column; gap: 12px; }
.cr-bento__title { font-weight: 700; font-size: 32px; line-height: 35.2px; letter-spacing: -0.96px; }
.cr-bento__desc { font-weight: 400; font-size: 16px; line-height: 20.8px; opacity: .8; }
.cr-bento__col { display: flex; flex-direction: column; gap: 20px; }
.cr-bento__card--email {
  background: var(--c-teal); color: var(--c-white);
  min-height: 191px; padding: 24px;
  display: flex; flex-direction: column; justify-content: space-between; gap: 10px; flex: 1;
}
.cr-bento__card--email .cr-bento__icon { color: var(--c-teal); }
.cr-bento__card--phone {
  background: var(--c-white); color: var(--c-dark);
  min-height: 191px; padding: 24px;
  display: flex; flex-direction: column; justify-content: space-between; gap: 10px; flex: 1;
}
.cr-bento__card--phone .cr-bento__icon { background: var(--c-dark); color: var(--c-white); }
.cr-bento__card--card {
  background: var(--c-dark); color: var(--c-white);
  min-height: 402px; padding: 24px;
  display: flex; flex-direction: column; justify-content: space-between; gap: 48px;
}
.cr-bento__card--card .cr-bento__pattern { left: -786px; top: -629px; background-color: var(--c-pattern-dark); }
.cr-bento__card--card .cr-bento__icon { color: var(--c-dark); }
.cr-bento__img-card { position: absolute; right: -74px; bottom: 9px; width: 227px; height: auto; aspect-ratio: 227/234; z-index: 1; }

/* ===== Требования (28:876/877/888) ===== */
.cr-req { padding-top: 80px; }
.cr-req__list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 40px; }
.cr-req__item { display: flex; flex-direction: column; gap: 24px; }
.cr-req__check {
  width: 40px; height: 40px; border-radius: 20px; background: var(--c-primary-10);
  display: flex; align-items: center; justify-content: center; color: var(--c-primary);
}
.cr-req__check .cr-ico { width: 18px; height: 18px; }
.cr-req__label { color: var(--c-primary); font-weight: 600; font-size: 18px; line-height: 24.59px; }

/* ===== Почему Cashriver (28:1269, фиолет full-width 560px) ===== */
.cr-why { position: relative; background: var(--c-primary); color: var(--c-white); margin-top: 80px; overflow: hidden; }
.cr-why__pattern {
  position: absolute; left: -212px; top: -568px; width: 1866px; height: 1660px;
  background-color: var(--c-pattern-purple);
  -webkit-mask: url('../src/assets/icons/pattern.svg') 0 0 / 1866px 1660px no-repeat;
  mask: url('../src/assets/icons/pattern.svg') 0 0 / 1866px 1660px no-repeat;
  transform: rotate(-60deg);
  pointer-events: none;
}
.cr-why__in { position: relative; display: grid; grid-template-columns: 400px minmax(0, 1fr); gap: 20px; padding-top: 60px; padding-bottom: 60px; }
.cr-why__left { display: flex; flex-direction: column; height: 440px; }
.cr-why__title { font-weight: 700; font-size: 52px; line-height: 57.2px; letter-spacing: -1.56px; }
.cr-why__waves { width: 48px; height: 37px; margin-top: auto; }
.cr-why__note { font-weight: 500; font-size: 16px; line-height: 24px; max-width: 315px; margin-top: 16px; }
.cr-why__grid { display: flex; flex-direction: column; gap: 20px; position: relative; z-index: 2; }
.cr-why__row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.cr-adv {
  background: var(--c-white); color: var(--c-dark);
  box-shadow: inset 0 0 0 1px var(--c-border-card); border-radius: 28px; padding: 24px;
  display: flex; flex-direction: column; gap: 12px;
  transition: transform .25s ease, box-shadow .25s ease;
}
.cr-adv:hover { transform: translateY(-4px); box-shadow: inset 0 0 0 1px var(--c-border-card), 0 16px 36px rgba(23, 28, 8, 0.18); }
.cr-adv__icon {
  width: 56px; height: 56px; border-radius: 18px; background: var(--c-primary-10);
  display: flex; align-items: center; justify-content: center; color: var(--c-primary); flex: none;
}
.cr-adv__icon .cr-ico { width: 26px; height: 26px; }
.cr-adv__title { color: var(--c-primary); font-weight: 600; font-size: 16px; line-height: 21.86px; }
.cr-adv__text { font-weight: 500; font-size: 14px; line-height: 21px; opacity: .8; }
.cr-adv--wide { flex-direction: row; gap: 12px; }
.cr-adv--wide .cr-adv__body { display: flex; flex-direction: column; gap: 8px; }
.cr-adv--wide .cr-adv__text { opacity: .8; }
.cr-why__img { position: absolute; left: 1107px; top: 242px; width: 447px; height: 447px; z-index: 3; pointer-events: none; }

/* ===== Как погасить ===== */
.cr-repay__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; }
.cr-repay .cr-steps { align-items: stretch; }

/* ===== Документы (28:1927, фон #f8f8f9) ===== */
.cr-docs { background: var(--c-bg-light); padding-top: 60px; padding-bottom: 60px; margin-top: 80px; }
.cr-docs { position: relative; }
.cr-docs__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; flex-wrap: wrap; }
.cr-docs__all { position: absolute; top: 118px; right: 100px; }
.cr-docs__row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 40px; }
.cr-doc {
  background: var(--c-white); border-radius: 12px; padding: 24px;
  display: flex; flex-direction: column; gap: 24px;
  transition: transform .25s ease, box-shadow .25s ease;
}
.cr-doc:hover { transform: translateY(-4px); box-shadow: 0 12px 28px rgba(23, 28, 8, 0.12); }
.cr-doc__title { font-weight: 700; font-size: 24px; line-height: 26.4px; letter-spacing: -0.72px; }
.cr-doc__text { font-weight: 400; font-size: 14px; line-height: 18.2px; opacity: .8; max-width: 270px; margin-top: 12px; }
.cr-doc__link {
  display: inline-flex; align-items: center; gap: 8px; margin-top: auto;
  color: var(--c-primary); font-weight: 800; font-size: 14px; line-height: 19.12px;
}
.cr-doc__link .cr-ico { width: 16px; height: 16px; }
.cr-doc__link:hover { text-decoration: underline; }
.cr-link-ico { display: inline-flex; align-items: center; gap: 8px; }
.cr-link-ico .cr-ico { width: 18px; height: 18px; }

/* ===== Финальный CTA (29:2897 — панель как hero) ===== */
/* Сцена CTA: единый scene-wrapper, координаты всех узлов — доли панели фрейма
   (см. audit/scene-cta.json, узлы image 6 / card-1 / card-2 / btn-get-money).
   Тир 1440: панель 1240x539. */
.cr-cta { padding-top: 80px; }
.cr-cta__panel {
  position: relative; background: var(--c-primary); border-radius: 24px; overflow: hidden;
  padding: 40px; min-height: var(--cta-sc-h); color: var(--c-white);
  --cta-sc-h: 539px;
  --cta-img-x: 52.500%; --cta-img-y: 2.226%; --cta-img-w: 45.161%;
  --cta-n1-x: 72.506%; --cta-n1-y: 9.913%; --cta-n1-w: 244px;
  --cta-n2-x: 78.804%; --cta-n2-y: 87.330%; --cta-n2-w: 262px;
  --cta-btn-x: 10.081%; --cta-btn-y: 87.848%; --cta-btn-w: 13.710%;
}
.cr-cta__scene {
  position: absolute; left: 0; right: 0; bottom: 0; height: var(--cta-sc-h);
  pointer-events: none;
}
.cr-cta__pattern {
  position: absolute; left: -212px; top: -568px; width: 1866px; height: 1660px;
  background-color: var(--c-pattern-purple);
  -webkit-mask: url('../src/assets/icons/pattern.svg') 0 0 / 1866px 1660px no-repeat;
  mask: url('../src/assets/icons/pattern.svg') 0 0 / 1866px 1660px no-repeat;
  transform: rotate(-60deg); pointer-events: none;
}
.cr-cta__text { position: relative; z-index: 2; display: flex; flex-direction: column; gap: 32px; max-width: 571px; }
.cr-cta__title { font-weight: 700; font-size: 72px; line-height: 79.2px; letter-spacing: -2.16px; position: relative; }
.cr-cta__promo { position: absolute; left: 349px; top: 27px; }
.cr-cta__sub { font-weight: 700; font-size: 18px; line-height: 27.9px; max-width: 253px; }
/* кнопка — узел сцены: центр из btn-get-money своего фрейма, не от текста */
.cr-cta__btn {
  position: absolute; left: var(--cta-btn-x); top: var(--cta-btn-y); width: var(--cta-btn-w);
  transform: translate(-50%, -50%); z-index: 4; pointer-events: auto; justify-content: center;
}
.cr-cta__btn:active {
  transform: translate(-50%, -49%);
}
.cr-cta__img {
  position: absolute; left: var(--cta-img-x); top: var(--cta-img-y);
  width: var(--cta-img-w); max-width: none; height: auto; aspect-ratio: 1 / 1;
  z-index: 3; pointer-events: none;
}
.cr-notif {
  position: absolute;
  background: var(--c-white); border-radius: 20px; padding: 0 24px;
  display: flex; align-items: center; gap: 12px; /* фигма: зазор икона-текст ~11 */
  box-shadow: 0 16px 36px rgba(23, 28, 8, 0.18);
  color: var(--c-dark); height: 68px;
}
.cr-notif__icon { width: 47px; height: 47px; border-radius: 999px; display: flex; align-items: center; justify-content: center; flex: none; }
.cr-notif__icon .cr-ico { width: 23px; height: 23px; }
.cr-notif--ok {
  left: var(--cta-n1-x); top: var(--cta-n1-y); width: var(--cta-n1-w); z-index: 2;
  transform: translate(-50%, -50%) rotate(-4deg);
}
.cr-notif--ok .cr-notif__icon { background: rgba(100, 237, 137, 0.10); color: var(--c-green); }
.cr-notif--ok .cr-notif__title { color: var(--c-green); }
.cr-notif--sent {
  left: var(--cta-n2-x); top: var(--cta-n2-y); width: var(--cta-n2-w); z-index: 5;
  transform: translate(-50%, -50%) rotate(7deg);
  box-shadow: inset 0 0 0 1px var(--c-border-card), 0 16px 36px rgba(23, 28, 8, 0.18);
}
.cr-notif--sent .cr-notif__icon { width: 49px; height: 49px; background: var(--c-primary-10); color: var(--c-primary); }
.cr-notif--sent .cr-notif__icon .cr-ico { width: 25px; height: 25px; }
.cr-notif--sent .cr-notif__title { color: var(--c-primary); }
.cr-notif__title { font-weight: 600; font-size: 16px; line-height: 21.86px; white-space: nowrap; }
.cr-notif__sub { font-weight: 400; font-size: 14px; line-height: 19.12px; white-space: nowrap; }

/* ===== FAQ (29:3134…3136) ===== */
.cr-faq { padding-top: 80px; padding-bottom: 80px; }
.cr-faq__in { display: grid; grid-template-columns: 350px minmax(0, 1fr); gap: 92px; }
.cr-faq__left { display: flex; flex-direction: column; }
.cr-faq__note { margin-top: 20px; max-width: 350px; }
.cr-faq__btn { margin-top: auto; align-self: flex-start; }
.cr-faq__list { display: flex; flex-direction: column; gap: 8px; }
.cr-faq__item { background: var(--c-bg-light); border-radius: 12px; }
.cr-faq__q {
  width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 12px;
  padding: 24px; text-align: left;
}
.cr-faq__q-text { font-weight: 700; font-size: 24px; line-height: 26.4px; letter-spacing: -0.72px; }
.cr-faq__toggle {
  width: 40px; height: 40px; border-radius: 20px; background: var(--c-primary-10);
  display: flex; align-items: center; justify-content: center; color: var(--c-primary); flex: none;
  transition: background-color .2s, color .2s;
}
.cr-faq__toggle .cr-ico { width: 18px; height: 18px; }
.cr-faq__item.is-open .cr-faq__toggle { background: var(--c-dark-10); color: var(--c-dark); }
.cr-faq__item.is-open .cr-faq__toggle .cr-ico { --ico: url('../src/assets/icons/icon-x.svg'); }
.cr-faq__a { display: none; padding: 0 24px 24px; font-weight: 400; font-size: 14px; line-height: 18.2px; opacity: .8; }
.cr-faq__item.is-open .cr-faq__a { display: block; }
.cr-faq__q:focus-visible { outline: 2px solid var(--c-primary); outline-offset: -2px; border-radius: 12px; }

/* ===== Footer (29:3206) ===== */
.cr-footer { background: var(--c-bg-light); padding-top: 60px; }
.cr-footer__top { display: grid; grid-template-columns: 295px 125px 190px 20px 190px minmax(0, 1fr) 310px; }
.cr-footer__brand { grid-column: 1; }
.cr-footer__col--1 { grid-column: 3; }
.cr-footer__col--2 { grid-column: 5; }
.cr-footer__right { grid-column: 7; }
.cr-footer__brand { display: flex; flex-direction: column; gap: 32px; }
.cr-footer__contacts { display: flex; flex-direction: column; gap: 16px; }
.cr-footer__mail { color: var(--c-primary); font-weight: 600; font-size: 14px; line-height: 19.12px; }
.cr-footer__col { display: flex; flex-direction: column; gap: 24px; }
.cr-footer__col-title { font-weight: 700; font-size: 14px; line-height: 19.12px; }
.cr-footer__col ul { display: flex; flex-direction: column; gap: 16px; }
.cr-footer__col a { font-weight: 500; font-size: 14px; line-height: 19.12px; transition: color .2s; }
.cr-footer__col a:hover { color: var(--c-primary); }
.cr-footer__right { display: flex; flex-direction: column; gap: 45px; align-items: flex-end; }
.cr-footer__actions { display: flex; gap: 8px; }
.cr-footer__ids { display: flex; gap: 8px; text-align: right; }
.cr-footer__id { display: flex; flex-direction: column; gap: 8px; width: 151px; }
.cr-footer__id-label { color: var(--c-primary); font-weight: 700; font-size: 14px; line-height: 19.12px; }
.cr-footer__id-value { font-weight: 500; font-size: 15px; line-height: 20.49px; }

.cr-footer__reg { border-top: 1px solid var(--c-border); border-bottom: 1px solid var(--c-border); margin-top: 40px; }
.cr-footer__reg-in { padding-top: 20px; padding-bottom: 20px; display: flex; flex-direction: column; gap: 16px; }
.cr-footer__reg-note { font-weight: 400; font-size: 14px; line-height: 22.4px; }
.cr-footer__reg-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.cr-regcard {
  position: relative; border-radius: 12px; padding: 20px; min-height: 119px; overflow: hidden;
  background: var(--c-white);
  display: flex; flex-direction: column; justify-content: space-between; gap: 24px;
}
.cr-regcard--blue { background: var(--c-cbr-blue); color: var(--c-white); }
.cr-regcard__emblem { position: absolute; right: -44px; top: -8px; width: 135px; height: 135px; pointer-events: none; }
.cr-regcard__head { display: flex; align-items: center; gap: 8px; position: relative; z-index: 1; }
.cr-regcard__head img { width: 19px; height: 19px; }
.cr-regcard__title { font-weight: 500; font-size: 12px; line-height: 19.2px; }
.cr-regcard__bottom { display: flex; justify-content: space-between; align-items: center; position: relative; z-index: 1; }
.cr-regcard__go { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; font-size: 12px; line-height: 16.39px; color: var(--c-primary); }
.cr-regcard--blue .cr-regcard__go { color: var(--c-white); }
.cr-regcard__go .cr-ico { width: 14px; height: 14px; }
.cr-regcard__go:hover { text-decoration: underline; }
.cr-regcard__domain { font-weight: 500; font-size: 12px; line-height: 19.2px; opacity: .8; }

.cr-footer__sro { border-bottom: 1px solid var(--c-border); }
.cr-footer__sro-in { padding-top: 20px; padding-bottom: 20px; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.cr-footer__sro-col { display: flex; flex-direction: column; gap: 16px; justify-content: space-between; min-height: 200px; }
.cr-footer__sro-head { display: flex; flex-direction: column; gap: 24px; }
.cr-footer__sro-head img { height: 32px; width: auto; align-self: flex-start; }
.cr-footer__sro-text { font-weight: 400; font-size: 14px; line-height: 22.4px; }
.cr-footer__sro-meta { display: flex; flex-direction: column; gap: 4px; }
.cr-footer__sro-meta span { font-weight: 400; font-size: 12px; line-height: 19.2px; opacity: .9; }

.cr-footer__bottom { display: flex; justify-content: space-between; align-items: center; padding-top: 40px; padding-bottom: 60px; }
.cr-footer__copy { font-family: var(--font-num); font-weight: 400; font-size: 12px; line-height: 14.52px; opacity: .8; }
.cr-footer__links { display: flex; gap: 16px; }
.cr-footer__links a { font-family: var(--font-num); font-weight: 400; font-size: 12px; line-height: 14.52px; }
.cr-footer__links a:hover { color: var(--c-primary); }

/* ===================== Адаптив (тиры по макетам 38:2259/2260/2261/2262) ===================== */

/* --- ≤1240 — макет 1200: контейнер 20, hero/CTA full-bleed r24, структура как 1440 (порог 1240: при паддинге 100 футер/сетки дают hscroll 1201-1229) --- */
@media (max-width: 1240px) {
  .cr-hero > .cr-container, .cr-cta > .cr-container { padding-left: 0; padding-right: 0; }
  .cr-hero { padding-top: 20px; } /* фрейм 1200: зазор nav-панель 20 */
  .cr-hero__panel, .cr-cta__panel { border-radius: 24px; padding: 20px; }
  .cr-hero__panel { /* фрейм 1200: Frame 4 h=499, узлы 38:2330 / 38:2294 */
    min-height: 499px;
    --hero-img-x: 43.583%; --hero-img-y: 434px; --hero-img-w: 44.833%;
    --hero-badge-x: 454.5px; --hero-badge-y: 126.5px;
  }
  /* фрейм 1200: текст-колонка и кнопка от паддинга панели 20 (узлы 38:2291 x=20, 38:2328 x=20) */
  .cr-hero__btn { margin-bottom: 20px; }
  .cr-cta__text { padding-top: 10px; padding-left: 20px; }
  /* сцена CTA — тир 1200 (панель 1200x539, узлы 38:3247/38:3234/38:3250/38:3248) */
  .cr-cta__panel {
    --cta-img-x: 54.250%; --cta-img-y: 2.226%; --cta-img-w: 46.667%;
    --cta-n1-x: 74.922%; --cta-n1-y: 9.913%;
    --cta-n2-x: 81.431%; --cta-n2-y: 87.330%;
    --cta-btn-x: 8.750%; --cta-btn-y: 91.558%; --cta-btn-w: 14.167%;
  }
  .cr-docs__all { right: 20px; }
  .cr-why__img { left: auto; right: -114px; }
}


/* --- межфреймовый мост 941-1160: футер-сетка 1130px фикс-колонок даёт hscroll — 2-кол как во фрейме 940 --- */
@media (max-width: 1160px) {
  .cr-footer__top { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 20px; }
  .cr-footer__brand { grid-column: 1; grid-row: 1 / span 2; }
  .cr-footer__right { grid-column: 2; grid-row: 1; align-items: flex-end; }
  .cr-footer__col--1 { grid-column: 1; grid-row: 3; }
  .cr-footer__col--2 { grid-column: 2; grid-row: 3; }
}

/* --- межфреймовый мост 941-1000: колонки бенто 400/295px не оставляют места центру — 2x2 как во фрейме 940 --- */
@media (max-width: 1000px) {
  .cr-bento { grid-template-columns: 1fr 1fr; }
  .cr-bento__card--passport { grid-column: 1; grid-row: 1; min-height: 402px; }
  .cr-bento__card--card { grid-column: 2; grid-row: 1; min-height: 402px; }
  .cr-bento__col { grid-column: 1 / span 2; grid-row: 2; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
  .cr-bento__card--email, .cr-bento__card--phone { min-height: 200px; }
}

/* --- межфреймовый мост ≤880: repay-кнопка не влезает в строку заголовка с паддингом 32 --- */
@media (max-width: 880px) {
  .cr-repay__head { position: relative; }
  .cr-repay__head .cr-btn { position: absolute; right: 0; top: 0; padding-left: 20px; padding-right: 20px; }
}
/* 481-600: кнопке нет места рядом с заголовком (фрейм 390 без кнопки) */
@media (max-width: 600px) {
  .cr-repay__head .cr-btn { display: none; }
}


/* --- межфреймовый мост 721-880: колонке hero тесно — бейдж в поток, не поверх калькулятора --- */
@media (max-width: 880px) {
}

/* --- шапка: полная не влезает ниже ~880 --- */
@media (max-width: 880px) {
  .cr-header__actions--desktop { display: none; }
  .cr-header__actions--mobile { display: flex; gap: 8px; }
  .cr-header__nav { display: none; border-top: 0; }
  .cr-header__nav.is-open { display: block; border-bottom: 1px solid var(--c-border); }
  .cr-header__nav-in { flex-direction: column; align-items: stretch; gap: 20px; padding-top: 16px; padding-bottom: 20px; }
  /* меню гамбургера: колонка, пункты одной строкой (в макете меню не нарисовано — стиль сайта) */
  .cr-menu { flex-direction: column; gap: 0; }
  .cr-menu li { white-space: nowrap; font-size: 16px; line-height: 24px; padding: 12px 0; border-bottom: 1px solid var(--c-border); }
  .cr-menu li:last-child { border-bottom: 0; }
}

/* --- ≤940 — макет 940 --- */
@media (max-width: 940px) {
  .cr-hero__left { padding: 0; } /* фрейм 940: текст-колонка от края паддинга панели (20), без второго отступа */
  .cr-hero__panel { /* фрейм 940: панель 940x530, узлы 39:3496 / 39:3460 */
    grid-template-columns: minmax(0, 1fr) 440px; gap: 20px; min-height: 530px;
    --hero-img-x: 38.085%; --hero-img-y: 444px; --hero-img-w: 43.617%;
    --hero-badge-x: 342.5px; --hero-badge-y: 93px;
  }
  .cr-hero__title { font-size: 52px; line-height: 57.2px; letter-spacing: -1.56px; }
  .cr-steps { gap: 24px; }
  .cr-req__list { grid-template-columns: 1fr 1fr; gap: 20px; }
  /* бенто по фрейму 940 (39:3544): 2×2 — паспорт|карта 440×402, снизу email|телефон 440×200 */
  .cr-bento { grid-template-columns: 1fr 1fr; }
  .cr-bento__card--passport { grid-column: 1; grid-row: 1; min-height: 402px; }
  .cr-bento__card--card { grid-column: 2; grid-row: 1; min-height: 402px; }
  .cr-bento__col { grid-column: 1 / span 2; grid-row: 2; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
  .cr-bento__card--email, .cr-bento__card--phone { min-height: 200px; }
  .cr-req__item { flex-direction: row; align-items: center; gap: 16px; }
  .cr-why__in { grid-template-columns: 1fr; padding-bottom: 0; }
  .cr-why__left { height: auto; display: grid; grid-template-columns: minmax(0, 1fr) 325px; gap: 20px; align-items: start; }
  .cr-why__title { grid-column: 1; }
  .cr-why__waves { grid-column: 2; margin-top: 0; width: 37px; height: auto; }
  .cr-why__note { grid-column: 2; margin-top: 16px; max-width: 325px; }
  .cr-why__grid { margin-top: 40px; }
  .cr-why__img { position: relative; right: auto; left: auto; margin: -100px 0 -334px auto; width: 447px; height: 447px; } /* 39:4162: низ картинки клипается краем секции (фрейм 940 h714) */
  /* сцена CTA — тир 940 (панель 940x460, узлы 39:4409/39:4396/39:4412/39:4410) */
  .cr-cta__panel {
    min-height: 460px; padding-bottom: 40px;
    --cta-sc-h: 460px;
    --cta-img-x: 42.447%; --cta-img-y: -7.826%; --cta-img-w: 55.638%;
    --cta-n1-x: 87.114%; --cta-n1-y: 9.654%; --cta-n1-w: 172px;
    --cta-n2-x: 74.213%; --cta-n2-y: 87.124%; --cta-n2-w: 186px;
    --cta-btn-x: 11.170%; --cta-btn-y: 90.109%; --cta-btn-w: 18.085%;
  }
  .cr-cta__title { font-size: 52px; line-height: 57.2px; letter-spacing: -1.56px; max-width: 440px; }
  /* узел promo 159x24 на тирах ≤940: кегль 12, икона 14, паддинг 4/8 */
  .cr-promo { font-size: 12px; line-height: 16.39px; padding: 4px 8px; }
  .cr-promo .cr-ico { width: 14px; height: 14px; }
  .cr-cta__promo { position: static; align-self: flex-start; order: 2; }
  .cr-cta__sub { order: 3; }
  .cr-cta__text { gap: 16px; max-width: 440px; } /* фрейм 940: текст-колонка 440, часы правее */
  .cr-cta__title { max-width: 440px; }
  /* карточки нотифов на тирах ≤940 — размер узла 172x48 / 186x48 (фрейм 940/640/390) */
  .cr-notif { height: 48px; padding: 0 17px; gap: 10px; border-radius: 14px; }
  .cr-notif__icon { width: 33px; height: 33px; }
  .cr-notif__icon .cr-ico { width: 17px; height: 17px; }
  .cr-notif--sent .cr-notif__icon { width: 35px; height: 35px; }
  .cr-notif__title { font-size: 11.3px; line-height: 15px; }
  .cr-notif__sub { font-size: 9.9px; line-height: 13px; }
  .cr-faq__in { display: block; }
  .cr-faq__left { display: block; position: relative; }
  .cr-faq__btn { position: absolute; right: 0; bottom: 0; }
  .cr-faq__note { max-width: 350px; }
  .cr-faq__list { margin-top: 40px; }
  .cr-footer__top { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 20px; }
  .cr-footer__brand { grid-column: 1; grid-row: 1 / span 2; }
  .cr-footer__right { grid-column: 2; grid-row: 1; align-items: flex-end; }
  .cr-footer__col--1 { grid-column: 1; grid-row: 3; }
  .cr-footer__col--2 { grid-column: 2; grid-row: 3; }
  .cr-footer__sro-in { grid-template-columns: 1fr 1fr; }
}

/* --- межфреймовый мост 641-720: hero-грид тесен (левая колонка <160px при калькуляторе 440) — стек как во фрейме 640 --- */
@media (max-width: 720px) {
  .cr-hero { padding-top: 20px; }
  .cr-hero__panel { display: flex; flex-direction: column; grid-template-columns: none; min-height: 0; padding: 20px; }
  .cr-hero__left { order: 1; padding: 0; gap: 12px; position: relative; z-index: 2; }
  .cr-hero__title { max-width: 440px; font-size: 42px; line-height: 46.2px; letter-spacing: -1.26px; } /* фрейм 640: Frame 5 h194 */
  .cr-hero__panel { /* фрейм 640: панель 640x808, узлы 39:4675 / 39:4641 */
    --hero-img-x: 72.891%; --hero-img-y: 310.5px; --hero-img-w: 61.406%;
    --hero-badge-x: 342.5px; --hero-badge-y: 89px;
  }
  /* фрейм 640: кнопка y=238 от панели (узел 39:4676), низ текст-блока 214 → зазор 24 */
  .cr-hero__btn { order: 3; margin: 24px 0 40px; align-self: flex-start; }
  .cr-calc { order: 4; align-self: stretch; }
}

/* --- межфреймовый мост + фрейм 640: регкарты футера столбиком ≤840 (ряд режет тексты 440-820, фрейм 640 держит столбик) --- */
@media (max-width: 840px) {
  .cr-footer__reg-row { grid-template-columns: 1fr; gap: 10px; }
  .cr-regcard { min-height: 0; }
}

/* --- ≤640 — макет 640 --- */
@media (max-width: 640px) {
  .cr-hero__panel, .cr-cta__panel { border-radius: 24px; }
  .cr-how__meta { flex-wrap: wrap; }
  .cr-steps { display: flex; flex-direction: column; gap: 12px; margin-top: 30px; }
  .cr-step__row { display: flex; align-items: center; gap: 12px; }
  .cr-step--spread { min-height: 0; }
  .cr-bento { grid-template-columns: 1fr 1fr; margin-top: 30px; }
  .cr-bento__card--passport { grid-column: 1; grid-row: 1; }
  .cr-bento__card--card { grid-column: 2; grid-row: 1; }
  .cr-bento__col { grid-column: 1 / span 2; grid-row: 2; }
  .cr-bento__col { display: flex; flex-direction: column; gap: 10px; } /* фрейм 640: email/phone — полосы во всю ширину */
  .cr-bento__card--email, .cr-bento__card--phone { min-height: 104px; padding: 16px 24px; flex-direction: row-reverse; justify-content: flex-end; align-items: center; gap: 16px; }
  .cr-bento__card--phone { flex-direction: row; justify-content: flex-start; } /* без flex-start текст прижат к правому краю (наследует flex-end от email-варианта) */
  .cr-bento__title { font-size: 24px; line-height: 26.4px; letter-spacing: -0.72px; }
  .cr-bento__photo { left: auto; right: -60px; top: -30px; width: 300px; height: 302px; }
  .cr-bento__img-card { right: -60px; bottom: 20px; }
  .cr-need { padding-top: 40px; padding-bottom: 40px; margin-top: 60px; }
  .cr-how, .cr-repay, .cr-req, .cr-faq { padding-top: 60px; }
  .cr-faq { padding-bottom: 60px; }
  .cr-faq__btn { margin-top: 20px; }
  .cr-req__list { margin-top: 30px; gap: 20px; }
  .cr-why { margin-top: 60px; }
  .cr-why__in { padding-top: 20px; }
  .cr-why__left { grid-template-columns: minmax(0, 1fr) 290px; }
  .cr-why__waves { display: none; }
  .cr-why__note { margin-top: 10px; max-width: 290px; }
  .cr-why__title { font-size: 42px; line-height: 46.2px; letter-spacing: -1.26px; } /* фрейм 640: title h92 */
  .cr-why__grid, .cr-why__row { display: flex; flex-direction: column; gap: 12px; margin-top: 0; }
  .cr-why__grid { margin-top: 40px; }
  /* фреймы 640/390 (adv-1..4): иконка слева, справа колонка заголовок+текст (gap 8) */
  .cr-adv { display: grid; grid-template-columns: auto 1fr; column-gap: 12px; row-gap: 8px; align-items: center; }
  .cr-adv__icon { grid-row: 1 / span 2; }
  .cr-adv__title, .cr-adv__text { grid-column: 2; }
  .cr-adv--wide .cr-adv__body { display: contents; } /* иначе грид даёт пустой 2-й ряд + row-gap 8 */
  .cr-why__img { width: 265px; height: 265px; margin: -141px 0 -119px auto; }
  .cr-repay .cr-step { flex-direction: row; align-items: center; }
  .cr-docs { padding-top: 40px; padding-bottom: 40px; margin-top: 60px; }
  .cr-docs__row { grid-template-columns: 1fr; gap: 10px; margin-top: 30px; } /* фрейм 640/390: карточки плотнее */
  .cr-doc { gap: 16px; }
  .cr-docs__all { position: static; margin-top: 10px; }
  .cr-cta { padding-top: 60px; }
  .cr-cta__panel { padding: 20px; min-height: 522px; padding-bottom: 20px; }
  .cr-cta__text { padding: 0; max-width: 600px; }
  /* фрейм 640: заголовок CTA держит 52px/57.2 (узел 39:5588) — тир 42px был протечкой */
  /* сцена: часы+нотифы единым блоком — зазор с кнопкой не зависит от числа строк заголовка */
  .cr-faq__btn { bottom: auto; top: 71px; }
  .cr-faq__list { margin-top: 30px; }
  .cr-faq__q { padding: 16px; }
  .cr-faq__q-text { font-size: 16px; line-height: 18px; letter-spacing: -0.4px; }
  .cr-faq__a { padding: 0 16px 16px; line-height: 21px; }
  .cr-footer { padding-top: 40px; }
  .cr-footer__top { grid-template-columns: 1fr 1fr; }
  .cr-footer__brand { grid-column: 1; grid-row: 1 / span 2; }
  .cr-footer__right { grid-column: 2; grid-row: 1 / span 2; }
  .cr-footer__actions { flex-wrap: wrap; }
  .cr-footer__reg-in { padding-left: 20px; padding-right: 20px; }
  .cr-footer__sro-in { grid-template-columns: 1fr; }
  .cr-footer__bottom { padding-top: 30px; padding-bottom: 40px; }
}

/* --- межфреймовый мост 421-600: why-титул упирается в фикс-колонку заметки 290px — стек --- */
@media (max-width: 600px) {
  .cr-why__left { display: flex; flex-direction: column; gap: 20px; }
  .cr-why__note { margin-top: 0; max-width: 100%; }
}

/* --- ≤560: цепочка шагов how одной строкой — компактные теги --- */
@media (max-width: 560px) {
  .cr-how__meta { gap: 8px; }
  .cr-flow { flex-wrap: nowrap; }
  .cr-tag, .cr-flow__arrow { font-size: 12px; line-height: 18px; padding: 4px 6px; white-space: nowrap; }
  .cr-tag .cr-ico { width: 14px; height: 14px; }
}

/* --- ≤560 — шапка без «Получить деньги», мини-лого (390-макет) --- */
@media (max-width: 560px) {
  .cr-header__actions--mobile .cr-btn--primary { display: none; }
  .cr-logo__full { display: none; }
  .cr-logo__mini { display: block; }
  /* межфреймовый мост 421-560: само-поломки узкого диапазона */
  /* фрейм 390: порядок футера — лого, кнопки, телефон+mail, ОГРН/ИНН, меню */
  .cr-footer__top { display: flex; flex-direction: column; align-items: stretch; gap: 24px; }
  .cr-footer__brand, .cr-footer__right { display: contents; }
  .cr-footer__top .cr-logo { order: 1; }
  .cr-footer__actions { order: 2; width: 100%; }
  .cr-footer__actions .cr-btn { flex: 1; padding-left: 14px; padding-right: 14px; } /* фрейм 390: кнопки 181px */
  .cr-footer__contacts { order: 3; }
  .cr-footer__ids { order: 4; text-align: left; }
  .cr-footer__ids .cr-footer__id { flex: 1; }
  .cr-footer__col--1 { order: 5; }
  .cr-footer__col--2 { order: 6; }
  /* фрейм 390 Frame 26: карточки документов компактнее — gap 10, внутренний 16, кнопка через 10 */
  .cr-docs__row { gap: 10px; }
  .cr-doc { gap: 16px; }
  .cr-docs__all { margin-top: 10px; }
  .cr-footer__actions .cr-btn { flex: 1; }
  .cr-footer__ids { text-align: left; }
  .cr-footer__id-label, .cr-footer__id-value { text-align: left; }
}

/* --- межфреймовый мост ≤360: бенто-карточкам тесно с паддингом 24 --- */
@media (max-width: 360px) {
  .cr-bento__card--email, .cr-bento__card--phone { padding: 16px; }
}
@media (max-width: 340px) {
  .cr-bento__card--email, .cr-bento__card--phone { padding: 12px; }
}

/* --- ≤420 — макет 390 --- */
@media (max-width: 480px) {
  .cr-header__top { padding-top: 20px; padding-bottom: 20px; }
  .cr-docs__all { width: 100%; }
  .cr-hero__title { max-width: 355px; } /* фрейм 390: перенос «Деньги на карту / за 5 минут» */
  .cr-hero { padding-top: 10px; }
  .cr-hero__panel { border-radius: 12px; padding: 20px 10px; }
  .cr-hero__title { font-size: 42px; line-height: 46.2px; letter-spacing: -1.26px; }
  /* фрейм 390 (Frame 4 h773): текст-блок 164, кнопка через 30, калькулятор через 40 */
  .cr-hero__panel { gap: 0; }
  .cr-hero__left { gap: 12px; }
  /* фрейм 390: зазор подзаголовок→кнопка 30 (узел 39:5840 y=214 от панели), gap колонки 12 уже даёт 12 */
  .cr-hero__btn { align-self: stretch; margin: 18px 0 40px; }
  .cr-calc { padding: 24px; gap: 32px; }
  .cr-calc__title { font-size: 24px; line-height: 26.4px; letter-spacing: -0.72px; }
  .cr-calc__disclaimer { margin-top: -18px; }
  .cr-how__meta { flex-direction: column; align-items: flex-start; gap: 8px; }
  .cr-tag, .cr-flow__arrow { font-size: 12px; line-height: 18px; }
  .cr-tag .cr-ico { width: 14px; height: 14px; }
  .cr-step { flex-direction: column; }
  .cr-repay .cr-repay__head .cr-btn { display: none; }
  .cr-bento { display: flex; flex-direction: column; gap: 10px; }
  .cr-bento__col { display: flex; flex-direction: column; gap: 10px; }
  .cr-bento__card--passport { order: 1; min-height: 262px; }
  .cr-bento__card--card { order: 2; min-height: 248px; }
  .cr-bento__col { order: 3; gap: 10px; }
  .cr-bento__card--email, .cr-bento__card--phone { min-height: 104px; }
  .cr-bento__photo { right: -40px; top: -40px; width: 280px; height: 282px; }
  .cr-bento__img-card { right: -40px; bottom: -20px; }
  .cr-need .cr-title { font-size: 42px; line-height: 46.2px; letter-spacing: -1.26px; }
  .cr-req__list { grid-template-columns: 1fr; display: flex; flex-direction: column; gap: 10px; margin-top: 20px; }
  .cr-why__left { display: flex; flex-direction: column; gap: 20px; }
  .cr-why__title { font-size: 32px; line-height: 35.2px; letter-spacing: -0.96px; }
  .cr-why__note { margin-top: 0; }
  .cr-why__grid { margin-top: 30px; } /* фрейм 390: суб→карточки 30 */
  .cr-why__img { width: 244px; height: 244px; margin: -24px 0 -88px auto; }
  .cr-cta__panel { border-radius: 12px; padding: 20px 10px; min-height: 502px; }
  .cr-cta__title { font-size: 32px; line-height: 35.2px; letter-spacing: -0.96px; }
  .cr-faq__btn { position: static; margin-top: 24px; align-self: stretch; width: 100%; }
  .cr-faq__left { display: flex; flex-direction: column; }
  /* фрейм 390: порядок футера — лого, кнопки, телефон+mail, ОГРН/ИНН, меню */
  .cr-footer__top { display: flex; flex-direction: column; align-items: stretch; gap: 24px; }
  .cr-footer__brand, .cr-footer__right { display: contents; }
  .cr-footer__top .cr-logo { order: 1; }
  .cr-footer__actions { order: 2; width: 100%; }
  .cr-footer__actions .cr-btn { flex: 1; padding-left: 14px; padding-right: 14px; } /* фрейм 390: кнопки 181px */
  .cr-footer__contacts { order: 3; }
  .cr-footer__ids { order: 4; text-align: left; }
  .cr-footer__ids .cr-footer__id { flex: 1; }
  .cr-footer__col--1 { order: 5; }
  .cr-footer__col--2 { order: 6; }
  /* фрейм 390 Frame 26: карточки документов компактнее — gap 10, внутренний 16, кнопка через 10 */
  .cr-docs__row { gap: 10px; }
  .cr-doc { gap: 16px; }
  .cr-docs__all { margin-top: 10px; }
  .cr-footer__actions .cr-btn { flex: 1; }
  .cr-footer__ids { text-align: left; }
  .cr-footer__ids .cr-footer__id { flex: 1; }
  .cr-footer__id-label, .cr-footer__id-value { text-align: left; }
  .cr-footer__reg-in { padding-left: 10px; padding-right: 10px; }
  /* фрейм 390: регкарты столбиком h98, шаг 108 */
  .cr-footer__reg-row { grid-template-columns: 1fr; gap: 10px; }
  .cr-regcard { min-height: 0; }
  .cr-footer__bottom { flex-direction: column-reverse; gap: 47px; align-items: flex-start; }
  .cr-footer__links { flex-wrap: wrap; }
}

/* --- ≤340: цепочка шагов ещё компактнее (в конце файла — перекрывает ≤560) --- */
@media (max-width: 340px) {
  .cr-how__meta { gap: 6px; }
  .cr-flow { gap: 0; }
  .cr-tag, .cr-flow__arrow { font-size: 11px; line-height: 16px; padding: 3px 4px; }
  .cr-tag { gap: 3px; }
  .cr-tag .cr-ico { width: 12px; height: 12px; }
}

/* --- ≤420 (в конце файла — перекрывает мосты): бейдж hero в конце 2-й строки, полосы email/phone h104 (фрейм 390) --- */
@media (max-width: 480px) {
  .cr-bento__card--email, .cr-bento__card--phone { padding: 16px; min-height: 104px; }
  .cr-bento__card--email .cr-bento__desc, .cr-bento__card--phone .cr-bento__desc { font-size: 14px; line-height: 18.2px; }
  .cr-bento__card--email .cr-bento__text, .cr-bento__card--phone .cr-bento__text { gap: 4px; }
}

/* --- ≤360: бейдж hero в поток (в строке не умещается), нотиф CTA левее --- */
@media (max-width: 360px) {
}

/* ===== ПОЗДНИЕ ОВЕРРАЙДЫ ТИРОВ СЦЕНЫ CTA (держать в конце файла: перебивают блок ≤940) ===== */

/* --- ≤880: топология CTA меняется (сцена по центру под текстом) — композиция фрейма 640 целиком,
       сцена масштабируется как единое целое: width ≤ 640, aspect 640/522, координаты узлов в % --- */
@media (max-width: 880px) {
  .cr-cta__text, .cr-cta__title { max-width: 600px; }
  .cr-cta__panel {
    --cta-sc-h: 522px; min-height: 522px; padding-bottom: 20px;
    --cta-img-x: 29.062%; --cta-img-y: 27.586%; --cta-img-w: 76.406%;
    --cta-n1-x: 39.667%; --cta-n1-y: 52.377%; --cta-n1-w: 172px;
    --cta-n2-x: 36.584%; --cta-n2-y: 71.674%; --cta-n2-w: 186px;
    --cta-btn-x: 50%; --cta-btn-y: 90.900%; --cta-btn-w: 93.750%;
  }
  .cr-cta__scene {
    left: 50%; right: auto; transform: translateX(-50%);
    width: min(100%, 640px); height: auto; aspect-ratio: 640 / 522;
  }
}

/* --- тир 390 (панель 390x502, узлы 39:6750/39:6737/39:6753/39:6751) --- */
@media (max-width: 480px) {
  .cr-cta__panel {
    --cta-sc-h: 502px; min-height: 502px;
    --cta-img-x: 11.282%; --cta-img-y: 30.876%; --cta-img-w: 110.256%;
    --cta-n1-x: 31.505%; --cta-n1-y: 50.878%; --cta-n1-w: 172px;
    --cta-n2-x: 59.779%; --cta-n2-y: 70.944%; --cta-n2-w: 186px;
    --cta-btn-x: 50%; --cta-btn-y: 90.936%; --cta-btn-w: 94.872%;
  }
  .cr-cta__scene {
    left: 50%; right: auto; transform: translateX(-50%);
    width: min(100%, 390px); height: auto; aspect-ratio: 390 / 502;
  }
}

/* --- тир 390 сцены hero (панель 390x773, узлы 39:5802 / 39:5806) --- */
@media (max-width: 480px) {
  .cr-hero__panel {
    --hero-img-x: 86.282%; --hero-img-y: 246.5px; --hero-img-w: 67.436%; --hero-img-rot: 5.61deg;
    --hero-badge-x: 290.5px; --hero-badge-y: 74px;
  }
}

/* --- бейдж hero: где координаты фрейма упираются в чужой контент, он уходит в поток строкой ниже.
       721-900: колонка калькулятора наезжает на место бейджа (правый край бейджа 441, левый край
       калькулятора W−460 — расходятся только с 901).
       ≤389: строка уже бейджа — при абсолютной позиции он резался о край панели. --- */
@media (min-width: 721px) and (max-width: 900px) {
  .cr-hero__promo { position: static; display: inline-flex; vertical-align: middle; transform: none; }
}
/* 481-880 (стек CTA): бейдж по узлу фрейма 640 (39:5589: right 0, низ блока −16) —
   в потоке он опускал подзаголовок на 40px на нотиф сцены; bottom-привязка не зависит
   от числа строк заголовка */
@media (min-width: 481px) and (max-width: 880px) {
  .cr-cta__text { position: relative; }
  /* h1 держит position:relative для base-позиции бейджа — здесь снять, иначе
     containing block бейджа = заголовок и bottom:16 отсчитывается от его низа (наезд на текст) */
  .cr-cta__title { position: static; }
  .cr-cta__promo { position: absolute; order: 0; right: 0; left: auto; top: auto; bottom: 16px; }
}
/* 641-790: кнопке «Все документы» не хватает строки — в поток (как фрейм 640) */
@media (min-width: 641px) and (max-width: 790px) {
  .cr-docs__all { position: static; margin-top: 10px; }
}
/* 941-1090 (базовый тир, панель узкая) и 1241-1330 (контейнер уже панели 1240):
   колонка заголовка < 560, координата бейджа 454.5 упирается в калькулятор — в поток */
@media (min-width: 941px) and (max-width: 1090px) {
  .cr-hero__promo { position: static; display: inline-flex; vertical-align: middle; transform: none; }
}
@media (min-width: 1241px) and (max-width: 1330px) {
  .cr-hero__promo { position: static; display: inline-flex; vertical-align: middle; transform: none; }
}
@media (max-width: 389px) {
  .cr-hero__promo { position: static; display: inline-flex; vertical-align: middle; transform: none; }
}
/* 641-880 (репорт заказчика, iPad Mini 768): три шага в ряд не помещаются — колонкой,
   как во фрейме 640; в «Почему Cashriver» правая колонка (волны+подзаголовок) отрывается
   от заголовка — подзаголовок под заголовок, как в мобиле; низу панели вернуть воздух */
@media (min-width: 641px) and (max-width: 880px) {
  .cr-steps { display: flex; flex-direction: column; align-items: stretch; gap: 12px; } /* stretch: база держит align-items:end — в колонке это прижим вправо */
  .cr-step__row { display: flex; align-items: center; gap: 12px; }
  .cr-step--spread { min-height: 0; }
  .cr-repay .cr-step { flex-direction: row; align-items: center; }
  .cr-why__left { display: flex; flex-direction: column; gap: 20px; }
  .cr-why__waves { display: none; }
  .cr-why__note { margin-top: 0; max-width: 100%; }
  .cr-why__img { display: none; } /* как в тирах ≤640: кошелёк за нижним краем панели не показываем */
  .cr-why__in { padding-bottom: 40px; }
}
