/* happincy-neo — Happ Babka + INCY Babka full-site skin */
/* ===== Brand: happ ===== */
html.brand-happ[data-theme="light"] {
  --bg:#eef4fa; --card:#ffffff; --text:#08121f; --text2:#1b2f4a; --muted:#41546f; --soft:#e3edf7;
    --header:rgba(255,255,255,.96); --ink:#1d3a5c; --final:#0b1830; --ticker:#0b1830;
    --router:linear-gradient(135deg,#e0f2fe,#ede9fe); --routerbox:linear-gradient(160deg,#06b6d4,#2563eb); --routerbox-fg:#ffffff;
    --hot:linear-gradient(160deg,#ecfeff,#d1fae5); --hot-fg:#0e7490; --hit:linear-gradient(170deg,#ecfeff,#dbeafe); --hit-fg:#0f1d33;
    --t1:#fdf2f8; --t2:#eff6ff; --t3:#ecfdf5; --t4:#fff7ed; --t5:#f5f3ff; --t6:#ecfeff;
    --violet:#2563eb; --shadow-c:rgba(10,30,70,1);
}
html.brand-happ[data-theme="dark"] {
  --bg:#07101f; --card:#0e1a2e; --text:#e8f1ff; --text2:#c6d6ec; --muted:#8ea3c2; --soft:#14233b;
    --header:rgba(8,16,30,.8); --ink:#0b1830; --final:#040a15; --ticker:#040a15;
    --router:linear-gradient(135deg,#0c2233,#17143a); --routerbox:linear-gradient(160deg,#0e7490,#1e3a8a); --routerbox-fg:#ffffff;
    --hot:linear-gradient(160deg,#0e4a4f,#13306a); --hot-fg:#d1fae5; --hit:linear-gradient(170deg,#0e3b4a,#1b2f6b); --hit-fg:#f0f7ff;
    --t1:#2b1830; --t2:#14243d; --t3:#0f2d26; --t4:#33220f; --t5:#22193d; --t6:#0e2e33;
    --violet:#93c5fd; --shadow-c:rgba(0,0,0,1);
}
html.brand-happ {
  --bw:1.5px;
  --bwbig:0px;
  --r:26px;
  --sh-sm:0 6px 16px -6px rgba(10,30,70,.28);
  --sh:0 16px 34px -14px rgba(10,30,70,.32);
  --sh-lg:0 34px 60px -22px rgba(10,30,70,.48);
  --tsh:0 4px 24px rgba(0,0,0,.18);
  --hero:linear-gradient(135deg,#0f766e 0%,#2563eb 55%,#6d28d9 100%);
  --p-bg:linear-gradient(135deg,#06b6d4,#2563eb);
  --p-fg:#ffffff;
  --y-bg:linear-gradient(135deg,#a7f3d0,#6ee7b7);
  --a1:#06b6d4;
  --a2:#a7f3d0;
  --a3:#93c5fd;
  --a4:#6ee7b7;
  --mark:linear-gradient(120deg,#a7f3d0,#6ee7b7);
  --btn-r:999px;
  --chip-r:999px;
  --tag-r:999px;
  --plan-hit-border:#06b6d4;
  --logo-ring:0 0 0 3px #a7f3d0;
  --head:"Unbounded","Montserrat",system-ui,sans-serif;
  --body:"Nunito","Montserrat",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}

/* ===== Brand: incy ===== */
html.brand-incy[data-theme="light"] {
  --bg:#f6f3ff; --card:#ffffff; --text:#1b1638; --text2:#3f3a62; --muted:#6b6690; --soft:#f1ecff;
    --header:rgba(255,255,255,.9); --ink:#0d0a1f; --final:#0d0a1f; --ticker:#0d0a1f;
    --router:linear-gradient(135deg,#ffe8f3,#e9e2ff); --routerbox:#3dd9ff; --routerbox-fg:#0d0a1f;
    --hot:#ffd23f; --hot-fg:#0d0a1f; --hit:#ffd23f; --hit-fg:#0d0a1f;
    --t1:#ffe0ee; --t2:#dff6ff; --t3:#e6ffe9; --t4:#fff1dc; --t5:#efe6ff; --t6:#fff9c9;
    --violet:#7b4dff; --shadow-c:rgba(13,10,31,1);
}
html.brand-incy[data-theme="dark"] {
  --bg:#0b0918; --card:#16122c; --text:#f3efff; --text2:#d9d3f5; --muted:#a59ec9; --soft:#221c40;
    --header:rgba(15,12,30,.82); --ink:#a78bfa; --final:#05040d; --ticker:#05040d;
    --router:linear-gradient(135deg,#261237,#140f2c); --routerbox:#1f3d52; --routerbox-fg:#f3efff;
    --hot:linear-gradient(160deg,#4c1d6b,#2e1065); --hot-fg:#fdf4ff; --hit:linear-gradient(170deg,#4a1450,#241257); --hit-fg:#ffffff;
    --t1:#3a1d2e; --t2:#1b2f3d; --t3:#1b3a25; --t4:#3d2a17; --t5:#2a1f47; --t6:#3a3517;
    --violet:#c4b5fd; --shadow-c:rgba(0,0,0,.6);
}
html.brand-incy {
  --bw:3px;
  --bwbig:4px;
  --r:24px;
  --sh-sm:4px 4px 0 var(--ink);
  --sh:7px 7px 0 var(--ink);
  --sh-lg:11px 11px 0 var(--ink);
  --tsh:4px 4px 0 var(--ink);
  --hero:linear-gradient(135deg,#7b4dff 0%,#c04dff 48%,#ff3d8b 100%);
  --p-bg:#ff3d8b;
  --p-fg:#ffffff;
  --y-bg:#ffd23f;
  --a1:#ff3d8b;
  --a2:#ffd23f;
  --a3:#3dd9ff;
  --a4:#7dff8a;
  --mark:#ffd23f;
  --btn-r:16px;
  --chip-r:14px;
  --tag-r:999px;
  --plan-hit-border:var(--ink);
  --logo-ring:0 0 0 3px #ffd23f;
  --head:"Unbounded","Montserrat",system-ui,sans-serif;
  --body:"Nunito","Montserrat",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{font-family:var(--body);background:var(--bg);color:var(--text);line-height:1.55;overflow-x:hidden;-webkit-font-smoothing:antialiased;transition:background .35s ease,color .35s ease}
  a{color:inherit;text-decoration:none}
  img,svg{display:block;max-width:100%}
  .wrap{max-width:1160px;margin:0 auto;padding:0 22px}
  h1,h2,h3{font-family:var(--head);font-weight:800;letter-spacing:-.02em;line-height:1.12}
  :focus-visible{outline:3px solid var(--a2);outline-offset:3px;border-radius:10px}
  .ic{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
  .ic-lg{width:30px;height:30px}

  /* ===== Бегущая строка ===== */
  .ticker{background:var(--ticker);color:var(--a2);overflow:hidden;white-space:nowrap;font-weight:800;font-size:14px;padding:11px 0}
  .ticker-track{display:inline-flex;align-items:center;animation:slide 28s linear infinite}
  .ticker span{display:inline-flex;align-items:center;gap:8px;margin:0 28px}
  .ticker span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--a4)}
  @keyframes slide{to{transform:translateX(-50%)}}

  /* ===== Панель управления (шапка) ===== */
  .topbar{position:sticky;top:0;z-index:60;padding:12px 0;background:transparent}
  .navbar{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:68px;padding:8px 10px 8px 12px;
    background:var(--header);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);
    border:var(--bw) solid var(--ink);border-radius:999px;box-shadow:var(--sh-sm)}
  .brand{display:flex;align-items:center;gap:12px;white-space:nowrap}
  .brand img{width:46px;height:46px;border-radius:50%;box-shadow:var(--logo-ring);object-fit:cover}
  .brand-name{font-family:var(--head);font-weight:900;font-size:21px;letter-spacing:-.01em}
  .brand-name em{font-style:normal;color:var(--a1)}
  .menu{display:flex;align-items:center;gap:4px;padding:4px;border-radius:999px;background:var(--soft)}
  .menu a{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border-radius:999px;font-weight:800;font-size:14px;transition:background .2s,color .2s}
  .menu a .ic{width:17px;height:17px}
  .menu a:hover{background:var(--card);color:var(--violet);box-shadow:var(--sh-sm)}
  .actions{display:flex;align-items:center;gap:10px}
  .theme-btn{width:44px;height:44px;border-radius:50%;display:inline-grid;place-items:center;cursor:pointer;color:var(--text);
    background:var(--card);border:var(--bw) solid var(--ink);box-shadow:var(--sh-sm);transition:transform .2s ease}
  .theme-btn:hover{transform:rotate(18deg) scale(1.05)}
  .theme-btn .ic{width:20px;height:20px}
  .theme-btn .i-moon{display:none}
  html[data-theme="dark"] .theme-btn .i-moon{display:block}
  html[data-theme="dark"] .theme-btn .i-sun{display:none}

  /* ===== Кнопки ===== */
  .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14px 26px;border-radius:var(--btn-r);font-weight:900;font-size:16px;
    border:var(--bw) solid var(--ink);box-shadow:var(--sh-sm);transition:transform .14s ease,box-shadow .14s ease;cursor:pointer;font-family:inherit;
    color:var(--ink);background:var(--card);white-space:nowrap}
  html[data-theme="dark"] .btn{color:var(--text)}
  .btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--shadow-c)}
  .btn:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--shadow-c)}
  .btn-pink{background:var(--p-bg);color:var(--p-fg);border-color:transparent}
  .btn-pink:hover{box-shadow:0 14px 26px -10px rgba(6,182,212,.55)}
  .btn-yellow{background:var(--y-bg);color:#0d0a1f;border-color:transparent}
  html[data-theme="dark"] .btn-yellow{color:#0d0a1f}
  html[data-theme="dark"] .btn-pink{color:var(--p-fg)}
  .btn-yellow:hover{box-shadow:0 14px 26px -10px rgba(110,231,183,.55)}
  .btn-white{background:var(--card)}
  .btn-block{width:100%}
  .btn-sm{padding:10px 18px;font-size:14px}

  /* ===== Hero ===== */
  .hero{position:relative;padding:72px 0 88px;background:var(--hero);color:#fff;overflow:hidden;border-bottom:var(--bwbig) solid var(--ink)}
  .blob{z-index:0;position:absolute;border-radius:50%;opacity:.95;animation:float 7s ease-in-out infinite;pointer-events:none}
  .b1{width:260px;height:260px;background:var(--a2);top:-70px;right:6%}
  .b2{width:130px;height:130px;background:var(--a3);bottom:40px;left:46%;animation-delay:-2s}
  .b3{width:72px;height:72px;background:var(--a4);top:28%;left:4%;animation-delay:-4s}
  @keyframes float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-22px) rotate(12deg)}}
  .hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;position:relative;z-index:1}
  .sticker{display:inline-flex;align-items:center;gap:8px;background:var(--a2);color:#0d0a1f;font-weight:900;font-size:14px;padding:8px 16px;
    border:var(--bw) solid var(--ink);border-radius:var(--chip-r);transform:rotate(-3deg);box-shadow:var(--sh-sm);margin-bottom:26px}
  .hero h1{font-size:clamp(38px,5.6vw,68px);margin-bottom:22px;text-shadow:var(--tsh)}
  .hero h1 mark{background:var(--mark);color:#0d0a1f;padding:0 12px;border-radius:14px;text-shadow:none;display:inline-block;transform:rotate(-1.5deg);border:var(--bw) solid var(--ink)}
  .lead{font-size:19px;max-width:540px;margin-bottom:34px;font-weight:700;opacity:.96}
  .hero-cta{display:flex;gap:14px;flex-wrap:wrap}
  .chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:36px}
  .chip{display:inline-flex;align-items:center;gap:8px;background:#fff;color:#0d0a1f;font-weight:800;font-size:14px;padding:9px 15px;
    border:var(--bw) solid var(--ink);border-radius:var(--chip-r);box-shadow:var(--sh-sm)}
  .chip .ic{width:17px;height:17px;color:#7b4dff}
  .hero-card{background:var(--card);color:var(--text);border:var(--bwbig) solid var(--ink);border-radius:30px;padding:30px;box-shadow:var(--sh-lg);transform:rotate(2deg);animation:tilt 6s ease-in-out infinite}
  @keyframes tilt{0%,100%{transform:rotate(2deg)}50%{transform:rotate(.5deg) translateY(-6px)}}
  .hero-card .top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
  .live{display:inline-flex;align-items:center;gap:8px;font-weight:900;font-size:13px;color:#16a34a}
  .live::before{content:"";width:10px;height:10px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.25);animation:pulse 1.4s infinite}
  @keyframes pulse{50%{box-shadow:0 0 0 8px rgba(34,197,94,0)}}
  .uptime{font-weight:900;color:var(--muted);font-size:14px}
  .price-hero{font-family:var(--head);font-size:66px;font-weight:900;color:var(--a1);line-height:1}
  .price-hero small{font-size:24px}
  .hero-card .sub{color:var(--muted);font-weight:800;margin:8px 0 20px}
  .meter{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
  .meter div{background:var(--soft);border:var(--bw) solid var(--ink);border-radius:14px;padding:12px 8px;text-align:center}
  .meter b{display:block;font-family:var(--head);font-size:18px}
  .meter small{font-size:12px;color:var(--muted);font-weight:800}

  /* ===== Статистика ===== */
  .stats{background:var(--final);color:#fff;padding:28px 0}
  .stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;text-align:center}
  .stats b{font-family:var(--head);font-size:32px;color:var(--a2)}
  .stats small{display:block;font-weight:800;opacity:.8;font-size:13px}

  /* ===== Секции ===== */
  section{padding:100px 0}
  .head{text-align:center;margin-bottom:56px}
  .tag{display:inline-flex;align-items:center;gap:7px;background:var(--a3);color:#0d0a1f;font-weight:900;font-size:13px;padding:7px 14px;
    border:var(--bw) solid var(--ink);border-radius:var(--tag-r);margin-bottom:16px;box-shadow:var(--sh-sm)}
  .head h2{font-size:clamp(30px,4vw,48px);margin-bottom:14px}
  .head p{color:var(--muted);font-weight:700;max-width:620px;margin:0 auto;font-size:17px}

  /* ===== Серверы ===== */
  .servers{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
  .srv{position:relative;background:var(--card);border:var(--bw) solid var(--ink);border-radius:var(--r);padding:22px;box-shadow:var(--sh);transition:transform .18s ease}
  .srv:hover{transform:translateY(-6px) rotate(-1deg)}
  .srv .pin{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--soft);color:var(--violet);margin-bottom:14px;border:var(--bw) solid var(--ink)}
  .srv .pin .ic{width:19px;height:19px}
  .srv .city{font-family:var(--head);font-weight:800;font-size:17px}
  .srv .ctry{font-size:13px;color:var(--muted);font-weight:800;margin-bottom:14px}
  .ms{display:inline-block;background:var(--a4);color:#0d0a1f;border:var(--bw) solid var(--ink);border-radius:10px;padding:2px 10px;font-family:var(--head);font-weight:800;font-size:18px;min-width:86px;text-align:center}
  .ms small{font-size:12px}
  .load{margin-top:14px;font-size:12px;font-weight:900;color:var(--muted);margin-bottom:6px;display:flex;justify-content:space-between}
  .bar{height:12px;border:2px solid var(--ink);border-radius:8px;background:var(--soft);overflow:hidden}
  .bar i{display:block;height:100%;background:repeating-linear-gradient(45deg,var(--a1) 0 8px,#ff8a3d 8px 16px);transition:width .8s ease}
  .srv .use{margin-top:14px;font-size:13px;font-weight:800;color:var(--violet)}
  .srv.hot{background:var(--hot);color:var(--hot-fg)}
  .srv.hot .use,.srv.hot .ctry{color:var(--hot-fg)}
  .srv.hot .pin{background:var(--card);color:var(--hot-fg)}
  .hot-badge{position:absolute;top:-12px;right:14px;background:var(--ink);color:var(--a2);font-size:11px;font-weight:900;padding:4px 10px;border-radius:8px}

  /* ===== Сервисы ===== */
  .services{background:var(--card);border-top:var(--bwbig) solid var(--ink);border-bottom:var(--bwbig) solid var(--ink)}
  .svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  .svc{border:var(--bw) solid var(--ink);border-radius:26px;padding:28px;box-shadow:var(--sh);transition:transform .18s ease;color:#1b1638}
  .svc:hover{transform:translateY(-5px)}
  .svc .ico{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:#fff;border:var(--bw) solid var(--ink);margin-bottom:16px;color:#0d0a1f}
  .svc .ico .ic{width:28px;height:28px}
  .svc h3{font-size:21px;margin-bottom:8px;color:#0d0a1f}
  .svc p{font-weight:700;color:#3f3a62;font-size:15px;margin-bottom:16px}
  .badge{display:inline-block;background:#0d0a1f;color:var(--a2);font-weight:900;font-size:13px;padding:6px 12px;border-radius:10px}
  .c1{background:var(--t1)}.c2{background:var(--t2)}.c3{background:var(--t3)}.c4{background:var(--t4)}.c5{background:var(--t5)}.c6{background:var(--t6)}
  html[data-theme="dark"] .svc{color:#f3efff}
  html[data-theme="dark"] .svc h3{color:#f3efff}
  html[data-theme="dark"] .svc p{color:#d9d3f5}
  html[data-theme="dark"] .svc .ico{background:var(--card);color:#f3efff}
  html[data-theme="dark"] .badge{background:#05040d;color:var(--a2)}

  /* ===== Тарифы ===== */
  .plans{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;align-items:stretch}
  .plan{background:var(--card);border:var(--bw) solid var(--ink);border-radius:28px;padding:30px;box-shadow:var(--sh);display:flex;flex-direction:column;position:relative;transition:transform .18s ease}
  .plan:hover{transform:translateY(-5px)}
  .plan h3{font-size:22px}
  .plan .desc{font-weight:800;color:var(--muted);font-size:14px;margin:4px 0 16px;min-height:22px}
  .price{font-family:var(--head);font-weight:900;font-size:44px;color:var(--text)}
  .price small{font-size:20px}
  .per{font-weight:900;color:var(--violet);font-size:14px;margin:6px 0 18px}
  .plan ul{list-style:none;flex:1;margin-bottom:24px}
  .plan li{display:flex;gap:10px;align-items:flex-start;padding:7px 0;font-weight:800;font-size:15px;color:var(--text2)}
  .plan li .ic{width:18px;height:18px;color:var(--a1);margin-top:2px}
  .plan.hit{background:var(--hit);color:var(--hit-fg);border-color:var(--plan-hit-border);transform:rotate(-1deg)}
  .plan.hit li{color:var(--hit-fg)}
  .plan.hit .desc,.plan.hit .per{color:var(--hit-fg)}
  .plan.hit:hover{transform:rotate(-1deg) translateY(-5px)}
  .plan.hit .price{color:var(--hit-fg)}
  .flag{position:absolute;top:-16px;right:18px;background:var(--p-bg);color:var(--p-fg);font-weight:900;font-size:13px;padding:7px 14px;border:var(--bw) solid var(--ink);border-radius:12px;transform:rotate(4deg)}
  .plans-note{text-align:center;margin-top:40px;font-weight:800;color:var(--muted)}
  .plan.hit .flag{transform:rotate(4deg)}

  /* ===== Роутер ===== */
  .router{background:var(--router)}
  .router-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
  .router h2{font-size:clamp(28px,3.6vw,42px);margin:16px 0 16px}
  .router p{font-weight:700;color:var(--text2);margin-bottom:24px;font-size:17px}
  .specs{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:30px}
  .spec{display:flex;gap:12px;align-items:flex-start;background:var(--card);border:var(--bw) solid var(--ink);border-radius:16px;padding:16px;box-shadow:var(--sh-sm)}
  .spec .ic{color:var(--violet);width:22px;height:22px;margin-top:2px}
  .spec b{display:block;font-weight:900;font-size:15px}
  .spec small{font-weight:700;color:var(--muted);font-size:13px}
  .router-box{background:var(--routerbox);color:var(--routerbox-fg);border:var(--bwbig) solid var(--ink);border-radius:32px;padding:36px;box-shadow:var(--sh-lg);text-align:center}
  .router-box .price-r{font-family:var(--head);font-weight:900;font-size:50px;margin:10px 0}
  .router-box ul{list-style:none;text-align:left;margin:20px 0 26px}
  .router-box li{display:flex;gap:10px;align-items:center;background:var(--card);color:var(--text);border:var(--bw) solid var(--ink);border-radius:12px;padding:10px 14px;margin-bottom:10px;font-weight:800;font-size:15px}
  .router-box li .ic{color:var(--violet);width:18px;height:18px}
  .warn{display:inline-flex;align-items:center;gap:8px;font-weight:900;margin-top:6px}

  /* ===== Шаги ===== */
  .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
  .step{border:var(--bw) solid var(--ink);border-radius:28px;padding:30px;background:var(--card);box-shadow:var(--sh)}
  .step .n{width:58px;height:58px;border-radius:50%;background:var(--p-bg);color:var(--p-fg);border:var(--bw) solid var(--ink);display:flex;align-items:center;justify-content:center;font-family:var(--head);font-weight:900;font-size:20px;margin-bottom:16px}
  .step:nth-child(2) .n{background:var(--a3);color:#0d0a1f}
  .step:nth-child(3) .n{background:var(--a4);color:#0d0a1f}
  .step h3{font-size:20px;margin-bottom:10px}
  .step p{font-weight:700;color:var(--text2);margin-bottom:16px}
  .step a{display:inline-flex;align-items:center;gap:6px;font-weight:900;color:var(--violet)}
  .step a .ic{width:16px;height:16px}

  /* ===== FAQ ===== */
  .faq{max-width:780px;margin:0 auto;display:grid;gap:14px}
  details{background:var(--card);border:var(--bw) solid var(--ink);border-radius:18px;padding:18px 22px;box-shadow:var(--sh-sm)}
  summary{cursor:pointer;font-weight:900;font-size:17px;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px}
  summary::-webkit-details-marker{display:none}
  summary .plus{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:var(--a2);color:#0d0a1f;border:var(--bw) solid var(--ink);flex-shrink:0;transition:transform .2s}
  summary .plus .ic{width:16px;height:16px;stroke-width:2.6}
  details[open] summary .plus{transform:rotate(45deg)}
  details p{margin-top:12px;font-weight:700;color:var(--text2)}

  /* ===== Финал ===== */
  .final{background:var(--final);color:#fff;text-align:center;padding:116px 0;position:relative;overflow:hidden}
  .final h2{font-size:clamp(34px,5vw,60px);margin-bottom:18px}
  .final h2 span{color:var(--a2)}
  .final p{font-weight:700;opacity:.85;margin-bottom:34px;font-size:18px}

  footer{background:var(--card);border-top:var(--bwbig) solid var(--ink);padding:34px 0;font-weight:800;color:var(--muted);font-size:14px}
  footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;align-items:center}
  footer a:hover{color:var(--a1)}
  footer .links{display:flex;gap:16px;flex-wrap:wrap}
  footer .links a{display:inline-flex;align-items:center;gap:6px}
  footer .ic{width:16px;height:16px}

  /* ===== Появление ===== */
  .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
  .reveal.in{opacity:1;transform:none}


  /* ===== Улучшенная бегущая строка ===== */
  .ticker{position:relative;background:linear-gradient(90deg,var(--ticker) 0%,color-mix(in srgb,var(--ticker) 70%,var(--violet)) 50%,var(--ticker) 100%);
    color:#fff;padding:9px 0;border-bottom:var(--bwbig) solid var(--ink);font-size:13px;letter-spacing:.02em;
    -webkit-mask-image:none;mask-image:none;overflow:hidden}
  .ticker-track{display:inline-flex;align-items:center;gap:0;animation:slide 40s linear infinite;will-change:transform}
  .ticker:hover .ticker-track{animation-play-state:paused}
  .ticker span{display:inline-flex;align-items:center;gap:8px;margin:0 8px;padding:6px 14px;border-radius:999px;
    background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);font-weight:800;color:#fff;white-space:nowrap}
  .ticker span::before{display:none}
  .ticker span .ic{width:15px;height:15px;color:var(--a2)}
  .ticker span b{color:var(--a2);font-weight:900}
  .ticker::before,.ticker::after{content:"";position:absolute;top:0;bottom:0;width:90px;z-index:2;pointer-events:none}
  .ticker::before{left:0;background:linear-gradient(90deg,var(--ticker),transparent)}
  .ticker::after{right:0;background:linear-gradient(270deg,var(--ticker),transparent)}

  /* ===== Улучшенная панель управления ===== */
  .navbar{position:relative;gap:18px;min-height:72px;padding:8px 10px 8px 14px;border:2px solid transparent;
    background:linear-gradient(var(--header),var(--header)) padding-box,
               linear-gradient(90deg,var(--a1),var(--violet),var(--a3)) border-box;
    box-shadow:0 18px 40px -18px rgba(10,6,30,.55)}
  html[data-theme="dark"] .navbar{box-shadow:0 18px 44px -14px rgba(0,0,0,.8)}
  .brand{padding:2px 6px 2px 2px;border-radius:999px;transition:transform .25s ease}
  .brand:hover{transform:translateY(-1px)}
  .brand img{width:46px;height:46px;box-shadow:0 0 0 3px var(--card),0 0 0 5px var(--a2),0 0 18px rgba(167,139,250,.5)}
  .brand-name{font-size:20px}
  .brand-name em{background:linear-gradient(90deg,var(--a1),var(--violet));-webkit-background-clip:text;background-clip:text;color:transparent}
  .status{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:var(--soft);
    font-weight:900;font-size:12.5px;color:var(--text2);white-space:nowrap}
  .status i{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 0 rgba(34,197,94,.6);animation:ping 1.8s infinite}
  @keyframes ping{0%{box-shadow:0 0 0 0 rgba(34,197,94,.6)}70%{box-shadow:0 0 0 7px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
  .menu{background:var(--soft);padding:5px;gap:2px}
  .menu a{position:relative;padding:9px 13px;color:var(--text2)}
  .menu a::after{content:"";position:absolute;left:50%;bottom:4px;width:0;height:2px;border-radius:2px;background:var(--a1);transform:translateX(-50%);transition:width .25s ease}
  .menu a:hover::after{width:14px}
  .menu a:hover{background:var(--card);color:var(--text);box-shadow:var(--sh-sm)}
  .theme-btn{width:46px;height:46px;background:linear-gradient(var(--card),var(--card)) padding-box,linear-gradient(135deg,var(--a2),var(--violet)) border-box;border:2px solid transparent}
  .navbar .btn-pink{position:relative;overflow:hidden;padding:12px 20px;gap:8px}
  .navbar .btn-pink::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;
    background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);animation:shine 3.5s infinite}
  @keyframes shine{0%{left:-60%}60%,100%{left:130%}}
  .brand,.actions{flex-shrink:0}
  .menu{min-width:0;flex-shrink:1}
  .menu a{flex-shrink:0}
  .menu a{padding:9px 11px;font-size:13.5px;white-space:nowrap}
  .menu a .ic{width:16px;height:16px}
  @media (max-width:1719px){ .status{display:none} }
  @media (max-width:560px){ .navbar{gap:10px;padding:6px 6px 6px 8px} .navbar .btn-pink{padding:9px 12px} .theme-fab{left:12px;bottom:12px;width:48px;height:48px} }


  /* ===== Плавающий переключатель темы (левый нижний угол) ===== */
  .theme-fab{position:fixed;left:18px;bottom:18px;z-index:90;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;cursor:pointer;
    color:var(--text);background:linear-gradient(var(--card),var(--card)) padding-box,linear-gradient(135deg,var(--a2),var(--violet)) border-box;
    border:2px solid transparent;box-shadow:0 14px 30px -10px rgba(10,6,30,.55);transition:transform .25s ease,box-shadow .25s ease}
  .theme-fab:hover{transform:translateY(-3px) rotate(18deg);box-shadow:0 20px 36px -12px rgba(10,6,30,.6)}
  .theme-fab:active{transform:scale(.94)}
  .theme-fab .ic{width:22px;height:22px}
  .theme-fab .i-moon{display:none}
  html[data-theme="dark"] .theme-fab .i-moon{display:block}
  html[data-theme="dark"] .theme-fab .i-sun{display:none}

  /* ===== Панель управления: адаптивная раскладка без перекрытий ===== */
  .topbar .wrap{max-width:1260px}
  .navbar{gap:14px;min-width:0}
  .menu{flex-shrink:0;min-width:max-content}
  @media (min-width:1321px) and (max-width:1719px){ .menu a{padding:9px 11px} }
  @media (max-width:1320px){ .menu{flex:0 1 auto;min-width:0} }
  .brand{min-width:0}
  .menu{flex:0 0 auto;min-width:max-content;overflow:visible;justify-content:center}
  .menu a{flex-shrink:0}
  .cta-short{display:none}
  @media (max-width:1320px){
    .menu a .t{display:none}
    .menu a{padding:10px 12px}
    .menu a .ic{width:19px;height:19px}
    .cta-long{display:none}
    .cta-short{display:inline}
    .brand-name{font-size:18px}
  }
  @media (max-width:1040px){
    .brand-name{font-size:16px}
    .brand img{width:42px;height:42px}
  }
  @media (max-width:560px){
    .menu{gap:0;padding:3px}
    .menu a{padding:7px 5px}
    .menu a .ic{width:16px;height:16px}
    .navbar{gap:6px}
    .brand img{width:38px;height:38px}
    .status{display:none}
    .brand-name{display:none}
    .navbar{justify-content:space-between}
  }
  /* ===== Светлая тема: контраст ===== */
  html[data-theme="light"] body{color:var(--text)}
  html[data-theme="light"] .navbar{border-color:transparent}
  html[data-theme="light"] .menu a{color:var(--text)}
  html[data-theme="light"] .srv .ctry,html[data-theme="light"] .meter small,html[data-theme="light"] .head p{color:var(--text2)}
  html[data-theme="light"] .svc p,html[data-theme="light"] .step p{color:#2a2f4a}
  html[data-theme="light"] .plan:hover,html[data-theme="light"] .srv:hover,html[data-theme="light"] .svc:hover{box-shadow:0 22px 40px -16px rgba(10,30,70,.35)}
  html[data-theme="dark"] .hero-card,html[data-theme="dark"] .plan,html[data-theme="dark"] .srv{box-shadow:0 18px 40px -18px rgba(0,0,0,.7)}
  /* ===== Адаптив ===== */
  @media (max-width:960px){
    section{padding:72px 0}
    .hero-grid,.router-grid{grid-template-columns:1fr}
    .hero-card{max-width:440px;margin:0 auto}
    .servers{grid-template-columns:repeat(2,1fr)}
    .svc-grid,.plans,.steps{grid-template-columns:1fr}
    .stats-grid{grid-template-columns:repeat(2,1fr)}
    .plan.hit{transform:none}
    .b2,.b3{display:none}
    .b1{width:150px;height:150px;top:-50px;right:-30px}
  }
  @media (max-width:560px){
    .hero{padding:52px 0 64px}
    .lead{font-size:17px}
    .hero-cta .btn{flex:1 1 auto}
    .navbar{padding:6px 6px 6px 8px}
    .brand img{width:40px;height:40px}
    .brand-name{font-size:18px}
    .servers{grid-template-columns:1fr}
    .specs{grid-template-columns:1fr}
    .price-hero{font-size:54px}
    .btn-sm{padding:9px 14px;font-size:13px}
  }
  @media (prefers-reduced-motion:reduce){
    *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
    .reveal{opacity:1;transform:none}
  }

/* ===== Neo inner pages (faq/download/guides/legal) ===== */
.neo-page{min-height:60vh}
.neo-page .wrap{max-width:1160px;margin:0 auto;padding:0 22px}
.neo-crumb{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-weight:800;color:var(--muted);font-size:14px;margin-bottom:18px}
.neo-crumb a:hover{color:var(--a1)}
.neo-page-hero{padding:48px 0 28px}
.neo-page-hero h1{font-family:var(--head);font-size:clamp(28px,4vw,44px);margin:0 0 12px}
.neo-page-hero p{font-weight:700;color:var(--muted);max-width:640px;font-size:17px}
.neo-card{background:var(--card);border:var(--bw) solid var(--ink);border-radius:var(--r);padding:22px;box-shadow:var(--sh-sm);margin-bottom:16px}
.neo-card h2,.neo-card h3{font-family:var(--head);margin:0 0 10px}
.neo-card p,.neo-prose{font-weight:700;color:var(--text2);line-height:1.6}
.neo-prose{max-width:820px}
.neo-prose a{color:var(--violet);text-decoration:underline}
.neo-prose h2{font-family:var(--head);margin:1.4em 0 .5em;font-size:1.35rem}
.neo-prose h3{font-family:var(--head);margin:1.2em 0 .4em;font-size:1.1rem}
.neo-prose ul,.neo-prose ol{padding-left:1.2em;margin:.6em 0}
.neo-dl-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin:24px 0 48px}
@media(max-width:720px){.neo-dl-grid{grid-template-columns:1fr}}
.neo-dl-card{background:var(--card);border:var(--bw) solid var(--ink);border-radius:var(--r);padding:22px;box-shadow:var(--sh);display:flex;flex-direction:column;gap:10px}
.neo-dl-card h3{font-family:var(--head);font-size:18px;margin:0}
.neo-dl-card p{font-weight:700;color:var(--muted);font-size:14px;margin:0;flex:1}
.neo-faq details{background:var(--card);border:var(--bw) solid var(--ink);border-radius:18px;padding:18px 22px;box-shadow:var(--sh-sm);margin-bottom:12px}
.neo-faq summary{cursor:pointer;font-weight:900;font-size:17px;list-style:none}
.neo-faq summary::-webkit-details-marker{display:none}
.neo-faq details p{margin-top:12px;font-weight:700;color:var(--text2)}
.neo-steps{display:grid;gap:12px;margin:18px 0 28px}
.neo-steps li{display:flex;gap:12px;align-items:flex-start;background:var(--card);border:var(--bw) solid var(--ink);border-radius:16px;padding:14px 16px;font-weight:800;box-shadow:var(--sh-sm)}
.neo-steps .n{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--p-bg);color:var(--p-fg);font-family:var(--head);flex-shrink:0}
body.neo-inner{padding-bottom:40px}
.menu a.is-on{background:var(--card);color:var(--violet);box-shadow:var(--sh-sm)}
html.brand-happ[data-theme="light"] meta, html.brand-happ[data-theme="light"]{color-scheme:light}
html.brand-happ[data-theme="dark"], html.brand-incy[data-theme="dark"]{color-scheme:dark}

html.brand-happ[data-theme="light"]{--neo-theme-color:#eef4fa}
html.brand-happ[data-theme="dark"]{--neo-theme-color:#07101f}
html.brand-incy[data-theme="light"]{--neo-theme-color:#f6f3ff}
html.brand-incy[data-theme="dark"]{--neo-theme-color:#0b0918}

/* Connect modal: neo pages do not load Tailwind (main-satellite.css).
   Without .hidden the pay modal dumps as raw text under the footer. */
.hidden{display:none!important}
#connectModal.hidden{display:none!important}
#connectModal:not(.hidden){
  position:fixed;inset:0;z-index:70;display:block;
}
#connectModal:not(.hidden) #connectModalShell{
  position:relative;display:flex;min-height:100%;width:100%;max-height:100dvh;
  align-items:flex-start;justify-content:center;overflow-x:hidden;overflow-y:auto;
  padding:2rem 1rem;
}
#connectModal:not(.hidden) #connectBackdrop{
  position:absolute;inset:0;background:rgba(0,0,0,.78);
}
#connectModal:not(.hidden) #connectModalCard{
  position:relative;z-index:10;width:100%;max-width:42rem;
  margin:auto;border-radius:1.25rem;padding:1.25rem 1.35rem;
  background:var(--card);border:var(--bw) solid var(--ink);color:var(--ink);
  box-shadow:var(--sh);
}
body.overflow-hidden{overflow:hidden}

/* SEO copy + LF/tunnels on neo (light/dark) */
.neo-seo-copy{padding:36px 0 8px}
.neo-seo-copy--tight{padding:8px 0 12px}
.neo-seo-copy .head p{max-width:720px}
.neo-seo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}
.neo-seo-grid article{background:var(--card);border:var(--bw) solid var(--ink);border-radius:var(--r);padding:18px 18px 16px;box-shadow:var(--sh-sm)}
.neo-seo-grid h3{font-family:var(--head);font-size:17px;margin:0 0 8px}
.neo-seo-grid p{margin:0;font-weight:700;color:var(--text2);line-height:1.55;font-size:14px}
.neo-seo-grid a{color:var(--violet);text-decoration:underline}
.neo-faq-more{margin:18px 0 0;font-weight:800;color:var(--muted)}
.neo-faq-more a{color:var(--violet)}
.neo-seo-foot{padding-bottom:48px}
.neo-seo-lead p{margin:0 0 8px}
@media(max-width:860px){.neo-seo-grid{grid-template-columns:1fr}}

.sat-site.sat-variant-happincy-neo .sat-seo-lf,
.sat-site.sat-variant-happincy-neo .sat-seo-tunnels{
  color:var(--ink);
}
.sat-site.sat-variant-happincy-neo .sat-seo-lf{
  padding:28px 0 8px;
}
.sat-site.sat-variant-happincy-neo .sat-section__head{
  margin-bottom:14px;
}
.sat-site.sat-variant-happincy-neo .sat-eyebrow{
  display:inline-block;
  margin-bottom:6px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
}
.sat-site.sat-variant-happincy-neo .sat-seo-lf h2,
.sat-site.sat-variant-happincy-neo .sat-seo-tunnels h2{
  font-family:var(--head);
  margin:0 0 8px;
  font-size:clamp(22px,3vw,30px);
}
.sat-site.sat-variant-happincy-neo .sat-seo-lf__card{
  background:var(--card);
  border:var(--bw) solid var(--ink);
  border-radius:18px;
  box-shadow:var(--sh-sm);
  color:var(--ink);
}
.sat-site.sat-variant-happincy-neo .sat-seo-lf__card h3{
  font-family:var(--head);
  font-size:16px;
}
.sat-site.sat-variant-happincy-neo .sat-seo-lf__card p{
  color:var(--text2);
  font-weight:700;
}
.sat-site.sat-variant-happincy-neo .sat-btn{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 12px;
  border-radius:999px;
  border:var(--bw) solid var(--ink);
  background:var(--bg);
  color:var(--ink);
  font-weight:900;
  font-size:13px;
  text-decoration:none;
  width:fit-content;
}
.sat-site.sat-variant-happincy-neo .sat-btn:hover{background:var(--p-bg);color:var(--p-fg)}
.sat-site.sat-variant-happincy-neo .sat-seo-tunnels{
  margin:18px 0 8px;
  padding:18px;
  background:var(--card);
  border:var(--bw) solid var(--ink);
  border-radius:var(--r);
  box-shadow:var(--sh-sm);
}
.sat-site.sat-variant-happincy-neo .sat-seo-tunnels__intro{
  color:var(--text2);
  font-weight:700;
}
.sat-site.sat-variant-happincy-neo .sat-seo-tunnels__list a{
  border:var(--bw) solid var(--ink);
  background:var(--bg);
  color:var(--ink);
  font-weight:800;
}
.sat-site.sat-variant-happincy-neo .sat-seo-tunnels__list a:hover{
  background:var(--p-bg);
  color:var(--p-fg);
  border-color:var(--ink);
}
