/* ServStore — сайт. Токены и компоненты по handoff v2 (pixel-perfect с прототипом). */

:root{--bg:#090d18;--bg2:#0e1424;--card:#111a2c;--line:rgba(255,255,255,.07);--line2:rgba(255,255,255,.14);--fg:#eef1f7;--mut:#8f98ad;--acc:#ff8200;--acct:#ff9a33;--accfg:#0a0f1c;--glow:rgba(255,130,0,.16);--ok:#3ecf8e;--low:#ffb020;--out:#ff5c6c;--navy:#1f2a44;--mono:'JetBrains Mono',ui-monospace,monospace;--sans:'Onest',system-ui,sans-serif}
[data-ss="light"]{--bg:#f5f6f9;--bg2:#eceff5;--card:#ffffff;--line:rgba(31,42,68,.09);--line2:rgba(31,42,68,.18);--fg:#1f2a44;--mut:#59627a;--acct:#c25e00;--glow:rgba(255,130,0,.12)}

*{box-sizing:border-box}
html{background:var(--bg);-webkit-text-size-adjust:100%}
body{margin:0;background:transparent;color:var(--fg);font-family:var(--sans);-webkit-font-smoothing:antialiased;transition:background .25s,color .25s}
a{color:var(--acct);text-decoration:none}
a:hover{color:var(--acc)}
button,input,select,textarea{font:inherit}
input::placeholder,textarea::placeholder{color:var(--mut)}
::selection{background:#ff8200;color:#0a0f1c}
img{max-width:100%}
.ss-page{min-height:100vh;display:flex;flex-direction:column}
.ss-page>main{flex:1}
.mono{font-family:var(--mono)}
.mut{color:var(--mut)}
.flex1{flex:1}
.hide{display:none!important}
.wrap{max-width:1280px;margin:0 auto;padding:0 24px}
.wrap-wide{max-width:1440px;margin:0 auto;padding:0 24px}
.wrap-narrow{max-width:880px;margin:0 auto;padding:0 24px}
.dot{display:inline-block;width:7px;height:7px;border-radius:50%;flex-shrink:0}
.dot.ok{background:var(--ok)}.dot.low{background:var(--low)}.dot.out{background:var(--out)}
[data-ss="dark"] .ti-light,[data-ss="light"] .ti-dark{display:none}

/* ---------- Типографика ---------- */
.kick{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--acct)}
.kick-sm{font-family:var(--mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--mut);margin-bottom:4px}
.h1{margin:0;font-size:clamp(40px,5.4vw,72px);line-height:.98;letter-spacing:-.04em;font-weight:800}
.h1-hero{margin:0;font-size:clamp(44px,6.6vw,92px);line-height:.98;letter-spacing:-.04em;font-weight:800;text-wrap:balance}
.h2{margin:0;font-size:clamp(34px,4.4vw,56px);line-height:1;letter-spacing:-.035em;font-weight:800}
.lead{margin:0;font-size:17px;line-height:1.55;color:var(--mut)}
.lead-sm{margin:0;font-size:16px;line-height:1.55;color:var(--mut)}
.mono-link{font-family:var(--mono);font-size:14px;font-weight:500;white-space:nowrap}
.th{font-family:var(--mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--mut)}

/* ---------- Кнопки, чипы, табы ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;white-space:nowrap;height:44px;padding:0 22px;border-radius:11px;font-size:16px;font-weight:600;border:1px solid transparent;cursor:pointer;background:transparent;color:var(--fg);transition:filter .15s,background .15s,border-color .15s}
.btn-acc{background:var(--acc);color:var(--accfg)}
.btn-acc:hover{filter:brightness(1.08);color:var(--accfg)}
.btn-line{border-color:var(--line2);color:var(--fg);font-weight:500}
.btn-line:hover{background:var(--bg2);color:var(--fg)}
.btn-lg{height:54px;padding:0 26px;border-radius:12px}
.btn[disabled],.btn.off{pointer-events:none;opacity:1;background:transparent;color:var(--mut);border-color:var(--line2)}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid var(--line2);border-radius:6px;font-family:var(--mono);font-size:12px;color:var(--fg)}
.chip img{height:14px;width:auto}
.pill{height:36px;padding:0 12px;border-radius:999px;border:1px solid var(--line2);background:transparent;color:var(--fg);cursor:pointer;font-size:13px;font-weight:500;white-space:nowrap;transition:background .15s}
.pill.on{background:var(--acc);color:var(--accfg);border-color:var(--acc)}
.pill .n{font-family:var(--mono);opacity:.6;margin-left:4px}
.pill.mono-p{font-family:var(--mono);font-size:12.5px;padding:0 13px}
.seg{display:flex;gap:2px;padding:3px;border-radius:10px;border:1px solid var(--line2)}
.seg button{height:32px;padding:0 12px;border:none;border-radius:7px;background:transparent;color:var(--fg);cursor:pointer;font-family:var(--mono);font-size:12.5px;white-space:nowrap}
.seg button.on{background:var(--acc);color:var(--accfg)}
.seg-big{display:flex;gap:4px;padding:4px;border-radius:12px;background:var(--card);border:1px solid var(--line)}
.seg-big button{height:42px;padding:0 18px;border:none;border-radius:9px;background:transparent;color:var(--fg);cursor:pointer;font-size:14.5px;font-weight:600;white-space:nowrap}
.seg-big button.on{background:var(--acc);color:var(--accfg)}
.badge-hit{font-family:var(--mono);font-size:10px;padding:2px 6px;border-radius:5px;background:var(--acc);color:var(--accfg);font-weight:700;text-transform:uppercase}
.input{width:100%;height:44px;padding:0 14px;border-radius:10px;border:1px solid var(--line2);background:var(--bg2);color:var(--fg);font-size:14.5px;outline:none;transition:border-color .15s}
.input:focus{border-color:var(--acc)}
.input-card{background:var(--card)}
.card{border:1px solid var(--line);border-radius:16px;background:var(--card)}
.tbl{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--card)}
.tbl-row:hover{background:var(--bg2)}
.flag{object-fit:cover;box-shadow:0 0 0 1px var(--line2);flex-shrink:0;background:var(--bg2)}
.icon-btn{width:44px;height:44px;border-radius:12px;border:1px solid var(--line2);background:transparent;color:var(--fg);cursor:pointer;font-size:17px;display:inline-flex;align-items:center;justify-content:center}

/* ---------- Логотип ---------- */
.logo{height:100%;width:auto;display:block;overflow:visible;color:var(--fg)}
.logo path,.logo polygon,.logo rect{transform-box:fill-box}
.ss-anim .l-cube{animation:sslCube .6s cubic-bezier(.2,.8,.2,1) both}
.ss-anim .l-slot1{animation:sslSlot .45s .35s cubic-bezier(.2,.8,.2,1) both,sslBlink 4.2s 1.4s infinite}
.ss-anim .l-slot2{animation:sslSlot .45s .5s cubic-bezier(.2,.8,.2,1) both,sslBlink 4.2s 2.1s infinite}
.ss-anim .l-slot3{animation:sslSlot .45s .65s cubic-bezier(.2,.8,.2,1) both,sslBlink 4.2s 2.8s infinite}
.ss-anim .l-txt{animation:sslTxt .4s ease-out both}
.logo:not(.ss-anim) .l-txt{animation:none!important}
@keyframes sslCube{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
@keyframes sslSlot{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:none}}
@keyframes sslBlink{0%,80%,100%{opacity:1}86%{opacity:.25}92%{opacity:1}}
@keyframes sslTxt{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.ss-anim *{animation:none!important}}

/* ---------- Header ---------- */
.hdr{position:sticky;top:0;z-index:50;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:color-mix(in oklab,var(--bg) 82%,transparent);border-bottom:1px solid var(--line)}
.hdr-in{max-width:1280px;margin:0 auto;padding:0 24px;height:80px;display:flex;align-items:center;gap:36px}
.hdr-logo{display:flex;align-items:center;flex-shrink:0;height:32px;color:var(--fg)}
.hdr-nav{display:flex;gap:26px;font-size:15.5px;font-weight:500;height:100%;white-space:nowrap}
.hdr-nav a{display:flex;align-items:center;height:100%;color:var(--mut)}
.hdr-nav a:hover{color:var(--fg)}
.hdr-nav a.on{color:var(--fg);box-shadow:inset 0 -2px 0 var(--acc)}
.hdr-right{display:flex;align-items:center;gap:10px}
.langs{display:flex;gap:2px;padding:3px;border:1px solid var(--line2);border-radius:999px}
.langs a{padding:7px 11px;border-radius:999px;color:var(--mut);font-family:var(--mono);font-size:13px;font-weight:500;line-height:1}
.langs a.on{background:var(--fg);color:var(--bg)}
.theme-btn{width:42px;height:42px;border-radius:999px;border:1px solid var(--line2);background:transparent;color:var(--fg);cursor:pointer;font-size:17px}
.hdr-login{display:flex;align-items:center;height:44px;padding:0 18px;color:var(--fg);font-size:16px;font-weight:500}
.hdr-login:hover{color:var(--acc)}
.hdr-signup{height:44px;font-size:16px}
.hdr-mob{display:none;gap:8px}
.hdr-menu{display:none;border-top:1px solid var(--line);padding:16px 24px 24px;flex-direction:column;gap:4px;background:var(--bg)}
.hdr-menu.open{display:flex}
.hdr-menu>a{color:var(--fg);font-size:20px;font-weight:600;padding:12px 0;border-bottom:1px solid var(--line)}
.hdr-menu>a.on{color:var(--acc)}
.hdr-menu-langs{display:flex;gap:6px;margin:16px 0}
.hdr-menu-langs a{flex:1;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line2);border-radius:10px;color:var(--mut);font-family:var(--mono);font-size:13px}
.hdr-menu-langs a.on{background:var(--fg);color:var(--bg)}
.hdr-menu-auth{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.hdr-menu-auth .btn{height:48px;border-radius:12px;font-size:15px}
.mi-close{display:none}
.menu-open .mi-open{display:none}.menu-open .mi-close{display:inline}
@media (max-width:1259px){.hdr-nav,.hdr-right{display:none}.hdr-mob{display:flex}}

/* ---------- Footer ---------- */
.ftr{border-top:1px solid var(--line)}
.ftr-in{max-width:1280px;margin:0 auto;padding:56px 24px 32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:36px}
.ftr-col{display:flex;flex-direction:column;gap:10px;font-size:14px}
.ftr-col>a{color:var(--fg)}
.ftr-col>a:hover{color:var(--acc)}
.ftr-col>a.mut{color:var(--mut)}
.ftr-logo{height:26px;align-self:flex-start;color:var(--fg);display:block;margin-bottom:4px}
.ftr-contacts{font-size:14px;line-height:1.7;color:var(--mut)}
.ftr-contacts a{color:var(--mut)}
.ftr-contacts a:hover{color:var(--acc)}
.ftr-bot{max-width:1280px;margin:0 auto;padding:20px 24px 32px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:13px;color:var(--mut)}
.ftr-status{display:flex;align-items:center;gap:8px;color:var(--mut)}

/* ---------- Общие секции ---------- */
.sec{padding-top:clamp(64px,9vw,112px)}
.sec-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px}
.sec-head-l{display:flex;flex-direction:column;gap:12px;max-width:620px}
.grid-bg{position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:56px 56px;pointer-events:none}
.glow{position:absolute;width:640px;height:640px;background:radial-gradient(circle,var(--glow),transparent 65%);pointer-events:none}
.page-head{border-bottom:1px solid var(--line)}
.page-head-in{padding-top:clamp(40px,6vw,72px);padding-bottom:32px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px}
.page-head-l{display:flex;flex-direction:column;gap:14px;max-width:640px}

/* ---------- Home: hero ---------- */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.hero .grid-bg{-webkit-mask-image:radial-gradient(ellipse 70% 80% at 70% 40%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse 70% 80% at 70% 40%,#000 20%,transparent 75%)}
.hero .glow{right:-120px;top:-160px}
.hero-in{position:relative;max-width:1280px;margin:0 auto;padding:clamp(56px,9vw,112px) 24px clamp(56px,8vw,96px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,480px),1fr));gap:56px;align-items:center}
.hero-l{display:flex;flex-direction:column;gap:28px;align-items:flex-start;min-width:0}
.hero-badge{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;padding:7px 14px 7px 10px;border:1px solid var(--line2);border-radius:999px;font-family:var(--mono);font-size:12px;color:var(--mut);max-width:100%;overflow:hidden}
.hero-badge i{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 4px rgba(62,207,142,.15);flex-shrink:0}
.hero h1 span{color:var(--acc)}
.hero-sub{margin:0;max-width:520px;font-size:18px;line-height:1.55;color:var(--mut);text-wrap:pretty}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px}
.hero-ctas .arr{font-family:var(--mono)}
.hero-price{margin-top:20px;display:flex;flex-direction:column;gap:12px}
.hero-price-row{display:flex;align-items:baseline;gap:10px;font-family:var(--mono)}
.hero-price-row .from{font-size:15px;color:var(--mut)}
.hero-price-row b{font-size:clamp(36px,4vw,48px);font-weight:700;letter-spacing:-.04em;line-height:1}
.hero-price-row .mo{font-size:16px;color:var(--mut)}
.hero .chip{padding:5px 9px;color:var(--mut)}

/* ---------- Terminal ---------- */
.term{border:1px solid var(--line2);border-radius:16px;background:var(--card);box-shadow:0 30px 80px -30px rgba(0,0,0,.5);overflow:hidden;font-family:var(--mono);font-size:13.5px;line-height:1.9;min-width:0}
.term-top{display:flex;align-items:center;gap:7px;padding:12px 16px;border-bottom:1px solid var(--line);color:var(--mut);font-size:12px}
.term-top>i{width:10px;height:10px;border-radius:50%;opacity:.85}
.term-title{margin-left:10px;flex:1}
.term-st{display:flex;align-items:center;gap:6px}
.term-st i{width:6px;height:6px;border-radius:50%;background:var(--low)}
.term-body{padding:20px 22px 24px;height:300px;overflow:hidden}
.term-body div{white-space:pre;overflow:hidden;text-overflow:ellipsis}
.term-cur{display:inline-block;width:8px;height:16px;background:var(--acc);vertical-align:-3px;margin-left:2px}

/* ---------- Home: bento ---------- */
.bento{display:flex;flex-wrap:wrap;gap:14px}
.bento>*{border-radius:20px;padding:26px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px}
.bento .b-card{background:var(--card);border:1px solid var(--line);color:var(--fg)}
.b-main{flex:2 1 460px;min-height:300px;padding:28px!important;justify-content:space-between!important;gap:24px!important;position:relative;overflow:hidden}
.b-main:hover{border-color:var(--line2);color:var(--fg)}
.b-main .b-mark{position:absolute;right:-40px;bottom:-70px;width:320px;height:320px;opacity:.07;color:var(--fg)}
.b-main .b-mark svg{width:100%;height:100%}
.b-cap{font-family:var(--mono);font-size:13px;color:var(--mut)}
.b-price{font-family:var(--mono);font-size:clamp(64px,9vw,120px);font-weight:700;letter-spacing:-.06em;line-height:.9;white-space:nowrap}
.b-price span{font-size:.24em;color:var(--mut);letter-spacing:0;font-weight:500}
.b-lines{margin-top:14px;font-size:15px;color:var(--mut);max-width:440px;display:flex;flex-direction:column;gap:2px}
.b-acc{flex:1 1 280px;min-height:300px;background:#ff8200;color:#0a0f1c;padding:28px!important;justify-content:space-between!important;gap:14px!important}
.b-acc .b-cap{color:#0a0f1c;font-weight:500}
.b-acc .b-k{height:calc(clamp(64px,9vw,120px) * .9);display:flex;align-items:center;font-family:var(--mono);font-size:clamp(44px,5vw,64px);font-weight:700;letter-spacing:-.05em;line-height:1}
.b-acc .b-d{margin-top:14px;font-size:15px;font-weight:500;line-height:1.45;max-width:260px}
.b-sm{flex:1 1 260px}
.b-wide{flex:1.4 1 320px}
.b-k30{font-family:var(--mono);font-size:30px;font-weight:700;letter-spacing:-.04em;line-height:1}
.b-t{font-size:16px;font-weight:600}
.b-d2{font-size:14.5px;color:var(--mut);line-height:1.5}
.b-paychips{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;font-family:var(--mono)}
.b-paychips span{padding:7px 12px;border-radius:8px;background:var(--bg2);font-weight:700;font-size:13px}
.b-online{display:flex;align-items:center;justify-content:center;gap:12px}
.b-online i{width:10px;height:10px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 5px rgba(62,207,142,.18);position:relative;top:-3px}

/* ---------- Home: popular VPS ---------- */
.pop-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:14px}
.pop{border-radius:16px;background:var(--card);border:1px solid var(--line);padding:24px;display:flex;flex-direction:column;gap:18px}
.pop.hit{border-color:var(--acc)}
.pop-top{display:flex;justify-content:space-between;align-items:center}
.pop-name{font-family:var(--mono);font-size:18px;font-weight:700}
.pop-top .badge-hit{font-size:10.5px;padding:3px 7px;border-radius:6px}
.pop-price{font-family:var(--mono);font-size:34px;font-weight:700;letter-spacing:-.04em;line-height:1}
.pop-price span{font-size:14px;color:var(--mut);letter-spacing:0;font-weight:400}
.specs3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0 -6px;font-family:var(--mono);font-size:12.5px}
.specs3>div{padding:9px 8px;border-radius:10px;background:var(--bg2);white-space:nowrap;letter-spacing:-.02em}
.specs3 small{display:block;font-size:10.5px;color:var(--mut);margin-bottom:3px;letter-spacing:0}
.pop-cpu{font-size:13px;color:var(--mut)}
.pop-btn{display:flex;align-items:center;justify-content:center;height:44px;border-radius:10px;border:1px solid var(--acc);color:var(--fg);font-size:14.5px;font-weight:600}
.pop-btn:hover,.pop.hit .pop-btn{background:var(--acc);color:var(--accfg)}

/* ---------- Home: dedicated preview ---------- */
.dprev{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:12px 24px;align-items:center;padding:20px 24px;border-bottom:1px solid var(--line);color:var(--fg)}
.dprev:last-child{border-bottom:none}
.dprev:hover{background:var(--bg2);color:var(--fg)}
.dprev-cpu{display:flex;flex-direction:column;gap:4px}
.dprev-cpu b{font-size:16px;font-weight:700}
.dprev-cpu span{font-family:var(--mono);font-size:12px;color:var(--mut)}
.dprev .m{font-family:var(--mono);font-size:13.5px}
.dprev-price{display:flex;align-items:center;justify-content:space-between;gap:12px}
.dprev-price b{font-family:var(--mono);font-size:20px;font-weight:700}
.dprev-price i{font-style:normal;font-family:var(--mono);color:var(--acc)}

/* ---------- Карта ---------- */
.map-box{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:radial-gradient(ellipse 60% 70% at 55% 40%,var(--glow),transparent 70%),var(--card);padding:clamp(8px,2vw,24px)}
.ssmap{position:relative;width:100%;aspect-ratio:1200/646}
.ssmap svg.dots,.ssmap svg.arcs{position:absolute;inset:0;width:100%;height:100%;display:block;overflow:visible;pointer-events:none}
.ssmap .mk{position:absolute;width:22px;height:22px;margin:-11px 0 0 -11px;padding:0;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2}
.ssmap .mk .pl{position:absolute;width:10px;height:10px;border-radius:50%;animation:sspulse 2.6s ease-out infinite}
.ssmap .mk .cr{position:relative;width:9px;height:9px;border-radius:50%;box-shadow:0 0 0 2px var(--card)}
.ssmap .mk.sel{z-index:4}.ssmap .mk.sel .cr{width:14px;height:14px}
.ssmap .tip{position:absolute;z-index:5;pointer-events:none;display:flex;align-items:center;gap:8px;padding:7px 11px;border-radius:9px;background:var(--card);border:1px solid var(--line2);box-shadow:0 10px 30px -10px rgba(0,0,0,.5);white-space:nowrap;font-size:13px}
.ssmap .tip b{font-family:var(--mono);font-weight:700}
.ssmap .tip .c{font-weight:600}
.ssmap .tip .p{font-family:var(--mono);color:var(--mut)}
@keyframes ssflow{from{stroke-dashoffset:106}to{stroke-dashoffset:0}}
@keyframes sspulse{0%{transform:scale(.6);opacity:.8}100%{transform:scale(3);opacity:0}}
.reg-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));border-left:1px solid var(--line);margin-top:14px}
.reg-strip a{padding:16px 18px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:4px;color:var(--fg)}
.reg-strip a:hover{background:var(--bg2);color:var(--fg)}
.reg-strip b{font-family:var(--mono);font-size:24px;font-weight:700}
.reg-strip span{font-size:13px;color:var(--mut)}

/* ---------- FAQ (аккордеон) ---------- */
.faq{border-top:1px solid var(--line)}
.faq-it{border-bottom:1px solid var(--line)}
.faq-q{width:100%;display:flex;align-items:center;gap:16px;padding:22px 0;border:none;background:transparent;color:var(--fg);cursor:pointer;text-align:left;font-size:17px;font-weight:600}
.faq-idx{font-family:var(--mono);font-size:12px;color:var(--mut);font-weight:400}
.faq-cat{font-family:var(--mono);font-size:11px;color:var(--mut);font-weight:500;text-transform:uppercase;letter-spacing:.06em;width:84px;flex-shrink:0}
.faq-q .t{flex:1}
.faq-sign{font-family:var(--mono);font-size:20px;color:var(--acc);width:20px;text-align:center}
.faq-sign:before{content:'+'}
.faq-it.open .faq-sign:before{content:'−'}
.faq-a{display:none;margin:0;padding:0 36px 24px 36px;font-size:15px;line-height:1.6;color:var(--mut);text-wrap:pretty}
.faq-it.open .faq-a{display:block}
.faq.with-cat .faq-a{padding-left:100px}

/* ---------- CTA ---------- */
.cta{position:relative;overflow:hidden;border-radius:20px;background:#ff8200;color:#0a0f1c;padding:clamp(36px,6vw,64px);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:28px}
.cta:before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(10,15,28,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(10,15,28,.08) 1px,transparent 1px);background-size:40px 40px;pointer-events:none}
.cta-t{position:relative;display:flex;flex-direction:column;gap:10px}
.cta h2{margin:0;font-size:clamp(30px,4vw,48px);line-height:1;letter-spacing:-.035em;font-weight:800}
.cta p{margin:0;font-size:17px;font-weight:500}
.cta-btn{position:relative;display:inline-flex;align-items:center;gap:14px;height:56px;padding:0 10px 0 28px;border-radius:12px;background:#0a0f1c;color:#fff;font-size:16px;font-weight:600}
.cta-btn:hover{color:#fff;background:#1f2a44}
.cta-btn i{font-style:normal;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;background:#ff6a1a;color:#0a0f1c;font-size:18px;line-height:1}

/* ---------- VPS ---------- */
.filters{padding-top:28px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px}
.filters .grp{display:flex;flex-wrap:wrap;gap:6px}
.filters .grp2{display:flex;flex-wrap:wrap;gap:8px}
.vps-body{padding-top:20px;padding-bottom:clamp(64px,8vw,96px);display:flex;gap:20px;align-items:flex-start}
.vps-side{position:sticky;top:96px;width:300px;flex-shrink:0;max-height:calc(100vh - 112px);display:flex;flex-direction:column;border:1px solid var(--line);border-radius:16px;background:var(--card);overflow:hidden}
.vps-side-s{padding:12px;border-bottom:1px solid var(--line)}
.vps-side-l{overflow-y:auto;flex:1;padding:6px}
.locbtn{width:100%;display:flex;align-items:center;gap:12px;padding:10px;border:none;border-radius:10px;background:transparent;color:var(--fg);cursor:pointer;text-align:left}
.locbtn:hover,.locbtn.on{background:var(--bg2)}
.locbtn img{width:30px;height:22px;border-radius:4px}
.locbtn.on img{box-shadow:0 0 0 1px var(--line2),0 0 0 3px var(--acc)}
.locbtn .nm{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.locbtn .nm b{font-size:14.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.locbtn .nm span{font-size:12px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.locbtn .fr{font-family:var(--mono);font-size:12.5px;color:var(--mut);white-space:nowrap}
.vps-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:16px}
.loc-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:radial-gradient(ellipse 50% 120% at 100% 0%,var(--glow),transparent 70%),var(--card);padding:24px;display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px}
.loc-card>img{width:72px;height:54px;border-radius:8px}
.loc-card .nm{flex:1;min-width:200px;display:flex;flex-direction:column;gap:4px}
.loc-card .nm b{font-size:24px;font-weight:700;letter-spacing:-.02em}
.loc-card .nm span{font-family:var(--mono);font-size:13px;color:var(--mut)}
.loc-card .lg{display:flex;flex-direction:column;gap:4px;align-items:flex-start;font-family:var(--mono)}
.loc-card .lg span{font-size:12px;color:var(--mut)}
.loc-card .lg a{font-size:13.5px}
.mob-loc{display:none;align-items:center;gap:12px;width:100%;height:60px;padding:0 16px;border-radius:14px;border:1px solid var(--line2);background:var(--card);color:var(--fg);cursor:pointer;text-align:left}
.mob-loc .lb{font-family:var(--mono);font-size:11px;color:var(--mut)}
.mob-loc img{width:26px;height:19px;border-radius:3px}
.mob-loc b{flex:1;font-weight:600}
.mob-loc i{font-style:normal;color:var(--acc)}
.plans-h,.plan-r{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr) minmax(0,.55fr) minmax(0,.75fr) minmax(0,.85fr) minmax(0,.85fr) minmax(0,1.15fr) 120px;gap:14px;align-items:center}
.plans-h{padding:14px 20px;border-bottom:1px solid var(--line)}
.plan-r{padding:16px 20px;border-bottom:1px solid var(--line);font-size:14.5px}
.plan-r:last-child{border-bottom:none}
.plan-r.hit{background:color-mix(in oklab,var(--acc) 6%,transparent)}
.plan-r:hover{background:var(--bg2)}
.plan-nm{display:flex;flex-direction:column;gap:5px}
.plan-nm>div{display:flex;align-items:center;gap:8px}
.plan-nm b{font-family:var(--mono);font-size:16px;font-weight:700}
.plan-st{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--mut)}
.plan-st i{width:6px;height:6px;border-radius:50%}
.plan-cpu{color:var(--mut);font-size:13.5px}
.plan-cpu small{display:block;font-size:12px;opacity:.75;margin-top:2px;font-family:var(--mono,monospace)}
.plan-m{font-family:var(--mono);font-weight:500}
.plan-port{font-family:var(--mono);color:var(--mut);font-size:13px}
.plan-pr{display:flex;flex-direction:column;gap:2px}
.plan-pr b{font-family:var(--mono);font-size:19px;font-weight:700;letter-spacing:-.02em}
.plan-pr b span{font-size:12px;color:var(--mut);font-weight:400;letter-spacing:0}
.plan-pr small{font-family:var(--mono);font-size:11.5px;color:var(--mut)}
.obtn{display:flex;align-items:center;justify-content:center;height:40px;border-radius:10px;border:1px solid var(--acc);background:transparent;color:var(--fg);font-size:14px;font-weight:600}
.obtn:hover{filter:brightness(1.1);color:var(--fg)}
.obtn.acc{background:var(--acc);color:var(--accfg)}
.obtn.acc:hover{color:var(--accfg)}
.obtn.off{pointer-events:none;border-color:var(--line2);color:var(--mut);background:transparent}
.plan-c{padding:18px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:12px}
.plan-c-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.plan-c-top b.nm{font-family:var(--mono);font-size:17px;font-weight:700}
.plan-c .sub{font-size:12.5px;color:var(--mut)}
.plan-c .pr{text-align:right}
.plan-c .pr b{font-family:var(--mono);font-size:20px;font-weight:700}
.plan-c .pr div{font-family:var(--mono);font-size:11px;color:var(--mut)}
.plan-c .specs3{margin:0;gap:8px;font-size:13px}
.plan-c .specs3>div{padding:9px;border-radius:9px}
.plan-c .obtn{height:48px;border-radius:12px;font-size:15px}
.empty{padding:48px 24px;text-align:center;color:var(--mut)}
.matrix-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.matrix-bar .input{flex:0 1 320px;height:42px;background:var(--card)}
.matrix-bar span{font-size:13px;color:var(--mut)}
.matrix{border:1px solid var(--line);border-radius:16px;background:var(--card);overflow:auto;max-height:76vh}
.matrix-in{min-width:760px;font-size:14px}
.mx-h,.mx-r{display:grid}
.mx-h{position:sticky;top:0;z-index:3;background:var(--card);border-bottom:1px solid var(--line2)}
.mx-h>div:first-child{position:sticky;left:0;background:var(--card);padding:14px 16px;display:flex;align-items:center}
.mx-h .col{padding:12px 14px;white-space:nowrap}
.mx-h .col b{font-family:var(--mono);font-size:14px;font-weight:700;display:block}
.mx-h .col small{display:block;font-family:var(--mono);font-size:11px;color:var(--mut);margin-top:3px}
.mx-r{border-bottom:1px solid var(--line)}
.mx-r:hover{background:var(--bg2)}
.mx-r .loc{position:sticky;left:0;z-index:1;background:var(--card);padding:10px 16px;display:flex;align-items:center;gap:10px;white-space:nowrap}
.mx-r:hover .loc{background:var(--bg2)}
.mx-r .loc img{width:24px;height:18px;border-radius:3px}
.mx-r .loc span{font-weight:600;overflow:hidden;text-overflow:ellipsis}
.mx-r .cell{padding:4px 6px}
.mx-r .cell button{width:100%;height:38px;padding:0 8px;border:none;border-radius:8px;background:transparent;color:var(--fg);cursor:pointer;text-align:left;font-family:var(--mono);font-size:14px;font-weight:500}
.mx-r .cell button:hover{background:var(--bg2)}
.mx-r .cell button.best{color:var(--acct);font-weight:700}
.sheet{position:fixed;inset:0;z-index:100;background:rgba(5,8,15,.6);display:flex;align-items:flex-end}
.sheet-in{width:100%;max-height:86vh;display:flex;flex-direction:column;background:var(--card);border-radius:20px 20px 0 0;border-top:1px solid var(--line2)}
.sheet-top{padding:14px 16px;display:flex;gap:10px;border-bottom:1px solid var(--line)}
.sheet-top .input{height:46px;border-radius:12px;font-size:15px}
.sheet-top .icon-btn{width:46px;height:46px;flex-shrink:0}
.sheet-l{overflow-y:auto;padding:6px 8px 20px}
.sheet-l .locbtn{padding:12px 10px}
.sheet-l .locbtn img{width:32px;height:24px}
.sheet-l .locbtn .nm b{font-size:15px}
.sheet-l .locbtn .nm span{font-size:12.5px}
.sheet-l .locbtn .fr{font-size:13px}

/* ---------- Dedicated ---------- */
.dfilters{padding-top:24px;display:flex;flex-direction:column;gap:14px}
.dfilters .row{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.dfilters .row1{display:flex;flex-wrap:wrap;gap:14px 28px;align-items:center}
.dfilters .lbl{font-family:var(--mono);font-size:12px;color:var(--mut);margin-right:4px}
.dfilters .bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}
.tgl{display:flex;align-items:center;gap:10px;height:38px;padding:0 14px 0 8px;border-radius:999px;border:1px solid var(--line2);background:transparent;color:var(--fg);cursor:pointer;font-size:13.5px}
.tgl .tr{width:32px;height:20px;border-radius:999px;background:var(--line2);position:relative;transition:background .15s}
.tgl .tr:after{content:'';position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:left .15s}
.tgl.on .tr{background:var(--acc)}
.tgl.on .tr:after{left:14px}
.pill-plain{height:38px;padding:0 14px;border-radius:999px;border:1px solid var(--line2);background:transparent;color:var(--fg);cursor:pointer;font-size:13.5px}
.lnk-btn{height:38px;padding:0 14px;border:none;background:transparent;color:var(--acct);cursor:pointer;font-size:13.5px;font-weight:600}
.ded-h,.ded-r{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1.2fr) minmax(0,1.4fr) minmax(0,.8fr) minmax(0,1.2fr) minmax(0,1fr) 120px;gap:14px;align-items:center}
.ded-h{padding:14px 22px;border-bottom:1px solid var(--line)}
.ded-r{padding:18px 22px;border-bottom:1px solid var(--line);font-size:14.5px}
.ded-r:last-child{border-bottom:none}
.ded-r:hover{background:var(--bg2)}
.ded-cpu{display:flex;flex-direction:column;gap:5px}
.ded-cpu b{font-size:16px;font-weight:700}
.ded-cpu span{font-family:var(--mono);font-size:12px;color:var(--mut)}
.ded-r .m{font-family:var(--mono);font-size:13.5px}
.ded-r .port{font-family:var(--mono);font-size:13px;color:var(--mut)}
.ded-loc{display:flex;align-items:center;gap:8px;min-width:0}
.ded-loc img{width:24px;height:18px;border-radius:3px}
.ded-loc span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ded-pr{display:flex;flex-direction:column;gap:4px}
.ded-pr b{font-family:var(--mono);font-size:19px;font-weight:700;letter-spacing:-.02em}
.ded-pr span{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--mut)}
.dbtn{display:flex;align-items:center;justify-content:center;height:40px;border-radius:10px;border:1px solid var(--line2);background:var(--acc);color:var(--accfg);font-size:14px;font-weight:600}
.dbtn:hover{color:var(--accfg);filter:brightness(1.08)}
.dbtn.off{background:transparent;color:var(--mut);pointer-events:none}
.ded-c{padding:18px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:12px}
.ded-c .top{display:flex;justify-content:space-between;gap:12px}
.ded-c .top>b{font-family:var(--mono);font-size:20px;font-weight:700;white-space:nowrap}
.ded-c .inf{font-family:var(--mono);font-size:13px;color:var(--mut);line-height:1.7}
.ded-c .dbtn{height:48px;border-radius:12px;font-size:15px}

/* ---------- Domains ---------- */
.dom-hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.dom-hero .grid-bg{-webkit-mask-image:radial-gradient(ellipse 60% 80% at 50% 30%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse 60% 80% at 50% 30%,#000 20%,transparent 75%)}
.dom-hero .glow2{position:absolute;left:50%;top:-200px;width:800px;height:560px;transform:translateX(-50%);background:radial-gradient(ellipse,var(--glow),transparent 65%);pointer-events:none}
.dom-hero-in{position:relative;max-width:880px;margin:0 auto;padding:clamp(48px,8vw,104px) 24px clamp(40px,6vw,72px);display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px}
.dom-hero h1{margin:0;font-size:clamp(44px,6vw,84px);line-height:.96;letter-spacing:-.045em;font-weight:800}
.dom-hero p{margin:0;max-width:560px;font-size:17px;line-height:1.55;color:var(--mut)}
.dom-form{width:100%;max-width:680px;margin-top:10px;display:flex;gap:6px;padding:6px;border-radius:16px;background:var(--card);border:1px solid var(--line2);box-shadow:0 20px 60px -30px rgba(0,0,0,.6)}
.dom-form input{flex:1;min-width:0;height:54px;padding:0 16px;border:none;background:transparent;color:var(--fg);font-family:var(--mono);font-size:17px;outline:none}
.dom-form button{height:54px;padding:0 26px;border:none;border-radius:11px;background:var(--acc);color:var(--accfg);cursor:pointer;font-size:16px;font-weight:600;white-space:nowrap}
.dom-form button:hover{filter:brightness(1.08)}
.dom-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.dom-chips button{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;border:1px solid var(--line2);background:transparent;color:var(--fg);font-family:var(--mono);font-size:13px;cursor:pointer}
.dom-chips button:hover{border-color:var(--acc)}
.dom-chips span{color:var(--mut)}
.dom-res-cap{font-family:var(--mono);font-size:13px;color:var(--mut);margin-bottom:12px}
.dres{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding:16px 20px;border-bottom:1px solid var(--line)}
.dres:last-child{border-bottom:none}
.dres:hover{background:var(--bg2)}
.dres.taken{opacity:.55}
.dres-n{flex:1 1 220px;font-family:var(--mono);font-size:18px;font-weight:700;word-break:break-all}
.dres-n span{color:var(--acc)}
.dres-st{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--mut);min-width:110px}
.dres-pr{display:flex;flex-direction:column;align-items:flex-end;min-width:130px}
.dres-pr b{font-family:var(--mono);font-size:18px;font-weight:700;white-space:nowrap}
.dres-pr b span{font-size:12px;color:var(--mut);font-weight:400}
.dres-pr small{font-family:var(--mono);font-size:11px;color:var(--acct)}
.dres button{height:42px;min-width:140px;padding:0 16px;border-radius:10px;border:1px solid var(--acc);background:var(--acc);color:var(--accfg);cursor:pointer;font-size:14px;font-weight:600}
.dres button.in{background:transparent;color:var(--fg)}
.dres button.off{background:transparent;color:var(--mut);border-color:var(--line2);pointer-events:none}
.dres .spin{width:14px;height:14px;border:2px solid var(--line2);border-top-color:var(--acc);border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.zt-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px}
.zt-head h2{margin:0;font-size:clamp(30px,3.6vw,44px);line-height:1;letter-spacing:-.035em;font-weight:800}
.zt-head .input{flex:0 1 240px;height:42px;background:var(--card);font-family:var(--mono);font-size:14px}
.zt-h,.zt-r{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:12px;align-items:center}
.zt-h{padding:14px 20px;border-bottom:1px solid var(--line)}
.zt-r{padding:14px 20px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:14.5px}
.zt-r:last-child{border-bottom:none}
.zt-r:hover{background:var(--bg2)}
.zt-r .z{display:flex;align-items:center;gap:10px}
.zt-r .z b{font-size:16px}
.zt-r .reg{font-weight:700}
.zt-r .reg.promo{color:var(--acct)}
.zt-r .mut{color:var(--mut)}
.cart{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:60;width:min(680px,calc(100% - 24px));display:flex;align-items:center;gap:16px;padding:12px 12px 12px 20px;border-radius:16px;background:var(--card);border:1px solid var(--line2);box-shadow:0 24px 60px -20px rgba(0,0,0,.6)}
.cart>b{font-weight:700}
.cart .names{flex:1;font-family:var(--mono);font-size:13px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cart .sum{font-family:var(--mono);font-size:18px;font-weight:700;white-space:nowrap}
.cart a{display:flex;align-items:center;height:46px;padding:0 20px;border-radius:11px;background:var(--acc);color:var(--accfg);font-weight:600;white-space:nowrap}
.cart a:hover{color:var(--accfg);filter:brightness(1.08)}

/* ---------- Locations ---------- */
.loc-head{padding-top:clamp(40px,6vw,72px);padding-bottom:28px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px}
.loc-head .big{font-family:var(--mono);font-size:clamp(72px,9vw,120px);font-weight:700;line-height:.8;color:var(--line2);letter-spacing:-.06em}
.loc-map{position:relative;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:radial-gradient(ellipse 60% 70% at 55% 40%,var(--glow),transparent 70%),var(--card);padding:clamp(8px,2vw,28px)}
.loc-pop{position:absolute;left:clamp(12px,2vw,28px);bottom:clamp(12px,2vw,28px);width:min(340px,calc(100% - 24px));padding:18px;border-radius:14px;background:var(--card);border:1px solid var(--line2);box-shadow:0 20px 50px -20px rgba(0,0,0,.5);display:flex;flex-direction:column;gap:12px;z-index:6}
.loc-pop .top{display:flex;align-items:center;gap:12px}
.loc-pop .top img{width:44px;height:33px;border-radius:6px}
.loc-pop .top div{flex:1;display:flex;flex-direction:column}
.loc-pop .top b{font-weight:700;font-size:17px}
.loc-pop .top span{font-size:13px;color:var(--mut)}
.loc-pop .top button{width:32px;height:32px;border-radius:8px;border:1px solid var(--line2);background:transparent;color:var(--fg);cursor:pointer}
.loc-pop .kv{display:flex;justify-content:space-between;font-family:var(--mono);font-size:13px}
.loc-pop .kv span:first-child{color:var(--mut)}
.loc-pop .go{display:flex;align-items:center;justify-content:center;height:44px;border-radius:10px;background:var(--acc);color:var(--accfg);font-weight:600;font-size:14.5px}
.loc-pop .go:hover{color:var(--accfg);filter:brightness(1.08)}
.loc-pop .soon{height:44px;border-radius:10px;border:1px dashed var(--line2);display:flex;align-items:center;justify-content:center;color:var(--mut);font-size:14px}
.loc-bar{padding-top:28px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.loc-bar .input{flex:0 1 320px;height:42px;background:var(--card)}
.loc-groups{padding-top:12px;padding-bottom:clamp(64px,8vw,96px);display:flex;flex-direction:column;gap:32px}
.lg-grp{display:flex;flex-direction:column;gap:14px}
.lg-grp-h{display:flex;align-items:baseline;gap:12px;padding-top:16px}
.lg-grp-h h2{margin:0;font-size:24px;font-weight:800;letter-spacing:-.02em}
.lg-grp-h span{font-family:var(--mono);font-size:13px;color:var(--mut)}
.lg-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:10px}
.lcard{cursor:pointer;padding:18px;border-radius:14px;border:1px solid var(--line);background:var(--card);display:flex;flex-direction:column;gap:12px}
.lcard:hover{border-color:var(--line2)}
.lcard.on{border-color:var(--acc)}
.lcard .top{display:flex;justify-content:space-between;align-items:center}
.lcard .top>span:first-child{display:flex;align-items:center;gap:10px}
.lcard .top img{width:36px;height:27px;border-radius:5px}
.lcard .code{font-family:var(--mono);font-size:13px;font-weight:700;color:var(--mut)}
.lcard .st{display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11.5px;color:var(--mut)}
.lcard .city{font-size:17px;font-weight:700}
.lcard .sub{font-size:13px;color:var(--mut);margin-top:2px}
.lcard .bot{display:flex;justify-content:space-between;align-items:center;padding-top:10px;border-top:1px solid var(--line)}
.lcard .bot b{font-family:var(--mono);font-size:14px;font-weight:700}
.lcard .bot a{font-family:var(--mono);font-size:13px}

/* ---------- Help ---------- */
.help-hero{padding-top:clamp(40px,6vw,80px);display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px}
.help-hero p{margin:0;max-width:560px;font-size:17px;line-height:1.55;color:var(--mut)}
.help-hero .input{max-width:560px;height:56px;margin-top:8px;padding:0 20px;border-radius:14px;background:var(--card);font-size:16px}
.help-cats{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}
.help-cats .pill{font-size:13.5px;padding:0 14px}
.contact-box{border:1px solid var(--line);border-radius:20px;background:radial-gradient(ellipse 60% 120% at 100% 0%,var(--glow),transparent 70%),var(--card);padding:clamp(24px,4vw,40px);display:flex;flex-direction:column;gap:20px}
.contact-box h2{margin:0;font-size:clamp(26px,3vw,36px);letter-spacing:-.03em;font-weight:800}
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.contact-grid a{padding:18px;border-radius:14px;background:var(--bg2);display:flex;flex-direction:column;gap:6px;color:var(--fg)}
.contact-grid a:hover{color:var(--fg);outline:1px solid var(--acc)}
.contact-grid a span{font-family:var(--mono);font-size:12px;color:var(--mut)}
.contact-grid a b{font-weight:700}
.contact-grid a.acc{background:var(--acc);color:var(--accfg)}
.contact-grid a.acc span{color:var(--accfg)}
.contact-grid a.acc:hover{outline:none;filter:brightness(1.06)}
.faq-a p{margin:0 0 8px}.faq-a a{color:var(--acct)}

/* ---------- Legal ---------- */
.legal-body{padding-top:28px;padding-bottom:clamp(64px,8vw,96px);display:flex;flex-wrap:wrap;gap:32px;align-items:flex-start}
.legal-nav{flex:0 1 280px;position:sticky;top:100px;display:flex;flex-direction:column;gap:2px}
.legal-nav a{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;color:var(--mut);font-size:15px;font-weight:500}
.legal-nav a:hover{background:var(--bg2);color:var(--fg)}
.legal-nav a.on{background:var(--bg2);color:var(--fg);font-weight:700}
.legal-nav a span{font-family:var(--mono);font-size:11.5px;color:var(--mut);font-weight:500}
.legal-art{flex:1 1 520px;min-width:0;max-width:760px;border:1px solid var(--line);border-radius:16px;background:var(--card);padding:clamp(24px,4vw,48px)}
.legal-art .meta{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px}
.legal-art .meta span{font-family:var(--mono);font-size:12.5px;color:var(--mut)}
.legal-art .meta button{height:36px;padding:0 14px;border-radius:9px;border:1px solid var(--line2);background:transparent;color:var(--fg);cursor:pointer;font-size:13.5px}
.legal-art h2{margin:0 0 28px;font-size:clamp(28px,3.4vw,40px);line-height:1.05;letter-spacing:-.03em;font-weight:800}
.legal-art .secs{display:flex;flex-direction:column;gap:24px}
.legal-art section{display:flex;flex-direction:column;gap:8px}
.legal-art h3{margin:0;font-size:18px;font-weight:700}
.legal-art p{margin:0;font-size:15.5px;line-height:1.7;color:var(--mut);text-wrap:pretty}
.legal-doc{display:none}.legal-doc.on{display:block}
@media print{.hdr,.ftr,.legal-nav,.legal-art .meta button,.page-head{display:none!important}.legal-art{border:none;padding:0}}

/* ---------- Auth ---------- */
.auth-wrap{flex:1;max-width:1280px;width:100%;margin:0 auto;padding:clamp(24px,5vw,64px) 24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:24px;align-items:stretch}
.auth-side{position:relative;overflow:hidden;border-radius:20px;background:#1f2a44;color:#fff;padding:48px;display:flex;flex-direction:column;justify-content:space-between;gap:40px;min-height:560px}
.auth-side:before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:48px 48px;pointer-events:none}
.auth-side:after{content:'';position:absolute;right:-140px;bottom:-140px;width:480px;height:480px;background:radial-gradient(circle,rgba(255,130,0,.4),transparent 65%);pointer-events:none}
.auth-side .mk{position:relative;height:64px;align-self:flex-start;color:#fff}
.auth-side .mk svg{height:64px;width:auto}
.auth-side .tx{position:relative;display:flex;flex-direction:column;gap:24px}
.auth-side h2{margin:0;font-size:44px;line-height:1;letter-spacing:-.04em;font-weight:800;max-width:420px}
.auth-side ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.auth-side li{display:flex;align-items:center;gap:12px;font-size:16px}
.auth-side li i{font-style:normal;width:22px;height:22px;border-radius:6px;background:#ff8200;color:#0a0f1c;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}
.auth-form-w{display:flex;align-items:center;justify-content:center}
.auth-form{width:100%;max-width:440px;display:flex;flex-direction:column;gap:20px}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:12px;background:var(--card);border:1px solid var(--line)}
.auth-tabs button{height:44px;border:none;border-radius:9px;background:transparent;color:var(--fg);cursor:pointer;font-size:15px;font-weight:600}
.auth-tabs button.on{background:var(--acc);color:var(--accfg)}
.auth-reset-h{display:flex;flex-direction:column;gap:8px}
.auth-reset-h button{align-self:flex-start;border:none;background:transparent;color:var(--acct);cursor:pointer;padding:0;font-size:14px}
.auth-reset-h h1{margin:0;font-size:36px;letter-spacing:-.03em;font-weight:800}
.auth-reset-h p{margin:0;color:var(--mut);font-size:15px}
.auth-form form{display:flex;flex-direction:column;gap:14px}
.fld{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--mut)}
.fld input{height:52px;padding:0 16px;border-radius:12px;border:1px solid var(--line2);background:var(--card);color:var(--fg);font-size:16px;outline:none}
.fld input:focus{border-color:var(--acc)}
.auth-forgot{align-self:flex-end;border:none;background:transparent;color:var(--acct);cursor:pointer;padding:0;font-size:13.5px}
.auth-submit{height:54px;border:none;border-radius:12px;background:var(--acc);color:var(--accfg);cursor:pointer;font-size:16px;font-weight:600}
.auth-submit:hover{filter:brightness(1.08)}
.auth-or{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--mut)}
.auth-or:before,.auth-or:after{content:'';flex:1;height:1px;background:var(--line2)}
.auth-social{height:52px;border-radius:12px;border:1px solid var(--line2);background:transparent;color:var(--fg);cursor:pointer;font-size:15px;font-weight:500;display:flex;align-items:center;justify-content:center}
.auth-social:hover{background:var(--card);color:var(--fg)}
.auth-agree{font-size:12.5px;color:var(--mut);text-align:center;line-height:1.5}
.auth-msg{padding:12px 16px;border-radius:12px;font-size:14px;border:1px solid}
.auth-msg.err{background:color-mix(in oklab,var(--out) 12%,transparent);border-color:color-mix(in oklab,var(--out) 30%,transparent)}
[data-mode="login"] .m-signup,[data-mode="login"] .m-reset,[data-mode="signup"] .m-login,[data-mode="signup"] .m-reset,[data-mode="reset"] .m-login,[data-mode="reset"] .m-signup,[data-mode="reset"] .m-notreset{display:none!important}

/* ---------- Адаптив ---------- */
@media (max-width:1079px){
  .vps-side{display:none}
  .mob-loc{display:flex}
  .plans-h,.plan-r,.ded-h,.ded-r{display:none}
  .auth-side{display:none}
  .faq.with-cat .faq-a{padding-left:0;padding-right:0}
  .faq-cat{width:auto}
  .legal-nav{position:static;flex:1 1 100%}
}
@media (min-width:1080px){.plan-c,.ded-c,.mob-only{display:none}}
@media (max-width:560px){
  .cart{flex-wrap:wrap}
  .cart .names{flex-basis:100%;order:3}
  .dom-form{flex-direction:column}
  .dom-form button{width:100%}
}

/* ---------- Все устройства: iOS/Safari, safe-area, тач, планшеты ---------- */
html{-webkit-tap-highlight-color:transparent;text-size-adjust:100%}
body{overflow-x:hidden}
@supports (min-height:100dvh){.ss-page{min-height:100dvh}.vps-side{max-height:calc(100dvh - 112px)}.sheet-in{max-height:86dvh}}
/* «Чёлка» и home-indicator (viewport-fit=cover) */
.hdr-in,.ftr-in,.ftr-bot,.wrap,.wrap-wide,.wrap-narrow,.hero-in,.dom-hero-in,.auth-wrap{padding-left:max(24px,env(safe-area-inset-left));padding-right:max(24px,env(safe-area-inset-right))}
.ftr-bot{padding-bottom:max(32px,env(safe-area-inset-bottom))}
.cart{bottom:max(20px,env(safe-area-inset-bottom))}
.sheet-l{padding-bottom:max(20px,env(safe-area-inset-bottom))}
.hdr-menu{padding-bottom:max(24px,env(safe-area-inset-bottom));max-height:calc(100vh - 80px);overflow-y:auto;-webkit-overflow-scrolling:touch}
.vps-side-l,.matrix,.sheet-l{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
/* Старый Safari (<16.2) без color-mix() */
@supports not (background:color-mix(in oklab,red 50%,transparent)){
  .hdr{background:rgba(9,13,24,.86)}
  [data-ss="light"] .hdr{background:rgba(245,246,249,.86)}
  .plan-r.hit{background:rgba(255,130,0,.06)}
  .auth-msg.err{background:rgba(255,92,108,.12);border-color:rgba(255,92,108,.3)}
}
/* Тач-устройства: без «залипающих» hover, крупные цели ≥44px */
@media (hover:none){
  .tbl-row:hover,.plan-r:hover,.ded-r:hover,.zt-r:hover,.dres:hover,.dprev:hover,.mx-r:hover{background:inherit}
  .pill,.seg button,.tgl,.pill-plain{min-height:40px}
}
@media (max-width:1079px){
  .input,.fld input,.dom-form input,select,textarea{font-size:16px} /* iOS не зумит поля ввода ≥16px */
  .pill,.seg button{min-height:40px}
  .filters{gap:12px}
  .filters .flex1{display:none}
}
/* Телефоны */
@media (max-width:640px){
  .hdr-in{height:68px;gap:16px}
  .hdr-logo{height:28px}
  .hdr-menu{max-height:calc(100vh - 68px)}
  .hero-in{gap:36px}
  .hero-badge{white-space:normal}
  .hero-ctas .btn{flex:1 1 100%}
  .term{font-size:12px}
  .term-body{padding:16px 14px 18px;height:280px}
  .bento>*{padding:22px}
  .b-main,.b-acc{min-height:240px}
  .sec-head{margin-bottom:20px}
  .loc-card{padding:18px}
  .loc-card>img{width:56px;height:42px}
  .loc-card .nm b{font-size:20px}
  .legal-art{padding:22px 18px}
  .auth-tabs button{height:48px}
  .zt-h,.zt-r{grid-template-columns:1fr 1fr 1fr;padding-left:14px;padding-right:14px}
  .zt-h>div:last-child,.zt-r>div:last-child{display:none}
  .dres{padding:14px}
  .dres button{flex:1 1 100%;height:46px}
  .dres-pr{align-items:flex-start}
  .reg-strip{grid-template-columns:repeat(2,1fr)}
  .seg{flex-wrap:wrap}
}
/* Очень узкие (iPhone SE / 320px) */
@media (max-width:380px){
  .hdr-in,.wrap,.wrap-wide,.wrap-narrow,.hero-in,.dom-hero-in,.auth-wrap,.ftr-in,.ftr-bot{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
  .b-price{font-size:56px}
  .specs3{font-size:11.5px}
  .pop{padding:18px}
}
/* Большие экраны (2K/4K) — контейнеры остаются 1280/1440, шрифты ограничены clamp() */
@media (min-width:1920px){.hero-in{padding-top:128px;padding-bottom:112px}}
/* Альбомная ориентация телефонов: bottom-sheet по высоте экрана */
@media (max-height:500px) and (orientation:landscape){.sheet-in{max-height:96vh}.hdr{position:relative}}
@media (max-width:640px){.loc-pop{position:relative;left:auto;bottom:auto;width:100%;margin-top:12px;box-shadow:none}}

/* Метки тарифов и старая цена (настраиваются в админке → Тарифы) */
.badge-hit{display:inline-block;vertical-align:middle;margin-left:8px;white-space:nowrap;line-height:1.4}
.badge-hit.b-promo{background:#ff4d6d;color:#fff}
.badge-hit.b-new{background:#3b82f6;color:#fff}
.badge-hit.b-best{background:#3ecf8e;color:#08241a}
.badge-hit.b-custom{background:var(--fg);color:var(--bg)}
.old-pr{display:block;font-family:var(--mono);font-size:12px;font-weight:400;color:var(--mut);text-decoration:line-through;line-height:1.2}
.pop-price .old-pr{font-size:14px;margin-bottom:2px}
.ded-r.hit,.ded-c.hit{background:rgba(255,130,0,.06)}
.plan-nm b,.plan-c-top .nm{white-space:nowrap}
.plan-nm>div:first-child{flex-wrap:wrap;gap:4px 8px}
.plan-nm .badge-hit{margin:0}
.ded-cpu .badge-hit{margin-left:0;display:table;margin-top:4px}

/* Блоки платформ внутри страны (железо из биллинга: парсер 4vps / «Описание» сервера) */
.plan-grp{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:14px 20px 10px;border-bottom:1px solid var(--line);background:var(--bg2)}
.plan-grp b{font-size:15px;font-weight:700}
.plan-grp span{font-family:var(--mono);font-size:12px;color:var(--mut)}
.plan-grp em{flex-basis:100%;font-style:normal;font-size:13px;color:var(--mut)}
@media (min-width:1080px){ .plan-grp-m{display:none} }
@media (max-width:1079px){ .plan-grp-d{display:none} .plan-grp{padding:14px 18px 10px} }

/* Перенос строки (Enter) в текстах из админки — показывать как перенос */
.lead,.lead-sm,.hero-sub,.help-hero p,.b-d,.b-d2,.cta-t p,.page-head p{white-space:pre-line}


/* ---------- Выделенные серверы: подбор (страна → задача → фильтры), строки с раскрытием, сравнение ---------- */
.dd-pick{display:flex;flex-direction:column;gap:18px;padding-bottom:18px}
.dd-lbl{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);margin-bottom:8px}
.dd-ctys{display:flex;gap:10px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}
.dd-ctys::-webkit-scrollbar{display:none}
.dd-cty{flex:0 0 auto;display:flex;align-items:center;gap:12px;padding:10px 16px 10px 12px;border-radius:14px;border:1px solid var(--line2);background:var(--card);color:var(--fg);cursor:pointer;text-align:left;transition:border-color .15s,background .15s}
.dd-cty:hover{border-color:var(--acc)}
.dd-cty.on{border-color:var(--acc);box-shadow:0 0 0 1px var(--acc) inset;background:var(--glow)}
.dd-cty .flag{width:30px;height:22px;border-radius:4px;object-fit:cover}
.dd-globe{width:30px;height:22px;display:flex;align-items:center;justify-content:center;color:var(--acct)}
.dd-cty .t{display:flex;flex-direction:column;gap:2px}
.dd-cty b{font-size:14.5px;font-weight:600}
.dd-cty small{font-family:var(--mono);font-size:11.5px;color:var(--mut)}
.dd-tasks-in{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.dd-task{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 14px 12px;border-radius:14px;border:1px solid var(--line2);background:var(--card);color:var(--fg);cursor:pointer;text-align:left;min-height:118px;transition:border-color .15s,transform .15s}
.dd-task:hover{border-color:var(--acc);transform:translateY(-1px)}
.dd-task.on{border-color:var(--acc);background:var(--glow);box-shadow:0 0 0 1px var(--acc) inset}
.dd-task .ic{font-family:var(--mono);font-size:11px;font-weight:700;padding:3px 7px;border-radius:6px;background:var(--bg2);color:var(--acct);margin-bottom:4px}
.dd-task.on .ic{background:var(--acc);color:var(--accfg)}
.dd-task b{font-size:14.5px;font-weight:700;line-height:1.25}
.dd-task small{font-size:12.5px;color:var(--mut);line-height:1.4}
.dd-task em{margin-top:auto;padding-top:6px;font-style:normal;font-family:var(--mono);font-size:11.5px;color:var(--fg)}
.dd-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
.dd-segs{display:flex;flex-wrap:wrap;gap:8px}
.dd-bar-r{display:flex;gap:8px;flex:1 1 320px;justify-content:flex-end}
.dd-q{height:42px;flex:1 1 220px;max-width:340px;font-size:16px}
.dd-sort{height:42px;padding:0 12px;border-radius:10px;border:1px solid var(--line2);background:var(--bg2);color:var(--fg);font-size:14px;max-width:220px}
.dd-meta{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--mut)}

.dd-list{overflow:visible}
.dd-head,.dd-row{display:grid;grid-template-columns:28px minmax(0,2.2fr) minmax(0,1fr) minmax(0,1.3fr) minmax(0,.8fr) minmax(0,.7fr) minmax(0,1.15fr) 132px;gap:14px;align-items:center}
.dd-head{padding:14px 20px;border-bottom:1px solid var(--line)}
.dd-row{padding:16px 20px;border-bottom:1px solid var(--line);font-size:14px;transition:background .15s}
.dd-row:hover{background:var(--bg2)}
.dd-row.hit{background:rgba(255,130,0,.05)}
.dd-row.is-out{opacity:.6}
.dd-cmp{display:flex;align-items:center;justify-content:center;cursor:pointer}
.dd-cmp input{width:18px;height:18px;accent-color:var(--acc);cursor:pointer}
.dd-cmp span{display:none}
.dd-srv{display:flex;flex-direction:column;gap:3px;min-width:0}
.dd-srv small{font-size:11.5px;color:var(--mut)}
.dd-srv b{font-size:15.5px;font-weight:700;line-height:1.3}
.dd-srv>span{font-family:var(--mono);font-size:12px;color:var(--mut)}
.dd-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.dd-badges .badge-hit{margin:0}
.dd-chip{font-family:var(--mono);font-size:10px;font-weight:700;padding:2px 6px;border-radius:5px;text-transform:uppercase;line-height:1.4}
.dd-chip.gpu{background:#7c3aed;color:#fff}
.dd-chip.best{background:rgba(62,207,142,.15);color:var(--ok)}
.dd-m{font-family:var(--mono);font-size:13px;line-height:1.45;min-width:0}
.dd-m small{display:none}
.dd-net{color:var(--mut)}
.dd-flags{display:flex;gap:6px;flex-wrap:wrap}
.dd-flags .flag,.dd-go .flag,.dd-cmp-t .flag{width:24px;height:18px;border-radius:3px;object-fit:cover;vertical-align:middle}
.dd-pr{display:flex;flex-direction:column;gap:3px}
.dd-pr b{font-family:var(--mono);font-size:19px;font-weight:700;letter-spacing:-.02em;white-space:nowrap}
.dd-pr b span{font-size:12px;font-weight:400;color:var(--mut)}
.dd-setup{font-size:12px;color:var(--mut);line-height:1.3}
.dd-setup.free{color:var(--ok);font-weight:600}
.dd-act{display:flex;flex-direction:column;gap:6px;align-items:stretch}
.dd-act .dbtn,.dd-go .dbtn,.dd-cmp-t .dbtn{display:flex;align-items:center;justify-content:center;gap:8px;height:40px;border-radius:10px;font-size:14px;font-weight:600;border:1px solid var(--acc);color:var(--fg);background:transparent;cursor:pointer;white-space:nowrap;padding:0 12px}
.dd-act .dbtn.acc,.dd-go .dbtn.acc,.dd-cmp-t .dbtn.acc{background:var(--acc);color:var(--accfg)}
.dd-more{height:28px;border:none;background:transparent;color:var(--mut);font-size:12.5px;cursor:pointer}
.dd-more:hover{color:var(--fg)}
.dd-out{font-size:13px;color:var(--out);text-align:center}
.dd-det{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:24px;margin-top:8px;padding:18px;border-radius:14px;background:var(--bg2);border:1px solid var(--line)}
.dd-spec dl{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0;font-size:13.5px}
.dd-spec dt{color:var(--mut)}
.dd-spec dd{margin:0;font-family:var(--mono);font-size:13px}
.dd-terms{display:flex;flex-direction:column;gap:10px;min-width:0}
.dd-pay{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:12px 14px;border-radius:12px;background:var(--card);border:1px solid var(--line)}
.dd-pay span{font-size:13px;color:var(--mut)}
.dd-pay b{font-family:var(--mono);font-size:20px}
.dd-pay small{flex-basis:100%;font-family:var(--mono);font-size:11.5px;color:var(--mut)}
.dd-warn{white-space:pre-line;font-size:13.5px;line-height:1.55;color:var(--fg);opacity:.85}
.dd-go{display:flex;flex-wrap:wrap;gap:8px}
.dd-custom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:20px;padding:22px 24px;border-radius:16px;border:1px dashed var(--line2)}
.dd-custom b{font-size:17px}
.dd-custom p{margin:6px 0 0;color:var(--mut);font-size:14px;max-width:560px}
.dd-custom-a{display:flex;flex-wrap:wrap;gap:10px}
.dd-cmpbar{position:fixed;left:0;right:0;bottom:0;z-index:60;padding:12px max(16px,env(safe-area-inset-left)) calc(12px + env(safe-area-inset-bottom));background:var(--card);border-top:1px solid var(--line2);box-shadow:0 -8px 30px rgba(0,0,0,.25)}
.dd-cmpbar-in{max-width:1280px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.dd-cmpbar .chips{display:flex;flex-wrap:wrap;gap:6px}
.dd-cmpbar .chips span{display:inline-flex;align-items:center;gap:6px;padding:4px 6px 4px 10px;border-radius:999px;background:var(--bg2);font-family:var(--mono);font-size:12px}
.dd-cmpbar .chips button{border:none;background:transparent;color:var(--mut);cursor:pointer;font-size:15px;line-height:1}
.dd-cmpbar .btn[disabled]{opacity:.5;cursor:default}
.dd-modal{position:fixed;inset:0;z-index:80;background:rgba(5,8,15,.6);display:flex;align-items:center;justify-content:center;padding:16px}
.dd-modal-in{width:min(1100px,100%);max-height:calc(100dvh - 32px);overflow:auto;background:var(--card);border:1px solid var(--line2);border-radius:18px;padding:18px}
.dd-modal-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.dd-modal-top b{font-size:18px}
.dd-cmp-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.dd-cmp-t{width:100%;border-collapse:collapse;font-size:13.5px;min-width:520px}
.dd-cmp-t th,.dd-cmp-t td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.dd-cmp-t tbody th{color:var(--mut);font-weight:500;white-space:nowrap}
.dd-cmp-t td{font-family:var(--mono);font-size:13px}
.dd-cmp-t td .dbtn{margin-bottom:6px}
.dd-cmp-t .ok{color:var(--ok)}
body:has(.dd-cmpbar:not(.hide)) footer{padding-bottom:84px}
@media (max-width:1079px){
  .dd-head{display:none}
  .dd-row{grid-template-columns:1fr auto;grid-template-areas:"srv pr" "m1 m1" "m2 m2" "net flags" "act act" "cmp cmp";gap:8px 12px;padding:16px}
  .dd-srv{grid-area:srv}
  .dd-pr{grid-area:pr;align-items:flex-end;text-align:right}
  .dd-m small{display:inline;font-family:var(--sans);color:var(--mut);margin-right:8px;font-size:12px}
  .dd-row .dd-m:nth-child(3){grid-area:m1}
  .dd-row .dd-m:nth-child(4){grid-area:m2}
  .dd-net{grid-area:net}
  .dd-flags{grid-area:flags;justify-content:flex-end}
  .dd-act{grid-area:act;flex-direction:row}
  .dd-act .dbtn{flex:1;height:46px}
  .dd-more{height:46px;padding:0 14px;border:1px solid var(--line2);border-radius:10px}
  .dd-cmp{grid-area:cmp;justify-content:flex-start;gap:8px;font-size:13px;color:var(--mut)}
  .dd-cmp span{display:inline}
  .dd-det{grid-template-columns:1fr}
  .dd-bar-r{justify-content:stretch}
  .dd-q{max-width:none}
}
@media (max-width:560px){
  .dd-tasks-in{display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}
  .dd-tasks-in::-webkit-scrollbar{display:none}
  .dd-task{flex:0 0 168px}
  .dd-segs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .dd-segs::-webkit-scrollbar{display:none}
  .dd-bar-r{flex-direction:column}
  .dd-sort{max-width:none}
  .dd-custom{padding:18px}
}
.dd-q{min-width:240px}
.dd-segs .seg{flex:0 0 auto;flex-wrap:nowrap}
@media (max-width:560px){ .dd-q{min-width:0} }
.dd-bar-r{flex:1 1 480px}
.dd-sort{flex:0 0 200px}
@media (max-width:560px){ .dd-bar-r{flex:1 1 100%} .dd-q{flex:0 0 auto;height:44px} .dd-sort{flex:0 0 auto;height:44px;max-width:none} }
.dd-bar-r{flex:0 0 auto}
@media (max-width:560px){ .dd-bar-r{flex:1 1 100%} }

/* Анимированный фон «Сетка» (assets/js/ss-background.js): фон страницы — только у html; статичная сетка первых экранов не нужна */
.grid-bg{display:none}


/* ---------- Локации: Looking Glass и карточки стран ---------- */
.lg-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 20px;padding:16px 20px;margin-bottom:16px;border-radius:16px;border:1px solid var(--line2);background:var(--card)}
.lg-bar-l{display:flex;flex-wrap:wrap;align-items:center;gap:10px 24px;min-width:0}
.lg-ip{display:flex;align-items:baseline;gap:10px}
.lg-ip span{font-size:13px;color:var(--mut)}
.lg-ip b{font-size:15px}
.lg-res{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;font-size:14px;color:var(--mut)}
.lg-res .flag{width:24px;height:18px;border-radius:3px}
.lg-res b{color:var(--fg)}
.lg-res a{font-weight:600;font-size:14px}
.lg-bar .btn[disabled]{opacity:.7;cursor:progress}
.lg-ms{font-family:var(--mono);font-size:12px;font-weight:700;padding:2px 7px;border-radius:6px;background:var(--bg2);white-space:nowrap}
.lg-ms.g{color:var(--ok);background:rgba(62,207,142,.12)}
.lg-ms.y{color:var(--low);background:rgba(255,176,32,.12)}
.lg-ms.r{color:var(--out);background:rgba(255,92,108,.12)}
.lg-ms.run{color:var(--mut)}
.lcard .lc-name{display:flex;align-items:center;gap:10px;min-width:0}
.lcard .lc-name b{font-size:17px;font-weight:700}
.lc-rows{display:flex;flex-direction:column;gap:6px}
.lc-row{display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:baseline;padding:10px 12px;border-radius:10px;background:var(--bg2);color:var(--fg);transition:background .15s}
.lc-row:hover{color:var(--fg);box-shadow:0 0 0 1px var(--acc) inset}
.lc-row span{font-size:13.5px}
.lc-row b{font-family:var(--mono);font-size:13.5px;color:var(--acct)}
.lc-row small{grid-column:1/-1;font-family:var(--mono);font-size:11.5px;color:var(--mut)}
.lc-lg{display:flex;flex-direction:column;gap:6px;padding-top:10px;border-top:1px solid var(--line)}
.lc-lg .lbl{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--mut)}
.lg-pt{display:flex;align-items:center;justify-content:space-between;gap:8px}
.lg-pt-l{display:flex;flex-direction:column;gap:2px;min-width:0}
.lg-pt-l .c{font-size:12.5px;color:var(--mut);display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px}
.lg-pt-l .lg-ms{font-size:11px;padding:1px 6px}
.lg-ipbtn{border:none;background:none;padding:0;color:var(--fg);font-size:12.5px;cursor:copy;text-align:left}
.lg-ipbtn:hover{color:var(--acct)}
.lg-pt-r{display:flex;align-items:center;gap:6px;flex-shrink:0}
.lg-mini{height:28px;padding:0 10px;border-radius:7px;border:1px solid var(--line2);background:transparent;color:var(--fg);font-family:var(--mono);font-size:11.5px;cursor:pointer}
.lg-mini:hover{border-color:var(--acc)}
.loc-pop .pop-go{display:flex;gap:8px}
.loc-pop .pop-go .go{flex:1}
.loc-pop .pop-go .go.alt{background:transparent;color:var(--fg);border:1px solid var(--acc)}
.loc-pop{display:flex;flex-direction:column;gap:10px}
.loc-other{padding-bottom:clamp(48px,7vw,80px)}
.lg-mtr{width:min(560px,100%)}
.lg-cmd{display:grid;grid-template-columns:120px 1fr auto;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}
.lg-cmd span{font-size:13px;color:var(--mut)}
.lg-cmd code{font-size:13px;overflow-x:auto;white-space:nowrap}
@media (max-width:560px){
  .lg-bar .btn{width:100%}
  .lg-cmd{grid-template-columns:1fr auto}
  .lg-cmd span{grid-column:1/-1}
}
.legal-art .secs p,.legal-art .secs h3{overflow-wrap:anywhere;word-break:normal}

/* ---------- Контакты отделов в футере (10.10) ---------- */
.ftr-contacts{display:flex;flex-direction:column;gap:10px;line-height:1.35}
.ftr-ct{display:flex;flex-direction:column;gap:2px}
.ftr-ct small{font-family:var(--mono);font-size:11.5px;color:var(--mut);opacity:.8}
.ftr-ct a{overflow-wrap:anywhere}
.ftr-link{background:none;border:0;padding:0;font:inherit;color:var(--fg);cursor:pointer;text-align:left}
.ftr-link:hover{color:var(--acc)}

/* ---------- Баннер согласия на cookie (GDPR) ---------- */
.cc{position:fixed;left:0;right:0;bottom:0;z-index:90;padding:0 16px calc(16px + env(safe-area-inset-bottom));pointer-events:none}
.cc[hidden]{display:none}
.cc-in{pointer-events:auto;max-width:1080px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px 24px;padding:20px 22px;border-radius:16px;background:var(--card);border:1px solid var(--line2);box-shadow:0 18px 50px rgba(0,0,0,.35)}
.cc-txt{flex:1 1 420px;min-width:0}
.cc-txt b{display:block;font-size:16px;margin-bottom:6px}
.cc-txt p{margin:0;font-size:14px;line-height:1.5;color:var(--mut)}
.cc-txt p a{color:var(--acct)}
.cc-opts{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.cc-opts[hidden]{display:none}
.cc-opts label{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.45;color:var(--mut);cursor:pointer}
.cc-opts label b{display:inline;font-size:14px;margin:0;color:var(--fg)}
.cc-opts input{width:18px;height:18px;margin:1px 0 0;flex-shrink:0;accent-color:var(--acc)}
.cc-btns{display:flex;flex-wrap:wrap;gap:8px}
.cc-btns .btn{white-space:nowrap}
.cc-btns [hidden]{display:none}
@media (max-width:640px){
  .cc{padding:0 10px calc(10px + env(safe-area-inset-bottom))}
  .cc-in{padding:16px;gap:14px;max-height:calc(100dvh - 20px);overflow:auto}
  .cc-btns{width:100%}
  .cc-btns .btn{flex:1 1 100%;justify-content:center}
}

/* ---------- Кнопка онлайн-чата (Tawk.to грузится по нажатию) ---------- */
.chat-fab{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom));z-index:80;display:inline-flex;align-items:center;gap:9px;height:46px;padding:0 20px 0 16px;border-radius:999px;border:0;background:var(--acc);color:var(--accfg);font:600 14.5px/1 var(--sans);letter-spacing:.01em;cursor:pointer;box-shadow:0 6px 18px rgba(255,130,0,.28),0 2px 6px rgba(0,0,0,.18);transition:transform .18s ease,box-shadow .18s ease;-webkit-tap-highlight-color:transparent}
.chat-fab svg{flex:none;display:block}
.chat-fab:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(255,130,0,.36),0 3px 8px rgba(0,0,0,.2)}
.chat-fab:active{transform:translateY(0)}
.chat-fab:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
.chat-fab.is-loading{opacity:.75;cursor:progress}
html.cc-open .chat-fab{display:none}
@media (max-width:640px){.chat-fab span{display:none}.chat-fab{width:52px;height:52px;padding:0;justify-content:center;right:16px;bottom:calc(16px + env(safe-area-inset-bottom))}.chat-fab svg{width:22px;height:22px}}
@media (prefers-reduced-motion:reduce){.chat-fab{transition:none}.chat-fab:hover{transform:none}}

/* ---------- 404 ---------- */
.nf{padding-top:clamp(64px,10vw,120px);padding-bottom:clamp(80px,10vw,128px);text-align:center}
.nf-code{font-size:clamp(64px,12vw,120px);font-weight:700;line-height:1;color:var(--acc);margin-bottom:12px}
.nf .lead-sm{margin:14px auto 0;max-width:560px}
.nf-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:28px}

/* ---------- Статус серверов ---------- */
.st-hero{padding-top:clamp(48px,7vw,80px)}
.st-hero .lead-sm{margin-top:12px}
.st-sum{display:flex;align-items:center;gap:12px;margin-top:24px;padding:18px 20px;font-size:17px}
.st-sum .dot{width:10px;height:10px}
.st-sum.good{border-color:rgba(62,207,142,.35)}
.st-sum.bad{border-color:rgba(255,92,108,.45)}
.st-list{padding-top:20px;padding-bottom:clamp(64px,8vw,96px);display:flex;flex-direction:column;gap:12px}
.st-row{padding:16px 18px}
.st-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.st-name{flex:1 1 200px;min-width:0;overflow-wrap:anywhere}
.st-state{font-size:13px;color:var(--ok)}
.st-state.out{color:var(--out)}
.st-u{font-size:14px;color:var(--fg)}
.st-bars{display:flex;gap:3px;margin-top:14px;height:34px}
.st-bars i{flex:1;border-radius:3px;background:var(--ok)}
.st-bars i.low{background:var(--low)}.st-bars i.out{background:var(--out)}.st-bars i.nd{background:var(--line2)}
.st-foot{display:flex;justify-content:space-between;gap:10px;margin-top:8px;font-size:11.5px;color:var(--mut)}
.st-foot span:nth-child(2){text-align:center}
.st-err{padding:20px;color:var(--mut)}
.st-upd{font-size:12px;margin-top:4px}
@media (max-width:640px){.st-bars{gap:2px;height:28px}.st-foot span:nth-child(2){display:none}}

/* Домены: результаты по всем зонам (15.10) */
.dom-res-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin-bottom:12px}
.dom-res-top .dom-res-cap{margin-bottom:0}
.dom-onlyfree{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--fg);cursor:pointer;user-select:none}
.dom-onlyfree input{width:18px;height:18px;margin:0;accent-color:var(--acc)}
.dom-res-more{display:flex;justify-content:center;margin-top:16px}
.dom-res-more .hide{display:none}
.dres-empty{justify-content:center;color:var(--mut);font-size:14px}

/* «Помощь» → ссылка на базу знаний (15.10) */
.help-kb{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding:16px 20px;border-radius:14px;color:var(--fg);text-align:left}
.help-kb:hover{border-color:var(--acc);color:var(--fg)}
.help-kb span{display:flex;flex-direction:column;gap:2px;min-width:0}
.help-kb b{font-size:16px}
.help-kb small{font-size:13.5px;color:var(--mut)}
.help-kb em{font-style:normal;font-weight:600;color:var(--acct);white-space:nowrap}
