/* ======================= ВНУТРЕННИЕ СТРАНИЦЫ ======================= */
.nav a.cur{color:var(--text);background:#ffffff0d}
.phero{position:relative;padding:150px 0 70px;overflow:hidden;isolation:isolate}
.phero .sky{z-index:-1}
.phero h1{font-size:clamp(40px,5.6vw,68px);margin:18px 0 16px;max-width:820px}
.phero .sub{max-width:600px}
.phero.center{text-align:center}
.phero.center h1,.phero.center .sub{margin-left:auto;margin-right:auto}
.phero.center .cta{justify-content:center}
.pill{display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border-radius:999px;background:#ffffff0d;border:1px solid var(--line-2);font-size:13px;font-weight:600}
.pill svg{width:15px;height:15px;color:var(--red)}
.status{display:inline-flex;align-items:center;gap:9px;padding:6px 13px 6px 10px;border-radius:999px;background:#34d39912;color:#7fe3b8;font-size:13px;font-weight:600}
.status i{position:relative;width:8px;height:8px;border-radius:50%;background:var(--ok)}
.status i::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--ok);animation:status-pulse 2.4s var(--ease-out) infinite}
@keyframes status-pulse{0%{opacity:.5;transform:scale(1)}100%{opacity:0;transform:scale(2.8)}}
.sea.small{height:90px;margin-top:10px}
.sea.small .track{height:90px}

/* оглавление + разделы */
.doc{display:grid;grid-template-columns:230px 1fr;gap:48px;align-items:start}
.toc{position:sticky;top:96px;display:grid;gap:2px}
.toc a{padding:9px 14px;border-radius:11px;color:var(--faint);font-weight:500;font-size:14.5px;border-left:2px solid transparent;transition:color .2s,background-color .2s,border-color .2s}
.toc a:hover{color:var(--text)}
.toc a.on{color:var(--text);background:#ffffff08;border-left-color:var(--red)}
.dsec{scroll-margin-top:100px;padding-bottom:72px}
.dsec>h2{font-size:clamp(28px,3vw,38px);margin-bottom:10px}
.dsec>.sub{margin-bottom:26px}
.grid3c{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.grid2c{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.badge{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.04em;padding:3px 8px;border-radius:7px;background:var(--red-soft);color:var(--red);margin-left:6px;vertical-align:2px}
.badge.g{background:#34d39914;color:var(--ok)}

/* схема маршрутизации */
.route{border-radius:var(--r);background:var(--card);border:1px solid var(--line);padding:24px;display:grid;grid-template-columns:1fr 1.25fr;gap:24px;align-items:center}
.route ul{list-style:none;display:grid;gap:12px}
.route li{display:flex;gap:12px;font-size:15px;color:#d4d4d8}
.route li svg{width:18px;height:18px;color:var(--red);flex:none;margin-top:2px}
.route svg.dia{width:100%;height:auto}
.dia .node{fill:#1d1d21;stroke:#ffffff20}
.dia .node.r{fill:#2a0f0d;stroke:#ff3b3060}
.dia text{fill:#e4e4e7;font:600 13px Inter,sans-serif}
.dia text.s{fill:#8a8a93;font-weight:500;font-size:11.5px}
.dia .path{fill:none;stroke:#ffffff1c;stroke-width:2}
.dia .path.v{stroke:#ff3b3060}
.dia .pkt{fill:var(--ok)}
.dia .pkt.v{fill:var(--red)}

/* калькулятор */
.calc{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;padding:30px;border-radius:28px;background:var(--card);border:1px solid var(--line)}
.stepper{display:inline-flex;align-items:center;gap:6px;background:#ffffff0a;border-radius:13px;padding:4px}
.stepper button{width:40px;height:40px;border-radius:10px;font-size:20px;font-weight:600;transition:background-color .2s,scale .64s var(--press)}
.stepper button:hover{background:#ffffff14}
.stepper button:active{scale:.9}
.stepper b{min-width:110px;text-align:center;font-size:15px}
.lbl{font-size:13px;font-weight:600;color:var(--faint);margin:22px 0 10px}
.strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}
.tile{padding:16px;border-radius:16px;background:var(--card);border:1px solid var(--line);cursor:pointer;text-align:left;transition:border-color .25s,transform .45s var(--ease)}
.tile:hover{transform:translateY(-3px)}
.tile.on{border-color:#ff3b3080;background:linear-gradient(180deg,#1f1212,var(--card))}
.tile small{display:block;color:var(--faint);font-size:12.5px}
.tile b{font-size:22px;letter-spacing:-.02em;display:block;margin:4px 0}
.pay{display:flex;align-items:center;gap:14px;padding:18px;border-radius:18px;background:var(--card);border:1px solid var(--line)}
.pay .lg{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;font-weight:800;font-size:14px;color:#fff;flex:none}
.pay b{display:block;font-size:15.5px}
.pay small{color:var(--faint);font-size:13px}

/* приложения */
.osbox{display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;padding:24px;border-radius:24px;background:linear-gradient(160deg,#1f1212,var(--card));border:1px solid #ff3b3040}
.osbox img{width:64px;height:64px;border-radius:16px;background:#fff}
.osbox h3{font-size:22px}
.osbox p{color:var(--muted);font-size:14.5px;margin-top:4px}
.osbox .acts{display:flex;gap:10px;flex-wrap:wrap}
.pgroup{scroll-margin-top:100px;margin-top:56px}
.pgroup>h2{font-size:clamp(26px,2.8vw,34px);margin-bottom:18px}
.plat{border-radius:22px;background:var(--card);border:1px solid var(--line);padding:22px;scroll-margin-top:100px}
.plat-h{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.plat-h i{width:42px;height:42px;border-radius:12px;background:#ffffff0a;display:grid;place-items:center}
.plat-h i svg{width:21px;height:21px}
.plat-h b{font-size:18px}
.plat-h small{display:block;color:var(--faint);font-size:13px}
.plat-apps{display:grid;gap:8px}
.papp{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;background:var(--bg-2);border:1px solid var(--line);transition:border-color .2s}
.papp:hover{border-color:var(--line-2)}
.papp img{width:34px;height:34px;border-radius:10px;background:#fff;flex:none}
.papp b{font-size:14.5px;display:block}
.papp small{color:var(--faint);font-size:12.5px}
.papp .go{margin-left:auto;display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:10px;background:#ffffff0d;font-size:13px;font-weight:600;white-space:nowrap;transition:background-color .2s}
.papp .go:hover{background:#ffffff18}
.papp.rec{border-color:#ff3b3050}
.papp .go svg{width:15px;height:15px}

/* локации */
.legend{display:flex;gap:18px;flex-wrap:wrap;justify-content:center;margin-top:18px;color:var(--muted);font-size:13.5px}
.legend span{display:inline-flex;align-items:center;gap:8px}
.legend i{width:10px;height:10px;border-radius:50%;background:var(--red)}
.servers{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.server{display:flex;align-items:center;gap:12px;padding:14px;border-radius:16px;background:var(--card);border:1px solid var(--line);transition:border-color .25s,transform .45s var(--ease)}
.server:hover{border-color:var(--line-2);transform:translateY(-2px)}
.server .fl{font-size:26px;line-height:1}
.server b{display:block;font-size:14.5px}
.server small{color:var(--faint);font-size:12.5px}
.server em{margin-left:auto;width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 4px #34d39920;flex:none}

/* eSIM */
.pkgs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.pkg{border-radius:20px;background:var(--card);border:1px solid var(--line);padding:20px}
.pkg-h{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.pkg-h .fl{font-size:28px;line-height:1}
.pkg-h b{font-size:16px;display:block}
.pkg-h small{color:var(--faint);font-size:12.5px}
.pkg-row{display:flex;justify-content:space-between;padding:10px 0;border-top:1px solid var(--line);font-size:14.5px}
.pkg-row b{font-weight:700}

/* FAQ */
.search{position:relative;max-width:560px;margin:26px auto 0}
.search input{width:100%;height:56px;border-radius:16px;background:#ffffff0a;border:1px solid var(--line-2);padding:0 18px 0 50px;color:var(--text);font:inherit;font-size:16px;outline:none;transition:border-color .2s,box-shadow .2s}
.search input:focus{border-color:#ff3b3080;box-shadow:0 0 0 4px #ff3b3018}
.search svg{position:absolute;left:18px;top:50%;width:20px;height:20px;margin-top:-10px;color:var(--faint)}
.fsec{scroll-margin-top:100px;margin-bottom:46px}
.fsec>h2{font-size:clamp(24px,2.4vw,30px);margin-bottom:14px}
.fsec.hide,.q.hide{display:none}
.empty{display:none;text-align:center;color:var(--muted);padding:40px 0}
.empty.on{display:block}
.helpband{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding:26px 28px;border-radius:24px;background:linear-gradient(160deg,#1f1212,var(--card));border:1px solid #ff3b3030}
.helpband b{font-size:20px;letter-spacing:-.02em}
.helpband p{color:var(--muted);font-size:14.5px;margin-top:4px}
mark{background:#ff3b3040;color:var(--text);border-radius:3px}

@media (max-width:1080px){
  .doc{grid-template-columns:1fr;gap:24px}
  .toc{position:sticky;top:72px;z-index:5;display:flex;overflow-x:auto;scrollbar-width:none;gap:6px;padding:10px 0;background:var(--bg)}
  .toc::-webkit-scrollbar{display:none}
  .toc a{white-space:nowrap;border-left:0;background:#ffffff06}
  .toc a.on{background:var(--red-soft);color:var(--red)}
  .grid3c,.servers,.pkgs{grid-template-columns:repeat(2,1fr)}
  .route,.calc{grid-template-columns:1fr}
  .strip{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .grid3c,.grid2c,.servers,.pkgs{grid-template-columns:1fr}
  .osbox{grid-template-columns:auto 1fr}
  .osbox .acts{grid-column:1/-1}
  .phero{padding-top:118px}
}

.calc .note em{font-style:normal;color:var(--ok);font-weight:600}
.calc .note{color:var(--muted);font-size:14.5px;margin:8px 0 6px;min-height:22px}
.final h2,.final .sub{max-width:min(620px,62%)}
@media (max-width:560px){.final h2,.final .sub{max-width:none}}

@media (max-width:560px){.grid4:has(.pay){grid-template-columns:1fr}.pay{min-width:0}}
.pay img.lg{object-fit:cover;background:none}
