/* Bit Branding: menú claro de alto contraste */
#header,
#header.scrolled {
  background: #ffffff !important;
  background-color: #ffffff !important;
  border-bottom: 1px solid rgba(25, 29, 48, .10) !important;
  box-shadow: 0 8px 28px rgba(15, 20, 40, .12) !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
#header nav.container {
  min-height: 78px;
  gap: 20px;
}
#header .logo {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  padding: 4px 12px;
  border: 1px solid rgba(30, 33, 52, .08);
  border-radius: 14px;
  background: #ffffff !important;
  box-shadow: 0 4px 16px rgba(18, 22, 40, .07);
}
#header .logo-image {
  display: block;
  width: auto;
  height: 50px;
  max-width: min(230px, 100%);
  object-fit: contain;
}
#header .nav-links {
  display: flex;
  align-items: center;
  gap: clamp(14px, 2vw, 26px);
}
#header .nav-links > a {
  color: #242538 !important;
  font-weight: 600;
  transition: color .2s ease, background .2s ease, transform .2s ease;
}
#header .nav-links > a:not(.nav-cta):hover {
  color: #6937d5 !important;
}
#header .nav-links > a:not(.nav-cta)::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -7px;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, #743cff, #00bfe8);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .2s ease;
}
#header .nav-links > a:not(.nav-cta):hover::after {
  transform: scaleX(1);
}
#header .nav-links > .nav-cta {
  padding: 11px 19px;
  border: 0 !important;
  border-radius: 999px;
  color: #ffffff !important;
  background: linear-gradient(110deg, #7038e8, #5530bd) !important;
  box-shadow: 0 7px 18px rgba(99, 56, 205, .24);
}
#header .nav-links > .nav-cta:hover {
  color: #ffffff !important;
  background: linear-gradient(110deg, #5e2dc8, #40249d) !important;
  transform: translateY(-1px);
}
#header .language-select {
  border: 1px solid rgba(35, 37, 55, .16) !important;
  color: #252538 !important;
  background-color: #ffffff !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23252538' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
  box-shadow: 0 3px 10px rgba(15, 20, 40, .05);
}
#header .language-select option { color: #171824 !important; background: #ffffff; }
#header .menu-btn {
  border: 1px solid rgba(35, 37, 55, .16) !important;
  color: #27243a !important;
  background: #ffffff !important;
  box-shadow: 0 4px 14px rgba(15, 20, 40, .08);
}
#header a:focus-visible,
#header button:focus-visible,
#header select:focus-visible {
  outline: 3px solid rgba(0, 191, 232, .42);
  outline-offset: 3px;
}
@media (max-width: 900px) {
  #header .nav-links,
  #header .nav-links.active {
    position: fixed;
    top: 78px;
    left: 4%;
    right: 4%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    padding: 20px;
    border: 1px solid rgba(25, 28, 45, .11);
    border-radius: 20px;
    background: #ffffff !important;
    box-shadow: 0 20px 45px rgba(12, 16, 35, .18);
  }
  #header .nav-links:not(.active) {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-12px);
  }
  #header .nav-links.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
  }
  #header .nav-links > a {
    width: fit-content;
    color: #242538 !important;
  }
  #header .nav-links > .nav-cta {
    width: 100%;
    text-align: center;
  }
}
@media (max-width: 600px) {
  #header nav.container { min-height: 70px; }
  #header .logo { min-height: 52px; padding: 3px 9px; }
  #header .logo-image { height: 43px; max-width: min(190px, 100%); }
  #header .nav-links,
  #header .nav-links.active { top: 76px; }
}


/* REPRODUCTOR DE RADIO FLOTANTE · expansión al pasar el mouse */
.fm-radio-launcher {
  position:fixed; z-index:1480; left:24px; bottom:24px;
  display:flex; align-items:center; justify-content:flex-start; gap:0;
  width:58px; height:58px; min-height:58px; padding:8px;
  overflow:hidden; border:1px solid rgba(255,255,255,.2); border-radius:999px;
  color:#fff; text-align:left; cursor:pointer; appearance:none;
  background:linear-gradient(115deg,rgba(18,19,31,.97),rgba(35,25,64,.97));
  box-shadow:0 12px 32px rgba(0,0,0,.36),0 0 24px rgba(124,60,255,.2);
  backdrop-filter:blur(14px);
  transition:width .34s cubic-bezier(.2,.8,.2,1),padding .3s ease,gap .3s ease,transform .2s ease,box-shadow .2s ease;
}
.fm-radio-launcher:hover { transform:translateY(-2px); box-shadow:0 16px 38px rgba(0,0,0,.42),0 0 28px rgba(0,217,255,.25); }
.fm-radio-play {
  position:relative; flex:0 0 40px; width:40px; height:40px; display:grid; place-items:center;
  border-radius:50%; color:#fff; background:linear-gradient(135deg,#7c3cff,#00bfe8);
}
.fm-radio-play::after {
  content:""; position:absolute; inset:-4px; border:1.5px solid transparent;
  border-top-color:rgba(0,217,255,.95); border-right-color:rgba(124,60,255,.78);
  border-radius:50%; opacity:0; pointer-events:none;
}
.fm-radio-icon { display:block; width:19px; height:19px; fill:#fff; filter:drop-shadow(0 1px 2px rgba(0,0,0,.18)); }
.fm-radio-icon-play { margin-left:2px; }
.fm-radio-icon-pause { display:none; }
.fm-radio-launcher.is-playing .fm-radio-icon-play { display:none; }
.fm-radio-launcher.is-playing .fm-radio-icon-pause { display:block; }
.fm-radio-launcher.is-playing .fm-radio-play::after { opacity:1; animation:fmRadioSpin 1.15s linear infinite; }
@keyframes fmRadioSpin { to { transform:rotate(360deg); } }
.fm-radio-launcher-copy {
  display:grid; flex:0 0 auto; width:0; min-width:0; gap:3px;
  overflow:hidden; opacity:0; white-space:nowrap;
  transition:width .3s ease,opacity .2s ease;
}
.fm-radio-launcher-copy strong { color:#fff; font-size:.78rem; line-height:1.15; letter-spacing:.01em; }
.fm-radio-launcher-copy small { color:#bdc4d5; font-size:.67rem; line-height:1.15; }
.fm-radio-live-dot { flex:0 0 8px; width:8px; height:8px; margin-left:0; border-radius:50%; background:#67f5b6; box-shadow:0 0 11px #67f5b6; opacity:0; transition:opacity .2s ease; }
.fm-radio-audio { display:none !important; }
.fm-radio-launcher:focus-visible { outline:3px solid rgba(0,217,255,.65); outline-offset:4px; }
@media (hover:hover) and (pointer:fine) {
  .fm-radio-launcher:hover { width:238px; gap:11px; padding:8px 15px 8px 9px; }
  .fm-radio-launcher:hover .fm-radio-launcher-copy { width:145px; opacity:1; }
  .fm-radio-launcher:hover .fm-radio-live-dot { opacity:1; }
}
@media (max-width:620px) {
  .fm-radio-launcher { left:12px; bottom:14px; width:54px; height:54px; min-height:54px; padding:6px; }
}
@media (prefers-reduced-motion:reduce) {
  .fm-radio-launcher,.fm-radio-launcher-copy,.fm-radio-live-dot { transition:none; }
  .fm-radio-launcher.is-playing .fm-radio-play::after { animation:none; opacity:.8; }
}


/* ALIADOS · carrusel de logotipos */
.allies-section { overflow:hidden; }
.allies-section::before {
  content:""; position:absolute; width:520px; height:420px; left:50%; top:23%;
  transform:translateX(-50%); border-radius:50%; pointer-events:none;
  background:radial-gradient(ellipse,rgba(124,60,255,.11),rgba(0,217,255,.035) 42%,transparent 72%);
}
.allies-section .container { position:relative; }
.allies-intro { max-width:760px; }
.allies-carousel {
  position:relative; margin:44px auto 0; padding:10px 0 16px;
  border-radius:30px; outline:none;
}
.allies-stage {
  position:relative; height:280px; overflow:hidden;
  perspective:1100px; mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
}
.ally-slide {
  position:absolute; top:50%; left:50%;
  width:min(25%,250px); height:auto; aspect-ratio:1 / 1;
  opacity:0; transform:translate(-50%,-50%) scale(.68);
  filter:grayscale(1) saturate(.35) brightness(.7);
  transition:transform .72s cubic-bezier(.2,.8,.2,1),opacity .55s ease,filter .55s ease;
  pointer-events:none;
}
.ally-slide.is-active {
  z-index:3; opacity:1; transform:translate(-50%,-50%) scale(1);
  filter:none; pointer-events:auto;
}
.ally-slide.is-prev {
  z-index:2; opacity:.48; transform:translate(-146%,-50%) scale(.78);
}
.ally-slide.is-next {
  z-index:2; opacity:.48; transform:translate(46%,-50%) scale(.78);
}
.ally-logo-placeholder {
  width:100%; height:100%; display:grid; place-items:center; overflow:hidden;
  border:1px solid rgba(255,255,255,.13); border-radius:26px;
  background:linear-gradient(145deg,rgba(23,24,36,.95),rgba(11,12,19,.97));
  box-shadow:0 25px 60px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.06);
}
.ally-logo-link { color:inherit; text-decoration:none; cursor:pointer; }
.ally-logo-link:focus-visible { outline:3px solid rgba(0,217,255,.8); outline-offset:5px; }
.ally-logo-image {
  display:block; width:94%; height:94%; object-fit:contain;
  filter:drop-shadow(0 9px 18px rgba(0,0,0,.3));
}
.ally-slide.is-active .ally-logo-placeholder {
  border-color:rgba(181,140,255,.46);
  background:linear-gradient(145deg,rgba(124,60,255,.19),rgba(0,217,255,.075) 52%,rgba(18,19,31,.96));
  box-shadow:0 28px 70px rgba(0,0,0,.42),0 0 35px rgba(124,60,255,.16),inset 0 1px rgba(255,255,255,.13);
}
.ally-symbol { color:#b58cff; font-size:2.75rem; line-height:1; text-shadow:0 0 26px rgba(0,217,255,.25); }
.ally-slide:nth-child(2) .ally-symbol { color:#5edcff; }
.ally-slide:nth-child(3) .ally-symbol { color:#ff6da8; }
.ally-slide:nth-child(4) .ally-symbol { color:#67f5b6; }
.ally-slide:nth-child(5) .ally-symbol { color:#ffd166; }
.ally-placeholder-copy {
  color:#d9d7e5; font-size:.76rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
}
.allies-arrow {
  position:absolute; top:50%; z-index:5; width:46px; height:46px;
  display:grid; place-items:center; border:1px solid rgba(255,255,255,.16); border-radius:50%;
  color:#fff; background:linear-gradient(135deg,#b94fff,#ff4d78 58%,#ff8d48);
  box-shadow:0 12px 32px rgba(255,62,141,.27); cursor:pointer;
  transform:translateY(-50%); transition:transform .25s ease,box-shadow .25s ease;
}
.allies-arrow:hover { transform:translateY(-50%) scale(1.08); box-shadow:0 16px 40px rgba(255,62,141,.4); }
.allies-arrow.prev { left:18px; }
.allies-arrow.next { right:18px; }
.allies-arrow svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:2.4; }
.allies-dots { display:flex; justify-content:center; gap:9px; padding:18px 0 2px; }
.allies-dot { width:8px; height:8px; padding:0; border:0; border-radius:99px; background:#505261; cursor:pointer; transition:width .3s ease,background .3s ease; }
.allies-dot.is-active { width:24px; background:linear-gradient(90deg,#7c3cff,#00d9ff,#ff3e8d); }
.allies-dot:focus-visible,.allies-arrow:focus-visible { outline:3px solid rgba(0,217,255,.55); outline-offset:3px; }
.allies-cta { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:18px; margin-top:20px; text-align:center; }
.allies-cta p { color:#d0d2d9; font-size:.95rem; }
.allies-cta .btn { margin:0; }
@media (max-width:760px) {
  .allies-carousel { margin-top:28px; }
  .allies-stage { height:220px; mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent); }
  .ally-slide { width:min(60%,205px); height:auto; aspect-ratio:1 / 1; }
  .ally-slide.is-prev { transform:translate(-145%,-50%) scale(.74); opacity:.32; }
  .ally-slide.is-next { transform:translate(45%,-50%) scale(.74); opacity:.32; }
  .allies-arrow { width:40px; height:40px; }
  .allies-arrow.prev { left:4px; }
  .allies-arrow.next { right:4px; }
  .allies-cta { flex-direction:column; gap:13px; }
}
@media (prefers-reduced-motion:reduce) {
  .ally-slide,.allies-arrow,.allies-dot { transition:none; }
}
