/*
Theme Name: OLDB POS Nube Trilingual Premium
Theme URI: https://oldb.mx/
Author: ChatGPT for OLDB
Author URI: https://oldb.mx/
Description: Landing page premium para OLDB Punto de Venta Nube con idiomas ES/EN/RU y contacto rápido por WhatsApp.
Version: 2.0.0
License: GPLv2 or later
Text Domain: oldb-pos-russian-inspired
*/

:root{
  --bg:#05070c;
  --panel:#0b111d;
  --panel2:#101a2b;
  --text:#eaf3ff;
  --muted:#b9c7dd;
  --line:rgba(255,255,255,.09);
  --green:#40d86b;
  --green2:#22b455;
  --cyan:#2ad4ff;
  --blue:#2748ff;
  --mex:#0fa35a;
  --danger:#ff4d4f;
  --shadow:0 18px 60px rgba(0,0,0,.35);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--text);
  background:
    radial-gradient(900px 500px at 90% -10%, rgba(42,212,255,.12), transparent 65%),
    radial-gradient(800px 450px at 10% 0%, rgba(64,216,107,.12), transparent 60%),
    radial-gradient(600px 400px at 50% 100%, rgba(39,72,255,.12), transparent 70%),
    var(--bg);
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}

body::before{
  content:"";
  position:fixed; inset:0;
  pointer-events:none;
  opacity:.14;
  background-image:
    linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size: 38px 38px;
  mask-image: radial-gradient(circle at center, black 35%, transparent 95%);
}

.container{width:min(1160px, 92vw); margin:0 auto; position:relative; z-index:1;}

.site-header{
  position:sticky; top:0; z-index:50;
  backdrop-filter: blur(12px);
  background: rgba(5,7,12,.72);
  border-bottom:1px solid var(--line);
}

.nav{
  display:flex; align-items:center; justify-content:space-between;
  gap:12px; padding:12px 0;
  flex-wrap:wrap;
}

.brand{
  display:flex; align-items:center; gap:12px;
  text-decoration:none; color:inherit;
}
.brand-logo{
  width:56px; height:56px; border-radius:14px;
  background: rgba(255,255,255,.95);
  border:1px solid rgba(255,255,255,.25);
  box-shadow: 0 8px 28px rgba(0,0,0,.28);
  object-fit:contain; padding:4px;
}
.brand-meta{display:flex; flex-direction:column; min-width:0}
.brand-name{font-weight:800; letter-spacing:.3px; font-size:1rem}
.brand-sub{font-size:.78rem; color:var(--muted)}

.nav-right{display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-left:auto}

.flag-strip{
  display:flex; align-items:center; gap:8px;
  background: rgba(255,255,255,.03);
  border:1px solid var(--line);
  border-radius:14px;
  padding:6px 8px;
}
.flag{display:flex; align-items:center; gap:6px; padding:6px 9px; border-radius:10px; border:1px solid transparent; color:var(--text); font-weight:700; font-size:.85rem;}
.flag .emoji{font-size:1rem; line-height:1}
.flag.mx{
  background: linear-gradient(135deg, rgba(15,163,90,.22), rgba(255,77,79,.17));
  border-color: rgba(255,255,255,.16);
  padding:8px 12px;
  transform: scale(1.04);
}
.flag.mx .emoji{font-size:1.15rem}
.flag:not(.mx){background: rgba(255,255,255,.02)}

.lang-switch{display:flex; gap:8px;}
.lang-btn{
  border:1px solid var(--line); color:var(--text);
  background: rgba(255,255,255,.03);
  border-radius:12px; padding:8px 10px; cursor:pointer;
  display:flex; align-items:center; gap:8px; font-weight:700;
  transition:.18s ease;
}
.lang-btn .emoji{font-size:1.05rem}
.lang-btn.active{
  background: linear-gradient(135deg, rgba(64,216,107,.18), rgba(42,212,255,.14));
  border-color: rgba(64,216,107,.55);
  box-shadow: 0 0 0 1px rgba(64,216,107,.15) inset;
}
.lang-btn:hover{transform:translateY(-1px)}

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  text-decoration:none; cursor:pointer;
  border-radius:12px; font-weight:800; letter-spacing:.2px;
  padding:11px 14px; border:1px solid transparent;
  transition:.2s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn-wa{
  background: linear-gradient(135deg, #2ed46c, #1fb05a);
  color:#04120a;
  box-shadow: 0 12px 30px rgba(46,212,108,.22);
}
.btn-ghost{
  background: rgba(255,255,255,.03);
  border-color: var(--line);
  color:var(--text);
}

.hero{
  padding:42px 0 22px;
}
.hero-grid{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap:18px;
}
.panel{
  background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015));
  border:1px solid var(--line);
  border-radius:22px;
  box-shadow: var(--shadow);
}
.hero-main{padding:20px}
.hero-badge{
  display:inline-flex; align-items:center; gap:8px;
  padding:6px 10px; border-radius:999px;
  background: rgba(42,212,255,.08);
  color:#bbf0ff; border:1px solid rgba(42,212,255,.25);
  font-weight:700; font-size:.82rem;
}
.hero h1{margin:12px 0 10px; font-size: clamp(1.65rem, 3.2vw, 2.65rem); line-height:1.12}
.hero p.lead{margin:0 0 14px; color:var(--muted); font-size:1rem}
.hero-cta{display:flex; gap:10px; flex-wrap:wrap; margin-top:12px}

.hero-points{
  margin-top:14px;
  display:grid; gap:8px;
}
.point{
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px; padding:10px 11px;
  background: rgba(255,255,255,.02);
  color:#d9e8ff; font-size:.9rem;
}

.hero-side{padding:16px}
.glow-box{
  border-radius:18px;
  border:1px solid rgba(64,216,107,.24);
  background:
    radial-gradient(300px 120px at 25% 0%, rgba(64,216,107,.14), transparent 65%),
    radial-gradient(280px 120px at 95% 8%, rgba(42,212,255,.12), transparent 70%),
    rgba(255,255,255,.02);
  padding:14px;
}
.stats-grid{
  display:grid; grid-template-columns: repeat(2,1fr); gap:10px; margin-top:10px;
}
.stat{
  border-radius:12px; border:1px solid rgba(255,255,255,.07);
  padding:10px; background: rgba(0,0,0,.18);
}
.stat .k{font-size:1.08rem; font-weight:800; color:#c8ffdb}
.stat .v{font-size:.82rem; color:var(--muted)}
.side-list{margin:10px 0 0; display:grid; gap:8px}
.side-item{
  padding:9px 10px; border-radius:11px;
  border:1px solid rgba(255,255,255,.07);
  background: rgba(255,255,255,.015);
  color:#e4efff; font-size:.88rem;
}

.section{padding:14px 0}
.section-title{margin:0 0 6px; font-size:1.26rem}
.section-sub{margin:0 0 12px; color:var(--muted)}
.cards{
  display:grid; grid-template-columns: repeat(3,1fr); gap:12px;
}
.card{
  padding:14px; border-radius:16px; border:1px solid var(--line);
  background: linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.01));
}
.card .icon{
  width:38px; height:38px; border-radius:10px; display:grid; place-items:center;
  margin-bottom:10px; font-size:1.1rem;
  background: rgba(64,216,107,.08);
  border:1px solid rgba(64,216,107,.22);
}
.card h3{margin:0 0 6px; font-size:1rem}
.card p{margin:0; color:var(--muted); font-size:.9rem}

.feature-wrap{
  display:grid; grid-template-columns: 1fr 1fr; gap:12px;
}
.feature-list{
  display:grid; gap:8px;
}
.feature-item{
  padding:10px 11px; border:1px solid var(--line); border-radius:12px;
  background: rgba(255,255,255,.015);
  color:#d7e6ff; font-size:.9rem;
}
.highlight{
  border:1px solid rgba(42,212,255,.2);
  border-radius:16px; padding:14px;
  background: radial-gradient(500px 180px at 0% 0%, rgba(42,212,255,.08), transparent 65%), rgba(255,255,255,.02);
}
.highlight h4{margin:0 0 8px}
.highlight p{margin:0; color:var(--muted)}

.plan-grid{
  display:grid; grid-template-columns: repeat(3,1fr); gap:12px;
}
.plan{
  position:relative;
  border-radius:16px; border:1px solid var(--line);
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
  padding:14px;
}
.plan.featured{
  border-color: rgba(64,216,107,.5);
  box-shadow: 0 0 0 1px rgba(64,216,107,.12) inset, 0 18px 45px rgba(0,0,0,.28);
}
.plan .tag{
  position:absolute; top:10px; right:10px;
  font-size:.72rem; font-weight:800;
  border-radius:999px; padding:4px 7px;
  background: rgba(64,216,107,.12); border:1px solid rgba(64,216,107,.28); color:#baf7cc;
}
.plan h4{margin:0 0 4px; font-size:1rem}
.plan .price{font-weight:900; color:#ccffd9; margin:0 0 8px; font-size:1.05rem}
.plan ul{margin:0; padding-left:18px; color:#d4e1f6; font-size:.88rem}
.plan li+li{margin-top:5px}

.cta-panel{
  display:grid; grid-template-columns: 1.15fr .85fr; gap:12px;
  align-items:stretch;
}
.cta-left, .cta-right{padding:14px}
.cta-left h3{margin:0 0 8px; font-size:1.15rem}
.cta-left p{margin:0 0 12px; color:var(--muted)}
.contact-lines{display:grid; gap:8px}
.contact-line{
  border:1px solid var(--line); background: rgba(255,255,255,.015);
  border-radius:12px; padding:9px 10px; color:#dbe8ff; font-size:.9rem;
}
.contact-line strong{color:#fff}
.cta-right{
  border-left:1px solid var(--line);
  background:
    radial-gradient(250px 140px at 50% 15%, rgba(64,216,107,.09), transparent 70%),
    rgba(255,255,255,.01);
  display:flex; flex-direction:column; justify-content:center;
}
.cta-right .btn{margin-top:8px}

.site-footer{
  padding:18px 0 80px;
  color:#aebdd5; font-size:.86rem;
}
.footer-box{
  border-top:1px solid var(--line);
  padding-top:14px;
  display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap;
}

.whatsapp-float{
  position:fixed;
  right:18px; bottom:18px;
  z-index:60;
  border-radius:999px;
  background: linear-gradient(135deg,#2ed46c,#1fb05a);
  color:#021109;
  border:1px solid rgba(255,255,255,.25);
  box-shadow: 0 14px 40px rgba(46,212,108,.35);
  text-decoration:none;
  display:flex; align-items:center; gap:10px;
  padding:12px 14px;
  font-weight:900;
}
.whatsapp-float .bubble{
  width:28px; height:28px; border-radius:50%;
  display:grid; place-items:center;
  background: rgba(255,255,255,.85);
}
.whatsapp-float:hover{transform:translateY(-1px)}

.anchor{position:relative; top:-80px; visibility:hidden;}

@media (max-width: 980px){
  .hero-grid,.cards,.feature-wrap,.plan-grid,.cta-panel{grid-template-columns:1fr}
  .cta-right{border-left:none; border-top:1px solid var(--line)}
  .nav-right{width:100%; justify-content:flex-start}
  .lang-switch{order:2}
  .flag-strip{order:1}
}

@media (max-width: 640px){
  .brand-name{font-size:.92rem}
  .brand-sub{font-size:.74rem}
  .lang-btn{padding:8px}
  .lang-btn .label{display:none}
  .whatsapp-float{right:12px; bottom:12px; padding:11px 12px}
  .whatsapp-float .txt{display:none}
}


/* ===== Mini escena satelital (novedad OLDB) ===== */
.orbit-strip{
  position:relative;
  border-top:1px solid rgba(255,255,255,.04);
  border-bottom:1px solid rgba(255,255,255,.07);
  height:76px;
  overflow:hidden;
  background:
    radial-gradient(220px 80px at 10% 10%, rgba(42,212,255,.08), transparent 70%),
    radial-gradient(260px 90px at 85% 20%, rgba(64,216,107,.08), transparent 75%),
    linear-gradient(180deg, rgba(255,255,255,.01), rgba(255,255,255,.015));
}
.orbit-strip::before{
  content:"";
  position:absolute; inset:0;
  background-image:
    radial-gradient(circle at 8% 28%, rgba(255,255,255,.35) 1px, transparent 2px),
    radial-gradient(circle at 24% 68%, rgba(255,255,255,.22) 1px, transparent 2px),
    radial-gradient(circle at 39% 18%, rgba(255,255,255,.28) 1px, transparent 2px),
    radial-gradient(circle at 58% 48%, rgba(255,255,255,.22) 1px, transparent 2px),
    radial-gradient(circle at 77% 24%, rgba(255,255,255,.26) 1px, transparent 2px),
    radial-gradient(circle at 91% 62%, rgba(255,255,255,.20) 1px, transparent 2px);
  opacity:.7;
  pointer-events:none;
}
.orbit-path{
  position:absolute; left:0; right:0; top:52px; height:1px;
  background: linear-gradient(90deg, transparent, rgba(42,212,255,.35), transparent);
}
.orbit-path::after{
  content:"";
  position:absolute; left:0; top:-6px; width:100%; height:12px;
  border-top:1px dashed rgba(255,255,255,.11);
  opacity:.5;
}
.orbit-unit{
  position:absolute;
  top:8px; left:-140px;
  width:130px; height:58px;
  animation: orbitTravel 18s linear infinite;
  will-change: transform;
}
.orbit-unit.slow{ animation-duration: 22s; animation-delay: -8s; opacity:.35; transform: scale(.9); }
@keyframes orbitTravel{
  0% { transform: translateX(-5vw); }
  100% { transform: translateX(110vw); }
}

.satellite-mini{
  position:absolute; left:28px; top:4px;
  width:52px; height:24px;
  animation: satFloat 2.8s ease-in-out infinite;
}
@keyframes satFloat{
  0%,100% { transform: translateY(0px); }
  50% { transform: translateY(3px); }
}
.satellite-mini .panel{
  position:absolute; top:5px; width:16px; height:12px;
  border-radius:3px;
  background: linear-gradient(135deg, rgba(42,212,255,.9), rgba(39,72,255,.6));
  border:1px solid rgba(255,255,255,.35);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08);
}
.satellite-mini .panel.left{ left:-2px; }
.satellite-mini .panel.right{ right:-2px; }
.satellite-mini .arm{
  position:absolute; top:10px; left:12px; width:28px; height:2px;
  background: rgba(255,255,255,.65);
}
.satellite-mini .core{
  position:absolute; left:15px; top:3px; width:22px; height:16px;
  border-radius:4px;
  background: linear-gradient(180deg, rgba(255,255,255,.85), rgba(180,197,222,.7));
  border:1px solid rgba(255,255,255,.45);
  box-shadow: 0 0 18px rgba(42,212,255,.15);
}
.satellite-mini .dish-wrap{
  position:absolute; left:32px; top:8px;
  width:16px; height:16px;
  animation: dishSpin 2.2s linear infinite;
  transform-origin: 4px 4px;
}
@keyframes dishSpin{ from{ transform: rotate(0deg);} to{ transform: rotate(360deg);} }
.satellite-mini .dish{
  position:absolute; left:0; top:0; width:11px; height:11px;
  border:2px solid rgba(64,216,107,.95);
  border-left-color: transparent;
  border-bottom-color: transparent;
  border-radius:50%;
  transform: rotate(25deg);
}
.satellite-mini .dish::after{
  content:"";
  position:absolute; left:7px; top:6px; width:7px; height:1.8px;
  background: rgba(64,216,107,.9);
  transform: rotate(-20deg);
  transform-origin: left center;
}

.signal-group{
  position:absolute; left:44px; top:20px;
  width:58px; height:34px;
  pointer-events:none;
}
.signal-beam{
  position:absolute; left:0; top:0;
  width:0; height:0;
  border-left:10px solid transparent;
  border-right:28px solid transparent;
  border-top:28px solid rgba(42,212,255,.18);
  filter: blur(.2px);
  transform: rotate(8deg);
  animation: beamPulse 1.6s ease-in-out infinite;
}
@keyframes beamPulse{
  0%,100%{ opacity:.35; border-top-color: rgba(42,212,255,.15); }
  50%{ opacity:.9; border-top-color: rgba(64,216,107,.28); }
}
.signal-rings{
  position:absolute; left:12px; top:8px; width:38px; height:22px;
}
.signal-rings span{
  position:absolute; border:1px solid rgba(42,212,255,.6); border-radius:50%;
  opacity:0; animation: ringPulse 1.7s ease-out infinite;
}
.signal-rings span:nth-child(1){ left:1px; top:1px; width:6px; height:6px; animation-delay:0s; }
.signal-rings span:nth-child(2){ left:-4px; top:-4px; width:16px; height:16px; animation-delay:.25s; }
.signal-rings span:nth-child(3){ left:-10px; top:-10px; width:28px; height:28px; animation-delay:.5s; }
@keyframes ringPulse{
  0%{ opacity:.0; transform: scale(.4); }
  25%{ opacity:.85; }
  100%{ opacity:0; transform: scale(1.15); }
}

.astronaut-mini{
  position:absolute; left:0; top:18px;
  width:26px; height:26px;
  animation: astroBob 3.2s ease-in-out infinite;
}
@keyframes astroBob{
  0%,100%{ transform: translateY(0) rotate(-6deg); }
  50%{ transform: translateY(-4px) rotate(5deg); }
}
.astronaut-mini .helmet{
  position:absolute; left:6px; top:0; width:14px; height:14px;
  border-radius:50%;
  background: radial-gradient(circle at 35% 35%, #fff, #d7e3f8 70%);
  border:1px solid rgba(255,255,255,.65);
  box-shadow: 0 0 10px rgba(255,255,255,.15);
}
.astronaut-mini .visor{
  position:absolute; left:9px; top:3px; width:8px; height:6px;
  border-radius:6px;
  background: linear-gradient(135deg, rgba(42,212,255,.55), rgba(39,72,255,.55));
  border:1px solid rgba(255,255,255,.35);
}
.astronaut-mini .body{
  position:absolute; left:7px; top:12px; width:12px; height:10px;
  border-radius:4px;
  background: rgba(246,249,255,.96);
  border:1px solid rgba(255,255,255,.55);
}
.astronaut-mini .limb{
  position:absolute; background: rgba(236,243,255,.95); border-radius:2px;
}
.astronaut-mini .arm1{ left:3px; top:14px; width:6px; height:2px; transform: rotate(-24deg); }
.astronaut-mini .arm2{ left:17px; top:15px; width:6px; height:2px; transform: rotate(22deg); }
.astronaut-mini .leg1{ left:9px; top:21px; width:2px; height:5px; }
.astronaut-mini .leg2{ left:15px; top:21px; width:2px; height:5px; }

.tether{
  position:absolute; left:20px; top:26px; width:24px; height:18px;
  border:1px dashed rgba(255,255,255,.3);
  border-left:none; border-top:none;
  border-radius:0 0 20px 0;
  opacity:.7;
}

.orbit-caption{
  position:absolute; right:12px; top:8px;
  font-size:.75rem; color:rgba(234,243,255,.75);
  background: rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
  border-radius:999px;
  padding:4px 8px;
  letter-spacing:.2px;
}
@media (max-width: 640px){
  .orbit-strip{height:68px}
  .orbit-caption{display:none}
  .orbit-unit{top:6px}
}


/* ===== Orbit strip v2: más visible, 3 satélites, flags ===== */
.orbit-strip{
  margin:10px auto 12px;
  width:min(1160px, 92vw);
  height:108px !important;
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  box-shadow: inset 0 0 0 1px rgba(42,212,255,.06), 0 10px 28px rgba(0,0,0,.22);
  background:
    radial-gradient(320px 130px at 12% 15%, rgba(42,212,255,.18), transparent 68%),
    radial-gradient(320px 140px at 88% 20%, rgba(64,216,107,.18), transparent 70%),
    radial-gradient(400px 150px at 50% 120%, rgba(39,72,255,.12), transparent 75%),
    linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01));
}
.orbit-path{ top:74px; background: linear-gradient(90deg, transparent, rgba(42,212,255,.55), rgba(64,216,107,.45), transparent); }
.orbit-path::after{ top:-10px; height:20px; border-top-color: rgba(255,255,255,.18); }
.orbit-caption{
  right:56px;
  top:8px;
  font-size:.76rem;
  color:#dff9ff;
  border-color: rgba(42,212,255,.28);
  background: linear-gradient(135deg, rgba(42,212,255,.10), rgba(64,216,107,.08));
  text-shadow: 0 0 10px rgba(42,212,255,.25);
}
.sound-toggle{
  position:absolute; top:8px; right:10px; z-index:3;
  width:38px; height:32px; border-radius:10px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.04);
  color:#eaf3ff; cursor:pointer; font-weight:800;
  display:grid; place-items:center;
  box-shadow: 0 6px 20px rgba(0,0,0,.18);
}
.sound-toggle.active{
  border-color: rgba(64,216,107,.45);
  box-shadow: 0 0 0 1px rgba(64,216,107,.18) inset, 0 0 18px rgba(64,216,107,.15);
}
.sound-toggle:hover{ transform: translateY(-1px); }

.orbit-unit{
  top:18px !important;
  width:210px !important;
  height:70px !important;
  filter: drop-shadow(0 6px 18px rgba(0,0,0,.35));
}
.orbit-unit.unit-a{ animation-duration: 16s; }
.orbit-unit.unit-b{ animation-duration: 20s; animation-delay: -6s; top:30px !important; opacity:.92; }
.orbit-unit.unit-c{ animation-duration: 24s; animation-delay: -12s; top:10px !important; opacity:.9; }
.orbit-unit.slow{ display:none !important; }

.flag-chip{
  position:absolute; left:2px; top:-8px; z-index:2;
  padding:3px 8px; border-radius:999px;
  border:1px solid rgba(255,255,255,.22);
  background: rgba(5,7,12,.65);
  backdrop-filter: blur(3px);
  font-size:.72rem; font-weight:800;
  color:#fff; display:flex; align-items:center; gap:4px;
}
.flag-chip.mx{ border-color: rgba(15,163,90,.45); box-shadow: 0 0 14px rgba(15,163,90,.12); }
.flag-chip.us{ border-color: rgba(42,212,255,.38); box-shadow: 0 0 14px rgba(42,212,255,.10); }
.flag-chip.ru{ border-color: rgba(255,255,255,.2); box-shadow: 0 0 14px rgba(39,72,255,.10); }

.astronaut-mini{
  width:34px; height:34px; top:20px; left:6px;
  filter: drop-shadow(0 0 10px rgba(255,255,255,.18));
}
.astronaut-mini .helmet{ left:8px; width:18px; height:18px; }
.astronaut-mini .visor{ left:11px; top:4px; width:10px; height:7px; }
.astronaut-mini .body{ left:9px; top:16px; width:14px; height:12px; }
.astronaut-mini .arm1{ left:4px; top:18px; width:7px; }
.astronaut-mini .arm2{ left:23px; top:18px; width:7px; }
.astronaut-mini .leg1{ left:11px; top:27px; height:6px; }
.astronaut-mini .leg2{ left:18px; top:27px; height:6px; }
.tether{ left:29px; top:36px; width:36px; height:22px; border-color: rgba(255,255,255,.45); }

.satellite-mini{
  left:66px !important; top:8px !important;
  width:86px !important; height:36px !important;
  animation-duration: 2.2s;
}
.satellite-mini .panel{
  top:8px !important; width:26px !important; height:18px !important; border-radius:4px;
  background: linear-gradient(135deg, rgba(42,212,255,1), rgba(39,72,255,.75));
  border-color: rgba(255,255,255,.58);
  box-shadow: 0 0 10px rgba(42,212,255,.25);
}
.satellite-mini .panel.left{ left:-2px !important; }
.satellite-mini .panel.right{ right:-2px !important; }
.satellite-mini .arm{
  top:16px !important; left:18px !important; width:48px !important; height:2px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 0 8px rgba(255,255,255,.15);
}
.satellite-mini .core{
  left:28px !important; top:6px !important; width:30px !important; height:22px !important;
  border-radius:5px; border-color: rgba(255,255,255,.65);
  box-shadow: 0 0 16px rgba(42,212,255,.25);
}
.satellite-mini .dish-wrap{ left:58px !important; top:11px !important; width:20px !important; height:20px !important; transform-origin: 5px 5px; }
.satellite-mini .dish{ width:14px !important; height:14px !important; border-width:2px; }
.satellite-mini .dish::after{ left:9px !important; top:8px !important; width:10px !important; height:2px !important; }
.satellite-mini .em-tag{
  position:absolute; left:32px; top:10px; z-index:2;
  font-size:8px; line-height:1; font-weight:900; letter-spacing:.5px;
  color:#072116; background: rgba(64,216,107,.95);
  border:1px solid rgba(255,255,255,.65);
  border-radius:4px; padding:2px 3px;
  text-shadow:none;
  box-shadow: 0 0 10px rgba(64,216,107,.25);
}

.signal-group{
  left:138px !important; top:16px !important;
  width:72px !important; height:52px !important;
}
.signal-beam{
  border-left:14px solid transparent !important;
  border-right:42px solid transparent !important;
  border-top:40px solid rgba(42,212,255,.28) !important;
  transform: rotate(5deg) !important;
  filter: blur(0px) drop-shadow(0 0 10px rgba(42,212,255,.25));
  animation-duration: 1.15s !important;
}
.signal-rings{ left:16px !important; top:8px !important; width:50px !important; height:32px !important; }
.signal-rings span{ border-width:1.6px !important; border-color: rgba(64,216,107,.9) !important; box-shadow: 0 0 12px rgba(64,216,107,.22); }
.signal-rings span:nth-child(1){ width:8px !important; height:8px !important; left:2px !important; top:2px !important; }
.signal-rings span:nth-child(2){ width:20px !important; height:20px !important; left:-5px !important; top:-5px !important; }
.signal-rings span:nth-child(3){ width:34px !important; height:34px !important; left:-12px !important; top:-12px !important; }

.mars-pulse{
  position:absolute; right:92px; top:12px;
  width:10px; height:10px; border-radius:50%;
  background: radial-gradient(circle at 35% 35%, #ffb08a, #ff5f46 70%, #b32311 100%);
  box-shadow: 0 0 12px rgba(255,95,70,.45);
  animation: marsPulse 1.4s ease-in-out infinite;
}
@keyframes marsPulse{
  0%,100%{ transform: scale(1); opacity:.75; }
  50%{ transform: scale(1.2); opacity:1; }
}
@media (max-width: 980px){
  .orbit-strip{ height:120px !important; }
  .orbit-unit.unit-b{ top:42px !important; }
  .orbit-unit.unit-c{ top:18px !important; }
}
@media (max-width: 640px){
  .orbit-strip{ width:calc(100vw - 16px); margin:8px auto 10px; height:98px !important; border-radius:14px; }
  .orbit-caption{ display:none; }
  .orbit-unit{ transform: scale(.82); transform-origin: left top; top:18px !important; }
  .orbit-unit.unit-b{ top:42px !important; }
  .orbit-unit.unit-c{ top:8px !important; }
  .sound-toggle{ width:34px; height:28px; }
}


/* ===== Cinematic orbital strip v3 (OLDB) ===== */
.orbit-strip{
  position:relative;
  margin-top:10px;
  height:192px;
  overflow:hidden;
  border-top:1px solid rgba(255,255,255,.05);
  border-bottom:1px solid rgba(255,255,255,.10);
  background:
    radial-gradient(900px 180px at 50% -20%, rgba(42,212,255,.09), transparent 70%),
    radial-gradient(700px 160px at 15% 0%, rgba(64,216,107,.07), transparent 70%),
    linear-gradient(180deg, rgba(3,7,14,.98), rgba(7,12,22,.95));
  box-shadow: inset 0 -20px 70px rgba(0,0,0,.55), inset 0 10px 45px rgba(42,212,255,.05);
}
.orbit-strip::before{
  content:"";
  position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(circle at 7% 18%, rgba(255,255,255,.65) 1px, transparent 1.7px),
    radial-gradient(circle at 19% 62%, rgba(255,255,255,.45) 1px, transparent 2px),
    radial-gradient(circle at 32% 26%, rgba(255,255,255,.55) 1px, transparent 1.9px),
    radial-gradient(circle at 47% 51%, rgba(255,255,255,.45) 1px, transparent 2px),
    radial-gradient(circle at 62% 22%, rgba(255,255,255,.5) 1px, transparent 1.8px),
    radial-gradient(circle at 77% 38%, rgba(255,255,255,.45) 1px, transparent 2px),
    radial-gradient(circle at 90% 18%, rgba(255,255,255,.6) 1px, transparent 1.7px);
  opacity:.95;
}
.orbit-strip::after{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,.0), rgba(0,0,0,.28) 65%, rgba(0,0,0,.55));
  pointer-events:none;
}
.orbit-hud{
  position:absolute; left:14px; right:14px; top:8px;
  display:flex; align-items:center; justify-content:space-between; gap:8px;
  z-index:5;
}
.orbit-caption{
  font-size:.78rem; color:#dbf5ff;
  background: rgba(6,16,30,.74);
  border:1px solid rgba(42,212,255,.22);
  border-radius:999px; padding:5px 10px;
  text-shadow: 0 0 12px rgba(42,212,255,.28);
  backdrop-filter: blur(6px);
}
.sound-toggle{
  border:1px solid rgba(64,216,107,.35);
  background: rgba(8,18,14,.68);
  color:#bfffd1;
  border-radius:10px; width:36px; height:30px;
  display:grid; place-items:center; cursor:pointer;
  box-shadow: 0 0 18px rgba(64,216,107,.14);
}
.sound-toggle.active{
  background: rgba(15,34,22,.9);
  box-shadow: 0 0 0 1px rgba(64,216,107,.15) inset, 0 0 25px rgba(64,216,107,.22);
}
.mars-pulse{
  position:absolute; inset:0;
  background: radial-gradient(600px 90px at 50% 34%, rgba(42,212,255,.07), transparent 70%);
  animation: marsPulse 3.4s ease-in-out infinite;
  opacity:.9;
}
@keyframes marsPulse{ 0%,100%{opacity:.55} 50%{opacity:1} }

.craft-lane{
  position:absolute; left:-220px; width:220px; height:74px;
  z-index:4;
  animation: laneTravel 13s linear infinite;
  filter: drop-shadow(0 0 12px rgba(42,212,255,.25));
}
.craft-lane.lane1{ top:34px; animation-duration: 14s; }
.craft-lane.lane2{ top:62px; animation-duration: 17s; animation-delay:-6s; }
.craft-lane.lane3{ top:22px; animation-duration: 19s; animation-delay:-11s; }
@keyframes laneTravel{ from{ transform: translateX(-8vw);} to{ transform: translateX(120vw);} }

.flag-badge{
  position:absolute; top:-2px; left:4px; z-index:3;
  font-size:.68rem; font-weight:800;
  color:#fff; letter-spacing:.2px;
  border-radius:999px; padding:2px 6px;
  border:1px solid rgba(255,255,255,.25);
  background: rgba(0,0,0,.45);
  box-shadow: 0 0 12px rgba(0,0,0,.25);
}
.flag-badge.mx{ background: linear-gradient(90deg, rgba(0,120,65,.6), rgba(160,20,35,.55)); }
.flag-badge.us{ background: linear-gradient(90deg, rgba(36,72,200,.55), rgba(160,20,35,.55)); }
.flag-badge.ru{ background: linear-gradient(90deg, rgba(245,245,255,.15), rgba(36,72,200,.45), rgba(160,20,35,.45)); }

.em-mark{
  position:absolute; right:4px; top:4px; z-index:3;
  font-size:.62rem; font-weight:900; color:#051008;
  background: linear-gradient(135deg, rgba(64,216,107,.95), rgba(42,212,255,.85));
  border-radius:6px; padding:2px 4px;
  box-shadow: 0 0 14px rgba(64,216,107,.4);
}

/* Vehicle 1: Apollo-style capsule */
.craft{ position:absolute; left:0; top:0; width:120px; height:58px; }
.craft.apollo .capsule{
  position:absolute; left:28px; top:10px; width:34px; height:28px;
  background: linear-gradient(180deg, #f4f8ff, #b9c9dd);
  clip-path: polygon(50% 0, 100% 36%, 86% 100%, 14% 100%, 0 36%);
  border:1px solid rgba(255,255,255,.7);
  box-shadow: 0 0 16px rgba(255,255,255,.15);
}
.craft.apollo .window{
  position:absolute; left:40px; top:16px; width:10px; height:8px; border-radius:5px;
  background: linear-gradient(135deg, rgba(42,212,255,.85), rgba(39,72,255,.75));
  border:1px solid rgba(255,255,255,.45);
}
.craft.apollo .service{
  position:absolute; left:62px; top:13px; width:22px; height:22px;
  border-radius:6px; background: linear-gradient(180deg, #d9e4f7, #8da1bc);
  border:1px solid rgba(255,255,255,.45);
}
.craft.apollo .nozzle{
  position:absolute; left:84px; top:20px; width:14px; height:8px;
  background: linear-gradient(90deg, #bbcbe0, #60708a);
  border-radius:0 5px 5px 0;
}
.craft.apollo .flame{
  position:absolute; left:96px; top:18px; width:18px; height:14px;
  background: radial-gradient(circle at 15% 50%, rgba(255,255,255,.8), rgba(42,212,255,.9) 45%, rgba(64,216,107,.6) 72%, transparent 80%);
  filter: blur(.3px);
  animation: flamePulse 0.45s ease-in-out infinite;
}
@keyframes flamePulse{0%,100%{transform:scale(1)}50%{transform:scale(1.18)}}

/* Vehicle 2: Shuttle */
.craft.shuttle{ width:130px; }
.craft.shuttle .body{
  position:absolute; left:18px; top:14px; width:54px; height:18px;
  background: linear-gradient(180deg, #eef5ff, #b8c8de);
  border-radius:10px 20px 10px 10px;
  border:1px solid rgba(255,255,255,.65);
}
.craft.shuttle .nose{
  position:absolute; left:68px; top:14px; width:22px; height:18px;
  background: linear-gradient(180deg, #d8e5f8, #93a8c6);
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  border:1px solid rgba(255,255,255,.45);
}
.craft.shuttle .wing{
  position:absolute; left:36px; top:24px; width:30px; height:16px;
  background: linear-gradient(180deg,#cad9ee,#91a6c1);
  clip-path: polygon(0 0, 100% 25%, 65% 100%, 15% 100%);
  border:1px solid rgba(255,255,255,.35);
}
.craft.shuttle .tail{
  position:absolute; left:24px; top:6px; width:10px; height:12px;
  background: linear-gradient(180deg,#dce8fb,#9ab0cd);
  clip-path: polygon(0 100%, 50% 0, 100% 100%);
}
.craft.shuttle .thruster{
  position:absolute; left:10px; top:18px; width:12px; height:8px; border-radius:5px;
  background: #7f91aa;
}
.craft.shuttle .thruster::after{
  content:""; position:absolute; left:-12px; top:-3px; width:15px; height:14px;
  background: radial-gradient(circle at 80% 50%, rgba(255,255,255,.7), rgba(42,212,255,.95), rgba(64,216,107,.55), transparent 72%);
  animation: flamePulse .4s ease-in-out infinite;
}

/* Vehicle 3: Satellite cruiser */
.craft.sat{
  width:142px; height:64px;
}
.craft.sat .panelL, .craft.sat .panelR{
  position:absolute; top:17px; width:32px; height:22px;
  border-radius:4px; border:1px solid rgba(255,255,255,.35);
  background:
    linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px) 0 0/6px 100%,
    linear-gradient(180deg, rgba(255,255,255,.08) 1px, transparent 1px) 0 0/100% 6px,
    linear-gradient(135deg, rgba(42,212,255,.95), rgba(39,72,255,.65));
}
.craft.sat .panelL{ left:4px; }
.craft.sat .panelR{ left:106px; }
.craft.sat .bar{
  position:absolute; left:34px; top:27px; width:72px; height:2px; background: rgba(255,255,255,.75);
}
.craft.sat .core{
  position:absolute; left:50px; top:14px; width:40px; height:28px;
  border-radius:8px; border:1px solid rgba(255,255,255,.55);
  background: linear-gradient(180deg, #f1f7ff, #9bb0cc);
  box-shadow: 0 0 20px rgba(42,212,255,.16);
}
.craft.sat .dish{
  position:absolute; left:86px; top:8px; width:18px; height:18px;
  border:2px solid rgba(64,216,107,.95);
  border-left-color:transparent; border-bottom-color:transparent;
  border-radius:50%; transform: rotate(25deg);
  animation: dishSpin 1.9s linear infinite;
}
.craft.sat .dish::after{
  content:""; position:absolute; left:10px; top:11px; width:10px; height:2px;
  background: rgba(64,216,107,.95); transform: rotate(-24deg); transform-origin:left center;
}
@keyframes dishSpin{from{transform:rotate(0)}to{transform:rotate(360deg)}}

/* Astronaut */
.astronaut-mini{
  position:absolute; left:10px; top:28px; width:34px; height:34px; z-index:2;
  animation: astroBob 3.2s ease-in-out infinite;
}
@keyframes astroBob{0%,100%{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-4px) rotate(4deg)}}
.astronaut-mini .helmet{
  position:absolute; left:9px; top:1px; width:16px; height:16px; border-radius:50%;
  background: radial-gradient(circle at 35% 35%, #fff, #d7e3f8 70%);
  border:1px solid rgba(255,255,255,.7);
}
.astronaut-mini .visor{
  position:absolute; left:12px; top:5px; width:10px; height:7px; border-radius:6px;
  background: linear-gradient(135deg, rgba(42,212,255,.65), rgba(39,72,255,.65));
  border:1px solid rgba(255,255,255,.35);
}
.astronaut-mini .body{ position:absolute; left:11px; top:16px; width:12px; height:11px; border-radius:4px; background:#f3f8ff; border:1px solid rgba(255,255,255,.55);}
.astronaut-mini .limb{ position:absolute; background:#eef4ff; border-radius:2px;}
.astronaut-mini .arm1{ left:6px; top:18px; width:7px; height:2px; transform:rotate(-24deg)}
.astronaut-mini .arm2{ left:22px; top:18px; width:7px; height:2px; transform:rotate(20deg)}
.astronaut-mini .leg1{ left:13px; top:26px; width:2px; height:6px}
.astronaut-mini .leg2{ left:19px; top:26px; width:2px; height:6px}
.tether{
  position:absolute; left:36px; top:52px; width:26px; height:16px; z-index:1;
  border-right:1px dashed rgba(255,255,255,.4);
  border-top:1px dashed rgba(255,255,255,.28);
  border-radius:0 10px 0 0;
}

/* Strong visible signal travel */
.signal-link{
  position:absolute; left:72px; top:26px; width:360px; height:0;
  transform-origin:left center;
  z-index:1;
}
.signal-link.to-earth-a{ transform: rotate(16deg); }
.signal-link.to-earth-b{ transform: rotate(31deg); left:86px; top:22px; width:340px; }
.signal-link.to-earth-c{ transform: rotate(8deg); left:98px; top:30px; width:335px; }
.signal-link .beam-core{
  position:absolute; left:0; top:-2px; width:100%; height:4px; border-radius:4px;
  background:
    linear-gradient(90deg,
      rgba(64,216,107,.0) 0%,
      rgba(64,216,107,.85) 8%,
      rgba(42,212,255,1) 36%,
      rgba(160,250,255,.95) 60%,
      rgba(42,212,255,.25) 85%,
      rgba(42,212,255,.0) 100%);
  box-shadow:
    0 0 10px rgba(42,212,255,.8),
    0 0 20px rgba(42,212,255,.55),
    0 0 34px rgba(64,216,107,.35);
  animation: beamBreathe 1.25s ease-in-out infinite;
}
.signal-link .beam-glow{
  position:absolute; left:0; top:-8px; width:100%; height:16px;
  background: linear-gradient(90deg, rgba(42,212,255,0), rgba(42,212,255,.18), rgba(64,216,107,.12), rgba(42,212,255,0));
  filter: blur(3px);
  opacity:.95;
}
.signal-link .packet{
  position:absolute; top:-5px; width:12px; height:12px; border-radius:50%;
  background: radial-gradient(circle at 35% 35%, #fff, rgba(42,212,255,.95) 45%, rgba(64,216,107,.75) 70%, rgba(64,216,107,0) 74%);
  box-shadow: 0 0 12px rgba(42,212,255,.95), 0 0 26px rgba(64,216,107,.55);
  animation: packetRun 1.25s linear infinite;
}
.signal-link .packet.p2{ animation-delay:.32s; transform: scale(.9); }
.signal-link .packet.p3{ animation-delay:.64s; transform: scale(.78); }
@keyframes packetRun{
  from{ left:-2px; opacity:0;}
  8%{ opacity:1;}
  92%{ opacity:1;}
  to{ left: calc(100% - 10px); opacity:0;}
}
@keyframes beamBreathe{
  0%,100%{ opacity:.82; transform: translateY(0);}
  50%{ opacity:1; transform: translateY(.2px);}
}

/* Earth scene */
.earth-scene{
  position:absolute;
  left:50%; bottom:-6px;
  width:230px; height:102px;
  transform: translateX(-50%);
  z-index:3;
}
.earth-horizon{
  position:absolute; left:10px; right:10px; bottom:0; height:86px;
  border-radius: 120px 120px 22px 22px / 82px 82px 22px 22px;
  background:
    radial-gradient(70px 20px at 30% 40%, rgba(64,216,107,.35), transparent 65%),
    radial-gradient(80px 22px at 56% 55%, rgba(64,216,107,.38), transparent 70%),
    radial-gradient(58px 18px at 42% 35%, rgba(10,110,65,.55), transparent 70%),
    radial-gradient(140px 70px at 50% 25%, rgba(42,212,255,.2), transparent 75%),
    linear-gradient(180deg, rgba(26,78,150,.98), rgba(7,30,70,.98) 62%, rgba(6,16,34,.98));
  border:1px solid rgba(160,230,255,.25);
  box-shadow:
    inset 0 8px 30px rgba(120,220,255,.18),
    0 0 30px rgba(42,212,255,.18),
    0 0 55px rgba(64,216,107,.08);
  overflow:hidden;
}
.earth-horizon::before{
  content:"";
  position:absolute; left:0; right:0; top:-12px; height:22px;
  background: radial-gradient(50% 100% at 50% 100%, rgba(42,212,255,.6), rgba(42,212,255,0));
  opacity:.45;
}
.mexico-pin{
  position:absolute; left:104px; top:22px; width:10px; height:10px; border-radius:50%;
  background: radial-gradient(circle at 35% 35%, #fff, #30e06e 50%, #0f8f49 75%);
  box-shadow: 0 0 12px rgba(64,216,107,.95), 0 0 26px rgba(64,216,107,.7);
  animation: mexicoBlink 1.15s ease-in-out infinite;
}
.mexico-pin::before{
  content:""; position:absolute; left:-7px; top:-7px; width:24px; height:24px; border-radius:50%;
  border:2px solid rgba(64,216,107,.45);
  animation: ping 1.35s ease-out infinite;
}
.mexico-pin::after{
  content:"MX"; position:absolute; top:-18px; left:-7px;
  font-size:.55rem; font-weight:900; color:#bfffd1;
  text-shadow: 0 0 10px rgba(64,216,107,.45);
}
@keyframes mexicoBlink{0%,100%{transform:scale(1)}50%{transform:scale(1.22)}}
@keyframes ping{0%{transform:scale(.5); opacity:.8}100%{transform:scale(1.8); opacity:0}}
.receiver-cone{
  position:absolute; left:96px; top:-8px; width:26px; height:40px;
  background: radial-gradient(50% 90% at 50% 100%, rgba(42,212,255,.35), rgba(42,212,255,0));
  filter: blur(.5px);
}
.receiver-rings{
  position:absolute; left:92px; top:-15px; width:40px; height:40px;
}
.receiver-rings span{
  position:absolute; inset:0; border-radius:50%;
  border:1px solid rgba(42,212,255,.55); opacity:0;
  animation: earthRing 1.6s ease-out infinite;
}
.receiver-rings span:nth-child(2){ animation-delay:.4s; }
.receiver-rings span:nth-child(3){ animation-delay:.8s; }
@keyframes earthRing{0%{transform:scale(.35);opacity:.85}100%{transform:scale(1.35);opacity:0}}

.scan-sweep{
  position:absolute; left:5%; right:5%; top:9px; height:70px;
  background: linear-gradient(110deg, transparent 40%, rgba(255,255,255,.06) 50%, transparent 60%);
  animation: sweep 3.6s linear infinite;
  mix-blend-mode: screen;
  opacity:.65;
}
@keyframes sweep{ from{transform:translateX(-70%)} to{transform:translateX(70%)} }

/* signal impact flares near earth */
.impact-flare{
  position:absolute; left:102px; top:18px; width:14px; height:14px; border-radius:50%;
  background: radial-gradient(circle, rgba(255,255,255,.95), rgba(42,212,255,.95) 45%, rgba(64,216,107,.7) 72%, transparent 78%);
  box-shadow: 0 0 22px rgba(42,212,255,.95), 0 0 34px rgba(64,216,107,.55);
  animation: impactPulse .8s ease-in-out infinite;
}
@keyframes impactPulse{0%,100%{opacity:.8; transform:scale(.9)}50%{opacity:1; transform:scale(1.25)}}

@media (max-width: 900px){
  .orbit-strip{ height:178px; }
  .signal-link{ width:260px; }
  .signal-link.to-earth-b{ width:250px; }
  .signal-link.to-earth-c{ width:245px; }
  .earth-scene{ width:190px; height:90px; }
  .mexico-pin{ left:84px; top:20px; }
  .impact-flare{ left:82px; top:16px; }
  .receiver-rings{ left:72px; top:-16px; }
  .receiver-cone{ left:76px; }
}
@media (max-width: 640px){
  .orbit-strip{ height:168px; margin-top:8px; }
  .orbit-hud{ top:6px; }
  .orbit-caption{ font-size:.68rem; padding:4px 8px; }
  .craft-lane{ transform: scale(.92); transform-origin:left top; }
  .craft-lane.lane2{ top:66px; }
  .signal-link{ width:210px; }
  .signal-link.to-earth-b{ width:205px; }
  .signal-link.to-earth-c{ width:198px; }
  .earth-scene{ width:170px; height:80px; bottom:-7px; }
  .earth-horizon{ height:72px; }
  .mexico-pin{ left:73px; top:18px; }
  .impact-flare{ left:71px; top:14px; }
  .receiver-rings{ left:61px; top:-16px; }
  .receiver-cone{ left:65px; top:-10px; }
}

/* ===== OLDB Cancun real orbit upgrade (ROF) ===== */
.orbit-strip{
  height: 236px !important;
  border-radius: 18px;
  border: 1px solid rgba(115,195,255,.18);
  background:
    radial-gradient(950px 260px at 50% -35%, rgba(84,180,255,.18), transparent 70%),
    radial-gradient(580px 180px at 78% 10%, rgba(42,212,255,.10), transparent 70%),
    radial-gradient(520px 180px at 22% 10%, rgba(64,216,107,.08), transparent 72%),
    linear-gradient(180deg, #020814 0%, #061225 35%, #071525 62%, #07111e 100%);
}
.orbit-strip::before{ opacity:.9; }
.orbit-strip::after{ background: linear-gradient(180deg, rgba(0,0,0,.03), rgba(0,0,0,.22) 58%, rgba(0,0,0,.40)); }
.orbit-hud{
  left: 12px; right: 12px; top: 8px;
  display:grid;
  grid-template-columns: 1fr auto auto;
  align-items:center;
  gap:8px;
}
.orbit-caption{
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.rof-badge{
  z-index:6;
  min-width: 44px;
  height: 30px;
  display:grid; place-items:center;
  font-size:.84rem; font-weight: 900; letter-spacing: 1px;
  color:#04110a;
  border-radius: 9px;
  border:1px solid rgba(255,255,255,.5);
  background: linear-gradient(135deg, rgba(64,216,107,1), rgba(42,212,255,.95));
  box-shadow: 0 0 0 1px rgba(255,255,255,.12) inset, 0 0 18px rgba(42,212,255,.20);
}
.mars-pulse{
  background:
    radial-gradient(640px 110px at 50% 28%, rgba(58,180,255,.16), transparent 72%),
    radial-gradient(200px 50px at 84% 18%, rgba(42,212,255,.10), transparent 75%);
}

/* Slightly more metallic/real satellites and craft */
.craft,
.craft *{ box-sizing:border-box; }
.craft.apollo .capsule,
.craft.apollo .service,
.craft.shuttle .body,
.craft.shuttle .nose,
.craft.shuttle .wing,
.craft.sat .core{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.50),
    inset 0 -2px 8px rgba(0,0,0,.18),
    0 0 16px rgba(42,212,255,.14);
}
.craft.sat .panelL,
.craft.sat .panelR{
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.12), 0 0 12px rgba(42,212,255,.16);
}
.craft.sat .core::before,
.craft.apollo .service::before,
.craft.shuttle .body::before{
  content:"";
  position:absolute; inset:2px;
  border-radius:inherit;
  background:
    radial-gradient(circle at 18% 28%, rgba(255,255,255,.28) 1px, transparent 1.8px),
    radial-gradient(circle at 52% 34%, rgba(255,255,255,.20) 1px, transparent 1.8px),
    radial-gradient(circle at 78% 66%, rgba(255,255,255,.22) 1px, transparent 1.8px);
  opacity:.9;
  pointer-events:none;
}
.signal-link .beam-core{
  height: 5px !important;
  top: -2px !important;
  border-radius: 8px;
  box-shadow:
    0 0 12px rgba(42,212,255,.95),
    0 0 24px rgba(42,212,255,.7),
    0 0 44px rgba(64,216,107,.45) !important;
}
.signal-link .beam-glow{
  top:-11px !important; height: 22px !important;
  filter: blur(4px);
  opacity: 1;
}
.signal-link .packet{
  width: 14px !important; height: 14px !important;
  top: -6px !important;
  animation-duration: 1.05s !important;
}

/* Earth scene: rotating, more realistic, Cancún coast */
.earth-scene{
  width: 330px !important;
  height: 136px !important;
  bottom: -2px !important;
}
.earth-horizon{
  left:0 !important; right:0 !important;
  height: 118px !important;
  border-radius: 180px 180px 28px 28px / 110px 110px 24px 24px;
  border:1px solid rgba(140,225,255,.32) !important;
  background: transparent !important;
  box-shadow:
    inset 0 20px 48px rgba(135,223,255,.14),
    inset 0 -26px 40px rgba(0,0,0,.30),
    0 0 24px rgba(42,212,255,.16) !important;
  overflow:hidden;
}
.earth-rotation,
.earth-clouds,
.earth-atmosphere,
.cancun-coast,
.antenna-real,
.rof-ground,
.cancun-label,
.scan-sweep,
.receiver-cone,
.receiver-rings,
.impact-flare,
.mexico-pin{ position:absolute; }
.earth-rotation{
  inset:0;
  background:
    radial-gradient(220px 80px at 20% 20%, rgba(74,190,255,.22), transparent 65%),
    radial-gradient(120px 46px at 18% 70%, rgba(19,121,255,.18), transparent 68%),
    radial-gradient(140px 56px at 58% 62%, rgba(14,88,208,.18), transparent 72%),
    radial-gradient(130px 44px at 78% 35%, rgba(19,156,255,.20), transparent 72%),
    radial-gradient(110px 34px at 30% 36%, rgba(0,150,90,.30), transparent 72%),
    radial-gradient(100px 32px at 43% 48%, rgba(3,117,69,.42), transparent 74%),
    radial-gradient(88px 28px at 60% 43%, rgba(28,144,82,.36), transparent 72%),
    radial-gradient(84px 26px at 72% 56%, rgba(0,116,63,.30), transparent 70%),
    linear-gradient(180deg, #1f93ff 0%, #0f68d7 52%, #0a4fb0 72%, #083c87 100%);
  background-size: 100% 100%, 100% 100%, 100% 100%, 100% 100%, 100% 100%, 100% 100%, 100% 100%, 100% 100%, 100% 100%;
  animation: earthRotate 15s linear infinite;
}
.earth-rotation::before{
  content:"";
  position:absolute; inset:-2px;
  background:
    repeating-linear-gradient(110deg,
      rgba(255,255,255,.00) 0 26px,
      rgba(255,255,255,.04) 27px 28px,
      rgba(255,255,255,.00) 29px 56px);
  mix-blend-mode: screen;
  opacity:.55;
  animation: earthRotateLines 7s linear infinite;
}
.earth-clouds{
  inset:2px 6px 28px 6px;
  background:
    radial-gradient(40px 16px at 14% 26%, rgba(255,255,255,.42), transparent 72%),
    radial-gradient(54px 18px at 31% 22%, rgba(255,255,255,.36), transparent 75%),
    radial-gradient(50px 18px at 52% 30%, rgba(255,255,255,.35), transparent 75%),
    radial-gradient(62px 18px at 72% 24%, rgba(255,255,255,.30), transparent 75%),
    radial-gradient(40px 16px at 86% 38%, rgba(255,255,255,.24), transparent 72%);
  opacity:.9;
  filter: blur(.3px);
  animation: cloudsDrift 10s linear infinite;
  pointer-events:none;
}
.earth-atmosphere{
  left:-4px; right:-4px; top:-10px; height:30px;
  background:
    radial-gradient(50% 100% at 50% 100%, rgba(146,232,255,.9), rgba(88,201,255,.35) 55%, rgba(88,201,255,0));
  opacity:.9;
  filter: blur(.2px);
}
.cancun-coast{
  left:8px; right:8px; bottom:4px; height:38px;
  border-radius: 90px 90px 14px 14px / 40px 40px 10px 10px;
  background:
    radial-gradient(120px 14px at 28% 86%, rgba(28,122,55,.95), transparent 72%),
    radial-gradient(130px 16px at 68% 84%, rgba(39,146,66,.95), transparent 72%),
    radial-gradient(160px 20px at 46% 58%, rgba(231,222,165,.98), transparent 73%),
    radial-gradient(190px 26px at 44% 34%, rgba(0,153,255,.85), transparent 75%),
    linear-gradient(180deg, rgba(20,166,255,.75) 0 42%, rgba(244,229,178,.95) 45% 66%, rgba(34,130,54,.92) 70% 100%);
  box-shadow:
    inset 0 4px 10px rgba(255,255,255,.15),
    inset 0 -5px 10px rgba(0,0,0,.18);
}
.cancun-coast::before{
  content:"";
  position:absolute; left:10%; right:10%; top:10px; height:8px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.45), transparent);
  filter: blur(.8px);
  opacity:.55;
}
.antenna-real{
  z-index:5;
  width:24px; height:54px;
  filter: drop-shadow(0 0 10px rgba(42,212,255,.22));
}
.antenna-real .mast{
  position:absolute; left:10px; bottom:8px; width:4px; height:34px;
  background: linear-gradient(180deg,#f4f8ff,#a2b5d0);
  border-radius: 2px;
  border:1px solid rgba(255,255,255,.45);
}
.antenna-real .mast::before,
.antenna-real .mast::after{
  content:"";
  position:absolute; width:12px; height:1px; left:-5px;
  background: rgba(255,255,255,.65);
}
.antenna-real .mast::before{ top:8px; }
.antenna-real .mast::after{ top:20px; }
.antenna-real .head{
  position:absolute; left:8px; bottom:40px; width:8px; height:8px; border-radius:50%;
  background: radial-gradient(circle at 35% 35%, #fff, #72dcff 60%, #1aa9d8 100%);
  box-shadow: 0 0 10px rgba(42,212,255,.85), 0 0 18px rgba(64,216,107,.28);
}
.antenna-real .dish{
  position:absolute; left:3px; bottom:28px; width:18px; height:10px;
  border:2px solid rgba(255,255,255,.70);
  border-bottom-color: rgba(255,255,255,.2);
  border-left-color: rgba(255,255,255,.35);
  border-radius: 50% / 65% 65% 35% 35%;
  background: radial-gradient(60% 90% at 50% 40%, rgba(42,212,255,.18), transparent 70%);
  transform: rotate(-12deg);
}
.antenna-real .dish::after{
  content:"";
  position:absolute; left:8px; top:7px; width:8px; height:2px;
  background: rgba(255,255,255,.72);
  transform: rotate(18deg);
  transform-origin:left center;
}
.antenna-real .wifi-rings{ position:absolute; left:-8px; bottom:36px; width:40px; height:40px; }
.antenna-real .wifi-rings span{
  position:absolute; inset:0; border-radius:50%;
  border:1px solid rgba(42,212,255,.85);
  box-shadow: 0 0 10px rgba(42,212,255,.3);
  opacity:0;
  animation: wifiPower 1s ease-out infinite;
}
.antenna-real .wifi-rings span:nth-child(2){ animation-delay:.25s; }
.antenna-real .wifi-rings span:nth-child(3){ animation-delay:.5s; }
@keyframes wifiPower{
  0%{ transform: scale(.25); opacity:.95; }
  100%{ transform: scale(1.4); opacity:0; }
}
.tower-left{ left:88px; bottom:8px; }
.tower-right{ left:226px; bottom:11px; transform: scale(.96) rotate(2deg); }

.rof-ground{
  left:138px; bottom:11px;
  z-index:5;
  min-width:40px;
  text-align:center;
  padding:2px 6px;
  font-size:.58rem; font-weight:900; letter-spacing:.8px;
  color:#032012;
  border-radius:6px;
  border:1px solid rgba(255,255,255,.5);
  background: linear-gradient(135deg, rgba(64,216,107,.95), rgba(198,255,215,.92));
  box-shadow: 0 0 10px rgba(64,216,107,.20);
}
.cancun-label{
  left:150px; top:38px;
  z-index:6;
  color:#d9fbff;
  font-weight:800;
  font-size:.72rem;
  text-shadow: 0 0 12px rgba(42,212,255,.55);
}
.cancun-label::before{
  content:"";
  position:absolute; left:-16px; top:7px; width:12px; height:2px;
  background: linear-gradient(90deg, rgba(42,212,255,0), rgba(42,212,255,.9));
}
.mexico-pin{ left:164px !important; top:30px !important; }
.impact-flare{ left:162px !important; top:26px !important; }
.receiver-cone{ left:156px !important; top:-10px !important; width:34px !important; height:54px !important; }
.receiver-rings{ left:150px !important; top:-17px !important; width:48px !important; height:48px !important; }
.receiver-rings span{ border-color: rgba(42,212,255,.75) !important; }
.scan-sweep{ left:3%; right:3%; top:10px; height:90px !important; opacity:.45 !important; }

@keyframes earthRotate{
  from{ background-position: 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0; }
  to{ background-position: -160px 0, -200px 0, -120px 0, -140px 0, -130px 0, -170px 0, -150px 0, -100px 0, -120px 0; }
}
@keyframes earthRotateLines{ from{ transform: translateX(0); } to{ transform: translateX(-56px); } }
@keyframes cloudsDrift{ from{ transform: translateX(0); } to{ transform: translateX(-70px); } }

/* Layout tweaks because orbit area is taller */
.hero{ padding-top: 24px; }

@media (max-width: 900px){
  .orbit-strip{ height: 214px !important; }
  .earth-scene{ width:260px !important; height:110px !important; }
  .earth-horizon{ height:96px !important; }
  .tower-left{ left:64px; }
  .tower-right{ left:176px; }
  .mexico-pin{ left:128px !important; top:24px !important; }
  .impact-flare{ left:126px !important; top:20px !important; }
  .receiver-cone{ left:120px !important; }
  .receiver-rings{ left:114px !important; }
  .cancun-label{ left:116px; top:30px; }
  .rof-ground{ left:108px; bottom:9px; }
}
@media (max-width: 640px){
  .orbit-hud{ grid-template-columns: 1fr auto; }
  .rof-badge{ order:2; }
  .sound-toggle{ order:3; }
  .orbit-caption{ grid-column: 1 / -1; white-space:normal; line-height:1.15; }
  .orbit-strip{ height: 204px !important; border-radius: 14px; }
  .craft-lane{ transform: scale(.85); transform-origin:left top; }
  .earth-scene{ width:220px !important; height:96px !important; }
  .earth-horizon{ height:84px !important; }
  .tower-left{ left:50px; }
  .tower-right{ left:148px; }
  .mexico-pin{ left:108px !important; top:20px !important; }
  .impact-flare{ left:106px !important; top:17px !important; }
  .receiver-cone{ left:100px !important; }
  .receiver-rings{ left:96px !important; }
  .cancun-label{ left:92px; top:25px; font-size:.66rem; }
  .rof-ground{ left:84px; bottom:7px; }
}


/* ===== OLDB global coverage refinement: Earth real + no ROF/Cancún ===== */
.rof-badge,
.rof-ground,
.cancun-label,
.cancun-coast{ display:none !important; }

.orbit-caption{
  max-width:min(720px, 74vw);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* Make the globe look more like Earth (oceans + continental masses) */
.earth-horizon{
  border-radius: 180px 180px 34px 34px / 116px 116px 28px 28px !important;
  border-color: rgba(146,231,255,.38) !important;
  box-shadow:
    inset 0 20px 52px rgba(140,230,255,.16),
    inset 0 -30px 42px rgba(0,0,0,.36),
    0 0 28px rgba(42,212,255,.18),
    0 0 58px rgba(64,216,107,.07) !important;
}
.earth-horizon::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(120% 90% at 110% 45%, rgba(0,0,0,.42), rgba(0,0,0,0) 54%),
    radial-gradient(90% 90% at -10% 50%, rgba(255,255,255,.11), rgba(255,255,255,0) 45%);
  mix-blend-mode: soft-light;
}
.earth-rotation{
  background:
    /* clouds reflected in ocean */
    radial-gradient(170px 44px at 20% 20%, rgba(167,228,255,.18), transparent 70%),
    radial-gradient(180px 54px at 75% 16%, rgba(93,203,255,.16), transparent 72%),
    /* north america + mexico */
    radial-gradient(90px 48px at 23% 34%, rgba(92,159,73,.95), transparent 68%),
    radial-gradient(68px 34px at 30% 49%, rgba(63,133,64,.92), transparent 68%),
    radial-gradient(42px 18px at 33% 59%, rgba(47,118,57,.92), transparent 70%),
    /* central / south america hint */
    radial-gradient(36px 22px at 40% 69%, rgba(41,109,54,.90), transparent 72%),
    radial-gradient(26px 20px at 43% 82%, rgba(35,97,48,.86), transparent 74%),
    /* europe/africa hint */
    radial-gradient(52px 24px at 62% 40%, rgba(88,148,71,.84), transparent 70%),
    radial-gradient(40px 28px at 65% 56%, rgba(63,124,63,.85), transparent 72%),
    /* asia mass */
    radial-gradient(100px 40px at 79% 43%, rgba(84,145,71,.88), transparent 72%),
    radial-gradient(88px 32px at 82% 58%, rgba(58,116,60,.84), transparent 72%),
    /* ocean depth */
    radial-gradient(240px 90px at 54% 14%, rgba(103,219,255,.14), transparent 74%),
    radial-gradient(220px 90px at 50% 62%, rgba(18,98,205,.22), transparent 78%),
    linear-gradient(180deg, #2ca6ff 0%, #1879e5 38%, #0f5fbe 64%, #0a3c84 100%) !important;
  animation: earthRotate 14s linear infinite;
}
.earth-rotation::before{
  background:
    repeating-linear-gradient(96deg,
      rgba(255,255,255,0) 0 32px,
      rgba(255,255,255,.05) 33px 34px,
      rgba(255,255,255,0) 35px 70px),
    radial-gradient(160px 56px at 22% 20%, rgba(255,255,255,.08), transparent 72%);
  opacity:.52;
}
.earth-rotation::after{
  content:"";
  position:absolute;
  inset:-2px;
  background:
    radial-gradient(55% 75% at 33% 30%, rgba(255,255,255,.15), rgba(255,255,255,0) 55%),
    radial-gradient(70% 80% at 60% 85%, rgba(0,0,0,.28), rgba(0,0,0,0) 60%);
  pointer-events:none;
}
.earth-clouds{
  inset:4px 6px 24px 6px;
  background:
    radial-gradient(54px 18px at 12% 22%, rgba(255,255,255,.45), transparent 72%),
    radial-gradient(70px 20px at 28% 24%, rgba(255,255,255,.36), transparent 74%),
    radial-gradient(62px 18px at 41% 31%, rgba(255,255,255,.28), transparent 74%),
    radial-gradient(64px 20px at 57% 26%, rgba(255,255,255,.34), transparent 74%),
    radial-gradient(74px 20px at 73% 29%, rgba(255,255,255,.33), transparent 74%),
    radial-gradient(58px 18px at 88% 38%, rgba(255,255,255,.22), transparent 74%),
    radial-gradient(48px 14px at 34% 54%, rgba(255,255,255,.18), transparent 74%),
    radial-gradient(52px 14px at 66% 58%, rgba(255,255,255,.16), transparent 74%);
  opacity:.95;
  filter: blur(.35px);
}
.earth-atmosphere{
  background:
    radial-gradient(50% 100% at 50% 100%, rgba(179,240,255,.95), rgba(104,212,255,.45) 55%, rgba(104,212,255,0));
}

/* Stronger global connectivity signals */
.signal-link .beam-core{
  height:5px;
  box-shadow:
    0 0 12px rgba(42,212,255,.95),
    0 0 26px rgba(42,212,255,.65),
    0 0 42px rgba(64,216,107,.42);
}
.signal-link .beam-glow{ opacity:1; filter: blur(3.5px); }
.antenna-real .wifi-rings span{
  border-color: rgba(108,230,255,.95);
  box-shadow: 0 0 14px rgba(42,212,255,.45), 0 0 28px rgba(64,216,107,.18);
  animation-duration: .9s;
}
.antenna-real .head{ box-shadow: 0 0 12px rgba(42,212,255,.95), 0 0 26px rgba(64,216,107,.32); }

/* New messaging inside globe */
.world-reach-note,
.oldb-mx-banner{
  position:absolute;
  z-index:7;
  left:50%;
  transform: translateX(-50%);
  text-align:center;
  pointer-events:none;
}
.world-reach-note{
  top:10px;
  font-size:.58rem;
  font-weight:800;
  letter-spacing:.35px;
  color:#dff8ff;
  text-shadow: 0 0 10px rgba(42,212,255,.6);
  background: rgba(0,0,0,.22);
  border:1px solid rgba(255,255,255,.15);
  border-radius:999px;
  padding:2px 7px;
  backdrop-filter: blur(1px);
}
.oldb-mx-banner{
  bottom:10px;
  min-width:138px;
  font-size:.60rem;
  font-weight:900;
  letter-spacing:.35px;
  color:#062713;
  border-radius:8px;
  border:1px solid rgba(255,255,255,.52);
  background: linear-gradient(135deg, rgba(64,216,107,.98), rgba(184,255,214,.96));
  box-shadow: 0 0 10px rgba(64,216,107,.22);
  padding:3px 7px;
}

/* Reposition markers now that Cancún label is gone */
.mexico-pin{ left:150px !important; top:36px !important; }
.impact-flare{ left:148px !important; top:32px !important; }
.receiver-cone{ left:142px !important; top:-10px !important; width:34px !important; height:54px !important; }
.receiver-rings{ left:136px !important; top:-17px !important; width:48px !important; height:48px !important; }
.tower-left{ left:86px; bottom:10px; }
.tower-right{ left:224px; bottom:12px; }

@media (max-width: 900px){
  .world-reach-note{ font-size:.54rem; top:8px; }
  .oldb-mx-banner{ font-size:.56rem; min-width:122px; }
  .tower-left{ left:62px; }
  .tower-right{ left:174px; }
  .mexico-pin{ left:118px !important; top:30px !important; }
  .impact-flare{ left:116px !important; top:26px !important; }
  .receiver-cone{ left:110px !important; }
  .receiver-rings{ left:104px !important; }
}
@media (max-width: 640px){
  .orbit-caption{ white-space:normal; max-width:none; }
  .world-reach-note{ top:7px; font-size:.52rem; padding:2px 6px; }
  .oldb-mx-banner{ bottom:8px; min-width:108px; font-size:.52rem; padding:2px 6px; }
  .tower-left{ left:48px; }
  .tower-right{ left:146px; }
  .mexico-pin{ left:100px !important; top:26px !important; }
  .impact-flare{ left:98px !important; top:22px !important; }
  .receiver-cone{ left:92px !important; }
  .receiver-rings{ left:88px !important; }
}


/* ===== OLDB orbit refinement v6: planeta real + giro natural + mini planetas ===== */

/* Mini planets in orbit (decorative and rotating) */
.mini-planets{
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
}
.mini-planet{
  position:absolute;
  width:18px;
  height:18px;
  border-radius:50%;
  filter: drop-shadow(0 0 8px rgba(42,212,255,.22));
}
.mini-planet .planet-core{
  position:absolute;
  inset:0;
  border-radius:50%;
  overflow:hidden;
}
.mini-planet .planet-core::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:50%;
  box-shadow: inset -4px -5px 7px rgba(0,0,0,.35), inset 3px 3px 6px rgba(255,255,255,.12);
}
.mini-planet .planet-core::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:50%;
  background-size: 16px 16px;
  animation: miniPlanetSpin 5s linear infinite;
}
.mini-planet.p1{ left:16px; top:50px; width:16px; height:16px; animation: planetOrbitA 7.5s ease-in-out infinite; }
.mini-planet.p1 .planet-core{
  background: radial-gradient(circle at 28% 30%, #ffd2a8, #e48446 58%, #7a3417 100%);
}
.mini-planet.p1 .planet-core::after{
  background-image:
    radial-gradient(6px 3px at 30% 45%, rgba(92,45,18,.42), transparent 70%),
    radial-gradient(6px 3px at 72% 58%, rgba(92,45,18,.34), transparent 70%);
}
.mini-planet.p2{ right:26px; top:42px; width:22px; height:22px; animation: planetOrbitB 9s ease-in-out infinite; }
.mini-planet.p2 .planet-core{
  background: radial-gradient(circle at 30% 28%, #dff8ff, #69c9ff 45%, #2464b8 75%, #102c61 100%);
}
.mini-planet.p2 .planet-core::after{
  background-image:
    linear-gradient(90deg, rgba(255,255,255,.10) 20%, rgba(255,255,255,0) 20% 36%, rgba(255,255,255,.10) 36% 42%, rgba(255,255,255,0) 42% 58%, rgba(255,255,255,.10) 58% 64%, rgba(255,255,255,0) 64%),
    radial-gradient(7px 4px at 66% 58%, rgba(25,80,145,.35), transparent 72%);
}
.mini-planet.p3{ right:92px; top:70px; width:12px; height:12px; animation: planetOrbitC 6.5s ease-in-out infinite; }
.mini-planet.p3 .planet-core{
  background: radial-gradient(circle at 30% 30%, #f3ffd8, #9bf56a 52%, #3a7c1f 100%);
}
.mini-planet.p3 .planet-core::after{
  background-image: radial-gradient(5px 2px at 65% 45%, rgba(22,70,18,.32), transparent 72%);
}
.mini-planet.ringed .ring{
  position:absolute;
  left:-5px;
  top:8px;
  width:32px;
  height:6px;
  border:1px solid rgba(255,255,255,.35);
  border-left-color: rgba(255,255,255,.08);
  border-right-color: rgba(255,255,255,.08);
  border-radius:999px;
  transform: rotate(-18deg);
  box-shadow: 0 0 10px rgba(42,212,255,.12);
}
@keyframes miniPlanetSpin{
  from{ transform: translateX(0); }
  to{ transform: translateX(-8px); }
}
@keyframes planetOrbitA{
  0%,100%{ transform: translate3d(0,0,0) rotate(0deg); }
  25%{ transform: translate3d(4px,-2px,0) rotate(5deg); }
  50%{ transform: translate3d(8px,2px,0) rotate(10deg); }
  75%{ transform: translate3d(3px,5px,0) rotate(4deg); }
}
@keyframes planetOrbitB{
  0%,100%{ transform: translate3d(0,0,0) rotate(0deg); }
  30%{ transform: translate3d(-6px,2px,0) rotate(-8deg); }
  60%{ transform: translate3d(-10px,7px,0) rotate(-14deg); }
  80%{ transform: translate3d(-4px,10px,0) rotate(-5deg); }
}
@keyframes planetOrbitC{
  0%,100%{ transform: translate3d(0,0,0) scale(1); }
  50%{ transform: translate3d(-4px,4px,0) scale(1.08); }
}

/* Smaller but clearer "muñecos" and badges */
.flag-badge{
  font-size:.58rem !important;
  padding:2px 5px !important;
  border-color: rgba(255,255,255,.42) !important;
  box-shadow: 0 0 0 1px rgba(0,0,0,.38) inset, 0 0 10px rgba(0,0,0,.24) !important;
  text-shadow: 0 1px 1px rgba(0,0,0,.45);
}
.em-mark{
  font-size:.52rem !important;
  padding:1px 4px !important;
  line-height:1.1;
  top:5px !important;
  right:5px !important;
  border:1px solid rgba(255,255,255,.35);
  text-shadow:none;
}
.astronaut-mini{
  left:9px !important;
  top:30px !important;
  animation: astroBobSmall 3.3s ease-in-out infinite !important;
  filter: drop-shadow(0 0 7px rgba(42,212,255,.25)) drop-shadow(0 0 2px rgba(255,255,255,.18));
}
@keyframes astroBobSmall{
  0%,100%{ transform: translateY(0) rotate(-5deg) scale(.82); }
  50%{ transform: translateY(-4px) rotate(4deg) scale(.82); }
}
.astronaut-mini .helmet,
.astronaut-mini .body{
  box-shadow: 0 0 0 1px rgba(8,12,24,.55), 0 0 8px rgba(255,255,255,.08);
}
.astronaut-mini .visor{
  border-color: rgba(255,255,255,.55) !important;
  box-shadow: 0 0 8px rgba(42,212,255,.22);
}
.astronaut-mini .limb{
  box-shadow: 0 0 0 .7px rgba(8,12,24,.45);
}
.tether{ opacity:.9; }

/* Earth: more "real" from space, stronger rotation and natural translation */
.earth-scene{
  width: 368px !important;
  height: 158px !important;
  bottom: -1px !important;
  animation: earthFloatNatural 11s ease-in-out infinite;
}
@keyframes earthFloatNatural{
  0%,100%{ transform: translateX(-50%) translateY(0); }
  25%{ transform: translateX(calc(-50% - 2px)) translateY(-1px); }
  50%{ transform: translateX(calc(-50% + 1px)) translateY(1px); }
  75%{ transform: translateX(calc(-50% + 2px)) translateY(0); }
}
.earth-horizon{
  height: 138px !important;
  border-radius: 220px 220px 36px 36px / 132px 132px 34px 34px !important;
  transform-origin: 50% 100%;
  animation: earthTiltNatural 13s ease-in-out infinite;
  box-shadow:
    inset 0 22px 58px rgba(174,238,255,.12),
    inset 0 -44px 55px rgba(0,0,0,.40),
    0 0 32px rgba(42,212,255,.20),
    0 0 70px rgba(64,216,107,.08) !important;
}
@keyframes earthTiltNatural{
  0%,100%{ transform: perspective(780px) rotateX(15deg) rotateZ(-1.6deg); }
  50%{ transform: perspective(780px) rotateX(12.8deg) rotateZ(1deg); }
}
.earth-horizon::before{
  top:-14px !important;
  height: 28px !important;
  background: radial-gradient(55% 110% at 50% 100%, rgba(128,224,255,.78), rgba(128,224,255,0)) !important;
  opacity:.75 !important;
}
.earth-horizon::after{
  background:
    radial-gradient(110% 100% at 0% 42%, rgba(255,255,255,.16), rgba(255,255,255,0) 52%),
    radial-gradient(85% 95% at 105% 52%, rgba(0,0,0,.46), rgba(0,0,0,0) 60%),
    radial-gradient(70% 60% at 38% 18%, rgba(255,255,255,.10), rgba(255,255,255,0) 65%) !important;
}
.earth-rotation{
  inset: 2px 2px 0 2px !important;
  background:
    radial-gradient(140px 38px at 50% 9%, rgba(210,245,255,.16), transparent 70%),
    radial-gradient(110px 56px at 24% 30%, rgba(94,153,73,.96), transparent 69%),
    radial-gradient(84px 42px at 29% 44%, rgba(70,137,65,.95), transparent 70%),
    radial-gradient(40px 20px at 33% 55%, rgba(44,114,57,.95), transparent 72%),
    radial-gradient(16px 8px at 36% 61%, rgba(37,102,50,.88), transparent 72%),
    radial-gradient(34px 28px at 41% 69%, rgba(41,104,54,.90), transparent 74%),
    radial-gradient(26px 26px at 44% 84%, rgba(34,90,47,.84), transparent 76%),
    radial-gradient(56px 28px at 60% 38%, rgba(87,146,70,.86), transparent 72%),
    radial-gradient(42px 34px at 64% 56%, rgba(63,123,63,.84), transparent 72%),
    radial-gradient(22px 20px at 66% 78%, rgba(50,106,55,.78), transparent 74%),
    radial-gradient(112px 44px at 79% 42%, rgba(82,143,71,.88), transparent 72%),
    radial-gradient(96px 36px at 83% 58%, rgba(58,115,60,.85), transparent 73%),
    radial-gradient(22px 12px at 84% 83%, rgba(59,117,63,.78), transparent 76%),
    radial-gradient(220px 90px at 48% 18%, rgba(91,206,255,.15), transparent 76%),
    radial-gradient(260px 110px at 56% 60%, rgba(16,92,199,.25), transparent 80%),
    linear-gradient(180deg, #2ea8ff 0%, #1a7fe7 34%, #125ebf 62%, #0b366f 100%) !important;
  animation: earthSpinGlobal 28s linear infinite !important;
  filter: saturate(1.08) contrast(1.03);
}
@keyframes earthSpinGlobal{
  from{
    background-position:
      0 0,
      0 0, 0 0, 0 0, 0 0,
      0 0, 0 0,
      0 0, 0 0, 0 0,
      0 0, 0 0,
      0 0,
      0 0, 0 0,
      0 0;
  }
  to{
    background-position:
      -70px 0,
      -210px 0, -220px 0, -205px 0, -180px 0,
      -185px 0, -170px 0,
      -230px 0, -225px 0, -190px 0,
      -255px 0, -250px 0,
      -150px 0,
      -130px 0, -115px 0,
      -150px 0;
  }
}
.earth-rotation::before{
  background:
    repeating-linear-gradient(95deg,
      rgba(255,255,255,0) 0 34px,
      rgba(255,255,255,.06) 34px 35px,
      rgba(255,255,255,0) 35px 72px),
    radial-gradient(150px 40px at 22% 20%, rgba(255,255,255,.09), transparent 72%),
    radial-gradient(180px 38px at 70% 32%, rgba(255,255,255,.07), transparent 72%) !important;
  opacity:.58 !important;
  animation: earthSpecSweep 8s linear infinite;
}
@keyframes earthSpecSweep{ from{ transform: translateX(0); } to{ transform: translateX(-46px); } }
.earth-clouds{
  inset:6px 8px 28px 8px !important;
  opacity:.92 !important;
  filter: blur(.55px);
  animation: cloudsParallaxNatural 18s linear infinite !important;
}
@keyframes cloudsParallaxNatural{ from{ transform: translateX(0); } to{ transform: translateX(-48px); } }
.earth-atmosphere{
  background:
    radial-gradient(55% 100% at 50% 100%, rgba(189,242,255,.92), rgba(102,211,255,.48) 54%, rgba(102,211,255,0)),
    radial-gradient(70% 44% at 50% 18%, rgba(129,220,255,.14), rgba(129,220,255,0)) !important;
}

/* Earth labels inside the globe, clearer */
.world-reach-note{
  top: 11px !important;
  font-size: .60rem !important;
  letter-spacing: .4px;
}
.oldb-mx-banner{
  bottom: 12px !important;
  min-width: 150px !important;
  font-size: .62rem !important;
  letter-spacing: .35px;
  box-shadow: 0 0 0 1px rgba(0,0,0,.18) inset, 0 0 12px rgba(64,216,107,.22) !important;
}

/* Align receivers and towers for larger globe */
.tower-left{ left:96px !important; bottom:12px !important; }
.tower-right{ left:252px !important; bottom:14px !important; }
.mexico-pin{ left:168px !important; top:46px !important; }
.impact-flare{ left:166px !important; top:42px !important; }
.receiver-cone{ left:158px !important; top:-6px !important; width:38px !important; height:60px !important; }
.receiver-rings{ left:151px !important; top:-14px !important; width:52px !important; height:52px !important; }

@media (max-width: 900px){
  .mini-planet.p1{ top:48px; left:14px; }
  .mini-planet.p2{ top:40px; right:20px; transform: scale(.95); }
  .mini-planet.p3{ top:66px; right:78px; }
  .earth-scene{ width: 290px !important; height: 128px !important; }
  .earth-horizon{ height: 112px !important; }
  .world-reach-note{ font-size:.54rem !important; top:9px !important; }
  .oldb-mx-banner{ min-width: 128px !important; font-size:.56rem !important; }
  .tower-left{ left:70px !important; }
  .tower-right{ left:198px !important; }
  .mexico-pin{ left:128px !important; top:37px !important; }
  .impact-flare{ left:126px !important; top:33px !important; }
  .receiver-cone{ left:118px !important; width:34px !important; height:54px !important; }
  .receiver-rings{ left:112px !important; width:46px !important; height:46px !important; }
}
@media (max-width: 640px){
  .orbit-strip{ height: 214px !important; }
  .mini-planet.p1{ top:44px; left:10px; transform: scale(.86); }
  .mini-planet.p2{ top:38px; right:14px; transform: scale(.86); }
  .mini-planet.p3{ top:60px; right:66px; transform: scale(.82); }
  .earth-scene{ width: 238px !important; height: 110px !important; }
  .earth-horizon{ height: 96px !important; }
  .world-reach-note{ top:8px !important; font-size:.50rem !important; padding:2px 5px !important; }
  .oldb-mx-banner{ bottom:8px !important; min-width:108px !important; font-size:.51rem !important; padding:2px 5px !important; }
  .tower-left{ left:52px !important; bottom:9px !important; }
  .tower-right{ left:164px !important; bottom:10px !important; }
  .mexico-pin{ left:102px !important; top:31px !important; width:9px; height:9px; }
  .impact-flare{ left:100px !important; top:27px !important; width:12px !important; height:12px !important; }
  .receiver-cone{ left:92px !important; top:-8px !important; width:30px !important; height:48px !important; }
  .receiver-rings{ left:86px !important; top:-15px !important; width:40px !important; height:40px !important; }
}
