/* Заголовочный шрифт — единственное начертание Bold */
@font-face{
  font-family:"KZ Samsung Sharp Sans";
  src:url("assets/fonts/sharpsans-bold.woff2") format("woff2");
  font-weight:700; font-style:normal; font-display:swap;
}
/* ═══════════════════ ТОКЕНЫ ═══════════════════
   Светлая тема — по умолчанию. Тёмная включается ТОЛЬКО кнопкой
   (data-theme="dark"), системная настановка её не переключает. */
:root{
  color-scheme: light;
  --logo:url(data:image/png;base64,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);
  --logo-on-dark:url(data:image/png;base64,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);
  --f-display:"KZ Samsung Sharp Sans","Montserrat",system-ui,sans-serif;
  --f-ui:"Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-tech:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;

  --ground:#F4F7FF;
  --ground-2:#E9F0FF;
  --surface:#FFFFFF;
  --surface-2:#F0F5FF;
  --veil:rgba(255,255,255,.72);
  --line:#DCE6F9;
  --line-soft:#EAF0FD;
  --ink:#060E2B;
  --ink-2:#41527E;
  --ink-3:#7887AD;

  --brand:#0A3397;
  --brand-2:#2F6BE8;
  --brand-3:#63B0FF;
  --cyan:#35D2F0;
  --hot:#FF6A3D;
  --signal:#00A57F;
  --warn:#B27400;
  --danger:#D63A3F;

  --grad:linear-gradient(118deg,#0A3397 0%,#2F6BE8 46%,#35D2F0 100%);
  --grad-r:linear-gradient(298deg,#0A3397 0%,#2F6BE8 46%,#35D2F0 100%);
  --tint:#E9F0FF;
  --tint-2:#F2F7FF;
  --tint-3:#DDEAFF;

  --sh-1:0 1px 2px rgba(6,14,43,.05), 0 2px 8px -3px rgba(6,14,43,.08);
  --sh-2:0 2px 6px rgba(6,14,43,.06), 0 14px 32px -16px rgba(10,51,151,.30);
  --sh-3:0 4px 10px rgba(6,14,43,.07), 0 34px 70px -28px rgba(10,51,151,.45);
  --sh-card:0 2px 4px rgba(6,14,43,.06), 0 22px 48px -22px rgba(10,51,151,.42), inset 0 1px 0 rgba(255,255,255,.7);

  --r-s:10px; --r-m:16px; --r-l:24px; --r-xl:32px;
  --maxw:1220px;
  --ease:cubic-bezier(.2,.7,.25,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
}
:root[data-theme="dark"]{
  color-scheme: dark;
  --logo:var(--logo-on-dark);
  --ground:#000000;
  --ground-2:#0A0A0B;
  --surface:#161618;
  --surface-2:#202024;
  --veil:rgba(22,22,24,.78);
  --line:#2C2C31;
  --line-soft:#232327;
  --ink:#F2F2F4;
  --ink-2:#A8A8B0;
  --ink-3:#74747E;

  --brand:#2F6BE8;
  --brand-2:#4C88F5;
  --brand-3:#7FAEFF;
  --cyan:#3FC9E8;
  --hot:#FF8355;
  --signal:#2BD18C;
  --warn:#FFC155;
  --danger:#FF6B70;

  --grad:linear-gradient(118deg,#1F55D6 0%,#3B7BF0 52%,#3FC9E8 100%);
  --grad-r:linear-gradient(298deg,#1F55D6 0%,#3B7BF0 52%,#3FC9E8 100%);
  --tint:#1C1C20;
  --tint-2:#151517;
  --tint-3:#232430;

  --sh-1:0 1px 2px rgba(0,0,0,.7), 0 2px 10px -4px rgba(0,0,0,.8);
  --sh-2:0 2px 6px rgba(0,0,0,.7), 0 16px 34px -18px rgba(0,0,0,.95);
  --sh-3:0 4px 12px rgba(0,0,0,.75), 0 34px 74px -30px rgba(0,0,0,1);
  --sh-card:0 2px 6px rgba(0,0,0,.7), 0 24px 52px -24px rgba(0,0,0,1), inset 0 1px 0 rgba(255,255,255,.05);
}

/* ═══════════════════ БАЗА ═══════════════════ */
*{box-sizing:border-box}
html{scroll-behavior:smooth; scroll-padding-top:66px}

/* ═══════════ ЛИСТАНИЕ ПО РАЗДЕЛАМ ═══════════
   Прокрутка «доводится» до начала раздела: один жест тачпада или
   свайп — и экран встаёт ровно на следующий блок.
   Намеренно proximity, а не mandatory: половина разделов выше экрана
   (калькулятор, вопросы, сравнение), и при mandatory их нижняя часть
   стала бы недосягаемой — браузер утаскивал бы обратно к границе.
   При proximity магнит работает у границ, а внутри длинного раздела
   прокрутка остаётся обычной. */
html{scroll-snap-type:y proximity}
/* always — жест не может перескочить через начало раздела:
   один свайп или прокрутка тачпадом уводит ровно на один блок вперёд */
.stack > .stk{scroll-snap-align:start; scroll-snap-stop:always}
@media(prefers-reduced-motion:reduce){ html{scroll-snap-type:none} }
body{
  margin:0; background:var(--ground); color:var(--ink);
  font-family:var(--f-ui); font-size:16px; font-weight:300; line-height:1.68;
  -webkit-font-smoothing:antialiased; overflow-x:hidden; overflow-wrap:break-word;
}
h1,h2,h3{margin:0; font-family:var(--f-display); font-weight:700;
  line-height:1.1; letter-spacing:-.02em; text-wrap:balance; overflow-wrap:break-word}
h1{font-size:clamp(31px,5.4vw,64px)}
h2{font-size:clamp(26px,4.1vw,46px)}
h3{font-size:clamp(18px,2.1vw,23px); letter-spacing:-.015em}
h4{margin:0; font-size:16.5px; font-family:var(--f-ui); font-weight:500;
  letter-spacing:-.005em; line-height:1.34; text-wrap:balance; overflow-wrap:break-word}
p{margin:0}
a{color:inherit; text-decoration:none}
button{font:inherit; color:inherit; border:0; background:none; cursor:pointer}
input,select,textarea{font:inherit; color:inherit}
:focus-visible{outline:2px solid var(--brand-2); outline-offset:3px; border-radius:8px}
::selection{background:var(--brand-2); color:#fff}
[id]{scroll-margin-top:22px}

.wrap{max-width:var(--maxw); margin-inline:auto; padding-inline:22px}
@media(max-width:560px){.wrap{padding-inline:16px}}
.num,.mono{font-variant-numeric:tabular-nums; font-feature-settings:"tnum" 1}
.tech{font-family:var(--f-tech); font-size:.93em; letter-spacing:-.01em}
.eyebrow{font-size:11px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--ink-3)}
.eyebrow--b{color:var(--brand-2)}
.lede{color:var(--ink-2); font-size:clamp(15px,1.5vw,17.5px); max-width:60ch}
.gt{color:var(--brand-2)}
.center{text-align:center}
.center .lede{margin-inline:auto}
.row{display:flex; gap:13px; flex-wrap:wrap; align-items:center}
/* без зазора: между секциями не должно быть полосы фона страницы */
.stack{display:flex; flex-direction:column; gap:0}
.sp{margin-left:auto}
.hr{height:1px; background:var(--line-soft); border:0; margin:0}
section{padding-block:clamp(30px,3.6vw,58px)}
.sec-tight{padding-block:clamp(34px,4vw,60px)}

/* крупная призрачная нумерация секций */
.ghost{font-family:var(--f-display); font-weight:600; font-size:clamp(66px,11vw,148px);
  line-height:.8; letter-spacing:-.06em; color:transparent;
  -webkit-text-stroke:1.4px var(--line); opacity:.85; user-select:none; pointer-events:none}

/* ═══════════════════ КНОПКИ ═══════════════════ */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:9px;
  padding:13px 24px; border-radius:999px; font-weight:700; font-size:14.5px;
  letter-spacing:-.005em; white-space:nowrap; position:relative; isolation:isolate;
  transition:transform .2s var(--ease), box-shadow .24s var(--ease), background .2s, border-color .2s, color .2s}
.btn:active{transform:translateY(1px) scale(.994)}
.btn--lg{padding:16px 30px; font-size:15.5px}
.btn--sm{padding:9px 16px; font-size:13px}
.btn--block{width:100%}
.btn--grad,.btn--primary{background:var(--brand-2); color:#fff; overflow:hidden;
  box-shadow:0 8px 22px -12px rgba(47,107,232,.9)}
.btn--grad:hover,.btn--primary:hover{background:var(--brand); transform:translateY(-1px);
  box-shadow:0 14px 30px -12px rgba(47,107,232,.95)}
.btn--ghost{border:1.5px solid var(--line); color:var(--ink); background:var(--surface)}
.btn--ghost:hover{border-color:var(--brand-2); color:var(--brand-2); transform:translateY(-1px)}
.btn--light{background:rgba(255,255,255,.12); color:#fff; border:1.5px solid rgba(255,255,255,.25);
  backdrop-filter:blur(8px)}
.btn--light:hover{background:rgba(255,255,255,.2)}
.btn--plain{color:var(--brand-2); padding:6px 2px}
.btn--plain:hover{text-decoration:underline; text-underline-offset:4px}

/* ═══════════════════ ПИЛЮЛИ ═══════════════════ */
.pill{display:inline-flex; align-items:center; gap:6px; padding:5px 11px; border-radius:999px;
  font-size:11.5px; font-weight:700; white-space:nowrap; letter-spacing:-.002em}
.pill--brand{background:var(--tint-3); color:var(--brand-2)}
.pill--muted{background:var(--surface-2); color:var(--ink-2)}
.pill--signal{background:color-mix(in srgb,var(--signal) 14%,transparent); color:var(--signal)}
.pill--value{background:color-mix(in srgb,var(--hot) 15%,transparent); color:var(--hot)}
.pill--danger{background:color-mix(in srgb,var(--danger) 14%,transparent); color:var(--danger)}
.pill--glass{background:rgba(255,255,255,.14); color:#DCE8FF; border:1px solid rgba(255,255,255,.2)}
.dot{width:6px; height:6px; border-radius:50%; background:currentColor; flex:none}
.stars{color:#F3A712; letter-spacing:2px; font-size:14px}

/* ═══════════════════ ШАПКА ═══════════════════ */
.nav{position:sticky; top:env(safe-area-inset-top,0px); z-index:70;
  /* в покое шапка ровно того же цвета, что верх первого экрана — стыка не видно */
  background:var(--sky-1); backdrop-filter:none;
  border-bottom:1px solid transparent;
  transition:background .25s, backdrop-filter .25s, border-color .25s, box-shadow .25s}
.nav--stuck{background:color-mix(in srgb,var(--sky-1) 86%,transparent);
  backdrop-filter:blur(18px) saturate(1.5);
  border-bottom-color:var(--line-soft); box-shadow:0 10px 30px -22px rgba(6,14,43,.5)}
/* На телефоне шапка не липнет: на маленьком экране она съедала заметную
   часть высоты, а появляющийся при прокрутке поиск перекрывал контент. */
@media(max-width:700px){
  .nav{position:static}
  .nav--stuck{background:var(--sky-1); backdrop-filter:none;
    border-bottom-color:transparent; box-shadow:none}
  .nav--stuck .nav__links,.nav--stuck .navsearch{display:none}
}
.nav__in{max-width:var(--maxw); margin-inline:auto; padding:13px 22px;
  display:flex; align-items:center; gap:16px; transition:padding .28s var(--ease)}
.nav--stuck .nav__in{padding-block:8px}
@media(max-width:560px){.nav__in{padding-inline:16px; gap:8px}}
.logo{display:flex; align-items:center; flex:none}
.logo__img{display:block; height:25px; width:75px;
  background:var(--logo) left center/contain no-repeat; transition:opacity .18s}
.logo:hover .logo__img{opacity:.75}
.logo--lg .logo__img{height:31px; width:93px}
.nav__mid{display:flex; align-items:center; min-width:0; flex:1}
.nav__links{display:flex; gap:2px; margin-inline-start:8px}
.nav__links a{padding:9px 13px; border-radius:10px; font-size:14px; font-weight:600;
  color:var(--ink-2); transition:color .16s, background .16s}
.nav__links a:hover{color:var(--ink); background:var(--surface-2)}
.nav__links a.on{color:var(--brand-2); background:var(--tint-3)}
/* Поиск в липкой шапке: пока страница вверху — обычное меню,
   после прокрутки меню уступает место строке «куда вы направляетесь». */
.navsearch{position:relative; display:none; align-items:center; gap:9px;
  flex:1; min-width:0; margin-inline:14px 6px;
  background:var(--surface); border:1px solid var(--line); border-radius:999px;
  padding:5px 15px; box-shadow:var(--sh-1)}
.navsearch__i{display:flex; flex:none; color:var(--ink-3)}
.navsearch input{flex:1; min-width:0; border:0; background:none; outline:none;
  padding:6px 0; font-size:14px; font-weight:600; color:var(--ink);
  text-overflow:ellipsis}
.navsearch input::placeholder{color:var(--ink-3); font-weight:500}
.navsearch:focus-within{border-color:var(--brand-2);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-2) 14%,transparent)}
/* само поле тянется во всю свободную ширину, а выпадающий список остаётся
   компактным — шесть строк на 700px выглядели бы пустыми */
.navsearch .search__res{max-width:480px}
.nav--stuck .nav__links{display:none}
.nav--stuck .navsearch{display:flex; animation:navsIn .32s var(--ease-out) both}
/* если человек уже печатает, прокрутка вверх не должна отбирать у него поле */
.nav:has(#q3:focus) .nav__links{display:none}
.nav:has(#q3:focus) .navsearch{display:flex}
@keyframes navsIn{from{opacity:0; transform:translateY(-5px)} to{opacity:1; transform:none}}
/* на узких экранах строке поиска нужно место — переключатели вернутся наверху страницы */
@media(max-width:1024px){
  .nav--stuck #selLang,.nav--stuck #selCur,.nav--stuck #themeBtn{display:none}
}
@media(max-width:700px){.nav--stuck #accBtn{display:none}}
.navbal{display:inline-flex; align-items:center; gap:7px; height:38px; padding:0 13px;
  border-radius:999px; border:1px solid var(--line); background:var(--surface);
  color:var(--ink-2); font-weight:700; font-size:13px; white-space:nowrap;
  transition:.2s var(--ease)}
.navbal:hover{border-color:var(--brand-2); color:var(--brand-2)}
.navbal svg{flex:none; opacity:.8}
@media(max-width:860px){.navbal b{display:none} .navbal{padding:0 10px}}
/* на самых узких телефонах в шапке места уже нет — баланс есть в меню */
@media(max-width:380px){.navbal{display:none}}
@media(max-width:520px){.navsearch{padding-inline:12px; gap:7px}}
@media(prefers-reduced-motion:reduce){.nav--stuck .navsearch{animation:none}}
.nav__right{margin-inline-start:auto; display:flex; align-items:center; gap:6px}
.icobtn{width:35px; height:35px; border-radius:11px; display:grid; place-items:center;
  color:var(--ink-2); transition:background .16s, color .16s}
.icobtn:hover{background:var(--surface-2); color:var(--ink)}
.burger{display:none}
@media(max-width:980px){.nav__links{display:none} .burger{display:grid}}
@media(max-width:520px){.navcta{display:none}}
@media(max-width:430px){
  .icobtn{width:30px; height:30px}
  .nav__in{gap:4px}
  .sel__btn{padding:7px 6px; gap:3px}
  /* стрелка-галочка у переключателей — на самых узких экранах лишняя */
  .sel__btn > span:not([class]){display:none}
  /* и флаг со знаком валюты в самой кнопке: в списке они остаются,
     а в шапке на 320px места уже нет — остаются только коды KGS и RU */
  .sel__btn > .flag--sel, .sel__btn > .csym{display:none}
}

.sel{position:relative}
.sel__btn{display:flex; align-items:center; gap:5px; padding:8px 10px; border-radius:11px;
  font-size:13px; font-weight:700; color:var(--ink-2)}
.sel__btn:hover{background:var(--surface-2); color:var(--ink)}
.sel__code{font-variant-numeric:tabular-nums}
/* знак валюты — нарисованный, а не из шрифта */
.csym{flex:none; width:21px; height:21px; border-radius:7px; display:grid; place-items:center;
  background:color-mix(in srgb,var(--brand-2) 13%,transparent); color:var(--brand-2)}
.csym svg{width:15px; height:15px; display:block}
.sel__menu .csym{width:26px; height:26px; border-radius:9px}
.sel__menu .csym svg{width:18px; height:18px}
.csym--t{width:auto; min-width:21px; padding:0 6px; font-size:10.5px; font-weight:700;
  letter-spacing:-.01em; line-height:1}
.sel__menu .csym--t{width:auto; min-width:26px; font-size:12px; padding:0 8px}
/* код языка теперь единственная метка — прятать нельзя */
.sel__menu{position:absolute; top:calc(100% + 8px); right:0; min-width:176px; z-index:80;
  background:var(--surface); border:1px solid var(--line); border-radius:var(--r-m);
  box-shadow:var(--sh-3); padding:6px; animation:pop .18s var(--ease-out)}
@keyframes pop{from{opacity:0; transform:translateY(-6px) scale(.97)}}
.sel__menu button{display:flex; width:100%; align-items:center; gap:10px; padding:9px 11px;
  border-radius:9px; font-size:13.5px; font-weight:600; text-align:left}
.sel__menu button:hover{background:var(--surface-2)}
.sel__menu button.on{color:var(--brand-2)}
.sel__menu .k{margin-left:auto; padding-left:12px; font-size:11px; color:var(--ink-3);
  font-variant-numeric:tabular-nums; white-space:nowrap}
.sel__menu .sel__n{white-space:nowrap}
.sel__menu{min-width:214px}

.drawer{position:fixed; inset:0; z-index:95; background:rgba(4,8,26,.55); backdrop-filter:blur(4px)}
.drawer__panel{position:absolute; inset:0 0 auto 0; background:var(--surface);
  border-radius:0 0 var(--r-xl) var(--r-xl); box-shadow:var(--sh-3);
  padding:16px 22px calc(22px + env(safe-area-inset-bottom,0px));
  padding-top:calc(16px + env(safe-area-inset-top,0px)); animation:slideDown .3s var(--ease-out)}
@keyframes slideDown{from{transform:translateY(-16px); opacity:0}}
.drawer a{display:flex; align-items:center; padding:14px 4px; font-weight:700; font-size:17.5px;
  border-bottom:1px solid var(--line-soft)}
.drawer a::after{content:"→"; margin-left:auto; color:var(--ink-3)}

/* ═══════════════════ ГЕРОЙ ═══════════════════ */
.hero{position:relative; overflow:hidden; isolation:isolate}
.aurora{position:absolute; inset:-30% -10% auto -10%; height:150%; z-index:-2; pointer-events:none}
.aurora i{position:absolute; border-radius:50%; filter:blur(70px); opacity:.5; display:block}
.aurora i:nth-child(1){width:46vw; height:46vw; left:-6%; top:-4%; background:#8FB6FF}
.aurora i:nth-child(2){width:38vw; height:38vw; right:2%; top:-12%; background:#9FE8FA}
.aurora i:nth-child(3){width:34vw; height:34vw; left:36%; top:26%; background:#C3D5FF}
:root[data-theme="dark"] .aurora i{opacity:.3}
:root[data-theme="dark"] .aurora i:nth-child(1){background:#1D45A8}
:root[data-theme="dark"] .aurora i:nth-child(2){background:#14617A}
:root[data-theme="dark"] .aurora i:nth-child(3){background:#23306E}
.grain{position:absolute; inset:0; z-index:-1; pointer-events:none; opacity:.4; mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.32'/%3E%3C/svg%3E")}
:root[data-theme="dark"] .grain{mix-blend-mode:screen; opacity:.16}

.hero__in{max-width:var(--maxw); margin-inline:auto; padding:clamp(28px,4.2vw,58px) 22px clamp(24px,3vw,44px);
  display:grid; grid-template-columns:1.12fr .88fr; gap:clamp(22px,4vw,50px); align-items:center}
.hero__in > *{min-width:0}
@media(max-width:960px){.hero__in{grid-template-columns:1fr; gap:34px}}
@media(max-width:600px){.btn{white-space:normal; text-align:center; max-width:100%}}
@media(max-width:560px){.hero__in{padding-inline:16px}}
.hero h1{font-size:clamp(27px,3.5vw,44px); line-height:1.14; letter-spacing:-.022em}
.hero__sub{margin-top:20px}
.hero__cta{display:flex; gap:11px; flex-wrap:wrap; margin-top:28px}
.hero__meta{display:flex; gap:16px; flex-wrap:wrap; align-items:center; margin-top:22px; font-size:13.5px; color:var(--ink-2)}
.hero__facts{margin-top:20px; font-size:13px; color:var(--ink-3); font-weight:600; letter-spacing:.01em}

/* поиск */
.hsearch{display:flex; align-items:center; gap:10px; margin-top:26px; max-width:520px;
  background:var(--surface); border:1px solid var(--line); border-radius:999px;
  padding:7px 7px 7px 20px; box-shadow:var(--sh-2)}
.hsearch input{flex:1; min-width:0; border:0; background:none; outline:none; padding:11px 0;
  font-size:15px; font-weight:600}
.hsearch input::placeholder{color:var(--ink-3); font-weight:500}
/* Обёртка поиска поднята над соседями: ряд преимуществ идёт ниже по
   разметке и своей анимацией создавал новый слой, из-за чего подсказки
   уезжали под него. */
.hsearch__wrap{position:relative; z-index:40}
.search__res{position:absolute; top:calc(100% + 10px); left:0; right:0; max-width:520px; z-index:30;
  background:var(--surface); border:1px solid var(--line); border-radius:var(--r-l);
  box-shadow:var(--sh-3); overflow:hidden; max-height:320px; overflow-y:auto}
.search__res button{display:flex; width:100%; align-items:center; gap:12px; padding:12px 17px;
  text-align:left; font-weight:600; font-size:14px}
.search__res button:hover{background:var(--surface-2)}
.search__res .from{margin-left:auto; font-size:12.5px; color:var(--ink-3); font-variant-numeric:tabular-nums}
.search__go-i{display:none}
@media(max-width:560px){
  .search__go-t{display:none}
  .search__go-i{display:block; font-size:18px}
  .search__go{width:42px; height:42px; padding:0; border-radius:50%; flex:none}
  .hsearch{padding-left:16px}
}

/* ═══════════════ ВЕЕР КАРТ В ГЕРОЕ ═══════════════ */
.fan{position:relative; height:clamp(330px,38vw,432px); perspective:1400px;
  display:grid; place-items:center}
.fan__c{position:absolute; width:min(310px,80%); transform-style:preserve-3d;
  transition:transform .55s var(--ease-out), box-shadow .4s var(--ease)}
.fan__c:nth-child(1){transform:translate3d(-42%,10%,-110px) rotate(-13deg) scale(.86)}
.fan__c:nth-child(2){transform:translate3d(42%,-6%,-70px) rotate(11deg) scale(.9)}
.fan__c:nth-child(3){transform:translate3d(0,0,0) rotate(-2deg)}
.fan:hover .fan__c:nth-child(1){transform:translate3d(-58%,13%,-90px) rotate(-17deg) scale(.88)}
.fan:hover .fan__c:nth-child(2){transform:translate3d(56%,-9%,-50px) rotate(15deg) scale(.92)}
.fan:hover .fan__c:nth-child(3){transform:translate3d(0,-10px,30px) rotate(0deg) scale(1.02)}
@media(max-width:560px){.fan__c{width:min(260px,88%)}}

/* ═══════════════ eSIM-КАРТА ═══════════════ */
/* ═══════════════ КАРТОЧКА ТАРИФА В КАРУСЕЛИ ═══════════════
   Светлая карточка: слева данные тарифа, справа глобус, в углу — стрелка. */
/* Пропорция 1.6:1 задаёт карточке форму, но если места по ширине мало,
   содержимое в неё перестаёт влезать и цена обрезается снизу. min-height
   не даёт карточке стать ниже, чем нужно тексту: в карусели, где карточки
   широкие, правило ни на что не влияет. */
.sc{position:relative; display:flex; align-items:stretch; overflow:hidden;
  aspect-ratio:1.6/1; min-height:242px; border-radius:28px; text-align:left;
  background:linear-gradient(160deg,var(--surface) 0%,color-mix(in srgb,var(--sky-3) 42%,var(--surface)) 100%);
  border:1px solid var(--line-soft);
  box-shadow:0 6px 20px rgba(6,14,43,.06), 0 34px 60px -34px rgba(10,51,151,.4);
  padding:22px 22px 20px}
.sc__l{position:relative; z-index:2; display:flex; flex-direction:column; min-width:0;
  flex:1; max-width:56%}
.sc__top{display:flex; align-items:center; gap:9px; min-width:0}
.sc__k{font-size:12.5px; font-weight:600; color:var(--ink-3); letter-spacing:.01em}
.sc__ctry{display:flex; align-items:center; gap:10px; margin-top:8px; min-width:0}
.sc__ctry b{font-size:20px; font-weight:700; letter-spacing:-.02em; white-space:nowrap;
  overflow:hidden; text-overflow:ellipsis}
.sc__ctry .flag{flex:none; box-shadow:0 1px 4px rgba(6,14,43,.2)}
.sc__ctry .ico{color:var(--brand-2); flex:none}
.sc__gb{display:block; margin-top:10px; font-family:var(--f-display); font-weight:600;
  font-size:clamp(34px,4.4vw,46px); letter-spacing:-.05em; line-height:1;
  font-variant-numeric:tabular-nums}
.sc__gb i{font-style:normal; font-size:.42em; letter-spacing:-.01em; margin-left:.1em; color:var(--ink-2)}
.sc__meta{display:block; margin-top:8px; font-size:13.5px; font-weight:600; color:var(--ink-3)}
/* Значок антенны вместо поколения связи: оно зависит от страны
   и конкретной сети, обещать его одинаково для всех тарифов нельзя. */
.sc__sig,.uc__sig{vertical-align:-.18em; opacity:.75}
/* знак бесконечности в строке под объёмом — метка «это безлимит» */
.sc__unl{display:inline-block; font-size:1.45em; line-height:0; vertical-align:-.12em;
  margin-right:.32em; color:var(--brand-2); font-weight:700}
.sc__price{display:block; margin-top:auto; padding-top:14px}
.sc__price b{display:block; font-family:var(--f-display); font-weight:600; font-size:25px;
  letter-spacing:-.04em; line-height:1.1; font-variant-numeric:tabular-nums; white-space:nowrap}
.sc__price i{display:block; font-style:normal; font-size:12.5px; color:var(--ink-3);
  margin-top:3px; font-variant-numeric:tabular-nums}
/* глобус: прижат к правому краю и наполовину выходит за карточку */
.sc__globe{position:absolute; z-index:1; right:-8%; top:50%; transform:translateY(-50%);
  width:50%; height:auto; pointer-events:none}
.sc__go{position:absolute; z-index:3; right:20px; bottom:20px; width:44px; height:44px;
  border-radius:50%; background:var(--surface); color:var(--brand-2);
  display:grid; place-items:center; box-shadow:0 4px 14px rgba(6,14,43,.16)}
.sc__hit{flex:none; display:inline-flex; align-items:center;
  gap:5px; padding:4px 11px; border-radius:999px; background:var(--brand-2); color:#fff;
  font-size:11px; font-weight:700; letter-spacing:.01em}
/* «Часто покупают» длиннее прежнего «Хит»: на узкой карточке плашка
   вместе со словом eSIM переставала помещаться в строку. */
@media(max-width:440px){
  /* на узкой карточке плашка уезжает в верхний правый угол — в строку
     со словом eSIM она уже не помещается */
  .sc__l{position:static}            /* иначе плашка считает отступы от него */
  .sc__hit{position:absolute; z-index:4; top:14px; right:14px;
    padding:3px 9px; font-size:10px; gap:4px; letter-spacing:0}
  .sc__hit .ico{width:10px; height:10px}
}
.sc--best{border-color:var(--brand-2); box-shadow:0 0 0 1px var(--brand-2),
  0 6px 20px rgba(6,14,43,.06), 0 34px 60px -34px rgba(10,51,151,.45)}
:root[data-theme="dark"] .sc{
  background:linear-gradient(160deg,var(--surface) 0%,color-mix(in srgb,var(--brand-2) 15%,var(--surface)) 100%)}
:root[data-theme="dark"] .sc__globe{opacity:.85}
@media(max-width:560px){
  .sc{padding:18px 18px 16px; border-radius:24px; aspect-ratio:1.24/1}
  .sc__ctry b{font-size:17px}
  .sc__price b{font-size:21px}
  .sc__go{width:38px; height:38px; right:16px; bottom:16px}
  .sc__l{max-width:58%}
}

/* фон «растущий доход» на странице партнёрам */
.mgraph{position:absolute; z-index:0; pointer-events:none; color:var(--brand-2);
  right:4%; bottom:8%; width:min(38%,420px); opacity:.5}
.mgraph svg{display:block; width:100%; height:auto}
.mg__b{fill:currentColor; opacity:calc(.3 + var(--k) * .7)}
.mg__l{fill:none; stroke:currentColor; stroke-width:4; stroke-linecap:round; stroke-linejoin:round}
.mg__d{fill:currentColor}
.mg__ar{stroke:currentColor; stroke-width:4; stroke-linecap:round; stroke-linejoin:round; fill:none}
:root[data-theme="dark"] .mgraph{opacity:.2}
@media(max-width:1000px){.mgraph{display:none}}

/* ═══════════════ БЕЗЛИМИТ ПО ДНЯМ ═══════════════ */
.unls{padding-block:clamp(34px,4.4vw,64px)}
.unls__h{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:10px clamp(24px,4vw,56px); align-items:end; margin-bottom:clamp(18px,2.4vw,30px)}
.unls__h h2{font-size:clamp(23px,3vw,36px); margin-top:10px}
.unls__p{font-size:15px; color:var(--ink-3); line-height:1.55; align-self:end}
@media(max-width:860px){.unls__h{grid-template-columns:minmax(0,1fr)}}
.unls__g{display:grid; grid-template-columns:repeat(auto-fit,minmax(196px,1fr)); gap:14px}
.unls__n{display:flex; gap:9px; align-items:flex-start; margin-top:16px;
  font-size:13px; color:var(--ink-3); line-height:1.55}
.unls__n .ico{flex:none; margin-top:1px}

.uc{position:relative; display:flex; flex-direction:column; overflow:hidden;
  min-height:214px; border-radius:22px; padding:18px 18px 16px; text-align:left;
  background:linear-gradient(160deg,var(--surface) 0%,color-mix(in srgb,var(--sky-3) 48%,var(--surface)) 100%);
  border:1px solid var(--line-soft);
  box-shadow:0 5px 16px rgba(6,14,43,.05), 0 26px 48px -30px rgba(10,51,151,.36);
  transition:transform .22s var(--ease), box-shadow .22s var(--ease)}
.uc:hover{transform:translateY(-3px);
  box-shadow:0 8px 22px rgba(6,14,43,.08), 0 30px 54px -28px rgba(10,51,151,.45)}
.uc__k{position:relative; z-index:2; font-size:12.5px; font-weight:600; color:var(--ink-3);
  padding-right:56px}
.uc__d{position:relative; z-index:2; display:flex; align-items:baseline; gap:6px; margin-top:8px}
.uc__d b{font-family:var(--f-display); font-weight:600; font-size:40px; letter-spacing:-.05em;
  line-height:1; font-variant-numeric:tabular-nums}
.uc__d i{font-style:normal; font-size:15px; font-weight:700; color:var(--ink-2)}
.uc__m{position:relative; z-index:2; display:block; margin-top:7px; font-size:12.5px;
  font-weight:600; color:var(--ink-3); overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.uc__p{position:relative; z-index:2; display:block; margin-top:auto; padding-top:12px}
.uc__p b{display:block; font-family:var(--f-display); font-weight:600; font-size:22px;
  letter-spacing:-.04em; line-height:1.15; font-variant-numeric:tabular-nums; white-space:nowrap}
.uc__p i{display:block; font-style:normal; font-size:12px; color:var(--ink-3);
  margin-top:2px; font-variant-numeric:tabular-nums}
/* знак бесконечности вместо глобуса */
.uc__inf{position:absolute; z-index:1; right:-16%; bottom:6%; width:70%; max-width:176px;
  height:auto; pointer-events:none; opacity:.85}
.uc__go{position:absolute; z-index:3; right:15px; bottom:15px; width:36px; height:36px;
  border-radius:50%; background:var(--surface); color:var(--brand-2);
  display:grid; place-items:center; box-shadow:0 3px 12px rgba(6,14,43,.15)}
.uc__hit{position:absolute; z-index:4; top:14px; right:14px; display:inline-flex; align-items:center;
  gap:5px; padding:4px 9px; border-radius:999px; background:var(--brand-2); color:#fff;
  font-size:10.5px; font-weight:700}
@media(max-width:560px){
  .uc{min-height:168px; padding:16px 16px 14px}
  .uc__d b{font-size:34px}
  .uc__inf{right:-6%; bottom:2%; max-width:158px}
}
.uc--best{border-color:var(--brand-2); box-shadow:0 0 0 1px var(--brand-2),
  0 5px 16px rgba(6,14,43,.05), 0 26px 48px -30px rgba(10,51,151,.4)}
:root[data-theme="dark"] .uc{
  background:linear-gradient(160deg,var(--surface) 0%,color-mix(in srgb,var(--brand-2) 17%,var(--surface)) 100%)}
:root[data-theme="dark"] .uc__inf{opacity:.95}
.sc__globe--inf{width:58%; right:-6%}

/* ═══════════════ ШАПКА СТРАНИЦЫ СТРАНЫ ═══════════════ */
.chero{position:relative; overflow:hidden; overflow:clip;
  padding-bottom:0; background:linear-gradient(180deg,var(--sky-2) 0%,var(--surface) 100%)}
/* ─── Фото страны в шапке ───
   Снимки вертикальные, 800×1000. Раньше они растягивались подложкой во всю
   ширину экрана — это 1440×560, а на экране с высокой плотностью точек вдвое
   больше. Снимок приходилось увеличивать втрое, и он расползался.

   Теперь он занимает только правую часть шапки, около 480 px. Там он
   показывается почти в натуральную величину — отсюда и резкость. Размер
   задан самому снимку, поэтому и растворение слева считается от его
   собственного края, а не от ширины экрана: иначе получалась видимая кромка. */
.chero--ph::before{content:''; position:absolute; right:0; top:0; z-index:0; pointer-events:none;
  width:min(480px,44%); height:min(560px,92%);
  background:var(--ph) center/cover no-repeat; opacity:.42;
  -webkit-mask-image:linear-gradient(90deg,transparent 2%,#000 60%),
    linear-gradient(180deg,#000 0%,rgba(0,0,0,.85) 62%,transparent 96%);
  mask-image:linear-gradient(90deg,transparent 2%,#000 60%),
    linear-gradient(180deg,#000 0%,rgba(0,0,0,.85) 62%,transparent 96%);
  -webkit-mask-composite:source-in; mask-composite:intersect}
/* Если браузер не умеет складывать две маски, оставляем только боковое
   растворение — снимок всё равно не упирается в край встык. */
@supports not (mask-composite: intersect){
  .chero--ph::before{-webkit-mask-image:linear-gradient(90deg,transparent 2%,#000 60%);
    mask-image:linear-gradient(90deg,transparent 2%,#000 60%); opacity:.3}
}
/* Ниже 980 px шапка перестраивается в одну колонку, и правая часть больше
   не свободна — узкая полоска там налезала бы на заголовок. На этих ширинах
   возвращаем прежнюю подложку во всю ширину, но приглушённую. */
@media(max-width:980px){
  .chero--ph::before{width:100%; opacity:.17;
    -webkit-mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.65) 46%,transparent 92%);
    mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.65) 46%,transparent 92%)}
}
:root[data-theme="dark"] .chero{background:linear-gradient(180deg,#0c1220 0%,var(--bg,#0a0a0b) 100%)}
:root[data-theme="dark"] .chero--ph::before{opacity:.26}

.chero__g{display:grid; grid-template-columns:minmax(0,1fr) 372px; gap:clamp(24px,3vw,44px);
  align-items:start; margin-top:18px; padding-bottom:clamp(20px,3vw,34px)}
@media(max-width:980px){.chero__g{grid-template-columns:minmax(0,1fr)}}

.chero__id{display:flex; align-items:center; gap:13px; min-width:0}
.chero__id .flag{flex:none; box-shadow:0 1px 5px rgba(6,14,43,.22)}
.chero__id .ico{color:var(--brand-2); flex:none}
.chero__id span{display:flex; flex-direction:column; min-width:0}
.chero__id b{font-size:19px; font-weight:700; letter-spacing:-.02em}
.chero__id i{font-style:normal; font-size:13.5px; color:var(--ink-3); margin-top:2px}
.chero__h{font-size:clamp(29px,4.4vw,50px); line-height:1.06; margin-top:clamp(16px,2vw,26px)}
.chero__l .lede{margin-top:14px; max-width:46ch}
.chero__pills{display:flex; flex-wrap:wrap; gap:8px; margin-top:20px}
.cpill{display:inline-flex; align-items:center; gap:7px; padding:8px 14px; border-radius:999px;
  background:var(--surface); border:1px solid var(--line-soft); font-size:13px; font-weight:600;
  box-shadow:0 2px 8px rgba(6,14,43,.05)}
.cpill .ico{color:var(--brand-2)}
.cpill--ok{color:var(--signal); background:color-mix(in srgb,var(--signal) 13%,var(--surface));
  border-color:transparent}
.cpill--ok .ico{color:currentColor}

/* карточка самого популярного тарифа */
.topplan{position:relative; background:var(--surface); border:1px solid var(--line-soft);
  border-radius:var(--r-l); padding:22px 22px 20px;
  box-shadow:0 8px 24px rgba(6,14,43,.07), 0 40px 70px -40px rgba(10,51,151,.42)}
.topplan__b{display:inline-flex; align-items:center; gap:7px; font-size:13.5px; font-weight:700}
.topplan__b .ico{color:#f2762a}
.topplan__s{font-size:13px; color:var(--ink-3); margin-top:5px}
.topplan__gb{display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; margin-top:16px}
.topplan__gb b{font-family:var(--f-display); font-weight:600; font-size:44px; letter-spacing:-.05em;
  line-height:1; color:var(--brand-2); font-variant-numeric:tabular-nums}
.topplan__gb i{font-style:normal; font-size:17px; font-weight:700; color:var(--brand-2)}
.topplan__gb span{font-size:14px; font-weight:600; color:var(--ink-3); margin-left:2px}
.topplan__pr{margin-top:14px}
.topplan__pr b{display:block; font-family:var(--f-display); font-weight:600; font-size:31px;
  letter-spacing:-.04em; line-height:1.1; font-variant-numeric:tabular-nums}
.topplan__pr i{font-style:normal; font-size:12.5px; color:var(--ink-3); font-variant-numeric:tabular-nums}
.topplan .btn{margin-top:16px}
.topplan__f{display:flex; flex-wrap:wrap; gap:6px 16px; margin-top:14px;
  padding-top:14px; border-top:1px solid var(--line-soft)}
.topplan__f span{display:inline-flex; align-items:center; gap:6px; font-size:12.5px;
  font-weight:600; color:var(--ink-3)}
.topplan__f .ico{color:var(--brand-2)}

/* заголовок над тарифами */
.phead{display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap}
.phead__h{font-size:clamp(20px,2.4vw,28px); letter-spacing:-.02em}
.phead__r{display:flex; align-items:center; gap:10px}
/* главный выбор — тип тарифа: по центру и крупнее, чем вспомогательный вид */
.kindrow{display:flex; justify-content:center; margin-top:clamp(18px,2.2vw,28px)}
.ptabs--big{padding:6px; box-shadow:inset 0 0 0 1px var(--line-soft)}
.ptabs--big button{padding:13px 32px; font-size:15.5px; letter-spacing:-.01em}
@media(max-width:620px){
  /* на узком экране раскладываем в колонку: заголовок → тип тарифа → вид.
     display:contents вытаскивает детей .phead в общий поток, чтобы
     переключатели можно было расставить по порядку через order */
  .pheadw{display:flex; flex-direction:column}
  .phead{display:contents}
  .phead__h{order:1}
  .kindrow{order:2; margin-top:16px}
  .phead__r{order:3; width:100%; margin-top:10px}
  .phead__r .ptabs, .kindrow .ptabs{display:flex; width:100%}
  .phead__r .ptabs button, .kindrow .ptabs button{flex:1; padding-inline:10px}
  .ptabs--big button{padding:12px 10px; font-size:14.5px}
}

/* ═══════════════ ДЕКОР: СФЕРА ИЗ ТОЧЕК ═══════════════
   Рисуется на canvas в mountSpheres(). Чисто декоративный слой,
   лежит под контентом и не ловит события. */
.deco{position:relative; overflow:hidden; overflow:clip}
.deco > *:not(.psph):not(.fly):not(.mgraph):not(.aurora):not(.grain){position:relative; z-index:1}

/* сеть и соединение — тонкая графика на фон */
.fly{position:absolute; z-index:0; pointer-events:none; color:var(--brand-2); opacity:.36}
.fly svg{display:block; width:100%; height:auto}
/* паутина: тонкие дуги связи и узлы */
.fly .lk{fill:none; stroke:currentColor; stroke-width:1.1; stroke-linecap:round; opacity:.26}
.fly .nd{fill:currentColor; opacity:.4}
/* пунктир — линия, по которой пойдёт соединение, сплошная — уже установленное */
.fly .rt{fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round;
  stroke-linejoin:round; stroke-dasharray:4 8; opacity:.45}
.fly .tr{fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round;
  stroke-linejoin:round}
.fly .pt{fill:currentColor}
/* пакет данных */
.fly .pk{transition:opacity .25s linear}
.fly .pk circle{fill:currentColor}
.fly .pk .pk__h{opacity:.28}
.fly .wv{fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round}
.fly .gl{stroke:currentColor; stroke-width:1.3; fill:none}
/* связь загорается только после посадки */
.fly .sig{opacity:0; transition:opacity .45s var(--ease)}
.fly .sig.on{opacity:1}
.fly .sig.on path{animation:sigPulse 1.8s ease-out infinite}
.fly .sig.on path:nth-of-type(2){animation-delay:.22s}
.fly .sig.on path:nth-of-type(3){animation-delay:.44s}
@keyframes sigPulse{0%,100%{opacity:0}34%{opacity:1}}
@media(prefers-reduced-motion:reduce){.fly .sig.on path{animation:none; opacity:1}}
:root[data-theme="dark"] .fly{opacity:.46}
/* маршруты — широкой полосой у нижнего края блока «Куда вы едете?» */
.fly--routes{left:0; right:0; bottom:10px}
/* глобус с маршрутами — в пустом поле под текстом «Первые минуты» */
/* Глобус стоит фоном слева. Раньше он поднимался до строки с иконками
   приложений и перечёркивал их — опускаем ниже края секции. */
.fly--globe{left:max(14px, calc(50% - 604px)); bottom:-54px; width:min(38vw,440px)}
@media(max-width:1000px){.fly{display:none}}
.psph{position:absolute; z-index:0; pointer-events:none; color:var(--brand-2);
  opacity:.55; width:min(46vw,520px); aspect-ratio:1}
.psph canvas{display:block; width:100%; height:100%}
.psph--tr{top:-2%; right:max(-40px, calc(50% - 700px))}
.psph--tl{top:-2%; left:max(-48px, calc(50% - 720px))}
.psph--br{bottom:-4%; right:max(-48px, calc(50% - 720px)); width:min(40vw,430px)}
.psph--edge{top:-2%; right:-58px; width:min(34vw,400px)}
.psph--bl{bottom:-6%; left:max(-48px, calc(50% - 720px)); width:min(36vw,400px)}
:root[data-theme="dark"] .psph{opacity:.46}
@media(max-width:1000px){.psph{display:none}}

.flow{position:relative; perspective:1500px}
.flow__hint{margin:10px 0 0; text-align:center; font-size:12px; color:var(--ink-3)}
.flow__vp{display:flex; gap:26px; overflow-x:auto; scroll-snap-type:x mandatory;
  padding:34px calc(50% - 202px) 40px; scrollbar-width:none; cursor:grab;
  -webkit-overflow-scrolling:touch}
.flow__vp::-webkit-scrollbar{display:none}
.flow__vp.drag{cursor:grabbing; scroll-snap-type:none}
/* карточка не в центре: тап по ней подвозит её к центру, а не жмёт кнопку внутри */
.flow__i--tap{cursor:pointer}
.flow__i--tap *{pointer-events:none}
.flow__i{flex:none; width:404px; scroll-snap-align:center; transform-style:preserve-3d;
  transition:transform .12s linear, opacity .28s var(--ease), filter .28s var(--ease)}@media(max-width:560px){
  .flow__vp{padding:26px calc(50% - 146px) 32px; gap:18px}
  .flow__i{width:292px}}


.flow__nav{display:flex; gap:9px; justify-content:center; align-items:center; margin-top:4px}
.flow__nav button{width:44px; height:44px; border-radius:50%; border:1.5px solid var(--line);
  background:var(--surface); display:grid; place-items:center; color:var(--ink-2); font-size:17px;
  transition:.2s var(--ease)}
.flow__nav button:hover{border-color:var(--brand-2); color:var(--brand-2); transform:scale(1.06)}
.flow__dots{display:flex; gap:7px; margin-inline:10px}
.flow__dots i{width:7px; height:7px; border-radius:99px; background:var(--line); transition:.28s var(--ease)}
.flow__dots i.on{width:26px; background:var(--brand-2)}

/* сводка выбранного тарифа под каруселью */
.pickinfo{display:grid; grid-template-columns:1fr auto; gap:20px; align-items:center;
  background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--r-l);
  padding:20px 24px; box-shadow:var(--sh-1)}@media(max-width:640px){.pickinfo{grid-template-columns:1fr; text-align:left}}


.pickinfo__specs{display:flex; gap:26px; flex-wrap:wrap}
.pickinfo__specs div span{display:block; font-size:10.5px; text-transform:uppercase;
  letter-spacing:.11em; color:var(--ink-3); font-weight:700; margin-bottom:3px}
.pickinfo__specs div b{font-size:17px; font-weight:700; font-variant-numeric:tabular-nums; letter-spacing:-.02em}
.pickinfo__buy{display:flex; align-items:center; gap:18px; flex-wrap:wrap}
.pickinfo__pr b{display:block; font-family:var(--f-display); font-weight:600; font-size:27px;
  letter-spacing:-.04em; line-height:1; font-variant-numeric:tabular-nums}
.pickinfo__pr i{font-style:normal; font-size:12px; color:var(--ink-3); font-variant-numeric:tabular-nums}
.pickinfo__pr em{display:block; font-style:normal; font-size:10.5px; text-transform:uppercase;
  letter-spacing:.11em; color:var(--ink-3); font-weight:700; margin-bottom:4px}
.pickinfo__pr s{display:block; font-size:11.5px; color:var(--ink-3); font-variant-numeric:tabular-nums}


.pickinfo{display:grid; grid-template-columns:1fr auto; gap:20px; align-items:center;
  background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--r-l);
  padding:20px 24px; box-shadow:var(--sh-1)}@media(max-width:640px){.pickinfo{grid-template-columns:1fr; text-align:left}}


.pickinfo__specs{display:flex; gap:26px; flex-wrap:wrap}
.pickinfo__specs div span{display:block; font-size:10.5px; text-transform:uppercase;
  letter-spacing:.11em; color:var(--ink-3); font-weight:700; margin-bottom:3px}
.pickinfo__specs div b{font-size:17px; font-weight:700; font-variant-numeric:tabular-nums; letter-spacing:-.02em}
.pickinfo__buy{display:flex; align-items:center; gap:18px; flex-wrap:wrap}
.pickinfo__pr b{display:block; font-family:var(--f-display); font-weight:600; font-size:27px;
  letter-spacing:-.04em; line-height:1; font-variant-numeric:tabular-nums}
.pickinfo__pr i{font-style:normal; font-size:12px; color:var(--ink-3); font-variant-numeric:tabular-nums}
.pickinfo__pr s{display:block; font-size:11.5px; color:var(--ink-3); font-variant-numeric:tabular-nums}

/* ═══════════════ КАРТОЧКА СТРАНЫ ═══════════════ */
.gcard{position:relative; display:block; aspect-ratio:4/5; border-radius:var(--r-l); overflow:hidden;
  box-shadow:var(--sh-1); isolation:isolate;
  transition:transform .36s var(--ease-out), box-shadow .36s var(--ease)}
.gcard:hover{transform:translateY(-6px); box-shadow:var(--sh-3)}
/* слой изображения: фото, если оно задано в PHOTOS, иначе силуэт на градиенте */
.gcard__ph{position:absolute; inset:0; background:var(--grad) center/cover no-repeat;
  display:grid; place-items:center; transition:transform .6s var(--ease-out)}
.gcard:hover .gcard__ph{transform:scale(1.06)}
.gcard__ph svg{width:56%; height:56%; color:#fff; opacity:.24}
.gcard__ph.has svg{display:none}
.gcard__scrim{position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(to top, rgba(3,9,28,.88) 2%, rgba(3,9,28,.42) 40%, rgba(3,9,28,.06) 72%)}
.gcard__body{position:absolute; left:0; right:0; bottom:0; padding:16px 18px; color:#fff; z-index:2}
.gcard__n{display:block; font-weight:700; font-size:17px; letter-spacing:-.02em; line-height:1.25;
  text-shadow:0 1px 10px rgba(0,0,0,.5)}
.gcard__pr{position:absolute; top:12px; right:12px; z-index:2;
  background:rgba(10,20,45,.42); border:1px solid rgba(255,255,255,.3); color:#fff;
  backdrop-filter:blur(12px) saturate(1.4); border-radius:999px; padding:7px 13px; font-size:12.5px;
  font-weight:700; font-variant-numeric:tabular-nums; white-space:nowrap; transition:background .24s}
.gcard:hover .gcard__pr{background:rgba(10,20,45,.62)}
.gcard__hot{position:absolute; top:12px; left:12px; z-index:2; width:28px; height:28px; border-radius:50%;
  background:rgba(255,255,255,.92); display:grid; place-items:center; font-size:13px; box-shadow:var(--sh-1)}
/* силуэт в шапке страны */
.lmbadge{width:104px; height:104px; flex:none; border-radius:28px; overflow:hidden; position:relative;
  background:var(--grad) center/cover no-repeat; display:grid; place-items:center}
.lmbadge svg{width:58%; height:58%; color:#fff; opacity:.9}
.lmbadge.has svg{display:none}

/* ═══════════════ БЕГУЩАЯ СТРОКА ═══════════════ */
.marq{position:relative; overflow:hidden; padding-block:16px;
  border-block:1px solid var(--line-soft); background:var(--surface)}
.marq::before,.marq::after{content:""; position:absolute; top:0; bottom:0; width:90px; z-index:2; pointer-events:none}
.marq::before{left:0; background:linear-gradient(90deg,var(--surface),transparent)}
.marq::after{right:0; background:linear-gradient(270deg,var(--surface),transparent)}
.marq__t{display:flex; gap:12px; width:max-content; animation:marq 52s linear infinite}
.marq:hover .marq__t{animation-play-state:paused}
@keyframes marq{to{transform:translateX(-50%)}}
.marq a{display:flex; align-items:center; gap:9px; padding:9px 16px; border-radius:999px;
  background:var(--surface-2); font-size:13.5px; font-weight:600; white-space:nowrap;
  transition:background .2s, transform .2s}
.marq a:hover{background:var(--tint-3); transform:translateY(-2px)}
.marq a b{color:var(--brand-2); font-variant-numeric:tabular-nums}

/* ═══════════════ КОВЕРФЛОУ ═══════════════ */
/* ═══════════════ СЕТКИ ═══════════════ */
.grid{display:grid; gap:16px}
.grid--solo{grid-template-columns:minmax(0,340px) !important}
/* ячейки сетки не должны раздуваться длинным содержимым */
.grid > *, .stats > *, .plist > *{min-width:0}
.g-2{grid-template-columns:repeat(2,1fr)}
.g-3{grid-template-columns:repeat(3,1fr)}
.g-4{grid-template-columns:repeat(4,1fr)}@media(max-width:980px){.g-4{grid-template-columns:repeat(2,1fr)} .g-3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.g-3,.g-2{grid-template-columns:1fr}}

.g-split{grid-template-columns:1.7fr 1fr; margin-top:16px}
.g-split--rev{grid-template-columns:1fr 1.7fr}@media(max-width:900px){.g-split,.g-split--rev{grid-template-columns:1fr}}

.shead{display:flex; align-items:flex-end; justify-content:space-between; gap:24px;
  margin-bottom:32px; flex-wrap:wrap}
.shead p{margin-top:12px}

/* ═══════════════ ТЁМНАЯ ВСТАВКА ═══════════════ */
.dsec{position:relative; overflow:hidden; border-radius:var(--r-xl); color:#fff;
  background:#050B22; padding:clamp(28px,4vw,58px)}
.dsec::before{content:""; position:absolute; inset:auto -8% -52% 28%; width:min(720px,94%); aspect-ratio:1;
  border-radius:50%; background:radial-gradient(circle,rgba(47,107,232,.55),transparent 66%)}
.dsec::after{content:""; position:absolute; inset:-40% 40% auto -10%; width:min(520px,80%); aspect-ratio:1;
  border-radius:50%; background:radial-gradient(circle,rgba(53,210,240,.25),transparent 66%)}
.dsec > *{position:relative; z-index:1}
.dsec h2,.dsec h3{color:#fff}
.dsec p{color:#A9BBE4}
.dsec__grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,3.4vw,48px); align-items:start}@media(max-width:900px){.dsec__grid{grid-template-columns:1fr}}

.checks{display:flex; flex-direction:column; gap:11px; margin-top:22px}
.checks div{display:flex; gap:11px; align-items:flex-start; font-size:14.2px; color:#CBD9F6}
.checks b{color:var(--cyan); flex:none}
.dpills{display:flex; gap:9px; flex-wrap:wrap; margin-top:22px}
.dpill{background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); border-radius:999px;
  padding:10px 17px; font-size:13.5px; font-weight:700; color:#E3EBFF}
.statcard{background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.13);
  border-radius:var(--r-l); padding:20px 22px}
.statcard__h{display:flex; align-items:center; gap:12px}
.statcard__ic{width:34px; height:34px; border-radius:50%; background:var(--cyan); color:#032430;
  display:grid; place-items:center; font-weight:800; flex:none}
.statcard__l{font-size:9.5px; text-transform:uppercase; letter-spacing:.14em; color:#8DA3D6; font-weight:700}
.statcard__v{font-weight:700; font-size:16.5px; color:#fff}
.skel{height:7px; border-radius:99px; background:rgba(255,255,255,.12); margin-top:10px}
.skel:nth-of-type(2){width:70%} .skel:nth-of-type(3){width:46%}

/* ═══════════════ КОНФИГУРАТОР ═══════════════ */
.picker{background:#fff; color:#060E2B; border-radius:var(--r-xl); padding:22px;
  box-shadow:0 36px 80px -30px rgba(0,0,0,.6)}
.picker__lab{font-size:10px; text-transform:uppercase; letter-spacing:.14em; color:#7887AD;
  font-weight:700; margin:18px 0 9px}
.picker__lab:first-child{margin-top:0}
.picker__sel{width:100%; border:1.5px solid #E1E8F7; border-radius:15px; padding:13px 15px;
  font-size:14.5px; font-weight:700; background:#fff; color:#060E2B; outline:none; appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,#7887AD 50%),linear-gradient(135deg,#7887AD 50%,transparent 50%);
  background-position:calc(100% - 20px) 50%, calc(100% - 15px) 50%;
  background-size:5px 5px,5px 5px; background-repeat:no-repeat}
.picker__sel:focus{border-color:#2F6BE8}
.opt-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:9px}@media(max-width:430px){.opt-grid{grid-template-columns:1fr 1fr}}

.opt{border:1.5px solid #E1E8F7; border-radius:15px; padding:11px 12px; text-align:left;
  position:relative; background:#fff; transition:border-color .16s, box-shadow .16s, transform .16s}
.opt:hover{border-color:#B7C8EC; transform:translateY(-1px)}
.opt.on{border-color:#2F6BE8; box-shadow:0 0 0 3px rgba(47,107,232,.15)}
.opt b{display:block; font-size:14.5px; font-weight:700; color:#060E2B}
.opt span{display:block; font-size:10.5px; color:#7887AD; margin-top:2px; line-height:1.3}
.opt__b{position:absolute; top:-8px; left:50%; transform:translateX(-50%);
  background:linear-gradient(118deg,#0A3397,#2F6BE8); color:#fff; font-size:8.5px; font-weight:800;
  padding:3px 9px; border-radius:99px; letter-spacing:.08em; white-space:nowrap}
.chips{display:flex; gap:8px; flex-wrap:wrap}
.chip{border:1.5px solid #E1E8F7; border-radius:14px; padding:9px 14px; background:#fff;
  text-align:center; font-weight:700; font-size:14px; color:#060E2B; min-width:56px; transition:.16s}
.chip:hover{border-color:#B7C8EC}
.chip.on{border-color:#2F6BE8; color:#2F6BE8; box-shadow:0 0 0 3px rgba(47,107,232,.15)}
.chip span{display:block; font-size:9px; color:#7887AD; font-weight:700; letter-spacing:.09em; margin-top:1px}
.psum{display:flex; align-items:center; gap:13px; background:#F2F7FF; border-radius:18px;
  padding:15px 17px; margin-top:20px}
.psum__t{font-size:13.5px; font-weight:700; color:#060E2B; line-height:1.3}
.psum__p{margin-left:auto; text-align:right; flex:none}
.psum__p b{display:block; font-family:var(--f-display); font-size:25px; font-weight:600; color:#0A3397;
  letter-spacing:-.04em; line-height:1; font-variant-numeric:tabular-nums; transition:transform .22s var(--ease)}
.psum__p b.pop{transform:scale(1.07)}
.psum__p i{font-style:normal; font-size:11.5px; color:#7887AD; font-variant-numeric:tabular-nums}
.pnote{display:flex; gap:7px; justify-content:center; font-size:11px; color:#7887AD; margin-top:12px; text-align:center}

/* ═══════════════ ШАГИ ═══════════════ */
.hsteps{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}@media(max-width:820px){.hsteps{grid-template-columns:1fr}}

.hstep{display:block; position:relative; border-radius:var(--r-l); padding:26px 24px; overflow:hidden;
  background:var(--surface); border:1px solid var(--line-soft); transition:transform .3s var(--ease-out), box-shadow .3s}
.hstep:hover{transform:translateY(-4px); box-shadow:var(--sh-2); border-color:var(--brand-2)}
.hstep__n{position:absolute; top:-14px; right:6px; font-family:var(--f-display); font-weight:600;
  font-size:82px; line-height:1; color:transparent; -webkit-text-stroke:1.3px var(--line); opacity:.9}
.hstep__i{width:44px; height:44px; border-radius:14px; background:var(--grad); color:#fff;
  display:grid; place-items:center; font-size:19px; margin-bottom:16px; box-shadow:0 8px 18px -8px rgba(10,51,151,.7)}
.hstep h4{font-size:18.5px; font-family:var(--f-display); font-weight:600; letter-spacing:-.03em; margin-bottom:8px}
.hstep p{font-size:13.8px; color:var(--ink-2)}

.steps{display:grid; grid-template-columns:repeat(4,1fr); gap:0}
.step{position:relative; padding:26px 26px 26px 0; border-top:2px solid var(--line)}
.step__n{font-size:11.5px; color:var(--brand-2); font-weight:700; letter-spacing:.12em}
.step h4{margin:11px 0 7px; font-size:17.5px; font-family:var(--f-display); font-weight:600; letter-spacing:-.025em}
.step p{font-size:13.5px; color:var(--ink-2)}@media(max-width:860px){.steps{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.steps{grid-template-columns:1fr} .step{padding-right:0}}

/* ═══════════════ СПИСОК ТАРИФОВ СТРАНЫ ═══════════════
   Простые строки вместо карусели: объём и срок слева, цена справа,
   под ней — сколько это против роуминга. */
.plist{display:grid; gap:10px}
.prow{position:relative; display:flex; align-items:center; gap:16px;
  background:var(--surface); border:1.5px solid var(--line-soft); border-radius:var(--r-l);
  padding:16px 20px; box-shadow:var(--sh-1);
  transition:border-color .2s, box-shadow .26s var(--ease), transform .26s var(--ease-out)}
.prow:hover{border-color:var(--brand-2); transform:translateY(-2px); box-shadow:var(--sh-2)}
.prow__l{min-width:0; flex:1}
.prow__l b{display:block; font-size:17px; font-weight:700; letter-spacing:-.015em; line-height:1.25}
.prow__l i{display:block; font-style:normal; font-size:12.5px; color:var(--ink-3); margin-top:4px;
  font-variant-numeric:tabular-nums}
.prow__r{flex:none; text-align:right}
.prow__r > b{display:block; font-family:var(--f-display); font-size:22px; font-weight:600;
  letter-spacing:-.035em; line-height:1.1; font-variant-numeric:tabular-nums; white-space:nowrap}
.prow__r > i{display:flex; align-items:center; justify-content:flex-end; gap:8px; margin-top:5px;
  font-style:normal; white-space:nowrap}
.prow__r s{font-size:12px; color:var(--ink-3); font-variant-numeric:tabular-nums}
.prow__r em{font-style:normal; font-size:11.5px; font-weight:700; padding:3px 8px; border-radius:999px;
  background:color-mix(in srgb,var(--hot) 14%,transparent); color:var(--hot);
  font-variant-numeric:tabular-nums}
/* самый популярный: обводка и ярлык над строкой */
.prow--best{border-color:var(--brand-2); box-shadow:0 0 0 1px var(--brand-2), var(--sh-1);
  margin-top:12px}
.prow--best:hover{box-shadow:0 0 0 1px var(--brand-2), var(--sh-2)}
.prow__hit{position:absolute; top:-11px; right:18px; display:inline-flex; align-items:center; gap:5px;
  padding:3px 11px; border-radius:999px; background:var(--brand-2); color:#fff;
  font-size:11px; font-weight:700; letter-spacing:.01em; white-space:nowrap;
  box-shadow:0 4px 12px -4px rgba(47,107,232,.8)}
.prow__hit svg{opacity:.9}
/* сноска под списком */
.pnote{display:flex; align-items:flex-start; gap:11px; margin-top:16px;
  font-size:13px; color:var(--ink-2); line-height:1.55}
.pnote .ico{flex:none; margin-top:1px}
@media(max-width:560px){
  .prow{padding:14px 15px; gap:12px}
  .prow__l b{font-size:15.5px}
  .prow__l i{font-size:11.5px}
  .prow__r > b{font-size:19px}
  .prow__r s{font-size:11px}
  .prow__r em{font-size:10.5px; padding:2px 7px}
  .prow__hit{right:12px; font-size:10.5px}
}

/* ═══════════════ ПАНЕЛИ / КАРТОЧКИ ═══════════════ */
.panel{background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--r-l);
  padding:24px; box-shadow:var(--sh-1)}
.panel--flat{border-radius:var(--r-m); padding:20px; box-shadow:none}
.panel__h{display:flex; align-items:center; gap:11px; margin-bottom:16px; flex-wrap:wrap}
.panel__h h3{font-size:18px}
.panel__h .pill{margin-left:auto}
.ck-sum{position:sticky; top:96px}
@media(max-width:640px){.ck-sum{position:static}}
.note{display:flex; gap:12px; padding:15px 17px; border-radius:var(--r-m); font-size:13.8px; line-height:1.56}
.note--brand{background:var(--tint-3); color:var(--ink)}
.note--value{background:color-mix(in srgb,var(--hot) 12%,var(--surface)); color:var(--ink)}
.note b{font-weight:700}

.ccard{display:flex; align-items:center; gap:13px; background:var(--surface);
  border:1px solid var(--line-soft); border-radius:var(--r-m); padding:15px 17px;
  transition:border-color .2s, transform .26s var(--ease-out), box-shadow .26s}
.ccard:hover{border-color:var(--brand-2); transform:translateY(-3px); box-shadow:var(--sh-1)}
.ccard .flag{font-size:26px; line-height:1; flex:none}
.ccard .nm{font-weight:700; font-size:14.5px}
.ccard .sub{font-size:12px; color:var(--ink-3)}
.ccard .pr{margin-left:auto; text-align:right; flex:none}
.ccard .pr .f{font-size:10px; color:var(--ink-3); text-transform:uppercase; letter-spacing:.09em; font-weight:700}
.ccard .pr .v{font-weight:700; font-size:14.5px; color:var(--brand-2); font-variant-numeric:tabular-nums}

/* ═══════════════ ТАБЫ ═══════════════ */
.ptabs,.tabs{display:inline-flex; gap:4px; background:var(--surface-2); border-radius:999px;
  padding:5px; flex-wrap:wrap; max-width:100%}
.ptabs button,.tabs button{padding:10px 18px; border-radius:999px; font-weight:700; font-size:13.5px;
  color:var(--ink-2); transition:.18s var(--ease)}
.ptabs button.on,.tabs button.on{background:var(--surface); color:var(--brand-2); box-shadow:var(--sh-1)}
/* ═══════════════ АККОРДЕОН ═══════════════ */
.acc{border-top:1px solid var(--line-soft)}
.acc__item{border-bottom:1px solid var(--line-soft)}
.acc__q{display:flex; width:100%; gap:18px; align-items:center; padding:22px 2px;
  text-align:left; font-weight:700; font-size:16.5px; letter-spacing:-.015em}
.acc__q .sign{margin-left:auto; flex:none; width:26px; height:26px; border-radius:50%;
  background:var(--surface-2); display:grid; place-items:center; font-size:17px; color:var(--brand-2);
  transition:transform .3s var(--ease-out), background .2s}
.acc__item.open .acc__q .sign{transform:rotate(45deg); background:var(--tint-3)}
.acc__a{display:grid; grid-template-rows:0fr; transition:grid-template-rows .34s var(--ease-out)}
.acc__item.open .acc__a{grid-template-rows:1fr}
.acc__a > div{overflow:hidden}
.acc__a p{padding-bottom:22px; color:var(--ink-2); font-size:14.5px; max-width:70ch}
.acc--air .acc__q{padding-block:26px; font-size:17.5px}

/* ═══════════════ ОТЗЫВЫ ═══════════════ */
.revs{display:grid; grid-auto-flow:column; grid-auto-columns:minmax(276px,1fr); gap:16px;
  overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:10px; scrollbar-width:thin}
.rev{background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--r-l);
  padding:24px; scroll-snap-align:start; display:flex; flex-direction:column; gap:14px;
  transition:transform .3s var(--ease-out), box-shadow .3s}
.rev:hover{transform:translateY(-4px); box-shadow:var(--sh-2)}
.rev p{font-size:13.8px; color:var(--ink-2); line-height:1.6}
.rev__u{display:flex; align-items:center; gap:11px; margin-top:auto; padding-top:8px;
  border-top:1px solid var(--line-soft)}
.rev__av{width:34px; height:34px; border-radius:50%; background:var(--brand-2); color:#fff;
  display:grid; place-items:center; font-weight:800; font-size:13px; flex:none}

/* ═══════════════ СТАТИСТИКА ═══════════════ */
.tstats{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;
  border-top:1px solid var(--line-soft); padding-top:30px}
.tstat b{display:block; font-family:var(--f-display); font-weight:600; font-size:clamp(26px,3.3vw,38px);
  letter-spacing:-.05em; line-height:1; font-variant-numeric:tabular-nums;
  color:var(--brand-2)}
.tstat span{display:block; font-size:10.5px; text-transform:uppercase; letter-spacing:.11em;
  color:var(--ink-3); font-weight:700; margin-top:10px; line-height:1.4}
@media(max-width:640px){.tstats{grid-template-columns:1fr 1fr; gap:24px 16px}}

.stats{display:grid; grid-template-columns:repeat(4,1fr); gap:14px}
@media(max-width:980px){.stats{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.stats{grid-template-columns:1fr}}
.stat{background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--r-l); padding:19px 20px}
.stat__l{font-size:12px; color:var(--ink-3); font-weight:700}
.stat__v{font-family:var(--f-display); font-weight:600; font-size:28px; letter-spacing:-.05em;
  margin-top:8px; line-height:1; font-variant-numeric:tabular-nums}
.stat__d{font-size:12.5px; margin-top:9px; font-weight:700; display:flex; align-items:center; gap:5px}
.up{color:var(--signal)} .down{color:var(--danger)}

.value-cell{padding:28px 26px; border-left:1px solid var(--line-soft)}
.value-cell .big{font-family:var(--f-display); font-weight:600; font-size:30px; letter-spacing:-.05em;
  line-height:1; font-variant-numeric:tabular-nums}
.value-cell .big.b{color:var(--brand-2)}
.value-cell .lab{font-size:13px; color:var(--ink-2); margin-top:9px; line-height:1.45}

/* ═══════════════ ТАБЛИЦЫ ═══════════════ */
.tablewrap{overflow-x:auto; min-width:0; max-width:100%; border:1px solid var(--line-soft);
  border-radius:var(--r-l); background:var(--surface)}
table{width:100%; border-collapse:collapse; font-size:13.5px; min-width:660px}
th{text-align:left; font-size:10.5px; text-transform:uppercase; letter-spacing:.1em; color:var(--ink-3);
  font-weight:700; padding:14px 16px; border-bottom:1px solid var(--line-soft);
  white-space:nowrap; background:var(--surface)}
td{padding:13px 16px; border-bottom:1px solid var(--line-soft); white-space:nowrap}
tr:last-child td{border-bottom:0}
tbody tr{transition:background .16s}
tbody tr:hover{background:var(--surface-2)}
td.n{font-variant-numeric:tabular-nums}

/* ═══════════════ ИЗМЕРИТЕЛИ / ПОЛОСЫ ═══════════════ */
.meter{height:8px; border-radius:99px; background:var(--surface-2); overflow:hidden}
.meter i{display:block; height:100%; border-radius:99px; background:var(--brand-2); transition:width .9s var(--ease-out)}
.meter i.low{background:linear-gradient(90deg,#E09B00,#FFC24D)}
.meter i.out{background:linear-gradient(90deg,#C5313A,#FF7A80)}
.bars{display:flex; flex-direction:column; gap:12px}
.bar{display:grid; grid-template-columns:128px 1fr 64px; align-items:center; gap:13px; font-size:13px}
.bar__t{height:10px; border-radius:99px; background:var(--surface-2); overflow:hidden}
.bar__t i{display:block; height:100%; border-radius:99px; background:var(--brand-2)}
.bar__v{text-align:right; font-weight:700; font-variant-numeric:tabular-nums}
@media(max-width:520px){.bar{grid-template-columns:94px 1fr 56px; font-size:12px}}

/* ═══════════════ ГРАФИК ═══════════════ */
.chart{width:100%; height:auto; display:block; overflow:visible}
.chart .grid-l{stroke:var(--line-soft); stroke-width:1}
.chart .axis-t{fill:var(--ink-3); font-size:10px; font-family:var(--f-ui)}
.chart .area{fill:var(--brand-2); opacity:.13}
.chart .line{fill:none; stroke:var(--brand-2); stroke-width:2.4; stroke-linejoin:round; stroke-linecap:round}
.chart .pt{fill:var(--brand-2)}
.chart .ring{fill:none; stroke:var(--brand-2); stroke-width:2; opacity:.35}

/* ═══════════════ КАБИНЕТ / eSIM ═══════════════ */
.sim{background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--r-l);
  padding:22px; display:flex; flex-direction:column; gap:15px;
  transition:border-color .2s, transform .28s var(--ease-out), box-shadow .28s}
.sim:hover{border-color:transparent; transform:translateY(-4px); box-shadow:var(--sh-2)}
.sim__h{display:flex; align-items:center; gap:12px}
.sim__flag{font-size:28px; line-height:1}
.sim__iccid{font-size:11.5px; color:var(--ink-3)}
/* две кнопки установки под QR-кодом */
.addesim{display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:16px}
.addesim .btn{gap:7px; padding-inline:10px}
.addesim__n{margin:9px 0 0; font-size:11.5px; color:var(--ink-3); line-height:1.5}
@media(max-width:420px){.addesim{grid-template-columns:1fr}}
.qrbox{background:#fff; padding:16px; border-radius:var(--r-m); display:inline-block;
  border:1px solid var(--line); box-shadow:var(--sh-1)}
.qrbox svg{display:block}
.kv{display:grid; grid-template-columns:auto 1fr; gap:10px 20px; font-size:13.5px}
.kv dt{color:var(--ink-3); font-weight:600}
.kv dd{margin:0; font-weight:700; text-align:right; font-variant-numeric:tabular-nums}

/* ═══════════════ ИНСТРУКЦИЯ ═══════════════ */
.inst{display:grid; grid-template-columns:36px 1fr; gap:0 17px}
.inst__n{width:30px; height:30px; border-radius:50%; background:var(--tint-3); color:var(--brand-2);
  display:grid; place-items:center; font-size:12.5px; font-weight:800; margin-top:2px;
  font-variant-numeric:tabular-nums}
.inst__c{padding-bottom:24px}
.inst__c h4{margin-bottom:5px}
.inst__c p{font-size:14px; color:var(--ink-2)}
.inst__c code{background:var(--surface-2); padding:2px 8px; border-radius:6px;
  font-family:var(--f-tech); font-size:12.5px}

/* ═══════════════ ПРОЧЕЕ ═══════════════ */
.crumb{display:flex; gap:8px; align-items:center; font-size:12.5px; color:var(--ink-3);
  margin-bottom:18px; flex-wrap:wrap}
.crumb a:hover{color:var(--brand-2)}
.fbar{display:flex; gap:11px; align-items:center; flex-wrap:wrap; margin-bottom:22px}
.fbar input{flex:1; min-width:190px; padding:12px 17px; border:1px solid var(--line);
  border-radius:999px; background:var(--surface); outline:none; font-size:14px}
.fbar input:focus{border-color:var(--brand-2)}
.compat{display:grid; grid-template-columns:1.25fr .75fr; gap:30px; align-items:center}
@media(max-width:820px){.compat{grid-template-columns:1fr}}
.band{background:var(--surface); color:var(--ink); border-radius:var(--r-xl);
  padding:clamp(30px,4.6vw,58px); position:relative; overflow:hidden;
  border:1px solid var(--line-soft); box-shadow:var(--sh-2)}
.band::before{content:""; position:absolute; inset:0 0 auto; height:5px; background:var(--brand-2)}
.band::after{content:""; position:absolute; inset:auto -12% -55% auto; width:520px; height:520px;
  border-radius:50%; background:radial-gradient(circle,color-mix(in srgb,var(--brand-2) 13%,transparent),transparent 68%)}
.band > *{position:relative; z-index:1}
.band h2{color:var(--ink)}
.band p{color:var(--ink-3); margin-top:14px}

footer{background:var(--surface); border-top:1px solid var(--line-soft);
  padding-block:52px 32px; margin-top:24px}
.fgrid{display:grid; grid-template-columns:1.7fr 1fr 1fr 1fr; gap:30px}
@media(max-width:820px){.fgrid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.fgrid{grid-template-columns:1fr}}
.fcol h5{font-size:11px; text-transform:uppercase; letter-spacing:.13em; color:var(--ink-3);
  margin:0 0 14px; font-weight:700}
.fcol a{display:block; padding:6px 0; font-size:13.5px; color:var(--ink-2); transition:color .16s, transform .16s}
.fcol a:hover{color:var(--brand-2); transform:translateX(3px)}
.fbot{display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-top:34px;
  padding-top:22px; border-top:1px solid var(--line-soft); font-size:12.5px; color:var(--ink-3)}

.promo{position:fixed; left:0; right:0; bottom:0; z-index:75; background:var(--surface);
  border-top:1px solid var(--line); display:flex; align-items:center; gap:15px;
  padding:12px 18px calc(12px + env(safe-area-inset-bottom,0px));
  box-shadow:0 -12px 38px -20px rgba(6,14,43,.5)}
.promo__t{font-size:13.5px; line-height:1.35; min-width:0}
.promo__t b{color:var(--brand-2)}
.promo__ic{width:30px; height:30px; border-radius:9px; flex:none; display:grid; place-items:center;
  background:color-mix(in srgb,var(--brand-2) 13%,transparent); color:var(--brand-2)}
.promo__code{font-family:var(--f-mono,ui-monospace,SFMono-Regular,Menlo,monospace);
  letter-spacing:.06em; padding:2px 7px; border-radius:7px;
  background:color-mix(in srgb,var(--brand-2) 12%,transparent)}
.promo__copy{min-width:132px}
/* подтверждение копирования: та же ширина кнопки, чтобы полоса не дёргалась */
.promo__copy.is-done{background:#12B76A; box-shadow:none}
.promo .btn{margin-left:auto; flex:none}
.promo__x{width:33px; height:33px; border-radius:50%; display:grid; place-items:center;
  color:var(--ink-3); flex:none}
.promo__x:hover{background:var(--surface-2)}
@media(max-width:700px){.promo{display:none}}

.demo{position:fixed; right:16px; bottom:calc(16px + env(safe-area-inset-bottom,0px)); z-index:80;
  background:var(--ink); color:var(--ground); font-size:10.5px; font-weight:700; padding:8px 14px;
  border-radius:999px; letter-spacing:.06em; box-shadow:var(--sh-2); opacity:.9}
/* Плашка меняет цвет вместе с источником данных: зелёная — цифры с
   backend, янтарная — подключение настроено, но ответа нет. */
.demo--live{background:#0B7A4B; color:#fff; opacity:1}
.demo--warn{background:#9A5B00; color:#fff; opacity:1}

/* ═══════════ ЭКРАН ПРОВЕРКИ СВЯЗИ ═══════════ */
.apiv{display:flex; align-items:center; gap:14px; margin-top:22px; padding:18px 20px;
  border-radius:var(--r-l); border:1px solid var(--line-soft); background:var(--surface)}
.apiv__ic{width:46px; height:46px; border-radius:14px; flex:none; display:grid; place-items:center}
.apiv b{display:block; font-size:16px; line-height:1.3}
.apiv > div > span{display:block; font-size:13.5px; color:var(--ink-2); margin-top:3px}
.apiv--ok{background:color-mix(in srgb,#12B76A 9%,var(--surface)); border-color:color-mix(in srgb,#12B76A 32%,transparent)}
.apiv--ok .apiv__ic{background:#12B76A; color:#fff}
.apiv--bad{background:color-mix(in srgb,#D92D20 8%,var(--surface)); border-color:color-mix(in srgb,#D92D20 30%,transparent)}
.apiv--bad .apiv__ic{background:#D92D20; color:#fff}
.apiv--off .apiv__ic{background:var(--tint); color:var(--ink-3)}
.apierr{color:#B42318; font-size:13px; line-height:1.5}
:root[data-theme="dark"] .apierr{color:#FDA29B}
.apiraw{margin-top:10px; padding:13px 15px; border-radius:12px; background:var(--tint-2);
  border:1px solid var(--line-soft); font-family:var(--f-tech,ui-monospace,monospace);
  font-size:12px; line-height:1.55; color:var(--ink-2); white-space:pre-wrap;
  word-break:break-word; max-height:340px; overflow:auto}
body.has-promo .demo{bottom:calc(80px + env(safe-area-inset-bottom,0px))}
@media(max-width:600px){.demo{font-size:9.5px; padding:6px 11px; right:10px}}

.sprog{position:fixed; top:0; left:0; right:0; height:3px; z-index:100; pointer-events:none;
  background:var(--brand-2); transform:scaleX(0); transform-origin:0 50%}
@supports (animation-timeline: scroll()){
  .sprog{animation:sprogA linear; animation-timeline:scroll(root)}
  @keyframes sprogA{from{transform:scaleX(0)}to{transform:scaleX(1)}}
}

/* ═══════════════ ДВИЖЕНИЕ ═══════════════ */
/* Блоки, которые выезжают вбок, до появления сдвинуты за край и тянут
   за собой горизонтальную прокрутку. Срезаем её на самом контейнере
   страницы: clip, а не hidden, — тогда #view не становится скроллером
   и не ломает ни прилипшую шапку, ни притяжение к разделам.
   На body такое правило вешать нельзя: оттуда overflow уезжает на
   вьюпорт, и содержимое остаётся «широким» для измерений. */
#view, footer{overflow-x:clip}
.js [data-rv]{opacity:0}
.js [data-rv="up"]{transform:translate3d(0,30px,0)}
.js [data-rv="down"]{transform:translate3d(0,-22px,0)}
.js [data-rv="left"]{transform:translate3d(-34px,0,0)}
.js [data-rv="right"]{transform:translate3d(34px,0,0)}
.js [data-rv="scale"]{transform:scale(.955)}
.js [data-rv="blur"]{filter:blur(8px); transform:translate3d(0,18px,0)}
.js [data-rv].in{opacity:1; transform:none; filter:none;
  transition:opacity var(--dur,.75s) var(--ease-out) var(--d,0s),
             transform calc(var(--dur,.75s) + .12s) var(--ease-out) var(--d,0s),
             filter var(--dur,.75s) var(--ease-out) var(--d,0s)}

/* герой появляется чистым CSS — стартует с первым кадром, не ждёт скрипт */
.hin{animation:heroIn .58s var(--ease-out) both; animation-delay:var(--d,0s)}
/* Капслок без разрядки читается тяжелее строчных: добавляем воздух
   между буквами и чуть уменьшаем кегль, чтобы строка не разъехалась. */
.hin--caps{letter-spacing:-.005em; line-height:1.08}
.hin--r{animation-name:heroInR; animation-duration:.85s}
@keyframes heroIn{from{opacity:0; transform:translate3d(0,18px,0)}}
@keyframes heroInR{from{opacity:0; transform:translate3d(36px,0,0) scale(.96)}}
@keyframes bob{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-9px,0)}}
@keyframes float{0%,100%{transform:translateY(0) rotate(var(--rot,0deg))}
  50%{transform:translateY(-12px) rotate(var(--rot,0deg))}}
@keyframes drift{to{transform:translate3d(3%,-3%,0) scale(1.08)}}
.aurora i{animation:drift 30s ease-in-out infinite alternate}
.aurora i:nth-child(2){animation-duration:38s; animation-direction:alternate-reverse}
.aurora i:nth-child(3){animation-duration:46s}

.fchip{position:absolute; display:flex; align-items:center; gap:8px; background:var(--surface);
  border:1px solid var(--line-soft); border-radius:999px; padding:9px 15px; font-size:12.5px;
  font-weight:700; box-shadow:var(--sh-2); white-space:nowrap; z-index:5;
  animation:chipIn .7s .6s both, bob 7s 1.4s ease-in-out infinite}
.fchip--a{top:4%; left:-2%}
.fchip--b{bottom:6%; right:-2%; animation:chipIn .7s .8s both, bob 8s 1.7s ease-in-out infinite reverse}
@keyframes chipIn{from{opacity:0}}
@media(max-width:560px){.fchip{font-size:10.5px; padding:7px 12px} .fchip--a{left:0} .fchip--b{right:0}}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .js [data-rv]{opacity:1!important; transform:none!important; filter:none!important; transition:none!important}
  .hin,.fchip,.aurora i,.marq__t{animation:none!important}
  .sprog{display:none}
  .btn--grad::after,.btn--primary::after{display:none}
  *{animation-duration:.01ms!important; animation-iteration-count:1!important}
}


/* ═══════════════ ПОМОЩНИК (квиз) ═══════════════ */
.gz{position:relative; max-width:660px; margin-inline:auto; padding:0 22px clamp(40px,7vw,90px)}
@media(max-width:560px){.gz{padding-inline:16px}}

.gz__top{position:relative; z-index:2; padding:16px 0 20px}
.gz__nav{display:flex; align-items:center; gap:12px; margin-bottom:13px}
.gz__back{width:38px; height:38px; border-radius:50%; border:1.5px solid var(--line);
  background:var(--surface); display:grid; place-items:center; color:var(--ink-2); font-size:16px;
  transition:.2s var(--ease); flex:none}
.gz__back:hover{border-color:var(--brand-2); color:var(--brand-2)}
.gz__back[disabled]{opacity:.32; pointer-events:none}
.gz__count{font-size:12.5px; font-weight:700; color:var(--ink-3); font-variant-numeric:tabular-nums}
.gz__exit{margin-left:auto; font-size:13px; font-weight:600; color:var(--ink-3)}
.gz__exit:hover{color:var(--brand-2)}
.gz__prog{height:6px; border-radius:99px; background:var(--surface-2); overflow:hidden}
.gz__prog i{display:block; height:100%; width:0; border-radius:99px; background:var(--brand-2);
  transition:width .62s var(--ease-out)}

.gz__stage{position:relative; transition:height .5s var(--ease-out)}
.gz__slide{position:absolute; inset:0 0 auto 0; opacity:0; pointer-events:none;
  transform:translate3d(46px,0,0) scale(.965); filter:blur(3px);
  transition:opacity .4s var(--ease-out), transform .55s var(--ease-out), filter .4s var(--ease-out)}
.gz__slide.on{opacity:1; transform:none; filter:none; pointer-events:auto}
.gz__slide.past{transform:translate3d(-46px,0,0) scale(.965)}

.gz__lead{font-size:13px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color:var(--brand-2); margin-bottom:12px}
.gz__q{font-family:var(--f-display); font-weight:700; letter-spacing:-.02em; line-height:1.14;
  font-size:clamp(24px,3.9vw,34px)}
.gz__hint{color:var(--ink-2); font-size:15px; margin-top:12px}

/* варианты ответа */
.gz__opts{display:grid; gap:11px; margin-top:26px}
/* «выбрать всё» и «дальше» под множественным выбором */
.gz__row{display:flex; align-items:center; justify-content:space-between; gap:14px;
  margin-top:18px; flex-wrap:wrap}
.gz__row .btn--grad{margin-left:auto}
.opt2{display:flex; align-items:center; gap:15px; padding:17px 19px; border-radius:20px; text-align:left;
  border:1.5px solid var(--line); background:var(--surface); width:100%;
  transition:transform .2s var(--ease), border-color .2s, box-shadow .26s var(--ease)}
.opt2:hover{border-color:var(--brand-2); transform:translateY(-2px); box-shadow:var(--sh-2)}
.opt2:active{transform:scale(.985)}
.opt2.sel{border-color:var(--brand-2); box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-2) 18%,transparent)}
.opt2__ic{width:52px; height:52px; border-radius:17px; background:var(--tint); flex:none;
  display:grid; place-items:center; font-size:24px; transition:transform .3s var(--ease-out)}
.opt2.sel .opt2__ic{transform:scale(1.06) rotate(-4deg)}
.opt2__t{min-width:0}
.opt2__t b{display:block; font-size:16.5px; font-weight:700; letter-spacing:-.015em; line-height:1.25}
.opt2__t span{display:block; font-size:13px; color:var(--ink-3); margin-top:3px; line-height:1.4}
.opt2__chk{margin-left:auto; flex:none; width:27px; height:27px; border-radius:50%;
  border:2px solid var(--line); display:grid; place-items:center; transition:.26s var(--ease-out)}
.opt2.sel .opt2__chk{background:var(--brand-2); border-color:transparent; transform:scale(1.08)}
.opt2__chk svg{width:15px; height:15px; display:block}
.opt2__chk path{fill:none; stroke:#fff; stroke-width:3.2; stroke-linecap:round; stroke-linejoin:round;
  stroke-dasharray:24; stroke-dashoffset:24; transition:stroke-dashoffset .34s .06s var(--ease-out)}
.opt2.sel .opt2__chk path{stroke-dashoffset:0}

/* выбор страны */
.gz__search{display:flex; align-items:center; gap:10px; background:var(--surface);
  border:1.5px solid var(--line); border-radius:999px; padding:12px 18px; margin-top:22px}
.gz__search input{flex:1; min-width:0; border:0; background:none; outline:none; font-size:15px; font-weight:600}
.gz__search input::placeholder{color:var(--ink-3); font-weight:500}
.gz__grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:16px}
@media(max-width:560px){.gz__grid{grid-template-columns:minmax(0,1fr)}}
/* строка страны: флаг, название, цена «от» — как в каталоге на главной */
.gzc{display:flex; align-items:center; gap:12px; text-align:left; padding:13px 15px;
  border-radius:15px; background:var(--surface); border:1px solid var(--line-soft);
  box-shadow:var(--sh-1); transition:transform .22s var(--ease-out), box-shadow .22s, border-color .22s}
.gzc:hover{transform:translateY(-2px); box-shadow:var(--sh-2); border-color:var(--brand-2)}
.gzc:active{transform:scale(.99)}
.gzc .flag{flex:none}
.gzc__t{display:flex; flex-direction:column; min-width:0; flex:1}
.gzc__t b{font-size:14.5px; font-weight:700; letter-spacing:-.01em;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.gzc__t i{font-style:normal; font-size:12px; color:var(--ink-3); margin-top:2px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.gzc__p{flex:none; font-size:12px; color:var(--ink-3); white-space:nowrap}
.gzc__p b{display:block; font-size:14px; color:var(--brand-2); font-variant-numeric:tabular-nums}
.gz__more{margin-top:14px; text-align:center}

/* проверка телефона */
.gz__check{margin-top:14px; border-radius:20px; background:var(--tint-2);
  border:1px solid var(--line-soft); padding:18px 20px; display:grid; grid-template-rows:0fr;
  transition:grid-template-rows .42s var(--ease-out), padding .3s, margin .3s}
.gz__check.hide{grid-template-rows:0fr; padding-block:0; margin-top:0; border-color:transparent}
.gz__check.show{grid-template-rows:1fr}
.gz__check > div{overflow:hidden; min-height:0}
.gz__dial{display:inline-flex; align-items:center; gap:10px; background:var(--surface);
  border:1.5px solid var(--line); border-radius:14px; padding:11px 17px; margin-block:12px;
  font-family:var(--f-tech); font-size:19px; font-weight:600; letter-spacing:.06em}

/* результат */
.gz__win{text-align:center}
.gz__card{max-width:340px; margin:0 auto 26px;
  animation:cardIn .85s var(--ease-out) both}
@keyframes cardIn{
  from{opacity:0; transform:translate3d(0,34px,0) rotate(-5deg) scale(.9)}
  to{opacity:1; transform:none}}
.gz__save{display:inline-flex; align-items:center; gap:8px; background:color-mix(in srgb,var(--signal) 14%,transparent);
  color:var(--signal); border-radius:999px; padding:9px 17px; font-size:13.5px; font-weight:700; margin-bottom:18px}
.gz__price{font-family:var(--f-display); font-weight:600; letter-spacing:-.05em; line-height:1;
  font-size:clamp(38px,7vw,56px); font-variant-numeric:tabular-nums}
.gz__alt{color:var(--ink-3); font-size:14px; margin-top:8px; font-variant-numeric:tabular-nums}
.gz__spec{display:flex; justify-content:center; gap:10px; flex-wrap:wrap; margin-top:20px}
.gz__next{display:grid; gap:12px; margin-top:30px; text-align:left}
.gz__nx{display:flex; gap:14px; align-items:flex-start; background:var(--surface);
  border:1px solid var(--line-soft); border-radius:17px; padding:15px 17px}
.gz__nx i{width:28px; height:28px; border-radius:50%; background:var(--brand-2); color:#fff; flex:none;
  display:grid; place-items:center; font-style:normal; font-size:12.5px; font-weight:800}
.gz__nx b{display:block; font-size:14.5px}
.gz__nx span{display:block; font-size:13px; color:var(--ink-3); margin-top:2px}
.gz__cta{display:grid; gap:10px; margin-top:28px}

/* тупик: телефон без eSIM */
.gz__stop{background:var(--surface); border:1px solid var(--line-soft); border-radius:22px;
  padding:26px; text-align:center; margin-top:24px}
.gz__stop .ic{font-size:36px; display:block; margin-bottom:12px}

/* кнопка входа в помощник */
/* белая кнопка-таблетка: та же форма, что у соседней «Рассчитать, сколько ГБ нужно» */
.btn--pill{border-radius:999px}
.helpbtn{display:inline-flex; align-items:center; gap:10px; padding:13px 22px; border-radius:999px;
  background:var(--surface); border:1.5px solid var(--line); font-weight:700; font-size:14.5px;
  position:relative; overflow:hidden; transition:transform .22s var(--ease), border-color .22s, box-shadow .26s}
.helpbtn:hover{border-color:var(--brand-2); transform:translateY(-2px); box-shadow:var(--sh-2)}
.helpbtn__ic{width:26px; height:26px; border-radius:50%; background:var(--brand-2); color:#fff;
  display:grid; place-items:center; font-size:14px; font-weight:800; flex:none}
.helpbtn::after{content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
  background:linear-gradient(110deg,transparent 30%,color-mix(in srgb,var(--brand-2) 22%,transparent) 50%,transparent 70%);
  transform:translateX(-120%); animation:helpSweep 4.6s 1.6s var(--ease) infinite}
@keyframes helpSweep{0%{transform:translateX(-120%)}32%,100%{transform:translateX(120%)}}
@media (prefers-reduced-motion: reduce){
  .helpbtn::after{animation:none}
  .gz__slide{transition:opacity .2s; transform:none!important; filter:none!important}
  .gz__card{animation:none}
}

/* ═══════════ РАСПРЕДЕЛЕНИЕ НАЧЕРТАНИЙ ═══════════
   Заголовки — Sharp Sans Bold. Подзаголовки — Montserrat Medium 500.
   Основной текст — Montserrat Light 300. Мелкое и служебное — 400/600,
   иначе Light на 12–13 px перестаёт читаться. */
p,li,td,.rev p,.acc__a p,.hstep p,.step p,.inst__c p{font-weight:300}
.lede,.gz__hint{font-weight:400}

/* подзаголовки */
h4,.panel__h h3,.hstep h4,.step h4,.inst__c h4,.gz__nx b,.opt2__t b,
.statcard__v,.sim__h b,.rev__u b{font-weight:500}

/* интерфейс: кнопки, метки, цифры — иначе теряются */
.btn,.pill,.eyebrow,th,.stat__l,.tstat span,.gz__lead,.picker__lab,
.nav__links a,.sel__btn,.fcol h5,.ptabs button,.tabs button,.anav button,
.acc__q,.gz__count,.chip,.opt b,.dpill,.gcard__n,.gcard__pr,.psum__t,
.bar__v,.kv dd,.ccard .nm,.ccard .pr .v,.ccard .pr .f,.marq a b,
.dcard__n,.dcard__p b,.pickinfo__specs div b,.pickinfo__specs div span,
.sc__ctry,.sc__price b,.sc__meta,.gz__save,.promo__t b,.helpbtn,
.search__res button,.fbar input,.hsearch input,.gz__search input{font-weight:600}

/* мелкий и второстепенный текст — 400, не Light */
.sub,.gcard__s,.dcard__s,.opt2__t span,.gz__nx span,.stat__d,.sim__iccid,
.pnote,.gz__alt,.ticket__was,.ticket__alt,.ticket__meta,.crumb,.fbot,
.sel__menu .k,.marq a,.fcol a,.rev__u span,.sc__price i,.sc__ctry span,
.opt span,.chip span,.psum__p i,.pickinfo__pr i,.pickinfo__pr s,
.demo,.promo__t,.fchip,.statcard__l,.value-cell .lab{font-weight:400}

/* крупные числа остаются в заголовочном шрифте */
.stat__v,.tstat b,.value-cell .big,.ticket__data,.ticket__price,.sc__gb,
.gz__price,.psum__p b,.pickinfo__pr b,.hstep__n,.ghost{font-family:var(--f-display); font-weight:700}
.sc__gb i{font-family:var(--f-ui); font-weight:600}

/* ═══════════ ИКОНКИ И КОДЫ СТРАН ═══════════ */
.ico{width:1.05em; height:1.05em; flex:none; display:inline-block; vertical-align:-.15em;
  fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round}
.ico--mute{color:var(--ink-3)}
.ico--brand{color:var(--brand-2)}
.ico--cyan{color:var(--cyan)}
.ico--ok{color:#12B76A}
.icobtn .ico{width:17px; height:17px}
.btn .ico,.helpbtn .ico{width:17px; height:17px}


/* код страны — запасной вариант, если флага нет */
.cc{display:inline-flex; align-items:center; justify-content:center; flex:none;
  min-width:31px; height:23px; padding:0 7px; border-radius:8px;
  background:var(--surface-2); color:var(--ink-2);
  font-size:10.5px; font-weight:700; letter-spacing:.08em}
.marq .cc,.search__res .cc{background:var(--tint); color:var(--brand-2)}
.psum .cc,.pickinfo .cc{min-width:34px; height:25px; font-size:11px}

/* звёзды — теперь вектор */
.stars{display:inline-flex; gap:2px; align-items:center; color:#F3A712}
.stars .ico{width:15px; height:15px; fill:currentColor; stroke:currentColor; stroke-width:1}

/* подсказки у телефона */
.fchip__d{width:7px; height:7px; border-radius:50%; background:var(--signal); flex:none}

/* галочки в тёмной секции */
.checks div{align-items:center}
.checks .ico{margin-top:1px}
.statcard__ic .ico{stroke-width:2.6; width:17px; height:17px}

/* плитки стран в макете телефона */

/* вариант ответа без иконки */
.opt2--plain{padding-block:19px}
.opt2--plain .opt2__t b{font-size:17px}

/* ═══════════ МЕНЬШЕ ПЕСТРОТЫ ═══════════
   Плашки под иконками были залиты градиентом — на странице получалось
   слишком много ярких пятен. Заливка мягкая, цветом остаётся сам контур. */
.hstep__i{background:var(--tint); color:var(--brand-2); box-shadow:none}
.opt2__ic{background:var(--tint); color:var(--brand-2)}
.rev__av{background:var(--tint); color:var(--brand-2)}
.gz__nx i{background:var(--tint); color:var(--brand-2); font-weight:700}
.statcard__ic{background:rgba(53,210,240,.16); color:var(--cyan)}
.inst__n{background:var(--tint); color:var(--brand-2)}

/* ═══════════ РИТМ СЕКЦИЙ ═══════════
   Чередование фонов задаёт спокойный ритм без липких карточек. */
/* Воздух между блоками: на мониторе он был почти 100px сверху и снизу,
   из-за чего страница растягивалась на десять экранов. Теперь плотнее,
   а на телефоне — ещё плотнее, там каждый пиксель высоты на счету. */
.stk__in > section{padding-block:clamp(26px,3.2vw,54px)!important}
@media(max-width:700px){
  section{padding-block:24px}
  .stk__in > section{padding-block:22px!important}
}
/* Блоки не разделяются линией. Каждая секция сплошного цвета, а сверху
   лежит растворяющаяся полоса цвета предыдущей секции — на самой границе
   она совпадает с ним точь-в-точь, поэтому стыка не видно. */
.stk__in{position:relative}
.stk__in::before{content:""; position:absolute; inset:0 0 auto; height:110px;
  z-index:0; pointer-events:none}
.stk__in > section{position:relative; z-index:1}
.stk__in--a{background:var(--sky-1)}
.stk__in--a::before{background:linear-gradient(180deg,var(--surface),transparent)}
.stk__in--b{background:var(--surface); border:0}
.stk__in--b::before{background:linear-gradient(180deg,var(--sky-1),transparent)}
.stk__in--last{background:var(--sky-1); border:0}
/* skybg на секциях стека не используем: его ::before перебивал слой перехода */

/* ═══════════ ГЛУБИНА ПРИ ПРОКРУТКЕ ═══════════
   Содержимое секции выходит из-за экрана и встаёт на место.
   Эффект привязан к колесу — работает в обе стороны. Только десктоп. */
@media(min-width:1024px) and (prefers-reduced-motion:no-preference){
  .stk__in > section > .wrap{will-change:transform,opacity}
  .hero__in,.marq{will-change:transform,opacity}
}
/* заголовок проявляется из-под маски, а не выцветает */
.js [data-rv="mask"]{opacity:1; clip-path:inset(0 0 106% 0); transform:translate3d(0,14px,0)}
.js [data-rv="mask"].in{clip-path:inset(0 0 -12% 0); transform:none;
  transition:clip-path .95s var(--ease-out) var(--d,0s), transform .95s var(--ease-out) var(--d,0s)}
@media (prefers-reduced-motion: reduce){
  .js [data-rv="mask"]{clip-path:none!important; transform:none!important}
}


/* ═══════════ ФЛАГИ ═══════════ */
.flag{width:24px; height:16px; border-radius:3px; flex:none; display:inline-block;
  vertical-align:-.2em; box-shadow:inset 0 0 0 .6px rgba(0,0,0,.16); overflow:hidden}
.flag--lg{width:46px; height:31px; border-radius:6px; vertical-align:middle;
  box-shadow:0 2px 8px -3px rgba(6,14,43,.4), inset 0 0 0 .6px rgba(0,0,0,.14)}
.flag--card{width:21px; height:14px; margin-right:9px; vertical-align:-.15em;
  box-shadow:0 1px 4px rgba(0,0,0,.4), inset 0 0 0 .6px rgba(255,255,255,.22)}
.flag--x{display:inline-flex; align-items:center; justify-content:center; font-size:8px;
  font-weight:700; background:var(--surface-2); color:var(--ink-3)}
/* флаг в переключателях языка и валюты */
.flag--sel{width:20px; height:13.5px; border-radius:2.5px; vertical-align:-.1em}
.sel__menu .flag--sel{width:24px; height:16px; border-radius:3px}
.gcard__body{display:flex; align-items:center}
.pill .flag{width:18px; height:12px; margin-right:2px}

/* ═══════════ ТЁМНАЯ ТЕМА: ДОВОДКА ═══════════
   Чёрный фон, серые блоки, синие кнопки. */
/* в тёмной теме цвета секций берутся из тех же переменных, что и в светлой —
   иначе слой перехода стыкуется не с тем цветом */
:root[data-theme="dark"] .dsec,
:root[data-theme="dark"] .band{background:#161618}
:root[data-theme="dark"] .dsec::before{background:radial-gradient(circle,rgba(47,107,232,.30),transparent 66%)}
:root[data-theme="dark"] .dsec::after{background:radial-gradient(circle,rgba(63,201,232,.14),transparent 66%)}
:root[data-theme="dark"] .band::before{background:radial-gradient(circle,rgba(47,107,232,.28),transparent 66%)}
:root[data-theme="dark"] .picker{background:#1E1E22; color:#F2F2F4;
  box-shadow:0 30px 70px -28px rgba(0,0,0,1)}
:root[data-theme="dark"] .picker__sel,
:root[data-theme="dark"] .opt,
:root[data-theme="dark"] .chip{background:#26262B; border-color:#33333A; color:#F2F2F4}
:root[data-theme="dark"] .opt b,
:root[data-theme="dark"] .chip{color:#F2F2F4}
:root[data-theme="dark"] .opt span,
:root[data-theme="dark"] .chip span,
:root[data-theme="dark"] .picker__lab,
:root[data-theme="dark"] .psum__p i,
:root[data-theme="dark"] .pnote{color:#8E8E98}
:root[data-theme="dark"] .opt.on,
:root[data-theme="dark"] .chip.on{border-color:var(--brand-2); box-shadow:0 0 0 3px rgba(76,136,245,.22)}
:root[data-theme="dark"] .chip.on{color:var(--brand-3)}
:root[data-theme="dark"] .psum{background:#111114}
:root[data-theme="dark"] .psum__t{color:#F2F2F4}
:root[data-theme="dark"] .psum__p b{color:var(--brand-3)}
:root[data-theme="dark"] .qrbox{background:#fff}

/* карточка купленного тарифа после оплаты */
.okcards{max-width:520px; margin-inline:auto}
.okcards > .panel{display:flex; flex-direction:column}
.sent__when{margin-top:16px; padding-top:16px; border-top:1px solid var(--line-soft);
  font-size:12.5px; color:var(--ink-3); line-height:1.55}
/* кнопка Telegram рядом с «Как настроить eSIM» */
.btn--tg{gap:8px; background:#229ED9; color:#fff; border:1px solid #229ED9}
.btn--tg:hover{background:#1E8CC0; border-color:#1E8CC0}
:root[data-theme="dark"] .aurora i{opacity:.16}
:root[data-theme="dark"] .aurora i:nth-child(1){background:#1B3E9E}
:root[data-theme="dark"] .aurora i:nth-child(2){background:#0E4F66}
:root[data-theme="dark"] .aurora i:nth-child(3){background:#191A3C}
:root[data-theme="dark"] .grain{opacity:.1}
:root[data-theme="dark"] .marq::before{background:linear-gradient(90deg,var(--surface),transparent)}
:root[data-theme="dark"] .marq::after{background:linear-gradient(270deg,var(--surface),transparent)}
:root[data-theme="dark"] .flag{box-shadow:inset 0 0 0 .6px rgba(255,255,255,.22)}

/* ═══════════ ПЕРЕКЛЮЧАТЕЛЬ ТЕМЫ ═══════════ */
.themesw{position:relative; width:52px; height:30px; border-radius:999px; flex:none; padding:0;
  background:var(--surface-2); border:1px solid var(--line);
  transition:background .3s var(--ease), border-color .3s}
.themesw:hover{border-color:var(--brand-2)}
.themesw__knob{position:absolute; top:2px; left:2px; width:24px; height:24px; border-radius:50%;
  background:var(--grad); color:#fff; display:grid; place-items:center;
  box-shadow:0 2px 8px -2px rgba(10,51,151,.7);
  transition:transform .34s var(--ease-out), background .3s}
.themesw__knob .ico{width:15px; height:15px; stroke-width:2}
:root[data-theme="dark"] .themesw{background:#1C1C20; border-color:#33333A}
:root[data-theme="dark"] .themesw__knob{transform:translateX(22px)}
@media(max-width:430px){
  .themesw{width:46px; height:27px}
  .themesw__knob{width:21px; height:21px}
  :root[data-theme="dark"] .themesw__knob{transform:translateX(19px)}
}


/* ═══════════ ЗАГОЛОВОК СЕКЦИИ В КОЛОНКУ ═══════════ */
.shead--col{display:block; max-width:none}
.shead--col h2{margin:0; max-width:22em}
.shead--col .lede{margin-top:12px; max-width:52ch}


/* ═══════════ МАРШРУТ В ГЕРОЕ ═══════════ */
.harc{position:absolute; inset:-14% -4% auto -13%; width:116%; height:auto;
  pointer-events:none; z-index:0; opacity:.55}
.harc__p{fill:none; stroke:var(--brand-2); stroke-width:2.4; stroke-linecap:round;
  stroke-dasharray:7 10; opacity:.5}
.harc__o{fill:var(--surface); stroke:var(--brand-2); stroke-width:3}
.harc__pl{fill:var(--brand-2)}
@media(prefers-reduced-motion:no-preference){
  .harc__p{stroke-dashoffset:340; animation:arcDraw 1.5s .5s var(--ease-out) forwards}
  .harc__pl{opacity:0; animation:arcPl .7s 1.5s var(--ease-out) forwards}
}
@keyframes arcDraw{to{stroke-dashoffset:0}}
@keyframes arcPl{from{opacity:0; transform:translate(348px,54px) rotate(14deg)}
  to{opacity:1; transform:translate(360px,44px) rotate(14deg)}}
@media(max-width:900px){.harc{display:none}}
/* ═══════════ СЦЕНАРИИ ПОЕЗДКИ ═══════════ */
/* ═══════ ПЕРВЫЕ МИНУТЫ В СТРАНЕ ═══════
   Вместо четырёх одинаковых плиток — лента уведомлений, которые прилетают
   сразу после посадки. Иконки настоящие, из assets/apps. */
.tnow{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.92fr);
  gap:clamp(26px,3.6vw,56px); align-items:center; margin-top:8px}
.tnow__t h2{margin-top:2px}
.tnow__more{display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-top:24px;
  font-size:13.5px; color:var(--ink-3)}
.tnow__more span{min-width:0}
.tnow__more img{width:26px; height:26px; border-radius:7px; flex:none}

.tnow__feed{display:grid; gap:10px; min-width:0}
/* строка состояния над лентой */
.tnow__st{display:inline-flex; align-items:center; gap:9px; justify-self:start;
  background:var(--surface); border:1px solid var(--line-soft); border-radius:999px;
  padding:7px 15px 7px 13px; font-size:12.5px; font-weight:600; color:var(--ink-2);
  box-shadow:var(--sh-1); margin-bottom:4px}
.tnow__st i{width:8px; height:8px; border-radius:50%; background:#12B76A; flex:none;
  box-shadow:0 0 0 3px rgba(18,183,106,.18)}
.tnow__st b{color:var(--brand-2); font-weight:700; letter-spacing:.02em}
@media(prefers-reduced-motion:no-preference){
  .tnow__st i{animation:tnowDot 2.4s var(--ease) infinite}
}
@keyframes tnowDot{
  0%,100%{box-shadow:0 0 0 3px rgba(18,183,106,.18)}
  50%    {box-shadow:0 0 0 7px rgba(18,183,106,.04)}
}

/* само уведомление */
.noti{display:flex; align-items:flex-start; gap:13px; min-width:0;
  background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--r-l);
  padding:14px 17px; box-shadow:0 3px 10px rgba(6,14,43,.05), 0 18px 34px -26px rgba(10,51,151,.5);
  transition:transform .3s var(--ease-out), box-shadow .3s var(--ease)}
.noti:hover{transform:translateY(-3px); box-shadow:var(--sh-2)}
.noti img{width:38px; height:38px; border-radius:10px; flex:none}
.noti__b{min-width:0; flex:1}
.noti__h{display:flex; align-items:baseline; gap:9px}
.noti__h b{font-size:14px; font-weight:700; letter-spacing:-.01em}
.noti__h i{font-style:normal; font-size:11.5px; color:var(--ink-3); margin-left:auto; flex:none}
.noti p{font-size:13.5px; color:var(--ink-2); line-height:1.5; margin-top:3px}

@media(max-width:900px){
  .tnow{grid-template-columns:minmax(0,1fr); gap:28px}
}
@media(max-width:480px){
  .noti{padding:12px 14px; gap:11px}
  .noti img{width:34px; height:34px}
  .tnow__more{font-size:12.5px}
}

/* ═══════════ ОДНА eSIM — МНОГО ПОЕЗДОК ═══════════ */
.usp{display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center;
  background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--r-xl);
  padding:48px 46px; box-shadow:var(--sh-2)}
.usp h2{margin:0}
.usp .lede{margin-top:16px}
.route{display:grid; grid-template-columns:auto 1fr; gap:26px; align-items:center; min-width:0}
.route__ph{width:186px; height:353px; border-radius:32px; flex:none; position:relative;
  background:var(--brand-2); padding:6px; box-shadow:var(--sh-2)}
.route__scr{position:absolute; inset:6px; border-radius:26px; background:var(--surface);
  display:grid; place-content:center; justify-items:center; gap:4px; color:var(--brand-2); text-align:center}
.route__scr b{font-size:13px; font-weight:700; color:var(--ink); font-family:var(--f-display)}
.route__scr i{font-style:normal; font-size:10.5px; color:var(--ink-3)}
.route__l{list-style:none; margin:0; padding:0; position:relative; min-width:0; display:grid; gap:4px}
.route__l::before{content:""; position:absolute; left:5px; top:14px; bottom:14px; width:2px;
  background:var(--brand-2); border-radius:2px; opacity:.35}
/* Колонке с текстом задан не ноль, а 78px: с minmax(0,…) она при нехватке
   места схлопывалась в ноль, и названия городов вставали в столбик по букве. */
.route__l li{display:grid; grid-template-columns:12px auto minmax(78px,1fr) auto;
  align-items:center; gap:11px; padding:9px 0; min-width:0}
.route__d{width:12px; height:12px; border-radius:50%; background:var(--surface);
  border:2.5px solid var(--brand-2); position:relative; z-index:1}
.route__l li:first-child .route__d{background:var(--brand-2)}
.route__l .flag{width:26px; height:18px; flex:none}
.route__x{min-width:0; overflow-wrap:break-word}
.route__l b{display:block; font-size:15px; font-weight:600; line-height:1.25}
.route__l i{display:block; font-style:normal; font-size:12px; color:var(--ink-3); margin-top:2px}
.route__w{font-size:11.5px; font-weight:600; color:var(--brand); background:var(--tint);
  border-radius:999px; padding:5px 11px; white-space:nowrap; justify-self:end}
:root[data-theme="dark"] .route__w{color:var(--brand-3)}
/* подпись занимает обе колонки: иначе она раздувает колонку с телефоном */
.route__cta{margin-top:16px}
.route__h{display:none}            /* нужен только на телефоне, см. блок плотности */
.route__note{grid-column:1 / -1; display:grid; grid-template-columns:auto 1fr; gap:9px;
  align-items:start; margin:14px 0 0; font-size:12.5px; line-height:1.55; color:var(--ink-3)}
@media(max-width:640px){
  .route__l li{grid-template-columns:12px auto minmax(0,1fr); row-gap:2px}
  .route__w{grid-column:3; justify-self:start; margin-top:4px}
}
/* На узких ноутбуках телефон чуть меньше: освободившиеся 30px уходят
   строкам маршрута, иначе «новый тариф на той же eSIM» ломается в три. */
@media(max-width:1280px){
  .route{gap:20px}
  .route__ph{width:160px; height:304px}
}
/* В две колонки блок встаёт только от 1100px. Раньше порог был 900,
   и на узком ноутбуке на список оставалось около 10px ширины. */
@media(max-width:1100px){.usp{grid-template-columns:minmax(0,1fr); gap:34px; padding:34px 26px}}
@media(max-width:480px){.route{grid-template-columns:minmax(0,1fr); gap:20px; justify-items:start}
  .route__ph{width:152px; height:288px}}

/* ═══════════ СРАВНЕНИЕ ═══════════ */
/* три колонки одной высоты: карточки растягиваются, а не подгоняются
   под свой текст — иначе «Роуминг» и «Местная SIM» выглядят обрезками */
.cmp{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:32px;
  align-items:stretch}
.cmp__c{position:relative; overflow:hidden;
  background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--r-l);
  padding:26px 24px 28px; box-shadow:var(--sh-1); min-width:0}
/* цветная полоса сверху — единственное, что отличает колонки по смыслу */
.cmp__c::before{content:""; position:absolute; inset:0 0 auto; height:4px; background:var(--line)}
.cmp__c--us{border-color:color-mix(in srgb,#12B76A 45%,transparent); box-shadow:var(--sh-2)}
.cmp__c--us::before{background:#12B76A}
.cmp__h{min-height:30px; display:flex; align-items:center; margin-bottom:18px}
.cmp__h b{font-family:var(--f-display); font-size:19px; font-weight:700; color:var(--ink-2)}
.cmp__c ul{list-style:none; margin:0; padding:0; display:grid; gap:12px}
.cmp__c li{display:grid; grid-template-columns:auto 1fr; gap:10px; align-items:start;
  font-size:14px; line-height:1.45; color:var(--ink-2)}
.cmp__c li .ico{margin-top:1px; color:var(--ink-3)}
.cmp__c--us li{color:var(--ink)}
.cmp__c--us li .ico{color:#14A88B}
@media(max-width:860px){.cmp{grid-template-columns:minmax(0,1fr)}}

/* ═══════════ ПРОВЕРКА ТЕЛЕФОНА ═══════════ */
.dev{display:grid; grid-template-columns:1.15fr .85fr; gap:44px; align-items:center}
.dev h2{margin:0}
.devbox{margin-top:22px; max-width:520px}
.devfield{display:flex; align-items:center; gap:11px; background:var(--surface);
  border:1.5px solid var(--line); border-radius:var(--r-m); padding:4px 6px 4px 16px;
  transition:border-color .2s, box-shadow .24s}
.devfield:focus-within{border-color:var(--brand-2); box-shadow:0 0 0 4px color-mix(in srgb,var(--brand-2) 14%,transparent)}
.devfield input{flex:1; min-width:0; border:0; background:none; outline:none; color:var(--ink);
  font:inherit; font-size:15.5px; padding:13px 0}
.devchips{display:flex; flex-wrap:wrap; gap:8px; margin-top:12px}
.devchips button{font:inherit; font-size:13px; font-weight:500; color:var(--ink-2);
  background:var(--surface); border:1px solid var(--line); border-radius:999px;
  padding:7px 14px; transition:.2s var(--ease)}
.devchips button:hover{border-color:var(--brand-2); color:var(--brand-2); transform:translateY(-1px)}
.devout{margin-top:14px; min-height:0}
.devres{display:grid; grid-template-columns:auto 1fr; gap:14px; align-items:start;
  padding:16px 18px; border-radius:var(--r-m); border:1.5px solid var(--line);
  background:var(--surface); animation:devIn .34s var(--ease-out) both}
@keyframes devIn{from{opacity:0; transform:translateY(8px)}to{opacity:1; transform:none}}
.devres__i{width:38px; height:38px; border-radius:12px; display:grid; place-items:center; flex:none}
.devres b{display:block; font-size:15.5px; font-weight:600}
.devres span{display:block; font-size:13px; line-height:1.5; color:var(--ink-3); margin-top:3px}
.devres--ok{border-color:color-mix(in srgb,#14A88B 45%,transparent)}
.devres--ok .devres__i{background:color-mix(in srgb,#14A88B 14%,transparent); color:#14A88B}
.devres--ok b{color:#0E7C67}
.devres--no{border-color:color-mix(in srgb,var(--hot) 45%,transparent)}
.devres--no .devres__i{background:color-mix(in srgb,var(--hot) 14%,transparent); color:var(--hot)}
.devres--no b{color:var(--hot)}
.devres--maybe .devres__i{background:var(--tint); color:var(--brand-2)}
.devfine{font-size:12.5px; color:var(--ink-3); margin-top:14px; line-height:1.55}
.devfine b{font-family:var(--f-tech); color:var(--ink-2); font-weight:600}
.devart{display:grid; place-items:center}
.devart__p{width:180px; height:340px; border-radius:34px; background:var(--brand-2);
  padding:7px; box-shadow:var(--sh-3); position:relative}
.devart__n{position:absolute; top:18px; left:50%; transform:translateX(-50%);
  width:52px; height:6px; border-radius:6px; background:rgba(255,255,255,.55); z-index:2}
.devart__p::after{content:""; position:absolute; inset:7px; border-radius:28px; background:var(--surface)}
.devart__l{position:absolute; z-index:2; top:52%; left:50%; transform:translate(-50%,-50%);
  font-family:var(--f-tech); font-size:20px; font-weight:700; letter-spacing:.16em; color:var(--brand-2)}
.devart__b{position:absolute; z-index:2; left:50%; transform:translateX(-50%); height:8px;
  border-radius:8px; background:var(--tint); width:96px; top:63%}
.devart__b--s{width:62px; top:69%}
@media(max-width:900px){.dev{grid-template-columns:minmax(0,1fr); gap:30px}
  .devart{display:none}}

/* ═══════════ TRUST-СТРОКА ═══════════ */
.trust{display:flex; flex-wrap:wrap; gap:7px 14px; margin-top:16px;
  padding-top:14px; border-top:1px dashed var(--line)}
.trust span{display:inline-flex; align-items:center; gap:6px; font-size:12px;
  color:var(--ink-3); line-height:1.3; white-space:nowrap}
.trust .ico{color:#14A88B; flex:none}
.trust--light{justify-content:center; margin-top:24px; border-top:0; padding-top:0}
@media(max-width:400px){.trust span{white-space:normal}}

/* ═══════════ ФИНАЛЬНЫЙ ПОИСК ═══════════ */
.endsearch{position:relative; max-width:520px; margin:26px auto 0; text-align:left}

/* ═══════════ ПОДБОР ГИГАБАЙТОВ ═══════════ */
.picker__lab--row{display:flex; align-items:baseline; justify-content:space-between; gap:12px; flex-wrap:wrap}
.gbhelp{font:inherit; font-size:12px; font-weight:500; letter-spacing:0; text-transform:none;
  color:var(--cyan); background:none; border:0; border-bottom:1px dashed currentColor;
  padding:0 0 1px; transition:opacity .2s}
.gbhelp:hover{opacity:.7}
.gbwiz{margin-top:12px; border-radius:var(--r-m); border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.05); padding:18px; animation:devIn .3s var(--ease-out) both}
.gbwiz__q{font-size:14px; font-weight:600; color:#fff; margin-bottom:12px}
.gbwiz__o{display:flex; flex-wrap:wrap; gap:8px}
.gbwiz__o button{font:inherit; font-size:13px; font-weight:500; color:rgba(255,255,255,.88);
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18);
  border-radius:999px; padding:9px 15px; transition:.2s var(--ease)}
.gbwiz__o button:hover{background:rgba(255,255,255,.16); transform:translateY(-1px)}
.gbwiz__r{display:grid; gap:14px}
.gbwiz__r p{font-size:14.5px; line-height:1.5; color:rgba(255,255,255,.9); margin:0}
.gbwiz__r p b{color:var(--cyan); font-weight:700}
.gbwiz__row{display:flex; gap:10px; flex-wrap:wrap}
.gbwiz__x{font:inherit; font-size:12.5px; color:rgba(255,255,255,.6); background:none;
  border:0; text-decoration:underline; padding:0}

/* ═══════════ МЕЛОЧИ ═══════════ */
.gcard__tx{min-width:0}
.gcard__sub{display:block; font-size:11.5px; color:rgba(255,255,255,.8); margin-top:2px;
  line-height:1.3; letter-spacing:.005em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.hstep__fine{display:block; margin-top:8px; font-size:11.5px; color:var(--ink-3)}
.rev__c{display:inline-flex; align-items:center; gap:6px; font-size:11.5px; color:var(--ink-3)}
.rev__c .flag{width:18px; height:12px}
.rev__av{background:var(--av,var(--brand-2))}

/* ═══════════ СПОСОБЫ ОПЛАТЫ ═══════════ */
.paylist{display:grid; grid-template-columns:minmax(0,1fr); gap:10px}
.payopt{display:flex; align-items:center; gap:12px; width:100%; min-width:0; text-align:left;
  padding:15px 15px; border-radius:var(--r-m); border:1.5px solid var(--line);
  background:var(--surface); transition:border-color .2s, box-shadow .24s, transform .2s}
.payopt:hover{border-color:var(--brand-2); transform:translateY(-1px)}
.payopt.on{border-color:var(--brand-2); box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-2) 16%,transparent)}
.payopt__ic{width:44px; height:44px; border-radius:13px; background:var(--tint); color:var(--brand-2);
  display:grid; place-items:center; flex:none}
.payopt__t{min-width:0; flex:1}
.payopt__t b{display:block; font-size:15px; font-weight:600;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.payopt__t span{display:block; font-size:12.5px; color:var(--ink-3); margin-top:2px; line-height:1.35}
.payopt__brands{display:flex; flex-wrap:wrap; gap:5px; align-items:center; margin-top:6px}
.payopt__brands em{font-style:normal; font-size:12px; color:var(--ink-3); margin-left:2px}
.brand-visa{font-style:normal; font-family:var(--f-display); font-size:10.5px; font-weight:700;
  letter-spacing:.02em; color:#1A1F71; background:#fff; border:1px solid var(--line);
  border-radius:4px; padding:3px 5px; line-height:1}
:root[data-theme="dark"] .brand-visa{color:#5B7BFF; background:#1C1C20; border-color:#33333A}
/* Кружок выбора. Раньше это правило было только под тёмной темой —
   в светлой кружка не было вовсе, а галочка торчала у края карточки. */
.payopt__chk{width:24px; height:24px; border-radius:50%; border:2px solid var(--line); flex:none;
  display:grid; place-items:center; color:transparent; transition:.24s var(--ease)}
.payopt.on .payopt__chk{background:var(--brand-2); border-color:transparent; color:#fff}
@media(max-width:360px){.payopt__brands em{display:none}}

/* ═══════════ ПРОМОКОД ═══════════ */
.promo-box{border-top:1px dashed var(--line); margin-top:16px; padding-top:16px}
.promo-box__lab{display:block; font-size:12.5px; font-weight:600; color:var(--ink-2); margin-bottom:9px}
.promo-box__row{display:flex; gap:8px}
.promo-box__row input{flex:1; min-width:0; padding:11px 14px; border:1.5px solid var(--line);
  border-radius:var(--r-m); background:var(--ground); outline:none; font-size:14px;
  font-weight:600; letter-spacing:.06em; text-transform:uppercase}
.promo-box__row input:focus{border-color:var(--brand-2)}
.promo-box__row input:disabled{opacity:.6}
.promo-box__msg{font-size:12.5px; font-weight:600; margin-top:9px}
.promo-box__msg.ok{color:var(--signal)}
.promo-box__msg.err{color:var(--danger)}

/* ═══════════ ЭКРАН ПОСЛЕ ОПЛАТЫ ═══════════ */
/* ─── ожидание подтверждения платежа ─── */
.paywait{text-align:center}
.paywait__sp{display:inline-block; width:40px; height:40px; border-radius:50%;
  border:3px solid var(--line); border-top-color:var(--brand-2)}
@media(prefers-reduced-motion:no-preference){ .paywait__sp{animation:paySpin 0.9s linear infinite} }
@keyframes paySpin{to{transform:rotate(360deg)}}
.paywait.is-ready .paywait__sp{border-color:#12B76A; animation:none}
.paywait__h{font-size:clamp(23px,3.4vw,32px); letter-spacing:-.022em; margin-top:18px}
.paywait__p{margin-top:9px; font-size:14.5px; color:var(--ink-2)}
.paysteps{list-style:none; margin:26px auto 0; max-width:420px; text-align:left; display:grid; gap:2px}
.payst{display:flex; align-items:center; gap:12px; padding:11px 14px; border-radius:14px;
  border:1px solid transparent; transition:background .25s, border-color .25s, opacity .25s}
.payst__ic{width:26px; height:26px; border-radius:50%; flex:none; display:grid; place-items:center;
  background:var(--tint); color:var(--ink-3); transition:background .25s, color .25s}
.payst__ic svg{opacity:0; transition:opacity .25s}
.payst__t b{display:block; font-size:14px; font-weight:600; line-height:1.3}
.payst__t i{display:block; font-style:normal; font-size:12px; color:var(--ink-3); margin-top:2px}
.payst{opacity:.45}
.payst.is-now{opacity:1; background:var(--tint-3); border-color:var(--line-soft)}
.payst.is-now .payst__ic{background:var(--brand-2); color:#fff}
.payst.is-now .payst__ic svg{opacity:1}
.payst.is-done{opacity:1}
.payst.is-done .payst__ic{background:#12B76A; color:#fff}
.payst.is-done .payst__ic svg{opacity:1}
.paywait__n{display:flex; align-items:flex-start; gap:8px; justify-content:center; text-align:left;
  max-width:420px; margin:22px auto 0; font-size:12px; line-height:1.5; color:var(--ink-3)}
.paywait__n svg{flex:none; margin-top:1px}

.okhead{text-align:center}
.okhead__ic{width:64px; height:64px; border-radius:50%; background:#12B76A; color:#fff;
  box-shadow:0 0 0 8px color-mix(in srgb,#12B76A 14%,transparent);
  display:inline-grid; place-items:center; box-shadow:0 14px 30px -12px rgba(10,51,151,.8);
  animation:okPop .6s var(--ease-out) both}
@keyframes okPop{from{opacity:0; transform:scale(.6)}}
.tgblock{margin-top:30px; border-radius:var(--r-xl); background:var(--surface); color:var(--ink);
  padding:clamp(24px,3.4vw,34px); position:relative; overflow:hidden;
  border:1px solid var(--line-soft); box-shadow:var(--sh-2)}
.tgblock::before{content:""; position:absolute; inset:0 0 auto; height:5px; background:#12B76A}
.tgblock::after{content:""; position:absolute; inset:auto -12% -60% 34%; width:min(520px,90%); aspect-ratio:1;
  border-radius:50%; background:radial-gradient(circle,color-mix(in srgb,var(--brand-2) 12%,transparent),transparent 66%)}
.tgblock > *{position:relative; z-index:1}
.tgblock__head{display:flex; gap:16px; align-items:flex-start}
.tgblock__ic{width:50px; height:50px; border-radius:16px; background:#12B76A; color:#fff;
  display:grid; place-items:center; flex:none}
.tgblock__list{display:grid; gap:13px; margin:22px 0 24px}
.tgblock__list > div{display:flex; gap:12px; align-items:flex-start}
.tgblock__list b{display:block; font-size:14.5px; font-weight:600; color:var(--ink)}
.tgblock__list span{font-size:13.2px; color:var(--ink-3); line-height:1.5}
.tgblock__note{font-size:12px; color:var(--ink-3); text-align:center; margin-top:12px}
/* подпись на кнопке длинная: на узком экране ужимаем её, чтобы значок
   не отрывался от текста при переносе */
.tgblock__cta{gap:10px}
/* название держим целым: на узком экране оно рвалось пополам */
.nb{white-space:nowrap}
@media(max-width:560px){
  .tgblock__cta{padding-inline:14px; font-size:14px; letter-spacing:-.015em}
}
@media(max-width:380px){
  /* на самых узких экранах убираем значок, а не режем подпись */
  .tgblock__cta{font-size:13px; gap:0; padding-inline:10px}
  .tgblock__cta .ico{display:none}
}

/* ══════════════════════════════════════════════════════════════
   МАКЕТ V3 — светлое небо, фото, крупные белые карточки
   ══════════════════════════════════════════════════════════════ */
:root{
  --sky-1:#EAF2FF; --sky-2:#F7FAFF; --sky-3:#DCEAFF;
  --r-card:22px;
}
:root[data-theme="dark"]{ --sky-1:#0A0A0B; --sky-2:#000; --sky-3:#131316 }

body{background:var(--sky-2)}

/* мягкое небо за первым экраном и секциями */
.skybg{position:relative; isolation:isolate}
.skybg::before{content:""; position:absolute; inset:0; z-index:-2;
  background:linear-gradient(180deg,var(--sky-1) 0%,var(--sky-2) 78%)}
/* облака растворяются к нижнему краю секции, иначе на стыке видна их кромка */
.skybg::after{content:""; position:absolute; inset:auto 0 0; height:46%; z-index:-2; opacity:.55;
  -webkit-mask-image:linear-gradient(180deg,#000 0,#000 55%,transparent 100%);
  mask-image:linear-gradient(180deg,#000 0,#000 55%,transparent 100%);
  background:
   radial-gradient(60% 120% at 12% 100%, #fff 0 42%, transparent 62%),
   radial-gradient(48% 110% at 38% 104%, #fff 0 44%, transparent 64%),
   radial-gradient(54% 116% at 72% 102%, #fff 0 44%, transparent 64%),
   radial-gradient(44% 110% at 94% 106%, #fff 0 46%, transparent 66%)}
:root[data-theme="dark"] .skybg::after{opacity:.05}

/* ─── ПЕРВЫЙ ЭКРАН ─── */
.hero--photo{overflow:visible}
.hero--photo .aurora,.hero--photo .grain{display:none}
.hero--photo .hero__in{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.72fr);
  gap:clamp(24px,3vw,46px); align-items:center;
  padding-block:clamp(26px,3.4vw,50px) clamp(30px,3.6vw,54px)}
.hbadge{display:inline-flex; align-items:center; gap:8px; background:var(--surface);
  border:1px solid var(--line-soft); border-radius:999px; padding:9px 17px 9px 14px;
  font-size:13px; font-weight:600; color:var(--ink-2); box-shadow:var(--sh-1); margin-bottom:22px}
.hbadge i{width:8px; height:8px; border-radius:50%; background:#12B76A; flex:none;
  box-shadow:0 0 0 3px rgba(18,183,106,.18)}
.hero--photo h1{font-size:clamp(30px,4.05vw,52px); line-height:1.08; letter-spacing:-.028em}
.hero--photo .hero__sub{margin-top:18px; max-width:44ch; font-size:clamp(15px,1.25vw,17.5px)}
.hero__btns{display:flex; gap:12px; flex-wrap:wrap; margin-top:24px}
/* На телефоне обе кнопки одной ширины и высоты: по одной в строке.
   Раньше они были разной длины по тексту и смотрелись как разные элементы. */
@media(max-width:640px){
  .hero__btns{flex-direction:column; align-items:stretch; gap:10px}
  .hero__btns > .btn,.hero__btns > .helpbtn{display:flex; width:100%; height:54px;
    align-items:center; justify-content:center; padding-block:0; padding-inline:18px;
    font-size:15px; box-sizing:border-box}
}
.hero--photo .hsearch{margin-top:26px; max-width:560px; padding:6px 6px 6px 20px; border-radius:999px;
  box-shadow:0 2px 6px rgba(6,14,43,.05), 0 20px 44px -26px rgba(10,51,151,.5)}

/* четыре плитки преимуществ */
.feats{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:11px; margin-top:34px; max-width:700px}
/* Иконки держим по верхнему краю: заголовки бывают в одну и в две строки,
   и при выравнивании по центру иконки в ряду разъезжались бы по высоте. */
.feat{display:flex; align-items:flex-start; gap:9px; min-width:0}
.feat > span:last-child{min-width:0; padding-top:1px}
.feat__i{width:36px; height:36px; border-radius:11px; background:var(--surface); color:var(--brand-2);
  display:grid; place-items:center; flex:none; box-shadow:var(--sh-1); border:1px solid var(--line-soft)}
/* Раньше тут стоял white-space:nowrap, и «Страны и регионы» залезали под
   соседнюю иконку: в ячейке на текст остаётся около 90 px. Пусть переносится. */
.feat b{display:block; font-size:13px; font-weight:600; line-height:1.25; letter-spacing:-.015em;
  text-wrap:balance; overflow-wrap:break-word}
.feat > span:last-child > span{display:block; font-size:10.5px; color:var(--ink-3);
  line-height:1.3; margin-top:2px; letter-spacing:-.005em; overflow-wrap:break-word}
/* В узком окне четыре колонки становятся по ~130 px: «Поддержка» целиком
   туда не влезает, поэтому чуть ужимаем шрифт и иконку, а не рвём слово. */
@media(max-width:1180px){
  .feats{gap:9px}
  .feat{gap:8px}
  .feat__i{width:33px; height:33px; border-radius:10px}
  .feat__i svg{width:19px; height:19px}
  .feat b{font-size:12.2px}
  .feat > span:last-child > span{font-size:10px}
}

/* ─── СЦЕНА ГЕРОЯ: телефон висит в воздухе, приложения вокруг ───
   Мысль простая: с eSIM от Esim Go связь не пропадает — телефон парит,
   а привычные приложения держатся рядом и не отваливаются.
   Двигаются только transform и opacity, поэтому всё идёт на видеокарте. */
.hstage{position:relative; min-width:0; display:flex; align-items:center; justify-content:center;
  min-height:clamp(430px,47vw,660px); padding-bottom:clamp(16px,2.2vw,34px)}
/* телефон — якорь всей сцены: свет, кольца и тень висят на нём,
   поэтому при отклике на курсор они едут вместе с ним.
   Снимок вертикальный, поэтому ведущий размер — высота: так первый экран
   не вырастает на полтора экрана, когда колонка становится шире. */
.hph{position:relative; z-index:2; height:clamp(410px,46vw,644px); aspect-ratio:861/1240;
  width:auto; flex:none; margin-right:0}
.hph img{position:relative; z-index:2; display:block; width:100%; height:100%;
  filter:drop-shadow(0 22px 34px rgba(8,22,70,.20))}
/* свет, в котором висит телефон */
.hph__glow{position:absolute; inset:2% -26% -6% -26%; z-index:0; pointer-events:none; filter:blur(4px);
  background:radial-gradient(62% 58% at 50% 54%,
    color-mix(in srgb,var(--brand-2) 22%,transparent), transparent 72%)}
/* Колец связи вокруг телефона здесь больше нет. Телефон вертикальный
   и узкий, поэтому круг, достаточно большой чтобы его было видно за
   корпусом, выходил далеко влево и читался как случайная дуга через
   половину экрана, а не как расходящийся сигнал. */
/* тень: чем выше телефон, тем она меньше и слабее */
.hsh{position:absolute; left:50%; bottom:-4%; width:58%; height:28px; z-index:0; pointer-events:none;
  border-radius:50%; filter:blur(10px); transform:translateX(-50%);
  background:radial-gradient(50% 50% at 50% 50%, rgba(8,24,78,.34), transparent 72%)}
@media(prefers-reduced-motion:no-preference){
  .hph img{animation:hbob 9s ease-in-out infinite}
  .hsh{animation:hshadow 9s ease-in-out infinite}
}
@keyframes hbob{0%,100%{transform:translate3d(0,0,0)} 50%{transform:translate3d(0,-15px,0)}}
@keyframes hshadow{
  0%,100%{transform:translateX(-50%) scale(1);   opacity:.62}
  50%    {transform:translateX(-50%) scale(.86); opacity:.4}
}
:root[data-theme="dark"] .hsh{background:radial-gradient(50% 50% at 50% 50%, rgba(0,0,0,.6), transparent 72%)}
:root[data-theme="dark"] .hph__glow{
  background:radial-gradient(62% 58% at 50% 54%,
    color-mix(in srgb,var(--brand-2) 32%,transparent), transparent 72%)}

.hcard{position:absolute; z-index:4; display:flex; align-items:center; gap:12px;
  background:var(--surface); border:1px solid var(--line-soft); border-radius:18px;
  padding:13px 18px 13px 14px; box-shadow:0 6px 18px rgba(6,14,43,.10), 0 26px 50px -26px rgba(10,51,151,.44);
  right:-4%; bottom:3%; will-change:transform}
.hcard__i{width:36px; height:36px; border-radius:50%; background:#12B76A; color:#fff;
  display:grid; place-items:center; flex:none}
.hcard b{display:block; font-size:14px; font-weight:600; white-space:nowrap}
.hcard > span:last-child > span{display:block; font-size:12px; color:var(--ink-3);
  margin-top:1px; white-space:nowrap}
/* На телефоне сцена уходит под текст — сначала поиск, потом картинка. */
@media(max-width:1000px){
  .hero--photo .hero__in{grid-template-columns:minmax(0,1fr)}
  .hstage{max-width:580px; margin-inline:auto; width:100%;
    justify-content:center; min-height:0; padding-bottom:26px}
  .hph{height:min(104vw,520px)}
  .hcard{right:0}
  .feats{max-width:none; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px}
}
/* На телефоне картинка с телефоном занимала целый экран до первого действия,
   отодвигая поиск и кнопки за край, — там сцену убираем совсем. */
@media(max-width:640px){
  .hstage{display:none}
  .hero--photo .hero__in{padding-bottom:clamp(18px,5vw,30px)}
}
@media(max-width:560px){
  .hstage{min-height:0; padding-bottom:22px}
  .hph{height:min(118vw,470px)}
  .hcard{padding:9px 13px 9px 10px; border-radius:14px; bottom:1%}
  .hcard__i{width:28px; height:28px}
  .hcard b{font-size:12px}
  .hcard > span:last-child > span{font-size:10.5px}
}


/* кольцо, разбегающееся от зелёной галочки на плашке «интернет работает» */
.hcard__i{position:relative}
.hcard__ring{position:absolute; inset:0; border-radius:50%; border:2px solid #12B76A; opacity:0}
@media(prefers-reduced-motion:no-preference){
  .hcard__ring{animation:ring 5s var(--ease-out) .9s infinite}
  .hcard{animation:cardGlow 5s var(--ease) infinite}
}
@keyframes ring{
  0%      {opacity:.6; transform:scale(1)}
  46%,100%{opacity:0;  transform:scale(2.1)}
}
@keyframes cardGlow{
  0%,100%{box-shadow:0 6px 18px rgba(6,14,43,.10), 0 26px 50px -26px rgba(10,51,151,.44)}
  16%    {box-shadow:0 6px 18px rgba(6,14,43,.10), 0 26px 50px -26px rgba(10,51,151,.44),
          0 0 0 6px color-mix(in srgb,#12B76A 12%,transparent)}
}

/* ─── ЛЕНТА СТРАН ПОД ГЕРОЕМ ─── */
.cstrip{position:relative; padding-block:22px; border:0; background:var(--surface)}
.cstrip::before{content:""; position:absolute; inset:0 0 auto; height:70px; pointer-events:none;
  background:linear-gradient(180deg,var(--sky-2),transparent)}
.cstrip__in{position:relative}
.cstrip__in{max-width:var(--maxw); margin-inline:auto; padding-inline:22px;
  display:flex; gap:12px; align-items:center}
.cstrip__l{display:flex; gap:12px; flex:1; min-width:0; padding:2px; flex-wrap:wrap;
  justify-content:center}
.cchip{display:flex; align-items:center; gap:11px; flex:none; padding:10px 20px 10px 12px;
  border-radius:999px; background:var(--surface); border:1px solid var(--line);
  box-shadow:var(--sh-1); transition:.22s var(--ease)}
.cchip:hover{transform:translateY(-2px); border-color:var(--brand-2); box-shadow:var(--sh-2)}
.cchip .flag{width:30px; height:20px; flex:none}
.cchip b{display:block; font-size:13.5px; font-weight:600; white-space:nowrap}
.cchip span{display:block; font-size:12px; color:var(--ink-3); white-space:nowrap; margin-top:1px}
.cchip span i{font-style:normal; color:var(--brand-2); font-weight:700}
/* На телефоне вместо кучи в несколько рядов — одна строка с прокруткой:
   видно три-четыре страны, остальные подтягиваются пальцем. */
@media(max-width:820px){
  .cstrip__in{padding-inline:0}
  .cstrip__l{flex-wrap:nowrap; justify-content:flex-start; overflow-x:auto;
    scroll-snap-type:x proximity; -webkit-overflow-scrolling:touch;
    padding:2px 16px 12px; margin-bottom:-10px;
    /* края растворяются, чтобы было видно: строка продолжается */
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 16px,#000 calc(100% - 26px),transparent 100%);
    mask-image:linear-gradient(90deg,transparent 0,#000 16px,#000 calc(100% - 26px),transparent 100%)}
  .cstrip__l::-webkit-scrollbar{display:none}
  .cstrip__l{scrollbar-width:none}
  .cchip{scroll-snap-align:start}
  .cchip:hover{transform:none}
}

/* ─── БЕЙДЖ СЕКЦИИ ─── */
.sbadge{display:inline-flex; align-items:center; gap:8px; background:var(--tint);
  color:var(--brand); border-radius:999px; padding:8px 16px; font-size:12px; font-weight:700;
  letter-spacing:.04em; text-transform:uppercase; margin-bottom:18px}
:root[data-theme="dark"] .sbadge{color:var(--brand-3)}

/* ─── ТРИ ШАГА ─── */
.sthree{position:relative}
.sthree__head{position:relative; z-index:2; max-width:none}
.sthree h2{max-width:15em}
.sthree h2{margin:0; font-size:clamp(26px,3.2vw,42px); line-height:1.1}
/* снимок над блоком «3 простых шага»: края растворены прямо в файле,
   поэтому он ложится на любой фон без рамки и без стыка */
/* правый край снимка совпадает с краем окна — обреза не видно */
.howph{position:absolute; top:-14%; right:calc((100% - 100vw)/2); width:min(74vw,1180px);
  aspect-ratio:1400/788; z-index:0; pointer-events:none;
  background:url('assets/photos/how.webp') center/contain no-repeat}
:root[data-theme="dark"] .howph{opacity:.34}
:root[data-theme="dark"] .fdeco,
:root[data-theme="dark"] .calc__map svg{opacity:.28}
@media(max-width:1000px){.howph{display:none}}
.hsteps{margin-top:30px; gap:18px; position:relative; z-index:2}
.hstep{background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--r-card);
  padding:24px 22px 26px; box-shadow:var(--sh-1)}
.hstep__i{width:44px; height:44px; border-radius:13px; background:var(--tint); color:var(--brand-2);
  box-shadow:none; display:grid; place-items:center}
.hstep__n{top:8px; right:18px; font-size:44px; color:var(--tint-3); opacity:.85}
.hstep h4{margin-top:16px; font-size:18px; letter-spacing:-.015em}
.hstep p{margin-top:7px; font-size:13.5px; line-height:1.5; color:var(--ink-3)}

/* ─── КАРТОЧКА СТРАНЫ ─── */
.gcard{position:relative; display:block; border-radius:var(--r-card); overflow:hidden;
  aspect-ratio:1/.78; box-shadow:var(--sh-1); border:1px solid var(--line-soft);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease)}
.gcard:hover{transform:translateY(-4px); box-shadow:var(--sh-2)}
.gcard__ph{position:absolute; inset:0; background-size:cover; background-position:center}
.gcard__scrim{position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg,rgba(4,10,30,.44) 0%,rgba(4,10,30,.05) 36%,
    rgba(4,10,30,.10) 62%,rgba(4,10,30,.62) 100%)}
.gcard__top{position:absolute; z-index:2; top:12px; left:12px; right:12px;
  display:flex; align-items:center; gap:9px}
.gcard__top .flag{width:26px; height:18px; flex:none;
  box-shadow:0 1px 3px rgba(0,0,0,.3)}
.gcard__n{font-size:15.5px; font-weight:700; color:#fff; letter-spacing:-.01em;
  text-shadow:0 1px 5px rgba(0,0,0,.4); white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.gcard__pr{position:absolute; z-index:2; top:44px; left:12px; right:auto; bottom:auto;
  width:max-content; background:var(--surface);
  color:var(--ink); border-radius:999px; padding:6px 13px; font-size:12.5px; font-weight:600;
  box-shadow:var(--sh-1); white-space:nowrap}
.gcard__pr b{color:var(--brand-2); font-weight:700}
.gcard__bot{position:absolute; z-index:2; left:12px; right:12px; bottom:12px;
  display:flex; align-items:center; gap:10px; justify-content:space-between}
.gcard__meta{display:inline-flex; align-items:center; gap:7px; font-size:12px; font-weight:500;
  color:#fff; text-shadow:0 1px 4px rgba(0,0,0,.45); min-width:0}
.gcard__meta .ico{flex:none; opacity:.9}
.gcard__arw{width:32px; height:32px; border-radius:50%; background:var(--surface); color:var(--brand-2);
  display:grid; place-items:center; flex:none; box-shadow:var(--sh-1); transition:.24s var(--ease)}
.gcard:hover .gcard__arw{background:var(--brand-2); color:#fff; transform:translateX(2px)}
.gcard__sub,.gcard__tx,.gcard__body{display:none}

/* ─── КАЛЬКУЛЯТОР ДАННЫХ ─── */
.calc{display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:clamp(24px,3vw,48px); align-items:center}
.calc h2{margin:0; font-size:clamp(26px,3.2vw,42px); line-height:1.1}
.calc__p{margin-top:16px; max-width:38ch; color:var(--ink-3); font-size:15.5px; line-height:1.55}
/* На странице страны карты в левой колонке нет, и текст повисал в пустоте
   между двумя большими отступами. Раскладываем в один столбец: заголовок
   сверху, расчёт — во всю ширину. */
.calc--wide{grid-template-columns:minmax(0,1fr); gap:22px; align-items:start;
  max-width:1060px; margin-inline:auto}
.calc--wide .calc__t{max-width:none; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:8px clamp(24px,4vw,56px); align-items:end}
.calc--wide .calc__t .sbadge{grid-column:1; justify-self:start}
.calc--wide .calc__t h2{grid-column:1}
.calc--wide .calc__p{grid-column:2; grid-row:2 / span 1; align-self:end; margin-top:0}
@media(max-width:860px){
  .calc--wide .calc__t{grid-template-columns:minmax(0,1fr)}
  .calc--wide .calc__t .calc__p{grid-column:1; grid-row:auto; margin-top:10px}
}
.calc--wide .calc__p{max-width:none; margin-top:12px}
.calc--wide h2{font-size:clamp(24px,2.9vw,36px)}
/* места стало больше — раскладываем дни и сценарии свободнее.
   Только на широком экране: иначе это правило перебивает мобильные
   медиазапросы и пять плиток сминаются в 390px. */
@media(min-width:1001px){
  .calc--wide .cdays{grid-template-columns:repeat(4,minmax(0,1fr))}
  .calc--wide .cuse{grid-template-columns:repeat(5,minmax(0,1fr))}
}
/* кнопка во всю ширину карточки выглядела бы баннером.
   display:flex обязателен: у .btn базовый inline-flex, а у строчного
   элемента margin-inline:auto не центрирует */
.calc--wide #cGo{display:flex; max-width:420px; margin-inline:auto}
/* карточка калькулятора — компактнее: шагов много, а экрана мало */
.calc__card{background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--r-xl);
  padding:clamp(17px,1.7vw,24px); box-shadow:0 6px 18px rgba(6,14,43,.07), 0 40px 80px -44px rgba(10,51,151,.5)}
/* Вопросы и результат — обёртки без собственного оформления: на компьютере
   они ничего не меняют, а на телефоне становятся двумя отдельными карточками. */
.calc__q,.calc__out{display:contents}
/* Кнопки пошагового режима нужны только на телефоне — см. блок плотности
   в конце файла, там они и включаются. */
.calc__next,.calc__back{display:none}
.csteps{display:flex; gap:5px; align-items:center; flex-wrap:wrap; margin-bottom:16px}

/* выбранные дополнительно страны и кнопка «ещё страна» */
.cmore{display:flex; align-items:center; gap:7px; flex-wrap:wrap; margin-top:9px}
.cchip2{display:inline-flex; align-items:center; gap:7px; padding:5px 7px 5px 10px; border-radius:999px;
  background:var(--tint-3); color:var(--ink); font-size:12.5px; font-weight:600; white-space:nowrap}
.cchip2 .flag{width:18px; height:12px}
.cchip2 button{display:grid; place-items:center; width:18px; height:18px; border-radius:50%;
  color:var(--ink-3); flex:none; transition:background .16s, color .16s}
.cchip2 button:hover{background:color-mix(in srgb,var(--hot) 16%,transparent); color:var(--hot)}
.cadd{display:inline-flex; align-items:center; gap:6px; padding:5px 12px 5px 9px; border-radius:999px;
  border:1.5px dashed var(--line); color:var(--brand-2); font-size:12.5px; font-weight:600;
  background:none; transition:border-color .16s, background .16s}
.cadd:hover{border-color:var(--brand-2); background:var(--tint-3)}
.cres__note{margin-top:10px; font-size:12.5px; color:var(--ink-2); line-height:1.5}
/* карточка eSIM над результатом калькулятора */
.cres__card{max-width:340px; margin:14px auto 16px; animation:cardIn .7s var(--ease-out) both}
.cres > .cres__tag{display:inline-flex}
@media(max-width:560px){ .cres__card{max-width:none} }
/* сети и поколение связи под рекомендацией */
.cres__net{display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-top:12px;
  font-size:12.5px; color:var(--ink-2)}
/* ─── Все тарифы направления под рекомендацией ─── */
.cother{margin-top:16px; padding-top:14px; border-top:1px solid var(--line-soft)}
/* Подпись и стрелки в одну строку: место под заголовком дорогое, а
   карусель без видимых стрелок читается как обрезанная карточка. */
.cother__top{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:9px}
.cother__h{display:block; font-size:12.5px; font-weight:600; color:var(--ink-3)}
.cother__nav{display:flex; gap:6px; flex:none}
.cother__b{width:28px; height:28px; border-radius:9px; border:1px solid var(--line);
  background:var(--surface); color:var(--ink-2); display:grid; place-items:center;
  cursor:pointer; transition:.18s var(--ease)}
.cother__b:hover{border-color:var(--brand-2); color:var(--brand-2)}
/* Раньше здесь была сетка из шести строк, и правая колонка становилась
   вдвое выше левой. Теперь один тариф за раз, с прокруткой по точкам. */
.cother__vp{display:grid; grid-auto-flow:column; grid-auto-columns:100%;
  overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none;
  outline:none; gap:7px}
.cother__vp::-webkit-scrollbar{display:none}
.cother__vp > *{scroll-snap-align:start}
.cother__dots{display:flex; gap:5px; justify-content:center; margin-top:10px}
.cother__dots i{width:6px; height:6px; border-radius:50%; background:var(--line);
  transition:.2s var(--ease); cursor:pointer}
.cother__dots i.on{background:var(--brand-2); width:16px; border-radius:999px}
/* Текущая карточка карусели: по ней видно, где человек находится,
   даже пока идёт плавная прокрутка. */
.cother__vp .cop--cur{border-color:var(--brand-2)}
.cother__l{display:grid; gap:7px}
.cop{display:grid; grid-template-columns:auto auto 1fr auto; align-items:baseline; gap:9px;
  padding:10px 12px; border-radius:12px; border:1px solid var(--line-soft);
  background:var(--surface); transition:.2s var(--ease)}
.cop:hover{border-color:var(--brand-2); transform:translateY(-1px); box-shadow:var(--sh-1)}
.cother__vp .cop{padding:13px 14px}
.cop b{font-size:14.5px; font-weight:700}
.cop i{font-style:normal; font-size:12px; color:var(--ink-3)}
.cop span{grid-column:4; font-size:14.5px; font-weight:700; color:var(--brand-2); white-space:nowrap}
.cop em{grid-column:3; justify-self:start; font-style:normal; font-size:10.5px; font-weight:700;
  letter-spacing:.03em; text-transform:uppercase; color:var(--brand);
  background:var(--tint); border-radius:999px; padding:3px 8px}
.cop--rec{border-color:var(--brand-2); box-shadow:var(--sh-1)}
:root[data-theme="dark"] .cop em{color:var(--brand-3)}
@media(max-width:420px){.cop{gap:7px; padding:9px 10px}
  .cop em{display:none}
  .cop--rec::after{content:"рекомендуем"; grid-column:3; justify-self:start; font-size:10.5px;
    font-weight:700; color:var(--brand); align-self:center}}
.cres__gen{display:inline-flex; align-items:center; padding:3px 9px; border-radius:999px;
  background:var(--tint-3); color:var(--brand-2); font-weight:700; font-size:11.5px;
  letter-spacing:.02em}
/* оговорка о примерности расчёта — мелким, но читаемым */
.cres__fine{margin-top:12px; padding-top:11px; border-top:1px solid var(--line-soft);
  font-size:11.5px; line-height:1.5; color:var(--ink-3)}
.cstep{display:inline-flex; align-items:center; gap:7px; font-size:12.5px; font-weight:600;
  color:var(--ink-3); padding:5px 9px; border-radius:999px; transition:.24s}
.cstep i{width:22px; height:22px; border-radius:50%; background:var(--tint); color:var(--ink-3);
  display:grid; place-items:center; font-style:normal; font-size:11.5px; font-weight:700; flex:none}
.cstep.on{color:var(--ink)}
.cstep.on i{background:var(--brand-2); color:#fff}
.cstep.done i{background:color-mix(in srgb,#12B76A 15%,transparent); color:#12B76A}
.clab{font-size:13px; font-weight:600; color:var(--ink-2); margin-bottom:8px}
.clab + .clab{margin-top:15px}
.cmore + .clab{margin-top:15px}
.csel{width:100%; appearance:none; font:inherit; font-size:15px; font-weight:600; color:var(--ink);
  background:var(--surface); border:1.5px solid var(--line); border-radius:14px;
  padding:14px 42px 14px 16px; cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,var(--ink-3) 50%),linear-gradient(135deg,var(--ink-3) 50%,transparent 50%);
  background-position:calc(100% - 22px) 52%, calc(100% - 16px) 52%;
  background-size:6px 6px, 6px 6px; background-repeat:no-repeat}
.csel:focus{outline:none; border-color:var(--brand-2); box-shadow:0 0 0 4px color-mix(in srgb,var(--brand-2) 14%,transparent)}
.cdays{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px}
.cday{font:inherit; background:var(--surface); border:1.5px solid var(--line); border-radius:14px;
  padding:12px 6px; text-align:center; transition:.2s var(--ease)}
.cday b{display:block; font-size:16px; font-weight:700; color:var(--ink)}
.cday span{display:block; font-size:11.5px; color:var(--ink-3); margin-top:2px}
.cday:hover{border-color:var(--brand-3)}
.cday.on{border-color:var(--brand-2); box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-2) 13%,transparent)}
.cday.on b{color:var(--brand-2)}
.cuse{display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:9px}
.cu{font:inherit; background:var(--surface); border:1.5px solid var(--line); border-radius:14px;
  padding:13px 5px 11px; text-align:center; color:var(--ink-3); transition:.2s var(--ease); min-width:0}
.cu .ico{margin-bottom:6px}
.cu span{display:block; font-size:10.5px; line-height:1.25; font-weight:600; letter-spacing:-.01em}
.cu:hover{border-color:var(--brand-3)}
.cu.on{border-color:var(--brand-2); color:var(--brand-2);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-2) 13%,transparent)}
.cres{margin-top:20px; border-radius:18px; border:1px solid var(--line-soft);
  background:var(--tint-2); padding:20px 20px 18px}
.cres__h{display:flex; align-items:flex-start; justify-content:space-between; gap:14px; flex-wrap:wrap}
.cres__tag{display:inline-flex; align-items:center; gap:6px; background:color-mix(in srgb,#12B76A 14%,transparent);
  color:#0E7C67; border-radius:999px; padding:5px 12px; font-size:11.5px; font-weight:700}
.cres__v{font-family:var(--f-display); font-size:22px; font-weight:700; margin-top:10px; letter-spacing:-.02em}
.cres__p{text-align:right; margin-left:auto}
.cres__p b{display:block; font-family:var(--f-display); font-size:26px; font-weight:700; color:var(--brand-2);
  letter-spacing:-.02em; line-height:1.1}
.cres__p i{display:block; font-style:normal; font-size:12.5px; color:var(--ink-3); margin-top:3px}
.cres ul{list-style:none; margin:14px 0 0; padding:0; display:grid; gap:8px}
.cres li{display:grid; grid-template-columns:auto 1fr; gap:9px; align-items:center;
  font-size:13.5px; color:var(--ink-2)}
.cres li .ico{color:#12B76A}
.calc__map{position:relative; margin-top:30px; color:#9CC2F2}
:root[data-theme="dark"] .calc__map{color:#2C3A52}
.calc__map .wmap{width:100%; height:auto; display:block}

.mpin{position:absolute; z-index:2; display:flex; align-items:center; gap:7px;
  background:var(--surface); border:1px solid var(--line-soft); border-radius:11px;
  padding:4px 9px 4px 5px; box-shadow:var(--sh-2); white-space:nowrap;
  transform:translate(16px,-50%); transition:transform .24s var(--ease), box-shadow .24s var(--ease)}
.mpin--l{transform:translate(calc(-100% - 16px),-50%)}
.mpin::before{content:""; position:absolute; left:-21px; top:50%; margin-top:-5px;
  width:10px; height:10px; border-radius:50%; background:var(--brand-2);
  box-shadow:0 0 0 3px var(--surface), 0 0 0 5px color-mix(in srgb,var(--brand-2) 26%,transparent);
  transition:transform .24s var(--ease)}
.mpin--l::before{left:auto; right:-21px}
.mpin .flag{flex:none}
.mpin__t{display:flex; align-items:baseline; gap:7px}
.mpin b{font-size:12px; font-weight:600; color:var(--ink)}
.mpin i{font-style:normal; font-size:11.5px; color:var(--brand-2); font-weight:700}
.mpin:hover{z-index:3; transform:translate(16px,calc(-50% - 2px)); box-shadow:var(--sh-3)}
.mpin--l:hover{transform:translate(calc(-100% - 16px),calc(-50% - 2px))}
.mpin:hover::before{transform:scale(1.25)}
@media(max-width:1100px){
  .mpin .flag{display:none}
  .mpin{padding:5px 11px; border-radius:11px}
}
/* ─── Калькулятор на главной: текст сверху, вопросы и ответ рядом ───
   Раньше блок стоял в две колонки «текст | карточка», и карточка —
   вопросы, результат и список тарифов одним столбцом — вытягивала
   секцию почти на полтора экрана. Теперь ширина используется там,
   где раньше росла высота. */
@media(min-width:1001px){
  .calc--top{grid-template-columns:minmax(0,1fr); gap:clamp(22px,2.6vw,36px); align-items:start}
  /* align-content:start — иначе строки растягиваются по высоте карты
     и между заголовком и подписью появляется дыра на полэкрана */
  .calc--top .calc__t{display:grid; grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);
    column-gap:clamp(24px,3.2vw,54px); row-gap:0; align-content:start}
  .calc--top .calc__t > .sbadge{grid-column:1; justify-self:start}
  .calc--top .calc__t > h2{grid-column:1; margin-top:14px}
  .calc--top .calc__t > .calc__p{grid-column:1; max-width:52ch; margin-top:14px}
  .calc--top .calc__map{grid-column:2; grid-row:1 / span 3; margin-top:0; align-self:center}
  /* обёртки вопросов и результата перестают быть «прозрачными»
     и становятся двумя колонками внутри карточки */
  .calc--top .calc__card{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:clamp(20px,2.6vw,38px); align-items:start;
    padding:clamp(20px,2vw,28px)}
  /* .calc__out остаётся «прозрачной», чтобы результат и кнопка легли
     прямо в сетку карточки: кнопка тогда уходит под обе колонки. */
  .calc--top .calc__q{display:block; min-width:0; grid-column:1}
  .calc--top .calc__out{display:contents}
  .calc--top #cRes{grid-column:2; grid-row:1; min-width:0}
  .calc--top #cGo{grid-column:1 / -1; grid-row:2; margin-top:0;
    max-width:460px; justify-self:center; display:flex}
  .calc--top .cuse{grid-template-columns:repeat(3,minmax(0,1fr))}
  .calc--top #cRes .cres{margin-top:0}
  /* список тарифов в колонке результата — в два столбца,
     иначе пять строк подряд снова тянут блок в высоту */

  .calc--top .cop{grid-template-columns:auto auto 1fr; row-gap:2px}
  .calc--top .cop span{grid-column:1 / -1; justify-self:start}
  .calc--top .cop em{grid-column:3; justify-self:end}
}
/* половины стоят друг под другом — въезжают снизу, а не с боков */
.js .calc--top > [data-rv="left"],.js .calc--top > [data-rv="right"]{transform:translate3d(0,26px,0)}
@media(max-width:1000px){.calc{grid-template-columns:minmax(0,1fr)} .calc__map{display:none}
  .cuse{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:420px){.cdays{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cuse{grid-template-columns:repeat(2,minmax(0,1fr))}}


.clab--row{display:flex; align-items:baseline; justify-content:space-between; gap:12px; flex-wrap:wrap}
.callbtn{font:inherit; font-size:12px; font-weight:600; color:var(--brand-2); background:none;
  border:0; border-bottom:1px dashed currentColor; padding:0 0 1px; transition:opacity .2s}
.callbtn:hover{opacity:.7}
.cuse__hint{font-size:11.5px; color:var(--ink-3); margin-top:9px}
.cu{position:relative}
.cu.on::after{content:""; position:absolute; top:7px; right:7px; width:15px; height:15px; z-index:0;
  border-radius:50%; background:var(--brand-2); box-shadow:0 0 0 2px var(--surface)}
.cu.on::before{content:""; position:absolute; top:10.5px; right:11px; width:7px; height:3.5px; z-index:1;
  border-left:1.8px solid #fff; border-bottom:1.8px solid #fff; transform:rotate(-45deg)}

.fielderr{font-size:12.5px; color:var(--hot); margin-top:7px; font-weight:500}

/* ─── ОБЯЗАТЕЛЬНОЕ СОГЛАСИЕ ПЕРЕД ОПЛАТОЙ ───
   Настоящий <input type="checkbox"> оставлен в разметке: он держит
   клавиатуру, screen reader и перехват формы. Виден вместо него .agree__box. */
.agree{display:flex; align-items:flex-start; gap:10px; margin:16px 0 14px; cursor:pointer}
.agree input{position:absolute; width:1px; height:1px; opacity:0; pointer-events:none}
.agree__box{flex:none; width:20px; height:20px; margin-top:1px; border-radius:6px;
  border:1.5px solid var(--line); background:var(--surface); color:#fff;
  display:grid; place-items:center; transition:background .16s, border-color .16s, transform .16s var(--ease)}
.agree__box .ico{opacity:0; transform:scale(.6); transition:opacity .16s, transform .18s var(--ease-out)}
.agree:hover .agree__box{border-color:var(--brand-2)}
.agree input:checked + .agree__box{background:var(--brand-2); border-color:var(--brand-2)}
.agree input:checked + .agree__box .ico{opacity:1; transform:scale(1)}
.agree input:focus-visible + .agree__box{box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-2) 26%,transparent)}
.agree__t{font-size:12.5px; line-height:1.5; color:var(--ink-2)}
.agree__t a{color:var(--brand-2); font-weight:600; text-decoration:underline; text-underline-offset:2px}
/* промах по галочке: короткая встряска и красная рамка, пока не поставят */
.agree--bad .agree__box{border-color:var(--hot); box-shadow:0 0 0 3px color-mix(in srgb,var(--hot) 14%,transparent)}
@media(prefers-reduced-motion:no-preference){
  .agree--bad .agree__box{animation:agreeShake .4s var(--ease)}
}
@keyframes agreeShake{
  0%,100%{transform:translateX(0)} 20%{transform:translateX(-4px)}
  45%{transform:translateX(4px)}   70%{transform:translateX(-2px)}
}
.is-bad{border-color:var(--hot) !important; box-shadow:0 0 0 3px color-mix(in srgb,var(--hot) 13%,transparent)}

.cmp__c--bad{border-color:var(--line-soft)}
.cmp__c--bad::before{background:var(--hot)}
.cmp__c--bad .cmp__h b{color:var(--hot)}
.cmp__c--bad li{color:var(--ink-3)}
.cmp__c--bad li .ico{color:var(--hot)}
.cmp__tag{position:absolute; top:16px; right:16px; z-index:2; border-radius:999px;
  padding:5px 12px; font-size:11.5px; font-weight:700; letter-spacing:.02em;
  background:color-mix(in srgb,#12B76A 14%,transparent); color:#0E7C67}
.cmp__c--us li .ico{color:#12B76A}

/* настоящие иконки приложений в чипах: серые, пока пункт не выбран */
.cu .cu__ic{display:flex; justify-content:center; align-items:center; height:28px; margin-bottom:7px}
.cu .cu__ic img{width:28px; height:28px; border-radius:8px; display:block; flex:none;
  box-shadow:0 0 0 1px rgba(6,14,43,.09);
  filter:grayscale(1) opacity(.5); transition:filter .28s var(--ease)}
.cu .cu__ic img + img{margin-left:-11px; box-shadow:0 0 0 2px var(--surface), 0 0 0 3px rgba(6,14,43,.09)}
.cu:hover .cu__ic img{filter:grayscale(.4) opacity(.85)}
.cu.on .cu__ic img{filter:none}
:root[data-theme="dark"] .cu .cu__ic img{box-shadow:0 0 0 1px rgba(255,255,255,.14)}
:root[data-theme="dark"] .cu .cu__ic img + img{box-shadow:0 0 0 2px var(--surface), 0 0 0 3px rgba(255,255,255,.14)}

/* ─── ПОЛЕ СТРАНЫ С ПОИСКОМ ─── */
.cpick{position:relative}
.cpick__in{width:100%; font:inherit; font-size:15px; font-weight:600; color:var(--ink);
  background:var(--surface); border:1.5px solid var(--line); border-radius:14px;
  padding:14px 44px 14px 50px; outline:none; transition:border-color .2s, box-shadow .24s}
.cpick__in::placeholder{color:var(--ink-3); font-weight:500}
.cpick__in:focus{border-color:var(--brand-2);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--brand-2) 14%,transparent)}
.cpick__f{position:absolute; left:15px; top:50%; transform:translateY(-50%);
  display:flex; align-items:center; pointer-events:none}
.cpick__f .flag{width:26px; height:18px}
.cpick__f .ico{color:var(--brand-2)}
.cpick__x{position:absolute; right:9px; top:50%; transform:translateY(-50%);
  width:28px; height:28px; border-radius:50%; display:grid; place-items:center;
  color:var(--ink-3); transition:.2s}
.cpick__x:hover{background:var(--tint); color:var(--ink)}
.cpick__x[hidden]{display:none}

.cpick__menu{position:absolute; z-index:40; left:0; right:0; top:calc(100% + 7px);
  max-height:290px; overflow-y:auto; overscroll-behavior:contain;
  background:var(--surface); border:1px solid var(--line); border-radius:16px;
  box-shadow:0 8px 20px rgba(6,14,43,.10), 0 30px 60px -28px rgba(10,51,151,.5);
  padding:6px; animation:devIn .18s var(--ease-out) both}
.cpick__menu[hidden]{display:none}
.cpick__menu button{display:grid; grid-template-columns:auto 1fr auto; gap:11px;
  align-items:center; width:100%; text-align:left; font:inherit; font-size:14.5px;
  padding:10px 12px; border-radius:11px; background:none; border:0; color:var(--ink);
  transition:background .15s}
.cpick__menu button .flag{width:26px; height:18px; flex:none}
.cpick__menu button i{font-style:normal; font-size:12.5px; color:var(--ink-3); white-space:nowrap}
.cpick__menu button span{min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.cpick__menu button:hover,
.cpick__menu button.on{background:var(--tint)}
.cpick__menu button.on i{color:var(--brand-2)}
.cpick__none{margin:0; padding:14px 12px; font-size:13.5px; color:var(--ink-3); text-align:center}

/* ─── ВЫПАДАЮЩЕЕ МЕНЮ В ШАПКЕ ─── */
.navdrop{position:relative; display:flex}
.navdrop > a{display:inline-flex; align-items:center; gap:5px}
.navdrop__c{display:inline-flex; transition:transform .24s var(--ease); opacity:.55}
.navdrop:hover > a .navdrop__c,
.navdrop:focus-within > a .navdrop__c{transform:rotate(180deg)}
.navdrop__m{position:absolute; z-index:80; top:calc(100% + 10px); left:-14px; width:296px;
  background:var(--surface); border:1px solid var(--line); border-radius:18px; padding:7px;
  box-shadow:0 8px 20px rgba(6,14,43,.10), 0 30px 60px -28px rgba(10,51,151,.5);
  opacity:0; visibility:hidden; transform:translateY(-6px);
  transition:opacity .2s var(--ease), transform .2s var(--ease), visibility .2s}
.navdrop::after{content:""; position:absolute; top:100%; left:0; right:0; height:12px}
.navdrop:hover .navdrop__m,
.navdrop:focus-within .navdrop__m{opacity:1; visibility:visible; transform:none}
.navdrop__m a{display:grid; grid-template-columns:auto 1fr; gap:12px; align-items:start;
  padding:11px 12px; border-radius:13px; font-weight:500; transition:background .16s}
.navdrop__m a:hover{background:var(--tint)}
.navdrop__m a b{display:block; font-size:14.5px; font-weight:600; color:var(--ink)}
.navdrop__m a > span > span{display:block; font-size:12.5px; color:var(--ink-3);
  margin-top:2px; line-height:1.4; font-weight:400}
.navdrop__i{width:36px; height:36px; border-radius:11px; background:var(--tint);
  color:var(--brand-2); display:grid; place-items:center; flex:none}
@media(max-width:900px){.navdrop__m{display:none}}

/* ─── КНОПКА «ВОЙТИ НА САЙТ» ─── */
.btn--ink{background:#14161C; color:#fff; border:1px solid #14161C}
.btn--ink:hover{background:#242833; border-color:#242833}
:root[data-theme="dark"] .btn--ink{background:#F2F2F4; color:#14161C; border-color:#F2F2F4}
:root[data-theme="dark"] .btn--ink:hover{background:#fff; border-color:#fff}

/* ─── ФОРМЫ ВХОДА ─── */
.tabs--half{display:grid; grid-template-columns:1fr 1fr; gap:6px; margin-bottom:20px}
.flab{display:block; font-size:12.5px; color:var(--ink-3); font-weight:600; margin:0 0 7px}
.flab + .finp{margin-bottom:2px}
.finp{width:100%; font:inherit; font-size:15px; color:var(--ink); background:var(--ground);
  border:1.5px solid var(--line); border-radius:var(--r-m); padding:13px 15px; outline:none;
  transition:border-color .2s, box-shadow .24s}
.finp:focus{border-color:var(--brand-2); box-shadow:0 0 0 4px color-mix(in srgb,var(--brand-2) 13%,transparent)}
.finp + .flab{margin-top:16px}
.fnote{font-size:11.5px; color:var(--ink-3); margin-top:12px; line-height:1.5}

/* Поле пароля: глазок внутри рамки, справа. Кнопка, а не иконка, —
   её надо нажимать пальцем, поэтому у неё своя область 40×40. */
.fpass{position:relative}
.fpass .finp{padding-right:50px}
.feye{position:absolute; top:50%; right:7px; transform:translateY(-50%);
  width:40px; height:40px; border:0; background:none; padding:0; cursor:pointer;
  display:grid; place-items:center; color:var(--ink-3); border-radius:11px;
  transition:color .18s, background .18s}
.feye:hover{color:var(--ink); background:var(--tint)}
.feye:focus-visible{outline:2px solid var(--brand-2); outline-offset:1px}

/* «Забыли пароль?» — в одну строку с подписью поля, по правому краю. */
.frow{display:flex; align-items:baseline; justify-content:space-between; gap:12px}
.frow .flab{margin-bottom:7px}
.flink{font-size:12.5px; font-weight:600; color:var(--brand-2); background:none;
  border:0; padding:0; cursor:pointer; font-family:inherit}
.flink:hover{text-decoration:underline}

/* «Назад» над карточкой и «Нет аккаунта? Зарегистрироваться» под ней. */
.fback{display:inline-flex; align-items:center; gap:6px; font-size:14px; font-weight:600;
  color:var(--ink-3); background:none; border:0; padding:6px 10px 6px 4px; cursor:pointer;
  border-radius:11px; font-family:inherit; transition:color .18s, background .18s}
.fback:hover{color:var(--ink); background:var(--tint)}
.fswitch{text-align:center; margin-top:18px; font-size:14px; color:var(--ink-3)}
.fswitch a{font-weight:600; color:var(--brand-2)}
.fswitch a:hover{text-decoration:underline}

/* Поле кода из письма: шесть цифр, поэтому крупно и по центру —
   их переписывают из письма и сверяют глазами. */
.finp--code{text-align:center; font-size:30px; font-weight:700; letter-spacing:.34em;
  padding-left:19px; font-variant-numeric:tabular-nums}
.finp--code::placeholder{letter-spacing:.3em; opacity:.3}

/* ─── СВЯЗАТЬ АККАУНТ С TELEGRAM ─── */
.tglink{display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:14px; align-items:center;
  margin-top:22px; padding:16px 18px; border-radius:var(--r-l);
  background:var(--surface); border:1px solid var(--line)}
.tglink__i{width:42px; height:42px; border-radius:13px; display:grid; place-items:center;
  background:var(--tint); color:var(--brand-2); flex:none}
.tglink__t b{display:block; font-size:15px}
.tglink__t span{display:block; font-size:13px; color:var(--ink-2); margin-top:3px; line-height:1.5}
.tglink__go{flex:none; white-space:nowrap}
@media(max-width:620px){
  .tglink{grid-template-columns:auto minmax(0,1fr)}
  .tglink__go{grid-column:1 / -1; width:100%}
}
.steps2{margin:0; padding-left:20px; display:grid; gap:7px; font-size:14px; color:var(--ink-2)}
.steps2 li{line-height:1.5}

/* ─── КАРТОЧКА НАСТОЯЩЕЙ eSIM ─── */
.instbox{display:grid; gap:14px; justify-items:center}
.qrimg{width:min(100%,232px); height:auto; aspect-ratio:1; border-radius:var(--r-m);
  background:#fff; border:1px solid var(--line); padding:10px}
.instbox .btn{width:100%}
.lpa{width:100%; display:grid; gap:8px; justify-items:start}
.lpa code{display:block; width:100%; font-size:12px; line-height:1.5; word-break:break-all;
  background:var(--ground); border:1px solid var(--line); border-radius:var(--r-s); padding:10px 12px}
.deflist{list-style:none; margin:14px 0 0; padding:0; display:grid; gap:2px}
.deflist li{display:flex; align-items:baseline; justify-content:space-between; gap:14px;
  padding:11px 2px; border-top:1px solid var(--line-soft); font-size:14px}
.deflist li:first-child{border-top:0}
.deflist span{color:var(--ink-3)}
.deflist b{text-align:right; word-break:break-all}

/* Экран «письмо отправлено»: крупная иконка вместо заголовка-картинки. */
.fsent__ic{width:62px; height:62px; border-radius:50%; margin:0 auto; display:grid;
  place-items:center; background:var(--tint); color:var(--brand-2)}

/* Привязанные покупки: что нашлось по этой почте при входе. */
.flinked{display:flex; gap:13px; align-items:flex-start; margin-bottom:18px;
  padding:15px 17px; border-radius:var(--r-m);
  background:rgba(18,183,106,.09); border:1px solid rgba(18,183,106,.28)}
.flinked .ico{flex:none; color:#12B76A; margin-top:1px}
.flinked b{display:block; font-size:14.5px}
.flinked span{display:block; font-size:13px; color:var(--ink-2); margin-top:3px; line-height:1.5}
.fsep{display:flex; align-items:center; gap:12px; margin:20px 0 16px; color:var(--ink-3); font-size:12.5px}
.fsep::before,.fsep::after{content:""; height:1px; background:var(--line); flex:1}

/* ═══════════════ СТРАНИЦА ДЛЯ ПАРТНЁРОВ ═══════════════ */
.pnr__hero .wrap{padding-block:clamp(10px,2vw,22px) clamp(18px,2.2vw,30px)}
#pnrHow,#pnrForm{scroll-margin-top:18px}
.pnr__steps__h{margin:clamp(34px,4vw,54px) 0 22px; font-size:clamp(22px,3vw,32px)}
.pnr__top{display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(26px,3.4vw,52px); align-items:center; margin-top:10px}
.pnr__art{position:relative; min-width:0; display:flex; justify-content:center}
/* карточка «интернет для ваших клиентов» */
.pnr__card{position:relative; z-index:2; width:min(100%,360px);
  background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--r-l);
  padding:22px 24px; box-shadow:0 8px 24px rgba(6,14,43,.09), 0 34px 60px -34px rgba(10,51,151,.45)}
.pnr__card__k{display:block; font-size:11px; font-weight:700; letter-spacing:.11em;
  text-transform:uppercase; color:var(--ink-3)}
.pnr__svc{list-style:none; margin:16px 0 0; padding:0; display:grid; gap:2px}
.pnr__svc li{display:flex; align-items:center; gap:11px; padding:10px 2px;
  font-size:14.5px; font-weight:600; border-top:1px solid var(--line-soft)}
.pnr__svc li:first-child{border-top:0}
.pnr__svc .ico{color:var(--brand-2); flex:none}
.pnr__svc--add{color:var(--ink-3); font-weight:500}
/* фирменный значок над карточкой */
.pnr__chip{position:absolute; top:-18px; right:2%; z-index:3; width:62px; height:62px;
  border-radius:19px; background:var(--brand-2); color:#fff; display:grid; place-items:center;
  box-shadow:0 12px 26px -10px rgba(47,107,232,.75)}
@media(prefers-reduced-motion:no-preference){.pnr__chip{animation:hbob 7s ease-in-out infinite}}

/* четыре шага со стрелками между ними: колонки чередуются
   «карточка — стрелка», иначе стрелки считаются обычными ячейками
   и ряд переносится */
.pnr__steps{display:grid; grid-template-columns:repeat(3,minmax(0,1fr) auto) minmax(0,1fr);
  gap:0 8px; align-items:stretch}
.pnr__step{background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--r-l);
  padding:18px 19px; box-shadow:var(--sh-1); min-width:0}
.pnr__step__h{display:flex; align-items:center; gap:10px; margin-bottom:13px}
.pnr__step__n{font-family:var(--f-display); font-size:16px; font-weight:600; color:var(--brand-2);
  letter-spacing:.01em; font-variant-numeric:tabular-nums}
.pnr__step__i{margin-left:auto; color:var(--brand-2); display:flex}
.pnr__step h4{font-size:15px; line-height:1.3}
.pnr__step p{font-size:13px; color:var(--ink-2); margin-top:7px; line-height:1.5}
.pnr__arw{align-self:center; color:var(--ink-3); display:flex; justify-content:center}

/* расчёт дохода */
.pnr__calc{background:var(--tint-3); border-radius:var(--r-xl); padding:clamp(24px,3.2vw,44px)}
/* расчёт дохода теперь внутри блока «Всего 4 шага» */
.pnr__calc--in{position:relative; overflow:hidden; margin-top:clamp(22px,2.8vw,36px)}
.pnr__calc--in .pnr__calc__t{position:relative; z-index:1; max-width:min(100%,640px)}
/* три карточки и два знака держим одной строкой: разорванный на две строки
   пример «цена − скидка = маржа» читается как два разных расчёта */
.pnr__math{display:grid; grid-template-columns:1fr auto 1fr auto 1fr; align-items:stretch;
  gap:10px; margin-top:22px}
@media(max-width:620px){
  .pnr__math{grid-template-columns:minmax(0,1fr); justify-items:stretch; gap:8px}
  .pnr__op{justify-self:center}
}
.pnr__cell{background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--r-m);
  padding:12px 15px; min-width:0}
.pnr__cell i{display:block; font-style:normal; font-size:11.5px; color:var(--ink-3); font-weight:600; line-height:1.3}
.pnr__cell b{display:block; font-family:var(--f-display); font-size:clamp(18px,1.9vw,23px);
  font-weight:600; letter-spacing:-.025em; margin-top:4px; font-variant-numeric:tabular-nums; white-space:nowrap}
.pnr__cell--win{background:var(--brand-2); border-color:var(--brand-2); color:#fff}
.pnr__cell--win i{color:rgba(255,255,255,.8)}
.pnr__op{align-self:center; font-size:16px; font-weight:700; color:var(--ink-3); white-space:nowrap}

/* строка с конкретным тарифом над расчётом — чтобы пример не висел в воздухе */
.pnr__ex{display:flex; align-items:center; gap:11px; margin-top:20px; padding:11px 14px;
  background:var(--surface); border:1px solid var(--line-soft); border-radius:14px}
.pnr__ex__f{flex:none; display:grid; place-items:center}
.pnr__ex__t{min-width:0}
.pnr__ex__t b{display:block; font-size:14px; font-weight:600; line-height:1.3}
.pnr__ex__t i{display:block; font-style:normal; font-size:12px; color:var(--ink-3); margin-top:2px}
/* напоминание, что розничная цена для партнёра — рекомендация, а не потолок */
.pnr__free{display:flex; align-items:flex-start; gap:9px; margin-top:16px; font-size:13px;
  line-height:1.55; color:var(--ink-2)}
.pnr__free svg{flex:none; margin-top:2px; color:var(--brand-2)}

/* после продажи */
.pnr__after{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(20px,3vw,44px); align-items:center;
  background:var(--tint-2); border:1px solid var(--line-soft);
  border-radius:var(--r-xl); padding:clamp(22px,3vw,40px)}
.pnr__after__l{display:grid; gap:12px}
.pnr__ai{display:flex; align-items:flex-start; gap:12px; min-width:0;
  background:var(--surface); border:1px solid var(--line-soft); border-radius:15px;
  padding:14px 16px; box-shadow:var(--sh-1)}
.pnr__ai__i{width:38px; height:38px; border-radius:12px; background:var(--tint-3);
  color:var(--brand-2); display:grid; place-items:center; flex:none}
.pnr__ai > span:last-child{min-width:0}
.pnr__ai b{display:block; font-size:14px; font-weight:600; line-height:1.3}
.pnr__ai > span:last-child > span{display:block; font-size:12.5px; color:var(--ink-3);
  margin-top:3px; line-height:1.45}
@media(max-width:860px){ .pnr__after{grid-template-columns:minmax(0,1fr)} }

/* кому подходит */
.pnr__who{display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:13px}
.pnr__wc{position:relative; display:flex; flex-direction:column; min-width:0; overflow:hidden;
  background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--r-l);
  padding:17px 17px 0; box-shadow:var(--sh-1);
  transition:transform .3s var(--ease-out), box-shadow .3s var(--ease)}
.pnr__wc:hover{transform:translateY(-4px); box-shadow:var(--sh-2)}
.pnr__wc__i{width:36px; height:36px; border-radius:11px; background:var(--tint-3); color:var(--brand-2);
  display:grid; place-items:center; flex:none}
.pnr__wc h4{font-size:14.5px; line-height:1.3; margin-top:13px}
.pnr__wc p{font-size:12.5px; color:var(--ink-2); margin-top:7px; line-height:1.5; flex:1}
.pnr__wc__ph{display:block; height:76px; margin:15px -17px 0; background-size:cover;
  background-position:center}

/* что получает партнёр */
.pnr__get{display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);
  gap:clamp(20px,2.6vw,34px); align-items:start}
.pnr__gl{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; margin-top:22px}
.pnr__gi{display:flex; align-items:center; gap:11px; min-width:0}
.pnr__gi > span:last-child{min-width:0}
.pnr__gi__i{width:38px; height:38px; border-radius:12px; background:var(--surface); color:var(--brand-2);
  display:grid; place-items:center; flex:none; border:1px solid var(--line-soft); box-shadow:var(--sh-1)}
.pnr__gi b{display:block; font-size:13.5px; font-weight:600; line-height:1.3}
.pnr__gi > span:last-child > span{display:block; font-size:11.5px; color:var(--ink-3); margin-top:2px}
.pnr__note{position:relative; background:var(--tint-3); border-radius:var(--r-xl); padding:24px 26px}
.pnr__note h3{font-size:18px; line-height:1.3; margin-top:8px}
.pnr__note p{font-size:13.5px; color:var(--ink-2); margin-top:10px; line-height:1.6}
.pnr__note__api{font-size:12.5px; color:var(--ink-3); margin-top:12px; padding-top:12px;
  border-top:1px solid var(--line-soft)}
.pnr__note__i{position:absolute; top:20px; right:22px; width:46px; height:46px; border-radius:14px;
  background:var(--surface); color:var(--brand-2); display:grid; place-items:center; box-shadow:var(--sh-1)}

/* форма заявки */
.pnr__form{display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:clamp(22px,3vw,44px); align-items:start;
  background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--r-xl);
  padding:clamp(24px,3.2vw,44px); box-shadow:var(--sh-2)}
.pnr__ff{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px}
.pnr__ff > div{min-width:0}
select.finp{appearance:none; cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,var(--ink-3) 50%),
    linear-gradient(135deg,var(--ink-3) 50%,transparent 50%);
  background-position:calc(100% - 19px) calc(50% + 1px), calc(100% - 14px) calc(50% + 1px);
  background-size:5px 5px, 5px 5px; background-repeat:no-repeat; padding-right:38px}
.pnr__form .agree{margin:18px 0 16px}

@media(max-width:1000px){
  .pnr__top{grid-template-columns:minmax(0,1fr)}
  /* на узком экране сначала текст и кнопки, картинка следом */
  .pnr__art{margin-top:6px}
  .pnr__steps{grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px}
  .pnr__arw{display:none}
  .pnr__who{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pnr__get{grid-template-columns:minmax(0,1fr)}
  .pnr__form{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:680px){
  .pnr__steps{grid-template-columns:minmax(0,1fr)}
  .pnr__who{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pnr__ff{grid-template-columns:minmax(0,1fr)}
  .pnr__hero .feats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .pnr__math{gap:9px}
  .pnr__cell{flex:1 1 100%}
  .pnr__op{align-self:flex-start; margin-left:6px}
}
@media(max-width:420px){
  .pnr__who{grid-template-columns:minmax(0,1fr)}
  .pnr__gl{grid-template-columns:minmax(0,1fr)}
}

/* ─── ЛИЧНЫЙ КАБИНЕТ: настройки строками ─── */
.ahead{display:flex; align-items:flex-start; gap:18px; margin-top:8px}
.ahead__av{flex:none; width:58px; height:58px; border-radius:50%; background:var(--brand-2); color:#fff;
  display:grid; place-items:center; font-weight:700; font-size:19px; letter-spacing:.02em}
.ahead__k{display:block; font-size:11px; font-weight:700; letter-spacing:.11em;
  text-transform:uppercase; color:var(--ink-3)}
.ahead__n{font-size:clamp(23px,3.4vw,31px); line-height:1.15; margin-top:5px}
.ahead__m{font-size:14px; color:var(--ink-2); margin-top:5px}
.ahead__d{font-size:13.5px; color:var(--ink-3); margin-top:9px}

/* ─── Кошелёк, операции, рефералы ─── */
.tsum{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-top:8px}
.tsum__b{padding:12px 6px; border-radius:var(--r-m); border:1.5px solid var(--line);
  background:var(--surface); font-weight:700; font-size:14px; white-space:nowrap;
  transition:.2s var(--ease)}
.tsum__b:hover{border-color:var(--brand-2)}
.tsum__b.on{border-color:var(--brand-2); color:var(--brand-2);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-2) 16%,transparent)}
@media(max-width:480px){.tsum{grid-template-columns:repeat(2,minmax(0,1fr))}}
.tnote{margin:11px 0 0; font-size:12.5px; color:var(--ink-3); line-height:1.5}
.tnote--ok{color:#0E7C67; font-weight:600}
:root[data-theme="dark"] .tnote--ok{color:#49D6A8}
.oplist{display:grid; gap:8px; margin-top:12px}
.op{display:flex; align-items:center; gap:12px; padding:13px 14px; border-radius:var(--r-m);
  border:1px solid var(--line-soft); background:var(--surface)}
.op__i{width:36px; height:36px; border-radius:11px; flex:none; display:grid; place-items:center;
  background:var(--tint); color:var(--brand-2)}
.op__i--in{background:color-mix(in srgb,#12B76A 14%,transparent); color:#0E7C67}
:root[data-theme="dark"] .op__i--in{color:#49D6A8}
.op__t{min-width:0; flex:1}
.op__t b{display:block; font-size:14.5px; font-weight:600}
.op__t span{display:block; font-size:12px; color:var(--ink-3); margin-top:2px}
.op__s{font-weight:700; font-size:14.5px; white-space:nowrap; font-variant-numeric:tabular-nums}
.op__s--in{color:#0E7C67}
:root[data-theme="dark"] .op__s--in{color:#49D6A8}
.refcode{display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-top:4px}
.refcode__c{font-family:var(--f-display); font-size:clamp(22px,3vw,28px); font-weight:650;
  letter-spacing:.06em; color:var(--brand-2); background:var(--tint);
  border-radius:var(--r-m); padding:10px 18px}
select.finp{appearance:none; background-image:
  linear-gradient(45deg,transparent 50%,currentColor 50%),
  linear-gradient(135deg,currentColor 50%,transparent 50%);
  background-position:calc(100% - 19px) 51%, calc(100% - 13px) 51%;
  background-size:6px 6px, 6px 6px; background-repeat:no-repeat; padding-right:38px}
.awallet{display:flex; align-items:center; gap:18px; flex-wrap:wrap; margin-top:24px;
  background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--r-l);
  padding:20px 22px; box-shadow:var(--sh-1)}
.awallet__k{display:block; font-size:11px; font-weight:700; letter-spacing:.11em;
  text-transform:uppercase; color:var(--ink-3)}
.awallet__v{font-family:var(--f-display); font-size:clamp(25px,3.4vw,32px); font-weight:600;
  letter-spacing:-.03em; line-height:1.1; margin-top:7px; font-variant-numeric:tabular-nums}
.awallet__alt{font-size:12.5px; color:var(--ink-3); margin-top:3px; font-variant-numeric:tabular-nums}
.awallet__go{margin-left:auto; display:inline-flex; align-items:center; gap:6px;
  color:var(--brand-2); font-weight:700; font-size:14px}
.awallet__go:hover{text-decoration:underline; text-underline-offset:4px}

.agroup{font-size:11px; font-weight:700; letter-spacing:.11em; text-transform:uppercase;
  color:var(--ink-3); margin:30px 0 11px}
.alist{background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--r-l);
  overflow:hidden; box-shadow:var(--sh-1)}
.arow{display:flex; align-items:center; gap:14px; padding:15px 18px;
  border-top:1px solid var(--line-soft); transition:background .16s}
.arow:first-child{border-top:0}
.arow:hover{background:var(--surface-2)}
.arow__i{flex:none; width:38px; height:38px; border-radius:11px; display:grid; place-items:center;
  background:var(--tint-3); color:var(--brand-2)}
.arow__t{min-width:0; flex:1}
.arow__t b{display:block; font-size:14.5px; font-weight:600; letter-spacing:-.01em}
.arow__t span{display:block; font-size:12.5px; color:var(--ink-3); margin-top:2px}
.arow__c{flex:none; color:var(--ink-3); display:flex}
.arow:hover .arow__c{color:var(--brand-2)}
@media(max-width:480px){
  .ahead{gap:14px}
  .ahead__av{width:48px; height:48px; font-size:16px}
  .arow{padding:13px 14px; gap:11px}
  .arow__i{width:34px; height:34px}
  .awallet{padding:17px 18px}
  .awallet__go{margin-left:0}
}

/* ─── ВХОД ЧЕРЕЗ GOOGLE / TELEGRAM ─── */
.soc{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px}
/* Кнопок две, а не три: на широком экране они тянулись бы через всю
   карточку, поэтому держим их по центру в разумной ширине. */
.soc--2{grid-template-columns:repeat(2,minmax(0,1fr)); max-width:360px; margin-inline:auto}
.soc__b{display:flex; align-items:center; justify-content:center; gap:8px; min-width:0;
  padding:12px 10px; border-radius:var(--r-m); font-size:14px; font-weight:600;
  border:1.5px solid var(--line); background:var(--surface); color:var(--ink);
  white-space:nowrap; transition:border-color .16s, background .16s, transform .16s var(--ease)}
.soc__b:hover{border-color:var(--brand-2); transform:translateY(-1px)}
.soc__b img{width:18px; height:18px; flex:none; object-fit:contain}
.soc__b .ico{width:18px; height:18px; flex:none}
/* Apple просит свою кнопку чёрной с белым знаком — так и делаем */
.soc__b--apple{background:#000; border-color:#000; color:#fff}
.soc__b--apple:hover{background:#1A1A1C; border-color:#1A1A1C}
.soc__b--tg{color:#2AABEE}
:root[data-theme="dark"] .soc__b--apple{background:#fff; border-color:#fff; color:#0B0B0D}
:root[data-theme="dark"] .soc__b--apple img{filter:invert(1)}
@media(max-width:420px){
  .soc{grid-template-columns:1fr}
  .soc__b{justify-content:flex-start; padding-inline:16px}
}
.tick{list-style:none; margin:0; padding:0; display:grid; gap:10px}
.tick li{display:grid; grid-template-columns:auto 1fr; gap:10px; align-items:start;
  font-size:13.8px; color:var(--ink-2); line-height:1.5}

/* ─── ПЛАШКА ГЛОБАЛЬНЫХ ТАРИФОВ ─── */
.gnote{display:grid; grid-template-columns:auto 1fr; gap:14px; align-items:start;
  margin:22px 0 0; padding:18px 20px; border-radius:var(--r-m);
  background:var(--tint-2); border:1px solid var(--line-soft);
  font-size:14px; line-height:1.55; color:var(--ink-2)}
.gnote .ico{color:var(--brand-2); margin-top:1px}

.drawer__t{display:block; font-size:11px; font-weight:700; letter-spacing:.07em;
  text-transform:uppercase; color:var(--ink-3); margin:16px 0 4px}
.drawer__t:first-of-type{margin-top:10px}
.drawer__s{padding-left:2px; font-size:15px !important; color:var(--ink-2) !important}

@media(max-width:1000px){
  .calc{grid-template-columns:minmax(0,1fr)}
  .calc__map{display:none}
  .cuse{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:420px){
  .cdays{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cuse{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cstep{font-size:11.5px; padding:4px 7px; gap:6px}
  .cstep i{width:20px; height:20px; font-size:11px}
  .cres__h{flex-direction:column; align-items:flex-start}
  .cres__p{text-align:left; margin-left:0}
}
/* ─── ПРОВЕРКА ТЕЛЕФОНА ─── */
.echeck{background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--r-xl);
  padding:clamp(24px,3vw,46px); box-shadow:var(--sh-1);
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(24px,3vw,44px); align-items:center}
.echeck h2{margin:0; font-size:clamp(25px,3vw,40px); line-height:1.1}
.ekicker{font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--ink-3); margin-bottom:14px}
.echeck__p{margin-top:14px; color:var(--ink-3); font-size:15px; line-height:1.55; max-width:42ch}
.efield{display:flex; align-items:center; gap:10px; margin-top:22px; background:var(--surface);
  border:1.5px solid var(--line); border-radius:999px; padding:5px 5px 5px 18px;
  transition:border-color .2s, box-shadow .24s}
.efield:focus-within{border-color:var(--brand-2); box-shadow:0 0 0 4px color-mix(in srgb,var(--brand-2) 13%,transparent)}
.efield input{flex:1; min-width:0; border:0; background:none; outline:none; font:inherit;
  font-size:15.5px; color:var(--ink); padding:12px 0}
.efield__x{width:30px; height:30px; border-radius:50%; display:grid; place-items:center; flex:none;
  color:var(--ink-3); transition:.2s}
.efield__x:hover{background:var(--tint); color:var(--ink)}
.efield__x[hidden]{display:none}
.ebrands{display:flex; flex-wrap:wrap; gap:9px; margin-top:16px; align-items:center}
.ebrands > span{font-size:12.5px; color:var(--ink-3); margin-right:2px}
.ebrand{display:inline-flex; align-items:center; gap:7px; font:inherit; font-size:12.5px; font-weight:600;
  color:var(--ink-2); background:var(--surface); border:1.5px solid var(--line); border-radius:12px;
  padding:7px 12px; transition:.2s var(--ease)}
.ebrand:hover{border-color:var(--brand-2); color:var(--brand-2); transform:translateY(-1px)}
.ebrand.on{border-color:var(--brand-2); color:var(--brand-2);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-2) 12%,transparent)}
.ebrand i{width:18px; height:18px; border-radius:5px; flex:none; display:grid; place-items:center;
  font-style:normal; font-size:10px; font-weight:700; color:#fff; letter-spacing:-.02em}
.ecard{border-radius:20px; padding:22px; border:1px solid var(--line-soft); background:var(--tint-2);
  animation:devIn .34s var(--ease-out) both}
.ecard--ok{background:color-mix(in srgb,#12B76A 8%,var(--surface));
  border-color:color-mix(in srgb,#12B76A 30%,transparent)}
.ecard--no{background:color-mix(in srgb,var(--hot) 7%,var(--surface));
  border-color:color-mix(in srgb,var(--hot) 32%,transparent)}
.ecard__h{display:flex; align-items:center; gap:14px}
.ecard__i{width:44px; height:44px; border-radius:50%; display:grid; place-items:center; flex:none; color:#fff}
.ecard--ok .ecard__i{background:#12B76A}
.ecard--no .ecard__i{background:var(--hot)}
.ecard--maybe .ecard__i{background:var(--brand-2)}
.ecard__h > span:last-child{min-width:0}
.ecard__h b{display:block; font-size:16.5px; font-weight:700; letter-spacing:-.01em}
.ecard__h > span:last-child > span{display:block; font-size:13.5px; color:var(--ink-3); margin-top:2px}
.erows{list-style:none; margin:18px 0 0; padding:0; background:var(--surface);
  border:1px solid var(--line-soft); border-radius:14px}
.erows li{display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:12px; align-items:center;
  padding:13px 16px; font-size:13.5px}
@media(max-width:560px){
  .erows li{grid-template-columns:auto minmax(0,1fr); row-gap:3px}
  .erows u{grid-column:2; justify-self:start}
}
.erows li + li{border-top:1px solid var(--line-soft)}
.erows li > .ico:first-child{color:var(--ink-3)}
.erows b{font-weight:600}
.erows u{text-decoration:none; color:var(--ink-3); font-size:13px; justify-self:end}
.erows u .ico{margin-left:4px; vertical-align:-2px}
.erows .yes .ico{color:#12B76A} .erows .nope .ico{color:var(--hot)}
.einfo{display:grid; grid-template-columns:auto 1fr; gap:12px; margin-top:16px; padding:14px 16px;
  border-radius:14px; background:var(--tint-2); border:1px solid var(--line-soft);
  font-size:13px; line-height:1.55; color:var(--ink-3)}
.einfo b{font-family:var(--f-tech); color:var(--ink-2)}
.einfo .ico{color:var(--brand-2); margin-top:1px}
@media(max-width:900px){.echeck{grid-template-columns:minmax(0,1fr)}}


.devmore{margin-top:14px; font-size:13px}
.devmore a{color:var(--brand-2); font-weight:600; border-bottom:1px dashed currentColor}
.nlist{list-style:none; margin:0; padding:0; counter-reset:n; display:grid; gap:10px}
.nlist li{counter-increment:n; display:grid; grid-template-columns:auto 1fr; gap:11px;
  align-items:start; font-size:13.8px; color:var(--ink-2); line-height:1.5}
.nlist li::before{content:counter(n); width:22px; height:22px; border-radius:50%;
  background:var(--tint); color:var(--brand-2); font-size:12px; font-weight:700;
  display:grid; place-items:center; flex:none}

/* ─── СПИСОК ТЕЛЕФОНОВ ─── */
.bchips{display:flex; flex-wrap:wrap; gap:9px; margin-top:16px}
.bchips button{display:inline-flex; align-items:center; gap:8px; font:inherit; font-size:13px;
  font-weight:600; color:var(--ink-2); background:var(--surface); border:1.5px solid var(--line);
  border-radius:12px; padding:7px 13px; transition:.2s var(--ease)}
.bchips button img{border-radius:6px; display:block; flex:none;
  box-shadow:0 0 0 1px rgba(6,14,43,.08); filter:grayscale(1) opacity(.55); transition:filter .24s}
.bchips button:hover{border-color:var(--brand-2); color:var(--brand-2); transform:translateY(-1px)}
.bchips button:hover img{filter:grayscale(.3) opacity(.9)}
.bchips button.on{border-color:var(--brand-2); color:var(--brand-2);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-2) 12%,transparent)}
.bchips button.on img{filter:none}
:root[data-theme="dark"] .bchips button img{box-shadow:0 0 0 1px rgba(255,255,255,.14)}

.dcount{font-size:12.5px; color:var(--ink-3); margin:22px 0 10px}
.dlist{display:grid; grid-template-columns:repeat(auto-fill,minmax(296px,1fr)); gap:10px}
/* список моделей прямо в блоке проверки: длинный, поэтому со скроллом */
.echeck--list{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr); align-items:start}
.echeck__tick{margin-top:18px}
.echeck__go{margin-top:18px}
.bchips--wide{margin-top:0}
/* Список короткий — шесть моделей, прокрутка внутри больше не нужна
   и только обрезала последнюю строку. */
.dlist--in{margin-top:14px; padding-right:4px;
  grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.dlist--in::-webkit-scrollbar{width:8px}
.dlist--in::-webkit-scrollbar-thumb{background:var(--line); border-radius:4px}
.dlist--in{scrollbar-width:thin}
@media(max-width:900px){
  .echeck--list{grid-template-columns:minmax(0,1fr)}
  .echeck__t{position:static}
  .dlist--in{max-height:340px; grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
}
.drow{display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:11px; align-items:center;
  width:100%; text-align:left; font:inherit; padding:12px 14px; border-radius:14px;
  background:var(--surface); border:1px solid var(--line-soft); box-shadow:var(--sh-1);
  transition:.2s var(--ease)}
.drow:hover{border-color:var(--brand-2); transform:translateY(-2px); box-shadow:var(--sh-2)}
.drow img{border-radius:8px; display:block; box-shadow:0 0 0 1px rgba(6,14,43,.08)}
.drow__n{font-size:14px; font-weight:600; color:var(--ink); min-width:0;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.drow__s{display:inline-flex; align-items:center; gap:4px; font-size:11.5px; font-weight:600;
  white-space:nowrap; border-radius:999px; padding:4px 8px}
.drow__s.yes{color:#0E7C67; background:color-mix(in srgb,#12B76A 13%,transparent)}
.drow__s.no{color:var(--hot); background:color-mix(in srgb,var(--hot) 13%,transparent)}
:root[data-theme="dark"] .drow img{box-shadow:0 0 0 1px rgba(255,255,255,.14)}

/* выпадающий список моделей в блоке на главной */
.dmenu{position:absolute; z-index:40; left:0; right:0; top:calc(100% + 8px);
  max-height:320px; overflow-y:auto; overscroll-behavior:contain; display:grid; gap:6px;
  background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:7px;
  box-shadow:0 8px 20px rgba(6,14,43,.10), 0 30px 60px -28px rgba(10,51,151,.5);
  animation:devIn .18s var(--ease-out) both}
.dmenu[hidden]{display:none}
.dmenu .drow{box-shadow:none; border-color:transparent}
.dmenu .drow:hover{transform:none; background:var(--tint); border-color:transparent}
.efield{position:relative}
/* ─── ОТЗЫВЫ ─── */
.rev{background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--r-card);
  padding:24px 22px; box-shadow:var(--sh-1)}
.rev p{font-size:14px; line-height:1.6; color:var(--ink-2); margin:12px 0 0}
.rev__u{display:grid; grid-template-columns:auto 1fr; gap:12px; align-items:center;
  margin-top:18px; padding-top:16px; border-top:1px solid var(--line-soft)}
.rev__av{width:44px; height:44px; border-radius:50%; display:grid; place-items:center;
  color:#fff; font-weight:700; font-size:17px; font-family:var(--f-display); flex:none}
.rev__nm{font-size:14.5px; font-weight:600; display:block}
.rev__c{display:inline-flex; align-items:center; gap:6px; font-size:12px; color:var(--ink-3); margin-top:2px}
.rev__c .flag{width:17px; height:12px}
.rev__pl{display:block; font-size:11.5px; color:var(--ink-3); margin-top:5px}
.stars{color:#F0B429}

/* ─── ВОПРОСЫ: КАТЕГОРИИ ─── */
.fcats{display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-bottom:26px}
/* вопросы на главной — по темам, а не сплошным списком */
.fgroups{display:grid; gap:26px}
.fgroup__h{display:flex; align-items:center; gap:9px; font-size:13px; font-weight:700;
  letter-spacing:.06em; text-transform:uppercase; color:var(--ink-3); margin-bottom:12px}
.fgroup__h .ico{color:var(--brand-2)}
.fcat{display:inline-flex; align-items:center; gap:9px; font:inherit; font-size:13.5px; font-weight:600;
  color:var(--ink-2); background:var(--surface); border:1px solid var(--line); border-radius:999px;
  padding:11px 20px; transition:.22s var(--ease)}
.fcat:hover{border-color:var(--brand-2); color:var(--brand-2)}
.fcat.on{background:var(--brand-2); border-color:transparent; color:#fff; box-shadow:var(--sh-2)}
.fcat.on .ico{color:#fff}
.fcat .ico{color:var(--ink-3)}
.fcat:hover .ico{color:var(--brand-2)}
.acc--cards{display:grid; gap:12px}
.acc__item[hidden]{display:none}
.acc--cards .acc__item{background:var(--surface); border:1px solid var(--line-soft);
  border-radius:18px; box-shadow:var(--sh-1); overflow:hidden}
.acc--cards .acc__q{padding:19px 22px; font-size:15.5px}
.acc--cards .acc__a{padding:0 22px}
.acc--cards .acc__item.on .acc__a{padding-bottom:20px}



/* скриншот мини-приложения в рамке телефона */
.route__ph{overflow:hidden}
img.route__scr{position:absolute; inset:6px; width:calc(100% - 12px); height:auto;
  border-radius:26px; display:block}

/* плашка про Telegram в блоке «Одна eSIM» */
/* ─── БЛОК ПРО TELEGRAM ─── */
.tgcard__h{display:flex; align-items:center; gap:13px; margin-bottom:15px}
.tgcard__h b{display:block; font-size:16.5px; font-weight:700; letter-spacing:-.01em}
.tgcard__h > div > span{display:block; font-size:12.5px; color:var(--ink-3); margin-top:3px}
.tgcard__l2{list-style:none; margin:0; padding:0; display:grid; gap:9px}
.tgcard__l2 li{display:grid; grid-template-columns:auto 1fr; gap:10px; align-items:start;
  font-size:13.5px; line-height:1.45; color:var(--ink-2)}
.tgcard__l2 .ico{margin-top:1px; color:#229ED9}
.tgcard__go{margin-top:16px; width:100%; gap:9px; background:#229ED9; color:#fff; border:1px solid #229ED9}
.tgcard__go:hover{background:#1E8CC0; border-color:#1E8CC0; transform:translateY(-1px)}
.tgcard__n{margin:10px 0 0; font-size:11.5px; color:var(--ink-3); text-align:center}
.tgcard{display:block;
  margin-top:22px; padding:16px 18px; border-radius:var(--r-m);
  background:var(--tint-2); border:1px solid var(--line-soft)}
.tgcard__i{width:40px; height:40px; border-radius:12px; background:#229ED9; color:#fff;
  display:grid; place-items:center; flex:none}
.tgcard__l{display:inline-flex; align-items:center; gap:5px; margin-top:10px;
  font-size:13px; font-weight:600; color:var(--brand-2)}
.tgcard__l:hover{opacity:.75}
/* ─── ЗАКРЫВАЮЩИЙ БЛОК ─── */
.close{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.92fr);
  gap:clamp(24px,3.4vw,54px); align-items:center;
  background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--r-xl);
  padding:clamp(26px,3.4vw,52px); box-shadow:var(--sh-2); position:relative; overflow:hidden}
.close::before{content:""; position:absolute; inset:0 0 auto; height:5px; background:var(--brand-2)}
.close h2{margin:0; font-size:clamp(26px,3.2vw,42px); line-height:1.1}
.close__card{background:var(--tint-2); border:1px solid var(--line-soft);
  border-radius:var(--r-l); padding:clamp(18px,2vw,24px)}
.close__grid{display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-top:4px}
.close__c{display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:10px; align-items:center;
  background:var(--surface); border:1px solid var(--line-soft); border-radius:14px;
  padding:9px 11px; transition:.2s var(--ease)}
.close__c:hover{border-color:var(--brand-2); transform:translateY(-2px); box-shadow:var(--sh-2)}
.close__c .flag{flex:none}
.close__t{min-width:0}
.close__t b{display:block; font-size:13.5px; font-weight:600;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.close__t i{display:block; font-style:normal; font-size:11.5px; color:var(--brand-2); font-weight:700}
.close__a{color:var(--ink-3); display:flex}
.close__c:hover .close__a{color:var(--brand-2)}
@media(max-width:900px){.close{grid-template-columns:minmax(0,1fr)}}
@media(max-width:420px){.close__grid{grid-template-columns:1fr}}
/* ─── ПОДВАЛ ─── */
footer{position:relative; overflow:hidden; border:0; margin-top:0;
  background:linear-gradient(180deg,var(--sky-1) 0, var(--sky-2) 120px, var(--sky-2) 100%)}
.fdeco{position:absolute; right:-4%; top:8%; width:min(30%,330px); opacity:.5; pointer-events:none}
.fdeco svg{width:100%; height:auto; display:block}
.fgrid{position:relative; z-index:1}
.fsoc{display:flex; gap:10px; margin-top:16px}
.fsoc a{width:40px; height:40px; border-radius:12px; background:var(--tint); color:var(--brand-2);
  display:grid; place-items:center; transition:.22s var(--ease)}
.fsoc a:hover{background:var(--brand-2); color:#fff; transform:translateY(-2px)}
.fbadges{display:flex; flex-wrap:wrap; gap:9px; margin-top:18px}
.fbadge{display:inline-flex; align-items:center; gap:7px; border-radius:999px; padding:8px 14px;
  font-size:12px; font-weight:600}
.fbadge--g{background:color-mix(in srgb,#12B76A 12%,transparent); color:#0E7C67}
.fbadge--b{background:var(--tint); color:var(--brand)}
.fpay{display:flex; align-items:center; gap:9px; flex-wrap:wrap}
.pay{height:26px; min-width:42px; padding:0 9px; border-radius:6px; background:var(--surface);
  border:1px solid var(--line); display:inline-flex; align-items:center; justify-content:center;
  font-size:10.5px; font-weight:700; color:var(--ink-2); letter-spacing:.01em}
.pay--visa{color:#1A1F71; font-family:var(--f-display)}
.fbot{display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap}
.fbot__r{display:flex; align-items:center; gap:16px; flex-wrap:wrap}
@media(max-width:600px){.fbot{flex-direction:column; align-items:flex-start}}

/* ═══════════ ПЛОТНОСТЬ НА ТЕЛЕФОНЕ ═══════════
   Задача — чтобы раздел по возможности помещался в один экран. Отступы
   секций уже сжаты выше; здесь ужимается то, что занимает высоту внутри:
   сетки, заголовки, карточки. Содержимое при этом не выбрасывается —
   только то, что на маленьком экране всё равно пришлось бы прокручивать. */
@media(max-width:700px){
  /* Карточки стран в две колонки, а не в одну: 16 штук в столбик
     занимали больше полутора тысяч пикселей. */
  .g-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid{gap:10px}
  /* В две колонки карточка узкая: флаг, название и цена в одну строку
     не помещаются и цена обрезалась. Поэтому в столбик — флаг с названием
     сверху, цена под ними. */
  .ccard{flex-direction:column; align-items:flex-start; gap:6px;
    padding:11px 12px; border-radius:14px}
  .ccard > span:not(.pr){display:flex; align-items:center; gap:8px; min-width:0; width:100%}
  .ccard .flag{font-size:20px}
  .ccard .nm{font-size:13px; line-height:1.2; overflow-wrap:break-word}
  .ccard .sub{display:none}            /* сети оператора — на странице страны */
  .ccard .pr{margin-left:0; text-align:left; display:flex; align-items:baseline; gap:5px}
  .ccard .pr br{display:none}
  .ccard .pr .f{font-size:9.5px}
  .ccard .pr .v{font-size:13.5px}
  /* Шестнадцать стран в один экран телефона не помещаются физически:
     на сетку остаётся около 635 px, то есть примерно восемь карточек.
     Показываем восемь, остальные — по кнопке «Смотреть все страны».
     Разметка не меняется, на компьютере по-прежнему все шестнадцать. */
  #popGrid .ccard:nth-child(n+9){display:none}

  /* Шапка раздела: заголовок, подпись, табы — компактнее. */
  .shead{margin-bottom:16px; gap:12px}
  .shead p{margin-top:6px; font-size:14px}
  h2{line-height:1.1}

  /* Секции первого уровня */
  .echeck,.calc,.usp,.close,.cmp,.tnow{gap:16px}
  .panel{padding:16px}

  .bchips{gap:7px}
  .dlist{gap:7px}
  /* На телефоне четырёх моделей достаточно: полный список — по ссылке. */
  .echeck .dlist > *:nth-child(n+5){display:none}

  /* Калькулятор: та же механика, но компактнее по вертикали.
     На телефоне он разделён на две карточки — вопросы и результат:
     одной карточкой это около 1460 px, то есть почти два экрана. */
  .calc__card{padding:0; background:none; border:0; box-shadow:none;
    display:grid; grid-template-columns:minmax(0,1fr); gap:14px}
  .calc__q,.calc__out{display:block; background:var(--surface);
    border:1px solid var(--line-soft); border-radius:var(--r-xl);
    box-shadow:var(--sh-2); padding:16px}
  /* В карточке результата главное — сам тариф и список, из которого
     можно выбрать другой. Повтор выбранных сценариев и строка про сети
     уже сказаны выше по странице, на телефоне их убираем. */
  .cres__net{display:none}
  .cres ul li:nth-child(n+2){display:none}
  .cother{margin-top:12px; padding-top:11px}
  .cother__h{font-size:11.5px; margin-bottom:7px}
  .cother__l{gap:6px}
  .cop{padding:8px 10px}
  .cop b{font-size:14px}
  .cres__fine{margin-top:10px}
  .csteps{gap:3px; margin-bottom:12px}
  .cres{padding:14px; margin-top:14px}
  .cres__card{max-width:none; margin:10px 0 12px}

  /* «Одна eSIM — много поездок»: снимок приложения меньше, список плотнее. */
  .route__ph{width:112px; height:212px; border-radius:24px}
  .route__l li{padding:6px 0}
  .tgcard{padding:16px}
  .tgcard__l2 li{font-size:13px; line-height:1.35}
  .tgcard__l2{gap:6px}

  /* Закрывающий блок */
  .close__grid{gap:8px}
  .close__c{padding:10px 12px}
  .close .tick li{font-size:13px; line-height:1.35}
  .close .tick{gap:7px}
  .hsearch{padding:5px 5px 5px 16px}

  /* Блок про Telegram: на телефоне оставляем три пункта из пяти —
     остальные повторяют то, что уже сказано выше по странице. */
  .tgcard__l2 li:nth-child(n+4){display:none}
  .tgcard__n{display:none}

  /* Вопросы на главной: заголовки тем плотнее */
  .fgroup__h{margin-bottom:8px; font-size:13px}
  .fgroups{gap:12px}
  .acc--cards .acc__q{padding:13px 14px; font-size:14px}

  /* Табы и кнопка над сеткой стран — одной строкой с прокруткой вбок,
     вместо того чтобы переноситься и занимать три строки по высоте. */
  .shead .row{flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none;
    -webkit-overflow-scrolling:touch; padding-bottom:2px}
  .shead .row::-webkit-scrollbar{display:none}
  .shead .row > *{flex:none}
  .ptabs{flex-wrap:nowrap}

  /* Калькулятор: дни в одну строку, сценарии по три в ряд. */
  .cdays{grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px}
  .cdays .opt{padding:9px 4px}
  .cdays .opt b{font-size:14px}
  .cdays .opt span{font-size:10.5px}
  .cuse{grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px}
  .cuse .chip2{padding:9px 5px}
  .cuse .chip2 b,.cuse .chip2 span{font-size:11px}

  /* Сравнение и закрывающий блок */
  .cmp__c{padding:16px}
  .close .tick li:nth-child(n+4){display:none}
  /* Четыре страны в закрывающем блоке — это два ряда; на телефоне хватает
     одного, ниже сразу поиск по всем остальным. */
  .close__grid .close__c:nth-child(n+3){display:none}


  /* «Одна eSIM»: снимок приложения в рамке телефона на маленьком экране
     дублирует то, что и так описано рядом словами. */
  .route{grid-template-columns:minmax(0,1fr)}
  .route__ph{display:none}
  .route__l li{padding:5px 0}
  .route__note{margin-top:10px; font-size:12px}

  /* «Одна eSIM — много поездок» на телефоне — это два блока, а не один.
     Одной карточкой раздел занимает около 1260 px, то есть полтора экрана,
     и в экран его можно вместить только выбросив половину содержимого.
     Поэтому оформление карточки переезжает с .usp на обе половины:
     сверху — заголовок и Telegram, снизу — маршрут поездок. Каждая
     половина помещается в экран целиком, разметка та же. */
  .usp{background:none; border:0; box-shadow:none; padding:0; gap:14px}
  .usp__t,.usp .route{background:var(--surface); border:1px solid var(--line-soft);
    border-radius:var(--r-xl); box-shadow:var(--sh-2); padding:22px 16px}
  /* половины стоят друг под другом, поэтому въезжают снизу, а не с боков */
  .js .usp > [data-rv="left"],.js .usp > [data-rv="right"]{transform:translate3d(0,24px,0)}
  /* Маршрут «одна eSIM, четыре поездки» на телефоне убираем целиком:
     он длинный, а мысль «одна симка на все поездки» уже сказана выше
     списком преимуществ. */
  .usp .route{display:none}

  /* Большой блок про Telegram на телефоне убираем: сразу под карточкой
     заказа уже стоит кнопка «Открыть Esim Go в Telegram». */
  .tghide{display:none}

  /* Калькулятор: подпись и ссылка «Выбрать всё» в одну строку */
  .calc__card .clab{font-size:13px}

  /* На телефоне вопросы и ответ не помещаются вместе: человек листает
     вслепую и не понимает, посчиталось ли. Поэтому сначала только вопросы
     и кнопка «Далее», потом только результат и кнопка вернуться. Каждый
     шаг занимает один экран. */
  .calc__next{display:block; margin-top:16px}
  .calc__out{display:none}
  .calc--done .calc__q{display:none}
  .calc--done .calc__out{display:contents}
  .calc__back{display:block; margin-bottom:12px; text-align:left}

  /* Страница страны: после заголовка — сразу тарифы. Подпись про сети,
     плашки преимуществ и карточка «самый популярный тариф» на телефоне
     только отодвигают вниз то, за чем человек пришёл. */
  .chero__id,.chero__pills,.topplan,.chero__l .lede{display:none}
  .chero__h{margin-top:4px}
}


/* Header navigation and authenticated wallet visibility. */
.navbal[hidden]{display:none!important}
.nav__links a.navhome{display:inline-flex;align-items:center;justify-content:center}

/* Legal documents: scoped reading layout. */
.legalpage{padding-block:40px 72px}
.legalpage__wrap{max-width:1160px}
.legalpage .crumb{display:flex;flex-wrap:wrap;gap:6px}
.legalpage__head{margin:28px 0 34px;max-width:850px}
.legalpage__head h1{font-size:clamp(28px,4vw,46px);line-height:1.16;margin-top:14px;overflow-wrap:anywhere}
.legalpage__head .lede{margin-top:14px;max-width:62ch}
.legaldocs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.legaldocs__card{display:flex;flex-direction:column;padding:28px;border:1px solid var(--line);border-radius:22px;background:var(--surface);color:var(--ink);transition:transform .18s,border-color .18s}
.legaldocs__card:hover{transform:translateY(-3px);border-color:var(--brand-2)}
.legaldocs__icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:14px;background:var(--tint-3);color:var(--brand-2);margin-bottom:24px}
.legaldocs__card h2{font-size:21px;line-height:1.3}
.legaldocs__card p{font-size:14px;line-height:1.65;color:var(--ink-2);margin:12px 0 26px}
.legaldocs__open{display:flex;align-items:center;gap:8px;color:var(--brand-2);font-size:14px;font-weight:600;margin-top:auto}
.legalpage__layout{display:grid;grid-template-columns:250px minmax(0,1fr);align-items:start;gap:32px}
.legalnav{position:sticky;top:100px;max-height:calc(100vh - 120px);overflow:auto}
.legalnav__link{display:block;padding:12px 14px;margin-bottom:5px;border-radius:12px;font-size:13px;font-weight:600;line-height:1.5;color:var(--ink-2)}
.legalnav__link:hover,.legalnav__link.on{background:var(--tint-3);color:var(--brand-2)}
.legalnav__toc{border-top:1px solid var(--line);margin-top:20px;padding-top:22px}
.legalnav__toc h2{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin:0 14px 12px}
.legalnav__toc a{display:block;padding:7px 14px;font-size:12.5px;line-height:1.55;color:var(--ink-2)}
.legalnav__toc a:hover{color:var(--brand-2)}
.legalpaper{padding:36px 40px;border:1px solid var(--line);border-radius:24px;background:var(--surface);min-width:0}
.legalpaper__section{padding:0;margin:0;scroll-margin-top:110px}
.legalpaper__section+.legalpaper__section{margin-top:30px;padding-top:28px;border-top:1px solid var(--line)}
.legalpaper__section h2{font-size:clamp(18px,2vw,22px);line-height:1.4;margin:0 0 12px}
.legalpaper__section p{font-size:15px;line-height:1.85;color:var(--ink-2);overflow-wrap:anywhere}
.legalpaper__contact{margin-top:34px;padding:22px;border-radius:16px;background:var(--tint-3);font-size:14px;line-height:1.7;overflow-wrap:anywhere}
.legalpaper__contact p{margin-top:5px;color:var(--ink-2)}
.legalpaper__contact a{color:var(--brand-2)}
.legalpage a:focus-visible{outline:2px solid var(--brand-2);outline-offset:4px}
@media(max-width:900px){.legalpage__layout{grid-template-columns:210px minmax(0,1fr);gap:20px}.legalpaper{padding:28px}.legaldocs{grid-template-columns:1fr}.legaldocs__card{padding:24px}}
@media(max-width:700px){.legalpage{padding-block:24px 44px}.legalpage__head{margin:22px 0 26px}.legalpage__layout{grid-template-columns:1fr;gap:22px}.legalnav{position:static;max-height:none;overflow:visible}.legalnav__toc{display:none}.legalnav>nav:first-child{display:flex;gap:6px;flex-wrap:wrap}.legalnav__link{border:1px solid var(--line);padding:9px 12px;margin:0;font-size:12px}.legalpaper{padding:24px 20px;border-radius:18px}.legalpaper__section p{font-size:14px;line-height:1.8}.legalpaper__section{scroll-margin-top:24px}}
@media print{body:has(.legalpage) .nav,body:has(.legalpage) footer,.legalnav,.legalpaper__contact{display:none!important}.legalpage{padding:0}.legalpage__layout{display:block}.legalpaper{border:0;padding:0;background:white}.legalpaper__section{break-inside:avoid}.legalpaper__section p{color:black}}

/* Clean hero phone: one soft contour shadow. */
.hph{aspect-ratio:1045/1505}
.hph img{filter:drop-shadow(0 16px 24px rgba(8,22,70,.13))}
.hph__glow,.hph .hsh{display:none}

/* Hero: diffuse left/bottom shadow and a subtle signal pulse. */
.hph::before{content:"";position:absolute;z-index:0;pointer-events:none;
  left:-15%;top:27%;width:60%;height:65%;border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(31,57,104,.18) 0%,rgba(43,70,119,.09) 38%,transparent 72%);
  filter:blur(25px);transform:rotate(-21deg)}
.hph img{filter:drop-shadow(-12px 18px 26px rgba(12,35,79,.12))}
.hsignal{position:absolute;z-index:1;pointer-events:none;left:-10%;top:49%;
  width:clamp(100px,12vw,160px);aspect-ratio:1;transform:rotate(-18deg)}
.hsignal i{position:absolute;inset:0;border:1px solid rgba(48,109,218,.22);
  border-right-color:transparent;border-bottom-color:transparent;border-radius:50%;opacity:0}
.hstage .hcard{top:17%;right:-4%;bottom:auto}
:root[data-theme="dark"] .hph::before{background:radial-gradient(ellipse at center,rgba(0,0,0,.33),rgba(0,0,0,.12) 40%,transparent 72%)}
:root[data-theme="dark"] .hsignal i{border-top-color:rgba(111,169,255,.25);border-left-color:rgba(111,169,255,.25)}
@media(prefers-reduced-motion:no-preference){
  .hsignal i{animation:heroSignal 5.4s ease-out infinite}
  .hsignal i:nth-child(2){animation-delay:1.8s}
  .hsignal i:nth-child(3){animation-delay:3.6s}
}
@keyframes heroSignal{0%{transform:scale(.35);opacity:0}15%{opacity:.65}80%,100%{transform:scale(1.65);opacity:0}}
@media(max-width:1180px) and (min-width:1001px){.hstage .hcard{right:-1%;padding:11px 13px}.hstage .hcard b{font-size:12px}.hstage .hcard>span:last-child>span{font-size:11px}}
@media(max-width:1000px){.hstage .hcard{top:17%;right:0;bottom:auto}.hph::before{filter:blur(22px)}}

.device-brand-icon{display:inline-flex;flex:none;align-items:center;justify-content:center;width:var(--brand-icon-size);height:var(--brand-icon-size);border-radius:7px;background:var(--tint-3);color:var(--brand-2);font-size:10px;font-weight:700}

.support__head{margin:24px 0 30px}.support__head h1{font-size:clamp(28px,4vw,42px);margin:12px 0}.support__options,.support__layout{display:grid;grid-template-columns:1fr 1fr;gap:22px}.support__options .panel{display:flex;flex-direction:column;align-items:flex-start;gap:18px}.support__options .btn{margin-top:auto}.support__options p,.support__aside p{color:var(--ink-2);line-height:1.7}.support__layout{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start}.support__form .flab{display:block;margin:18px 0 7px}.support__form textarea{resize:vertical;min-height:170px}.support__selected{display:flex;flex-direction:column;gap:6px;border-radius:14px;padding:16px;background:var(--tint-3);font-size:13px;overflow-wrap:anywhere}.support__agree{display:flex;gap:10px;font-size:13px;line-height:1.6;margin:20px 0}.support__agree input{flex:none;margin-top:4px}.support__agree a{color:var(--brand-2)}.support__aside{display:flex;flex-direction:column;gap:16px}.support__aside h2{font-size:19px}.support__resources{display:flex;flex-wrap:wrap;gap:20px;margin-top:30px;font-size:14px;color:var(--brand-2)}.support__sims{display:grid;gap:12px;margin-top:20px}.support__sim{display:flex;gap:14px;align-items:center;border:1px solid var(--line);padding:16px;border-radius:14px}.support__sim>span:nth-child(2){flex:1;min-width:0}.support__sim b,.support__sim small{display:block;overflow-wrap:anywhere}.support__sim small{margin-top:6px;color:var(--ink-3)}.support__sim:hover{border-color:var(--brand-2)}.support__icon{color:var(--brand-2)}@media(max-width:700px){.support__options,.support__layout{grid-template-columns:1fr}.support .panel{padding:22px 18px}}

.support__options h2{font-size:clamp(22px,2.4vw,30px);line-height:1.25;letter-spacing:-.025em}.support__sim-info{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}.support__sim-info dt{font-size:12px;color:var(--ink-3);margin-bottom:5px}.support__sim-info dd{margin:0;font-size:13px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}@media(max-width:700px){.support__sim-info{grid-template-columns:1fr;gap:10px}.support__options h2{font-size:24px}}
