/* ===================================================================
   ELEVHA · La Colmena v6 PRO · vuelo inmersivo
   Base azul noche ELEVHA: oscuro cinematográfico derivado del navy
   de marca #1e3a5f (decisión socios 08/07). Dorado como firma.
   =================================================================== */

:root{
  --negro:#070d18;
  --negro-2:#0a1424;
  --carbon:#0f1c30;
  --azul-noche:#0d1b2e;
  --azul-medio:#274b79;
  --azul-claro:#8fb4e3;
  --oro:#d4a72c;
  --oro-vivo:#e9c25a;
  --oro-tenue:rgba(212,167,44,.16);
  --ambar:#ffcf6b;
  --azul-firma:#1e3a5f;   /* pincelada de marca */
  --azul-glow:rgba(30,58,95,.55);
  --txt:rgba(255,255,255,.92);
  --txt-70:rgba(255,255,255,.70);
  --txt-50:rgba(255,255,255,.50);
  --txt-32:rgba(255,255,255,.32);
  --panel:rgba(255,255,255,.045);
  --panel-2:rgba(255,255,255,.03);
  --borde:rgba(255,255,255,.10);
  --borde-oro:rgba(212,167,44,.30);
  --sombra:0 30px 80px -30px rgba(2,6,14,.85);
  --ease:cubic-bezier(.19,1,.22,1);
  --ancho:1200px;
  --sans:"Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;
  --serif:"Playfair Display", Georgia, serif;
}

*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }

body{
  font-family:var(--sans);
  background:var(--negro);
  color:var(--txt);
  line-height:1.65;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

.saltar{ position:absolute; left:-999px; top:0; z-index:300; background:var(--oro); color:#000; padding:.7rem 1.2rem; border-radius:0 0 10px 0; font-weight:800; }
.saltar:focus{ left:0; }

/* ---- lienzo 3D fijo de fondo ---- */
#hive{ position:fixed; inset:0; width:100%; height:100%; z-index:0; display:block; }
.vela{
  position:fixed; inset:0; z-index:1; pointer-events:none;
  background:
    radial-gradient(130% 100% at 50% 40%, transparent 45%, rgba(7,13,24,.72) 100%),
    linear-gradient(180deg, rgba(7,13,24,.55) 0%, transparent 24%, transparent 70%, rgba(7,13,24,.78) 100%);
}
.grano{
  position:fixed; inset:0; z-index:1; pointer-events:none; opacity:.05; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* todo el contenido va sobre el lienzo */
.capa{ position:relative; z-index:2; }

/* ---- tipografía ---- */
h1,h2,h3{ line-height:1.08; font-weight:800; letter-spacing:-.015em; color:#fff; }
h2{ font-size:clamp(1.9rem,4.4vw,3.4rem); }
h3{ font-size:1.25rem; font-weight:700; }
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }
.serif{ font-family:var(--serif); font-weight:600; }
.italica{ font-family:var(--serif); font-style:italic; font-weight:600; }
.oro{ color:var(--oro-vivo); }

.parrafo{ color:var(--txt-70); font-size:1.07rem; max-width:60ch; }
.etiqueta{ display:inline-flex; align-items:center; gap:.6rem; font-size:.76rem; font-weight:800; letter-spacing:.22em; text-transform:uppercase; color:var(--oro); margin-bottom:1.3rem; }
.etiqueta::before{ content:""; width:26px; height:1px; background:var(--oro); opacity:.6; }
.etiqueta--claro{ color:var(--txt-50); }
.etiqueta--claro::before{ background:var(--txt-50); }

/* ---- botones ---- */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:.5rem; padding:.9rem 1.8rem; border-radius:999px; font-weight:800; font-size:.97rem; cursor:pointer; border:1px solid transparent; transition:transform .6s var(--ease), background .35s, box-shadow .6s var(--ease), color .35s, border-color .35s; will-change:transform; }
.btn--oro{ background:linear-gradient(135deg, var(--oro-vivo), var(--oro)); color:#1a1405; box-shadow:0 12px 40px -12px rgba(212,167,44,.6); }
.btn--oro:hover{ transform:translateY(-3px); box-shadow:0 20px 54px -14px rgba(212,167,44,.8); }
.btn--linea{ background:rgba(255,255,255,.02); color:#fff; border-color:rgba(255,255,255,.24); backdrop-filter:blur(6px); }
.btn--linea:hover{ transform:translateY(-3px); border-color:var(--oro); color:var(--oro-vivo); }
.btn--full{ width:100%; }

/* ===================== NAV ===================== */
.nav{ position:fixed; top:0; left:0; right:0; z-index:100; display:flex; align-items:center; gap:1.5rem; padding:1.1rem clamp(1rem,4vw,2.6rem); transition:background .4s var(--ease), padding .4s var(--ease), border-color .4s; border-bottom:1px solid transparent; }
.nav.compacta{ background:rgba(7,13,24,.74); backdrop-filter:blur(16px); padding-top:.7rem; padding-bottom:.7rem; border-bottom-color:var(--borde); }
.nav__marca{ display:flex; align-items:center; gap:.6rem; font-weight:800; letter-spacing:.2em; color:#fff; }
.nav__marca img{ width:38px; height:38px; border-radius:9px; }
.nav__links{ display:flex; gap:1.8rem; margin-left:auto; }
.nav__links a{ font-size:.93rem; color:var(--txt-50); position:relative; padding:.3rem 0; transition:color .3s; }
.nav__links a::after{ content:""; position:absolute; left:0; bottom:0; height:1.5px; width:0; background:var(--oro); transition:width .4s var(--ease); }
.nav__links a:hover{ color:#fff; }
.nav__links a:hover::after{ width:100%; }
.nav__cta{ padding:.6rem 1.3rem; }
.nav__menu{ display:none; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; padding:.4rem; }
.nav__menu span{ width:24px; height:2px; background:#fff; border-radius:2px; transition:.3s var(--ease); }

/* ===================== HERO ===================== */
.hero{ min-height:100svh; display:flex; align-items:center; padding:9rem clamp(1.2rem,5vw,3rem) 7rem; }
.hero__in{ max-width:var(--ancho); margin:0 auto; width:100%; }
.hero__kicker{ color:var(--oro); font-weight:800; letter-spacing:.2em; text-transform:uppercase; font-size:.78rem; margin-bottom:1.6rem; display:flex; align-items:center; gap:.7rem; }
.hero__kicker::before{ content:""; width:34px; height:1px; background:var(--oro); }
.hero__titulo{ font-size:clamp(2.3rem,6vw,4.8rem); line-height:1.04; letter-spacing:-.02em; margin-bottom:1.6rem; max-width:16ch; }
.hero__titulo .l2{ display:block; }
.hero__sub{ color:var(--txt-70); font-size:clamp(1.05rem,1.9vw,1.3rem); max-width:50ch; margin-bottom:2.4rem; }
.hero__acciones{ display:flex; gap:1rem; flex-wrap:wrap; }
.hero__scroll{ position:fixed; bottom:1.8rem; left:50%; transform:translateX(-50%); z-index:2; color:var(--txt-32); font-size:.72rem; letter-spacing:.25em; text-transform:uppercase; display:flex; flex-direction:column; align-items:center; gap:.6rem; transition:opacity .5s var(--ease); pointer-events:none; }
body.scrolled .hero__scroll{ opacity:0; }
.hero__scroll span{ width:1px; height:34px; background:linear-gradient(var(--oro), transparent); animation:baja 2s var(--ease) infinite; }
@keyframes baja{ 0%{ transform:scaleY(0); transform-origin:top; } 50%{ transform:scaleY(1); transform-origin:top; } 51%{ transform-origin:bottom; } 100%{ transform:scaleY(0); transform-origin:bottom; } }

/* ===================== SECCIONES ===================== */
.seccion{ max-width:var(--ancho); margin:0 auto; padding:clamp(5rem,12vw,9rem) clamp(1.2rem,5vw,3rem); position:relative; }
.seccion__intro{ max-width:76ch; margin-bottom:3.4rem; }
.seccion__intro h2{ margin-bottom:1.2rem; }
/* respaldo de contraste tras los bloques de texto */
.tela{ position:absolute; inset:0; z-index:-1; background:radial-gradient(80% 70% at 30% 40%, rgba(7,13,24,.82), rgba(7,13,24,.35) 70%, transparent); pointer-events:none; }

.rv{ opacity:0; transform:translateY(38px); transition:opacity 1s var(--ease), transform 1s var(--ease); }
.rv.visible{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){ .rv{ opacity:1; transform:none; } }

/* ---- manifiesto ---- */
.manifiesto{ max-width:var(--ancho); margin:0 auto; padding:clamp(4rem,9vw,7rem) clamp(1.2rem,5vw,3rem); }
.manifiesto p{ font-family:var(--serif); font-size:clamp(1.6rem,3.6vw,2.8rem); line-height:1.34; font-weight:600; color:#fff; max-width:22ch; }
.manifiesto .mut{ color:var(--txt-50); }

/* ---- servicios ---- */
.servicios{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }
.servicio{ position:relative; padding:2rem 1.7rem; border-radius:18px; background:var(--panel); border:1px solid var(--borde); overflow:hidden; transition:transform .55s var(--ease), border-color .4s, background .4s; backdrop-filter:blur(8px); }
.servicio::after{ content:""; position:absolute; inset:0; background:radial-gradient(70% 60% at 90% 0%, var(--oro-tenue), transparent 60%); opacity:0; transition:opacity .5s; pointer-events:none; }
.servicio:hover{ transform:translateY(-7px); border-color:var(--borde-oro); background:rgba(255,255,255,.06); }
.servicio:hover::after{ opacity:1; }
.servicio__hex{ width:44px; height:50px; margin-bottom:1.2rem; display:grid; place-items:center; color:var(--oro-vivo); position:relative; }
.servicio__hex svg{ position:absolute; inset:0; width:100%; height:100%; }
.servicio__hex polygon{ fill:rgba(212,167,44,.08); stroke:var(--oro); stroke-width:2; }
.servicio__hex span{ position:relative; font-weight:800; font-size:1.05rem; }
.servicio h3{ margin-bottom:.55rem; font-size:1.14rem; }
.servicio p{ color:var(--txt-70); font-size:.98rem; }
.servicio--faro{ grid-column:span 3; display:grid; grid-template-columns:auto 1fr auto; gap:.3rem 1.8rem; align-items:center; background:linear-gradient(120deg, rgba(212,167,44,.14), rgba(30,58,95,.14) 60%, rgba(255,255,255,.03)); border-color:var(--borde-oro); }
.servicio--faro .servicio__hex{ grid-row:span 2; width:56px; height:64px; }
.servicio--faro h3{ font-size:1.4rem; }
.servicio--faro .btn{ grid-row:span 2; }
.pill{ display:inline-block; font-size:.66rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:#1a1405; background:var(--oro-vivo); padding:.2rem .6rem; border-radius:999px; vertical-align:middle; margin-left:.5rem; }

/* ---- ala bienestar / retrato ---- */
.duo{ display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(2rem,5vw,4.5rem); align-items:center; }
.retrato{ position:relative; display:grid; place-items:center; }
.retrato__halo{ position:absolute; width:78%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle, var(--oro-tenue), transparent 65%); filter:blur(10px); }
.retrato img{ position:relative; width:100%; max-width:420px; border-radius:20px; border:1px solid rgba(212,167,44,.38); box-shadow:0 26px 46px rgba(0,0,0,.55); }
.retrato--azul .retrato__halo{ background:radial-gradient(circle, var(--azul-glow), transparent 66%); }
.lista-check{ list-style:none; margin:1.7rem 0; display:grid; gap:.9rem; }
.lista-check li{ position:relative; padding-left:2rem; color:var(--txt); }
.lista-check li::before{ content:""; position:absolute; left:0; top:.5em; width:12px; height:13px; background:var(--oro); clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%); }
.firma{ color:var(--txt-70); margin-top:1.5rem; padding-top:1.4rem; border-top:1px solid var(--borde); }
.firma strong{ color:var(--oro-vivo); }

/* ---- productos y canales ---- */
.tarjetas{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }
.tarjeta{ padding:1.9rem 1.6rem; border-radius:18px; border:1px solid var(--borde); background:var(--panel); backdrop-filter:blur(8px); transition:transform .55s var(--ease), border-color .4s; }
.tarjeta:hover{ transform:translateY(-7px); border-color:var(--borde-oro); }
.tarjeta__tag{ font-size:.72rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--oro); }
.tarjeta h3{ margin:.6rem 0 .5rem; }
.tarjeta p{ color:var(--txt-70); font-size:.97rem; }
.canales{ display:flex; gap:.7rem; margin-top:1rem; flex-wrap:wrap; }
.chip{ font-size:.8rem; font-weight:700; color:var(--txt-70); border:1px solid var(--borde); border-radius:999px; padding:.35rem .85rem; }

/* ---- cifras ---- */
.cifras{ display:grid; grid-template-columns:repeat(3,1fr); margin-bottom:3.4rem; border-top:1px solid var(--borde); border-bottom:1px solid var(--borde); }
.cifra{ text-align:left; padding:2.2rem 1.8rem 2.2rem 0; }
.cifra + .cifra{ border-left:1px solid var(--borde); padding-left:1.8rem; }
.cifra__num{ display:block; font-family:var(--serif); font-size:clamp(2.6rem,5.2vw,3.8rem); font-weight:700; color:var(--oro-vivo); line-height:1; }
.cifra__lbl{ display:block; margin-top:.8rem; color:var(--txt-70); font-size:.95rem; max-width:24ch; }
.casos{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }
.caso{ padding:1.9rem 1.6rem; border-radius:18px; border:1px solid var(--borde); background:var(--panel-2); backdrop-filter:blur(8px); transition:transform .55s var(--ease), border-color .4s; }
.caso:hover{ transform:translateY(-6px); border-color:var(--borde-oro); }
.caso h3{ font-size:1.1rem; margin-bottom:.55rem; color:var(--oro-vivo); }
.caso p{ color:var(--txt-70); font-size:.97rem; }

/* ---- nosotros ---- */
.socios{ display:grid; grid-template-columns:1fr 1fr; gap:1.6rem; }
.socio{ display:flex; gap:1.5rem; align-items:center; padding:1.8rem; border-radius:20px; background:var(--panel); border:1px solid var(--borde); backdrop-filter:blur(8px); }
.socio__foto{ position:relative; flex:0 0 auto; width:130px; height:130px; display:grid; place-items:center; }
.socio__foto::before{ content:""; position:absolute; inset:0; border-radius:50%; background:radial-gradient(circle, var(--oro-tenue), transparent 62%); }
.socio__foto img{ position:relative; width:130px; height:130px; object-fit:cover; object-position:top center; border-radius:50%; border:1px solid var(--borde-oro); }
.socio h3{ font-size:1.28rem; }
.socio__rol{ color:var(--oro); font-weight:700; font-size:.88rem; margin:.3rem 0 .7rem; }
.socio p:last-child{ color:var(--txt-70); font-size:.95rem; }

/* ---- contacto ---- */
.contacto__wrap{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,4rem); align-items:start; }
.contacto__datos{ list-style:none; margin-top:2rem; display:grid; gap:1rem; }
.contacto__datos li{ display:flex; flex-direction:column; }
.contacto__datos span{ font-size:.74rem; letter-spacing:.16em; text-transform:uppercase; color:var(--txt-32); }
.contacto__datos a{ color:var(--txt); font-weight:700; transition:color .3s; }
.contacto__datos a:hover{ color:var(--oro-vivo); }
.formulario{ background:var(--panel); border:1px solid var(--borde); border-radius:22px; padding:clamp(1.6rem,3vw,2.4rem); backdrop-filter:blur(10px); }
.campo{ margin-bottom:1.1rem; }
.campo label{ display:block; font-size:.84rem; color:var(--txt-70); margin-bottom:.4rem; font-weight:700; }
.campo input, .campo textarea{ width:100%; padding:.9rem 1rem; border-radius:12px; border:1px solid var(--borde); background:rgba(0,0,0,.3); color:#fff; font-family:inherit; font-size:1rem; transition:border-color .3s, box-shadow .3s; }
.campo input:focus, .campo textarea:focus{ outline:none; border-color:var(--oro); box-shadow:0 0 0 3px rgba(212,167,44,.18); }
.campo textarea{ resize:vertical; }
.campo-trampa{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.formulario__estado{ margin-top:1rem; font-size:.95rem; min-height:1.2em; }
.formulario__estado.ok{ color:var(--oro-vivo); }
.formulario__estado.error{ color:#ff9a9a; }

/* ===================== FOOTER ===================== */
.pie{ position:relative; z-index:2; border-top:1px solid var(--borde); background:linear-gradient(180deg, rgba(7,13,24,.6), var(--negro)); backdrop-filter:blur(10px); }
.pie__top{ max-width:var(--ancho); margin:0 auto; padding:3.2rem clamp(1.2rem,5vw,3rem) 2rem; display:flex; flex-wrap:wrap; gap:2rem; align-items:center; justify-content:space-between; }
.pie__marca{ display:flex; align-items:center; gap:.9rem; }
.pie__marca img{ width:46px; height:46px; border-radius:11px; }
.pie__slogan{ font-family:var(--serif); font-style:italic; color:var(--oro-vivo); font-size:1.12rem; }
.pie__nav{ display:flex; gap:1.5rem; flex-wrap:wrap; }
.pie__nav a{ color:var(--txt-50); font-size:.93rem; transition:color .3s; }
.pie__nav a:hover{ color:var(--oro-vivo); }
.pie__redes{ display:flex; gap:1.2rem; }
.pie__redes a{ color:var(--txt-50); font-size:.88rem; transition:color .3s; }
.pie__redes a:hover{ color:var(--oro-vivo); }
.pie__legal{ max-width:var(--ancho); margin:0 auto; padding:1.4rem clamp(1.2rem,5vw,3rem); border-top:1px solid var(--borde); display:flex; flex-wrap:wrap; gap:.6rem 2rem; justify-content:space-between; color:var(--txt-32); font-size:.84rem; }
.pie__enlaces{ display:flex; gap:1.4rem; }
.pie__enlaces a{ color:var(--txt-32); transition:color .3s; }
.pie__enlaces a:hover{ color:var(--oro-vivo); }
.pie__libro{ color:var(--oro-vivo) !important; font-weight:700; }

/* ===================== RESPONSIVE ===================== */
@media (max-width: 900px){
  .nav__links, .nav__cta{ display:none; }
  .nav__menu{ display:flex; margin-left:auto; }
  .nav.abierta .nav__links{ display:flex; position:absolute; top:100%; left:0; right:0; flex-direction:column; gap:0; background:rgba(7,13,24,.97); backdrop-filter:blur(16px); padding:1rem 1.4rem 1.6rem; border-bottom:1px solid var(--borde); }
  .nav.abierta .nav__links a{ padding:.9rem 0; border-bottom:1px solid var(--borde); }
  .servicios, .tarjetas, .cifras, .casos, .socios, .duo, .contacto__wrap{ grid-template-columns:1fr; }
  .servicio--faro{ grid-column:span 1; grid-template-columns:1fr; gap:1rem; }
  .servicio--faro .servicio__hex, .servicio--faro .btn{ grid-row:auto; }
  .retrato{ order:-1; }
  .retrato img{ max-width:min(300px, 72vw); }
  .socio{ flex-direction:column; text-align:center; }
}
@media (max-width: 560px){
  .hero__acciones .btn{ width:100%; }
  .socio__foto img, .socio__foto{ width:120px; height:120px; }
}
@media (max-height: 780px) and (min-width: 900px){
  .hero{ padding-top:7rem; padding-bottom:4rem; }
  .hero__titulo{ font-size:clamp(2.2rem,4.6vw,3.7rem); }
  .hero__sub{ margin-bottom:1.7rem; }
}

/* ---- cierre con llamada a la acción ---- */
.cta-final{ position:relative; z-index:2; }
.cta-final__in{ max-width:820px; margin:0 auto; padding:clamp(4.5rem,10vw,8rem) clamp(1.2rem,5vw,3rem); text-align:center; }
.cta-final__in .etiqueta{ justify-content:center; }
.cta-final h2{ font-size:clamp(2.1rem,5vw,3.6rem); margin-bottom:1rem; }
.cta-final .parrafo{ margin:0 auto 2rem; color:var(--txt-70); }
.cta-final__glow{ position:absolute; inset:0; z-index:-1; background:radial-gradient(50% 60% at 50% 50%, var(--oro-tenue), transparent 70%); pointer-events:none; }

/* ===================== V6 PRO ===================== */
::selection{ background:rgba(212,167,44,.35); color:#fff; }

/* hilo de progreso del vuelo */
.progreso{ position:fixed; top:0; left:0; width:100%; height:2px; z-index:210; background:linear-gradient(90deg, var(--oro), var(--oro-vivo)); transform:scaleX(0); transform-origin:left; pointer-events:none; }

/* entrada orquestada del hero */
@keyframes entra{ from{ opacity:0; transform:translateY(26px); } to{ opacity:1; transform:none; } }
.hero__kicker, .hero__titulo, .hero__sub, .hero__acciones{ opacity:0; animation:entra .95s var(--ease) forwards; }
.hero__titulo{ animation-delay:.18s; }
.hero__sub{ animation-delay:.34s; }
.hero__acciones{ animation-delay:.5s; }
@media (prefers-reduced-motion: reduce){
  .hero__kicker, .hero__titulo, .hero__sub, .hero__acciones{ opacity:1; animation:none; }
  .progreso{ display:none; }
}

/* tacto y foco */
.btn:active{ transform:translateY(-1px) scale(.98); }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible{ outline:2px solid var(--oro); outline-offset:3px; border-radius:6px; }

.chip--azul{ border-color:rgba(143,180,227,.45); color:var(--azul-claro); }

/* ---- Academia ELEVHA: filas editoriales, no tarjetas ---- */
.cursos{ display:grid; }
.curso{ display:grid; grid-template-columns:auto 1fr auto; gap:1.6rem 2.2rem; align-items:center; padding:2.3rem .8rem; border-top:1px solid var(--borde); transition:background .45s var(--ease); }
.curso:last-of-type{ border-bottom:1px solid var(--borde); }
.curso:hover{ background:rgba(212,167,44,.045); }
.curso__num{ font-family:var(--serif); font-size:clamp(2rem,4vw,3rem); font-weight:600; color:rgba(212,167,44,.4); line-height:1; }
.curso__tag{ font-size:.72rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; color:var(--oro); margin-bottom:.45rem; }
.curso h3{ font-size:clamp(1.15rem,2vw,1.45rem); margin-bottom:.5rem; max-width:34ch; }
.curso > div > p{ color:var(--txt-70); font-size:.98rem; max-width:58ch; }
.curso__meta{ display:flex; gap:.6rem; margin-top:.9rem; flex-wrap:wrap; }
.curso .btn{ white-space:nowrap; }
.academia__nota{ margin-top:2rem; color:var(--txt-50); font-size:.98rem; }
.academia__nota a{ color:var(--oro-vivo); font-weight:700; }
@media (max-width: 900px){
  .curso{ grid-template-columns:1fr; gap:1rem; }
  .curso__num{ display:none; }
  .cifras{ grid-template-columns:1fr; }
  .cifra + .cifra{ border-left:0; border-top:1px solid var(--borde); padding-left:0; padding-top:1.6rem; }
  .cifra{ padding-right:0; }
}

/* V6.1: el brillo hover no roba clics y los enlaces de tarjeta quedan arriba */
.servicio a.btn{ position:relative; z-index:1; }
.formulario__alt{ margin-top:1rem; text-align:center; font-size:.92rem; color:var(--txt-50); }
.formulario__alt a{ color:var(--oro-vivo); font-weight:800; }
.formulario__alt a:hover{ text-decoration:underline; }
