/* ============================================ */
/* BILLONS CAPITAL - DESIGN SYSTEM PREMIUM */
/* Refactorización completa - Diseño exclusivo */
/* ============================================ */

*{box-sizing:border-box}
html,body{margin:0;padding:0}

:root{
  /* === PALETA PREMIUM === */
  --bg:#050609; /* Negro profundo exclusivo */
  --bg-alt:#0b0d12; /* Alternativo oscuro */
  --card:#0f1115; /* Fondo de tarjetas premium */
  
  /* === DORADO PREMIUM === */
  --gold:#d4af37; /* Dorado metálico base */
  --gold-soft:#f4e3a1; /* Dorado suave para acentos */
  --gold-hover:#f7c873; /* Hover elegante */
  --gold-dark:#b58e28; /* Dorado oscuro */
  
  /* === TEXTOS === */
  --text:#f4f4f5; /* Texto principal premium */
  --muted:#9ca3af; /* Gris plateado elegante */
  --silver:#c7c9d1; /* Plateado moderno */
  
  /* === BORDES Y SOMBRAS === */
  --border:rgba(212, 175, 55, 0.2); /* Borde dorado sutil */
  --border-hover:rgba(212, 175, 55, 0.35); /* Borde hover */
  
  /* === SOMBRAS PREMIUM === */
  --shadow-sm:0 2px 8px rgba(0,0,0,.3);
  --shadow:0 10px 30px rgba(0,0,0,.5);
  --shadow-lg:0 20px 50px rgba(0,0,0,.6);
  --shadow-gold:0 0 30px rgba(212,175,55,.15);
  --shadow-gold-lg:0 0 50px rgba(212,175,55,.25);
  
  /* === BLUR EFFECTS === */
  --blur-sm:blur(8px);
  --blur-md:blur(12px);
  --blur-lg:blur(20px);
  
  /* === ESPACIADO === */
  --radius:16px; /* Bordes redondeados premium */
  --radius-sm:12px;
  --radius-lg:20px;
  
  /* === TRANSICIONES === */
  --transition-fast:0.2s cubic-bezier(0.4, 0, 0.2, 1);
  --transition:0.3s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow:0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
body{
  background:
    radial-gradient(1200px 700px at 80% -10%, rgba(212,175,55,.04), transparent 60%),
    radial-gradient(800px 500px at 20% 50%, rgba(212,175,55,.02), transparent 50%),
    var(--bg);
  color:var(--text);
  font-family:'Montserrat',system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-weight:400;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

a{color:inherit;text-decoration:none;transition:color var(--transition-fast)}
a:hover{color:var(--gold-hover)}

img{max-width:100%;display:block;height:auto}

.container{
  width:100%;
  max-width:1200px;
  margin:0 auto;
  padding:0 24px;
}

@media (max-width:768px){
  .container{padding:0 20px}
}

/* ============================================ */
/* HEADER / NAVBAR PREMIUM */
/* ============================================ */
.header{
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(5,6,9,.85);
  backdrop-filter:var(--blur-md);
  -webkit-backdrop-filter:var(--blur-md);
  border-bottom:1px solid var(--border);
  transition:all var(--transition);
  box-shadow:var(--shadow-sm);
}

.header.scrolled{
  background:rgba(5,6,9,.95);
  border-bottom-color:var(--border-hover);
  box-shadow:var(--shadow);
}

.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:16px 0;
  gap:24px;
}

.brand{
  display:flex;
  align-items:center;
  gap:14px;
  font-weight:800;
  transition:transform var(--transition-fast);
  z-index:1;
}

.brand:hover{
  transform:translateX(3px);
}

.brand__logo{
  width:40px;
  height:40px;
  border-radius:12px;
  background:linear-gradient(135deg,var(--gold),var(--gold-hover));
  box-shadow:0 4px 12px rgba(212,175,55,.3);
  transition:all var(--transition);
  display:flex;
  align-items:center;
  justify-content:center;
}

.brand:hover .brand__logo{
  transform:scale(1.08) rotate(5deg);
  box-shadow:0 6px 20px rgba(212,175,55,.4);
}

.brand__name{
  font-size:1.1rem;
  letter-spacing:.5px;
  color:var(--silver);
  font-weight:800;
  background:linear-gradient(135deg,var(--silver),var(--gold-soft));
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}
.nav__links{display:flex;gap:18px;align-items:center;flex:1;justify-content:flex-end}
.nav__right{display:flex;align-items:center;gap:12px}
.nav__links > a{
  padding:8px 10px;
  border-radius:10px;
  opacity:.9;
  color:var(--silver);
  font-weight:600;
  transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position:relative;
}
.nav__links > a::before{
  content:'';
  position:absolute;
  bottom:0;
  left:50%;
  width:0;
  height:2px;
  background:var(--gold-hover);
  transform:translateX(-50%);
  transition:width 0.3s ease;
}
.nav__links > a:hover{
  background:rgba(247,200,115,.12);
  opacity:1;
  color:var(--gold-hover);
  transform:translateY(-1px);
}
.nav__links > a:hover::before{width:80%}
.nav__cta{
  border:1px solid rgba(212,175,55,.35);
  padding:8px 12px;
  border-radius:10px;
  color:var(--gold);
  transition:all 0.3s ease;
}
.nav__cta:hover{
  background:rgba(212,175,55,.15);
  border-color:var(--gold-hover);
  color:var(--gold-hover);
  box-shadow:0 0 15px rgba(247,200,115,.2);
}
.nav__toggle{display:none;background:transparent;border:0;color:var(--silver);font-size:1.25rem;transition:transform 0.2s ease;cursor:pointer}
.nav__toggle:hover{transform:scale(1.1);color:var(--gold-hover)}

/* Dropdown superior */
.nav__menu{
  position:relative;
  display:flex;
  align-items:center;
}
.nav__menu-trigger{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 16px;
  border-radius:var(--radius-sm);
  border:1px solid var(--border);
  background:rgba(15,17,21,.8);
  color:var(--silver);
  font-weight:600;
  font-size:0.95rem;
  cursor:pointer;
  transition:all var(--transition);
  backdrop-filter:var(--blur-sm);
  -webkit-backdrop-filter:var(--blur-sm);
  box-shadow:var(--shadow-sm);
}

.nav__menu-trigger:hover,
.nav__menu-trigger[aria-expanded="true"]{
  color:var(--gold-hover);
  border-color:var(--border-hover);
  background:rgba(212,175,55,.12);
  box-shadow:var(--shadow-gold);
  transform:translateY(-1px);
}
.nav__menu-icon{
  font-size:0.8rem;
}
.nav__menu-dropdown{
  display:none !important; /* Oculto - reemplazado por menú premium */
  position:absolute;
  right:0;
  top:calc(100% + 12px);
  width:260px;
  background:linear-gradient(180deg,rgba(15,17,21,.98),rgba(11,13,18,.98));
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow-lg),var(--shadow-gold);
  padding:12px 0;
  flex-direction:column;
  gap:2px;
  opacity:0;
  pointer-events:none;
  transform:translateY(-12px) scale(0.95);
  transition:all var(--transition);
  z-index:110;
  max-height:420px;
  overflow-y:auto;
  overflow-x:hidden;
  backdrop-filter:var(--blur-md);
  -webkit-backdrop-filter:var(--blur-md);
}
.nav__menu-dropdown.is-open{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0) scale(1);
}

/* Scrollbar premium */
.nav__menu-dropdown::-webkit-scrollbar{
  width:6px;
}

.nav__menu-dropdown::-webkit-scrollbar-track{
  background:rgba(255,255,255,.03);
  border-radius:10px;
  margin:8px 0;
}

.nav__menu-dropdown::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,var(--gold),var(--gold-dark));
  border-radius:10px;
  border:1px solid rgba(212,175,55,.2);
}

.nav__menu-dropdown::-webkit-scrollbar-thumb:hover{
  background:linear-gradient(180deg,var(--gold-hover),var(--gold));
}

.nav__menu-dropdown{
  scrollbar-width:thin;
  scrollbar-color:var(--gold) rgba(255,255,255,.03);
}

.nav__menu-dropdown a{
  padding:12px 20px;
  color:var(--silver);
  font-weight:500;
  font-size:0.95rem;
  transition:all var(--transition-fast);
  position:relative;
  margin:0 8px;
  border-radius:var(--radius-sm);
}

.nav__menu-dropdown a::before{
  content:'';
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  width:3px;
  height:0;
  background:linear-gradient(180deg,var(--gold),var(--gold-hover));
  border-radius:0 4px 4px 0;
  transition:height var(--transition-fast);
}

.nav__menu-dropdown a:hover{
  background:rgba(212,175,55,.1);
  color:var(--gold-hover);
  padding-left:24px;
}

.nav__menu-dropdown a:hover::before{
  height:60%;
}

/* ============================================ */
/* SELECTOR DE IDIOMA CON ICONO DE MUNDO */
/* ============================================ */
.lang-selector{
  position:relative;
  display:flex;
  align-items:center;
}
.lang-selector__trigger{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  padding:0;
  border-radius:var(--radius-sm);
  border:1px solid var(--border);
  background:rgba(15,17,21,.8);
  color:var(--gold);
  cursor:pointer;
  transition:all var(--transition);
  backdrop-filter:var(--blur-sm);
  -webkit-backdrop-filter:var(--blur-sm);
  box-shadow:var(--shadow-sm);
}
.lang-selector__trigger:hover,
.lang-selector__trigger[aria-expanded="true"]{
  color:var(--gold-hover);
  border-color:var(--border-hover);
  background:rgba(212,175,55,.15);
  box-shadow:var(--shadow-gold);
  transform:translateY(-1px);
}
.lang-selector__icon{
  font-size:22px;
  line-height:1;
  display:block;
  transition:transform var(--transition), filter var(--transition);
  filter:drop-shadow(0 0 2px rgba(212,175,55,.3));
}
.lang-selector__trigger:hover .lang-selector__icon,
.lang-selector__trigger[aria-expanded="true"] .lang-selector__icon{
  transform:rotate(15deg) scale(1.1);
  filter:drop-shadow(0 0 4px rgba(247,200,115,.5));
}
.lang-selector__dropdown{
  position:absolute;
  right:0;
  top:calc(100% + 12px);
  width:200px;
  background:linear-gradient(180deg,rgba(15,17,21,.98),rgba(11,13,18,.98));
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow-lg),var(--shadow-gold);
  padding:8px 0;
  display:flex;
  flex-direction:column;
  gap:2px;
  opacity:0;
  pointer-events:none;
  transform:translateY(-12px) scale(0.95);
  transition:all var(--transition);
  z-index:130;
  backdrop-filter:var(--blur-md);
  -webkit-backdrop-filter:var(--blur-md);
}
.lang-selector__dropdown.is-open{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0) scale(1);
}
.lang-selector__option{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 20px;
  color:var(--silver);
  font-weight:500;
  font-size:0.95rem;
  transition:all var(--transition-fast);
  position:relative;
  margin:0 8px;
  border-radius:var(--radius-sm);
  cursor:pointer;
  border:none;
  background:transparent;
  text-align:left;
  width:calc(100% - 16px);
}
.lang-selector__option:hover{
  background:rgba(212,175,55,.1);
  color:var(--gold-hover);
  transform:translateX(4px);
}
.lang-selector__option.active{
  background:rgba(212,175,55,.15);
  color:var(--gold-hover);
}
.lang-selector__option::before{
  content:'';
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  width:3px;
  height:0;
  background:linear-gradient(180deg,var(--gold),var(--gold-hover));
  border-radius:0 4px 4px 0;
  transition:height var(--transition-fast);
}
.lang-selector__option:hover::before,
.lang-selector__option.active::before{
  height:60%;
}
.lang-selector__flag{
  font-size:1.2rem;
  line-height:1;
  flex-shrink:0;
}
.lang-selector__text{
  flex:1;
  display:flex;
  align-items:center;
  gap:8px;
}
.lang-selector__code{
  font-weight:600;
  color:var(--gold);
}
.lang-selector__name{
  color:var(--silver);
}

/* ============================================ */
/* PREMIUM SIDEBAR MENU */
/* ============================================ */
.premium-menu{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:100%;
  z-index:1000;
  opacity:0;
  pointer-events:none;
  transition:opacity var(--transition);
}

.premium-menu.is-open{
  opacity:1;
  pointer-events:auto;
}

.premium-menu__overlay{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:rgba(0,0,0,.75);
  backdrop-filter:var(--blur-lg);
  -webkit-backdrop-filter:var(--blur-lg);
  opacity:0;
  transition:opacity var(--transition);
}

.premium-menu.is-open .premium-menu__overlay{
  opacity:1;
}

.premium-menu__sidebar{
  position:absolute;
  top:0;
  right:0;
  width:100%;
  max-width:420px;
  height:100%;
  background:linear-gradient(180deg,rgba(15,17,21,.98),rgba(11,13,18,.98));
  border-left:1px solid var(--border);
  box-shadow:var(--shadow-lg),var(--shadow-gold-lg);
  display:flex;
  flex-direction:column;
  transform:translateX(100%);
  transition:transform var(--transition);
  overflow:hidden;
  backdrop-filter:var(--blur-md);
  -webkit-backdrop-filter:var(--blur-md);
}

.premium-menu.is-open .premium-menu__sidebar{
  transform:translateX(0);
}

.premium-menu__header{
  padding:32px 24px 24px;
  border-bottom:1px solid var(--border);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:16px;
  position:relative;
  background:linear-gradient(135deg,rgba(212,175,55,.05),transparent);
}

.premium-menu__logo{
  width:80px;
  height:80px;
  border-radius:50%;
  overflow:hidden;
  border:3px solid var(--border);
  box-shadow:var(--shadow-gold);
  background:var(--card);
  display:flex;
  align-items:center;
  justify-content:center;
  transition:all var(--transition);
}

.premium-menu__logo:hover{
  border-color:var(--gold);
  box-shadow:var(--shadow-gold-lg);
  transform:scale(1.05);
}

.premium-menu__logo-img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.premium-menu__brand{
  font-size:1.5rem;
  font-weight:800;
  background:linear-gradient(135deg,var(--text),var(--gold-soft));
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
  margin:0;
  letter-spacing:-0.5px;
}

.premium-menu__close{
  position:absolute;
  top:24px;
  right:24px;
  width:40px;
  height:40px;
  border-radius:50%;
  border:1px solid var(--border);
  background:rgba(15,17,21,.8);
  color:var(--silver);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:all var(--transition-fast);
  backdrop-filter:var(--blur-sm);
  -webkit-backdrop-filter:var(--blur-sm);
}

.premium-menu__close:hover{
  border-color:var(--gold);
  background:rgba(212,175,55,.15);
  color:var(--gold-hover);
  transform:rotate(90deg) scale(1.1);
  box-shadow:var(--shadow-gold);
}

.premium-menu__close svg{
  width:20px;
  height:20px;
}

.premium-menu__content{
  flex:1;
  overflow-y:auto;
  overflow-x:hidden;
  padding:24px 0;
  scrollbar-width:thin;
  scrollbar-color:var(--gold) rgba(255,255,255,.03);
}

.premium-menu__content::-webkit-scrollbar{
  width:6px;
}

.premium-menu__content::-webkit-scrollbar-track{
  background:rgba(255,255,255,.03);
  border-radius:10px;
  margin:8px 0;
}

.premium-menu__content::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,var(--gold),var(--gold-dark));
  border-radius:10px;
  border:1px solid rgba(212,175,55,.2);
}

.premium-menu__content::-webkit-scrollbar-thumb:hover{
  background:linear-gradient(180deg,var(--gold-hover),var(--gold));
}

.premium-menu__nav{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:0 20px 24px;
}

.premium-menu__link{
  display:flex;
  align-items:center;
  gap:16px;
  padding:16px 20px;
  color:var(--silver);
  font-weight:500;
  font-size:1rem;
  border-radius:var(--radius-sm);
  transition:all var(--transition-fast);
  position:relative;
  text-decoration:none;
}

.premium-menu__link::before{
  content:'';
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  width:3px;
  height:0;
  background:linear-gradient(180deg,var(--gold),var(--gold-hover));
  border-radius:0 4px 4px 0;
  transition:height var(--transition-fast);
}

.premium-menu__link:hover,
.premium-menu__link:focus{
  background:rgba(212,175,55,.1);
  color:var(--gold-hover);
  transform:translateX(4px);
  padding-left:24px;
}

.premium-menu__link:hover::before,
.premium-menu__link:focus::before{
  height:60%;
}

.premium-menu__icon{
  width:20px;
  height:20px;
  flex-shrink:0;
  stroke:currentColor;
  transition:transform var(--transition-fast);
}

.premium-menu__link:hover .premium-menu__icon,
.premium-menu__link:focus .premium-menu__icon{
  transform:scale(1.1);
  color:var(--gold);
}

.premium-menu__section{
  padding:24px 20px;
  border-top:1px solid var(--border);
}

.premium-menu__section:first-of-type{
  border-top:none;
}

.premium-menu__section-title{
  font-size:0.875rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:1px;
  color:var(--gold);
  margin:0 0 16px;
  display:flex;
  align-items:center;
  gap:8px;
}

.premium-menu__section-title::after{
  content:'';
  flex:1;
  height:1px;
  background:linear-gradient(90deg,var(--gold),transparent);
}

.premium-menu__contact{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.premium-menu__contact-item{
  display:flex;
  align-items:center;
  gap:16px;
  padding:16px;
  background:rgba(15,17,21,.5);
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  transition:all var(--transition-fast);
  text-decoration:none;
  color:var(--silver);
}

.premium-menu__contact-item:hover{
  border-color:var(--gold);
  background:rgba(212,175,55,.1);
  transform:translateX(4px);
  box-shadow:var(--shadow-gold);
}

.premium-menu__contact-icon{
  width:24px;
  height:24px;
  flex-shrink:0;
  color:var(--gold);
  transition:transform var(--transition-fast);
}

.premium-menu__contact-item:hover .premium-menu__contact-icon{
  transform:scale(1.15);
  color:var(--gold-hover);
}

.premium-menu__contact-text{
  display:flex;
  flex-direction:column;
  gap:4px;
  flex:1;
}

.premium-menu__contact-label{
  font-size:0.75rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:0.5px;
  color:var(--muted);
}

.premium-menu__contact-value{
  font-size:0.95rem;
  font-weight:500;
  color:var(--text);
}

.premium-menu__contact-item:hover .premium-menu__contact-value{
  color:var(--gold-hover);
}

.premium-menu__social{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}

.premium-menu__social-link{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:16px 12px;
  background:rgba(15,17,21,.5);
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  transition:all var(--transition-fast);
  text-decoration:none;
  text-align:center;
  width:100%;
  min-height:90px;
}

.premium-menu__social-link:hover{
  border-color:var(--gold);
  background:rgba(212,175,55,.1);
  transform:translateY(-2px);
  box-shadow:var(--shadow-gold);
  color:var(--gold-hover);
}

.premium-menu__social-icon-wrapper{
  width:40px;
  height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(15,17,21,.6);
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  transition:all var(--transition-fast);
  flex-shrink:0;
}

.premium-menu__social-icon{
  width:20px;
  height:20px;
  color:var(--gold);
  transition:all var(--transition-fast);
}

.premium-menu__social-link:hover .premium-menu__social-icon-wrapper{
  background:rgba(212,175,55,.15);
  border-color:var(--gold);
  transform:scale(1.05);
}

.premium-menu__social-link:hover .premium-menu__social-icon{
  color:var(--gold-hover);
  transform:scale(1.1);
}

.premium-menu__social-link span{
  font-size:0.75rem;
  font-weight:500;
  color:var(--silver);
  transition:color var(--transition-fast);
  margin-top:4px;
}

.premium-menu__social-link:hover span{
  color:var(--gold-hover);
}

/* Responsive */
@media (max-width:480px){
  .premium-menu__sidebar{
    max-width:100%;
  }
  
  .premium-menu__social{
    grid-template-columns:repeat(2,1fr);
  }
  
  .premium-menu__header{
    padding:24px 20px 20px;
  }
  
  .premium-menu__logo{
    width:64px;
    height:64px;
  }
  
  .premium-menu__brand{
    font-size:1.25rem;
  }
}

/* ============================================ */
/* HERO PREMIUM */
/* ============================================ */
.hero{
  position:relative;
  padding:100px 0 80px;
  overflow:hidden;
  min-height:600px;
  display:flex;
  align-items:center;
}

@media (max-width:768px){
  .hero{
    padding:80px 0 60px;
    min-height:500px;
  }
}

.hero__carousel {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

.hero__carousel-track {
  position: relative;
  width: 100%;
  height: 100%;
}

.hero__carousel-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0;
  transition: opacity 2s ease-in-out;
  z-index: 0;
}

.hero__carousel-slide.active {
  opacity: 1;
  z-index: 1;
}

.hero__overlay{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:linear-gradient(
    135deg,
    rgba(5,6,9,0.88) 0%,
    rgba(5,6,9,0.78) 50%,
    rgba(5,6,9,0.88) 100%
  );
  z-index:2;
  pointer-events:none;
}

.hero__inner {
  position: relative;
  z-index: 2;
  width: 100%;
}

.hero__title{
  font-size:clamp(2rem,4vw,3rem);
  line-height:1.1;
  margin:0 0 16px;
  font-weight:800;
  letter-spacing:-0.5px;
  background:linear-gradient(135deg,var(--text),var(--gold-soft));
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}

.hero__subtitle{
  color:var(--muted);
  max-width:65ch;
  margin:0 0 24px;
  font-size:1.1rem;
  line-height:1.7;
}

.hero__actions{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  margin:24px 0;
}

/* ============================================ */
/* BOTONES PREMIUM - FINANCIAL UI */
/* ============================================ */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:14px 28px;
  border-radius:var(--radius);
  font-weight:600;
  font-size:1rem;
  letter-spacing:0.3px;
  transition:all var(--transition);
  position:relative;
  overflow:hidden;
  cursor:pointer;
  border:none;
  text-decoration:none;
  white-space:nowrap;
}

.btn::before{
  content:'';
  position:absolute;
  top:50%;
  left:50%;
  width:0;
  height:0;
  border-radius:50%;
  background:rgba(255,255,255,.1);
  transform:translate(-50%,-50%);
  transition:width var(--transition-slow),height var(--transition-slow);
}

.btn:hover::before{
  width:300px;
  height:300px;
}

.btn:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow-lg);
}

.btn:active{
  transform:translateY(0);
}

.btn--primary{
  background:linear-gradient(135deg,var(--gold),var(--gold-dark));
  color:#050609;
  border:1px solid transparent;
  box-shadow:0 4px 16px rgba(212,175,55,.3),inset 0 1px 0 rgba(255,255,255,.2);
}

.btn--primary:hover{
  background:linear-gradient(135deg,var(--gold-hover),var(--gold));
  box-shadow:0 8px 24px rgba(212,175,55,.4),inset 0 1px 0 rgba(255,255,255,.3);
  color:#050609;
}

.btn--ghost{
  background:rgba(212,175,55,.08);
  color:var(--gold);
  border:1px solid var(--border);
  backdrop-filter:var(--blur-sm);
}

.btn--ghost:hover{
  background:rgba(212,175,55,.15);
  border-color:var(--border-hover);
  color:var(--gold-hover);
  box-shadow:var(--shadow-gold);
}
.hero__media{
  margin:28px 0 0;
  border-radius:16px;
  overflow:hidden;
  border:1px solid rgba(212,175,55,.12);
  box-shadow:var(--shadow);
  position: relative;
  z-index: 3;
}
.hero__media figcaption{
  color:var(--muted);
  font-size:.9rem;
  margin-top:6px;
  padding-top:8px;
  border-top:1px solid rgba(212,175,55,.3);
  text-align:center;
  font-weight:500;
}

/* ============================================ */
/* SECCIONES PREMIUM */
/* ============================================ */
.section{
  padding:80px 0;
  position:relative;
}

@media (max-width:768px){
  .section{padding:60px 0}
}
.placeholder .container{border:1px dashed rgba(212,175,55,.25);border-radius:12px;padding:18px;background:linear-gradient(180deg,var(--card),#111113)}
.placeholder h2{margin:0 0 6px}
.placeholder p{margin:0;color:var(--muted)}

/* === Footer === */
.footer{border-top:1px solid rgba(212,175,55,.15);background:linear-gradient(0deg,rgba(212,175,55,.05),transparent)}
.footer__inner{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 0;flex-wrap:wrap}
.footer__copy{color:var(--muted);margin:0}

/* === Responsive === */
@media (max-width: 820px){
  .nav__links{display:none}
  .nav__toggle{display:block}
  .hero{
    padding:48px 0 24px;
    min-height: 400px;
  }
}

/* === Servicios === */
.services__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 30px;
}

/* ============================================ */
/* CARDS PREMIUM - BLUR Y SOMBRAS */
/* ============================================ */
.card{
  background:linear-gradient(180deg,rgba(15,17,21,.95),rgba(11,13,18,.95));
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:32px;
  box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,.03);
  position:relative;
  transition:all var(--transition);
  overflow:hidden;
  backdrop-filter:var(--blur-sm);
  -webkit-backdrop-filter:var(--blur-sm);
}

/* Efecto hover profesional para tarjetas de servicios */
.card.service {
  cursor: pointer;
}

/* Estilos para enlaces que son tarjetas de servicios */
a.card.service {
  text-decoration: none;
  display: block;
  color: inherit;
}

a.card.service:visited {
  color: inherit;
}

a.card.service:focus {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}

.card.service::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(circle at center, rgba(247, 200, 115, 0.03) 0%, transparent 70%);
  opacity: 0;
  transition: opacity 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none;
  z-index: 0;
}

.card.service:hover{
  border-color:var(--border-hover);
  background:linear-gradient(180deg,rgba(11,13,18,.98),rgba(5,6,9,.98));
  box-shadow:
    var(--shadow-lg),
    var(--shadow-gold-lg),
    inset 0 1px 0 rgba(255,255,255,.05);
  transform:translateY(-4px);
  backdrop-filter:var(--blur-md);
  -webkit-backdrop-filter:var(--blur-md);
}

.card.service:hover::before {
  opacity: 1;
}

.card.service h3,
.card.service p,
.card.service ul {
  position: relative;
  z-index: 1;
}

.card h3 {
  margin-top: 0;
  color: var(--gold);
  transition: color 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.card.service:hover h3 {
  color: var(--gold-hover);
}

.card p {
  color: var(--muted);
  margin-bottom: 12px;
  transition: color 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.card.service:hover p {
  color: var(--silver);
}

.card ul {
  list-style: none;
  padding-left: 0;
  color: var(--text);
  transition: color 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.card.service:hover ul {
  color: var(--silver);
}

.card ul li {
  margin-bottom: 6px;
  position: relative;
  padding-left: 16px;
  transition: color 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.card ul li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: var(--gold);
  transition: color 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.card.service:hover ul li::before {
  color: var(--gold-hover);
}

/* Responsive */
@media (max-width: 900px) {
  .services__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 600px) {
  .services__grid {
    grid-template-columns: 1fr;
  }
}

/* === Tarifas === */
.pricing .section__head p{color:var(--muted)}

.pricing__table{
  display:grid;
  border:1px solid rgba(212,175,55,.15);
  border-radius:var(--radius);
  overflow:hidden;
  background:var(--bg2);
  box-shadow:var(--shadow);
  grid-template-columns: 1fr;
}

.pricing__row{
  display:grid;
  grid-template-columns: 1.8fr 1fr 1.5fr;
  align-items:center;
}

.pricing__row > span{
  padding:16px 20px;
  border-top:1px solid rgba(212,175,55,.1);
  display:flex;
  align-items:center;
}

.pricing__row > span:first-child {
  font-weight: 600;
  color: var(--text);
}

.pricing__row > span:nth-child(2) {
  justify-content: center;
  font-weight: 700;
  color: var(--gold);
  font-size: 1.1rem;
  font-family: 'Montserrat', monospace;
}

.pricing__row > span:last-child {
  justify-content: flex-end;
  color: var(--muted);
  font-size: 0.9rem;
}

.pricing__row--head{
  background:rgba(212,175,55,.08);
  font-weight:700;
  border-top:none;
  text-transform: uppercase;
  font-size: 0.85rem;
  letter-spacing: 0.5px;
  display: grid;
  grid-template-columns: 1.8fr 1fr 1.5fr;
  align-items: center;
}

.pricing__row--head > span {
  color: var(--gold);
  font-weight: 700;
  display: flex;
  align-items: center;
  padding: 16px 20px;
}

.pricing__row--head > span:first-child {
  justify-content: flex-start;
}

.pricing__row--head > span:nth-child(2) {
  justify-content: center;
}

.pricing__row--head > span:last-child {
  justify-content: flex-end;
}
.pricing__note{
  color:var(--muted);
  margin-top:10px;
  font-size:.95rem;
}
.pricing__cta{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:16px;
}

/* Responsive para la tabla */
@media (max-width: 900px){
  .pricing__row{
    grid-template-columns: 1.6fr 1fr 1.4fr;
  }
  .pricing__row > span {
    padding: 14px 16px;
    font-size: 0.95rem;
  }
}

@media (max-width: 640px){
  .pricing__table{
    display: block;
  }
  .pricing__row{
    display: grid;
    grid-template-columns: 1fr;
    border-bottom: 1px solid rgba(212,175,55,.12);
    padding: 12px 0;
  }
  .pricing__row--head{
    display: none;
  }
  .pricing__row > span{
    border-top: none;
    padding: 6px 0;
    justify-content: flex-start !important;
    display: flex;
    align-items: center;
  }
  .pricing__row > span:first-child{
    font-weight: 700;
    color: var(--text);
    font-size: 1rem;
    padding-top: 0;
    margin-bottom: 4px;
  }
  .pricing__row > span:nth-child(2){
    font-size: 1.1rem;
    justify-content: flex-start !important;
  }
  .pricing__row > span::before{
    content: attr(data-label);
    color: var(--muted);
    font-size: 0.85rem;
    font-weight: 600;
    margin-right: 12px;
    min-width: 120px;
  }
  .pricing__row > span:nth-child(2)::before{
    content: "Spread: ";
  }
  .pricing__row > span:last-child::before{
    content: "Beneficios: ";
  }
}

/* === Contacto === */
.contact .section__head p{color:var(--muted)}
.contact__grid{
  display:grid;
  grid-template-columns:1.3fr .7fr;
  gap:20px;
}
/* ============================================ */
/* FORMULARIO PREMIUM */
/* ============================================ */
.form{
  background:linear-gradient(180deg,rgba(15,17,21,.95),rgba(11,13,18,.95));
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:32px;
  box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,.03);
  backdrop-filter:var(--blur-sm);
  -webkit-backdrop-filter:var(--blur-sm);
}

.form__row{
  display:flex;
  flex-direction:column;
  margin-bottom:20px;
}

.form label{
  font-weight:600;
  margin-bottom:8px;
  color:var(--text);
  font-size:0.95rem;
}

.form input,
.form select,
.form textarea{
  background:rgba(5,6,9,.6);
  border:1px solid var(--border);
  color:var(--text);
  border-radius:var(--radius-sm);
  padding:14px 16px;
  outline:none;
  font-family:inherit;
  font-size:1rem;
  transition:all var(--transition-fast);
  backdrop-filter:var(--blur-sm);
  -webkit-backdrop-filter:var(--blur-sm);
}

.form input:focus,
.form select:focus,
.form textarea:focus{
  border-color:var(--border-hover);
  box-shadow:0 0 0 3px rgba(212,175,55,.15),var(--shadow-gold);
  background:rgba(5,6,9,.8);
}
.form__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}
.whatsapp-cta{border:1px solid rgba(212,175,55,.35)}
.form__hint{color:var(--muted);margin-top:10px}
.privacy{color:var(--muted);font-size:.9rem;margin-top:6px}

.contact__info{display:grid;gap:12px;height:max-content}
.info__card{
  background:linear-gradient(180deg,var(--card),#111113);
  border:1px solid rgba(212,175,55,.12);
  border-radius:var(--radius);
  padding:14px;
}
.info__card h3{margin:0 0 6px}
.info__card p{margin:0;color:#dcdcdc}

/* Responsive */
@media (max-width: 900px){
  .contact__grid{grid-template-columns:1fr}
}

/* === FAQ === */
.faq .section__head p{color:var(--muted)}
.faq__item{
  border:1px solid rgba(212,175,55,.15);
  border-radius:12px;
  padding:12px 14px;
  margin:12px 0;
  background:var(--bg2);
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.faq__item summary{
  cursor:pointer;
  font-weight:600;
  list-style:none; /* quita el triángulo por defecto en algunos navegadores */
}
.faq__item[open]{
  background:linear-gradient(180deg,var(--card),#111113);
  box-shadow:var(--shadow);
  border-color:rgba(212,175,55,.3);
}
.faq__item p{color:var(--muted);margin:8px 0 0}

/* === Botón flotante WhatsApp Premium === */
.wa-float {
  position:fixed;
  right:18px;
  bottom:18px;
  width:56px;
  height:56px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--bg);
  color:var(--gold);
  border:2px solid var(--gold);
  box-shadow:0 10px 20px rgba(0,0,0,.35), 0 0 20px rgba(212,175,55,.2);
  z-index:90;
  transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  animation:pulse-gold 2s ease-in-out infinite;
}
.wa-float:hover{
  transform:translateY(-3px) scale(1.05);
  box-shadow:0 14px 28px rgba(0,0,0,.45), 0 0 30px rgba(247,200,115,.4);
  border-color:var(--gold-hover);
  background:rgba(26,26,29,.95);
}
.wa-icon{display:block;transition:transform 0.3s ease}
.wa-float:hover .wa-icon{transform:scale(1.1)}
@keyframes pulse-gold {
  0%, 100% { box-shadow:0 10px 20px rgba(0,0,0,.35), 0 0 20px rgba(212,175,55,.2); }
  50% { box-shadow:0 10px 20px rgba(0,0,0,.35), 0 0 25px rgba(247,200,115,.3); }
}
@media (max-width: 480px){
  .wa-float{width:52px;height:52px;right:14px;bottom:14px}
}

/* ============================================ */
/* MENÚ MÓVIL PREMIUM */
/* ============================================ */
@media (max-width:820px){
  .nav__links{
    display:none;
    position:absolute;
    top:calc(100% + 8px);
    right:12px;
    left:12px;
    padding:16px;
    background:linear-gradient(180deg,rgba(15,17,21,.98),rgba(11,13,18,.98));
    border:1px solid var(--border);
    border-radius:var(--radius);
    box-shadow:var(--shadow-lg),var(--shadow-gold);
    flex-direction:column;
    gap:8px;
    backdrop-filter:var(--blur-md);
    -webkit-backdrop-filter:var(--blur-md);
  }

  .nav__links a{
    padding:14px 16px;
    border-radius:var(--radius-sm);
    transition:all var(--transition-fast);
  }

  .nav__links a:hover{
    background:rgba(212,175,55,.12);
    transform:translateX(4px);
  }

  .nav__right{
    width:100%;
    display:flex;
    align-items:stretch;
    gap:8px;
  }

  .nav__menu{
    flex:1;
  }

  .nav__menu-trigger{
    width:100%;
    justify-content:space-between;
  }

  .nav__menu-dropdown{
    position:static;
    width:100%;
    margin-top:8px;
    max-height:0;
    overflow:hidden;
    opacity:0;
    pointer-events:none;
    transform:none;
    box-shadow:none;
    border-radius:var(--radius-sm);
  }

  .nav__menu-dropdown.is-open{
    max-height:500px;
    opacity:1;
    pointer-events:auto;
    border-color:var(--border-hover);
    box-shadow:var(--shadow);
  }

  .lang-selector{
    flex-shrink:0;
  }

  .lang-selector__trigger{
    width:44px;
    height:44px;
  }

  .lang-selector__dropdown{
    right:0;
    left:auto;
    width:100%;
    max-width:200px;
  }

  .nav__links.is-open{
    display:flex;
    animation:slideDown 0.3s ease-out;
  }

  @keyframes slideDown{
    from{
      opacity:0;
      transform:translateY(-10px);
    }
    to{
      opacity:1;
      transform:translateY(0);
    }
  }

  .nav__toggle{
    display:flex;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    border-radius:var(--radius-sm);
    background:rgba(15,17,21,.8);
    border:1px solid var(--border);
    backdrop-filter:var(--blur-sm);
    -webkit-backdrop-filter:var(--blur-sm);
  }

  .nav__toggle:hover{
    background:rgba(212,175,55,.12);
    border-color:var(--border-hover);
  }

  .nav__menu{
    width:100%;
    flex-direction:column;
    align-items:stretch;
  }

  .nav__menu-trigger{
    width:100%;
    justify-content:space-between;
  }

  .nav__menu-dropdown{
    position:static;
    width:100%;
    margin-top:8px;
    max-height:0;
    overflow:hidden;
    opacity:0;
    pointer-events:none;
    transform:none;
    box-shadow:none;
    border-radius:var(--radius-sm);
  }

  .nav__menu-dropdown.is-open{
    max-height:500px;
    opacity:1;
    pointer-events:auto;
    border-color:var(--border-hover);
    box-shadow:var(--shadow);
  }
}

/* ============================================ */
/* CONFIGURACIÓN DE SCROLL SUAVE */
/* Este CSS controla el comportamiento del scroll */
/* scroll-padding-top compensa la altura del navbar fijo */
/* Ubicación: Línea ~609 en css/styles.css */
/* ============================================ */
html { 
  scroll-behavior: smooth;
  /* Compensación para el navbar fijo - se ajusta automáticamente */
  scroll-padding-top: 80px; /* Altura aproximada del navbar + offset */
}

/* ============================================ */
/* ANIMACIONES PREMIUM SUAVES */
/* ============================================ */
@keyframes fadeInUp{
  from{
    opacity:0;
    transform:translateY(40px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

@keyframes fadeIn{
  from{opacity:0}
  to{opacity:1}
}

@keyframes slideInRight{
  from{
    opacity:0;
    transform:translateX(30px);
  }
  to{
    opacity:1;
    transform:translateX(0);
  }
}

@keyframes slideDown{
  from{
    opacity:0;
    transform:translateY(-20px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.6; }
}

@keyframes shimmer {
  0% { background-position: -1000px 0; }
  100% { background-position: 1000px 0; }
}

.section {
  animation: fadeInUp 0.6s ease-out;
}

.section__head {
  animation: fadeInUp 0.6s ease-out 0.1s both;
}


/* ============================================ */
/* SCROLL REVEAL PREMIUM */
/* ============================================ */
.reveal{
  opacity:0;
  transform:translateY(50px);
  transition:opacity var(--transition-slow),transform var(--transition-slow);
}

.reveal.active{
  opacity:1;
  transform:translateY(0);
}

/* === Header enhancements === */
.header {
  transition: background 0.3s ease, border-color 0.3s ease;
}

.header.scrolled {
  background: rgba(11,11,13,.95);
  border-bottom-color: rgba(212,175,55,.25);
}

.brand__logo {
  transition: transform 0.3s ease;
}

.brand:hover .brand__logo {
  transform: scale(1.1) rotate(5deg);
}

.nav__toggle {
  transition: transform 0.2s ease;
  cursor: pointer;
}

.nav__toggle:hover {
  transform: scale(1.1);
}

.nav__toggle.active {
  transform: rotate(90deg);
}

/* === Hero enhancements === */
.hero__title {
  animation: fadeInUp 0.8s ease-out;
}

.hero__subtitle {
  animation: fadeInUp 0.8s ease-out 0.2s both;
}

.hero__actions {
  animation: fadeInUp 0.8s ease-out 0.4s both;
}

.hero__media {
  animation: fadeIn 1s ease-out 0.6s both;
}

/* Botones ya actualizados arriba - eliminando duplicado */

/* === Card enhancements === */

/* === Loading states === */
.loading {
  position: relative;
  overflow: hidden;
}

.loading::after {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(212,175,55,.2), transparent);
  animation: shimmer 1.5s infinite;
}

/* === Scroll to top button === */
.scroll-top {
  position: fixed;
  bottom: 80px;
  right: 18px;
  width: 48px;
  height: 48px;
  background: linear-gradient(180deg, var(--gold), var(--gold-d));
  color: #0b0b0c;
  border: 1px solid rgba(212,175,55,.35);
  border-radius: 50%;
  display: grid;
  place-items: center;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
  z-index: 89;
  box-shadow: 0 4px 12px rgba(0,0,0,.3);
}

.scroll-top.visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.scroll-top:hover {
  transform: translateY(-4px);
  box-shadow: 0 6px 16px rgba(212,175,55,.4);
}

.scroll-top svg {
  width: 20px;
  height: 20px;
}

@media (max-width: 480px) {
  .scroll-top {
    bottom: 70px;
    right: 14px;
    width: 44px;
    height: 44px;
  }
}

/* === Form enhancements === */
.form input:invalid:not(:focus):not(:placeholder-shown),
.form select:invalid:not(:focus) {
  border-color: rgba(239, 68, 68, 0.5);
}

.form input:valid:not(:placeholder-shown),
.form select:valid {
  border-color: rgba(34, 197, 94, 0.5);
}

.form__row {
  position: relative;
}

.form__error {
  color: #ef4444;
  font-size: 0.85rem;
  margin-top: 4px;
  display: none;
}

.form__row.error .form__error {
  display: block;
}

.form__success {
  background: rgba(34, 197, 94, 0.1);
  border: 1px solid rgba(34, 197, 94, 0.3);
  color: #4ade80;
  padding: 12px;
  border-radius: 10px;
  margin-top: 12px;
  display: none;
}

.form__success.show {
  display: block;
  animation: fadeInUp 0.4s ease-out;
}

/* === Rates table enhancements === */
.rates__row {
  transition: background 0.2s ease;
}

.rates__row:hover {
  background: rgba(212,175,55,.05);
}

.rates__row .cop,
.rates__row .usd {
  transition: color 0.3s ease;
}

.rates__row.updating .cop,
.rates__row.updating .usd {
  animation: pulse 1s ease-in-out infinite;
}

/* === Mobile menu enhancements === */
@media (max-width: 820px) {
  .nav__links {
    opacity: 0;
    transform: translateY(-10px);
    transition: opacity 0.3s ease, transform 0.3s ease;
  }

  .nav__links.is-open {
    opacity: 1;
    transform: translateY(0);
    animation: slideInRight 0.3s ease-out;
  }

  .nav__links a {
    opacity: 0;
    transform: translateX(-10px);
    transition: opacity 0.3s ease, transform 0.3s ease;
  }

  .nav__links.is-open > a {
    opacity: 1;
    transform: translateX(0);
  }

  .nav__links.is-open > a:nth-of-type(1) { transition-delay: 0.05s; }
  .nav__links.is-open > a:nth-of-type(2) { transition-delay: 0.1s; }
  .nav__links.is-open > a:nth-of-type(3) { transition-delay: 0.15s; }
  .nav__links.is-open > a:nth-of-type(4) { transition-delay: 0.2s; }
}

/* ============================================ */
/* HEADINGS PREMIUM */
/* ============================================ */
.section__head{
  text-align:center;
  margin-bottom:56px;
  max-width:800px;
  margin-left:auto;
  margin-right:auto;
}

.section__head h2{
  font-size:clamp(2rem,5vw,3rem);
  margin:0 0 16px;
  font-weight:800;
  letter-spacing:-0.5px;
  line-height:1.2;
  background:linear-gradient(135deg,var(--text),var(--gold-soft));
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}

.section__head p{
  font-size:1.1rem;
  line-height:1.7;
  color:var(--muted);
  margin:0;
}

@media (max-width:768px){
  .section__head{margin-bottom:40px}
  .section__head p{font-size:1rem}
}

/* === Pricing row hover === */
.pricing__row:not(.pricing__row--head):hover {
  background: rgba(212,175,55,.05);
  transition: background 0.2s ease;
}

/* === FAQ enhancements === */
.faq__item summary::after {
  content: '+';
  float: right;
  font-size: 1.2rem;
  font-weight: 300;
  transition: transform 0.3s ease;
}

.faq__item[open] summary::after {
  content: '−';
  transform: rotate(180deg);
}

/* === Footer enhancements === */
.footer {
  animation: fadeIn 0.6s ease-out;
}

/* === Top 20 Crypto Ticker === */
.market-ticker {
  background: linear-gradient(180deg, rgba(11,11,12,0.95), rgba(18,18,20,0.95));
  border-top: 1px solid rgba(212,175,55,.15);
  border-bottom: 1px solid rgba(212,175,55,.15);
  padding: 20px 0;
  position: relative;
  overflow: hidden;
}

.market-ticker__container {
  max-width: 100%;
  margin: 0 auto;
  padding: 0 20px;
}

.market-ticker__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
  padding: 0 12px;
}

.market-ticker__label {
  font-weight: 700;
  font-size: 0.95rem;
  color: var(--gold);
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.market-ticker__live {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.85rem;
  color: var(--muted);
  font-weight: 600;
}

.live-indicator {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #22c55e;
  animation: pulse 2s ease-in-out infinite;
  box-shadow: 0 0 8px rgba(34, 197, 94, 0.6);
}

.market-ticker__wrapper {
  position: relative;
  overflow: hidden;
  mask-image: linear-gradient(
    to right,
    transparent 0%,
    black 5%,
    black 95%,
    transparent 100%
  );
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0%,
    black 5%,
    black 95%,
    transparent 100%
  );
}

.market-ticker__track {
  display: flex;
  gap: 0;
  animation: scroll-ticker 120s linear infinite;
  will-change: transform;
  width: fit-content;
}

.market-ticker__track:hover {
  animation-play-state: paused;
}

.market-ticker__item {
  flex-shrink: 0;
  padding: 12px 20px;
  background: linear-gradient(135deg, rgba(22,22,26,0.8), rgba(18,18,20,0.8));
  border: 1px solid rgba(212,175,55,.12);
  border-radius: 10px;
  margin-right: 12px;
  min-width: 200px;
  transition: all 0.3s ease;
  backdrop-filter: blur(10px);
}

.market-ticker__item:hover {
  border-color: rgba(212,175,55,.3);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(212,175,55,.15);
  background: linear-gradient(135deg, rgba(22,22,26,0.95), rgba(18,18,20,0.95));
}

.market-ticker__item--loading {
  opacity: 0.6;
  pointer-events: none;
}

/* === Estados de carga y error del ticker === */
.ticker-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 20px;
  min-height: 100px;
}

.ticker-loading__spinner {
  width: 32px;
  height: 32px;
  border: 3px solid rgba(212,175,55,.2);
  border-top-color: var(--gold);
  border-radius: 50%;
  animation: ticker-spin 0.8s linear infinite;
}

@keyframes ticker-spin {
  to { transform: rotate(360deg); }
}

.ticker-loading__text {
  color: var(--muted);
  font-size: 0.9rem;
  font-weight: 600;
  text-align: center;
}

/* Mensaje de error del ticker */
.market-ticker__error {
  padding: 24px;
  text-align: center;
  background: linear-gradient(180deg, rgba(22,22,26,0.95), rgba(18,18,20,0.95));
  border: 1px solid rgba(212,175,55,.2);
  border-radius: 12px;
  margin: 12px 0;
}

.ticker-error__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

.ticker-error__icon {
  font-size: 2rem;
  opacity: 0.8;
}

.ticker-error__message {
  color: var(--silver);
  font-size: 0.95rem;
  line-height: 1.6;
  margin: 0;
  max-width: 500px;
}

.ticker-error__retry {
  margin-top: 8px;
  padding: 10px 20px;
  font-size: 0.9rem;
  border: 1px solid rgba(212,175,55,.35);
  color: var(--gold);
  background: rgba(212,175,55,.1);
  transition: all 0.3s ease;
}

.ticker-error__retry:hover {
  background: rgba(212,175,55,.2);
  border-color: var(--gold-hover);
  color: var(--gold-hover);
  transform: translateY(-2px);
}

.ticker-item__content {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.ticker-item__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.ticker-item__name {
  font-weight: 600;
  font-size: 0.9rem;
  color: var(--text);
  display: flex;
  align-items: center;
  gap: 6px;
}

.ticker-item__symbol {
  font-weight: 700;
  color: var(--gold);
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.ticker-item__rank {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  background: rgba(212,175,55,.15);
  border-radius: 4px;
  font-size: 0.7rem;
  font-weight: 700;
  color: var(--gold);
}

.ticker-item__price {
  font-size: 1rem;
  font-weight: 700;
  color: var(--text);
  font-family: 'Montserrat', monospace;
}

.ticker-item__change {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 0.85rem;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 4px;
  width: fit-content;
}

.ticker-item__change--positive {
  color: #22c55e;
  background: rgba(34, 197, 94, 0.1);
}

.ticker-item__change--negative {
  color: #ef4444;
  background: rgba(239, 68, 68, 0.1);
}

.ticker-item__change--neutral {
  color: var(--muted);
  background: rgba(166, 166, 173, 0.1);
}

.ticker-item__change-icon {
  font-size: 0.75rem;
}

@keyframes scroll-ticker {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(calc(-50% - 6px));
  }
}

/* Duplicate items for seamless loop */
.market-ticker__track::after {
  content: '';
  display: none;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .market-ticker__item {
    min-width: 180px;
    padding: 10px 16px;
  }
  
  .ticker-item__price {
    font-size: 0.9rem;
  }
  
  .market-ticker__header {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
}

@media (max-width: 480px) {
  .market-ticker__item {
    min-width: 160px;
    padding: 8px 12px;
  }
  
  .ticker-item__name {
    font-size: 0.85rem;
  }
  
  .ticker-item__price {
    font-size: 0.85rem;
  }
}

/* === Tipos de cambio === */
.rates .section__head p{color:var(--muted)}
.rates__table-wrapper {
  width: 100%;
  margin: 20px 0;
}

.rates__table{
  display:grid;
  border:1px solid rgba(212,175,55,.15);
  border-radius:var(--radius);
  overflow:hidden;
  background:var(--bg2);
  box-shadow:var(--shadow);
  grid-template-columns: 1.5fr 1fr 1fr 1fr;
}

.rates__row{
  display:contents;
}

.rates__cell{
  padding:16px 20px;
  display:flex;
  align-items:center;
  border-top:1px solid rgba(212,175,55,.1);
  transition:background 0.2s ease;
  white-space: nowrap; /* Evitar que el texto se rompa */
}

.rates__row:not(.rates__head):hover .rates__cell {
  background:rgba(212,175,55,.03);
}

.rates__head .rates__cell{
  background:rgba(212,175,55,.08);
  font-weight:700;
  border-top:none;
  text-transform:uppercase;
  font-size:0.85rem;
  letter-spacing:0.5px;
  color:var(--gold);
}

.rates__cell--asset{
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
}

.rates__asset-symbol{
  font-weight:700;
  font-size:1rem;
  color:var(--gold);
  letter-spacing:0.5px;
}

.rates__asset-name{
  font-size:0.85rem;
  color:var(--muted);
  font-weight:500;
}

.rates__cell--price{
  justify-content:flex-end;
  font-family:'Montserrat',monospace;
  font-weight:600;
  font-size:1rem;
}

.rates__cell--price .cop{
  color:var(--text);
}

.rates__cell--price .usd,
.rates__cell--price .eur{
  color:var(--muted);
  font-size:0.9rem;
}

.rates__note{color:var(--muted);margin-top:10px;font-size:.95rem}

/* Scroll horizontal para tabla de tipos de cambio en móvil (Billons Capital) */
@media (max-width: 768px) {
  /* Asegurar que el contenedor padre no bloquee el scroll */
  .rates .container {
    overflow-x: visible;
    overflow-y: visible;
  }
  
  .rates__table-wrapper {
    width: calc(100% + 40px);
    max-width: calc(100% + 40px);
    margin-left: -20px;
    margin-right: -20px;
    padding-left: 20px;
    padding-right: 32px; /* Espacio para botón flotante WhatsApp */
    overflow-x: auto !important;
    overflow-y: visible;
    -webkit-overflow-scrolling: touch;
    display: block;
    position: relative;
    /* Scrollbar personalizada */
    scrollbar-width: thin;
    scrollbar-color: rgba(212,175,55,.3) transparent;
  }
  
  .rates__table-wrapper::-webkit-scrollbar {
    height: 6px;
  }
  
  .rates__table-wrapper::-webkit-scrollbar-track {
    background: transparent;
  }
  
  .rates__table-wrapper::-webkit-scrollbar-thumb {
    background: rgba(212,175,55,.3);
    border-radius: 3px;
  }
  
  .rates__table-wrapper::-webkit-scrollbar-thumb:hover {
    background: rgba(212,175,55,.5);
  }

  .rates__table-wrapper .rates__table {
    min-width: 800px !important; /* Mantiene el tamaño completo de la tabla en móvil */
    width: 100%;
    max-width: none;
  }
  
  /* Asegurar que las celdas no se compriman */
  .rates__table-wrapper .rates__cell {
    flex-shrink: 0;
  }
}

/* === Calculator === */
.calculator-wrapper {
  margin-top: 40px;
  display: flex;
  justify-content: center;
}

.calculator{
  background:linear-gradient(180deg,rgba(15,17,21,.98),rgba(11,13,18,.98));
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  padding:40px;
  max-width:540px;
  width:100%;
  box-shadow:var(--shadow-lg),var(--shadow-gold),inset 0 1px 0 rgba(255,255,255,.03);
  backdrop-filter:var(--blur-md);
  -webkit-backdrop-filter:var(--blur-md);
}

.calculator h3 {
  margin: 0 0 8px;
  color: var(--gold);
  font-size: 1.3rem;
}

.calculator__subtitle {
  color: var(--muted);
  font-size: 0.9rem;
  margin: 0 0 20px;
}

.calculator__form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.calculator__row {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.calculator__row label {
  font-weight: 600;
  color: var(--text);
  font-size: 0.9rem;
}

.calculator__select,
.calculator__input{
  background:rgba(5,6,9,.7);
  border:1px solid var(--border);
  color:var(--text);
  border-radius:var(--radius-sm);
  padding:14px 16px;
  outline:none;
  font-size:1rem;
  transition:all var(--transition-fast);
  font-family:'Montserrat',sans-serif;
  backdrop-filter:var(--blur-sm);
  -webkit-backdrop-filter:var(--blur-sm);
}

.calculator__select:focus,
.calculator__input:focus{
  border-color:var(--border-hover);
  box-shadow:0 0 0 3px rgba(212,175,55,.15),var(--shadow-gold);
  background:rgba(5,6,9,.9);
}

.calculator__row {
  position: relative;
}

.calculator__currency {
  position: absolute;
  right: 14px;
  top: 38px;
  color: var(--muted);
  font-weight: 600;
  pointer-events: none;
}

.calculator__results {
  background: rgba(212,175,55,.05);
  border: 1px solid rgba(212,175,55,.12);
  border-radius: 10px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 8px;
}

.calculator__result {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
}

.calculator__result--total {
  border-top: 1px solid rgba(212,175,55,.2);
  padding-top: 12px;
  margin-top: 4px;
}

.result__label {
  color: var(--muted);
  font-size: 0.9rem;
  font-weight: 600;
}

.result__value {
  color: var(--text);
  font-weight: 700;
  font-size: 1.1rem;
  font-family: 'Montserrat', monospace;
}

.calculator__result--total .result__value {
  color: var(--gold);
  font-size: 1.3rem;
}

.calculator__note {
  margin-top: 8px;
  color: var(--muted);
  font-size: 0.85rem;
  text-align: center;
}

.calculator__action {
  margin-top: 30px;
  text-align: center;
  padding-top: 30px;
  border-top: 1px solid var(--border);
}

.calculator__operate-btn {
  font-size: 1.2rem;
  padding: 16px 40px;
  width: 100%;
  max-width: 400px;
}

.calculator__action-hint {
  color: var(--muted);
  font-size: 0.9rem;
  margin-top: 12px;
  margin-bottom: 0;
}

/* Pricing Tiers Toggle */
.pricing-tiers {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-top: 8px;
}

.pricing-tier {
  background: #0e0e10;
  border: 1px solid rgba(212,175,55,.18);
  border-radius: 10px;
  padding: 12px 10px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  font-family: 'Montserrat', sans-serif;
}

.pricing-tier:hover {
  border-color: rgba(212,175,55,.35);
  background: rgba(212,175,55,.05);
  transform: translateY(-2px);
}

.pricing-tier--active {
  background: linear-gradient(135deg, rgba(212,175,55,.15), rgba(212,175,55,.08));
  border-color: var(--gold);
  box-shadow: 0 0 0 2px rgba(212,175,55,.2);
}

.pricing-tier--active .tier__volume {
  color: var(--gold);
  font-weight: 700;
}

.pricing-tier--active .tier__spread {
  color: var(--gold);
  font-weight: 700;
}

.tier__volume {
  font-size: 0.85rem;
  color: var(--text);
  font-weight: 600;
  text-align: center;
}

.tier__spread {
  font-size: 1rem;
  color: var(--muted);
  font-weight: 700;
  font-family: 'Montserrat', monospace;
}

.pricing-tiers__note {
  display: block;
  margin-top: 8px;
  color: var(--muted);
  font-size: 0.8rem;
  text-align: center;
}

@media (max-width: 640px) {
  .pricing-tiers {
    grid-template-columns: 1fr;
    gap: 6px;
  }
  
  .pricing-tier {
    padding: 10px;
    flex-direction: row;
    justify-content: space-between;
  }
  
  .tier__volume {
    font-size: 0.8rem;
  }
  
  .tier__spread {
    font-size: 0.9rem;
  }
}

@media (max-width: 640px) {
  .calculator {
    padding: 20px;
  }
  
  .calculator h3 {
    font-size: 1.1rem;
  }
  
  .result__value {
    font-size: 1rem;
  }
  
  .calculator__result--total .result__value {
    font-size: 1.2rem;
  }
}

/* === Términos y Políticas (blanco y negro) === */
.terms{color:#fff;background:#000}
.terms .section__head p{color:#d0d0d0}

.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 14px}
.tab{
  background:#0f0f10;border:1px solid rgba(255,255,255,.15);
  color:#ededed;padding:8px 12px;border-radius:10px;cursor:pointer;
}
.tab.is-active{border-color:#fff}

.tab-panel{background:#0b0b0c;border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:14px}
.tab-panel[hidden]{display:none}

.policy-box{display:grid;gap:10px}
.policy{
  border:1px solid rgba(255,255,255,.15);
  border-radius:10px;background:#0f0f10;padding:10px 12px
}
.policy[open]{background:#0e0e0e;border-color:#fff}
.policy summary{cursor:pointer;font-weight:700}
.policy p{color:#d9d9d9;margin:8px 0 0}

.accept-line{margin-top:12px;border-top:1px dashed rgba(255,255,255,.2);padding-top:12px}
.accept{display:flex;align-items:center;gap:10px;color:#e8e8e8;font-weight:600}
.accept input{width:18px;height:18px}

.terms__cta{display:flex;align-items:center;gap:12px;margin-top:12px;flex-wrap:wrap}
.terms__hint{margin:0;color:#c8c8c8;font-size:.95rem}
.terms__state{margin-top:8px;color:#a3e635;font-weight:700}

/* === Sección Misión y Visión === */
.mission-vision {
  background:linear-gradient(180deg, var(--bg), var(--bg2));
  position:relative;
  overflow:hidden;
}
.mission-vision::before {
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  bottom:0;
  background:radial-gradient(circle at 50% 50%, rgba(212,175,55,.03), transparent 70%);
  pointer-events:none;
}
.mission-vision__grid {
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:30px;
  margin-top:30px;
  position:relative;
  z-index:1;
}
.mission-vision__card {
  background:linear-gradient(180deg, var(--card), #111113);
  border:1px solid rgba(212,175,55,.12);
  border-radius:var(--radius);
  padding:32px;
  box-shadow:var(--shadow);
  transition:all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  position:relative;
  overflow:hidden;
}
.mission-vision__card::before {
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:4px;
  background:linear-gradient(90deg, var(--gold), var(--gold-hover));
  transform:scaleX(0);
  transform-origin:left;
  transition:transform 0.35s ease;
}
.mission-vision__card:hover {
  border-color:var(--gold-hover);
  box-shadow:0 10px 30px rgba(0,0,0,.45), 0 0 20px rgba(247,200,115,.1);
  transform:translateY(-4px);
}
.mission-vision__card:hover::before {
  transform:scaleX(1);
}
.mission-vision__card h3 {
  color:var(--gold);
  font-size:1.5rem;
  margin:0 0 16px;
  font-weight:800;
}
.mission-vision__card p {
  color:var(--silver);
  line-height:1.7;
  margin:0;
  font-size:1rem;
}
@media (max-width: 768px) {
  .mission-vision__grid {
    grid-template-columns:1fr;
    gap:20px;
  }
}

/* === Sección Por qué elegirnos === */
.why-choose {
  background:var(--bg);
}
.why-choose__grid {
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
  gap:24px;
  margin-top:40px;
}
.why-choose__card {
  background:linear-gradient(180deg, var(--card), #111113);
  border:1px solid rgba(212,175,55,.12);
  border-radius:var(--radius);
  padding:28px;
  text-align:center;
  transition:all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  position:relative;
  overflow:hidden;
}
.why-choose__card::before {
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  bottom:0;
  background:radial-gradient(circle at center, rgba(247,200,115,.05) 0%, transparent 70%);
  opacity:0;
  transition:opacity 0.35s ease;
}
.why-choose__card:hover {
  border-color:var(--gold-hover);
  background:linear-gradient(180deg, #1A1A1D, #0B0B0D);
  box-shadow:0 10px 30px rgba(0,0,0,.45), 0 0 20px rgba(247,200,115,.15);
  transform:translateY(-4px);
}
.why-choose__card:hover::before {
  opacity:1;
}
.why-choose__icon {
  width:64px;
  height:64px;
  margin:0 auto 20px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(212,175,55,.1);
  border:2px solid rgba(212,175,55,.2);
  border-radius:50%;
  color:var(--gold);
  font-size:28px;
  transition:all 0.35s ease;
  position:relative;
  z-index:1;
}
.why-choose__card:hover .why-choose__icon {
  background:rgba(247,200,115,.15);
  border-color:var(--gold-hover);
  color:var(--gold-hover);
  transform:scale(1.1) rotate(5deg);
}
.why-choose__card h3 {
  color:var(--gold);
  font-size:1.2rem;
  margin:0 0 12px;
  font-weight:700;
  position:relative;
  z-index:1;
}
.why-choose__card p {
  color:var(--silver);
  margin:0;
  line-height:1.6;
  position:relative;
  z-index:1;
}

/* === Sección Ciudades === */
.cities {
  background:linear-gradient(180deg, var(--bg2), var(--bg));
}
.cities__grid {
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
  gap:20px;
  margin-top:30px;
}
.city-card {
  background:linear-gradient(180deg, var(--card), #111113);
  border:1px solid rgba(212,175,55,.12);
  border-radius:var(--radius);
  overflow:hidden;
  transition:all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  position:relative;
  cursor:pointer;
}
.city-card:hover {
  border-color:var(--gold-hover);
  box-shadow:0 10px 30px rgba(0,0,0,.45), 0 0 20px rgba(247,200,115,.1);
  transform:translateY(-4px);
}
.city-card__image {
  width:100%;
  height:180px;
  object-fit:cover;
  transition:transform 0.35s ease;
}
.city-card:hover .city-card__image {
  transform:scale(1.05);
}
.city-card__content {
  padding:20px;
  text-align:center;
}
.city-card__name {
  color:var(--gold);
  font-size:1.1rem;
  font-weight:700;
  margin:0;
}

/* === Sección Turistas === */
.tourists {
  background:var(--bg);
  position:relative;
  overflow:hidden;
}
.tourists__wrapper {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  align-items:center;
  margin-top:30px;
}
.tourists__content h3 {
  color:var(--gold);
  font-size:2rem;
  margin:0 0 20px;
  font-weight:800;
}
.tourists__content p {
  color:var(--silver);
  font-size:1.1rem;
  line-height:1.7;
  margin:0 0 24px;
}
.tourists__image-wrapper {
  position:relative;
  border-radius:var(--radius);
  overflow:hidden;
  border:1px solid rgba(212,175,55,.2);
  box-shadow:var(--shadow);
}
.tourists__image {
  width:100%;
  height:auto;
  display:block;
  transition:transform 0.5s ease;
}
.tourists__image-wrapper:hover .tourists__image {
  transform:scale(1.05);
}
@media (max-width: 900px) {
  .tourists__wrapper {
    grid-template-columns:1fr;
  }
}

/* === Sección Aliados B2B === */
.allies {
  background:linear-gradient(180deg, var(--bg2), var(--bg));
}
.allies__grid {
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
  gap:24px;
  margin-top:40px;
  align-items:center;
}
.ally-card {
  background:linear-gradient(180deg, var(--card), #111113);
  border:1px solid rgba(212,175,55,.12);
  border-radius:var(--radius);
  padding:24px;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  min-height:120px;
  cursor:pointer;
}
.ally-card:hover {
  border-color:var(--gold-hover);
  background:linear-gradient(180deg, #1A1A1D, #0B0B0D);
  box-shadow:0 10px 30px rgba(0,0,0,.45), 0 0 20px rgba(247,200,115,.1);
  transform:translateY(-4px) scale(1.02);
}
.ally-card__logo {
  max-width:100%;
  max-height:80px;
  width:auto;
  height:auto;
  object-fit:contain;
  filter:grayscale(100%) opacity(0.7);
  transition:all 0.35s ease;
}
.ally-card:hover .ally-card__logo {
  filter:grayscale(0%) opacity(1);
  transform:scale(1.1);
}

/* ============================================ */
/* FOOTER PREMIUM */
/* ============================================ */
.footer{
  border-top:1px solid var(--border);
  background:linear-gradient(0deg,rgba(212,175,55,.03),transparent);
  padding:64px 0 32px;
  position:relative;
  overflow:hidden;
}

.footer::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
  opacity:0.3;
}
.footer__inner {
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));
  gap:40px;
  margin-bottom:32px;
}
.footer__brand {
  display:flex;
  flex-direction:column;
  gap:16px;
}
.footer__logo {
  width:48px;
  height:48px;
  border-radius:12px;
  background:linear-gradient(135deg, var(--gold), var(--gold-hover));
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  color:var(--bg);
  font-size:1.2rem;
}
.footer__brand-name {
  font-size:1.2rem;
  font-weight:800;
  color:var(--gold);
  margin:0;
}
.footer__brand-tagline {
  color:var(--silver);
  margin:0;
  font-size:0.95rem;
}
.footer__section h4 {
  color:var(--gold);
  font-size:1rem;
  font-weight:700;
  margin:0 0 16px;
  text-transform:uppercase;
  letter-spacing:0.5px;
}
.footer__links {
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.footer__links a {
  color:var(--silver);
  text-decoration:none;
  transition:all 0.3s ease;
  font-size:0.95rem;
}
.footer__links a:hover {
  color:var(--gold-hover);
  transform:translateX(4px);
}
.footer__contact {
  color:var(--silver);
  font-size:0.95rem;
  line-height:1.7;
  margin:0;
}
.footer__contact strong {
  color:var(--gold);
}
.footer__social {
  display:flex;
  gap:12px;
  margin-top:16px;
  flex-wrap:wrap;
}
.footer__social-link {
  width:44px;
  height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(212,175,55,.1);
  border:1px solid rgba(212,175,55,.2);
  border-radius:50%;
  color:var(--gold);
  transition:all 0.3s ease;
  text-decoration:none;
  position:relative;
  overflow:hidden;
}
.footer__social-icon {
  width:22px;
  height:22px;
  transition:all 0.3s ease;
}
.footer__social-link:hover {
  background:rgba(247,200,115,.15);
  border-color:var(--gold-hover);
  color:var(--gold-hover);
  transform:translateY(-2px);
  box-shadow:0 4px 12px rgba(212,175,55,.2);
}
.footer__social-link:hover .footer__social-icon {
  transform:scale(1.1);
}
/* Colores específicos para cada red social en hover */
.footer__social-link--instagram:hover {
  background:rgba(225,48,108,.15);
  border-color:rgba(225,48,108,.4);
  color:#e1306c;
}
.footer__social-link--facebook:hover {
  background:rgba(24,119,242,.15);
  border-color:rgba(24,119,242,.4);
  color:#1877f2;
}
.footer__social-link--tiktok:hover {
  background:rgba(0,0,0,.15);
  border-color:rgba(0,0,0,.4);
  color:#000;
}
.footer__social-link--whatsapp:hover {
  background:rgba(37,211,102,.15);
  border-color:rgba(37,211,102,.4);
  color:#25d366;
}
.footer__social-link--telegram:hover {
  background:rgba(37,150,190,.15);
  border-color:rgba(37,150,190,.4);
  color:#2596be;
}
/* Responsive para móvil */
@media (max-width: 820px) {
  .footer__social {
    gap:10px;
  }
  .footer__social-link {
    width:40px;
    height:40px;
  }
  .footer__social-icon {
    width:20px;
    height:20px;
  }
}
.footer__bottom {
  border-top:1px solid rgba(212,175,55,.1);
  padding-top:24px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:16px;
}
.footer__copy {
  color:var(--muted);
  margin:0;
  font-size:0.9rem;
}
.footer__legal {
  display:flex;
  gap:20px;
  flex-wrap:wrap;
}
.footer__legal a {
  color:var(--silver);
  font-size:0.9rem;
  text-decoration:none;
  transition:color 0.3s ease;
}
.footer__legal a:hover {
  color:var(--gold-hover);
}
@media (max-width: 768px) {
  .footer__inner {
    grid-template-columns:1fr;
    gap:32px;
  }
  .footer__bottom {
    flex-direction:column;
    text-align:center;
  }
}

/* ========= AUTH PAGE (login / register) ========= */
.auth-container{
  min-height:calc(100vh - 80px);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:80px 24px 40px;
}

.auth-card{
  width:100%;
  max-width:480px;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  padding:40px;
  box-shadow:var(--shadow-lg),var(--shadow-gold);
  position:relative;
}

.auth-card__title{
  font-size:1.75rem;
  font-weight:800;
  color:var(--gold);
  text-align:center;
  margin:0 0 32px;
  line-height:1.3;
}

.auth-alert{
  padding:0.75rem 1rem;
  border-radius:8px;
  margin-bottom:1rem;
  font-size:0.9rem;
}

.auth-alert-info{
  background:rgba(212,175,55,0.12);
  border:1px solid rgba(212,175,55,0.4);
  color:#f5f5f5;
}

.auth-tabs{
  display:flex;
  gap:8px;
  margin-bottom:32px;
  border-bottom:1px solid var(--border);
}

.auth-tab{
  flex:1;
  padding:16px 24px;
  background:transparent;
  border:none;
  border-bottom:2px solid transparent;
  color:var(--muted);
  font-size:1rem;
  font-weight:600;
  font-family:inherit;
  cursor:pointer;
  transition:all var(--transition-fast);
  text-align:center;
}

.auth-tab:hover{
  color:var(--text);
  background:rgba(212,175,55,.05);
}

.auth-tab--active{
  color:var(--gold);
  border-bottom-color:var(--gold);
}

.auth-form{
  display:flex;
  flex-direction:column;
  gap:24px;
}

.auth-form__field{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.auth-form__label{
  font-size:0.95rem;
  font-weight:600;
  color:var(--text);
}

.auth-form__input,
.auth-form__select{
  width:100%;
  padding:14px 16px;
  background:rgba(15,17,21,.6);
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  color:var(--text);
  font-size:1rem;
  font-family:inherit;
  transition:all var(--transition-fast);
}

.auth-form__input:focus,
.auth-form__select:focus{
  outline:none;
  border-color:var(--gold);
  background:rgba(15,17,21,.8);
  box-shadow:0 0 0 3px rgba(212,175,55,.1);
}

.auth-form__input::placeholder{
  color:var(--muted);
}

.auth-form__select{
  cursor:pointer;
}

.auth-form__select option{
  background:var(--card);
  color:var(--text);
}

.auth-form__submit{
  width:100%;
  margin-top:8px;
  padding:16px;
  font-size:1rem;
  font-weight:600;
}

.auth-card__terms{
  margin-top:24px;
  padding-top:24px;
  border-top:1px solid var(--border);
  font-size:0.875rem;
  color:var(--muted);
  text-align:center;
  line-height:1.5;
}

@media (max-width:640px){
  .auth-card{
    padding:32px 24px;
    max-width:100%;
  }
  .auth-card__title{
    font-size:1.5rem;
  }
  .auth-tab{
    padding:12px 16px;
    font-size:0.95rem;
  }
}

/* ========= WALLET PAGE (conectar wallet) ========= */
.wallet-container{
  min-height:calc(100vh - 80px);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:120px 24px 80px;
}

.wallet-card{
  width:100%;
  max-width:520px;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  padding:48px;
  box-shadow:var(--shadow-lg),var(--shadow-gold);
  position:relative;
}

.wallet-card__title{
  font-size:2rem;
  font-weight:800;
  color:var(--gold);
  text-align:center;
  margin:0 0 16px;
  line-height:1.3;
}

.wallet-card__subtitle{
  font-size:1rem;
  color:var(--muted);
  text-align:center;
  margin:0 0 40px;
  line-height:1.6;
}

.wallet-card__no-provider{
  padding:16px 20px;
  background:rgba(239,68,68,.1);
  border:1px solid rgba(239,68,68,.3);
  border-radius:var(--radius-sm);
  margin-bottom:32px;
}

.wallet-card__no-provider p{
  margin:0;
  color:var(--text);
  font-size:0.95rem;
  text-align:center;
}

.wallet-card__status{
  margin-bottom:32px;
  padding:24px;
  background:rgba(15,17,21,.5);
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
}

.wallet-card__status-row{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:16px;
}

.wallet-card__status-row:last-child{
  margin-bottom:0;
}

.wallet-card__status-label{
  font-size:0.95rem;
  color:var(--muted);
  font-weight:500;
}

.wallet-card__address{
  font-family:'Montserrat',monospace;
  font-size:1rem;
  color:var(--gold);
  font-weight:600;
  word-break:break-all;
}

.wallet-card__network-row{
  display:flex;
  align-items:center;
  gap:12px;
  padding-top:16px;
  border-top:1px solid var(--border);
}

.wallet-card__network-label{
  font-size:0.875rem;
  color:var(--muted);
  font-weight:500;
}

.wallet-card__network-value{
  font-size:0.875rem;
  color:var(--text);
  font-weight:600;
}

.wallet-card__actions{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.wallet-card__button{
  width:100%;
  padding:16px;
  font-size:1rem;
  font-weight:600;
}

@media (max-width:640px){
  .wallet-card{
    padding:32px 24px;
    max-width:100%;
  }
  .wallet-card__title{
    font-size:1.75rem;
  }
  .wallet-card__subtitle{
    font-size:0.95rem;
  }
}

/* ============================================ */
/* ACCOUNT (MI CUENTA) */
/* ============================================ */
.account-main{
  padding-top:6rem;
  padding-bottom:4rem;
}

.account-hero{
  max-width:1100px;
  margin:0 auto 1.5rem auto;
  padding:0 1rem;
}

.account-hero h1{
  font-size:1.8rem;
  margin-bottom:0.25rem;
  color:var(--gold);
  font-weight:600;
}

.account-hero p{
  opacity:0.85;
  font-size:0.95rem;
  color:var(--muted);
}

.account-container{
  max-width:1100px;
  margin:0 auto;
  padding:0 1rem;
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:1.5rem;
}

.account-full-row{
  grid-column:1 / -1;
}

.account-card{
  background:var(--card);
  border-radius:12px;
  padding:1.5rem;
  border:1px solid rgba(212,175,55,0.25);
  box-shadow:0 10px 30px rgba(0,0,0,0.35);
  display:flex;
  flex-direction:column;
  gap:0.5rem;
}

.account-card h2{
  margin:0 0 0.5rem 0;
  font-size:1.5rem;
  font-weight:600;
  color:var(--gold);
}

.account-card h3{
  margin:0 0 0.5rem 0;
  font-size:1.25rem;
  font-weight:600;
  color:var(--gold);
}

.account-item-row{
  display:flex;
  justify-content:space-between;
  gap:0.75rem;
  font-size:0.95rem;
  padding:0.5rem 0;
  border-bottom:1px solid rgba(212,175,55,0.1);
}

.account-item-row:last-child{
  border-bottom:none;
}

.account-item-label{
  opacity:0.8;
  font-weight:500;
}

.account-email,
.account-email-readonly,
.account-created-at,
.account-lang{
  font-weight:600;
  color:var(--text);
}

.account-session-info{
  color:var(--muted);
  font-style:italic;
  margin:0.5rem 0;
}

.account-session-details{
  display:flex;
  flex-direction:column;
  gap:0.5rem;
  margin-top:0.5rem;
}

.account-hint{
  font-size:0.85rem;
  opacity:0.75;
  margin-top:0.75rem;
  line-height:1.5;
}

.account-wallet-status{
  font-size:0.95rem;
  opacity:0.9;
  margin:0.5rem 0;
}

.account-wallet-address{
  font-family:monospace;
  font-size:0.9rem;
  opacity:0.9;
  color:var(--gold);
  margin:0.25rem 0;
}

.account-wallet-btn{
  margin-top:0.75rem;
  display:inline-block;
}

.account-divider{
  margin:1rem 0;
  border:0;
  border-top:1px solid rgba(255,255,255,0.08);
}

.account-shortcuts{
  display:flex;
  flex-wrap:wrap;
  gap:0.75rem;
  margin-top:0.75rem;
}

.account-shortcuts a{
  text-decoration:none;
  flex:1;
  min-width:140px;
}

@media (max-width:820px){
  .account-container{
    grid-template-columns:1fr;
  }
  
  .account-card{
    padding:1.25rem;
  }
  
  .account-card h2{
    font-size:1.25rem;
  }
  
  .account-shortcuts{
    flex-direction:column;
  }
  
  .account-shortcuts a{
    width:100%;
    min-width:auto;
  }
}

/* ============================================ */
/* CARRUSEL HORIZONTAL PARA SECCIONES EN MÓVIL */
/* ============================================ */
/* Carrusel horizontal con scroll-snap para secciones en móvil (Billons Capital) */

.scroll-wrapper {
  width: 100%;
  position: relative;
  overflow-y: visible;
}

/* Indicador visual de scroll premium - sin overlay oscuro */
.scroll-indicator {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 32px;
  height: 32px;
  pointer-events: none;
  background: rgba(212, 175, 55, 0.15);
  border: 1px solid rgba(212, 175, 55, 0.3);
  border-radius: 50%;
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 10;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.scroll-indicator::after {
  content: '➤';
  color: rgba(212, 175, 55, 0.8);
  font-size: 14px;
  animation: scrollPulse 1.2s infinite ease-in-out;
}

@keyframes scrollPulse {
  0% { 
    opacity: 0.5; 
    transform: translateX(0); 
  }
  50% { 
    opacity: 1; 
    transform: translateX(2px); 
  }
  100% { 
    opacity: 0.5; 
    transform: translateX(0); 
  }
}

/* Ocultar scrollbar pero mantener funcionalidad */
.scroll-wrapper::-webkit-scrollbar {
  display: none;
}

.scroll-wrapper {
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE y Edge */
}

/* Aplicar carrusel horizontal solo en móvil */
@media (max-width: 768px) {
  /* Asegurar que el contenedor padre no bloquee el scroll */
  .section .container {
    overflow-x: visible;
    overflow-y: visible;
  }
  
  .scroll-wrapper {
    width: calc(100% + 40px);
    max-width: calc(100% + 40px);
    margin-left: -20px;
    margin-right: -20px;
    padding-left: 20px;
    padding-right: 20px;
    overflow-x: auto !important;
    overflow-y: visible;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    display: block;
    position: relative;
  }
  
  /* Mostrar indicador solo en móvil */
  .scroll-indicator {
    display: flex;
  }
  
  /* Convertir grids en carruseles horizontales con flex */
  .scroll-wrapper > .services__grid,
  .scroll-wrapper > .mission-vision__grid,
  .scroll-wrapper > .why-choose__grid,
  .scroll-wrapper > .cities__grid {
    display: flex !important;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 20px;
    width: max-content;
    min-width: auto;
  }
  
  /* Cada tarjeta ocupa ~85% del viewport con scroll-snap */
  .scroll-wrapper > .services__grid > *,
  .scroll-wrapper > .mission-vision__grid > *,
  .scroll-wrapper > .why-choose__grid > *,
  .scroll-wrapper > .cities__grid > * {
    flex: 0 0 85vw;
    min-width: 85vw;
    max-width: 85vw;
    scroll-snap-align: center;
    scroll-snap-stop: always;
  }
  
  /* Ajuste específico para servicios (tarjetas más grandes) */
  .scroll-wrapper > .services__grid > * {
    flex: 0 0 90vw;
    min-width: 90vw;
    max-width: 90vw;
  }
  
  /* Ajuste específico para misión y visión (tarjetas más anchas) */
  .scroll-wrapper > .mission-vision__grid > * {
    flex: 0 0 90vw;
    min-width: 90vw;
    max-width: 90vw;
  }
}

/* Mantener diseño grid en desktop */
@media (min-width: 769px) {
  .scroll-indicator {
    display: none;
  }
  
  /* Asegurar que los grids mantengan su diseño original en desktop */
  .scroll-wrapper > .services__grid,
  .scroll-wrapper > .mission-vision__grid,
  .scroll-wrapper > .why-choose__grid,
  .scroll-wrapper > .cities__grid {
    display: grid;
  }
}