/* ============================================================
   IMPULSO — PÁGINAS INTERNAS (nosotros, servicios, paquetes, contacto)
   ============================================================ */

/* ══ NOSOTROS — HERO ══ */
.nos-hero { padding-top: calc(var(--nav-h) + var(--sp-4xl)); padding-bottom: var(--sp-3xl); }

.nos-badges { display:flex; flex-wrap:wrap; gap:var(--sp-sm); margin-top:var(--sp-lg); }

/* Historia */
.nos-historia { background: rgba(15,10,8,0.6); }

.nos-grid {
  display: grid;
  grid-template-columns: 480px 1fr;
  gap: var(--sp-4xl);
  align-items: center;
  max-width: var(--max-w);
  margin-inline: auto;
}

.nos-img-col { display:flex; flex-direction:column; gap:var(--sp-xl); }

.nos-img-frame {
  position: relative;
  border-radius: var(--r-xl);
  overflow: hidden;
}
.nos-img-frame img {
  width: 100%;
  border-radius: var(--r-xl);
  object-fit: cover;
  background: var(--clr-gray-800);
  min-height: 380px;
  display: block;
}
.nos-img-frame::before {
  content: '';
  position: absolute;
  inset: -6px;
  border-radius: calc(var(--r-xl) + 6px);
  background: linear-gradient(135deg, var(--clr-crimson), var(--clr-gold), transparent 60%);
  z-index: -1;
  opacity: 0.4;
}

.nos-img-badge {
  position: absolute;
  bottom: var(--sp-lg); left: var(--sp-lg);
  background: rgba(12,10,9,0.88);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(236,201,75,0.25);
  border-radius: var(--r-full);
  padding: 0.4rem 0.875rem;
  font-size: var(--fs-sm);
  font-weight: 700;
  color: var(--clr-gold);
  display: flex;
  align-items: center;
  gap: var(--sp-xs);
}

/* Stats card bajo la foto */
.nos-stats-card {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-md);
  background: var(--bg-card);
  border: 1px solid var(--border-warm);
  border-radius: var(--r-xl);
  padding: var(--sp-xl);
}
.nos-stat { display:flex; flex-direction:column; gap:3px; }
.nos-stat-n {
  font-family: var(--font-display);
  font-size: var(--fs-3xl);
  font-weight: 900;
  line-height: 1;
}
.nos-stat-l {
  font-size: var(--fs-xs);
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.07em;
  font-weight: 600;
}

/* Texto historia */
.nos-text { display:flex; flex-direction:column; gap:var(--sp-lg); }
.nos-parrafos { display:flex; flex-direction:column; gap:var(--sp-md); margin-top:var(--sp-sm); }
.nos-parrafos p { font-size:var(--fs-base); color:var(--text-muted); line-height:1.8; }

/* Valores */
.nos-valores { background: var(--clr-bg); }

.valores-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: var(--sp-xl);
  margin-top: var(--sp-3xl);
}

.valor-item {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--r-xl);
  padding: var(--sp-xl);
  transition: all var(--tr-base);
}
.valor-item:hover {
  border-color: var(--border-warm);
  transform: translateY(-4px);
  background: var(--bg-card-h);
}

.valor-ico {
  font-size: 1.8rem;
  color: var(--clr-teal);
  display: block;
  margin-bottom: var(--sp-md);
}
.valor-ico-gold   { color: var(--clr-gold); }
.valor-ico-crimson{ color: var(--clr-crimson); }

.valor-item h3 {
  font-family: var(--font-display);
  font-size: var(--fs-base);
  font-weight: 700;
  color: var(--clr-white);
  line-height: 1.3;
  margin-bottom: var(--sp-sm);
}
.valor-item p { font-size:var(--fs-sm); color:var(--text-muted); line-height:1.65; }

/* Por qué */
.nos-porq { background: var(--clr-bg-alt); }
.nos-porq-inner {
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: var(--sp-4xl);
  align-items: start;
  max-width: var(--max-w);
  margin-inline: auto;
}

.porq-puntos { display:flex; flex-direction:column; gap:var(--sp-lg); margin-top:var(--sp-xl); }
.porq-punto  { display:flex; gap:var(--sp-md); align-items:flex-start; }
.porq-punto i {
  width:40px; height:40px;
  border-radius:var(--r-md);
  background:rgba(229,62,62,0.12);
  color:var(--clr-crimson);
  display:flex; align-items:center; justify-content:center;
  font-size:var(--fs-base);
  flex-shrink:0;
}
.porq-punto strong { display:block; font-family:var(--font-display); font-size:var(--fs-base); font-weight:700; color:var(--clr-white); margin-bottom:3px; }
.porq-punto p { font-size:var(--fs-sm); color:var(--text-muted); line-height:1.6; }
.porq-ctas { display:flex; gap:var(--sp-md); flex-wrap:wrap; margin-top:var(--sp-2xl); }

/* Ecosistema sidebar */
.nos-porq-ecosistema {
  position: sticky;
  top: calc(var(--nav-h) + var(--sp-xl));
  display: flex;
  flex-direction: column;
  gap: var(--sp-md);
}
.eco-titulo {
  font-family: var(--font-body);
  font-size: var(--fs-xs);
  font-weight: 800;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--clr-gold);
  margin-bottom: var(--sp-sm);
}
.eco-tarjeta {
  display: flex;
  align-items: flex-start;
  gap: var(--sp-md);
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: var(--sp-lg);
  text-decoration: none;
  color: inherit;
  transition: all var(--tr-base);
}
.eco-tarjeta:hover {
  border-color: var(--border-warm);
  background: var(--bg-card-h);
  transform: translateX(4px);
}
.eco-ico { font-size:1.6rem; flex-shrink:0; line-height:1; margin-top:2px; }
.eco-tarjeta strong { display:block; font-family:var(--font-display); font-size:var(--fs-sm); font-weight:700; color:var(--clr-white); margin-bottom:3px; }
.eco-tarjeta p { font-size:var(--fs-xs); color:var(--text-muted); line-height:1.5; }
.eco-social { display:flex; gap:var(--sp-sm); margin-top:var(--sp-sm); }
.eco-social a {
  width:30px; height:30px;
  border-radius:var(--r-sm);
  background:rgba(255,255,255,0.06);
  border:1px solid var(--border);
  display:flex; align-items:center; justify-content:center;
  color:var(--text-muted); font-size:var(--fs-sm);
  transition:all var(--tr-base);
}
.eco-social a:hover { background:var(--clr-crimson); border-color:var(--clr-crimson); color:var(--clr-white); transform:translateY(-2px); }

/* ══ SERVICIOS ══ */
.svc-quicknav {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-sm);
  margin-top: var(--sp-2xl);
}
.svc-quicknav a {
  font-size: var(--fs-xs);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 0.4rem 0.875rem;
  border-radius: var(--r-full);
  background: rgba(255,255,255,0.05);
  border: 1px solid var(--border);
  color: var(--text-muted);
  transition: all var(--tr-base);
}
.svc-quicknav a:hover,
.svc-quicknav a.qn-active {
  background: rgba(229,62,62,0.12);
  border-color: rgba(229,62,62,0.35);
  color: var(--clr-crimson);
}

.svc-seccion {
  padding-block: var(--py);
  padding-inline: var(--px);
}
.svc-oscura { background: var(--clr-bg); }
.svc-clara  { background: var(--clr-bg-alt); }

.svc-layout {
  display: grid;
  grid-template-columns: 1fr 440px;
  gap: var(--sp-4xl);
  align-items: start;
  max-width: var(--max-w);
  margin-inline: auto;
}
.svc-layout-inv { grid-template-columns: 440px 1fr; }

.svc-col { display:flex; flex-direction:column; gap:var(--sp-lg); }
.svc-ico-wrap {
  width: 66px; height: 66px;
  border-radius: var(--r-lg);
  display: flex; align-items:center; justify-content:center;
  font-size: 1.8rem;
}
.svc-ico-red  { background:rgba(229,62,62,0.14);  color:var(--clr-crimson); }
.svc-ico-gold { background:rgba(236,201,75,0.14);  color:var(--clr-gold);   }
.svc-ico-teal { background:rgba(56,178,172,0.14);  color:var(--clr-teal);   }
.svc-ico-amber{ background:rgba(237,137,54,0.14);  color:var(--clr-amber);  }

.svc-features { display:flex; flex-direction:column; gap:10px; }
.svc-features li {
  display:flex; align-items:center; gap:var(--sp-sm);
  font-size:var(--fs-sm); color:var(--text-muted);
}
.svc-features li i {
  width:20px; height:20px;
  border-radius:var(--r-sm);
  background:rgba(236,201,75,0.12);
  color:var(--clr-gold);
  display:flex; align-items:center; justify-content:center;
  font-size:0.6rem; font-weight:900;
  flex-shrink:0;
}

.svc-subgrupo { display:flex; flex-direction:column; gap:var(--sp-sm); }
.svc-subgrupo h4 {
  font-family:var(--font-display);
  font-size:var(--fs-base);
  font-weight:700;
  color:var(--clr-white);
  padding-bottom:var(--sp-xs);
  border-bottom:1px solid var(--border);
}

/* Panel de precios */
.svc-precios {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--r-xl);
  padding: var(--sp-xl);
  position: sticky;
  top: calc(var(--nav-h) + var(--sp-xl));
}
.svc-precios-titulo {
  font-family:var(--font-display);
  font-size:var(--fs-lg);
  font-weight:700;
  color:var(--clr-white);
  margin-bottom:var(--sp-lg);
  padding-bottom:var(--sp-sm);
  border-bottom:1px solid var(--border);
}
.svc-nota {
  display:flex; align-items:flex-start; gap:var(--sp-sm);
  margin-top:var(--sp-lg);
  padding:var(--sp-md);
  background:rgba(229,62,62,0.06);
  border:1px solid rgba(229,62,62,0.15);
  border-radius:var(--r-md);
  font-size:var(--fs-xs); color:var(--text-muted); line-height:1.6;
}
.svc-nota i { color:var(--clr-crimson); flex-shrink:0; margin-top:2px; }

/* Hosting grid */
.hosting-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: var(--sp-xl);
  margin-top: var(--sp-3xl);
}
.hosting-col {
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:var(--r-xl);
  padding:var(--sp-xl);
}
.hosting-col h3, .hosting-included h3 {
  font-family:var(--font-display);
  font-size:var(--fs-lg);
  font-weight:700;
  color:var(--clr-white);
  margin-bottom:var(--sp-lg);
  padding-bottom:var(--sp-sm);
  border-bottom:1px solid var(--border);
}
.hosting-included {
  background:linear-gradient(135deg,rgba(229,62,62,0.07),rgba(236,201,75,0.05));
  border:1px solid rgba(236,201,75,0.2);
  border-radius:var(--r-xl);
  padding:var(--sp-xl);
  display:flex; flex-direction:column;
}

/* Banda CTA de servicios */
.svc-cta-banda {
  padding-block:var(--sp-4xl);
  padding-inline:var(--px);
  background:
    radial-gradient(ellipse 80% 60% at 50% 50%, rgba(229,62,62,0.1), transparent),
    var(--clr-bg);
  border-top:1px solid var(--border);
}
.svc-cta-inner {
  display:flex; align-items:center; justify-content:space-between;
  gap:var(--sp-2xl); max-width:900px; margin-inline:auto; flex-wrap:wrap;
}
.svc-cta-inner p { color:var(--text-muted); margin-top:var(--sp-sm); font-size:var(--fs-sm); }

/* ══ PAQUETES ══ */
.paq-promesa {
  display:flex; flex-wrap:wrap; gap:var(--sp-xl);
  margin-top:var(--sp-2xl);
  padding-top:var(--sp-xl);
  border-top:1px solid rgba(255,255,255,0.07);
}
.paq-promesa-item {
  display:flex; align-items:center; gap:var(--sp-sm);
  font-size:var(--fs-sm); font-weight:700; color:var(--text-muted);
}
.paq-promesa-item i { color:var(--clr-gold); }

/* Tarjetas completas de paquetes */
.paq-full {
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:var(--r-xl);
  padding:var(--sp-2xl);
  margin-top:var(--sp-xl);
  display:flex;
  gap:var(--sp-2xl);
  align-items:flex-start;
  position:relative;
  transition:all var(--tr-base);
}
.paq-full:hover {
  border-color:var(--border-warm);
  box-shadow:var(--sh-md);
  transform:translateY(-3px);
}
.paq-full-destacado {
  border-color:rgba(229,62,62,0.4);
  background:linear-gradient(150deg,rgba(229,62,62,0.07),rgba(236,201,75,0.04));
  box-shadow:0 0 0 1px rgba(229,62,62,0.15), var(--sh-md);
}
.paq-full-destacado:hover {
  border-color:rgba(236,201,75,0.5);
  box-shadow:0 0 0 1px rgba(236,201,75,0.3), var(--sh-lg);
}
.paq-full-ribbon {
  position:absolute; top:-14px; left:var(--sp-2xl);
  background:linear-gradient(135deg,var(--clr-crimson),var(--clr-gold));
  color:var(--clr-white);
  font-size:var(--fs-xs);
  font-weight:800;
  letter-spacing:0.06em;
  padding:4px 14px;
  border-radius:var(--r-full);
}
.paq-full-main { flex:1; }
.paq-full-header {
  display:flex; align-items:flex-start; gap:var(--sp-lg);
  margin-bottom:var(--sp-xl); flex-wrap:wrap;
}
.paq-full-ico {
  width:60px; height:60px;
  border-radius:var(--r-lg);
  background:rgba(229,62,62,0.14);
  color:var(--clr-crimson);
  display:flex; align-items:center; justify-content:center;
  font-size:1.6rem; flex-shrink:0;
}
.paq-full-ico-gold { background:rgba(236,201,75,0.14); color:var(--clr-gold); }
.paq-full-nombre {
  font-family:var(--font-display);
  font-size:var(--fs-2xl);
  font-weight:800;
  color:var(--clr-white);
  margin-bottom:4px;
}
.paq-full-tag { font-size:var(--fs-sm); color:var(--text-muted); }
.paq-full-precio {
  display:flex; flex-direction:column;
  align-items:flex-end; flex-shrink:0;
}
.paq-full-monto {
  font-family:var(--font-display);
  font-size:var(--fs-5xl);
  font-weight:900;
  color:var(--clr-crimson);
  line-height:1;
}
.paq-full-monto-glow {
  background:linear-gradient(135deg,var(--clr-gold),var(--clr-crimson));
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
  filter:drop-shadow(0 0 12px rgba(236,201,75,0.3));
}
.paq-full-nota-precio {
  font-size:var(--fs-xs);
  color:var(--text-muted);
  text-transform:uppercase;
  letter-spacing:0.06em;
  margin-top:4px;
}
.paq-full-lista { columns:2; column-gap:var(--sp-xl); }
.paq-full-lista li { break-inside:avoid; margin-bottom:var(--sp-sm); }
.paq-full-cta {
  display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  gap:var(--sp-md);
  padding-left:var(--sp-2xl);
  border-left:1px solid var(--border);
  min-width:240px; flex-shrink:0;
}
.paq-full-aviso {
  display:flex; align-items:flex-start; gap:6px;
  font-size:var(--fs-xs); color:var(--text-muted);
  line-height:1.5; text-align:center;
}
.paq-full-aviso i { color:var(--clr-teal); flex-shrink:0; margin-top:2px; }

/* À la carte */
.alacarte-grid {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:var(--sp-md); margin-top:var(--sp-3xl);
}
.alacarte-item {
  display:flex; align-items:center; gap:var(--sp-md);
  padding:var(--sp-lg);
  background:var(--bg-card); border:1px solid var(--border);
  border-radius:var(--r-xl);
  text-decoration:none; color:inherit;
  transition:all var(--tr-base);
}
.alacarte-item:hover {
  background:var(--bg-card-h);
  border-color:var(--border-warm);
  transform:translateY(-2px); box-shadow:var(--sh-sm);
}
.alacarte-item > i:first-child { font-size:1.4rem; width:40px; text-align:center; flex-shrink:0; }
.alacarte-item div { flex:1; }
.alacarte-item strong { display:block; font-family:var(--font-display); font-size:var(--fs-sm); font-weight:700; color:var(--clr-white); margin-bottom:2px; }
.alacarte-item span  { font-size:var(--fs-xs); font-weight:800; color:var(--clr-gold); }
.alacarte-arr { color:var(--text-muted); font-size:var(--fs-sm); flex-shrink:0; transition:all var(--tr-base); }
.alacarte-item:hover .alacarte-arr { color:var(--clr-gold); transform:translateX(5px); }

/* Tabla comparativa */
.compare-wrapper { overflow-x:auto; margin-top:var(--sp-3xl); border-radius:var(--r-xl); border:1px solid var(--border); }
.compare-table { width:100%; border-collapse:collapse; min-width:600px; }
.compare-table thead tr { background:rgba(229,62,62,0.06); border-bottom:1px solid rgba(255,255,255,0.08); }
.compare-table th {
  padding:var(--sp-md) var(--sp-lg);
  font-family:var(--font-display); font-size:var(--fs-sm); font-weight:700;
  color:var(--clr-white); text-align:left; letter-spacing:0.04em;
}
.compare-table th.col-nos { background:rgba(236,201,75,0.06); color:var(--clr-gold); border-left:2px solid rgba(236,201,75,0.3); }
.compare-table tbody tr { border-bottom:1px solid rgba(255,255,255,0.04); transition:background var(--tr-fast); }
.compare-table tbody tr:hover { background:rgba(255,255,255,0.02); }
.compare-table tbody tr:last-child { border-bottom:none; }
.compare-table td { padding:var(--sp-md) var(--sp-lg); font-size:var(--fs-sm); color:var(--clr-white); font-weight:500; }
.compare-table td.col-nos { background:rgba(236,201,75,0.03); border-left:2px solid rgba(236,201,75,0.15); }
.cmp-mal  { color:var(--text-muted); }
.cmp-bien { display:flex; align-items:center; gap:6px; color:var(--clr-white); font-weight:700; }
.cmp-bien i {
  width:18px; height:18px; border-radius:50%;
  background:rgba(236,201,75,0.14); color:var(--clr-gold);
  display:flex; align-items:center; justify-content:center;
  font-size:0.58rem; flex-shrink:0;
}

/* Programas de socios */
.socios-grid { display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-xl); margin-top:var(--sp-3xl); }
.socio-card {
  background:var(--bg-card); border:1px solid var(--border);
  border-radius:var(--r-xl); padding:var(--sp-2xl);
  display:flex; flex-direction:column; gap:var(--sp-lg);
  transition:all var(--tr-base);
}
.socio-card:hover { transform:translateY(-5px); border-color:var(--border-warm); box-shadow:var(--sh-md); }
.socio-ico {
  width:60px; height:60px; border-radius:var(--r-xl);
  background:rgba(229,62,62,0.14); color:var(--clr-crimson);
  display:flex; align-items:center; justify-content:center; font-size:1.75rem;
}
.socio-ico-gold { background:rgba(236,201,75,0.14); color:var(--clr-gold); }
.socio-card h3 { font-family:var(--font-display); font-size:var(--fs-2xl); font-weight:800; color:var(--clr-white); }
.socio-highlight { font-family:var(--font-display); font-size:var(--fs-xl); font-weight:800; color:var(--clr-crimson); }
.socio-highlight-gold { color:var(--clr-gold); }
.socio-card p { font-size:var(--fs-sm); color:var(--text-muted); line-height:1.7; }

/* ══ CONTACTO ══ */
.contacto-hero { padding-bottom:var(--sp-3xl); }

.contacto-rapido { display:flex; flex-wrap:wrap; gap:var(--sp-md); margin-top:var(--sp-2xl); }
.contacto-rapido-item {
  display:flex; align-items:center; gap:var(--sp-md);
  background:rgba(255,255,255,0.04);
  border:1px solid var(--border);
  border-radius:var(--r-xl);
  padding:var(--sp-md) var(--sp-lg);
  text-decoration:none; color:inherit;
  transition:all var(--tr-base); min-width:220px;
}
.contacto-rapido-item:hover {
  background:rgba(229,62,62,0.07);
  border-color:rgba(229,62,62,0.35);
  transform:translateY(-2px);
}
.contacto-rapido-item i,
.contacto-rapido-flag { font-size:1.5rem; color:var(--clr-gold); width:36px; text-align:center; flex-shrink:0; }
.contacto-rapido-flag { font-size:1.7rem; }
.contacto-rapido-item strong { display:block; font-family:var(--font-display); font-size:var(--fs-sm); font-weight:700; color:var(--clr-white); margin-bottom:2px; }
.contacto-rapido-item span { font-size:var(--fs-xs); color:var(--text-muted); }

/* Formulario */
.contacto-main { background:rgba(15,10,8,0.5); }
.contacto-layout {
  display:grid; grid-template-columns:1fr 400px;
  gap:var(--sp-3xl); align-items:start;
  max-width:var(--max-w); margin-inline:auto;
}
.formulario-wrap {
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:var(--r-xl);
  padding:var(--sp-2xl);
}
.formulario-titulo { font-family:var(--font-display); font-size:var(--fs-2xl); font-weight:800; color:var(--clr-white); margin-bottom:var(--sp-xs); }
.formulario-sub { font-size:var(--fs-sm); color:var(--text-muted); margin-bottom:var(--sp-xl); }

.form-exito, .form-error {
  display:flex; align-items:flex-start; gap:var(--sp-md);
  background:rgba(56,178,172,0.08);
  border:1px solid rgba(56,178,172,0.25);
  border-radius:var(--r-md);
  padding:var(--sp-lg);
  margin-bottom:var(--sp-xl);
}
.form-exito i, .form-error i { font-size:1.5rem; color:var(--clr-teal); flex-shrink:0; margin-top:2px; }
.form-exito strong { display:block; font-family:var(--font-display); font-size:var(--fs-base); font-weight:700; color:var(--clr-teal); margin-bottom:4px; }
.form-exito p { font-size:var(--fs-sm); color:var(--text-muted); line-height:1.5; }
.form-error strong { display:block; font-family:var(--font-display); font-size:var(--fs-base); font-weight:700; color:var(--clr-crimson); margin-bottom:4px; }
.form-error p { font-size:var(--fs-sm); color:var(--text-muted); line-height:1.5; }

.contact-form { display:flex; flex-direction:column; gap:var(--sp-lg); }
.form-fila { display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-lg); }
.form-grupo { display:flex; flex-direction:column; gap:var(--sp-xs); }
.form-label { font-size:var(--fs-sm); font-weight:700; color:var(--clr-white); font-family:var(--font-body); }
.form-req { color:var(--clr-crimson); }

.form-input {
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.1);
  border-radius:var(--r-md);
  padding:0.75rem 1rem;
  font-family:var(--font-body);
  font-size:var(--fs-sm);
  color:var(--clr-white);
  transition:all var(--tr-base);
  outline:none; width:100%;
}
.form-input::placeholder { color:var(--text-muted); font-style:italic; }
.form-input:hover { background:rgba(255,255,255,0.06); border-color:rgba(255,255,255,0.18); }
.form-input:focus {
  background:rgba(255,255,255,0.06);
  border-color:var(--clr-gold);
  box-shadow:0 0 0 3px rgba(236,201,75,0.12);
}
.form-input.input-error { border-color:var(--clr-crimson); box-shadow:0 0 0 3px rgba(229,62,62,0.12); }

.form-select {
  cursor:pointer; appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23A09080' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 1rem center;
  padding-right:2.5rem;
}
.form-select option { background:var(--clr-gray-800); color:var(--clr-white); }
.form-textarea { resize:vertical; min-height:130px; line-height:1.6; }

.form-radios { display:flex; gap:var(--sp-lg); flex-wrap:wrap; }
.form-radio-lbl {
  display:flex; align-items:center; gap:var(--sp-xs);
  cursor:pointer; font-size:var(--fs-sm); color:var(--text-muted);
  transition:color var(--tr-fast);
}
.form-radio-lbl:hover { color:var(--clr-white); }
.form-radio-lbl input[type="radio"] { width:16px; height:16px; accent-color:var(--clr-gold); cursor:pointer; }

.form-check-lbl {
  display:flex; align-items:flex-start; gap:var(--sp-sm);
  cursor:pointer; font-size:var(--fs-sm); color:var(--text-muted); line-height:1.5;
}
.form-check-lbl input[type="checkbox"] { width:16px; height:16px; accent-color:var(--clr-gold); cursor:pointer; flex-shrink:0; margin-top:2px; }
.form-modal-link {
  background:none; border:none; padding:0;
  font-family:var(--font-body); font-size:inherit;
  color:var(--clr-gold); cursor:pointer;
  text-decoration:underline;
  transition:color var(--tr-fast); display:inline;
}
.form-modal-link:hover { color:var(--clr-crimson); }
.form-pie {
  display:flex; align-items:center; gap:6px;
  font-size:var(--fs-xs); color:var(--text-muted); text-align:center; justify-content:center;
}
.form-pie i { color:var(--clr-gold); }

/* Panel de info */
.contacto-info { display:flex; flex-direction:column; gap:var(--sp-lg); position:sticky; top:calc(var(--nav-h)+var(--sp-xl)); }
.info-tarjeta {
  background:var(--bg-card); border:1px solid var(--border);
  border-radius:var(--r-xl); padding:var(--sp-xl);
}
.info-tarjeta h3 {
  font-family:var(--font-display); font-size:var(--fs-base); font-weight:700;
  color:var(--clr-white); margin-bottom:var(--sp-lg);
  padding-bottom:var(--sp-sm); border-bottom:1px solid var(--border);
  display:flex; align-items:center; gap:var(--sp-sm);
}
.info-tarjeta h3 i { color:var(--clr-gold); }
.info-lista { display:flex; flex-direction:column; gap:var(--sp-md); }
.info-lista li a,
.info-item {
  display:flex; align-items:center; gap:var(--sp-md);
  text-decoration:none; color:inherit; transition:color var(--tr-fast);
}
.info-lista li a:hover { color:var(--clr-gold); }
.info-ico {
  width:36px; height:36px; border-radius:var(--r-md);
  background:rgba(229,62,62,0.12); color:var(--clr-crimson);
  display:flex; align-items:center; justify-content:center; font-size:var(--fs-sm); flex-shrink:0;
}
.info-lista strong { display:block; font-family:var(--font-display); font-size:var(--fs-sm); font-weight:700; color:var(--clr-white); margin-bottom:2px; }
.info-lista span, .info-lista address { font-size:var(--fs-xs); color:var(--text-muted); line-height:1.5; }

/* Horarios */
.horario-tabla { width:100%; border-collapse:collapse; }
.horario-tabla tr { border-bottom:1px solid rgba(255,255,255,0.04); }
.horario-tabla tr:last-child { border-bottom:none; }
.horario-tabla td { padding:var(--sp-sm) 0; font-size:var(--fs-sm); color:var(--text-muted); }
.horario-tabla td:last-child { text-align:right; color:var(--clr-white); font-weight:600; }
.horario-cerrado { color:var(--text-muted) !important; }
.horario-emergencia td {
  display:flex; align-items:center; gap:6px;
  font-size:var(--fs-xs); color:var(--clr-teal) !important;
  padding:var(--sp-sm) var(--sp-xs); border-bottom:none; text-align:left !important;
}
.horario-emergencia i { color:var(--clr-gold); }

/* Respuesta */
.resp-lista { display:flex; flex-direction:column; gap:var(--sp-sm); }
.resp-lista li { display:flex; align-items:center; gap:var(--sp-md); font-size:var(--fs-sm); color:var(--text-muted); }
.resp-badge {
  flex-shrink:0; min-width:56px; padding:3px 8px;
  background:rgba(229,62,62,0.14); color:var(--clr-crimson);
  border-radius:var(--r-full); font-size:var(--fs-xs); font-weight:800;
  font-family:var(--font-display); text-align:center;
}
.resp-badge-gold { background:rgba(236,201,75,0.14); color:var(--clr-gold); }



/* Redes sociales en contacto */
.contacto-redes { display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-sm); margin-bottom:var(--sp-lg); }
.red-btn {
  display:flex; align-items:center; justify-content:center; gap:var(--sp-xs);
  padding:0.6rem 1rem; background:rgba(255,255,255,0.04);
  border:1px solid var(--border); border-radius:var(--r-md);
  color:var(--text-muted); font-size:var(--fs-sm); font-weight:700;
  text-decoration:none; transition:all var(--tr-base);
}
.red-btn:hover { background:var(--clr-crimson); border-color:var(--clr-crimson); color:var(--clr-white); transform:translateY(-2px); }

.info-ecosistema { display:flex; flex-direction:column; gap:var(--sp-sm); padding-top:var(--sp-md); border-top:1px solid var(--border); }
.eco-link { font-size:var(--fs-xs); color:var(--text-muted); text-decoration:none; transition:color var(--tr-fast); line-height:1.5; }
.eco-link:hover { color:var(--clr-gold); }

/* Próximos pasos */
.pasos-grid {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:var(--sp-xl); margin-top:var(--sp-3xl);
  position:relative;
}
.pasos-grid::before {
  content:'';
  position:absolute; top:54px; left:12.5%; right:12.5%; height:1px;
  background:linear-gradient(90deg,transparent,rgba(229,62,62,0.3),rgba(236,201,75,0.3),transparent);
  z-index:0;
}
.paso-item { display:flex; flex-direction:column; align-items:center; text-align:center; gap:var(--sp-md); position:relative; z-index:1; }
.paso-num-bg {
  font-family:var(--font-display); font-size:var(--fs-7xl); font-weight:900;
  color:rgba(229,62,62,0.06); line-height:1;
  position:absolute; top:-18px; left:50%; transform:translateX(-50%);
  pointer-events:none; user-select:none;
}
.paso-ico-wrap {
  position:relative; z-index:1;
  width:64px; height:64px; border-radius:var(--r-full);
  background:linear-gradient(135deg,rgba(229,62,62,0.14),rgba(236,201,75,0.1));
  border:1px solid rgba(255,255,255,0.1);
  display:flex; align-items:center; justify-content:center;
  font-size:1.4rem; color:var(--clr-gold);
  margin-top:var(--sp-3xl);
  box-shadow:0 0 20px rgba(236,201,75,0.08);
}
.paso-item h3 { font-family:var(--font-display); font-size:var(--fs-lg); font-weight:700; color:var(--clr-white); }
.paso-item p  { font-size:var(--fs-sm); color:var(--text-muted); line-height:1.65; }

/* ══ RESPONSIVE GLOBAL ══ */
@media (max-width:1100px) {
  .nos-grid, .nos-porq-inner, .contacto-layout, .svc-layout, .svc-layout-inv { grid-template-columns:1fr; }
  .svc-precios { position:static; }
  .svc-layout-inv .svc-precios { order:2; }
  .svc-layout-inv .svc-col     { order:1; }
  .nos-porq-ecosistema { position:static; }
  .contacto-info { position:static; }
  .hosting-grid  { grid-template-columns:1fr 1fr; }
  .valores-grid  { grid-template-columns:repeat(2,1fr); }
  .pasos-grid    { grid-template-columns:repeat(2,1fr); }
  .pasos-grid::before { display:none; }
  .paq-full { flex-direction:column; }
  .paq-full-cta { border-left:none; border-top:1px solid var(--border); padding-left:0; padding-top:var(--sp-xl); flex-direction:row; flex-wrap:wrap; justify-content:flex-start; min-width:unset; }
  .paq-full-lista { columns:1; }
  .socios-grid { grid-template-columns:1fr; }
}
@media (max-width:768px) {
  .alacarte-grid { grid-template-columns:1fr 1fr; }
  .hosting-grid  { grid-template-columns:1fr; }
  .valores-grid  { grid-template-columns:1fr; }
  .pasos-grid    { grid-template-columns:1fr; }
  .form-fila     { grid-template-columns:1fr; gap:var(--sp-md); }
  .contacto-redes{ grid-template-columns:1fr 1fr; }
  .contacto-rapido { flex-direction:column; }
  .contacto-rapido-item { min-width:unset; width:100%; }
  .porq-ctas     { flex-direction:column; align-items:flex-start; }
}
@media (max-width:480px) {
  .alacarte-grid  { grid-template-columns:1fr; }
  .formulario-wrap{ padding:var(--sp-lg); }
  .info-tarjeta   { padding:var(--sp-lg); }
  .form-radios    { flex-direction:column; gap:var(--sp-sm); }
}
