/* Главная — по макету Figma «Desktop» 1920 × 7560 (scratchpad: figma/home-spec.md). Подключается только на «/».
   Десктоп (≥ 1024px) — пропорциональное масштабирование от 1920: все размеры в единицах --u = ширина окна / 1920
   (app.js уточняет --u по clientWidth, чтобы не считать полосу прокрутки). На телефоне (< 1024px) — своя
   раскладка в rem. Картинки — app/web/static/img/home (экспорт из макета). Шапка, шрифт Roboto и переменные макета — navbar.css (на всех страницах). */

@font-face { font-family: "Noto Sans"; font-style: normal; font-weight: 700; font-display: swap; src: url(/static/fonts/noto-sans-cyrillic-700-normal.woff2) format("woff2"); unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family: "Noto Sans"; font-style: normal; font-weight: 700; font-display: swap; src: url(/static/fonts/noto-sans-latin-700-normal.woff2) format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }

body.home-page { background: var(--hm-page); font-family: var(--hm-font); }
body.home-page main { overflow-x: clip; }


/* --- холст: тёмный верх, синяя панель с волной, светлый низ, декор --- */
.hm { position: relative; background: var(--hm-page); overflow: clip; }
.hm-u { position: relative; max-width: 1920px; margin: 0 auto; }
.hm-bg { position: absolute; left: 0; right: 0; pointer-events: none; }
.hm-bg img { width: 100%; height: 100%; display: block; }
.hm-bg-hero { top: 0; height: calc(2161 * var(--u)); z-index: 0; }
.hm-earth { position: absolute; left: calc(168 * var(--u)); top: calc(734 * var(--u)); width: calc(1585 * var(--u)); height: calc(1585 * var(--u)); z-index: 1; pointer-events: none; }
.hm-panel { position: absolute; left: 0; right: 0; top: calc(1295 * var(--u)); height: calc(2962 * var(--u)); z-index: 2; border: 1px solid #10264b; border-radius: calc(830 * var(--u)) 0 0 calc(5 * var(--u)); background: linear-gradient(180deg, #121934 33.97%, #121730 63.06%, #121730 95.56%); }
.hm-ellipse { top: calc(1804 * var(--u)); left: calc(-541 * var(--u)); right: calc(-541 * var(--u)); height: calc(1570 * var(--u)); z-index: 3; }
.hm-dark { position: relative; z-index: 1; }
.hm-light { position: relative; z-index: 1; margin-top: calc(256 * var(--u)); padding-top: calc(163 * var(--u)); background: var(--hm-light); }
.hm-panel2 { top: calc(2017 * var(--u)); height: calc(2220 * var(--u)); z-index: 5; background: linear-gradient(180deg, rgba(18, 25, 52, .49) 29.13%, rgba(18, 23, 48, .49) 60.44%); }
.hm-map { position: absolute; top: calc(2191 * var(--u)); left: 50%; width: calc(1589 * var(--u)); height: calc(847 * var(--u)); margin-left: calc(-792 * var(--u)); z-index: 4; pointer-events: none; }
.hm-curve1 { position: absolute; top: calc(1193.5 * var(--u)); left: calc(55.5 * var(--u)); width: calc(1809 * var(--u)); height: calc(1851 * var(--u)); z-index: 2; pointer-events: none; } /* слой 63/1197 1794×1830 + обводка 7 и тень (dy 10, blur 2) — кадр экспорта из Figma */
.hm-curve2 { position: absolute; top: calc(1293 * var(--u)); left: calc(113 * var(--u)); width: calc(1719.5 * var(--u)); height: calc(1559.5 * var(--u)); z-index: 2; pointer-events: none; } /* z 2 — поверх карточки призыва (правка от 20.10); цвет штрихов — как в экспорте дизайнера (21.10: затемнение снято) */ /* brightness: в экспорте штрихи #d4e0e8 на 60 % — на фоне #e3edf5 не читались (см. правку от 20.10), затемняем на месте; убрать filter — будет ровно как в макете */ /* под карточкой призыва, как в макете; кадр экспорта (обводка + тень), верхняя дуга совмещена со слоем 116/5541 макета */
.hm-plane { position: absolute; top: calc(2856 * var(--u)); left: calc(958 * var(--u)); width: calc(185 * var(--u)); height: calc(135 * var(--u)); z-index: 2; pointer-events: none; } /* кадр экспорта (поворот −4.34° и тень внутри), положение подобрано по макету с точностью до px */
.hm-plane img { display: block; width: 100%; height: 100%; }
.hm-c { position: relative; z-index: 6; } /* контент над фонами; декор-кривые внутри — z 2, секции — z 1 */
.hm-hero { position: relative; z-index: 1; }

/* --- hero --- */
.hm-hero { padding: calc(258.5 * var(--u)) calc(96 * var(--u)) 0; } /* заголовок на той же высоте, что «Тарифы» в каталоге (правка от 27.10; было 262.5) */
.hm-h1 { margin: 0; max-width: calc(700 * var(--u)); font-weight: 700; font-size: calc(64 * var(--u)); line-height: 1.12; letter-spacing: calc(.992 * var(--u)); color: #fff; } /* две строки, как в макете: «Интернет в поездке —» / «всего за 2 минуты» (ширина 700 — чтобы первая строка не ломалась после «Интернет»; правка от 27.10: было 662 и 1.24) */
.hm-h1 .accent { color: var(--hm-mint); }
.hm-lead { margin: calc(37 * var(--u)) 0 0; max-width: calc(660 * var(--u)); font-weight: 600; font-size: calc(24 * var(--u)); line-height: 1.65; color: #fff; }
.hm-search { position: relative; margin-top: calc(50 * var(--u)); /* правка от 23.10: 50 от подзаголовка (было 69) */ width: calc(660 * var(--u)); max-width: 100%; height: calc(75 * var(--u)); display: flex; align-items: center; gap: calc(20 * var(--u)); padding: 0 calc(24 * var(--u)); background: #fff; border: calc(4 * var(--u)) solid #273d82; border-radius: 999px; box-sizing: border-box; }
.hm-search .pin { width: calc(24 * var(--u)); height: calc(24 * var(--u)); margin: 0; flex: none; } /* правка от 21.10: поле 75, лупа 24, до текста 20, текст Regular */
.hm-search input { flex: 1 1 auto; min-width: 0; border: 0; outline: 0; background: none; padding: 0; font: 400 calc(24 * var(--u)) / 1.5 var(--hm-font); color: var(--hm-ink); }
.hm-search input::placeholder { color: rgba(104, 104, 104, .55); opacity: 1; }
.hm-search input:focus { outline: 0; box-shadow: none; border-color: transparent; } /* app.css рисует серое кольцо фокуса у всех input — здесь рамка у самого поля */
.hm-search .search-results { top: calc(100% + 8px); font-family: var(--hm-font); font-size: 1rem; }
.hm-sims { position: absolute; inset: 0; pointer-events: none; }
.hm-sim { position: absolute; display: flex; align-items: center; justify-content: center; }
.hm-sim img { display: block; } /* симки и глобус — WebP из Figma (с зерном), кадр = bbox повёрнутого слоя; график, самолёт, знак вопроса — SVG с вшитым поворотом */
.hm-sim1 { left: calc(989.5 * var(--u)); top: calc(301.6 * var(--u)); width: calc(389.7 * var(--u)); height: calc(347.8 * var(--u)); }
.hm-sim1 img { width: 100%; height: 100%; }
.hm-sim2 { left: calc(1359.9 * var(--u)); top: calc(154.7 * var(--u)); width: calc(255.5 * var(--u)); height: calc(246.3 * var(--u)); }
.hm-sim2 img { width: 100%; height: 100%; }
.hm-sim3 { left: calc(1449 * var(--u)); top: calc(426 * var(--u)); width: calc(276 * var(--u)); height: calc(329.2 * var(--u)); }
.hm-sim3 img { width: 100%; height: 100%; }

/* преимущества: 4 карточки 361/359/359/361, промежуток 77, скругление 25 */
.hm-feats-deco, .hm-cta .m-curve, .hm-cta .m-pin, .hm-cta .m-bg, .hm-steps .m-plates { display: none; } /* декор из мобильного макета (Figma MobileFrame1), включается в @media ≤ 639.98 */
.hm-feats { display: grid; grid-template-columns: calc(361 * var(--u)) calc(359 * var(--u)) calc(359 * var(--u)) calc(361 * var(--u)); column-gap: calc(77 * var(--u)); margin: calc(131 * var(--u)) 0 0 calc(29 * var(--u)); } /* 131 от низа поиска, как в макете (правка от 27.10: было 158.6 — плитки на 821 при заголовке в три строки) */
.hm-feat .lbl-br { display: none; } /* перенос «оплата без / иностранной карты» — только на телефоне */
.hm-feat { display: block; height: calc(208 * var(--u)); padding: calc(30 * var(--u)) calc(33 * var(--u)) 0; border-radius: calc(25 * var(--u)); background: linear-gradient(180deg, #202140 0%, #1b1e77 100%); color: #fff; text-decoration: none; box-sizing: border-box; }
.hm-feat .ico { display: flex; align-items: flex-start; height: calc(34 * var(--u)); } /* все иконки верхним краем на 30u от верха плитки (рубль: круг X33 Y30, R X41 Y36); число остаётся на 64u */
.hm-feat .ico img { display: block; width: auto; height: calc(37 * var(--u)); }
.hm-feat .ico-shield img { height: calc(31 * var(--u)); margin-left: calc(3 * var(--u)); } .hm-feat .ico-rub img { height: calc(31 * var(--u)); } .hm-feat .ico-net img { height: calc(35 * var(--u)); }
.hm-feat b { display: block; font-family: "Noto Sans", var(--hm-font); font-weight: 700; font-size: calc(40 * var(--u)); line-height: 1.65; }
.hm-feat .lbl { display: block; margin-top: calc(12 * var(--u)); font-family: var(--hm-arial); font-size: calc(20 * var(--u)); line-height: 1.24; color: #a8b2c7; max-width: calc(262 * var(--u)); }
.hm-feat .lbl-wide { max-width: none; }

/* --- Block2: тип eSIM --- */
.hm-types { margin-top: calc(384 * var(--u)); text-align: center; }
.hm-h2 { margin: 0; font-weight: 700; font-size: calc(48 * var(--u)); line-height: 1.65; letter-spacing: calc(-.744 * var(--u)); color: #fff; }
.hm-types .hm-sub { margin: calc(23 * var(--u)) auto 0; max-width: calc(878 * var(--u)); font-weight: 500; font-size: calc(24 * var(--u)); line-height: 1.65; color: #fff; }
/* карточки типа eSIM — по макетам Group 432 / Group 433.svg (30.10): 706 × 321 через 26 по центру, #121730, рамка 1 #252998,
   скругления 32.3 / 37.5; значок на 34/22, бейдж 209 × 34 справа (#202149, рамка #252998, Roboto Medium 20 #A8BDF1), линия #252998
   на 85, заголовок Bold 32 (база 133), текст Arial 24 / 28 #A8BDF1 (база 177), кнопка 638 × 52 на 33/239 (#C3D1DE, Bold 24 #121730,
   скругление 25). Ссылки на мониторинг в карточке на компьютере нет (как в Group 433). Координаты — от внутреннего края рамки (−1) */
.hm-type-grid { display: grid; grid-template-columns: repeat(2, calc(706 * var(--u))); column-gap: calc(26 * var(--u)); justify-content: center; margin-top: calc(72 * var(--u)); text-align: left; }
.hm-type .body { position: relative; height: calc(321 * var(--u)); padding: 0; border: 1px solid #252998; border-radius: calc(32.27 * var(--u)) / calc(37.53 * var(--u)); background: #121730; box-sizing: border-box; transition: border-color .15s, box-shadow .15s; }
/* подсветка — мятная рамка, как у выбранного тарифа (country.css, .cty-card.is-selected; правка от 30.10): мышью — при наведении,
   пальцем — пока он на карточке и пока идёт переход по кнопке или ссылке (класс is-hot ставит app.js) */
@media (hover: hover) { .hm-type:hover .body { border-color: var(--hm-mint); box-shadow: 0 0 0 calc(1 * var(--u)) var(--hm-mint), 0 18px 40px rgba(81, 216, 162, .16); } }
.hm-type.is-hot .body { border-color: var(--hm-mint); box-shadow: 0 0 0 calc(1 * var(--u)) var(--hm-mint), 0 18px 40px rgba(81, 216, 162, .16); }
.hm-type .body::before { content: ""; position: absolute; left: calc(33 * var(--u)); width: calc(638 * var(--u)); top: calc(83.5 * var(--u)); height: 1px; background: #252998; }
.hm-type .head .ico { position: absolute; left: calc(31.06 * var(--u)); top: calc(19.06 * var(--u)); width: calc(46.08 * var(--u)); height: calc(47.52 * var(--u)); background: url(/static/img/home/type-net-m.svg) 0 0 / 100% 100% no-repeat; }
.hm-type-num .head .ico { left: calc(31 * var(--u)); top: calc(17 * var(--u)); width: calc(47 * var(--u)); height: calc(50 * var(--u)); background-image: url(/static/img/home/type-num-d.svg); }
.hm-type .badge { position: absolute; left: calc(463 * var(--u)); top: calc(26 * var(--u)); display: flex; align-items: center; justify-content: center; width: calc(209 * var(--u)); height: calc(34 * var(--u)); border: 1px solid #252998; border-radius: 999px; background: #202149; font-weight: 500; font-size: calc(20 * var(--u)); line-height: 1; color: #a8bdf1; box-sizing: border-box; }
.hm-type h3 { position: absolute; left: calc(33 * var(--u)); top: calc(102.3 * var(--u)); margin: 0; font-weight: 700; font-size: calc(32 * var(--u)); line-height: calc(37.5 * var(--u)); letter-spacing: 0; color: #fff; }
.hm-type p { position: absolute; left: calc(33 * var(--u)); top: calc(153.7 * var(--u)); margin: 0; font-family: var(--hm-arial); font-size: calc(24 * var(--u)); line-height: calc(28 * var(--u)); color: #a8bdf1; }
.hm-type .hm-btn { position: absolute; left: calc(32 * var(--u)); top: calc(237 * var(--u)); width: calc(638 * var(--u)); height: calc(52 * var(--u)); padding: 0; border-radius: calc(25 * var(--u)); background: #c3d1de; color: #121730; }
.hm-type .acts .more { display: none; }
.hm-btn { display: inline-flex; align-items: center; justify-content: center; gap: calc(15 * var(--u)); height: calc(52 * var(--u)); padding: 0 calc(24 * var(--u)); border-radius: 999px; font-family: var(--hm-font); font-weight: 700; font-size: calc(24 * var(--u)); line-height: 1.5; text-decoration: none; white-space: nowrap; box-sizing: border-box; border: 0; cursor: pointer; transition: filter .15s; }
.hm-btn:hover { filter: brightness(1.08); }
.hm-btn-mint { background: var(--hm-mint); color: #061345; }
.hm-btn-navy { background: var(--hm-navy); color: #fff; }
.hm-btn-white { background: #fff; color: #273d82; border: calc(4 * var(--u)) solid #273d82; }
.hm-btn-w246 { width: calc(246 * var(--u)); }

/* --- Block3: направления --- */
.hm-dest { margin-top: calc(279 * var(--u)); text-align: center; }
.hm-dest-first { margin-top: calc(384 * var(--u)); } /* линейка номеров выключена — блока «тип eSIM» нет */
.hm-dest-grid { display: grid; grid-template-columns: repeat(4, calc(358 * var(--u))); gap: calc(24 * var(--u)); justify-content: center; margin-top: calc(48 * var(--u)); text-align: left; }
.hm-dc { position: relative; display: block; height: calc(87 * var(--u)); padding: 0; background: #fff; border: 1px solid #10264b; border-radius: calc(21 * var(--u)); color: var(--hm-ink); text-decoration: none; box-sizing: border-box; transition: box-shadow .15s, transform .15s; }
.hm-dc:hover { box-shadow: 0 10px 24px rgba(16, 38, 75, .18); transform: translateY(-1px); }
.hm-dc .flag-img, .hm-dc .flag-emoji { position: absolute; left: calc(27 * var(--u)); top: calc(27 * var(--u)); width: calc(42 * var(--u)); height: calc(32 * var(--u)); border-radius: 5px; box-shadow: 0 0 0 .5px #efefef; vertical-align: top; font-size: calc(26 * var(--u)); line-height: calc(32 * var(--u)); text-align: center; }
.hm-dc .name { position: absolute; left: calc(81 * var(--u)); right: calc(40 * var(--u)); top: calc(13 * var(--u)); font-weight: 600; font-size: calc(24 * var(--u)); line-height: 1.65; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } /* шаблон Турция.svg: baseline названия на 42, цены на 62 */
.hm-dc .from { position: absolute; left: calc(81 * var(--u)); top: calc(48 * var(--u)); font-family: "Helvetica Neue", Helvetica, var(--hm-arial); font-size: calc(14 * var(--u)); line-height: 1.12; }
.hm-dc .chev { position: absolute; right: calc(27 * var(--u)); top: calc(34 * var(--u)); width: calc(8 * var(--u)); height: calc(18.7 * var(--u)); }
.hm-dest .hm-btn-white { width: calc(736 * var(--u)); margin-top: calc(45 * var(--u)); border: 0; color: #121730; } /* без обводки и стрелки, текст #121730 (макет Buttonnn, 30.10) */

/* --- Block4: 3 шага --- */
.hm-steps { display: grid; grid-template-columns: calc(795 * var(--u)) calc(779 * var(--u)); column-gap: calc(28 * var(--u)); margin: calc(459 * var(--u)) 0 0 calc(130 * var(--u)); }
.hm-steps .col { display: flex; flex-direction: column; gap: calc(15 * var(--u)); }
.hm-sc { position: relative; color: #fff; }
.hm-sc::before { content: ""; position: absolute; inset: 0; opacity: .45; border-radius: inherit; background: #1c1e6e; z-index: 0; }
.hm-sc > * { position: relative; z-index: 1; }
.hm-sc-title { height: calc(428 * var(--u)); border-radius: calc(35 * var(--u)) calc(35 * var(--u)) calc(20 * var(--u)) calc(20 * var(--u)); }
.hm-sc-title::before { background: linear-gradient(180deg, #202149 15.36%, #1c1e6e 91.5%); }
.hm-sc-title h2 { position: absolute; z-index: 2; left: calc(84 * var(--u)); top: calc(100 * var(--u)); width: calc(480 * var(--u)); margin: 0; font-weight: 700; font-size: calc(64 * var(--u)); line-height: 1.12; letter-spacing: calc(.992 * var(--u)); color: #fff; }
.hm-sc-title h2 .accent { color: var(--hm-mint); }
.hm-sc-title .tower { position: absolute; left: calc(365 * var(--u)); bottom: 0; width: calc(412 * var(--u)); height: calc(412 * var(--u)); } /* ноги мачты ровно по нижнему краю карточки (правка от 20.10; в макете было 3u выше) */
.hm-sc-text { height: calc(334 * var(--u)); border-radius: calc(20 * var(--u)) calc(20 * var(--u)) calc(35 * var(--u)) calc(35 * var(--u)); }
.hm-sc-text p { position: absolute; left: calc(84 * var(--u)); top: calc(77 * var(--u)); width: calc(607 * var(--u)); margin: 0; font-weight: 500; font-size: calc(32 * var(--u)); line-height: 1.65; }
.hm-step { height: calc(250 * var(--u)); padding: calc(50 * var(--u)) calc(60 * var(--u)) 0 calc(136 * var(--u)); border-radius: calc(25 * var(--u)); box-sizing: border-box; }
.hm-step-1 { border-radius: calc(35 * var(--u)) calc(35 * var(--u)) calc(20 * var(--u)) calc(20 * var(--u)); }
.hm-step-1::before { background: linear-gradient(179.93deg, #202149 15.65%, #1c1e6e 161.17%); }
.hm-step-3 { border-radius: calc(20 * var(--u)) calc(20 * var(--u)) calc(35 * var(--u)) calc(35 * var(--u)); }
.hm-step .num { position: absolute; left: calc(52 * var(--u)); top: calc(50 * var(--u)); width: calc(50 * var(--u)); height: calc(50 * var(--u)); border-radius: 50%; background: var(--hm-mint); color: #061145; font-weight: 700; font-size: calc(32 * var(--u)); line-height: calc(50 * var(--u)); text-align: center; }
.hm-step h3 { margin: 0; font-weight: 500; font-size: calc(32 * var(--u)); line-height: 1.65; letter-spacing: 0; color: #fff; }
.hm-step p { margin: calc(14 * var(--u)) 0 0; font-family: var(--hm-arial); font-size: calc(24 * var(--u)); line-height: 1.24; color: #fff; }
.hm-step p .star { display: inline-block; width: calc(12.3 * var(--u)); height: calc(12 * var(--u)); vertical-align: calc(2 * var(--u)); margin: 0 calc(2 * var(--u)) 0 calc(14 * var(--u)); }
.hm-step .model { display: inline-block; margin-top: calc(9 * var(--u)); font-family: var(--hm-arial); font-size: calc(20 * var(--u)); line-height: 1.65; color: #a8b2c7; text-decoration: underline; }
.hm-step .model:hover { color: #fff; }

/* --- Block5: мониторинг и кабинет (светлая часть) --- */
.hm-proof { position: relative; height: calc(1013 * var(--u)); margin: 0 calc(96 * var(--u)); color: var(--hm-navy); }
.hm-proof > img.bg { position: absolute; left: calc(-3.5 * var(--u)); top: calc(-3.5 * var(--u)); width: calc(1735 * var(--u)); max-width: none; height: calc(1020 * var(--u)); } /* экспорт дизайнера: слой 1728 × 1013 + обводка 7 */
.hm-proof .abs { position: absolute; margin: 0; }
.hm-proof h2 { font-weight: 700; font-size: calc(48 * var(--u)); line-height: 1.12; letter-spacing: 0; color: #121731; }
.hm-proof p { font-weight: 400; font-size: calc(24 * var(--u)); line-height: 1.65; }
.hm-proof .t1 { left: calc(127 * var(--u)); top: calc(214 * var(--u)); width: calc(782 * var(--u)); }
.hm-proof .p1 { left: calc(133 * var(--u)); top: calc(300 * var(--u)); width: calc(757 * var(--u)); color: #121730; }
.hm-proof .b1 { left: calc(121 * var(--u)); top: calc(489 * var(--u)); width: calc(245.4 * var(--u)); }
.hm-proof .stata { left: calc(975 * var(--u)); top: calc(102 * var(--u)); width: calc(329.5 * var(--u)); height: calc(345 * var(--u)); display: flex; align-items: center; justify-content: center; }
.hm-proof .stata img { width: 100%; height: 100%; }
.hm-proof .t2 { left: calc(951 * var(--u)); top: calc(541 * var(--u)); width: calc(690 * var(--u)); }
.hm-proof .p2 { left: calc(959 * var(--u)); top: calc(627 * var(--u)); width: calc(694 * var(--u)); color: #000; }
.hm-proof .b2 { left: calc(956 * var(--u)); top: calc(859 * var(--u)); width: calc(246 * var(--u)); }
.hm-proof .phone { left: calc(379 * var(--u)); top: calc(489 * var(--u)); width: calc(460 * var(--u)); height: calc(524 * var(--u)); }
.hm-proof .phone img { width: 100%; height: 100%; }

/* --- Частые вопросы --- */
.hm-faq { position: relative; width: calc(1144 * var(--u)); margin: calc(183 * var(--u)) auto 0; }
.hm-faq h2 { margin: 0; font-weight: 700; font-size: calc(48 * var(--u)); line-height: 1.12; letter-spacing: 0; color: #000; }
.hm-faq .decor { position: absolute; left: calc(1089 * var(--u)); top: calc(-29 * var(--u)); width: calc(88.6 * var(--u)); height: calc(111.3 * var(--u)); display: flex; align-items: center; justify-content: center; }
.hm-faq .decor img { width: 100%; height: 100%; }
.hm-faq .hm-qs { margin-top: calc(45 * var(--u)); }
.hm-q { border-bottom: 1px solid #d1d8e8; }
.hm-q summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: calc(85 * var(--u)); padding-right: calc(2 * var(--u)); list-style: none; cursor: pointer; font-weight: 500; font-size: calc(24 * var(--u)); line-height: 1.65; color: var(--hm-navy); }
.hm-q summary::-webkit-details-marker { display: none; }
.hm-q summary::after { content: ""; flex: none; width: calc(30 * var(--u)); height: calc(30 * var(--u)); background: url(/static/img/home/plus.webp) center / contain no-repeat; background-image: -webkit-image-set(url(/static/img/home/plus.webp) 1x, url(/static/img/home/plus@2x.webp) 2x); background-image: image-set(url(/static/img/home/plus.webp) 1x, url(/static/img/home/plus@2x.webp) 2x); transition: transform .2s; }
.hm-q[open] summary::after { transform: rotate(45deg); }
.hm-q .answer { padding: 0 calc(60 * var(--u)) calc(24 * var(--u)) 0; font-size: calc(20 * var(--u)); line-height: 1.55; color: #334155; }
.hm-q .answer p { margin: 0 0 .7em; }
.hm-faq .all { display: inline-flex; align-items: center; gap: calc(8 * var(--u)); margin-top: calc(45 * var(--u)); height: calc(52 * var(--u)); font-weight: 700; font-size: calc(24 * var(--u)); line-height: 1.5; color: #121731; text-decoration: underline; }
.hm-faq .all img { width: calc(24 * var(--u)); height: calc(24 * var(--u)); }

/* --- Block6: призыв --- */
.hm-cta { position: relative; width: calc(1671 * var(--u)); height: calc(366 * var(--u)); margin: calc(183 * var(--u)) auto 0; border-radius: calc(35 * var(--u)) calc(35 * var(--u)) calc(25 * var(--u)) calc(25 * var(--u)); background: linear-gradient(180deg, #252998 0%, #202140 100%); color: #fff; text-align: center; }
.hm-cta .sim3 { position: absolute; left: calc(8 * var(--u)); top: 0; width: calc(276 * var(--u)); height: calc(329.2 * var(--u)); }
.hm-cta .sim1 { position: absolute; left: calc(1269.3 * var(--u)); top: calc(42.3 * var(--u)); width: calc(472.3 * var(--u)); height: calc(447.6 * var(--u)); display: flex; align-items: center; justify-content: center; pointer-events: none; }
.hm-cta .sim1 img { width: 100%; height: 100%; } /* отдельный экспорт слоя призыва (повёрнут и отражён в Figma) */
.hm-cta h2 { position: relative; margin: 0; padding-top: calc(71 * var(--u)); font-weight: 700; font-size: calc(48 * var(--u)); line-height: 1.12; letter-spacing: 0; color: #fff; }
.hm-cta p { position: relative; margin: calc(31 * var(--u)) 0 0; font-weight: 400; font-size: calc(24 * var(--u)); line-height: 1.65; }
.hm-cta .hm-btn { position: relative; margin-top: calc(30 * var(--u)); width: calc(411 * var(--u)); height: calc(69 * var(--u)); font-size: calc(32 * var(--u)); color: var(--hm-navy); transition: filter .15s, box-shadow .2s, transform .2s; }
.hm-cta .hm-btn:hover { box-shadow: 0 0 0 calc(1 * var(--u)) var(--hm-mint), 0 18px 40px rgba(81, 216, 162, .22); transform: translateY(calc(-2 * var(--u))); }
.hm-partner { width: calc(1671 * var(--u)); margin: 0 auto; }
.hm-partner .partner { margin-top: calc(40 * var(--u)); padding: calc(36 * var(--u)) calc(48 * var(--u)); border-radius: calc(25 * var(--u)); background: #fff; border: 1px solid #d1d8e8; color: var(--hm-navy); }
.hm-partner .eyebrow { font-size: calc(16 * var(--u)); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #4f5d7b; margin-bottom: calc(8 * var(--u)); }
.hm-partner h3 { margin: 0 0 calc(8 * var(--u)); font-weight: 700; font-size: calc(32 * var(--u)); line-height: 1.3; letter-spacing: 0; }
.hm-partner p { font-size: calc(20 * var(--u)); line-height: 1.5; color: #4f5d7b; }
.hm-partner .btn { height: calc(52 * var(--u)); padding: 0 calc(24 * var(--u)); border-radius: 999px; border: 2px solid var(--hm-navy); color: var(--hm-navy); font-weight: 700; font-size: calc(20 * var(--u)); }
.hm-tail { height: calc(154 * var(--u)); } /* до волны подвала */


/* ================= телефон и планшет (< 1024): своя раскладка ================= */
@media (max-width: 1023.98px) {
  .hm-bg-hero { height: 100%; }
  .hm-bg-hero img { height: 100%; object-fit: cover; }
  .hm-earth, .hm-ellipse, .hm-curve1, .hm-curve2, .hm-plane, .hm-map, .hm-panel2 { display: none; }
  .hm-panel { display: none; }
  .hm-dark { margin-top: 2rem; padding: 2rem 0 2.5rem; background: linear-gradient(180deg, #121934 0%, #121730 100%); border-radius: 3rem 0 0 0; }
  .hm-light { margin-top: 0; padding-top: 1.5rem; }
  .hm-hero { position: relative; padding: 1.5rem 1rem 0; }
  .hm-h1 { max-width: none; font-size: clamp(2rem, 8.5vw, 2.8rem); letter-spacing: 0; }
  .hm-lead { margin-top: 1rem; max-width: none; font-size: 1.05rem; font-weight: 500; }
  .hm-search { margin-top: 1.25rem; width: 100%; height: 3.2rem; padding: 0 1rem; gap: .8rem; border-width: 3px; }
  .hm-search .pin { width: 18px; height: 18px; margin: 0; }
  .hm-search input { font-size: 1rem; font-weight: 400; }
  .hm-sims { position: static; height: 0; }
  .hm-sim { display: none; }
  .hm-feats { grid-template-columns: repeat(2, 1fr); gap: .75rem; margin: 1.5rem 0 0; }
  .hm-feat { height: auto; padding: .9rem 1rem 1rem; border-radius: 16px; }
  .hm-feat .ico { height: 26px; }
  .hm-feat .ico img { height: 24px; } .hm-feat .ico-shield img, .hm-feat .ico-rub img, .hm-feat .ico-net img { height: 24px; }
  .hm-feat b { font-size: 1.5rem; line-height: 1.5; }
  .hm-feat .lbl { margin-top: .25rem; font-size: .85rem; max-width: none; }
  .hm-types { margin-top: 2.5rem; padding: 0 1rem; }
  .hm-h2 { font-size: clamp(1.5rem, 6vw, 2rem); line-height: 1.25; letter-spacing: 0; }
  .hm-types .hm-sub { margin-top: .75rem; max-width: none; font-size: 1rem; }
  .hm-type-grid { grid-template-columns: repeat(auto-fit, 350px); gap: 30px 26px; margin-top: 1.5rem; }
  /* карточки типа eSIM — по макетам inmain.svg / NumbMain.svg (30.10): 350 × 224, #121730, рамка 1 #252998, скругления 16 / 26.2;
     значок 32–36 на 16/11, бейдж 138 × 24 справа (Roboto 13.6 #A8BDF1 на #202149), линия #252998 на 59, заголовок Bold 24 (база 91),
     текст Arial 13.6 / 16.1 #A8BDF1, кнопка 316 × 36 (#C3D1DE, Bold 16 #121730) на 155 (у номера — на 139), ссылка Arial 12.8 #A8BDF1.
     Координаты ниже — от внутреннего края рамки (−1). Планшет — те же карточки 350 (две в ряд, если помещаются) */
  .hm-type, .hm-type:hover { padding-top: 0; border-radius: 0; background: none; box-shadow: none; transform: none; }
  .hm-type .body { position: relative; height: 224px; min-height: 0; padding: 0; border: 1px solid #252998; border-radius: 16px / 26.19px; background: #121730; }
  .hm-type .body::before { content: ""; position: absolute; left: 16px; right: 16px; width: auto; top: 57.83px; height: 1px; background: #252998; }
  .hm-type .head .ico, .hm-type:hover .head .ico { position: absolute; left: 15px; top: 10px; width: 32px; height: 33px; background: url(/static/img/home/type-net-m.svg) 0 0 / 100% 100% no-repeat; }
  .hm-type-num .head .ico, .hm-type-num:hover .head .ico { left: 14px; top: 9px; width: 36px; height: 35px; background-image: url(/static/img/home/type-num-m.svg); }
  .hm-type .badge, .hm-type:hover .badge { position: absolute; left: auto; right: 15.66px; top: 14.5px; width: 137.84px; height: 24.34px; margin: 0; padding: 0; border: 1px solid #252998; background: #202149; font-weight: 400; font-size: 13.6px; line-height: 22.34px; color: #a8bdf1; }
  .hm-type h3 { position: absolute; left: 16px; top: 67.6px; margin: 0; font-weight: 700; font-size: 24px; line-height: 28px; color: #fff; }
  .hm-type p, .hm-type-num p { position: absolute; left: 16px; top: 103.5px; margin: 0; max-width: none; font-family: var(--hm-arial); font-size: 13.6px; line-height: 16.1px; color: #a8bdf1; }
  .hm-type .acts { display: block; margin: 0; }
  .hm-type .hm-btn, .hm-type:hover .hm-btn { position: absolute; left: 16px; top: 154px; width: calc(100% - 32px); height: 36px; min-width: 0; padding: 0; border-radius: 18px; background: #c3d1de; font-size: 16px; line-height: 1.5; color: #121730; filter: none; }
  .hm-type-num .hm-btn, .hm-type-num:hover .hm-btn { top: 138px; }
  .hm-type .acts .more { display: block; position: absolute; left: 16px; top: 190.03px; font-family: var(--hm-arial); font-weight: 400; font-size: 12.8px; line-height: 14px; color: #a8bdf1; text-decoration: underline; text-decoration-thickness: .94px; text-underline-offset: 1.87px; text-decoration-skip-ink: none; } /* цвет как в веб-версии, подчёркнуто целиком — и под «р», «у» (правка от 30.10) */
  .hm-type.is-hot .body { box-shadow: 0 0 0 1px var(--hm-mint), 0 10px 24px rgba(81, 216, 162, .16); }
  @media (hover: none) { .hm-type .body { -webkit-user-select: none; user-select: none; } } /* долгое касание подсвечивает карточку, а не выделяет текст */
  @media (hover: hover) { .hm-type:hover .body { box-shadow: 0 0 0 1px var(--hm-mint), 0 10px 24px rgba(81, 216, 162, .16); } }
  .hm-btn { height: 46px; padding: 0 1.2rem; font-size: 1rem; gap: .6rem; }
  .hm-btn-w246 { width: auto; min-width: 11rem; }
  .hm-dest { margin-top: 2.5rem; padding: 0 1rem; }
  .hm-dest-grid { grid-template-columns: repeat(2, 1fr); gap: .6rem; margin-top: 1rem; }
  .hm-dc { height: 64px; padding: 10px 28px 0 60px; border-radius: 14px; }
  .hm-dc .name { position: static; line-height: 1.2; } .hm-dc .from { position: static; margin-top: 3px; }
  .hm-dc .flag-img, .hm-dc .flag-emoji { left: 14px; top: 18px; width: 36px; height: 27px; border-radius: 5px; font-size: 22px; line-height: 27px; }
  .hm-dc .name { font-size: 1rem; }
  .hm-dc .from { font-size: .78rem; }
  .hm-dc .chev { right: 12px; top: 50%; width: 7px; height: 16px; margin-top: -8px; }
  .hm-dest .hm-btn-white { width: 100%; max-width: 480px; margin-top: 1rem; }
  .hm-steps { grid-template-columns: 1fr; gap: .75rem; margin: 2.5rem 1rem 0; }
  .hm-steps .col { gap: .75rem; }
  .hm-sc-title { height: auto; padding: 1.25rem 1.25rem 1rem; border-radius: 20px 20px 14px 14px; }
  .hm-sc-title h2 { position: static; width: auto; font-size: clamp(1.7rem, 7vw, 2.4rem); letter-spacing: 0; }
  .hm-sc-title .tower { position: static; display: block; width: 140px; height: 140px; margin: .75rem 0 0 auto; }
  .hm-sc-text { height: auto; padding: 1.1rem 1.25rem; border-radius: 14px; }
  .hm-sc-text p { position: static; width: auto; font-size: 1.05rem; line-height: 1.5; }
  .hm-step { height: auto; padding: 1.1rem 1.1rem 1.2rem 4.4rem; border-radius: 14px; }
  .hm-step-1, .hm-step-3 { border-radius: 14px; }
  .hm-step .num { left: 1rem; top: 1.05rem; width: 40px; height: 40px; font-size: 1.25rem; line-height: 40px; }
  .hm-step h3 { font-size: 1.25rem; line-height: 1.4; }
  .hm-step p { margin-top: .4rem; font-size: 1rem; line-height: 1.4; }
  .hm-step p .star { width: 10px; height: 10px; margin: 0 1px 0 6px; vertical-align: 1px; }
  .hm-step .model { margin-top: .4rem; font-size: .95rem; }
  .hm-proof { height: auto; margin: 0 1rem; padding: 1.5rem 1.25rem; background: #fff; border-radius: 24px; }
  .hm-proof > img.bg { display: none; }
  .hm-proof .abs { position: static; width: auto; }
  .hm-proof h2 { font-size: clamp(1.5rem, 6vw, 2rem); line-height: 1.2; }
  .hm-proof p { margin-top: .75rem; font-size: 1rem; line-height: 1.55; }
  .hm-proof .b1, .hm-proof .b2 { margin-top: 1.1rem; width: auto; min-width: 12rem; }
  .hm-proof .stata { display: flex; width: 180px; height: 190px; margin: 0 auto 1rem; }
  .hm-proof .stata img { width: 100%; height: 100%; }
  .hm-proof .t2 { margin-top: 2.25rem; }
  .hm-proof .phone { width: 220px; height: 251px; margin: 1.25rem auto 0; }
  .hm-faq { width: auto; margin: 2.5rem 1rem 0; }
  .hm-faq h2 { font-size: clamp(1.5rem, 6vw, 2rem); }
  .hm-faq .decor { display: none; }
  .hm-faq .hm-qs { margin-top: 1rem; }
  .hm-q summary { min-height: 60px; font-size: 1rem; line-height: 1.4; padding: .6rem 0; }
  .hm-q summary::after { width: 20px; height: 20px; }
  .hm-q .answer { padding: 0 0 1rem; font-size: .95rem; }
  .hm-faq .all { margin-top: 1rem; height: auto; font-size: 1rem; }
  .hm-faq .all img { width: 20px; height: 20px; }
  .hm-cta { width: auto; height: auto; margin: 2.5rem 1rem 0; padding: 1.75rem 1.25rem 2rem; border-radius: 24px 24px 18px 18px; }
  .hm-cta .sim3, .hm-cta .sim1 { display: none; }
  .hm-cta h2 { padding-top: 0; font-size: clamp(1.5rem, 6vw, 2rem); line-height: 1.2; }
  .hm-cta p { margin-top: .75rem; font-size: 1rem; }
  .hm-cta .hm-btn { margin-top: 1.25rem; width: auto; min-width: 14rem; height: 52px; font-size: 1.1rem; }
  .hm-partner { width: auto; margin: 0 1rem; }
  .hm-partner .partner { margin-top: 1rem; padding: 1.25rem; border-radius: 18px; }
  .hm-partner .eyebrow { font-size: .75rem; }
  .hm-partner h3 { font-size: 1.2rem; }
  .hm-partner p { font-size: .95rem; }
  .hm-partner .btn { height: 44px; font-size: .95rem; }
  .hm-tail { height: 2rem; }
}
@media (max-width: 639.98px) {
  /* ===== Телефон: макет Figma «MobileFrame1» (390 × 5944, узел 3:273). Значения — px из макета; ширины тянутся. ===== */
  body.home-page, .hm { background: #121730; }
  .hm-bg-hero { display: none; }
  /* hero: заголовок 33.15/39 в две строки, подзаголовок Arial 15/17, поиск 355 × 51 */
  .hm-hero { padding: 36px 20px 0; }
  .hm-h1 { font-size: 33.15px; line-height: 39px; letter-spacing: 0; }
  .hm-h1 .accent { display: block; }
  .hm-lead { margin-top: 28px; font-family: var(--hm-font); font-weight: 400; font-size: 14px; line-height: 17px; }
  .hm-lead .s1 { display: block; max-width: 330px; } /* Roboto Regular 14; первое предложение переносится «…за считаные / минуты.», второе — с новой строки */
  .hm-search { margin: 31px 0 0 -5px; width: calc(100% + 5px); height: 48px; padding: 0 14px; gap: 13px; border-width: 3px; } /* пропорции десктопной правки 75 / 24 / 20 в масштабе поля */
  .hm-search .pin { width: 16px; height: 16px; margin: 0; }
  .hm-search input { font-size: 14px; font-weight: 400; }
  /* плитки 2 × 2 (174 × 114, промежуток 10) поверх глобуса; глобус 444 с −27/378, пунктир 545 × 433 с −63/376, самолёт 61 × 40.5 справа */
  .hm-feats-wrap { position: relative; margin: 70px -4px 0; } /* 66.6 + 3.4: поле стало ниже, плитки на месте */
  .hm-feats-deco { display: block; position: absolute; inset: -46px -16px -66px; pointer-events: none; }
  .hm-feats-deco::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 350px; background: linear-gradient(180deg, rgba(18, 23, 48, .1) 53%, #121730 100%); z-index: 1; }
  .hm-feats-deco .d-earth { position: absolute; left: -27px; top: 17px; width: 444px; height: 444px; max-width: none; z-index: 0; }
  .hm-feats-deco .d-curve { position: absolute; left: 0; top: 16px; width: 100%; height: auto; max-width: none; z-index: 2; } /* экспорт обрезан по кадру 390 × 433 (слой Vector 412 2: −63/376, 545 × 433); при другой ширине тянется пропорционально */
  .hm-feats-deco .d-plane { position: absolute; right: 2px; top: 27px; width: 61px; height: 40.5px; z-index: 3; } /* Plain 1: 327/388 */
  .hm-feats { position: relative; z-index: 2; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0; }
  .hm-feat { height: 114px; padding: 11px 16px 0; border-radius: 16px; }
  .hm-feat .ico { height: 28px; }
  .hm-feat .ico img { height: 22px; } .hm-feat .ico-shield img { height: 22px; margin: 0; } .hm-feat .ico-rub img { height: 21.8px; } .hm-feat .ico-net img { height: 20px; margin-top: 1px; }
  .hm-feat b { font-size: 20.8px; line-height: 28px; }
  .hm-feat .lbl { margin-top: 2px; font-size: 13.6px; line-height: 16px; }
  .hm-feat .lbl-br { display: inline; } /* «оплата без / иностранной карты» — две строки вместо трёх, подпись не вылезает из плитки 114 */
  /* тёмная часть начинается через 39 от плиток; заголовки 24/28 по центру */
  .hm-dark { margin-top: 39px; padding: 27px 0 82px; border-radius: 0; background: #121730; }
  .hm-types { margin-top: 0; padding: 0 16px; }
  .hm-h2 { font-size: 24px; line-height: 28px; letter-spacing: 0; }
  .hm-types .hm-sub { margin: 16px 4px 0; font-family: var(--hm-arial); font-weight: 400; font-size: 14px; line-height: 16px; }
  .hm-type-grid { grid-template-columns: minmax(0, 350px); gap: 30px; margin: 28px 4px 0; } /* карточки 350, как в макете; на узком экране — уже */
  .hm-btn { height: 40px; padding: 0 1.2rem; font-size: 16px; gap: .6rem; }
  /* направления: одна колонка 357 × 63 с промежутком 10.5, кнопка 355 × 43 */
  .hm-dest { margin-top: 41px; padding: 0 13px 0 20px; }
  .hm-dest-grid { grid-template-columns: 1fr; gap: 10.5px; margin-top: 22px; }
  .hm-dc { height: 63px; padding: 0; border-radius: 14px; }
  .hm-dc .flag-img, .hm-dc .flag-emoji { left: 14.5px; top: 18.5px; width: 38.4px; height: 28.8px; border-radius: 5px; font-size: 22px; line-height: 28.8px; }
  .hm-dc .name { position: absolute; left: 61px; top: 15px; right: 40px; font-weight: 400; font-size: 14px; line-height: 16px; }
  .hm-dc .from { position: absolute; left: 61px; top: 34px; margin: 0; font-size: 10px; line-height: 11px; }
  .hm-dc .chev { right: 13.4px; top: 50%; width: 5.6px; height: 14.4px; margin-top: -7.2px; }
  .hm-dest .hm-btn-white { width: calc(100% + 2px); max-width: none; margin: 15px 0 0 -2px; height: 43px; font-size: 16px; gap: 5px; }
  /* 3 простых шага: карточка-заголовок 249 с вышкой 231 справа, текстовая 110.7, шаги 148 / 160.6 */
  .hm-steps { position: relative; margin: 82px 16px 0; gap: 12px; }
  /* подложки всех пяти карточек — одна картинка из макета (steps-plates-m.webp, 358 × 877: 45 % #1f2154 + зерно), растянута на блок;
     карточки прозрачные, их высоты совпадают с плашками картинки (249 / 110.7 / 148 / 160.6 / 160.6, промежутки 12) */
  .hm-steps .m-plates { display: block; position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; pointer-events: none; }
  .hm-steps .col { position: relative; z-index: 1; }
  .hm-sc::before, .hm-sc-title::before { display: none; }
  .hm-steps .col { gap: 12px; }
  .hm-sc > * { position: relative; z-index: 1; } /* текст поверх полупрозрачной подложки ::before */
  .hm-sc-title { position: relative; height: 249px; padding: 36px 20px 0; overflow: hidden; border-radius: 20px 20px 14px 14px; }
  .hm-sc-title h2 { position: relative; z-index: 2; left: 0; top: 0; width: auto; max-width: 290px; font-size: 27.3px; line-height: 30.5px; letter-spacing: 0; }
  .hm-sc-title .tower { position: absolute; left: auto; right: 20px; bottom: auto; top: 18px; width: 231px; height: 231px; margin: 0; z-index: 1; }
  .hm-sc-text { height: 110.7px; padding: 18.5px 20px 0; border-radius: 14px; }
  .hm-sc-text p { position: relative; z-index: 1; left: 0; top: 0; width: auto; max-width: 309px; font-weight: 400; font-size: 15px; line-height: 25.2px; color: #fff; } /* 309 — ширина текста в макете: «…QR-код / и подключитесь» */
  .hm-step { height: auto; min-height: 160.6px; padding: 18px 20px 18px 70.4px; border-radius: 14px; }
  .hm-step-1 { min-height: 148px; }
  .hm-step .num { position: absolute; left: 20px; top: 18px; width: 40px; height: 40px; font-size: 20px; line-height: 40px; color: #061145; z-index: 1; }
  .hm-step h3, .hm-step p, .hm-step .model { position: relative; z-index: 1; }
  .hm-step h3 { font-weight: 400; font-size: 20px; line-height: 23px; }
  .hm-step p { margin-top: 11px; max-width: 237px; font-size: 16px; line-height: 18px; } /* ширины текста из макета: шаги 2–3 — 237, шаг 1 — 259 */
  .hm-step-1 p { max-width: 259px; line-height: 22.4px; }
  .hm-step-1 p br, .hm-step-3 p br { display: none; } /* на телефоне переносы по макету: «…строка EID, eSIM поддерживается.», «QR-код. Пакет интернета» (правка от 21.10) */
  .hm-step p .star { width: 10px; height: 10px; margin: 0 1px 0 6px; vertical-align: 1px; }
  .hm-step .model { margin-top: 13px; font-size: 15.2px; line-height: 17px; color: #a8b2c7; }
  /* светлая часть: карточка мониторинга 358 × 981 с графиком (174 × 182) и телефоном (216 × 246) в зоне между кнопками */
  .hm-light { margin-top: 0; padding-top: 24px; }
  .hm-proof { position: relative; height: auto; margin: 0 16px; padding: 32px 20px 32.5px; background: #fff; border-radius: 20px; }
  .hm-proof .abs { position: static; width: auto; }
  .hm-proof h2 { font-size: 24px; line-height: 28.8px; color: #121731; }
  .hm-proof p { font-size: 16px; line-height: 19px; color: #121730; }
  .hm-proof .p1, .hm-proof .p2 { margin-top: 14px; } /* 14 между заголовком и текстом (desktop-правило .abs { margin: 0 } сильнее .hm-proof p) */
  .hm-proof .p1 { max-width: 334px; margin-right: -16px; } /* текст 334 в макете (36…370) — правый отступ карточки 4 */
  .hm-proof .b1, .hm-proof .b2 { margin-top: 28px; width: 192px; min-width: 0; height: 46px; font-size: 16px; }
  .hm-proof .stata { position: absolute; right: -3px; top: 324px; width: 174px; height: 182px; margin: 0; }
  .hm-proof .phone { position: absolute; left: -11px; top: 403px; width: 216px; height: 246px; margin: 0; }
  .hm-proof .t2 { margin-top: 403.4px; }
  /* частые вопросы: строки 16/19.4, плюс 19 × 20.5, линия 1 px #d1d8e8 с отступами 10 */
  .hm-faq { width: auto; margin: 114px 20px 0; }
  .hm-faq h2 { font-size: 24px; line-height: 28px; }
  .hm-faq .hm-qs { margin-top: 26px; }
  .hm-q { margin-bottom: 9px; }
  .hm-q summary { position: relative; display: block; min-height: 0; padding: 0 62px 8px 0; font-weight: 400; font-size: 16px; line-height: 19.4px; color: #121730; }
  .hm-q:nth-child(3) summary, .hm-q:nth-child(4) summary { padding-right: max(62px, calc(100% - 258px)); } /* текст 258 (макет 260): «Когда покупать и устанавливать / — до вылета…» — при любой ширине до 320 */
  .hm-q summary::after { position: absolute; right: 0; top: calc(50% - 14.25px); width: 19.2px; height: 20.5px; } /* плюс по центру текста (без учёта нижнего отступа 10) */
  .hm-q .answer { padding: 0 0 10px; font-size: 15px; }
  .hm-faq .all { margin-top: 15.7px; height: auto; font-size: 16px; line-height: 19px; gap: 10px; }
  .hm-faq .all img { width: 13.3px; height: 11.6px; }
  /* призыв: 350 × 249 с 20, пунктир 458 × 416 поверх карточки и булавка 54 × 59 сверху справа */
  .hm-cta { position: relative; width: auto; height: 249px; margin: 98px 20px 0; padding: 24px 21.7px 0; border-radius: 34px 34px 24px 24px; background: none; overflow: visible; } /* фон — картинка .m-bg из макета (Rectangle 91 1, 714 × 508 → 350 × 249), скругления у неё ≈ 34 / 24 */
  .hm-cta .m-bg { display: block; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: inherit; z-index: 0; pointer-events: none; }
  .hm-cta h2, .hm-cta p, .hm-cta .hm-btn { z-index: 1; }
  .hm-cta h2 { padding: 0; font-size: 24px; line-height: 28.8px; }
  .hm-cta p { margin-top: 16.5px; font-size: 16px; line-height: 26.4px; }
  .hm-cta .hm-btn { margin-top: 25.5px; width: 224px; min-width: 0; height: 52px; font-size: 17.6px; }
  .hm-cta .m-curve { display: block; position: absolute; left: -20px; top: -11.2px; width: calc(100% + 40px); height: auto; max-width: none; z-index: 2; pointer-events: none; } /* экспорт обрезан по кадру: 0/4897, 390 × 416 при карточке 20/4908 */
  .hm-cta .m-pin { display: block; position: absolute; right: -17.3px; top: -42px; width: 54.3px; height: auto; z-index: 3; pointer-events: none; }
  .hm-tail { height: 85px; }
}
