/* RaidCloud — общая дизайн-система. Используется на всех страницах сайта. */
  :root{
    --bg:#F2F7FA;
    --bg-alt:#E8F1F5;
    --surface:#FFFFFF;
    --ink:#0D2436;
    --ink-soft:#51697A;
    --ink-faint:#8AA1AF;
    --accent:#12B7D6;
    --accent-deep:#0A7C94;
    --accent-soft:#E2F6FA;
    --line:#CFE0E7;
    --line-strong:#AFC9D3;

    --font-display:'Space Grotesk', sans-serif;
    --font-body:'IBM Plex Sans', sans-serif;
    --font-mono:'IBM Plex Mono', monospace;

    --section-pad: clamp(4rem, 8vw, 7rem);
    --container: 1180px;
  }

  *{box-sizing:border-box; margin:0; padding:0;}

  html{scroll-behavior:smooth;}

  body{
    background:
      radial-gradient(circle at 1px 1px, var(--line) 1px, transparent 0) 0 0/28px 28px,
      var(--bg);
    color:var(--ink);
    font-family:var(--font-body);
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }

  img,svg{display:block; max-width:100%;}
  a{color:inherit; text-decoration:none;}
  ul{list-style:none;}
  button{font:inherit; cursor:pointer; border:none; background:none;}

  .container{
    width:100%;
    max-width:var(--container);
    margin:0 auto;
    padding:0 1.5rem;
  }

  .eyebrow{
    font-family:var(--font-mono);
    font-size:.72rem;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--accent-deep);
    display:inline-flex;
    align-items:center;
    gap:.5rem;
  }
  .eyebrow::before{
    content:"";
    width:6px; height:6px;
    border-radius:50%;
    background:var(--accent);
    box-shadow:0 0 0 3px var(--accent-soft);
  }

  h1,h2,h3{
    font-family:var(--font-display);
    color:var(--ink);
    letter-spacing:-0.02em;
  }

  .h2{
    font-size:clamp(1.7rem, 3vw, 2.5rem);
    font-weight:600;
    line-height:1.15;
  }

  .lede{
    color:var(--ink-soft);
    font-size:1.05rem;
    max-width:46ch;
  }

  .btn{
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    padding:.85rem 1.5rem;
    border-radius:8px;
    font-weight:600;
    font-size:.95rem;
    transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
  }
  .btn:focus-visible{outline:2px solid var(--accent-deep); outline-offset:2px;}
  .btn--primary{
    background:var(--ink);
    color:#fff;
  }
  .btn--primary:hover{background:var(--accent-deep); transform:translateY(-1px);}
  .btn--ghost{
    background:transparent;
    color:var(--ink);
    border:1px solid var(--line-strong);
  }
  .btn--ghost:hover{border-color:var(--accent-deep); color:var(--accent-deep);}

  /* ---------- NAV ---------- */
  .nav{
    position:sticky; top:0; z-index:50;
    background:rgba(242,247,250,.82);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .nav .container{
    display:flex; align-items:center; justify-content:space-between;
    height:72px;
  }
  .logo{
    font-family:var(--font-display);
    font-weight:700;
    font-size:1.25rem;
    display:flex;
    align-items:baseline;
    gap:.15rem;
  }
  .logo .dot{color:var(--accent-deep); font-weight:600; font-size:.95rem;}
  .nav-links{
    display:flex; gap:2rem;
    font-size:.92rem;
    color:var(--ink-soft);
  }
  .nav-links a:hover{color:var(--accent-deep);}
  .nav .btn{padding:.65rem 1.2rem; font-size:.88rem;}

  @media (max-width:840px){
    .nav-links{display:none;}
  }

  /* ---------- HERO ---------- */
  .hero{
    padding:clamp(3.5rem,8vw,6rem) 0 var(--section-pad);
    position:relative;
    overflow:hidden;
  }
  .hero::before{
    content:"";
    position:absolute;
    top:-180px; right:-160px;
    width:520px; height:520px;
    background:radial-gradient(circle, var(--accent-soft) 0%, transparent 70%);
    pointer-events:none;
  }
  .hero .container{
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:3.5rem;
    align-items:center;
    position:relative;
  }
  @media (max-width:920px){
    .hero .container{grid-template-columns:1fr;}
  }

  .hero-copy{opacity:0; animation:rise .7s ease forwards;}
  .hero-copy .eyebrow{margin-bottom:1.1rem;}
  .hero-copy h1{
    font-size:clamp(2.3rem, 4.6vw, 3.6rem);
    line-height:1.08;
    font-weight:600;
    margin-bottom:1.2rem;
  }
  .hero-copy h1 em{
    font-style:normal;
    color:var(--accent-deep);
  }
  .hero-copy .lede{font-size:1.08rem; margin-bottom:2rem; max-width:50ch;}
  .hero-actions{display:flex; gap:1rem; flex-wrap:wrap; margin-bottom:1.4rem;}
  .hero-fineprint{
    font-family:var(--font-mono);
    font-size:.78rem;
    color:var(--ink-faint);
    display:flex; gap:1.5rem; flex-wrap:wrap;
  }

  @keyframes rise{
    from{opacity:0; transform:translateY(14px);}
    to{opacity:1; transform:translateY(0);}
  }

  /* ---------- DASHBOARD CARD (signature) ---------- */
  .console{
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:16px;
    box-shadow:0 24px 60px -28px rgba(13,36,54,.28);
    overflow:hidden;
    opacity:0; animation:rise .7s ease .15s forwards;
  }
  .console-bar{
    display:flex; align-items:center; justify-content:space-between;
    padding:.85rem 1.1rem;
    border-bottom:1px solid var(--line);
    background:var(--bg-alt);
  }
  .console-bar .path{
    font-family:var(--font-mono);
    font-size:.78rem;
    color:var(--ink-soft);
  }
  .console-bar .lamps{display:flex; gap:.4rem;}
  .console-bar .lamps span{width:8px; height:8px; border-radius:50%; background:var(--line-strong);}

  .console-body{padding:1.4rem 1.2rem 1.2rem;}

  .metric-row{
    display:flex; align-items:center; justify-content:space-between;
    padding:.55rem 0;
    border-bottom:1px dashed var(--line);
    font-family:var(--font-mono);
    font-size:.85rem;
  }
  .metric-row:last-of-type{border-bottom:none;}
  .metric-row .label{color:var(--ink-soft);}
  .metric-row .value{color:var(--ink); font-weight:500; display:flex; align-items:center; gap:.6rem;}
  .metric-row .value .live{
    width:6px; height:6px; border-radius:50%;
    background:var(--accent);
    box-shadow:0 0 0 3px var(--accent-soft);
  }

  .spark{display:flex; align-items:flex-end; gap:3px; height:22px; margin-left:.6rem;}
  .spark i{
    width:4px; background:var(--accent); border-radius:1px; opacity:.55;
    transition:height .6s ease;
  }
  .spark i:last-child{opacity:1;}

  .node-diagram{padding:.4rem 1.2rem 1.4rem;}
  .node-diagram .caption{
    font-family:var(--font-mono);
    font-size:.7rem;
    color:var(--ink-faint);
    text-transform:uppercase;
    letter-spacing:.08em;
    margin-bottom:.5rem;
  }

  @media (prefers-reduced-motion: reduce){
    .hero-copy,.console{animation:none; opacity:1;}
    .pulse-ring{animation:none !important;}
  }

  /* ---------- TRUST STRIP ---------- */
  .trust{
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    background:var(--surface);
  }
  .trust .container{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:0;
  }
  .trust-item{
    padding:1.6rem 1.2rem;
    text-align:center;
    border-left:1px solid var(--line);
  }
  .trust-item:first-child{border-left:none;}
  .trust-item .num{
    font-family:var(--font-mono);
    font-size:1.5rem;
    font-weight:500;
    color:var(--ink);
  }
  .trust-item .lbl{
    font-size:.82rem;
    color:var(--ink-soft);
    margin-top:.25rem;
  }
  @media (max-width:760px){
    .trust .container{grid-template-columns:repeat(2,1fr);}
    .trust-item:nth-child(3){border-left:none;}
  }

  /* ---------- SECTION GENERIC ---------- */
  .section{padding:var(--section-pad) 0;}
  .section--alt{background:var(--bg-alt);}
  .section-head{max-width:640px; margin-bottom:3rem;}
  .section-head .eyebrow{margin-bottom:.9rem;}
  .section-head .lede{margin-top:.9rem;}

  /* ---------- FEATURES ---------- */
  .grid-features{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1.25rem;
  }
  @media (max-width:920px){.grid-features{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:620px){.grid-features{grid-template-columns:1fr;}}

  .fcard{
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:14px;
    padding:1.6rem;
    transition:border-color .15s ease, transform .15s ease;
  }
  .fcard:hover{border-color:var(--accent); transform:translateY(-3px);}
  .fcard .icon{
    width:38px; height:38px;
    border-radius:9px;
    background:var(--accent-soft);
    display:flex; align-items:center; justify-content:center;
    color:var(--accent-deep);
    margin-bottom:1.1rem;
  }
  .fcard h3{font-size:1.05rem; font-weight:600; margin-bottom:.5rem;}
  .fcard p{color:var(--ink-soft); font-size:.92rem;}

  /* ---------- PRICING ---------- */
  .grid-pricing{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1.5rem;
    align-items:start;
  }
  @media (max-width:920px){.grid-pricing{grid-template-columns:1fr; max-width:420px; margin:0 auto;}}

  .pcard{
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:16px;
    padding:1.8rem 1.6rem 2rem;
    position:relative;
  }
  .pcard--feat{
    border-color:var(--accent);
    box-shadow:0 24px 50px -30px rgba(18,183,214,.45);
    transform:translateY(-10px);
  }
  .pcard .badge{
    position:absolute; top:-12px; right:1.4rem;
    background:var(--ink);
    color:#fff;
    font-family:var(--font-mono);
    font-size:.68rem;
    letter-spacing:.08em;
    padding:.3rem .65rem;
    border-radius:99px;
  }
  .pcard .tier{font-size:1.1rem; font-weight:600; margin-bottom:.3rem;}
  .pcard .tier-desc{color:var(--ink-soft); font-size:.85rem; margin-bottom:1.2rem;}
  .pcard .price{
    font-family:var(--font-mono);
    font-size:2.1rem;
    font-weight:500;
    color:var(--ink);
  }
  .pcard .price span{font-size:.95rem; color:var(--ink-soft); font-weight:400;}
  .pcard .specs{margin:1.4rem 0 1.6rem; border-top:1px solid var(--line); padding-top:1.2rem;}
  .pcard .specs li{
    display:flex; align-items:center; gap:.6rem;
    font-size:.9rem; color:var(--ink-soft);
    padding:.32rem 0;
  }
  .pcard .specs li svg{flex-shrink:0; color:var(--accent-deep);}
  .pcard .btn{width:100%; justify-content:center;}

  /* ---------- NETWORK / RAID ---------- */
  .network{
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:3rem;
    align-items:center;
  }
  @media (max-width:920px){.network{grid-template-columns:1fr;}}
  .network-copy .h2{margin-bottom:1rem;}
  .network-copy .lede{max-width:50ch; margin-bottom:1.5rem;}
  .network-points li{
    display:flex; gap:.7rem;
    padding:.6rem 0;
    border-top:1px dashed var(--line);
    font-size:.92rem;
    color:var(--ink-soft);
  }
  .network-points li:first-child{border-top:none;}
  .network-points b{color:var(--ink); font-weight:600;}

  .network-art{
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:18px;
    padding:1.8rem;
  }

  /* ---------- HOW IT WORKS ---------- */
  .steps{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:2.2rem;
    position:relative;
  }
  @media (max-width:820px){.steps{grid-template-columns:1fr; gap:1.8rem;}}
  .step{position:relative; padding-left:0;}
  .step .step-num{
    font-family:var(--font-mono);
    font-size:.78rem;
    color:var(--accent-deep);
    background:var(--accent-soft);
    width:32px; height:32px;
    border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    margin-bottom:1rem;
  }
  .step h3{font-size:1.05rem; margin-bottom:.5rem;}
  .step p{color:var(--ink-soft); font-size:.92rem;}

  /* ---------- CTA BAND ---------- */
  .cta-band{
    background:var(--ink);
    border-radius:22px;
    padding:clamp(2.5rem,6vw,4rem);
    text-align:center;
    color:#fff;
  }
  .cta-band-inner{max-width:760px; margin:0 auto;}
  .cta-band h2{color:#fff; font-size:clamp(1.6rem,3.4vw,2.3rem); margin-bottom:.8rem;}
  .cta-band p{color:#A9C2CF; margin-bottom:1.8rem; font-size:1rem;}
  .cta-band .btn--primary{background:var(--accent); color:var(--ink);}
  .cta-band .btn--primary:hover{background:#3FD0E8;}

  /* ---------- FOOTER ---------- */
  .footer{padding:4.5rem 0 2rem; background:var(--bg);}
  .footer-top{
    display:grid;
    grid-template-columns:1.3fr 1fr 1fr 1fr 1fr;
    gap:2.2rem;
    padding-bottom:3rem;
    border-bottom:1px solid var(--line);
  }
  @media (max-width:1040px){.footer-top{grid-template-columns:1fr 1fr 1fr;}}
  @media (max-width:760px){.footer-top{grid-template-columns:1fr 1fr; row-gap:2.2rem;}}
  .footer-brand .logo{margin-bottom:.8rem;}
  .footer-brand p{color:var(--ink-soft); font-size:.88rem; max-width:32ch;}
  .footer-col h4{
    font-size:.78rem;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:var(--ink-faint);
    margin-bottom:1rem;
    font-family:var(--font-mono);
    font-weight:500;
  }
  .footer-col li{margin-bottom:.6rem; font-size:.9rem; color:var(--ink-soft);}
  .footer-col a:hover{color:var(--accent-deep);}
  .footer-bottom{
    display:flex; justify-content:space-between; align-items:center;
    padding-top:1.6rem;
    font-size:.8rem;
    color:var(--ink-faint);
    font-family:var(--font-mono);
    flex-wrap:wrap; gap:.8rem;
  }

  /* ====================================================================
     РАСШИРЕНИЯ ДЛЯ ВНУТРЕННИХ СТРАНИЦ
     ==================================================================== */

  .nav-links a.active{color:var(--accent-deep); font-weight:500;}

  /* ---------- PAGE HERO (внутренние страницы) ---------- */
  .page-hero{
    padding:clamp(2.6rem,6vw,4rem) 0 clamp(2.2rem,5vw,3rem);
    border-bottom:1px solid var(--line);
  }
  .breadcrumb{
    font-family:var(--font-mono);
    font-size:.78rem;
    color:var(--ink-faint);
    margin-bottom:1.2rem;
    display:flex; gap:.5rem; align-items:center;
  }
  .breadcrumb a:hover{color:var(--accent-deep);}
  .page-hero h1{
    font-size:clamp(2rem,4vw,3rem);
    font-weight:600;
    line-height:1.12;
    margin-bottom:.9rem;
    max-width:18ch;
  }
  .page-hero .lede{font-size:1.05rem; max-width:56ch;}
  .page-hero-actions{display:flex; gap:1rem; margin-top:1.6rem; flex-wrap:wrap;}

  /* ---------- BADGE / TAG / PILL ---------- */
  .tag{
    display:inline-flex; align-items:center; gap:.4rem;
    font-family:var(--font-mono);
    font-size:.72rem;
    letter-spacing:.04em;
    padding:.3rem .65rem;
    border-radius:99px;
    background:var(--accent-soft);
    color:var(--accent-deep);
  }
  .tag--muted{background:var(--bg-alt); color:var(--ink-soft);}

  /* ---------- STATUS DOTS ---------- */
  .status-dot{width:9px; height:9px; border-radius:50%; flex-shrink:0;}
  .status-dot--ok{background:#1FB87A; box-shadow:0 0 0 3px rgba(31,184,122,.15);}
  .status-dot--warn{background:#E0A526; box-shadow:0 0 0 3px rgba(224,165,38,.15);}
  .status-dot--down{background:#E0563F; box-shadow:0 0 0 3px rgba(224,86,63,.15);}

  .status-banner{
    display:flex; align-items:center; gap:.8rem;
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:14px;
    padding:1.1rem 1.4rem;
    font-weight:500;
    margin-bottom:2.4rem;
  }
  .status-banner .status-dot{width:11px; height:11px;}

  .status-row{
    display:grid;
    grid-template-columns:1.4fr .8fr 1.4fr .8fr;
    align-items:center;
    gap:1rem;
    padding:1.1rem 1.4rem;
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:12px;
    margin-bottom:.85rem;
  }
  @media (max-width:760px){
    .status-row{grid-template-columns:1fr 1fr; row-gap:.6rem;}
  }
  .status-row .node-name{display:flex; align-items:center; gap:.6rem; font-weight:500;}
  .status-row .meta{font-family:var(--font-mono); font-size:.82rem; color:var(--ink-soft);}
  .uptime-bars{display:flex; gap:2px; align-items:flex-end;}
  .uptime-bars i{width:5px; height:18px; border-radius:1px; background:#1FB87A; opacity:.85;}
  .uptime-bars i.warn{background:#E0A526;}
  .uptime-bars i.down{background:#E0563F;}

  /* ---------- TIMELINE (incidents) ---------- */
  .timeline{border-left:2px solid var(--line); margin-left:6px;}
  .timeline-item{position:relative; padding:0 0 2rem 1.6rem;}
  .timeline-item::before{
    content:""; position:absolute; left:-7px; top:2px;
    width:12px; height:12px; border-radius:50%;
    background:var(--surface); border:2px solid var(--accent-deep);
  }
  .timeline-item .date{font-family:var(--font-mono); font-size:.78rem; color:var(--ink-faint); margin-bottom:.3rem;}
  .timeline-item h4{font-size:.98rem; font-weight:600; margin-bottom:.3rem;}
  .timeline-item p{color:var(--ink-soft); font-size:.9rem;}

  /* ---------- COMPARISON TABLE ---------- */
  .compare-wrap{overflow-x:auto; border:1px solid var(--line); border-radius:16px; background:var(--surface);}
  .compare{width:100%; border-collapse:collapse; min-width:720px;}
  .compare th,.compare td{
    padding:1rem 1.3rem;
    text-align:left;
    border-bottom:1px solid var(--line);
    font-size:.92rem;
  }
  .compare thead th{
    font-family:var(--font-mono);
    font-size:.78rem;
    text-transform:uppercase;
    letter-spacing:.06em;
    color:var(--ink-soft);
    background:var(--bg-alt);
  }
  .compare tbody th{color:var(--ink-soft); font-weight:400; white-space:nowrap;}
  .compare tbody tr:last-child td, .compare tbody tr:last-child th{border-bottom:none;}
  .compare td.yes{color:var(--accent-deep); font-weight:600;}
  .compare td.featured, .compare th.featured{background:var(--accent-soft);}

  /* ---------- ACCORDION / FAQ ---------- */
  .accordion-item{border-bottom:1px solid var(--line);}
  .accordion-item:first-child{border-top:1px solid var(--line);}
  .accordion-trigger{
    width:100%;
    display:flex; align-items:center; justify-content:space-between;
    padding:1.2rem 0;
    text-align:left;
    font-family:var(--font-display);
    font-weight:600;
    font-size:1rem;
    color:var(--ink);
  }
  .accordion-trigger .plus{
    font-family:var(--font-mono); color:var(--accent-deep);
    transition:transform .2s ease; flex-shrink:0; margin-left:1rem;
  }
  .accordion-item.open .accordion-trigger .plus{transform:rotate(45deg);}
  .accordion-panel{
    max-height:0; overflow:hidden;
    transition:max-height .25s ease;
  }
  .accordion-panel p{color:var(--ink-soft); font-size:.92rem; padding-bottom:1.3rem; max-width:62ch;}

  /* ---------- DOC / KB CARDS ---------- */
  .search-bar{
    display:flex; align-items:center; gap:.7rem;
    background:var(--surface);
    border:1px solid var(--line-strong);
    border-radius:12px;
    padding:.9rem 1.2rem;
    max-width:560px;
    color:var(--ink-faint);
    font-size:.92rem;
  }
  .doc-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem;}
  @media (max-width:920px){.doc-grid{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:620px){.doc-grid{grid-template-columns:1fr;}}
  .doc-card{
    background:var(--surface); border:1px solid var(--line); border-radius:14px;
    padding:1.5rem; transition:border-color .15s ease, transform .15s ease;
  }
  .doc-card:hover{border-color:var(--accent); transform:translateY(-3px);}
  .doc-card .icon{
    width:36px; height:36px; border-radius:9px;
    background:var(--accent-soft); color:var(--accent-deep);
    display:flex; align-items:center; justify-content:center; margin-bottom:1rem;
  }
  .doc-card h3{font-size:1rem; margin-bottom:.4rem;}
  .doc-card p{color:var(--ink-soft); font-size:.86rem; margin-bottom:.8rem;}
  .doc-card .count{font-family:var(--font-mono); font-size:.75rem; color:var(--ink-faint);}

  .article-row{
    display:flex; align-items:center; justify-content:space-between;
    padding:1.1rem 0; border-bottom:1px dashed var(--line);
    gap:1rem;
  }
  .article-row:last-child{border-bottom:none;}
  .article-row a{font-weight:500;}
  .article-row a:hover{color:var(--accent-deep);}
  .article-row .meta{font-family:var(--font-mono); font-size:.76rem; color:var(--ink-faint); white-space:nowrap;}

  /* ---------- BLOG ---------- */
  .post-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem;}
  @media (max-width:920px){.post-grid{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:620px){.post-grid{grid-template-columns:1fr;}}
  .post-card{
    background:var(--surface); border:1px solid var(--line); border-radius:16px;
    overflow:hidden; transition:transform .15s ease, border-color .15s ease;
  }
  .post-card:hover{transform:translateY(-3px); border-color:var(--accent);}
  .post-thumb{
    height:140px;
    background:
      radial-gradient(circle at 20% 20%, rgba(18,183,214,.25), transparent 60%),
      var(--ink);
    position:relative;
  }
  .post-thumb .tag{position:absolute; left:1rem; bottom:1rem;}
  .post-body{padding:1.4rem;}
  .post-body h3{font-size:1.02rem; margin:.6rem 0 .5rem; line-height:1.3;}
  .post-body p{color:var(--ink-soft); font-size:.88rem; margin-bottom:1rem;}
  .post-meta{font-family:var(--font-mono); font-size:.76rem; color:var(--ink-faint); display:flex; gap:1rem;}

  /* ---------- REGION / NETWORK CARDS ---------- */
  .region-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:1.25rem;}
  @media (max-width:760px){.region-grid{grid-template-columns:1fr;}}
  .region-card{
    background:var(--surface); border:1px solid var(--line); border-radius:16px;
    padding:1.6rem;
  }
  .region-card-top{display:flex; align-items:center; justify-content:space-between; margin-bottom:1rem;}
  .region-card h3{font-size:1.1rem;}
  .region-card .specs{display:grid; grid-template-columns:1fr 1fr; gap:.7rem; margin-top:1.1rem;}
  .region-card .specs div{font-size:.85rem; color:var(--ink-soft);}
  .region-card .specs b{display:block; color:var(--ink); font-family:var(--font-mono); font-size:1rem; font-weight:500;}

  /* ---------- DASHBOARD DEMO ---------- */
  .dash-banner{
    background:var(--accent-soft); color:var(--accent-deep);
    font-family:var(--font-mono); font-size:.8rem;
    text-align:center; padding:.6rem 1rem;
  }
  .dash-layout{
    display:grid; grid-template-columns:240px 1fr;
    min-height:calc(100vh - 72px - 34px);
  }
  @media (max-width:840px){.dash-layout{grid-template-columns:1fr;}}
  .dash-sidebar{
    border-right:1px solid var(--line);
    background:var(--surface);
    padding:1.6rem 1.2rem;
  }
  @media (max-width:840px){.dash-sidebar{border-right:none; border-bottom:1px solid var(--line); display:flex; gap:.4rem; overflow-x:auto; padding:1rem;}}
  .dash-sidebar .acc{
    display:flex; align-items:center; gap:.7rem;
    padding:.6rem .7rem; border-radius:10px;
    margin-bottom:1.4rem; background:var(--bg-alt);
    font-size:.85rem;
  }
  .dash-nav a{
    display:flex; align-items:center; gap:.7rem;
    padding:.65rem .8rem; border-radius:9px;
    font-size:.9rem; color:var(--ink-soft);
    margin-bottom:.2rem; white-space:nowrap;
  }
  .dash-nav a.active{background:var(--accent-soft); color:var(--accent-deep); font-weight:500;}
  .dash-nav a:hover{color:var(--ink);}
  .dash-main{padding:2rem clamp(1.2rem,3vw,2.4rem);}
  .dash-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:1.8rem; flex-wrap:wrap; gap:1rem;}
  .dash-stats{display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin-bottom:2rem;}
  @media (max-width:760px){.dash-stats{grid-template-columns:repeat(2,1fr);}}
  .stat-card{background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:1.2rem;}
  .stat-card .lbl{font-size:.78rem; color:var(--ink-soft); margin-bottom:.5rem;}
  .stat-card .val{font-family:var(--font-mono); font-size:1.5rem; font-weight:500;}
  .server-list-item{
    display:flex; align-items:center; gap:1rem;
    background:var(--surface); border:1px solid var(--line); border-radius:14px;
    padding:1.1rem 1.3rem; margin-bottom:.85rem; flex-wrap:wrap;
  }
  .server-list-item .info{flex:1; min-width:160px;}
  .server-list-item .info .name{font-weight:600; font-size:.96rem; margin-bottom:.2rem;}
  .server-list-item .info .sub{font-family:var(--font-mono); font-size:.78rem; color:var(--ink-faint);}
  .server-list-item .gauge-mini{font-family:var(--font-mono); font-size:.82rem; color:var(--ink-soft); min-width:90px;}

  /* ---------- FORMS / AUTH ---------- */
  .form-card{
    background:var(--surface); border:1px solid var(--line); border-radius:18px;
    padding:clamp(1.8rem,4vw,2.6rem); max-width:440px; margin:0 auto;
  }
  .field{margin-bottom:1.2rem;}
  .field label{display:block; font-size:.85rem; font-weight:500; margin-bottom:.45rem;}
  .field input{
    width:100%; padding:.75rem .9rem;
    border:1px solid var(--line-strong); border-radius:9px;
    font-family:var(--font-body); font-size:.94rem;
    background:var(--bg); color:var(--ink);
  }
  .field input:focus-visible{outline:2px solid var(--accent-deep); outline-offset:1px; border-color:var(--accent-deep);}
  .field-row{display:flex; align-items:center; justify-content:space-between; font-size:.85rem; margin-bottom:1.4rem;}
  .field-row a:hover{color:var(--accent-deep);}
  .tabs{display:flex; border:1px solid var(--line-strong); border-radius:10px; padding:3px; margin-bottom:1.8rem;}
  .tabs a{flex:1; text-align:center; padding:.6rem; border-radius:8px; font-size:.88rem; font-weight:500; color:var(--ink-soft);}
  .tabs a.active{background:var(--ink); color:#fff;}
  .auth-split{display:grid; grid-template-columns:1fr 1fr; min-height:calc(100vh - 72px);}
  @media (max-width:880px){.auth-split{grid-template-columns:1fr;}}
  .auth-art{
    background:var(--ink); color:#fff; padding:3rem; display:flex; flex-direction:column; justify-content:center;
    position:relative; overflow:hidden;
  }
  .auth-art::before{
    content:""; position:absolute; inset:0;
    background:radial-gradient(circle at 80% 20%, rgba(18,183,214,.25), transparent 55%);
  }
  .auth-art-inner{position:relative; max-width:420px;}
  .auth-art h2{color:#fff; font-size:1.7rem; margin-bottom:.9rem;}
  .auth-art p{color:#A9C2CF; font-size:.95rem;}
  .auth-form-side{display:flex; align-items:center; justify-content:center; padding:2.5rem 1.5rem;}

  /* ---------- LEGAL TEXT ---------- */
  .legal{max-width:760px;}
  .legal h2{font-size:1.3rem; margin:2.2rem 0 .8rem;}
  .legal h2:first-child{margin-top:0;}
  .legal p{color:var(--ink-soft); font-size:.95rem; margin-bottom:.9rem;}
  .legal ul{margin:0 0 .9rem 1.2rem; list-style:disc; color:var(--ink-soft); font-size:.95rem;}
  .legal li{margin-bottom:.4rem;}
  .legal .updated{font-family:var(--font-mono); font-size:.8rem; color:var(--ink-faint); margin-bottom:2.4rem;}

  /* ---------- AFFILIATE ---------- */
  .tier-table{display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem;}
  @media (max-width:760px){.tier-table{grid-template-columns:1fr;}}
  .tier-cell{background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:1.5rem; text-align:center;}
  .tier-cell .pct{font-family:var(--font-mono); font-size:2rem; color:var(--accent-deep); font-weight:500;}
  .tier-cell .req{color:var(--ink-soft); font-size:.85rem; margin-top:.4rem;}

  /* ---------- PRICING PAGE EXTRAS ---------- */
  .grid-pricing--4{grid-template-columns:repeat(4,1fr);}
  @media (max-width:1100px){.grid-pricing--4{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:560px){.grid-pricing--4{grid-template-columns:1fr;}}

  .billing-toggle{
    display:inline-flex; border:1px solid var(--line-strong); border-radius:99px;
    padding:4px; margin-bottom:2.4rem;
  }
  .billing-toggle button{
    padding:.55rem 1.2rem; border-radius:99px; font-size:.86rem; font-weight:500;
    color:var(--ink-soft);
  }
  .billing-toggle button.active{background:var(--ink); color:#fff;}
  .billing-toggle .save{color:var(--accent-deep); font-family:var(--font-mono); font-size:.74rem; margin-left:.3rem;}
