/* =============================================================
   RMasterClass — Web v3. Premium Dark EdTech. Tokens
   Fondo negro dominante (según logo), navy como profundidad,
   dorado como color de marca, blanco para texto de alto contraste.
   ============================================================= */
:root{
  --black:#050608;
  --black-2:#0a0b10;
  --panel:#0d1017;
  --panel-2:#12151f;
  --panel-3:#181c29;
  --navy-deep:#050608;      /* alias retro-compat: ahora negro */
  --navy-panel:#0d1017;
  --navy-panel-2:#12151f;
  --navy-panel-3:#181c29;
  --line:rgba(244,242,236,.09);
  --line-gold:rgba(217,171,84,.35);
  --navy-line:var(--line);
  --navy-line-soft:var(--line);
  --gold:#d9ab54;
  --gold-bright:#f2c876;
  --gold-soft:#d9ab5422;
  --cream:#f5f4f0;
  --cream-2:#b9bac6;
  --mute:#787c8c;
  --green:#4fceA0;
  --green-soft:#4fceA01f;
  --amber:#f2c876;
  --amber-soft:#f2c87622;
  --navy-accent:#16224a;

  --serif:'Fraunces',"Times New Roman",serif;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;

  --ease-out: cubic-bezier(.16,1,.3,1);
  --container: 1200px;
  --nav-h: 76px;
}
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
html,body{overflow-x:hidden;}
body{
  margin:0;background:var(--black);color:var(--cream);
  font-family:var(--sans);-webkit-font-smoothing:antialiased;
}
h1,h2,h3,.display{font-family:var(--serif);}
a{color:inherit;text-decoration:none;}
:focus-visible{outline:2px solid var(--gold-bright);outline-offset:3px;border-radius:4px;}
img{max-width:100%;display:block;}
.container{max-width:var(--container);margin-inline:auto;padding-inline:24px;}
section{padding-block:clamp(4rem,7vw,7rem);position:relative;}
strong.hl{color:var(--gold-bright);font-weight:700;}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--gold-bright);background:var(--gold-soft);
  border:1px solid var(--line-gold);padding:7px 14px;border-radius:999px;margin-bottom:18px;
}
.eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold-bright);box-shadow:0 0 8px 1px #f2c87688;}
.section-head{max-width:720px;margin-bottom:44px;}
.section-head h2{font-size:clamp(1.6rem,3.2vw,2.3rem);font-weight:600;margin:0 0 14px;text-wrap:balance;color:var(--cream);}
.section-head p{color:var(--cream-2);font-size:1.02rem;line-height:1.65;margin:0;}
#metodologia .section-head p em,
.servicios .section-head p em{font-style:italic;color:var(--gold-bright);}
.section-head.center{margin-inline:auto;text-align:center;}

/* section divider — línea dorada animada entre bloques */
.divider{
  display:flex;align-items:center;justify-content:center;gap:10px;
  padding:0;height:1px;position:relative;background:var(--black);
}
.divider::before{
  content:"";display:block;width:min(420px,70%);height:1px;margin:0 auto;
  background:linear-gradient(90deg,transparent,var(--gold)55,transparent);
}

/* buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:var(--sans);font-weight:700;font-size:.92rem;
  padding:.85rem 1.5rem;border-radius:12px;cursor:pointer;border:1px solid transparent;
  transition:transform .2s var(--ease-out),background .2s var(--ease-out),border-color .2s var(--ease-out),box-shadow .2s var(--ease-out);
}
.btn-primary{
  background:linear-gradient(135deg,var(--gold-bright),var(--gold));color:#1a1200;
  animation:btn-glow-pulse 2.2s ease-in-out infinite;
}
.btn-primary:hover{animation-play-state:paused;transform:translateY(-2px) scale(1.02);box-shadow:0 14px 30px -10px #d9ab54cc;}
@keyframes btn-glow-pulse{
  0%,100%{box-shadow:0 0 0 0 #d9ab5477,0 6px 18px -8px #d9ab5455;}
  50%{box-shadow:0 0 0 11px #d9ab5400,0 10px 30px -6px #d9ab54dd;}
}
@media (prefers-reduced-motion: reduce){ .btn-primary{animation:none;} }
.btn-ghost{background:transparent;border-color:rgba(255,255,255,.16);color:var(--cream);}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold-bright);box-shadow:0 0 0 1px var(--gold) inset;}
.btn-block{width:100%;}
.btn.magnetic{will-change:transform;}

/* Línea de progreso de lectura, fija sobre el header */
.scroll-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:101;background:transparent;pointer-events:none;}
.scroll-progress-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--gold),var(--gold-bright));transition:width .12s linear;}
@media (prefers-reduced-motion: reduce){ .scroll-progress-fill{transition:none;} }

/* =============================================================
   Navbar
   ============================================================= */
.header{
  position:fixed;inset:0 0 auto 0;z-index:100;height:var(--nav-h);
  display:flex;align-items:center;
  background:linear-gradient(180deg, rgba(5,6,8,.92), rgba(5,6,8,.55));
  backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);
  border-bottom:1px solid transparent;
  transition:border-color .3s var(--ease-out),background .3s var(--ease-out),height .3s var(--ease-out);
}
.header.is-scrolled{height:60px;border-bottom-color:var(--line);background:rgba(5,6,8,.9);}
.header.is-scrolled .brand{font-size:1rem;}
.header.is-scrolled .brand img{height:28px;width:28px;}
@media (prefers-reduced-motion: reduce){ .header{transition:border-color .3s,background .3s;} }
.header .container{display:flex;align-items:center;justify-content:space-between;width:100%;gap:16px;}
.brand{display:flex;align-items:center;gap:.6rem;font-family:var(--serif);font-size:1.1rem;color:var(--cream);flex-shrink:0;transition:font-size .3s var(--ease-out);}
.brand img{
  height:32px;width:32px;object-fit:contain;border-radius:50%;
  box-shadow:0 0 0 1px var(--line-gold),0 0 0px 0 #d9ab5400;
  transition:box-shadow .4s var(--ease-out),transform .4s var(--ease-out),height .3s var(--ease-out),width .3s var(--ease-out);
}
.brand:hover img,.brand:focus-visible img{
  box-shadow:0 0 0 1px var(--gold-bright),0 0 12px 1px #d9ab5499;
  transform:scale(1.08);
}
@media (prefers-reduced-motion: reduce){ .brand img{transition:none;} }
.nav-links{display:none;align-items:center;gap:1.1rem;font-size:.85rem;}
.nav-links a{color:var(--cream-2);position:relative;white-space:nowrap;transition:color .2s;}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:1px;background:var(--gold);transition:width .3s var(--ease-out);}
.nav-links a:hover{color:var(--cream);}
.nav-links a:hover::after{width:100%;}
.header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0;}
.header-actions .btn{padding:.6rem .95rem;font-size:.78rem;white-space:nowrap;}
.header-ctas{display:none;align-items:center;gap:.5rem;}
.nav-toggle{display:flex;flex-direction:column;gap:5px;padding:.5rem;z-index:110;background:none;border:none;}
.nav-toggle span{width:22px;height:2px;background:var(--cream);transition:transform .3s var(--ease-out),opacity .3s var(--ease-out);}
.nav-toggle.is-active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle.is-active span:nth-child(2){opacity:0;}
.nav-toggle.is-active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.nav-panel{
  position:fixed;inset:var(--nav-h) 0 0 0;z-index:99;background:var(--black);padding:2rem 1.5rem;
  transform:translateY(-8px);opacity:0;pointer-events:none;transition:opacity .3s var(--ease-out),transform .3s var(--ease-out);overflow-y:auto;
}
.nav-panel.is-open{opacity:1;transform:none;pointer-events:auto;}
.nav-panel ul{list-style:none;margin:0 0 2rem;padding:0;display:flex;flex-direction:column;gap:1.1rem;font-size:1.3rem;font-family:var(--serif);}
.nav-panel .header-actions{flex-direction:column;align-items:stretch;}
@media (min-width:1180px){
  .nav-links{display:flex;}
  .header-ctas{display:flex;}
  .nav-toggle{display:none;}
  .nav-panel{display:none;}
}

/* =============================================================
   Hero — cinemático, con tarjetas flotantes + parallax de mouse
   ============================================================= */
.hero{
  padding-top:calc(var(--nav-h) + 4.5rem);padding-bottom:5rem;position:relative;overflow:hidden;
  background:var(--black);
}
.hero-bg{position:absolute;inset:0;z-index:0;pointer-events:none;}
.hero-bg .glow-a{position:absolute;top:-15%;left:8%;width:640px;height:640px;border-radius:50%;
  background:radial-gradient(circle,#d9ab5420,transparent 65%);filter:blur(10px);}
.hero-bg .glow-b{position:absolute;top:10%;right:-10%;width:560px;height:560px;border-radius:50%;
  background:radial-gradient(circle,#16224a70,transparent 65%);filter:blur(10px);}
.hero-bg svg.lines{position:absolute;inset:0;width:100%;height:100%;opacity:.5;}
.hero-bg .lines path{stroke:var(--line-gold);stroke-width:1;fill:none;}
.hero-bg .dust{position:absolute;border-radius:50%;background:var(--gold-bright);opacity:.5;filter:blur(.5px);}

/* Líneas de conexión y nodos académicos animados — muy sutiles, de fondo */
.hero-bg .hero-line-path{stroke-dasharray:3 8;animation:hero-line-flow 42s linear infinite;}
@keyframes hero-line-flow{to{stroke-dashoffset:-220;}}
.hero-bg .hero-node{fill:var(--gold-bright);opacity:.18;animation:hero-node-twinkle 6s ease-in-out infinite;}
.hero-bg .hero-node.hn2{animation-delay:1.1s;} .hero-bg .hero-node.hn3{animation-delay:2.4s;}
.hero-bg .hero-node.hn4{animation-delay:.6s;} .hero-bg .hero-node.hn5{animation-delay:3.1s;}
.hero-bg .hero-node.hn6{animation-delay:1.8s;}
@keyframes hero-node-twinkle{0%,100%{opacity:.15;}50%{opacity:.55;}}
@media (prefers-reduced-motion: reduce){
  .hero-bg .hero-line-path{animation:none;}
  .hero-bg .hero-node{animation:none;opacity:.25;}
}

/* Símbolos matemáticos — decoración extremadamente sutil del Hero.
   Nunca deben leerse antes que el texto: opacidad muy baja y sin animación brusca. */
.hero-particles{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;}
.hero-particle{
  position:absolute;font-family:var(--serif);font-style:italic;color:var(--gold-bright);
  opacity:.1;animation:particle-drift 14s ease-in-out infinite;user-select:none;
}
.hero-particle.p1{top:14%;left:6%;font-size:2.6rem;animation-delay:0s;}
.hero-particle.p2{top:64%;left:11%;font-size:2rem;animation-delay:2.2s;}
.hero-particle.p3{top:22%;left:47%;font-size:2.2rem;animation-delay:4.1s;}
.hero-particle.p4{top:76%;left:42%;font-size:1.5rem;animation-delay:1.4s;}
.hero-particle.p5{top:10%;right:8%;font-size:2.4rem;animation-delay:3s;}
.hero-particle.p6{bottom:10%;right:5%;font-size:1.3rem;animation-delay:5s;}
@keyframes particle-drift{
  0%,100%{transform:translateY(0) rotate(0deg);opacity:.08;}
  50%{transform:translateY(-16px) rotate(3deg);opacity:.16;}
}
@media (max-width:720px){ .hero-particles{display:none;} }
@media (prefers-reduced-motion: reduce){ .hero-particle{animation:none;opacity:.1;} }

.hero-grid{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:center;position:relative;z-index:1;}
.hero-copy [data-hero-line]{opacity:0;}
.hero h1{font-size:clamp(2.2rem,5.2vw,3.6rem);line-height:1.12;font-weight:600;margin:0 0 20px;text-wrap:balance;color:var(--cream);}
.hero h1 .accent{
  color:var(--gold-bright);font-style:italic;
  background-image:linear-gradient(90deg, var(--gold) 0%, var(--gold-bright) 30%, #fff2cf 50%, var(--gold-bright) 70%, var(--gold) 100%);
  background-size:220% auto;background-position:0 50%;
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  animation:accent-shimmer 9s linear infinite;
}
@keyframes accent-shimmer{to{background-position:-220% 50%;}}
@media (prefers-reduced-motion: reduce){ .hero h1 .accent{animation:none;background-position:0 50%;} }
.hero-lema{font-size:.95rem;font-weight:600;letter-spacing:.02em;color:var(--gold-bright);margin:0 0 16px;}
.hero .sub{font-size:1.05rem;line-height:1.7;color:var(--cream-2);max-width:600px;margin:0 0 30px;}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:14px;}
.hero-note{font-size:.82rem;color:var(--mute);}
.hero-note a{color:var(--gold-bright);border-bottom:1px solid #f2c87655;}

.hero-visual{position:relative;min-height:420px;display:flex;align-items:center;justify-content:center;perspective:900px;}
.hero-orbit{position:relative;width:230px;height:230px;flex-shrink:0;}
.hero-glow{opacity:0;} /* se enciende progresivamente vía JS al cargar la página (ver script de entrada del hero) */

/* Halo dorado: resplandor amplio detrás del logo, respiración muy lenta */
.hero-halo{
  position:absolute;inset:-46px;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle, #d9ab5436 0%, #d9ab5414 46%, transparent 72%);
  filter:blur(2px);
  animation:halo-breathe 6.5s ease-in-out infinite;
}
@keyframes halo-breathe{
  0%,100%{opacity:.7;transform:scale(1);}
  50%{opacity:1;transform:scale(1.07);}
}

/* Anillos dorados limpios: un trazo fino fijo + un único brillo que recorre
   el borde muy lento (sin puntos ni guiones sueltos — look limpio y premium) */
.hero-ring{
  position:absolute;inset:-34px;border-radius:50%;pointer-events:none;
  border:1px solid var(--line-gold);
}
.hero-ring-inner{
  position:absolute;inset:-14px;border-radius:50%;pointer-events:none;
  border:1px solid #d9ab5428;
}
.hero-ring-sweep{
  position:absolute;inset:-34px;border-radius:50%;pointer-events:none;
  background:conic-gradient(from 0deg, transparent 0%, transparent 83%, #f2c87680 90%, #f2c876 94%, #f2c87680 98%, transparent 100%);
  -webkit-mask:radial-gradient(farthest-side, transparent calc(100% - 2px), #000 calc(100% - 2px));
          mask:radial-gradient(farthest-side, transparent calc(100% - 2px), #000 calc(100% - 2px));
  filter:drop-shadow(0 0 3px #f2c876aa);
  animation:ring-sweep-rotate 9s linear infinite;
}
.hero-ring-sweep-inner{
  position:absolute;inset:-14px;border-radius:50%;pointer-events:none;
  background:conic-gradient(from 180deg, transparent 0%, transparent 89%, #f2c87660 95%, #f2c87699 97%, #f2c87660 100%);
  -webkit-mask:radial-gradient(farthest-side, transparent calc(100% - 1.5px), #000 calc(100% - 1.5px));
          mask:radial-gradient(farthest-side, transparent calc(100% - 1.5px), #000 calc(100% - 1.5px));
  animation:ring-sweep-rotate-rev 13s linear infinite;
}
@keyframes ring-sweep-rotate{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
@keyframes ring-sweep-rotate-rev{from{transform:rotate(0deg);}to{transform:rotate(-360deg);}}

/* Onda luminosa expansiva al pasar el cursor */
.hero-wave{
  position:absolute;inset:0;border-radius:50%;pointer-events:none;
  border:1px solid var(--gold-bright);opacity:0;
}
.hero-orbit:hover .hero-wave,.hero-orbit:focus-within .hero-wave{animation:wave-expand 1.6s ease-out infinite;}

@keyframes wave-expand{
  0%{transform:scale(.92);opacity:.55;}
  100%{transform:scale(1.45);opacity:0;}
}

.hero-mark{
  position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--panel-2),var(--black) 75%);
  border:1px solid var(--line-gold);display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 60px -10px #d9ab5433, inset 0 0 30px #00000090;
  animation:hero-mark-pulse 5.5s ease-in-out infinite;
  transition:box-shadow .4s var(--ease-out);
}
.hero-orbit:hover .hero-mark,.hero-orbit:focus-within .hero-mark{box-shadow:0 0 90px -6px #d9ab5499, inset 0 0 30px #00000090;}
.hero-mark img{width:64%;height:64%;object-fit:contain;animation:logo-breathe 5.5s ease-in-out infinite;}
@keyframes logo-breathe{
  0%,100%{transform:scale(1);}
  50%{transform:scale(1.045);}
}
@keyframes hero-mark-pulse{
  0%,100%{box-shadow:0 0 60px -10px #d9ab5433, inset 0 0 30px #00000090;}
  50%{box-shadow:0 0 100px -4px #d9ab5488, inset 0 0 30px #00000090;}
}
@media (prefers-reduced-motion: reduce){
  .hero-mark,.hero-mark img,.hero-halo,.hero-wave{animation:none;}
  .hero-ring-sweep,.hero-ring-sweep-inner{display:none;} /* queda el anillo fino fijo, sin movimiento */
  .hero-orbit:hover .hero-wave,.hero-orbit:focus-within .hero-wave{animation:none;opacity:0;}
}
@media (max-width:720px){
  .hero-halo{inset:-30px;}
  .hero-ring{inset:-22px;}
  .hero-ring-sweep{inset:-22px;}
  .hero-ring-inner,.hero-ring-sweep-inner,.hero-wave{display:none;} /* en móvil, un solo anillo + halo: menos trabajo de render */
}
.hero-float-card{
  position:absolute;display:flex;align-items:center;gap:8px;background:var(--panel);
  border:1px solid var(--line);border-radius:12px;padding:9px 13px;font-size:.76rem;font-weight:700;color:var(--cream-2);
  box-shadow:0 18px 34px -14px #000000cc;white-space:nowrap;will-change:transform;
  animation:floaty 6s ease-in-out infinite;
}
.hero-float-card svg{width:15px;height:15px;color:var(--gold-bright);flex-shrink:0;}
.hero-float-card:nth-child(odd){animation-duration:7s;}
.hero-float-card.fc-1{top:-6%;left:-18%;animation-delay:.2s;}
.hero-float-card.fc-2{top:6%;right:-26%;animation-delay:1.1s;}
.hero-float-card.fc-3{bottom:14%;left:-30%;animation-delay:.6s;}
.hero-float-card.fc-4{bottom:-8%;right:-14%;animation-delay:1.6s;}
.hero-float-card.fc-5{top:40%;left:-42%;animation-delay:2s;}
.hero-float-card.fc-6{top:46%;right:-40%;animation-delay:.9s;}
@keyframes floaty{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-9px);}
}
@media (prefers-reduced-motion: reduce){
  .hero-float-card{animation:none;}
}
@media (min-width:960px){
  .hero-grid{grid-template-columns:1.05fr .95fr;}
  .hero-orbit{width:280px;height:280px;}
}
/* Entre 960 y 1179px la columna del hero-visual aún es angosta: se ocultan
   las dos tarjetas más externas para que ninguna quede fuera de su columna
   o se encime con el texto. A partir de 1180px (mismo punto donde aparece
   el menú de escritorio) ya hay espacio para las 6. */
@media (min-width:960px) and (max-width:1179px){
  .hero-float-card.fc-5,.hero-float-card.fc-6{display:none;}
}
@media (max-width:720px){
  .hero-visual{min-height:340px;}
  .hero-orbit{width:170px;height:170px;}
  .hero-float-card{font-size:.68rem;padding:7px 10px;}
  /* En pantallas angostas ya no hay espacio para "flotar" 4-6 tarjetas
     alrededor del círculo sin que se encimen con el logo: se muestran
     solo 2 (arriba y abajo), con offsets fijos en px suficientes para
     despejar por completo el círculo de 170px (incluyendo el rango de
     la animación floaty, que mueve ±9px en Y). */
  .hero-float-card.fc-2,.hero-float-card.fc-4,.hero-float-card.fc-5,.hero-float-card.fc-6{display:none;}
  .hero-float-card.fc-1{top:-46px;left:28px;right:auto;bottom:auto;}
  .hero-float-card.fc-3{bottom:-46px;top:auto;left:25px;right:auto;}
}

/* =============================================================
   Diferenciador
   ============================================================= */
.diff{background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;}
.diff h2{font-size:clamp(1.5rem,3.6vw,2.4rem);font-weight:600;max-width:820px;margin:0 auto 12px;text-wrap:balance;color:var(--cream);}
.diff h2 em{font-style:italic;color:var(--gold-bright);}
.diff p{color:var(--cream-2);max-width:640px;margin:0 auto;font-size:1rem;line-height:1.6;}

/* =============================================================
   Academic Ecosystem — diagrama que se ilumina con el scroll
   ============================================================= */
.ecosystem{background:var(--black);}
.eco-diagram{max-width:760px;margin:0 auto;}
.eco-root{
  text-align:center;font-family:var(--serif);font-size:1.1rem;font-weight:600;color:var(--cream);
  padding:12px 22px;border:1px solid var(--line-gold);border-radius:12px;background:var(--panel);
  display:inline-block;margin:0 auto 6px;position:relative;left:50%;transform:translateX(-50%);
}
.eco-branch-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0;}
.eco-node{
  text-align:center;padding:16px 10px;border-radius:14px;background:var(--panel);border:1px solid var(--line);
  color:var(--mute);font-weight:700;font-size:.86rem;transition:border-color .4s,color .4s,box-shadow .4s,background .4s;
}
.eco-node svg{width:20px;height:20px;margin-bottom:8px;display:inline-block;color:var(--mute);transition:color .4s;}
.eco-node.is-lit{color:var(--gold-bright);border-color:var(--line-gold);background:var(--panel-2);box-shadow:0 0 26px -10px #d9ab5455;}
.eco-node.is-lit svg{color:var(--gold-bright);}
.eco-line-v{width:1px;height:26px;background:linear-gradient(var(--line),var(--line));margin:0 auto;transition:background .4s;}
.eco-line-v.is-lit{background:linear-gradient(var(--gold),var(--gold-bright));}
.eco-stack{display:flex;flex-direction:column;gap:0;align-items:center;}
.eco-single{
  text-align:center;padding:12px 22px;border-radius:12px;background:var(--panel);border:1px solid var(--line);
  color:var(--mute);font-weight:700;font-size:.88rem;min-width:200px;transition:border-color .4s,color .4s,box-shadow .4s,background .4s;
}
.eco-single.is-lit{color:var(--gold-bright);border-color:var(--line-gold);background:var(--panel-2);box-shadow:0 0 26px -10px #d9ab5455;}

/* =============================================================
   4 pilares
   ============================================================= */
.pillars-grid{display:grid;grid-template-columns:1fr;gap:16px;}
.pillar-card{
  background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:26px 22px;
  transition:transform .25s var(--ease-out),border-color .25s var(--ease-out),box-shadow .25s var(--ease-out);
}
.pillar-card:hover{transform:translateY(-4px);border-color:var(--line-gold);box-shadow:0 20px 40px -20px #d9ab5455;}
.pillar-ico{
  width:46px;height:46px;border-radius:12px;background:var(--gold-soft);border:1px solid var(--line-gold);
  display:flex;align-items:center;justify-content:center;color:var(--gold-bright);margin-bottom:16px;
}
.pillar-ico svg{width:22px;height:22px;}
.pillar-card h3{font-size:1.05rem;font-weight:700;margin:0 0 8px;font-family:var(--sans);color:var(--cream);}
.pillar-card p{font-size:.9rem;color:var(--cream-2);line-height:1.6;margin:0;}
@media (min-width:720px){.pillars-grid{grid-template-columns:repeat(2,1fr);}}
@media (min-width:1180px){.pillars-grid{grid-template-columns:repeat(4,1fr);}}

/* =============================================================
   Cómo funciona — timeline
   ============================================================= */
.timeline{position:relative;}
.timeline-track{position:relative;padding-left:34px;border-left:1px dashed rgba(255,255,255,.14);display:flex;flex-direction:column;gap:26px;}
.timeline-step{position:relative;}
.timeline-step::before{
  content:attr(data-n);position:absolute;left:-46px;top:0;width:26px;height:26px;border-radius:50%;
  background:var(--panel-2);border:1px solid var(--gold);color:var(--gold-bright);
  display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:800;font-family:var(--serif);
  transition:box-shadow .3s;
}
.timeline-step.is-active::before{box-shadow:0 0 0 4px #d9ab5422;}
.timeline-step h3{font-size:1.02rem;font-weight:700;margin:0 0 4px;color:var(--cream);}
.timeline-step p{font-size:.9rem;color:var(--cream-2);margin:0;line-height:1.55;max-width:560px;}
@media (min-width:860px){
  .timeline-track{padding-left:0;border-left:none;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
  .timeline-track::before{content:"";grid-column:1/-1;height:1px;background:rgba(255,255,255,.14);order:-1;margin-bottom:6px;}
  .timeline-step::before{position:static;margin-bottom:14px;}
}

/* =============================================================
   Aula Virtual — Product Showcase (mockup tipo laptop)
   ============================================================= */
.aula{background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.aula-note{
  display:flex;gap:12px;align-items:flex-start;background:var(--panel-2);border:1px solid var(--line);
  border-radius:14px;padding:16px 18px;max-width:700px;margin-bottom:8px;
}
.aula-note svg{flex-shrink:0;width:20px;height:20px;color:var(--gold-bright);margin-top:2px;}
.aula-note p{margin:0;font-size:.88rem;color:var(--cream-2);line-height:1.55;}
.aula-note b{color:var(--cream);}

.device{margin:40px auto 0;max-width:980px;position:relative;}
.device-glow{position:absolute;inset:10% -6% -10%;background:radial-gradient(ellipse at center,#d9ab5426,transparent 70%);filter:blur(6px);z-index:0;}
.device-frame{
  position:relative;z-index:1;background:linear-gradient(180deg,#1b1e28,#101319);
  border-radius:20px 20px 0 0;padding:16px 16px 0;border:1px solid rgba(255,255,255,.08);
  box-shadow:0 50px 90px -30px #000000cc;
}
.device-cam{width:8px;height:8px;border-radius:50%;background:#333;margin:0 auto 12px;}
.device-screen{background:var(--black);border-radius:10px 10px 0 0;overflow:hidden;border:1px solid rgba(255,255,255,.06);}
.device-base{
  height:16px;background:linear-gradient(180deg,#20242f,#0c0e13);border-radius:0 0 10px 10px;
  position:relative;z-index:1;box-shadow:0 14px 22px -10px #000000cc;
}
.device-base::after{
  content:"";display:block;width:34%;height:6px;margin:0 auto;background:#05060899;border-radius:0 0 8px 8px;
}
.device-multi-note{text-align:center;color:var(--mute);font-size:.85rem;margin:26px 0 0;}

/* Tablet + celular "acoplados" junto al laptop — solo en pantallas anchas,
   con offsets fijos en px (mismo criterio de seguridad que .device-float)
   para que nunca se corten contra el borde del navegador. */
.device-mini{position:absolute;z-index:2;display:none;filter:drop-shadow(0 20px 30px rgba(0,0,0,.55));}
.device-tablet{width:132px;bottom:-30px;right:-54px;transform:rotate(-7deg);}
.device-phone{width:70px;bottom:-16px;left:-42px;transform:rotate(8deg);}
@media (min-width:1320px){.device-mini{display:block;}}

.dm-frame{background:linear-gradient(180deg,#1b1e28,#101319);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:6px;}
.dm-frame-phone{border-radius:16px;padding:5px;}
.dm-screen{background:var(--black);border-radius:9px;padding:10px 9px;border:1px solid rgba(255,255,255,.06);min-height:96px;}
.dm-screen-phone{min-height:118px;border-radius:11px;padding:9px 8px;}
.dm-tag{font-size:.56rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--gold-bright);margin-bottom:6px;}
.dm-num{font-family:var(--serif);font-size:1.3rem;font-weight:600;color:var(--cream);line-height:1;margin-bottom:6px;}
.dm-bar{height:5px;border-radius:4px;background:var(--panel-2);overflow:hidden;margin-bottom:8px;}
.dm-bar-fill{position:relative;height:100%;border-radius:4px;overflow:hidden;background:linear-gradient(90deg,var(--gold),var(--gold-bright));}
.dm-bar-fill::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(110deg,transparent 25%,#ffffffb0 48%,#ffffffb0 52%,transparent 75%);
  background-size:220% 100%;animation:bar-shimmer 1.7s linear infinite;
}
@media (prefers-reduced-motion: reduce){ .dm-bar-fill::after{animation:none;} }
.dm-row{display:flex;align-items:center;justify-content:space-between;font-size:.58rem;color:var(--cream-2);margin-bottom:3px;}
.dm-row b{color:var(--gold-bright);font-weight:800;}
.dm-title{font-size:.62rem;font-weight:700;color:var(--cream);line-height:1.3;margin-bottom:8px;}
.dm-chip{display:inline-block;font-size:.58rem;font-weight:800;color:var(--green);background:var(--green-soft);border:1px solid #4fceA055;padding:3px 7px;border-radius:999px;}

.aula-shell{
  display:grid;grid-template-columns:1fr;gap:0;background:var(--black);overflow:hidden;min-width:0;
}
/* min-width:0 en los hijos del grid es obligatorio aquí: por defecto un item
   de grid no se encoge más allá del ancho máximo de su contenido (min-width:auto),
   así que sin esto el contenido interno (textos, filas) empuja el ancho real
   de .aula-body muy por encima del .device-screen, y como .device-screen
   tiene overflow:hidden, el exceso queda invisible pero el texto se ve
   "cortado" contra el borde derecho del laptop en mobile. */
.aula-tabs-col{background:var(--panel-2);border-bottom:1px solid var(--line);min-width:0;}
.aula-tabs{padding:10px;display:flex;overflow-x:auto;gap:2px;}
.aula-tab-btn{
  position:relative;display:flex;align-items:center;gap:9px;flex-shrink:0;text-align:left;
  background:transparent;border:none;color:var(--cream-2);font-family:var(--sans);font-size:.83rem;font-weight:600;
  padding:9px 12px;border-radius:10px;cursor:pointer;transition:background .3s var(--ease-out),color .3s var(--ease-out);white-space:nowrap;
}
.aula-tab-btn svg{width:17px;height:17px;flex-shrink:0;color:var(--mute);transition:color .3s var(--ease-out);}
.aula-tab-btn:hover{background:var(--panel-3);color:var(--cream);}
.aula-tab-btn.is-active{background:var(--gold-soft);color:var(--gold-bright);}
.aula-tab-btn.is-active svg{color:var(--gold-bright);}
/* Indicador animado de pestaña activa */
.aula-tab-btn::after{
  content:"";position:absolute;left:10px;right:10px;bottom:1px;height:2px;border-radius:2px;
  background:var(--gold-bright);opacity:0;transform:scaleX(0);transform-origin:left center;
  transition:transform .4s var(--ease-out),opacity .4s var(--ease-out);
}
.aula-tab-btn.is-active::after{opacity:1;transform:scaleX(1);}
.aula-body{padding:26px 22px 28px;min-width:0;}
.aula-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:6px;flex-wrap:wrap;}
.aula-head h3{font-size:1.25rem;font-weight:600;margin:0;font-family:var(--serif);color:var(--cream);}
.aula-tag{font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-bright);background:var(--gold-soft);border:1px solid var(--line-gold);padding:5px 10px;border-radius:999px;white-space:nowrap;}
.aula-desc{color:var(--cream-2);font-size:.92rem;line-height:1.6;max-width:640px;margin:10px 0 18px;}
.aula-mock{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px;}
.aula-caption{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap;font-size:.72rem;color:var(--mute);font-weight:600;}
.aula-caption .dot{width:6px;height:6px;border-radius:50%;background:var(--green);flex-shrink:0;}
.aula-caption .hint{margin-left:auto;}
.aula-subhead{font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--gold-bright);margin:14px 0 7px;}
.aula-subhead:first-child{margin-top:0;}
.aula-row{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:11px;background:var(--panel-2);border:1px solid var(--line);margin-bottom:7px;transition:transform .2s,box-shadow .2s,border-color .2s;}
.aula-row:hover{transform:translateY(-2px);border-color:var(--line-gold);box-shadow:0 14px 26px -16px #d9ab5455;}
.aula-row:last-child{margin-bottom:0;}
.aula-row .ico{width:34px;height:34px;border-radius:9px;background:var(--panel-3);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--gold-bright);}
.aula-row .ico svg{width:16px;height:16px;}
.aula-row .ico.blue{color:#93a6ea;}
.aula-main{flex:1;min-width:0;}
.aula-title{font-size:.86rem;font-weight:700;color:var(--cream);}
.aula-sub{font-size:.75rem;color:var(--mute);margin-top:1px;}
.aula-side{text-align:right;flex-shrink:0;}
.aula-time{font-size:.78rem;font-weight:700;color:var(--gold-bright);}
.a-chip{display:inline-flex;align-items:center;gap:5px;font-size:.7rem;font-weight:700;padding:4px 9px;border-radius:999px;border:1px solid transparent;cursor:pointer;user-select:none;}
.a-chip.pend{background:var(--amber-soft);color:var(--amber);border-color:#f2c87655;}
.a-chip.sent{background:#5670c222;color:#93a6ea;border-color:#5670c255;}
.a-chip.done{background:var(--green-soft);color:var(--green);border-color:#4fceA055;}
.a-chip-hint{font-size:.66rem;color:var(--mute);margin-top:8px;}
.a-note-card{padding:12px;border-radius:11px;background:var(--panel-2);border:1px solid var(--line);margin-bottom:7px;}
.a-note-head{display:flex;align-items:center;gap:8px;font-size:.74rem;font-weight:700;color:var(--gold-bright);margin-bottom:5px;}
.a-note-head .avatar{width:20px;height:20px;border-radius:50%;background:var(--panel-3);display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:800;color:var(--gold-bright);}
.a-note-body{font-size:.82rem;color:var(--cream-2);line-height:1.5;}
.a-chat{max-width:82%;padding:9px 13px;border-radius:13px;font-size:.82rem;line-height:1.48;margin-bottom:7px;}
.a-chat.them{background:var(--panel-2);border:1px solid var(--line);border-bottom-left-radius:4px;}
.a-chat.me{background:var(--gold-soft);border:1px solid var(--line-gold);color:var(--cream);border-bottom-right-radius:4px;margin-left:auto;}
.a-dash-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-bottom:14px;}
.a-dash-tile{background:var(--panel-2);border:1px solid var(--line);border-radius:11px;padding:12px;}
.a-dash-num{font-family:var(--serif);font-size:1.25rem;font-weight:600;color:var(--gold-bright);}
.a-dash-label{font-size:.7rem;color:var(--mute);margin-top:2px;line-height:1.3;}
.a-bar-row{display:flex;align-items:center;gap:9px;margin-bottom:9px;font-size:.78rem;}
.a-bar-row:last-child{margin-bottom:0;}
.a-bar-name{width:128px;flex-shrink:0;color:var(--cream-2);font-size:.76rem;}
.a-bar-track{flex:1;height:7px;border-radius:5px;background:var(--panel-2);overflow:hidden;border:1px solid var(--line);}
.a-bar-fill{
  position:relative;height:100%;border-radius:5px;overflow:hidden;
  background:linear-gradient(90deg,var(--gold),var(--gold-bright));width:0;transition:width 1.1s var(--ease-out);
}
.a-bar-fill::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(110deg,transparent 25%,#ffffffb0 48%,#ffffffb0 52%,transparent 75%);
  background-size:220% 100%;animation:bar-shimmer 1.7s linear infinite;
}
@keyframes bar-shimmer{
  0%{background-position:120% 0;}
  100%{background-position:-120% 0;}
}
@media (prefers-reduced-motion: reduce){ .a-bar-fill::after{animation:none;} }
.a-bar-pct{width:34px;text-align:right;color:var(--mute);font-weight:700;font-size:.72rem;}
.a-demo-flag{display:inline-flex;align-items:center;gap:6px;font-size:.65rem;font-weight:700;color:var(--mute);letter-spacing:.03em;text-transform:uppercase;margin-top:6px;}
.a-demo-flag svg{width:12px;height:12px;flex-shrink:0;}
@media (min-width:720px){.a-dash-grid{grid-template-columns:repeat(4,1fr);}}
@media (min-width:960px){
  .aula-shell{grid-template-columns:250px 1fr;}
  .aula-tabs-col{border-bottom:none;border-right:1px solid var(--line);}
  .aula-tabs{flex-direction:column;overflow-x:visible;max-height:520px;overflow-y:auto;}
  .aula-tab-btn::after{left:0;right:auto;bottom:8px;top:8px;width:2px;height:auto;transform:scaleY(0);transform-origin:center top;}
  .aula-tab-btn.is-active::after{transform:scaleY(1);}
}

/* Aula floating cards around device (desktop only, decorative) */
.device-wrap{position:relative;}
.device-float{
  position:absolute;display:none;align-items:center;gap:8px;background:var(--panel);
  border:1px solid var(--line);border-radius:12px;padding:9px 12px;font-size:.74rem;font-weight:700;color:var(--cream-2);
  box-shadow:0 18px 34px -14px #000000cc;white-space:nowrap;max-width:190px;
}
.device-float svg{width:14px;height:14px;color:var(--gold-bright);flex-shrink:0;}
/* Offsets are small fixed pixel values (not %) so the cards never get clipped
   by the browser edge on medium-wide screens — they only ever poke slightly
   past the device frame, staying inside the section's own side padding. */
@media (min-width:1320px){
  .device-float{display:flex;}
  .df-1{top:4%;left:-28px;}
  .df-2{top:22%;right:-30px;}
  .df-3{bottom:8%;left:-24px;}
  .df-4{bottom:26%;right:-26px;}
}

/* =============================================================
   Dashboard de progreso
   ============================================================= */
.progress-section{background:var(--black);}
.progress-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:18px;}
.progress-tile{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px 16px;text-align:center;transition:border-color .3s,box-shadow .3s;}
.progress-tile:hover{border-color:var(--line-gold);box-shadow:0 16px 30px -18px #d9ab5455;}
.progress-num{font-family:var(--serif);font-size:2rem;font-weight:600;color:var(--gold-bright);}
.progress-label{font-size:.8rem;color:var(--cream-2);margin-top:4px;}
.progress-flag{
  display:inline-flex;align-items:center;gap:7px;font-size:.72rem;font-weight:700;color:var(--mute);
  letter-spacing:.03em;text-transform:uppercase;margin-top:10px;
}
.progress-flag svg{width:14px;height:14px;}
.progress-chart{max-width:760px;margin:34px auto 0;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:22px;}
.progress-chart-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;font-size:.8rem;color:var(--cream-2);font-weight:600;}
@media (min-width:720px){.progress-grid{grid-template-columns:repeat(3,1fr);}}
@media (min-width:1180px){.progress-grid{grid-template-columns:repeat(6,1fr);}}

/* WhatsApp floating button */
.wa-float{
  position:fixed;right:20px;bottom:20px;z-index:90;
  display:flex;align-items:center;gap:10px;background:var(--gold-bright);color:#1a1200;
  padding:14px 18px;border-radius:999px;font-weight:700;font-size:.85rem;
  box-shadow:0 14px 30px -8px #000000aa;
  transition:transform .2s var(--ease-out),opacity .25s var(--ease-out);
}
.wa-float::before{
  content:"";position:absolute;inset:0;border-radius:999px;background:var(--gold-bright);
  z-index:-1;animation:wa-ping 3.2s ease-out infinite;pointer-events:none;
}
.wa-float:hover{transform:translateY(-2px) scale(1.02);}
.wa-float.is-hidden{opacity:0;pointer-events:none;transform:translateY(10px);}
.wa-float svg{width:20px;height:20px;}
@keyframes wa-ping{
  0%{opacity:.32;transform:scale(1);}
  100%{opacity:0;transform:scale(1.22);}
}
@media (prefers-reduced-motion: reduce){ .wa-float::before{animation:none;} }
@media (max-width:600px){
  .wa-float span.wa-text{display:none;}
  .wa-float{padding:14px;}
}

/* Cinta horizontal infinita */
.marquee{
  overflow:hidden;white-space:nowrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:var(--panel);padding:16px 0;
}
.marquee-track{display:inline-flex;width:max-content;animation:marquee-scroll 38s linear infinite;}
.marquee-track span{
  font-family:var(--serif);font-size:1.05rem;color:var(--cream-2);letter-spacing:.01em;padding-right:0;
}
@keyframes marquee-scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media (prefers-reduced-motion: reduce){
  .marquee-track{animation:none;}
  .marquee{overflow-x:auto;}
}
@media (max-width:600px){ .marquee-track span{font-size:.88rem;} }

/* Botón "volver arriba" */
.btt{
  position:fixed;left:20px;bottom:20px;z-index:90;
  width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:var(--panel);border:1px solid var(--line-gold);color:var(--gold-bright);
  box-shadow:0 14px 30px -10px #000000aa;cursor:pointer;
  opacity:0;pointer-events:none;transform:translateY(10px);
  transition:opacity .3s var(--ease-out),transform .3s var(--ease-out),background .25s,border-color .25s;
}
.btt.is-visible{opacity:1;pointer-events:auto;transform:translateY(0);}
.btt:hover{background:var(--panel-2);border-color:var(--gold-bright);}
.btt svg{width:18px;height:18px;}
@media (max-width:600px){ .btt{width:40px;height:40px;left:16px;bottom:16px;} }

/* =============================================================
   El viaje académico del estudiante — scroll storytelling
   ============================================================= */
.journey{background:var(--black);}
.journey-track{position:relative;padding-left:56px;max-width:640px;margin:0 auto;}
.journey-line{position:absolute;left:19px;top:8px;bottom:8px;width:2px;background:rgba(255,255,255,.09);border-radius:2px;overflow:hidden;}
.journey-line-fill{position:absolute;left:0;top:0;width:100%;height:0%;background:linear-gradient(var(--gold),var(--gold-bright));box-shadow:0 0 12px 1px #d9ab5477;}
.journey-scene{position:relative;margin-bottom:52px;}
.journey-scene:last-child{margin-bottom:0;}
.journey-dot{
  position:absolute;left:-45px;top:28px;width:15px;height:15px;border-radius:50%;
  background:var(--panel-2);border:2px solid var(--line);transition:background .4s,border-color .4s,box-shadow .4s;
}
.journey-scene.is-active .journey-dot{background:var(--gold-bright);border-color:var(--gold-bright);box-shadow:0 0 0 6px #d9ab5433;}
.journey-card{
  background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:26px 24px;
  transition:border-color .4s,box-shadow .4s;
}
.journey-scene.is-active .journey-card{border-color:var(--line-gold);box-shadow:0 20px 40px -24px #d9ab5455;}
.journey-num{font-family:var(--serif);font-size:.78rem;font-weight:700;color:var(--gold-bright);letter-spacing:.06em;}
.journey-card h3{margin:6px 0 6px;font-size:1.2rem;font-weight:600;font-family:var(--serif);color:var(--cream);}
.journey-lead{margin:0 0 18px;font-size:.94rem;color:var(--cream-2);line-height:1.55;font-style:italic;}
.journey-visual{background:var(--panel-2);border:1px solid var(--line);border-radius:14px;padding:16px;}

.jd-row{display:flex;justify-content:space-between;gap:10px;padding:8px 2px;font-size:.86rem;border-bottom:1px solid var(--line);}
.jd-row:last-child{border-bottom:none;}
.jd-row span{color:var(--mute);}
.jd-row b{color:var(--cream);}

.jv-calendar{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;}
.jv-week{
  text-align:center;padding:12px 8px;border-radius:10px;background:var(--panel-3);border:1px solid var(--line);
  font-size:.8rem;font-weight:700;color:var(--mute);
}
.jv-week.is-done{color:var(--green);border-color:#4fceA033;}
.jv-week.is-active{color:var(--gold-bright);border-color:var(--line-gold);background:var(--gold-soft);}
@media (min-width:480px){.jv-calendar{grid-template-columns:repeat(4,1fr);}}

.jv-photo{padding:0;overflow:hidden;}
.jv-photo img{width:100%;height:auto;display:block;border-radius:13px;}

.jv-task-chip{cursor:default;}
.jv-score{text-align:center;padding:26px 16px;}
.jv-score-num{font-family:var(--serif);font-size:3rem;font-weight:600;color:var(--gold-bright);}
.jv-score-label{font-size:.82rem;color:var(--mute);margin-top:4px;}

.jv-eval-row{display:flex;align-items:center;gap:10px;font-size:.9rem;color:var(--cream-2);padding:7px 0;}
.jv-eval-row b{color:var(--cream);}
.jv-eval-row .dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;}
.jv-eval-row .dot.done{background:var(--green);}
.jv-eval-row .dot.mid{background:var(--amber);}
.jv-eval-row .dot.pend{background:var(--mute);}

.jv-line{padding:18px 10px 4px;}
.jv-line-svg{width:100%;height:auto;overflow:visible;}
.jv-line-svg polyline{fill:none;stroke:var(--gold-bright);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;}

@media (min-width:720px){
  .journey-track{padding-left:64px;}
  .journey-dot{left:-51px;}
}

/* =============================================================
   No solo tomas clases — comparación
   ============================================================= */
.compare{background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.compare-grid{display:grid;grid-template-columns:1fr;gap:20px;align-items:start;max-width:920px;margin:0 auto;}
.compare-vs{
  justify-self:center;font-family:var(--serif);font-weight:700;font-size:.85rem;color:var(--mute);
  background:var(--panel-2);border:1px solid var(--line);border-radius:50%;width:38px;height:38px;
  display:flex;align-items:center;justify-content:center;
}
.compare-col{background:var(--panel-2);border:1px solid var(--line);border-radius:18px;padding:26px 22px;position:relative;transition:box-shadow .9s var(--ease-out),border-color .9s var(--ease-out);}
.compare-col h3{margin:0 0 18px;font-size:1rem;font-weight:700;font-family:var(--sans);color:var(--mute);text-transform:uppercase;letter-spacing:.04em;position:relative;}
.compare-rm h3{color:var(--gold-bright);}
.compare-rm.is-built{box-shadow:0 0 50px -16px #d9ab5455;border-color:var(--line-gold);}
.compare-rm-line{
  position:absolute;left:36px;top:68px;bottom:34px;width:1px;
  background:linear-gradient(180deg,var(--gold-bright),var(--gold) 70%,transparent);
  transform:scaleY(0);transform-origin:top;transition:transform 1.4s var(--ease-out);opacity:.55;pointer-events:none;
}
.compare-rm.is-built .compare-rm-line{transform:scaleY(1);}
@media (prefers-reduced-motion: reduce){
  .compare-rm-line{transition:none;}
  .compare-col{transition:none;}
}
.compare-step{
  display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:11px;background:var(--panel-3);
  border:1px solid var(--line);font-size:.9rem;font-weight:600;color:var(--cream-2);margin-bottom:8px;
  opacity:0;transform:translateY(8px);transition:opacity .5s var(--ease-out),transform .5s var(--ease-out),border-color .3s,background .3s;
}
.compare-trad .compare-step{opacity:1;transform:none;color:var(--mute);}
.compare-rm.is-built .compare-step{opacity:1;transform:none;}
.compare-step.compare-end{font-weight:800;}
.compare-rm .compare-step.compare-end{color:var(--gold-bright);border-color:var(--line-gold);background:var(--gold-soft);}
.compare-trad .compare-step.compare-end{color:var(--cream);}
.compare-step .cs-n{
  width:22px;height:22px;border-radius:50%;background:var(--panel);border:1px solid var(--line);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:800;color:var(--mute);
}
.compare-rm .compare-step .cs-n{color:var(--gold-bright);border-color:var(--line-gold);}
.compare-arrow{text-align:center;color:var(--mute);font-size:.9rem;padding:2px 0;}
.compare-final{text-align:center;margin:36px 0 0;font-family:var(--serif);font-size:1.3rem;color:var(--cream);}
.compare-final em{font-style:italic;color:var(--gold-bright);}
@media (min-width:820px){
  .compare-grid{grid-template-columns:1fr auto 1fr;gap:24px;}
}

/* =============================================================
   Por qué RMasterClass
   ============================================================= */
.why{background:var(--black);}
.why-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;}
.why-item{
  display:flex;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--line);border-radius:999px;
  padding:12px 20px;font-size:.88rem;font-weight:700;color:var(--cream);transition:border-color .25s,transform .25s;
}
.why-item:hover{border-color:var(--line-gold);transform:translateY(-2px);}
.why-item svg{width:18px;height:18px;color:var(--gold-bright);flex-shrink:0;}

/* =============================================================
   Sistema de Aprendizaje Personalizado — flujo circular de 5 etapas
   ============================================================= */
.learning-system{background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;}
.learning-system .section-head h2 em{font-style:italic;color:var(--gold-bright);}
.ls-wrap{position:relative;max-width:900px;margin:0 auto;text-align:center;}
.ls-name{
  display:inline-flex;align-items:center;gap:8px;font-family:var(--serif);font-style:italic;font-size:1rem;
  color:var(--cream-2);padding:9px 20px;border:1px solid var(--line-gold);border-radius:999px;background:var(--navy-accent);
  margin-bottom:8px;
}
.ls-name-brand{color:var(--gold-bright);font-weight:700;font-style:normal;}

.ls-diagram{position:relative;width:100%;max-width:640px;aspect-ratio:1;margin:56px auto 30px;display:none;}
.ls-ring{position:absolute;inset:0;width:100%;height:100%;overflow:visible;}
.ls-ring-bg{fill:none;stroke:var(--line-gold);stroke-width:.9;stroke-dasharray:2.4 3.2;}
.ls-ring-dot{fill:var(--gold-bright);filter:drop-shadow(0 0 4px #d9ab54cc);}

.ls-center{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:148px;height:148px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,var(--navy-accent),var(--black) 75%);border:1px solid var(--line-gold);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;z-index:2;
  box-shadow:0 0 50px -12px #d9ab5444, inset 0 0 26px #00000090;animation:ls-center-pulse 4s ease-in-out infinite;
}
.ls-center svg{width:34px;height:34px;color:var(--gold-bright);}
.ls-center span{font-family:var(--serif);font-size:.86rem;color:var(--cream);letter-spacing:.02em;}
@keyframes ls-center-pulse{
  0%,100%{box-shadow:0 0 50px -12px #d9ab5444, inset 0 0 26px #00000090;}
  50%{box-shadow:0 0 70px -6px #d9ab5477, inset 0 0 26px #00000090;}
}

.ls-stage{
  position:absolute;transform:translate(-50%,-50%);width:208px;background:var(--panel-2);border:1px solid var(--line);
  border-radius:14px;padding:16px 18px;text-align:left;transition:transform .3s var(--ease-out),border-color .3s,box-shadow .3s;z-index:1;
}
.ls-stage:hover{border-color:var(--line-gold);box-shadow:0 18px 36px -22px #d9ab5455;transform:translate(-50%,-50%) translateY(-4px);}
.ls-n{display:block;font-family:var(--serif);font-size:.74rem;font-weight:700;color:var(--gold-bright);letter-spacing:.08em;margin-bottom:4px;}
.ls-stage h4{margin:0 0 5px;font-size:.95rem;font-weight:700;color:var(--cream);font-family:var(--sans);}
.ls-stage p{margin:0;font-size:.78rem;line-height:1.45;color:var(--cream-2);}

.ls-s1{left:50%;top:12%;}
.ls-s2{left:86%;top:38%;}
.ls-s3{left:72.5%;top:81%;}
.ls-s4{left:27.5%;top:81%;}
.ls-s5{left:14%;top:38%;}

.ls-mobile{display:flex;flex-direction:column;gap:0;max-width:520px;margin:40px auto 0;text-align:left;}
.ls-mstep{position:relative;display:flex;gap:16px;padding-bottom:26px;padding-left:2px;border-left:1px dashed var(--line-gold);margin-left:15px;}
.ls-mstep:last-of-type{border-left-color:transparent;padding-bottom:0;}
.ls-mn{
  flex-shrink:0;width:32px;height:32px;border-radius:50%;background:var(--navy-accent);border:1px solid var(--line-gold);
  display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:700;font-size:.78rem;color:var(--gold-bright);
  transform:translateX(-16px);
}
.ls-mstep h4{margin:2px 0 4px;font-size:.98rem;font-weight:700;color:var(--cream);font-family:var(--sans);}
.ls-mstep p{margin:0;font-size:.84rem;line-height:1.5;color:var(--cream-2);}
.ls-mloop{
  display:flex;align-items:center;gap:8px;margin:14px 0 0 -1px;font-size:.76rem;font-weight:700;color:var(--gold-bright);
  letter-spacing:.02em;
}
.ls-mloop svg{width:15px;height:15px;flex-shrink:0;}

.ls-impact{
  text-align:center;max-width:680px;margin:40px auto 0;font-family:var(--serif);font-size:1.15rem;color:var(--cream-2);line-height:1.5;
}
.ls-impact em{font-style:italic;color:var(--gold-bright);font-weight:600;}

@media (min-width:1024px){
  .ls-diagram{display:block;}
  .ls-mobile{display:none;}
}
@media (prefers-reduced-motion: reduce){
  .ls-center{animation:none;}
}

/* =============================================================
   Asesoramiento privado
   ============================================================= */
.asesoria{background:var(--black);}
.asesoria-grid{display:grid;grid-template-columns:1fr;gap:36px;align-items:center;}
.asesoria-copy h2{font-size:clamp(1.5rem,3.2vw,2.1rem);font-weight:600;margin:0 0 14px;color:var(--cream);text-wrap:balance;}
.asesoria-copy h2 em{font-style:italic;color:var(--gold-bright);}
.asesoria-copy p{color:var(--cream-2);font-size:1rem;line-height:1.65;margin:0 0 26px;max-width:480px;}
.asesoria-visual{position:relative;}
.asesoria-photo{border-radius:18px;overflow:hidden;border:1px solid var(--line);}
.asesoria-photo img{width:100%;height:auto;display:block;}
.asesoria-float{
  position:absolute;display:none;background:var(--panel);border:1px solid var(--line);border-radius:12px;
  padding:10px 16px;font-size:.8rem;font-weight:700;color:var(--gold-bright);box-shadow:0 18px 34px -14px #000000cc;
  animation:floaty 6s ease-in-out infinite;
}
.asesoria-float.af-1{top:-18px;left:-18px;animation-delay:.2s;}
.asesoria-float.af-2{top:40%;right:-24px;animation-delay:1.2s;}
.asesoria-float.af-3{bottom:-16px;left:10%;animation-delay:.7s;}
@media (min-width:900px){
  .asesoria-grid{grid-template-columns:1.1fr .9fr;}
  .asesoria-float{display:block;}
}
@media (prefers-reduced-motion: reduce){ .asesoria-float{animation:none;} }

/* =============================================================
   Para padres de familia
   ============================================================= */
.padres{background:var(--black);}
.padres-note{max-width:640px;margin:26px auto 0;text-align:center;font-size:.86rem;color:var(--mute);line-height:1.6;}

.weekly-report-banner{
  display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;text-align:center;
  max-width:720px;margin:0 auto 28px;padding:18px 28px;border-radius:16px;
  background:linear-gradient(135deg,var(--panel-2),var(--panel));border:1px solid var(--line-gold);
  animation:wrb-glow 3s ease-in-out infinite;
}
@keyframes wrb-glow{
  0%,100%{box-shadow:0 0 0 0 #d9ab5400;}
  50%{box-shadow:0 0 40px 3px #d9ab5444;}
}
.wrb-icon{width:24px;height:24px;flex-shrink:0;color:var(--gold-bright);}
.wrb-text{font-family:var(--serif);font-size:1rem;color:var(--cream);margin:0;}
.wrb-text strong{color:var(--gold-bright);font-weight:700;}
@media (max-width:600px){ .weekly-report-banner{padding:16px 20px;} .wrb-text{font-size:.92rem;} }
@media (prefers-reduced-motion: reduce){ .weekly-report-banner{animation:none;} }

.padres-report{max-width:520px;margin:0 auto 28px;border-color:var(--line-gold);transition:box-shadow .4s var(--ease-out);}
.padres-report:hover{box-shadow:0 0 40px -14px #d9ab5455;}
.padres-report .a-bar-name{width:150px;}

/* =============================================================
   Servicios
   ============================================================= */
.servicios{background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.serv-photos{display:grid;grid-template-columns:1fr;gap:14px;margin-bottom:40px;}
.serv-photo{position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--line);aspect-ratio:4/3;}
.serv-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.serv-photo .cap{
  position:absolute;left:0;right:0;bottom:0;padding:14px 16px;
  background:linear-gradient(0deg,#000000cc,transparent);font-size:.8rem;font-weight:700;color:var(--cream);
}
.serv-photo .cap span{display:block;font-size:.68rem;font-weight:600;color:var(--gold-bright);margin-top:2px;text-transform:uppercase;letter-spacing:.04em;}
@media (min-width:760px){.serv-photos{grid-template-columns:repeat(3,1fr);}}

.course-cards{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:14px;}
@media (min-width:700px){.course-cards{grid-template-columns:repeat(2,1fr);}}
@media (min-width:1080px){.course-cards{grid-template-columns:repeat(3,1fr);}}
.all-courses-banner{
  display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;
  max-width:820px;margin:0 auto 34px;padding:20px 30px;border-radius:16px;text-align:center;
  background:linear-gradient(135deg,var(--panel-2),var(--panel));
  border:1px solid var(--line-gold);
  animation:acb-glow 3s ease-in-out infinite;
}
@keyframes acb-glow{
  0%,100%{box-shadow:0 0 0 0 #d9ab5400;}
  50%{box-shadow:0 0 46px 4px #d9ab5455;}
}
.acb-icon{width:26px;height:26px;flex-shrink:0;color:var(--gold-bright);animation:acb-spin 6s linear infinite;}
@keyframes acb-spin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
.acb-text{font-family:var(--serif);font-size:1.15rem;font-weight:600;color:var(--cream);margin:0;}
.acb-text strong{
  background:linear-gradient(90deg,var(--gold),var(--gold-bright),var(--gold));
  background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;
  animation:acb-shimmer-text 3s linear infinite;
}
@keyframes acb-shimmer-text{0%{background-position:200% center;}100%{background-position:-200% center;}}
.acb-ask{color:var(--gold-bright);font-weight:700;font-size:1.02rem;white-space:nowrap;}
@media (max-width:600px){ .acb-text{font-size:1rem;} .all-courses-banner{padding:16px 20px;} }
@media (prefers-reduced-motion: reduce){
  .all-courses-banner{animation:none;}
  .acb-icon{animation:none;}
  .acb-text strong{animation:none;background-position:0 center;}
}

.course-card{
  position:relative;overflow:hidden;background:var(--panel-2);border:1px solid var(--line);border-radius:18px;
  padding:22px 20px 20px;display:flex;flex-direction:column;gap:12px;
  transition:transform .4s var(--ease-out),border-color .4s var(--ease-out),box-shadow .4s var(--ease-out),background .4s var(--ease-out);
}
.course-card::before{
  content:'';position:absolute;inset:0 0 auto 0;height:2px;
  background:linear-gradient(90deg,transparent,var(--gold-bright),transparent);opacity:0;transition:opacity .4s;
}
.course-card:hover{
  transform:translateY(-6px);border-color:var(--line-gold);background:var(--panel-3);
  box-shadow:0 22px 40px -22px #d9ab5466, inset 0 0 0 1px #d9ab5433;
}
.course-card:hover::before{opacity:1;}
.course-card:hover .cc-ico{transform:scale(1.08) rotate(-4deg);background:var(--gold-soft);border-color:var(--gold-bright);}

.cc-head{display:flex;align-items:center;gap:10px;}
.cc-head h4{margin:0;font-size:1rem;font-weight:700;color:var(--cream);font-family:var(--sans);}
.cc-ico{
  width:36px;height:36px;flex-shrink:0;border-radius:10px;background:var(--panel-3);border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;color:var(--gold-bright);
  transition:transform .4s var(--ease-out),background .3s,border-color .3s;
}
.cc-ico svg{width:18px;height:18px;}
.cc-desc{margin:0;color:var(--cream-2);font-size:.86rem;line-height:1.5;}
.cc-more{
  margin:0;color:var(--mute);font-size:.8rem;line-height:1.5;
  opacity:0;transform:translateY(6px);transition:opacity .35s var(--ease-out),transform .35s var(--ease-out);
}
.course-card:hover .cc-more,.course-card:focus-within .cc-more{opacity:1;transform:translateY(0);}

.cc-cta{
  display:inline-flex;align-items:center;gap:6px;margin-top:10px;
  font-size:.78rem;font-weight:700;color:var(--gold-bright);
  opacity:0;transform:translateY(6px);transition:opacity .35s var(--ease-out),transform .35s var(--ease-out),gap .2s;
}
.cc-cta span{transition:transform .2s var(--ease-out);}
.cc-cta:hover span,.cc-cta:focus-visible span{transform:translateX(3px);}
.course-card:hover .cc-cta,.course-card:focus-within .cc-cta{opacity:1;transform:translateY(0);}
@media (hover:none){ .cc-cta{opacity:1;transform:none;} }

.cc-visual{
  height:96px;border-radius:12px;background:var(--panel-3);border:1px solid var(--line);
  position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;
}
.cc-visual-stat{flex-direction:column;align-items:stretch;justify-content:center;height:auto;min-height:96px;padding:14px 14px 10px;gap:2px;}

/* Ciclo de texto genérico (Matemática / Cálculo / Estadística) */
[data-cc-cycle] .cc-cycle-item{opacity:0;transform:translateY(6px);transition:opacity .5s ease,transform .5s ease;}
[data-cc-cycle] .cc-cycle-item.is-active{opacity:1;transform:translateY(0);}

.cc-math{position:relative;width:100%;height:100%;}
.cc-math .cc-cycle-item{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-family:var(--serif);font-style:italic;font-size:1.1rem;color:var(--cream);white-space:nowrap;
}
.cc-math .cc-cycle-item.cc-done{color:var(--gold-bright);font-style:normal;font-weight:700;font-size:.9rem;}
.cc-math.cc-code .cc-cycle-item{font-family:'SFMono-Regular',Consolas,Menlo,monospace;font-style:normal;font-size:.82rem;color:var(--cream-2);letter-spacing:.01em;}
.cc-math.cc-code .cc-cycle-item.cc-done{color:var(--gold-bright);font-family:'SFMono-Regular',Consolas,Menlo,monospace;font-weight:700;font-size:.82rem;}

.cc-curve{position:absolute;inset:0;width:100%;height:100%;}
.cc-curve-path{fill:none;stroke:var(--gold-bright);stroke-width:2.4;stroke-linecap:round;stroke-dasharray:230;stroke-dashoffset:230;animation:cc-draw 4.5s ease-in-out infinite;}
@keyframes cc-draw{0%{stroke-dashoffset:230;}45%{stroke-dashoffset:0;}80%{stroke-dashoffset:0;}100%{stroke-dashoffset:230;}}
.cc-curve-label{position:absolute;bottom:8px;right:12px;height:16px;width:130px;}
.cc-curve-label .cc-cycle-item{
  position:absolute;right:0;top:0;font-family:var(--serif);font-style:italic;color:var(--mute);font-size:.8rem;white-space:nowrap;
}
.cc-curve-label .cc-cycle-item.is-active{color:var(--gold-bright);}

.cc-traj{width:100%;height:100%;}
.cc-traj-path{fill:none;stroke:var(--line-gold);stroke-width:1.6;stroke-dasharray:4 5;}
.cc-traj-dot{fill:var(--gold-bright);filter:drop-shadow(0 0 3px #d9ab54aa);}

.cc-mol{width:100%;height:100%;}
.cc-mol-group{transform-origin:70px 40px;animation:cc-mol-rotate 22s linear infinite;}
.cc-mol-group line{stroke:var(--line-gold);stroke-width:1.6;}
.cc-mol .atom{fill:var(--panel);stroke:var(--gold-bright);stroke-width:1.6;}
.cc-mol .atom-b{fill:var(--gold-soft);}
.cc-mol .atom-c{fill:var(--panel);stroke:var(--cream-2);}
@keyframes cc-mol-rotate{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}

.cc-stat-label{position:relative;height:15px;margin-top:6px;}
.cc-stat-label .cc-cycle-item{
  position:absolute;inset:0;text-align:center;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;
  font-weight:700;color:var(--mute);
}
.cc-stat-label .cc-cycle-item.is-active{color:var(--gold-bright);}

.cc-demo-tag{display:block;text-align:center;font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;color:var(--mute);margin-top:6px;opacity:.8;}

@media (prefers-reduced-motion: reduce){
  .cc-curve-path{animation:none;stroke-dashoffset:0;}
  .cc-mol-group{animation:none;}
}

.serv-includes{background:var(--panel-2);border:1px solid var(--line);border-radius:18px;padding:28px 24px;}
.serv-includes h3{margin:0 0 18px;font-size:1.05rem;font-weight:700;color:var(--gold-bright);font-family:var(--sans);}
.serv-includes ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:14px;}
.serv-includes li{display:flex;align-items:flex-start;gap:10px;font-size:.92rem;color:var(--cream-2);line-height:1.55;}
.serv-includes li svg{flex-shrink:0;width:19px;height:19px;color:var(--gold-bright);margin-top:2px;}
.serv-includes li b{color:var(--cream);}
@media (min-width:860px){.serv-includes ul{grid-template-columns:repeat(2,1fr);}}

/* =============================================================
   Paquetes
   ============================================================= */
.paquetes{background:var(--black);}
.price-group-label{font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-bright);margin:0 0 14px;}
.price-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-bottom:36px;}
.price-card{
  background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:24px 22px;position:relative;
  transition:transform .25s var(--ease-out),border-color .25s var(--ease-out),box-shadow .25s var(--ease-out);
}
.price-card:hover{transform:translateY(-5px);border-color:var(--line-gold);box-shadow:0 22px 44px -22px #d9ab5455;}
.price-card.featured{
  border-color:var(--gold);background:linear-gradient(160deg,var(--panel-2),var(--panel));
  animation:featured-glow 2.6s ease-in-out infinite;
}
@keyframes featured-glow{
  0%,100%{box-shadow:0 0 0 0 #d9ab5400;}
  50%{box-shadow:0 0 50px 8px #d9ab5488;}
}
@media (prefers-reduced-motion: reduce){ .price-card.featured{animation:none;} }
.price-card.featured::before{
  content:"Recomendado";position:absolute;top:-12px;right:20px;background:linear-gradient(135deg,var(--gold-bright),var(--gold));
  color:#1a1200;font-size:.66rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:5px 12px;border-radius:999px;
}
.price-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:6px;flex-wrap:wrap;}
.price-card-head h3{margin:0;font-size:1.05rem;font-weight:700;color:var(--cream);font-family:var(--sans);}
.price-value{font-family:var(--serif);font-size:1.9rem;font-weight:600;color:var(--gold-bright);white-space:nowrap;}
.price-value small{font-size:.85rem;font-weight:500;color:var(--mute);}
.price-card p.price-sub{margin:0 0 16px;font-size:.85rem;color:var(--cream-2);line-height:1.5;}
.price-card .btn{width:100%;}
@media (min-width:720px){.price-grid{grid-template-columns:repeat(2,1fr);}}
@media (min-width:1080px){.price-grid.monthly{grid-template-columns:repeat(3,1fr);}}

.price-note{
  display:flex;gap:12px;align-items:flex-start;background:var(--panel);border:1px solid var(--line);
  border-radius:14px;padding:16px 18px;max-width:760px;margin:0 auto;
}
.price-note svg{flex-shrink:0;width:20px;height:20px;color:var(--gold-bright);margin-top:2px;}
.price-note p{margin:0;font-size:.88rem;color:var(--cream-2);line-height:1.55;}

/* Selector de moneda internacional */
.fx-select{
  display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;
  max-width:620px;margin:0 auto 30px;padding:12px 18px;border-radius:999px;
  background:var(--panel);border:1px solid var(--line);
}
.fx-select-ico{width:18px;height:18px;flex-shrink:0;color:var(--gold-bright);}
.fx-select label{font-size:.84rem;color:var(--cream-2);font-weight:600;white-space:nowrap;}
.fx-select select{
  background:var(--panel-2);border:1px solid var(--line-gold);color:var(--cream);
  font-family:var(--sans);font-size:.84rem;font-weight:600;padding:7px 12px;border-radius:999px;
  cursor:pointer;max-width:220px;transition:border-color .25s,box-shadow .25s;
}
.fx-select select:hover,.fx-select select:focus-visible{border-color:var(--gold-bright);box-shadow:0 0 0 3px #d9ab5433;}
.fx-select-status{font-size:.76rem;color:var(--mute);min-height:1em;}
.price-value small{font-weight:500;}
.price-fx-disclaimer{
  max-width:620px;margin:18px auto 0;text-align:center;font-size:.78rem;color:var(--mute);line-height:1.5;
}
@media (max-width:600px){ .fx-select{padding:12px;} .fx-select select{max-width:170px;} }

/* =============================================================
   Misión y Visión
   ============================================================= */
.mv{background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.mv-grid{display:grid;grid-template-columns:1fr;gap:16px;}
.mv-card{background:var(--panel-2);border:1px solid var(--line);border-radius:20px;padding:32px 26px;}
.mv-card .mv-ico{width:48px;height:48px;border-radius:13px;background:var(--gold-soft);border:1px solid var(--line-gold);display:flex;align-items:center;justify-content:center;color:var(--gold-bright);margin-bottom:18px;}
.mv-card .mv-ico svg{width:23px;height:23px;}
.mv-card h3{margin:0 0 10px;font-size:1.2rem;font-weight:600;font-family:var(--serif);color:var(--cream);}
.mv-card p{margin:0;font-size:.94rem;line-height:1.7;color:var(--cream-2);}
@media (min-width:860px){.mv-grid{grid-template-columns:repeat(2,1fr);}}

/* =============================================================
   CTA final
   ============================================================= */
.cta-final{background:var(--black);text-align:center;position:relative;overflow:hidden;}
.cta-final::before{
  content:"";position:absolute;top:-30%;left:50%;transform:translateX(-50%);width:900px;height:600px;
  background:radial-gradient(ellipse at center,#d9ab5422,transparent 70%);pointer-events:none;
}
.cta-final .container{position:relative;z-index:1;}
.cta-final h2{font-size:clamp(1.7rem,4vw,2.6rem);font-weight:600;max-width:780px;margin:0 auto 16px;color:var(--cream);text-wrap:balance;}
.cta-final h2 em{font-style:italic;color:var(--gold-bright);}
.cta-final p{color:var(--cream-2);max-width:560px;margin:0 auto 30px;font-size:1.02rem;line-height:1.6;}
.cta-final .btn{padding:1rem 2.2rem;font-size:1rem;}

/* =============================================================
   Footer / Contacto
   ============================================================= */
.site-footer{background:var(--black-2);border-top:1px solid var(--line);padding-block:3.5rem 2rem;}
.footer-grid{display:grid;grid-template-columns:1fr;gap:30px;margin-bottom:34px;}
.footer-brand{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:1.15rem;color:var(--cream);margin-bottom:12px;}
.footer-brand img{height:34px;width:34px;border-radius:50%;}
.footer-col p{color:var(--mute);font-size:.86rem;line-height:1.6;max-width:340px;margin:0;}
.footer-col h4{font-size:.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-bright);margin:0 0 14px;}
.footer-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.footer-links a{color:var(--cream-2);font-size:.88rem;transition:color .2s;}
.footer-links a:hover{color:var(--gold-bright);}
.footer-contact{display:flex;align-items:center;gap:10px;color:var(--cream-2);font-size:.88rem;margin-bottom:12px;}
.footer-contact svg{width:17px;height:17px;color:var(--gold-bright);flex-shrink:0;}
.footer-bottom{border-top:1px solid var(--line);padding-top:22px;display:flex;flex-direction:column;gap:16px;font-size:.78rem;color:var(--mute);}
.footer-legal{display:flex;flex-wrap:wrap;gap:8px 22px;}
.footer-legal a{color:var(--cream-2);font-weight:600;transition:color .2s;}
.footer-legal a:hover{color:var(--gold-bright);}
.footer-bottom-row{display:flex;flex-direction:column;gap:8px;align-items:flex-start;}
@media (min-width:760px){
  .footer-grid{grid-template-columns:1.4fr 1fr 1fr;}
  .footer-bottom-row{flex-direction:row;justify-content:space-between;align-items:center;width:100%;}
}

[hidden]{display:none!important;}

/* =============================================================
   PÁGINAS LEGALES (Términos, Condiciones de Uso, Política de Pagos)
   ============================================================= */
.legal-hero{padding-top:calc(var(--nav-h) + 3rem);padding-bottom:2rem;background:var(--black);border-bottom:1px solid var(--line);}
.legal-hero .container{max-width:800px;}
.legal-hero .eyebrow{margin-bottom:14px;}
.legal-hero h1{font-size:clamp(1.9rem,3.6vw,2.6rem);margin:0 0 10px;color:var(--cream);}
.legal-hero .legal-updated{color:var(--mute);font-size:.88rem;margin:0;}
.legal-hero .legal-updated b{color:var(--cream-2);font-weight:600;}

.legal-body{padding-top:3rem;padding-bottom:5rem;background:var(--black);}
.legal-body .container{max-width:800px;}
.legal-doc{color:var(--cream-2);font-size:.98rem;line-height:1.75;}
.legal-doc h2{
  font-size:1.3rem;color:var(--cream);margin:2.6em 0 .7em;padding-top:.2em;
  border-top:1px solid var(--line);padding-top:1.4em;
}
.legal-doc h2:first-child{margin-top:0;border-top:none;padding-top:0;}
.legal-doc h3{font-size:1.05rem;color:var(--gold-bright);font-family:var(--sans);font-weight:700;margin:1.6em 0 .5em;}
.legal-doc p{margin:0 0 1.1em;}
.legal-doc ul,.legal-doc ol{margin:0 0 1.1em;padding-left:1.3em;}
.legal-doc li{margin-bottom:.55em;}
.legal-doc li::marker{color:var(--gold-bright);}
.legal-doc strong{color:var(--cream);font-weight:700;}
.legal-doc a{color:var(--gold-bright);text-decoration:underline;text-underline-offset:2px;}
.legal-doc a:hover{color:var(--gold);}
.legal-doc .legal-note{
  background:var(--panel-2);border:1px solid var(--line);border-radius:12px;
  padding:16px 18px;margin:1.6em 0;font-size:.9rem;color:var(--cream-2);
}
.legal-doc .legal-note strong{color:var(--gold-bright);}
.legal-cross{
  display:flex;flex-wrap:wrap;gap:10px;margin-top:3rem;padding-top:2rem;border-top:1px solid var(--line);
}
.legal-cross a{
  font-size:.85rem;font-weight:600;color:var(--cream-2);background:var(--panel-2);
  border:1px solid var(--line);border-radius:999px;padding:9px 16px;transition:border-color .2s,color .2s;
}
.legal-cross a:hover{border-color:var(--line-gold);color:var(--gold-bright);}
@media (max-width:600px){
  .legal-doc{font-size:.93rem;}
  .legal-doc h2{font-size:1.14rem;}
}

/* Paquetes mensuales — qué incluye (v=20261028a) */
.pkg-includes{
  background:var(--panel);border:1px solid var(--line-gold);border-radius:18px;
  padding:26px 22px;margin:-14px 0 40px;position:relative;overflow:hidden;
}
.pkg-includes::before{content:"";position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg,transparent,var(--gold-bright),transparent);opacity:.7;}
.pkg-includes-head h3{margin:0 0 8px;font-family:var(--serif);font-size:1.35rem;font-weight:600;color:var(--cream);}
.pkg-includes-head p{margin:0 0 20px;font-size:.92rem;line-height:1.6;color:var(--cream-2);max-width:760px;}
.pkg-includes-head p strong{color:var(--gold-bright);font-weight:600;}
.pkg-includes-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:14px 28px;}
.pkg-includes-list li{position:relative;padding-left:30px;}
.pkg-includes-list li::before{
  content:"";position:absolute;left:0;top:2px;width:18px;height:18px;border-radius:50%;
  background:var(--gold-soft);border:1px solid var(--line-gold);
}
.pkg-includes-list li::after{
  content:"";position:absolute;left:6px;top:6px;width:5px;height:8px;
  border:solid var(--gold-bright);border-width:0 2px 2px 0;transform:rotate(45deg);
}
.pkg-includes-list b{display:block;font-size:.93rem;font-weight:700;color:var(--cream);margin-bottom:3px;}
.pkg-includes-list span{display:block;font-size:.85rem;line-height:1.5;color:var(--cream-2);}
@media (min-width:720px){.pkg-includes{padding:30px 32px;}.pkg-includes-list{grid-template-columns:repeat(2,1fr);}}

/* Cómo inscribirte + Preguntas frecuentes (v=20261028b) */
.inscripcion{background:var(--black);}
.steps-grid{list-style:none;margin:0 0 34px;padding:0;display:grid;grid-template-columns:1fr;gap:16px;counter-reset:none;}
.step-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:24px 22px;position:relative;transition:border-color .25s var(--ease-out),transform .25s var(--ease-out);}
.step-card:hover{border-color:var(--line-gold);transform:translateY(-4px);}
.step-num{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;margin-bottom:14px;
  font-family:var(--serif);font-size:1.15rem;font-weight:600;color:#1a1200;background:linear-gradient(135deg,var(--gold-bright),var(--gold));box-shadow:0 0 18px -4px #d9ab5488;}
.step-card h3{margin:0 0 8px;font-size:1.02rem;font-weight:700;color:var(--cream);font-family:var(--sans);}
.step-card p{margin:0;font-size:.88rem;line-height:1.55;color:var(--cream-2);}
.steps-cta{text-align:center;}
@media (min-width:720px){.steps-grid{grid-template-columns:repeat(2,1fr);}}
@media (min-width:1080px){.steps-grid{grid-template-columns:repeat(4,1fr);}
  .step-card:not(:last-child)::after{content:"";position:absolute;top:44px;right:-17px;width:18px;height:1px;background:var(--line-gold);}}
@media (prefers-reduced-motion: reduce){.step-card{transition:none;}.step-card:hover{transform:none;}}

.faq-list{max-width:820px;margin:0 auto;display:grid;gap:10px;}
.faq-item{background:var(--panel);border:1px solid var(--line);border-radius:14px;transition:border-color .25s var(--ease-out);}
.faq-item[open]{border-color:var(--line-gold);}
.faq-item summary{list-style:none;cursor:pointer;padding:18px 54px 18px 20px;position:relative;font-weight:600;font-size:.98rem;color:var(--cream);line-height:1.4;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"";position:absolute;right:22px;top:50%;width:9px;height:9px;margin-top:-7px;
  border:solid var(--gold-bright);border-width:0 2px 2px 0;transform:rotate(45deg);transition:transform .25s var(--ease-out),margin-top .25s var(--ease-out);}
.faq-item[open] summary::after{transform:rotate(-135deg);margin-top:-2px;}
.faq-item summary:hover{color:var(--gold-bright);}
.faq-a{padding:0 20px 18px;}
.faq-a p{margin:0;font-size:.9rem;line-height:1.65;color:var(--cream-2);}
.faq-more{text-align:center;margin:26px 0 0;font-size:.88rem;color:var(--cream-2);}
.faq-more a{color:var(--gold-bright);border-bottom:1px solid #f2c87655;}

/* Confianza en hero + clase de prueba (v=20261028c) */
.hero-trust{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px;}
.hero-trust li{font-size:.76rem;font-weight:600;color:var(--cream-2);border:1px solid var(--line-gold);background:var(--gold-soft);padding:6px 12px;border-radius:999px;display:inline-flex;align-items:center;gap:7px;}
.hero-trust li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--gold-bright);}
.trial-banner{display:flex;flex-direction:column;gap:18px;align-items:flex-start;margin:0 0 40px;padding:26px 24px;border-radius:18px;
  border:1px solid var(--gold);background:linear-gradient(135deg,#d9ab541f,#d9ab5408 60%),var(--panel);box-shadow:0 20px 50px -30px #d9ab5488;}
.trial-tag{display:inline-block;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#1a1200;background:linear-gradient(135deg,var(--gold-bright),var(--gold));padding:5px 11px;border-radius:999px;margin-bottom:12px;}
.trial-text h3{margin:0 0 6px;font-family:var(--serif);font-size:1.35rem;font-weight:600;color:var(--cream);}
.trial-text p{margin:0;font-size:.92rem;line-height:1.6;color:var(--cream-2);max-width:620px;}
.trial-text strong{color:var(--gold-bright);}
@media (min-width:860px){.trial-banner{flex-direction:row;align-items:center;justify-content:space-between;padding:28px 32px;}.trial-banner .btn{flex-shrink:0;}}

/* CEO, medios de pago, universidades (v=20261028d) */
.leader-card{margin-top:40px;display:grid;grid-template-columns:1fr;gap:24px;align-items:center;background:var(--panel);
  border:1px solid var(--line-gold);border-radius:20px;padding:22px;box-shadow:0 24px 60px -36px #d9ab5488;}
.leader-photo{border-radius:16px;overflow:hidden;aspect-ratio:3/4;max-width:300px;width:100%;margin:0 auto;border:1px solid var(--line-gold);box-shadow:0 0 0 6px var(--gold-soft);}
.leader-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.leader-tag{display:inline-block;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-bright);margin-bottom:10px;}
.leader-info h3{margin:0 0 6px;font-family:var(--serif);font-size:clamp(1.4rem,2.6vw,1.9rem);font-weight:600;color:var(--cream);line-height:1.2;}
.leader-role{margin:0 0 10px;font-weight:700;color:var(--gold-bright);font-size:1rem;}
.leader-cred{margin:0 0 16px;font-size:.9rem;color:var(--cream);padding:8px 12px;border-left:2px solid var(--gold);background:var(--gold-soft);border-radius:0 8px 8px 0;}
.leader-bio{margin:0;font-size:.95rem;line-height:1.65;color:var(--cream-2);max-width:560px;}
@media (min-width:820px){.leader-card{grid-template-columns:280px 1fr;gap:40px;padding:30px 36px;}.leader-photo{margin:0;}}

.pay-methods{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 14px;margin:0 auto 26px;max-width:900px;}
.pay-label{font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-bright);}
.pay-methods ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;}
.pay-methods li{font-size:.82rem;font-weight:600;color:var(--cream);background:var(--panel);border:1px solid var(--line-gold);padding:7px 13px;border-radius:999px;}
.pay-methods li small{font-weight:500;color:var(--cream-2);font-size:.74rem;}

.universidades{background:var(--black);}
.uni-grid{display:grid;grid-template-columns:1fr;gap:16px;}
.uni-group{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:22px;}
.uni-group h3{margin:0 0 14px;font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-bright);font-family:var(--sans);}
.uni-group ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;}
.uni-group li{font-size:.82rem;color:var(--cream-2);border:1px solid var(--line);background:#ffffff05;padding:6px 11px;border-radius:999px;line-height:1.35;}
.uni-more{text-align:center;margin:24px 0 0;font-size:.9rem;color:var(--cream-2);}
.uni-more a{color:var(--gold-bright);border-bottom:1px solid #f2c87655;font-weight:600;}
@media (min-width:900px){.uni-grid{grid-template-columns:repeat(2,1fr);}}

/* Testimonios (v=20261028e) */
.testimonios{background:var(--black);}
.testi-grid{columns:1;column-gap:16px;}
.testi-card{break-inside:avoid;margin:0 0 16px;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:22px;
  transition:border-color .25s var(--ease-out),transform .25s var(--ease-out);}
.testi-card:hover{border-color:var(--line-gold);transform:translateY(-3px);}
.testi-card.featured{border-color:var(--line-gold);background:linear-gradient(160deg,#d9ab541a,transparent 55%),var(--panel);}
.testi-result{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.03em;color:var(--gold-bright);background:var(--gold-soft);border:1px solid var(--line-gold);padding:4px 10px;border-radius:999px;margin-bottom:14px;}
.testi-card blockquote{margin:0 0 18px;font-family:var(--serif);font-size:1.05rem;line-height:1.55;color:var(--cream);}
.testi-card.featured blockquote{font-size:1.18rem;}
.testi-card figcaption{display:flex;align-items:center;gap:12px;}
.testi-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-weight:700;color:#1a1200;background:linear-gradient(135deg,var(--gold-bright),var(--gold));}
.testi-card figcaption b{display:block;font-size:.92rem;color:var(--cream);}
.testi-card figcaption small{display:block;font-size:.78rem;color:var(--cream-2);}
@media (min-width:720px){.testi-grid{columns:2;}}
@media (min-width:1080px){.testi-grid{columns:3;}}
@media (prefers-reduced-motion: reduce){.testi-card{transition:none;}.testi-card:hover{transform:none;}}

/* =============================================================
   Pre RMasterClass 2027 — enlace en el menú y banner en el inicio
   ============================================================= */
.nav-links a.nav-pre,.nav-panel a.nav-pre{color:var(--gold-bright);font-weight:700;}
.nav-links a.nav-pre::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--gold-bright);
  margin-right:6px;vertical-align:middle;box-shadow:0 0 8px 1px #f2c87699;animation:pre-dot 1.8s ease-in-out infinite;}
@keyframes pre-dot{50%{opacity:.3;}}
.pre-banner{padding-block:clamp(2rem,4vw,3rem);background:var(--black);}
.pre-banner-card{position:relative;overflow:hidden;display:grid;gap:20px;align-items:center;
  padding:clamp(1.5rem,3vw,2.2rem);border-radius:24px;
  background:radial-gradient(ellipse at 0% 0%,#d9ab5433,transparent 55%),linear-gradient(120deg,#1b1606,var(--panel-2));
  border:1px solid var(--line-gold);transition:transform .35s var(--ease-out),box-shadow .35s var(--ease-out);}
.pre-banner-card:hover{transform:translateY(-4px);box-shadow:0 30px 60px -30px #d9ab5488;}
@media (min-width:900px){.pre-banner-card{grid-template-columns:1fr auto;}}
.pre-banner-shine{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(100deg,transparent 30%,#f2c87622 50%,transparent 70%);transform:translateX(-100%);animation:pre-sweep 5s ease-in-out infinite;}
@keyframes pre-sweep{60%,100%{transform:translateX(100%);}}
.pre-banner-new{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#1a1200;
  background:linear-gradient(135deg,var(--gold-bright),var(--gold));padding:5px 12px;border-radius:999px;margin-bottom:12px;}
.pre-banner h2{font-size:clamp(1.25rem,2.4vw,1.75rem);margin:0 0 8px;font-weight:600;text-wrap:balance;}
.pre-banner p{margin:0;color:var(--cream-2);line-height:1.6;font-size:.95rem;max-width:720px;}
.pre-banner-btn{justify-self:start;}
@media (prefers-reduced-motion: reduce){.pre-banner-shine,.nav-links a.nav-pre::before{animation:none;}}

/* Marca del header: "Academia" debajo de RMasterClass */
.brand-text{display:flex;flex-direction:column;line-height:1.05;}
.brand-sub{font-family:var(--sans);font-size:.58rem;font-weight:700;letter-spacing:.34em;text-transform:uppercase;color:var(--gold-bright);margin-top:3px;}
.header.is-scrolled .brand-sub{font-size:.52rem;}

/* =============================================================
   Hero — Credencial dorada (reemplaza el anillo con etiquetas)
   ============================================================= */
.hero-cred{position:relative;perspective:1000px;}
.hero-cred-card{
  --rx:4deg;--ry:-8deg;
  position:relative;width:270px;height:378px;border-radius:26px;overflow:hidden;transform-style:preserve-3d;
  transform:rotateX(var(--rx)) rotateY(var(--ry)) rotateZ(-3deg);transition:transform .3s ease-out;
  background:linear-gradient(160deg,#17140b 0%,#0b0b0d 45%,#0b0d14 100%);
  border:1px solid var(--line-gold);
  box-shadow:0 50px 90px -40px #000,0 0 0 1px #ffffff08 inset,0 30px 80px -45px #d9ab5499;
  animation:cred-float 7s ease-in-out infinite;
}
@keyframes cred-float{50%{translate:0 -12px;}}
.hero-cred-card::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,#ffffff05 0 1px,transparent 1px 14px);pointer-events:none;}
.hero-cred-glow{position:absolute;left:50%;top:44%;width:240px;height:240px;margin:-120px 0 0 -120px;border-radius:50%;
  background:radial-gradient(circle,#d9ab5430,transparent 65%);pointer-events:none;}
.hero-cred-sheen{position:absolute;inset:-40%;background:linear-gradient(105deg,transparent 42%,#f2c87626 50%,transparent 58%);
  animation:cred-sheen 5.5s ease-in-out infinite;pointer-events:none;}
@keyframes cred-sheen{0%,35%{transform:translateX(-60%);}75%,100%{transform:translateX(60%);}}
.hero-cred-ellipse{position:absolute;left:50%;top:44%;width:360px;height:120px;margin:-60px 0 0 -180px;border-radius:50%;
  border:1px dashed #d9ab5440;transform:rotate(-8deg);pointer-events:none;}
.hero-cred-line{position:absolute;left:-20%;right:-20%;top:44%;height:1px;background:linear-gradient(90deg,transparent,#f2c876aa,transparent);
  transform:rotate(-6deg);pointer-events:none;}
.hero-cred-top{position:absolute;top:24px;left:24px;right:24px;display:flex;justify-content:space-between;
  font-size:.62rem;letter-spacing:.24em;color:var(--mute);font-weight:700;}
.hero-cred-logo{position:absolute;left:50%;top:44%;width:140px;height:140px;margin:-70px 0 0 -70px;border-radius:50%;
  box-shadow:0 0 0 1px var(--line-gold),0 0 44px -6px #d9ab5499;transform:translateZ(40px);}
.hero-cred-logo img{width:100%;height:100%;border-radius:50%;display:block;}
.hero-cred-foot{position:absolute;left:24px;right:24px;bottom:24px;display:flex;justify-content:space-between;align-items:flex-end;}
.hero-cred-foot b{display:block;font-family:var(--sans);font-size:.76rem;letter-spacing:.28em;color:var(--cream);font-weight:700;}
.hero-cred-foot small{display:block;font-size:.62rem;letter-spacing:.22em;color:var(--gold-bright);font-weight:700;margin-top:5px;}
.hero-cred-chip{width:36px;height:28px;border-radius:7px;background:linear-gradient(135deg,var(--gold-bright),#9c7630);opacity:.9;}
@media (max-width:959px){
  .hero-cred-card{width:220px;height:308px;}
  .hero-cred-logo{width:116px;height:116px;margin:-58px 0 0 -58px;}
  .hero-cred-ellipse{width:300px;height:100px;margin:-50px 0 0 -150px;}
}
@media (prefers-reduced-motion: reduce){.hero-cred-card,.hero-cred-sheen{animation:none;}}
