*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    background:#02050b;
    color:#fff;
    font-family:"Inter",sans-serif;
    overflow-x:hidden;
    padding-top:114px;
}
a{text-decoration:none;color:inherit}
.container{width:92%;max-width:1580px;margin:auto}

body::before{
    content:"";
    position:fixed;
    inset:0;
    background:
        radial-gradient(circle at 10% 12%,rgba(0,255,208,.13),transparent 35%),
        radial-gradient(circle at 88% 18%,rgba(0,168,255,.16),transparent 38%),
        radial-gradient(circle at 50% 100%,rgba(255,47,137,.08),transparent 44%);
    z-index:-4;
}
body::after{
    content:"";
    position:fixed;
    inset:0;
    background-image:
        linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);
    background-size:74px 74px;
    mask-image:linear-gradient(to bottom,rgba(0,0,0,.88),transparent 84%);
    z-index:-3;
}

/* HEADER */
.royal-header{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    z-index:9999;
    background:rgba(1,5,10,.78);
    backdrop-filter:blur(24px);
    border-bottom:1px solid rgba(255,255,255,.06);
}
.header-glow{
    position:absolute;
    top:-120px;
    left:8%;
    width:420px;
    height:220px;
    background:rgba(0,255,200,.12);
    filter:blur(90px);
    pointer-events:none;
}
.header-topbar{
    height:36px;
    background:rgba(7,15,24,.72);
    border-bottom:1px solid rgba(255,255,255,.045);
    position:relative;
    z-index:2;
}
.topbar-inner{
    height:36px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}
.topbar-left{
    display:flex;
    align-items:center;
    gap:9px;
    color:#aeb7c2;
    font-size:12px;
    font-weight:600;
}
.live-dot{
    width:9px;
    height:9px;
    border-radius:50%;
    background:#00ff88;
    box-shadow:0 0 14px #00ff88;
}
.topbar-left span:not(.live-dot){color:#4b5662}
.topbar-right{display:flex;align-items:center;gap:18px}
.topbar-right a{color:#8e99a5;font-size:12px;transition:.3s}
.topbar-right a:hover{color:#00ffd0}
.nav-inner{
    height:78px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
}
.royal-logo{
    display:flex;
    align-items:center;
    gap:14px;
    min-width:260px;
}
.logo-mark{
    width:48px;
    height:48px;
    border-radius:16px;
    background:linear-gradient(135deg,rgba(0,255,200,.22),rgba(0,168,255,.12));
    border:1px solid rgba(0,255,200,.30);
    display:flex;
    align-items:center;
    justify-content:center;
    color:#00ffd0;
    font-family:"Orbitron",sans-serif;
    font-weight:900;
    font-size:16px;
    box-shadow:0 0 25px rgba(0,255,200,.15);
}
.royal-logo strong{
    display:block;
    font-family:"Orbitron",sans-serif;
    color:#00ffd0;
    font-size:22px;
    letter-spacing:1px;
    line-height:1;
}
.royal-logo span{
    display:block;
    color:#89939f;
    font-size:11px;
    margin-top:6px;
    letter-spacing:1px;
    text-transform:uppercase;
}
.main-menu{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:24px;
}
.main-menu>a{
    color:#c9d0d8;
    font-size:14px;
    font-weight:700;
    transition:.3s;
    position:relative;
}
.main-menu>a:hover,.main-menu>a.active{color:#00ffd0}
.nav-actions{
    display:flex;
    align-items:center;
    gap:14px;
    min-width:240px;
    justify-content:flex-end;
}
.login-link{color:#9ba5b0;font-size:14px;font-weight:700}
.client-panel-btn{
    padding:14px 24px;
    border-radius:15px;
    background:linear-gradient(90deg,#00ffd0,#00a8ff);
    color:black;
    font-size:14px;
    font-weight:900;
    box-shadow:0 0 30px rgba(0,255,200,.25);
}

/* MOBILE HEADER */
.mobile-menu-btn{
    display:none;
    width:48px;
    height:48px;
    border:1px solid rgba(0,255,208,.22);
    border-radius:16px;
    background:rgba(0,255,208,.07);
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:6px;
    cursor:pointer;
    box-shadow:0 0 24px rgba(0,255,208,.10);
}
.mobile-menu-btn span{
    width:22px;
    height:2px;
    border-radius:99px;
    background:#00ffd0;
    box-shadow:0 0 12px rgba(0,255,208,.65);
    transition:.3s;
}
.mobile-menu-btn.is-open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.mobile-menu-btn.is-open span:nth-child(2){opacity:0}
.mobile-menu-btn.is-open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.mobile-menu-overlay{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.55);
    backdrop-filter:blur(8px);
    z-index:9998;
    opacity:0;
    visibility:hidden;
    transition:.3s;
}
.mobile-menu-overlay.is-open{opacity:1;visibility:visible}
.mobile-drawer{
    position:fixed;
    top:0;
    right:0;
    width:min(410px,92vw);
    height:100vh;
    z-index:9999;
    padding:22px;
    background:
        radial-gradient(circle at 80% 0%,rgba(0,255,208,.14),transparent 34%),
        radial-gradient(circle at 0% 45%,rgba(0,168,255,.10),transparent 35%),
        linear-gradient(180deg,rgba(7,16,26,.97),rgba(2,5,11,.98));
    border-left:1px solid rgba(0,255,208,.18);
    box-shadow:-35px 0 90px rgba(0,0,0,.55),0 0 70px rgba(0,255,208,.10);
    transform:translateX(105%);
    transition:.42s cubic-bezier(.2,.8,.2,1);
    overflow-y:auto;
}
.mobile-drawer.is-open{transform:translateX(0)}
.mobile-drawer-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin-bottom:20px;
}
.mobile-logo{min-width:0}
.mobile-logo .logo-mark{width:44px;height:44px;border-radius:15px}
.mobile-logo strong{font-size:17px}
.mobile-logo span{font-size:10px}
.mobile-close{
    width:42px;
    height:42px;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.09);
    background:rgba(255,255,255,.04);
    color:#fff;
    font-size:18px;
    font-weight:900;
    cursor:pointer;
}
.mobile-status{
    display:flex;
    align-items:center;
    gap:10px;
    padding:13px 15px;
    border-radius:18px;
    background:rgba(0,255,136,.07);
    border:1px solid rgba(0,255,136,.14);
    color:#d5ffe8;
    font-size:13px;
    font-weight:800;
    margin-bottom:18px;
}
.mobile-status span{
    width:10px;
    height:10px;
    border-radius:50%;
    background:#00ff88;
    box-shadow:0 0 14px #00ff88;
}
.mobile-links{display:grid;gap:10px}
.mobile-link{
    position:relative;
    overflow:hidden;
    display:block;
    padding:16px 17px;
    border-radius:19px;
    background:rgba(255,255,255,.035);
    border:1px solid rgba(255,255,255,.07);
    transition:.25s;
}
.mobile-link::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(0,255,208,.10),transparent 58%);
    opacity:0;
    transition:.25s;
}
.mobile-link b,.mobile-link small{position:relative;z-index:2;display:block}
.mobile-link b{
    font-family:"Orbitron",sans-serif;
    color:#fff;
    font-size:14px;
    margin-bottom:5px;
}
.mobile-link small{color:#94a0ad;font-size:12px;line-height:1.4}
.mobile-link:hover,.mobile-link.active{
    border-color:rgba(0,255,208,.38);
    transform:translateX(-4px);
    box-shadow:0 0 30px rgba(0,255,208,.08);
}
.mobile-link:hover::before,.mobile-link.active::before{opacity:1}
.mobile-link.active b{color:#00ffd0}
.mobile-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    margin-top:18px;
    padding-bottom:24px;
}
.mobile-primary,.mobile-secondary{
    height:52px;
    border-radius:16px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:950;
}
.mobile-primary{
    background:linear-gradient(90deg,#00ffd0,#00a8ff);
    color:#00110f;
    box-shadow:0 0 30px rgba(0,255,208,.24);
}
.mobile-secondary{
    border:1px solid rgba(255,255,255,.10);
    color:#fff;
    background:rgba(255,255,255,.035);
}

/* HERO */
.hero{
    position:relative;
    min-height:96vh;
    display:flex;
    align-items:center;
    overflow:hidden;
}
.hero::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(90deg,rgba(2,5,11,.98),rgba(2,5,11,.72),rgba(2,5,11,.96)),
        url("https://images.unsplash.com/photo-1558494949-ef010cbdcc31?q=80&w=2200&auto=format&fit=crop");
    background-size:cover;
    background-position:center;
    z-index:-4;
}
.hero::after{
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 70% 30%,rgba(0,255,208,.22),transparent 34%),
        radial-gradient(circle at 18% 78%,rgba(0,168,255,.17),transparent 38%),
        linear-gradient(90deg,rgba(0,0,0,.20),transparent 45%,rgba(0,0,0,.35));
    z-index:-3;
}
.hero-lines{
    position:absolute;
    inset:0;
    background-image:
        linear-gradient(rgba(255,255,255,.034) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.034) 1px,transparent 1px);
    background-size:78px 78px;
    mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),transparent 82%);
    z-index:-2;
}
.hero-grid{
    display:grid;
    grid-template-columns:1.02fr .98fr;
    gap:74px;
    align-items:center;
    padding:105px 0 95px;
}
.badge{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:12px 22px;
    border-radius:999px;
    background:rgba(0,255,200,.08);
    border:1px solid rgba(0,255,200,.18);
    color:#00ffd0;
    font-size:12px;
    font-weight:900;
    letter-spacing:1px;
    margin-bottom:30px;
    box-shadow:inset 0 0 22px rgba(0,255,200,.035);
    text-transform:uppercase;
}
.badge::before{
    content:"";
    width:8px;
    height:8px;
    border-radius:50%;
    background:#00ff88;
    box-shadow:0 0 14px #00ff88;
}
.hero h1{
    font-family:"Orbitron",sans-serif;
    font-size:82px;
    line-height:.98;
    font-weight:900;
    letter-spacing:-2px;
    margin-bottom:30px;
}
.hero h1 span{
    color:#00ffd0;
    text-shadow:0 0 38px rgba(0,255,200,.55);
}
.hero p{
    max-width:860px;
    color:#c7ced6;
    font-size:18px;
    line-height:1.9;
    margin-bottom:38px;
}
.hero-buttons{
    display:flex;
    gap:18px;
    flex-wrap:wrap;
    margin-bottom:42px;
}
.btn-main,.btn-outline{
    padding:18px 38px;
    border-radius:16px;
    font-weight:900;
    font-size:15px;
    transition:.3s;
}
.btn-main{
    background:linear-gradient(90deg,#00ffd0,#00a8ff);
    color:#000;
    box-shadow:0 0 35px rgba(0,255,200,.30);
}
.btn-main:hover,.btn-outline:hover{transform:translateY(-4px)}
.btn-outline{
    border:1px solid rgba(255,255,255,.14);
    color:#fff;
    background:rgba(255,255,255,.03);
    backdrop-filter:blur(12px);
}
.hero-metrics{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px;
}
.metric{
    position:relative;
    overflow:hidden;
    padding:22px;
    border-radius:20px;
    background:rgba(8,14,24,.84);
    border:1px solid rgba(255,255,255,.07);
    backdrop-filter:blur(14px);
}
.metric h3{
    color:#00ffd0;
    font-family:"Orbitron",sans-serif;
    font-size:23px;
    margin-bottom:8px;
}
.metric p{
    margin:0;
    color:#aeb7c2;
    font-size:12px;
    line-height:1.5;
}

/* DATACENTER VISUAL */
.dc-control{
    position:relative;
    min-height:700px;
}
.dc-panel{
    position:absolute;
    top:0;
    right:0;
    width:610px;
    min-height:570px;
    padding:34px;
    border-radius:42px;
    background:
        linear-gradient(145deg,rgba(4,10,18,.96),rgba(2,5,11,.97)),
        radial-gradient(circle at 50% 0%,rgba(0,255,200,.20),transparent 42%);
    border:1px solid rgba(0,255,200,.18);
    box-shadow:0 45px 130px rgba(0,0,0,.55),0 0 90px rgba(0,255,200,.16);
    backdrop-filter:blur(18px);
    overflow:hidden;
}
.dc-panel::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:
        linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
    background-size:55px 55px;
    opacity:.16;
    pointer-events:none;
}
.dc-head{
    position:relative;
    z-index:2;
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    margin-bottom:34px;
}
.dc-head small{
    color:#00ffd0;
    font-size:12px;
    font-weight:900;
    letter-spacing:1px;
}
.dc-head h3{
    font-family:"Orbitron",sans-serif;
    font-size:30px;
    margin-top:8px;
}
.dc-status{
    color:#00ff88;
    font-size:12px;
    font-weight:900;
    padding:9px 14px;
    border-radius:999px;
    background:rgba(0,255,136,.08);
    border:1px solid rgba(0,255,136,.16);
}
.rack-stage{
    position:relative;
    z-index:2;
    height:310px;
    display:flex;
    align-items:center;
    justify-content:center;
}
.rack-orbit{
    position:absolute;
    width:340px;
    height:340px;
    border-radius:50%;
    border:1px dashed rgba(0,255,200,.28);
    animation:spin 24s linear infinite;
}
.rack-core{
    position:relative;
    width:245px;
    transform:perspective(900px) rotateY(-12deg) rotateX(5deg);
    display:grid;
    gap:13px;
}
.rack-unit{
    height:52px;
    border-radius:17px;
    background:
        linear-gradient(90deg,rgba(0,255,208,.18),rgba(0,168,255,.08)),
        #06101a;
    border:1px solid rgba(0,255,208,.25);
    box-shadow:0 0 36px rgba(0,255,208,.10);
    position:relative;
}
.rack-unit::before{
    content:"";
    position:absolute;
    left:18px;
    top:50%;
    width:10px;
    height:10px;
    border-radius:50%;
    background:#00ff88;
    box-shadow:0 0 14px #00ff88;
    transform:translateY(-50%);
}
.rack-unit::after{
    content:"";
    position:absolute;
    right:18px;
    top:50%;
    width:110px;
    height:7px;
    border-radius:999px;
    background:linear-gradient(90deg,#00ffd0,rgba(0,168,255,.25));
    transform:translateY(-50%);
}
.dc-stats{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:16px;
    margin-top:34px;
}
.dc-stats div{
    background:#0a111b;
    border:1px solid rgba(255,255,255,.06);
    border-radius:18px;
    padding:20px;
}
.dc-stats small{
    display:block;
    color:#8e98a3;
    font-size:11px;
    margin-bottom:8px;
}
.dc-stats strong{
    display:block;
    font-family:"Orbitron",sans-serif;
    color:#00ffd0;
    font-size:19px;
}
.pop-card{
    position:absolute;
    left:0;
    bottom:24px;
    width:405px;
    padding:22px;
    border-radius:30px;
    background:rgba(6,12,22,.88);
    border:1px solid rgba(0,255,200,.16);
    backdrop-filter:blur(18px);
    box-shadow:0 30px 90px rgba(0,0,0,.42),0 0 55px rgba(0,255,200,.11);
}
.pop-card strong{
    display:block;
    font-family:"Orbitron",sans-serif;
    color:#00ffd0;
    font-size:19px;
    margin-bottom:8px;
}
.pop-card p{
    color:#aeb7c2;
    font-size:13px;
    line-height:1.7;
    margin:0;
}

/* SECTIONS */
.section{padding:118px 0}
.section-header{text-align:center;margin-bottom:68px}
.section-title{
    font-family:"Orbitron",sans-serif;
    font-size:58px;
    line-height:1.1;
    margin-bottom:20px;
}
.section-title span{color:#00ffd0}
.section-sub{
    max-width:940px;
    margin:auto;
    color:#b8b8b8;
    font-size:17px;
    line-height:1.9;
}

/* VERTICAL PRODUCT CARDS */
.colo-plans-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
    perspective:1400px;
}
.colo-plan-card{
    position:relative;
    overflow:hidden;
    min-height:680px;
    padding:32px;
    border-radius:36px;
    background:
        linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.018)),
        radial-gradient(circle at 12% 0%,rgba(0,255,208,.18),transparent 36%),
        radial-gradient(circle at 92% 14%,rgba(0,168,255,.14),transparent 38%),
        #07101a;
    border:1px solid rgba(255,255,255,.08);
    box-shadow:0 28px 90px rgba(0,0,0,.40),inset 0 0 0 1px rgba(255,255,255,.025);
    transition:.42s cubic-bezier(.2,.8,.2,1);
    transform-style:preserve-3d;
    isolation:isolate;
}
.colo-plan-card::before{
    content:"";
    position:absolute;
    inset:-2px;
    border-radius:38px;
    padding:1px;
    background:linear-gradient(135deg,rgba(0,255,208,.75),rgba(0,168,255,.20),rgba(255,47,137,.25),rgba(0,255,208,.50));
    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;
    mask-composite:exclude;
    opacity:.22;
    transition:.42s;
    pointer-events:none;
    z-index:-1;
}
.colo-plan-card::after{
    content:"";
    position:absolute;
    top:-120%;
    left:-38%;
    width:42%;
    height:260%;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent);
    transform:rotate(22deg);
    opacity:0;
    transition:.75s;
    pointer-events:none;
}
.colo-plan-card:hover{
    transform:translateY(-12px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));
    border-color:rgba(0,255,208,.36);
    box-shadow:0 42px 120px rgba(0,0,0,.54),0 0 60px rgba(0,255,208,.12),inset 0 0 0 1px rgba(255,255,255,.04);
}
.colo-plan-card:hover::before{opacity:.72}
.colo-plan-card:hover::after{left:115%;opacity:1}
.colo-plan-card.featured{
    border-color:rgba(0,255,208,.38);
    background:
        linear-gradient(180deg,rgba(0,255,208,.085),rgba(255,255,255,.018)),
        radial-gradient(circle at 12% 0%,rgba(0,255,208,.30),transparent 35%),
        radial-gradient(circle at 92% 14%,rgba(0,168,255,.22),transparent 38%),
        #07101a;
}
.featured-label{
    position:absolute;
    top:-1px;
    right:30px;
    z-index:4;
    padding:10px 18px;
    border-radius:0 0 18px 18px;
    background:linear-gradient(90deg,#00ffd0,#00a8ff);
    color:#00110f;
    font-size:12px;
    font-weight:950;
    letter-spacing:.4px;
    box-shadow:0 0 30px rgba(0,255,208,.28),inset 0 -1px 0 rgba(255,255,255,.28);
}
.plan-head{
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-bottom:28px;
    transform:translateZ(22px);
}
.plan-icon{
    width:74px;
    height:74px;
    border-radius:24px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:32px;
    background:linear-gradient(135deg,rgba(0,255,208,.18),rgba(0,168,255,.10));
    border:1px solid rgba(0,255,208,.28);
    box-shadow:0 0 36px rgba(0,255,208,.14),inset 0 0 24px rgba(0,255,208,.045);
}
.plan-tag{
    padding:10px 14px;
    border-radius:999px;
    background:rgba(0,255,208,.10);
    border:1px solid rgba(0,255,208,.18);
    color:#00ffd0;
    font-size:11px;
    font-weight:950;
    text-transform:uppercase;
    white-space:nowrap;
}
.colo-plan-card h3{
    position:relative;
    z-index:2;
    font-family:"Orbitron",sans-serif;
    font-size:30px;
    line-height:1.08;
    margin-bottom:14px;
    transform:translateZ(18px);
}
.plan-desc{
    position:relative;
    z-index:2;
    color:#aeb7c2;
    font-size:14px;
    line-height:1.75;
    min-height:76px;
    margin-bottom:22px;
    transform:translateZ(14px);
}
.plan-price{
    position:relative;
    z-index:2;
    font-family:"Orbitron",sans-serif;
    color:#00ffd0;
    font-size:50px;
    font-weight:900;
    margin-bottom:24px;
    text-shadow:0 0 26px rgba(0,255,208,.42);
    transform:translateZ(22px);
}
.plan-price small{
    font-family:"Inter",sans-serif;
    font-size:14px;
    font-weight:700;
    color:#8d98a5;
}
.plan-specs{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    margin-bottom:24px;
    transform:translateZ(18px);
}
.plan-specs div{
    padding:15px;
    border-radius:18px;
    background:#0a131d;
    border:1px solid rgba(255,255,255,.06);
}
.plan-specs strong{
    display:block;
    color:#fff;
    font-size:15px;
    font-weight:950;
    margin-bottom:6px;
}
.plan-specs span{
    display:block;
    color:#8b97a4;
    font-size:11px;
    font-weight:800;
    text-transform:uppercase;
}
.colo-plan-card ul{
    position:relative;
    z-index:2;
    list-style:none;
    display:grid;
    gap:11px;
    margin-bottom:28px;
    transform:translateZ(12px);
}
.colo-plan-card li{
    color:#d6dde5;
    font-size:13px;
    line-height:1.5;
}
.colo-plan-card li::before{
    content:"✓";
    color:#00ffd0;
    font-weight:900;
    margin-right:9px;
}
.plan-btn{
    position:relative;
    z-index:2;
    height:58px;
    border-radius:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(90deg,#00ffd0,#00a8ff);
    color:#00110f;
    font-size:15px;
    font-weight:950;
    box-shadow:0 0 32px rgba(0,255,208,.23);
    transition:.3s;
    transform:translateZ(26px);
    margin-top:auto;
}
.plan-btn:hover{
    transform:translateY(-3px) scale(1.02) translateZ(26px);
    box-shadow:0 0 48px rgba(0,255,208,.36);
}

/* SPEEDTEST */
.speedtest-section{
    padding-top:0;
}
.speedtest-box{
    display:grid;
    grid-template-columns:.95fr 1.05fr;
    gap:34px;
    align-items:center;
    padding:44px;
    border-radius:42px;
    background:
        radial-gradient(circle at 16% 0%,rgba(0,255,208,.14),transparent 34%),
        radial-gradient(circle at 92% 25%,rgba(0,168,255,.12),transparent 36%),
        #050b13;
    border:1px solid rgba(0,255,208,.12);
    overflow:hidden;
}
.speedtest-content h2{
    font-family:"Orbitron",sans-serif;
    font-size:50px;
    line-height:1.1;
    margin-bottom:18px;
}
.speedtest-content h2 span{color:#00ffd0}
.speedtest-content p{
    color:#bfc6cf;
    font-size:16px;
    line-height:1.9;
    margin-bottom:26px;
}
.speedtest-tags{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}
.speedtest-tags span{
    padding:11px 14px;
    border-radius:999px;
    background:rgba(0,255,208,.08);
    border:1px solid rgba(0,255,208,.14);
    color:#dffff8;
    font-size:12px;
    font-weight:900;
}
.speedtest-frame{
    position:relative;
    overflow:hidden;
    border-radius:30px;
    border:1px solid rgba(0,255,208,.18);
    background:#07101a;
    box-shadow:0 35px 100px rgba(0,0,0,.45),0 0 55px rgba(0,255,208,.10);
}
.speedtest-frame::before{
    content:"SPEEDTEST";
    position:absolute;
    top:16px;
    left:18px;
    z-index:2;
    padding:9px 13px;
    border-radius:999px;
    background:rgba(0,0,0,.55);
    border:1px solid rgba(0,255,208,.24);
    color:#00ffd0;
    font-family:"Orbitron",sans-serif;
    font-size:11px;
    font-weight:900;
    letter-spacing:1px;
}
.speedtest-frame img{
    display:block;
    width:100%;
    height:auto;
    min-height:320px;
    object-fit:cover;
}

/* NETWORK */
.network-box{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:34px;
    align-items:stretch;
}
.map-card{
    position:relative;
    overflow:hidden;
    min-height:520px;
    border-radius:42px;
    padding:54px;
    background:
        radial-gradient(circle at 22% 20%,rgba(0,255,208,.16),transparent 35%),
        radial-gradient(circle at 90% 30%,rgba(0,168,255,.14),transparent 36%),
        #050b13;
    border:1px solid rgba(0,255,208,.12);
}
.map-card h2{
    font-family:"Orbitron",sans-serif;
    font-size:52px;
    line-height:1.1;
    margin-bottom:22px;
}
.map-card h2 span{color:#00ffd0}
.map-card p{
    color:#bfc6cf;
    font-size:16px;
    line-height:1.9;
}
.route-line{
    margin:38px 0;
    display:grid;
    grid-template-columns:1fr auto 1fr;
    gap:18px;
    align-items:center;
}
.route-point{
    padding:22px;
    border-radius:22px;
    background:rgba(255,255,255,.035);
    border:1px solid rgba(255,255,255,.065);
}
.route-point strong{
    display:block;
    color:#00ffd0;
    font-family:"Orbitron",sans-serif;
    font-size:19px;
    margin-bottom:8px;
}
.route-point span{
    color:#aeb7c2;
    font-size:13px;
}
.route-arrow{
    color:#00ffd0;
    font-family:"Orbitron",sans-serif;
    font-size:24px;
    text-shadow:0 0 18px rgba(0,255,208,.55);
}
.peering-grid{
    display:grid;
    gap:18px;
}
.peer-card{
    padding:30px;
    border-radius:28px;
    background:#091018;
    border:1px solid rgba(255,255,255,.06);
    transition:.35s;
}
.peer-card:hover{
    transform:translateY(-8px);
    border-color:#00ffd0;
    box-shadow:0 0 35px rgba(0,255,200,.08);
}
.peer-card b{
    display:flex;
    width:58px;
    height:58px;
    border-radius:18px;
    background:rgba(0,255,208,.08);
    border:1px solid rgba(0,255,208,.18);
    align-items:center;
    justify-content:center;
    font-size:27px;
    margin-bottom:18px;
}
.peer-card h3{
    font-family:"Orbitron",sans-serif;
    font-size:20px;
    margin-bottom:12px;
}
.peer-card p{
    color:#b8b8b8;
    font-size:13px;
    line-height:1.8;
}

/* PROCESS + CTA + FOOTER */
.process-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:22px;
}
.process-card{
    position:relative;
    overflow:hidden;
    padding:30px;
    border-radius:28px;
    background:#091018;
    border:1px solid rgba(255,255,255,.06);
}
.process-card span{
    display:block;
    color:#00ffd0;
    font-family:"Orbitron",sans-serif;
    font-size:32px;
    margin-bottom:18px;
}
.process-card h3{
    font-family:"Orbitron",sans-serif;
    font-size:19px;
    margin-bottom:12px;
}
.process-card p{
    color:#b8b8b8;
    font-size:13px;
    line-height:1.8;
}
.cta{
    padding:75px;
    border-radius:36px;
    background:radial-gradient(circle at 80% 50%,rgba(0,255,200,.10),transparent 40%),#091018;
    border:1px solid rgba(0,255,200,.14);
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:40px;
}
.cta h2{
    font-family:"Orbitron",sans-serif;
    font-size:50px;
    line-height:1.1;
    margin-bottom:18px;
}
.cta h2 span{color:#00ffd0}
.cta p{
    color:#b9b9b9;
    line-height:1.8;
    max-width:760px;
}
.royal-footer{
    position:relative;
    overflow:hidden;
    padding:90px 0 35px;
    background:
        radial-gradient(circle at 15% 20%,rgba(0,255,200,.08),transparent 30%),
        radial-gradient(circle at 85% 0%,rgba(0,120,255,.08),transparent 35%),
        #02050a;
    border-top:1px solid rgba(255,255,255,.06);
}
.footer-glow{
    position:absolute;
    width:500px;
    height:500px;
    border-radius:50%;
    background:rgba(0,255,200,.10);
    filter:blur(150px);
    left:-180px;
    bottom:-220px;
}
.footer-top{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:1.3fr .9fr;
    gap:50px;
    align-items:center;
    margin-bottom:70px;
    padding-bottom:55px;
    border-bottom:1px solid rgba(255,255,255,.06);
}
.footer-brand h3{
    font-family:"Orbitron",sans-serif;
    color:#00ffd0;
    font-size:30px;
    margin-bottom:20px;
}
.footer-brand p,.footer-newsletter p,.contact-line{
    color:#aeb6bf;
    font-size:14px;
    line-height:1.9;
}
.footer-status{
    margin-top:24px;
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:12px 18px;
    border-radius:999px;
    background:rgba(0,255,136,.07);
    border:1px solid rgba(0,255,136,.14);
    color:#d5ffe8;
    font-size:13px;
    font-weight:700;
}
.footer-status span{
    width:10px;
    height:10px;
    border-radius:50%;
    background:#00ff88;
    box-shadow:0 0 14px #00ff88;
}
.footer-newsletter{
    padding:34px;
    border-radius:28px;
    background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012));
    border:1px solid rgba(255,255,255,.06);
}
.footer-newsletter h4{
    font-family:"Orbitron",sans-serif;
    font-size:24px;
    margin-bottom:14px;
}
.footer-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}
.footer-actions a{
    padding:14px 22px;
    border-radius:14px;
    font-size:14px;
    font-weight:800;
}
.footer-actions a:first-child{background:linear-gradient(90deg,#00ffd0,#00a8ff);color:black}
.footer-actions a:last-child{border:1px solid rgba(255,255,255,.10);color:white}
.footer-links-grid{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:1fr 1fr 1fr 1fr 1.2fr;
    gap:40px;
    margin-bottom:60px;
}
.footer-links-grid h4{
    font-family:"Orbitron",sans-serif;
    color:#00ffd0;
    font-size:17px;
    margin-bottom:22px;
}
.footer-links-grid a{
    display:block;
    color:#a7afb8;
    font-size:14px;
    margin-bottom:14px;
    transition:.3s;
}
.footer-links-grid a:hover{color:#00ffd0;transform:translateX(4px)}
.payment-badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.payment-badges span{
    padding:8px 12px;
    border-radius:10px;
    background:#091018;
    border:1px solid rgba(255,255,255,.07);
    color:#d4d4d4;
    font-size:12px;
    font-weight:800;
}
.footer-bottom{
    position:relative;
    z-index:2;
    padding-top:28px;
    border-top:1px solid rgba(255,255,255,.06);
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    flex-wrap:wrap;
}
.footer-bottom p,.footer-bottom a{color:#7f8790;font-size:13px}
.footer-bottom div{display:flex;gap:20px;flex-wrap:wrap}
.footer-bottom a:hover{color:#00ffd0}

@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}

@media(max-width:1450px){
    .hero-grid,.speedtest-box,.network-box{grid-template-columns:1fr}
    .dc-control{height:730px}
    .colo-plans-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:1300px){
    .hero h1{font-size:56px}
    .hero-metrics,.dc-stats,.process-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:1200px){
    .desktop-menu{display:none}
    .mobile-menu-btn{display:flex}
    .nav-actions{min-width:auto}
    .login-link,.client-panel-btn{display:none}
    .royal-logo{min-width:auto}
    .royal-logo strong{font-size:18px}
    .royal-logo span{font-size:10px}
    .nav-inner{height:74px}
    .footer-top,.footer-links-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
    body{padding-top:74px}
    .header-topbar{display:none}
    .royal-header{background:rgba(1,5,10,.90)}
    .nav-inner{height:74px}
    .logo-mark{width:44px;height:44px;border-radius:15px}
    .royal-logo strong{font-size:16px}
    .royal-logo span{display:none}
    .mobile-drawer{width:92vw;padding:18px}
    .mobile-link{padding:15px}
    .mobile-link b{font-size:13px}
    .hero h1,.section-title,.speedtest-content h2,.map-card h2,.cta h2{font-size:38px}
    .hero p{font-size:16px}
    .hero-grid{padding:70px 0 70px;gap:40px}
    .hero-metrics,.dc-stats,.colo-plans-grid,.plan-specs,.process-grid,.footer-top,.footer-links-grid{grid-template-columns:1fr}
    .dc-control{height:auto;display:grid;gap:22px}
    .dc-panel,.pop-card{position:relative;width:100%;left:auto;right:auto;top:auto;bottom:auto}
    .dc-panel{min-height:auto;padding:26px}
    .rack-stage{height:260px}
    .rack-orbit{width:250px;height:250px}
    .rack-core{width:210px}
    .colo-plan-card{min-height:auto;padding:26px}
    .speedtest-box,.map-card,.cta{padding:35px}
    .route-line{grid-template-columns:1fr}
    .route-arrow{text-align:center;transform:rotate(90deg)}
    .cta{display:block}
    .cta .btn-main{display:inline-flex;margin-top:24px}
    .footer-bottom{flex-direction:column;align-items:flex-start}
}
/* FIX MOBILE MENU - ascuns implicit, vizibil doar cand are clasa is-open */
.mobile-menu-overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 9998 !important;
    background: rgba(0, 0, 0, .55) !important;
    backdrop-filter: blur(8px) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: .3s ease !important;
}

.mobile-menu-overlay.is-open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

.mobile-drawer {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    left: auto !important;
    width: min(410px, 92vw) !important;
    height: 100vh !important;
    z-index: 9999 !important;
    padding: 22px !important;
    overflow-y: auto !important;
    background: radial-gradient(circle at 80% 0%, rgba(0, 255, 208, .14), transparent 34%),
                radial-gradient(circle at 0% 45%, rgba(0, 168, 255, .10), transparent 35%),
                linear-gradient(180deg, rgba(7, 16, 26, .97), rgba(2, 5, 11, .98)) !important;
    border-left: 1px solid rgba(0, 255, 208, .18) !important;
    box-shadow: -35px 0 90px rgba(0, 0, 0, .55), 0 0 70px rgba(0, 255, 208, .10) !important;
    transform: translateX(110%) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: .42s cubic-bezier(.2, .8, .2, 1) !important;
}

.mobile-drawer.is-open {
    transform: translateX(0) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

.mobile-menu-btn {
    display: none !important;
}

@media (min-width: 1201px) {
    .mobile-drawer,
    .mobile-menu-overlay,
    .mobile-menu-btn {
        display: none !important;
    }
}

@media (max-width: 1200px) {
    .desktop-menu,
    .login-link,
    .client-panel-btn {
        display: none !important;
    }

    .mobile-menu-btn {
        display: flex !important;
    }
}