/* ======================================================================
   BIO-CARB MEDICINE INSTITUTE — styles.css
   Sistema de diseño: negro profundo + oro metálico + azul petróleo + turquesa
   Tipografía: Cinzel / Cormorant Garamond (display) · Montserrat (subtítulos) · Inter (texto)
   ====================================================================== */

/* ---------- 1. TOKENS ---------- */
:root{
  /* Color */
  --c-black:        #050505;
  --c-black-soft:   #0a0a0b;
  --c-panel:        #0f0f11;
  --c-gold:         #D6AF36;
  --c-gold-light:   #f0d98f;
  --c-gold-dim:     rgba(214,175,54,.35);
  --c-petrol:       #0F4C81;
  --c-petrol-light: #2f76b3;
  --c-turquoise:    #19A7A8;
  --c-white:        #FFFFFF;
  --c-grey-100:     #f2f2f0;
  --c-grey-300:     #c7c7c4;
  --c-grey-500:     #8c8c89;
  --c-grey-700:     #4a4a49;
  --c-line:         rgba(214,175,54,.18);

  /* Niveles de evidencia (idénticos a los usados en el temario) */
  --c-n1: #7A8CA3; /* precaución / mecanístico */
  --c-n2: var(--c-turquoise); /* observacional */
  --c-n3: var(--c-gold); /* interventivo */

  /* Tipografía */
  --f-display: 'Cinzel', 'Times New Roman', serif;
  --f-serif:   'Cormorant Garamond', Georgia, serif;
  --f-sub:     'Montserrat', 'Helvetica Neue', Arial, sans-serif;
  --f-body:    'Inter', 'Helvetica Neue', Arial, sans-serif;

  /* Escala tipográfica fluida */
  --fs-hero:   clamp(2.6rem, 6vw + 1rem, 6.4rem);
  --fs-h1:     clamp(2.1rem, 3.4vw + 1rem, 3.6rem);
  --fs-h2:     clamp(1.6rem, 2vw + 1rem, 2.4rem);
  --fs-h3:     clamp(1.2rem, 1vw + 1rem, 1.5rem);
  --fs-eyebrow:.78rem;
  --fs-body:   1.05rem;
  --fs-small:  .875rem;

  /* Espaciado */
  --sp-section: clamp(5rem, 10vw, 9rem);
  --sp-gap:     clamp(1.5rem, 3vw, 3rem);
  --maxw:       1240px;

  /* Otros */
  --radius:     2px;
  --radius-lg:  4px;
  --ease:       cubic-bezier(.22,.61,.36,1);
  --dur:        .7s;
}

/* ---------- 2. RESET ---------- */
*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; scroll-padding-top:110px; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
}
html,body{ height:100%; }
body{
  background:var(--c-black);
  color:var(--c-grey-100);
  font-family:var(--f-body);
  font-size:var(--fs-body);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; }
button{ font:inherit; color:inherit; background:none; border:none; cursor:pointer; }
input,select,textarea{ font:inherit; color:inherit; background:none; }
svg{ display:block; }
::selection{ background:var(--c-gold); color:var(--c-black); }

/* Foco visible — accesibilidad WCAG AAA */
:focus-visible{ outline:2px solid var(--c-gold); outline-offset:3px; }

/* Scrollbar discreta */
::-webkit-scrollbar{ width:10px; }
::-webkit-scrollbar-track{ background:var(--c-black); }
::-webkit-scrollbar-thumb{ background:var(--c-gold-dim); border-radius:10px; }

/* ---------- 3. UTILIDADES DE TIPOGRAFÍA ---------- */
.eyebrow{
  font-family:var(--f-sub);
  font-weight:600;
  font-size:var(--fs-eyebrow);
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--c-gold);
  display:inline-flex;
  align-items:center;
  gap:.75rem;
}
.eyebrow::before{
  content:"";
  width:28px; height:1px;
  background:var(--c-gold);
  display:inline-block;
}
.section-title{
  font-family:var(--f-display);
  font-weight:600;
  font-size:var(--fs-h1);
  letter-spacing:.01em;
  color:var(--c-white);
  margin-top:1rem;
  line-height:1.15;
}
.section-title em{
  font-family:var(--f-serif);
  font-style:italic;
  font-weight:500;
  color:var(--c-gold-light);
}
.section-lede{
  font-family:var(--f-serif);
  font-size:clamp(1.1rem,1.4vw,1.4rem);
  color:var(--c-grey-300);
  max-width:56ch;
  margin-top:1.25rem;
  line-height:1.6;
}
.section-head{ margin-bottom:clamp(2.5rem,5vw,4.5rem); }
.section-head.center{ text-align:center; margin-left:auto; margin-right:auto; }
.section-head.center .section-lede{ margin-left:auto; margin-right:auto; }

/* ---------- 4. LAYOUT ---------- */
.wrap{ max-width:var(--maxw); margin-inline:auto; padding-inline:clamp(1.25rem,4vw,3rem); }
.section{ position:relative; padding-block:var(--sp-section); }
.section--panel{ background:var(--c-panel); border-top:1px solid var(--c-line); border-bottom:1px solid var(--c-line); }
.section--tight{ padding-block:calc(var(--sp-section) * .6); }
.divider{
  width:100%; height:1px;
  background:linear-gradient(90deg, transparent, var(--c-gold-dim) 20%, var(--c-gold-dim) 80%, transparent);
}

/* Grano/textura sutil de fondo */
.grain{
  position:fixed; inset:0; pointer-events:none; z-index:2; opacity:.035; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- 5. LOADING SCREEN ---------- */
#loading-screen{
  position:fixed; inset:0; z-index:9999;
  background:var(--c-black);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1.5rem;
  transition:opacity .8s var(--ease), visibility .8s var(--ease);
}
#loading-screen.is-hidden{ opacity:0; visibility:hidden; pointer-events:none; }
.loader-mark{ width:64px; height:64px; }
.loader-mark svg{ width:100%; height:100%; }
.loader-ring{
  fill:none; stroke:var(--c-gold); stroke-width:1.4; stroke-linecap:round;
  stroke-dasharray:210; stroke-dashoffset:210;
  animation:loader-draw 1.6s var(--ease) infinite;
}
@keyframes loader-draw{
  0%{ stroke-dashoffset:210; opacity:.3; }
  50%{ stroke-dashoffset:0; opacity:1; }
  100%{ stroke-dashoffset:-210; opacity:.3; }
}
.loader-label{
  font-family:var(--f-sub); font-size:.7rem; letter-spacing:.35em; text-transform:uppercase; color:var(--c-grey-500);
}

/* ---------- 6. CURSOR PERSONALIZADO (solo dispositivos con puntero fino) ---------- */
.cursor-dot, .cursor-ring{
  position:fixed; top:0; left:0; pointer-events:none; z-index:9998;
  border-radius:50%; transform:translate(-50%,-50%);
  will-change:transform;
}
.cursor-dot{ width:6px; height:6px; background:var(--c-gold); }
.cursor-ring{
  width:34px; height:34px; border:1px solid var(--c-gold-dim);
  transition:width .25s var(--ease), height .25s var(--ease), border-color .25s var(--ease), background .25s var(--ease);
}
.cursor-ring.is-active{ width:56px; height:56px; background:rgba(214,175,54,.08); border-color:var(--c-gold); }
@media (pointer:coarse), (max-width:900px){
  .cursor-dot, .cursor-ring{ display:none; }
}

/* ---------- LOGO (embebido en base64: no depende de que el archivo de
   imagen se despliegue correctamente junto con index.html/styles.css) ---------- */
.brand-logo{
  display:inline-block;
  aspect-ratio:304/180;
  background-image:url("data:image/png;base64,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");
  background-size:contain;
  background-repeat:no-repeat;
  background-position:center;
}

/* ---------- 7. HEADER / NAV ---------- */
.site-header{
  position:fixed; top:0; left:0; right:0; z-index:900;
  padding:1.1rem 0;
  background:linear-gradient(180deg, rgba(5,5,5,.9), rgba(5,5,5,0));
  backdrop-filter:blur(6px);
  transition:background .4s var(--ease), padding .4s var(--ease), border-color .4s var(--ease);
  border-bottom:1px solid transparent;
}
.site-header.is-scrolled{
  background:rgba(5,5,5,.86);
  border-bottom:1px solid var(--c-line);
  padding:.7rem 0;
}
.header-inner{ display:flex; align-items:center; justify-content:space-between; gap:1.5rem; }
.brand{ display:flex; align-items:center; gap:.75rem; }
.brand .brand-logo{ height:52px; width:auto; transition:height .4s var(--ease); }
.site-header.is-scrolled .brand .brand-logo{ height:44px; }
.brand-text{ font-family:var(--f-sub); font-size:.68rem; letter-spacing:.22em; text-transform:uppercase; color:var(--c-grey-300); line-height:1.4; }
.brand-text strong{ display:block; color:var(--c-gold-light); font-size:.72rem; letter-spacing:.24em; }

.main-nav{ display:flex; align-items:center; gap:clamp(1rem,2vw,2.1rem); }
.main-nav a{
  font-family:var(--f-sub); font-weight:500; font-size:.78rem; letter-spacing:.08em; text-transform:uppercase;
  color:var(--c-grey-300); position:relative; padding-block:.3rem;
}
.main-nav a::after{
  content:""; position:absolute; left:0; bottom:0; width:0; height:1px; background:var(--c-gold);
  transition:width .35s var(--ease);
}
.main-nav a:hover, .main-nav a:focus-visible{ color:var(--c-white); }
.main-nav a:hover::after, .main-nav a:focus-visible::after{ width:100%; }

.header-cta{ display:flex; align-items:center; gap:1rem; }
.nav-toggle{
  display:none; flex-direction:column; gap:5px; width:26px; z-index:1000;
}
.nav-toggle span{ height:1px; width:100%; background:var(--c-gold); transition:transform .3s var(--ease), opacity .3s var(--ease); }
.nav-toggle.is-open span:nth-child(1){ transform:translateY(6px) rotate(45deg); }
.nav-toggle.is-open span:nth-child(2){ opacity:0; }
.nav-toggle.is-open span:nth-child(3){ transform:translateY(-6px) rotate(-45deg); }

@media (max-width: 980px){
  .main-nav{
    position:fixed; inset:0 0 0 auto; width:min(340px,86vw); height:100vh;
    background:var(--c-black-soft); border-left:1px solid var(--c-line);
    flex-direction:column; align-items:flex-start; justify-content:center; gap:1.6rem;
    padding:3rem 2.4rem; transform:translateX(100%); transition:transform .5s var(--ease);
  }
  .main-nav.is-open{ transform:translateX(0); }
  .main-nav a{ font-size:1rem; }
  .nav-toggle{ display:flex; }
  .header-cta .btn{ display:none; }
}

/* ---------- 8. BOTONES ---------- */
.btn{
  --pad-y:.95rem; --pad-x:2rem;
  display:inline-flex; align-items:center; justify-content:center; gap:.6rem;
  font-family:var(--f-sub); font-weight:600; font-size:.78rem; letter-spacing:.14em; text-transform:uppercase;
  padding:var(--pad-y) var(--pad-x);
  border-radius:var(--radius);
  cursor:pointer; white-space:nowrap;
  position:relative; overflow:hidden;
  transition:transform .35s var(--ease), box-shadow .35s var(--ease), color .35s var(--ease), border-color .35s var(--ease);
}
.btn span{ position:relative; z-index:2; }
.btn-gold{
  background:linear-gradient(120deg, var(--c-gold), var(--c-gold-light) 45%, var(--c-gold));
  color:var(--c-black);
  box-shadow:0 8px 24px -8px rgba(214,175,54,.55);
}
.btn-gold:hover{ transform:translateY(-2px); box-shadow:0 14px 34px -10px rgba(214,175,54,.75); }
.btn-ghost{
  border:1px solid var(--c-gold-dim); color:var(--c-gold-light); background:rgba(214,175,54,.04);
}
.btn-ghost:hover{ border-color:var(--c-gold); background:rgba(214,175,54,.09); transform:translateY(-2px); }
.btn-line{
  border:1px solid rgba(255,255,255,.22); color:var(--c-white);
}
.btn-line:hover{ border-color:var(--c-white); background:rgba(255,255,255,.06); }
.btn-block{ width:100%; }
.btn-sm{ --pad-y:.7rem; --pad-x:1.3rem; font-size:.72rem; }

/* ---------- 9. HERO ---------- */
.hero{
  position:relative; min-height:100svh; display:flex; align-items:center;
  padding-top:6rem; overflow:hidden;
  background:radial-gradient(120% 90% at 50% 0%, #0c0d10 0%, var(--c-black) 62%);
}
#hero-canvas{ position:absolute; inset:0; width:100%; height:100%; z-index:0; opacity:.9; }
.hero-bg-logo{
  position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image:url('assets/images/logo-oficial-hero.png');
  background-repeat:no-repeat; background-position:center 42%; background-size:min(1100px, 92vw);
  opacity:.07; filter:saturate(1.1);
}
.hero::after{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(180deg, rgba(5,5,5,0) 45%, var(--c-black) 100%);
}
.hero-inner{ position:relative; z-index:2; width:100%; text-align:center; }
.hero-mark{ width:220px; margin:0 auto 1.8rem; opacity:0; }
.hero-mark img{ width:100%; height:auto; display:block; }
.hero-eyebrow{
  font-family:var(--f-sub); font-size:.72rem; letter-spacing:.4em; text-transform:uppercase;
  color:var(--c-turquoise); display:block; margin-bottom:1.4rem;
}
.hero-title{
  font-family:var(--f-display); font-weight:600; letter-spacing:.02em;
  font-size:clamp(1.1rem, 2.4vw, 1.5rem); text-transform:uppercase; color:var(--c-grey-300);
  margin-bottom:.6rem;
}
.hero-headline{
  font-family:var(--f-serif); font-style:italic; font-weight:500;
  font-size:var(--fs-hero); line-height:1.02; letter-spacing:-.01em;
  background:linear-gradient(105deg, var(--c-white) 20%, var(--c-gold-light) 55%, var(--c-gold) 80%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.hero-subheadline{
  font-family:var(--f-serif); font-style:italic; font-weight:500;
  font-size:clamp(1.15rem, 2.1vw, 1.9rem); color:var(--c-grey-300); letter-spacing:.01em;
  margin-top:.6rem;
}
.hero-tags{
  margin-top:2.2rem; display:flex; flex-wrap:wrap; justify-content:center; gap:.8rem 1.6rem;
}
.hero-tags span{
  font-family:var(--f-sub); font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--c-grey-300);
  display:flex; align-items:center; gap:.6rem;
}
.hero-tags span::before{ content:""; width:5px; height:5px; border-radius:50%; background:var(--c-turquoise); }
.hero-actions{ margin-top:3rem; display:flex; justify-content:center; gap:1.1rem; flex-wrap:wrap; }
.hero-meta{
  margin-top:3.4rem; display:flex; justify-content:center; gap:clamp(1.6rem,4vw,4rem); flex-wrap:wrap;
}
.hero-meta div{ text-align:center; }
.hero-meta b{ display:block; font-family:var(--f-display); font-size:1.5rem; color:var(--c-gold-light); }
.hero-meta span{ font-family:var(--f-sub); font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; color:var(--c-grey-500); }

.scroll-cue{
  position:absolute; bottom:2.2rem; left:50%; transform:translateX(-50%); z-index:2;
  display:flex; flex-direction:column; align-items:center; gap:.6rem; opacity:.7;
}
.scroll-cue span{ font-family:var(--f-sub); font-size:.62rem; letter-spacing:.28em; text-transform:uppercase; color:var(--c-grey-500); }
.scroll-cue .line{ width:1px; height:34px; background:linear-gradient(180deg, var(--c-gold), transparent); animation:cue-move 2s var(--ease) infinite; }
@keyframes cue-move{ 0%{ opacity:0; transform:translateY(-6px);} 50%{opacity:1;} 100%{ opacity:0; transform:translateY(10px);} }

/* ---------- 10. REVEAL (scroll) ---------- */
[data-reveal]{ opacity:0; transform:translateY(28px); transition:opacity .9s var(--ease), transform .9s var(--ease); }
[data-reveal].in-view{ opacity:1; transform:translateY(0); }
[data-reveal="fade"]{ transform:none; }
[data-reveal-delay="1"]{ transition-delay:.1s; }
[data-reveal-delay="2"]{ transition-delay:.22s; }
[data-reveal-delay="3"]{ transition-delay:.34s; }
[data-reveal-delay="4"]{ transition-delay:.46s; }

/* ---------- 10b. PLATAFORMA (app web + Google Play) ---------- */
.platform-wrap{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,4rem); align-items:center; }
.platform-actions{ display:grid; gap:1rem; }
.platform-card{
  display:flex; align-items:center; gap:1.1rem; padding:1.4rem 1.6rem;
  border:1px solid rgba(255,255,255,.1); border-radius:var(--radius-lg);
  background:linear-gradient(160deg, rgba(255,255,255,.045), rgba(255,255,255,.01));
  transition:transform .4s var(--ease), border-color .4s var(--ease), background .4s var(--ease);
}
.platform-card--web:hover{ transform:translateY(-4px); border-color:var(--c-gold-dim); background:linear-gradient(160deg, rgba(214,175,54,.1), rgba(255,255,255,.02)); }
.platform-icon{
  flex:none; width:46px; height:46px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  border:1px solid var(--c-gold-dim); color:var(--c-gold);
}
.platform-icon svg{ width:22px; height:22px; }
.platform-text{ display:flex; flex-direction:column; gap:.3rem; flex:1; }
.platform-text b{ font-family:var(--f-sub); font-size:.98rem; color:var(--c-white); font-weight:600; }
.platform-text span{ font-family:var(--f-sub); font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:var(--c-grey-500); }
.platform-arrow{ flex:none; width:18px; height:18px; color:var(--c-gold); transition:transform .35s var(--ease); }
.platform-card--web:hover .platform-arrow{ transform:translateX(4px); }
.platform-card--store{
  cursor:not-allowed;
}
.platform-card--store.is-pending{ opacity:.55; }
.platform-card--store.is-pending .platform-icon{ border-color:rgba(255,255,255,.15); color:var(--c-grey-500); }
.platform-card--store.is-pending .platform-text span{ color:var(--c-turquoise); }
@media(max-width:860px){ .platform-wrap{ grid-template-columns:1fr; } }

/* ---------- 11. SOBRE EL DIPLOMADO ---------- */
.about-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(2rem,5vw,5rem); align-items:center; }
.about-copy p{ color:var(--c-grey-300); margin-top:1.1rem; max-width:52ch; }
.about-copy p:first-of-type{ margin-top:1.6rem; }
.about-list{ margin-top:2rem; display:grid; gap:.9rem; }
.about-list li{ display:flex; gap:.9rem; align-items:flex-start; font-size:.95rem; color:var(--c-grey-100); }
.about-list li .dot{ margin-top:.45rem; width:6px; height:6px; border-radius:50%; background:var(--c-gold); flex:none; }
.about-visual{ position:relative; }
.about-frame{
  position:relative; border:1px solid var(--c-line); border-radius:var(--radius-lg);
  background:linear-gradient(160deg, rgba(15,76,129,.18), rgba(25,167,168,.08));
  padding:clamp(2rem,4vw,3.4rem); aspect-ratio:1/1; display:flex; align-items:center; justify-content:center;
  overflow:hidden;
}
.about-frame svg{ width:100%; height:100%; }
.about-frame .badge{
  position:absolute; bottom:1.4rem; right:1.4rem; text-align:right;
  font-family:var(--f-sub); font-size:.62rem; letter-spacing:.16em; text-transform:uppercase; color:var(--c-grey-500);
}

/* ---------- 12. BENEFICIOS ---------- */
.benefits-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
.benefit-card{
  position:relative; padding:2.2rem 1.9rem; border-radius:var(--radius-lg);
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(160deg, rgba(255,255,255,.045), rgba(255,255,255,.01));
  backdrop-filter:blur(10px);
  transition:transform .5s var(--ease), border-color .5s var(--ease), background .5s var(--ease);
}
.benefit-card:hover{ transform:translateY(-6px); border-color:var(--c-gold-dim); background:linear-gradient(160deg, rgba(214,175,54,.09), rgba(255,255,255,.02)); }
.benefit-icon{ width:42px; height:42px; margin-bottom:1.4rem; color:var(--c-gold); }
.benefit-icon svg{ width:100%; height:100%; }
.benefit-card h3{ font-family:var(--f-sub); font-weight:600; font-size:1rem; letter-spacing:.02em; color:var(--c-white); margin-bottom:.6rem; }
.benefit-card p{ font-size:.92rem; color:var(--c-grey-500); }

/* ---------- 13. MAPA DEL DIPLOMADO (timeline) ---------- */
.map-timeline{ position:relative; margin-top:1rem; }
.map-line{
  position:absolute; left:29px; top:0; bottom:0; width:1px;
  background:linear-gradient(180deg, var(--c-gold-dim), var(--c-line) 90%);
}
@media(min-width:860px){ .map-line{ left:50%; } }
.map-item{ position:relative; padding:1.6rem 0 1.6rem 70px; }
@media(min-width:860px){
  .map-item{ width:50%; padding:1.8rem 3.4rem; }
  .map-item:nth-child(odd){ margin-right:50%; text-align:right; }
  .map-item:nth-child(even){ margin-left:50%; }
}
.map-node{
  position:absolute; left:22px; top:2rem; width:15px; height:15px; border-radius:50%;
  border:2px solid var(--mod-color, var(--c-gold)); background:var(--c-black);
  box-shadow:0 0 0 5px rgba(5,5,5,1), 0 0 18px var(--mod-color, var(--c-gold));
}
@media(min-width:860px){
  .map-item:nth-child(odd) .map-node{ left:auto; right:-7.5px; }
  .map-item:nth-child(even) .map-node{ left:-7.5px; }
}
.map-card{
  display:inline-block; text-align:left; padding:1.3rem 1.5rem; border-radius:var(--radius-lg);
  border:1px solid rgba(255,255,255,.08); background:var(--c-panel); border-left:3px solid var(--mod-color, var(--c-gold));
  max-width:420px;
}
@media(min-width:860px){ .map-item:nth-child(odd) .map-card{ border-left:1px solid rgba(255,255,255,.08); border-right:3px solid var(--mod-color, var(--c-gold)); } }
.map-card .map-num{ font-family:var(--f-display); font-size:.72rem; letter-spacing:.2em; color:var(--mod-color, var(--c-gold)); text-transform:uppercase; }
.map-card h3{ font-family:var(--f-sub); font-size:1.02rem; margin-top:.35rem; color:var(--c-white); }
.map-card p{ font-size:.85rem; color:var(--c-grey-500); margin-top:.4rem; }
.map-card .map-hours{ display:inline-block; margin-top:.7rem; font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; color:var(--c-grey-300); }

/* ---------- 14. MÓDULOS ---------- */
.modules-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:1.4rem; }
.module-card{
  position:relative; border-radius:var(--radius-lg); border:1px solid rgba(255,255,255,.08);
  padding:2.1rem; background:var(--c-panel); overflow:hidden;
  transition:border-color .4s var(--ease), transform .4s var(--ease);
}
.module-card::before{
  content:""; position:absolute; top:0; left:0; right:0; height:3px; background:var(--mod-color, var(--c-gold));
}
.module-card:hover{ transform:translateY(-4px); border-color:var(--c-gold-dim); }
.module-top{ display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; }
.module-index{ font-family:var(--f-display); font-size:2.2rem; color:var(--mod-color, var(--c-gold)); opacity:.85; line-height:1; }
.module-hours{
  font-family:var(--f-sub); font-size:.66rem; letter-spacing:.12em; text-transform:uppercase; color:var(--c-grey-300);
  border:1px solid rgba(255,255,255,.14); border-radius:20px; padding:.35rem .8rem; white-space:nowrap;
}
.module-layer{ margin-top:1.1rem; font-family:var(--f-sub); font-size:.66rem; letter-spacing:.18em; text-transform:uppercase; color:var(--mod-color, var(--c-turquoise)); }
.module-card h3{ font-family:var(--f-display); font-weight:600; font-size:1.28rem; color:var(--c-white); margin-top:.5rem; line-height:1.3; }
.module-card p{ font-size:.9rem; color:var(--c-grey-500); margin-top:.8rem; }
.module-bottom{ margin-top:1.6rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.module-topics-count{ font-family:var(--f-sub); font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; color:var(--c-grey-500); }
.module-open{
  font-family:var(--f-sub); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--c-gold-light);
  display:inline-flex; align-items:center; gap:.5rem;
}
.module-open svg{ width:13px; height:13px; transition:transform .3s var(--ease); }
.module-card:hover .module-open svg{ transform:translateX(4px); }

@media(max-width:760px){ .modules-grid{ grid-template-columns:1fr; } }

/* ---------- 15. MODAL ---------- */
.modal-overlay{
  position:fixed; inset:0; z-index:2000; display:flex; align-items:flex-start; justify-content:center;
  padding:5vh 1rem; overflow-y:auto;
  background:rgba(3,3,4,.82); backdrop-filter:blur(6px);
  opacity:0; visibility:hidden; transition:opacity .4s var(--ease), visibility .4s var(--ease);
}
.modal-overlay.is-open{ opacity:1; visibility:visible; }
.modal-panel{
  width:min(760px,100%); background:var(--c-panel); border:1px solid var(--c-gold-dim); border-radius:var(--radius-lg);
  padding:clamp(1.8rem,4vw,3.2rem); position:relative;
  transform:translateY(24px) scale(.98); opacity:0; transition:transform .5s var(--ease), opacity .5s var(--ease);
}
.modal-overlay.is-open .modal-panel{ transform:translateY(0) scale(1); opacity:1; }
.modal-close{
  position:absolute; top:1.4rem; right:1.4rem; width:36px; height:36px; border-radius:50%;
  border:1px solid rgba(255,255,255,.16); display:flex; align-items:center; justify-content:center;
  color:var(--c-grey-300); transition:border-color .3s, color .3s, transform .3s;
}
.modal-close:hover{ color:var(--c-gold); border-color:var(--c-gold); transform:rotate(90deg); }
.modal-eyebrow{ font-family:var(--f-sub); font-size:.68rem; letter-spacing:.2em; text-transform:uppercase; color:var(--mod-color,var(--c-gold)); }
.modal-title{ font-family:var(--f-display); font-size:clamp(1.5rem,2.6vw,2.1rem); color:var(--c-white); margin-top:.6rem; }
.modal-meta{ display:flex; gap:1.6rem; flex-wrap:wrap; margin-top:1rem; }
.modal-meta div{ font-family:var(--f-sub); font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; color:var(--c-grey-500); }
.modal-meta b{ display:block; font-family:var(--f-display); font-size:1.15rem; color:var(--c-gold-light); text-transform:none; letter-spacing:0; }
.modal-section-label{ margin-top:2rem; font-family:var(--f-sub); font-size:.7rem; letter-spacing:.16em; text-transform:uppercase; color:var(--c-grey-300); }
.modal-objectives{ margin-top:.8rem; display:grid; gap:.55rem; }
.modal-objectives li{ display:flex; gap:.7rem; font-size:.92rem; color:var(--c-grey-100); }
.modal-objectives li::before{ content:"—"; color:var(--c-gold); flex:none; }
.modal-topics{ margin-top:.9rem; display:grid; gap:.6rem; }
.topic-row{
  display:grid; grid-template-columns:auto 1fr auto; gap:.9rem; align-items:center;
  padding:.75rem .9rem; border-radius:var(--radius); background:rgba(255,255,255,.03);
}
.topic-level{
  width:9px; height:9px; border-radius:50%; flex:none;
}
.topic-level[data-level="1"]{ background:var(--c-n1); }
.topic-level[data-level="2"]{ background:var(--c-n2); }
.topic-level[data-level="3"]{ background:var(--c-n3); }
.topic-row span.name{ font-size:.86rem; color:var(--c-grey-100); }
.topic-row span.tag{ font-family:var(--f-sub); font-size:.6rem; letter-spacing:.08em; text-transform:uppercase; color:var(--c-grey-500); white-space:nowrap; }

/* ---------- 16. NIVEL CIENTÍFICO ---------- */
.evidence-wrap{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,4rem); align-items:center; }
.evidence-legend{ display:grid; gap:1.5rem; margin-top:1rem; }
.evidence-row{ display:flex; gap:1.1rem; align-items:flex-start; }
.evidence-swatch{ width:12px; height:12px; border-radius:50%; margin-top:.4rem; flex:none; }
.evidence-swatch.n3{ background:var(--c-n3); }
.evidence-swatch.n2{ background:var(--c-n2); }
.evidence-swatch.n1{ background:var(--c-n1); }
.evidence-row h4{ font-family:var(--f-sub); font-size:.92rem; color:var(--c-white); }
.evidence-row p{ font-size:.86rem; color:var(--c-grey-500); margin-top:.25rem; }
.evidence-row .count{ font-family:var(--f-display); font-size:.85rem; color:var(--c-grey-300); margin-left:.5rem; }
.evidence-chart{ display:flex; align-items:center; justify-content:center; position:relative; }
.evidence-chart svg{ width:100%; max-width:380px; height:auto; }
.evidence-center{ position:absolute; text-align:center; }
.evidence-center b{ display:block; font-family:var(--f-display); font-size:2.2rem; color:var(--c-white); }
.evidence-center span{ font-family:var(--f-sub); font-size:.62rem; letter-spacing:.16em; text-transform:uppercase; color:var(--c-grey-500); }
.evidence-note{
  margin-top:2.4rem; padding:1.3rem 1.5rem; border-left:2px solid var(--c-gold); background:rgba(214,175,54,.05);
  font-family:var(--f-serif); font-style:italic; font-size:1.02rem; color:var(--c-grey-300);
}

@media(max-width:860px){ .evidence-wrap{ grid-template-columns:1fr; } }

/* ---------- 17. PROFESORES ---------- */
.faculty-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
.faculty-card{
  border:1px solid rgba(255,255,255,.08); border-radius:var(--radius-lg); padding:2rem 1.7rem;
  background:linear-gradient(160deg, rgba(255,255,255,.035), transparent);
}
.faculty-avatar{
  width:56px; height:56px; border-radius:50%; border:1px solid var(--c-gold-dim);
  display:flex; align-items:center; justify-content:center; margin-bottom:1.2rem;
  color:var(--c-gold);
}
.faculty-avatar svg{ width:26px; height:26px; }
.faculty-card h3{ font-family:var(--f-sub); font-size:.98rem; color:var(--c-white); }
.faculty-card .role{ font-family:var(--f-sub); font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; color:var(--c-turquoise); margin-top:.4rem; display:block; }
.faculty-card p{ font-size:.88rem; color:var(--c-grey-500); margin-top:.9rem; }
.faculty-note{ margin-top:2.4rem; font-size:.86rem; color:var(--c-grey-500); text-align:center; }

/* ---------- 18. DIRIGIDO A ---------- */
.audience-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.audience-card{
  text-align:center; padding:2rem 1.2rem; border:1px solid rgba(255,255,255,.08); border-radius:var(--radius-lg);
  transition:border-color .4s var(--ease), background .4s var(--ease);
}
.audience-card:hover{ border-color:var(--c-turquoise); background:rgba(25,167,168,.05); }
.audience-card svg{ width:30px; height:30px; margin:0 auto 1rem; color:var(--c-turquoise); }
.audience-card span{ font-family:var(--f-sub); font-size:.82rem; color:var(--c-grey-100); }
@media(max-width:860px){ .audience-grid{ grid-template-columns:repeat(2,1fr); } }

/* ---------- 19. LO QUE APRENDERÁS / COMPETENCIAS ---------- */
.split-section{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,4rem); }
.check-list{ display:grid; gap:1rem; margin-top:1.6rem; }
.check-list li{ display:flex; gap:1rem; align-items:flex-start; }
.check-list svg{ width:18px; height:18px; flex:none; margin-top:.15rem; color:var(--c-gold); }
.check-list span{ font-size:.95rem; color:var(--c-grey-100); }
.competency-bars{ display:grid; gap:1.4rem; margin-top:1.6rem; }
.competency-bar h4{ font-family:var(--f-sub); font-size:.82rem; color:var(--c-grey-100); display:flex; justify-content:space-between; }
.bar-track{ height:4px; background:rgba(255,255,255,.08); border-radius:4px; margin-top:.6rem; overflow:hidden; }
.bar-fill{ height:100%; background:linear-gradient(90deg, var(--c-petrol), var(--c-turquoise), var(--c-gold)); width:0; transition:width 1.4s var(--ease); border-radius:4px; }
@media(max-width:860px){ .split-section{ grid-template-columns:1fr; } }

/* ---------- 20. METODOLOGÍA ---------- */
.method-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem; }
.method-card{ position:relative; padding-top:2.4rem; }
.method-card .num{ font-family:var(--f-display); font-size:.85rem; color:var(--c-gold); letter-spacing:.1em; }
.method-card h3{ font-family:var(--f-sub); font-size:1rem; color:var(--c-white); margin-top:.7rem; }
.method-card p{ font-size:.88rem; color:var(--c-grey-500); margin-top:.7rem; }
.method-card::before{ content:""; position:absolute; top:0; left:0; width:32px; height:1px; background:var(--c-gold); }
@media(max-width:860px){ .method-grid{ grid-template-columns:repeat(2,1fr); } }

/* ---------- 21. CRONOGRAMA ---------- */
.schedule-table{ width:100%; border-collapse:collapse; margin-top:1rem; }
.schedule-table th, .schedule-table td{ text-align:left; padding:1rem 1.1rem; border-bottom:1px solid rgba(255,255,255,.08); }
.schedule-table th{
  font-family:var(--f-sub); font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; color:var(--c-grey-500); font-weight:500;
}
.schedule-table td{ font-size:.9rem; color:var(--c-grey-100); }
.schedule-table td.mod-name{ font-family:var(--f-sub); color:var(--c-white); }
.schedule-dot{ display:inline-block; width:8px; height:8px; border-radius:50%; margin-right:.6rem; }
.schedule-table tr:hover td{ background:rgba(255,255,255,.02); }
.table-scroll{ overflow-x:auto; }

/* ---------- 22. CERTIFICACIÓN ---------- */
.cert-wrap{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,4rem); align-items:center; }
.cert-frame{
  border:1px solid var(--c-gold-dim); border-radius:var(--radius-lg); padding:clamp(2rem,4vw,3.5rem);
  background:linear-gradient(150deg, rgba(214,175,54,.08), transparent 60%);
  position:relative; aspect-ratio:4/3; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:1rem;
}
.cert-frame .brand-logo{ width:120px; opacity:.9; }
.cert-frame b{ font-family:var(--f-display); font-size:1.3rem; color:var(--c-gold-light); }
.cert-frame span{ font-family:var(--f-sub); font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; color:var(--c-grey-500); }
@media(max-width:860px){ .cert-wrap{ grid-template-columns:1fr; } }

/* ---------- 23. FAQ ---------- */
.faq-list{ margin-top:1rem; border-top:1px solid rgba(255,255,255,.1); }
.faq-item{ border-bottom:1px solid rgba(255,255,255,.1); }
.faq-q{
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:1.5rem;
  padding:1.5rem 0; text-align:left; font-family:var(--f-sub); font-size:1rem; color:var(--c-white);
}
.faq-q .plus{ position:relative; width:16px; height:16px; flex:none; }
.faq-q .plus::before, .faq-q .plus::after{ content:""; position:absolute; background:var(--c-gold); }
.faq-q .plus::before{ top:50%; left:0; width:100%; height:1px; transform:translateY(-50%); }
.faq-q .plus::after{ left:50%; top:0; height:100%; width:1px; transform:translateX(-50%); transition:transform .35s var(--ease); }
.faq-item.is-open .faq-q .plus::after{ transform:translateX(-50%) rotate(90deg); opacity:0; }
.faq-a{ max-height:0; overflow:hidden; transition:max-height .5s var(--ease); }
.faq-a p{ padding-bottom:1.6rem; max-width:66ch; color:var(--c-grey-500); font-size:.94rem; }

/* ---------- 23a. PRODUCTOS DEL DR. VILLALOBOS ---------- */
.products-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:1.6rem; margin-bottom:2.2rem; }
.product-card{
  border-radius:var(--radius-lg); overflow:hidden; border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(160deg, rgba(255,255,255,.045), rgba(255,255,255,.01));
  transition:transform .4s var(--ease), border-color .4s var(--ease);
}
.product-card:hover{ transform:translateY(-6px); border-color:var(--c-gold-dim); }
.product-image{ aspect-ratio:2/1; overflow:hidden; background:#050505; }
.product-image img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s var(--ease); }
.product-card:hover .product-image img{ transform:scale(1.035); }
.product-body{ padding:1.6rem 1.8rem 1.8rem; }
.product-body h3{ font-family:var(--f-display); font-size:1.3rem; color:var(--c-white); margin-bottom:.3rem; }
.product-subtitle{ font-family:var(--f-sub); font-size:.78rem; letter-spacing:.03em; color:var(--c-gold-light); margin-bottom:.9rem; }
.product-ingredients{ font-size:.86rem; color:var(--c-grey-500); line-height:1.55; margin-bottom:1.1rem; }
.product-tags{ display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:1.2rem; }
.product-tags span{
  font-family:var(--f-sub); font-size:.68rem; letter-spacing:.04em; color:var(--c-gold-light);
  border:1px solid var(--c-gold-dim); border-radius:20px; padding:.3rem .8rem;
}
.product-presentation{ display:block; font-family:var(--f-sub); font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:var(--c-grey-700); }
.products-disclaimer{ text-align:center; font-size:.82rem; color:var(--c-grey-700); max-width:62ch; margin:0 auto; line-height:1.6; }
@media(max-width:860px){ .products-grid{ grid-template-columns:1fr; } }

/* ---------- 23b. RECURSOS DE INVESTIGACIÓN ---------- */
.resources-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
.resource-card{
  display:flex; flex-direction:column; padding:2rem 1.8rem; border-radius:var(--radius-lg);
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(160deg, rgba(255,255,255,.045), rgba(255,255,255,.01));
  transition:transform .4s var(--ease), border-color .4s var(--ease), background .4s var(--ease);
}
.resource-card:hover{ transform:translateY(-6px); border-color:var(--c-gold-dim); background:linear-gradient(160deg, rgba(214,175,54,.09), rgba(255,255,255,.02)); }
.resource-type{
  align-self:flex-start; font-family:var(--f-sub); font-size:.64rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--c-black); background:var(--c-gold-light); padding:.3rem .7rem; border-radius:2px; margin-bottom:1.2rem;
}
.resource-card h3{ font-family:var(--f-sub); font-weight:600; font-size:1rem; color:var(--c-white); margin-bottom:.6rem; }
.resource-card p{ font-size:.9rem; color:var(--c-grey-500); flex:1; }
.resource-cta{
  display:inline-flex; align-items:center; gap:.5rem; margin-top:1.4rem;
  font-family:var(--f-sub); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--c-gold-light);
}
.resource-cta svg{ width:15px; height:15px; transition:transform .35s var(--ease); }
.resource-card:hover .resource-cta svg{ transform:translateX(4px); }

/* Estado vacío, reutilizable (recursos) */
.empty-state{
  grid-column:1/-1; text-align:center; padding:3.4rem 2rem; border:1px dashed rgba(255,255,255,.16); border-radius:var(--radius-lg);
}
.empty-state svg{ width:34px; height:34px; margin:0 auto 1.2rem; color:var(--c-grey-500); }
.empty-state h3{ font-family:var(--f-display); font-size:1.15rem; color:var(--c-white); margin-bottom:.6rem; }
.empty-state p{ font-size:.9rem; color:var(--c-grey-500); max-width:44ch; margin-inline:auto; }
@media(max-width:860px){ .resources-grid{ grid-template-columns:1fr; } }

/* ---------- 23c. ENTREVISTAS (video grid) ---------- */
.video-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
.video-card h3{ font-family:var(--f-sub); font-weight:600; font-size:.95rem; color:var(--c-white); margin-top:1.1rem; }
.video-date{ display:block; font-family:var(--f-sub); font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; color:var(--c-grey-500); margin-top:.4rem; }
.video-frame{
  position:relative; aspect-ratio:16/9; border-radius:var(--radius-lg); overflow:hidden; border:1px solid rgba(255,255,255,.08);
  background:var(--c-panel);
}
.video-frame iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.video-card--empty p{ font-size:.86rem; color:var(--c-grey-500); margin-top:.5rem; }
.video-frame--empty{ display:flex; align-items:center; justify-content:center; border-style:dashed; }
.video-frame--empty svg{ width:34px; height:34px; color:var(--c-grey-700); }
@media(max-width:860px){ .video-grid{ grid-template-columns:1fr; } }

/* ---------- 24. INSCRIPCIÓN / FORM ---------- */
.enroll-wrap{ display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(2rem,5vw,4rem); }
.enroll-info .price{ margin-top:1.6rem; }
.enroll-info .price b{ font-family:var(--f-display); font-size:2.6rem; color:var(--c-gold-light); }
.enroll-info .price span{ display:block; font-family:var(--f-sub); font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; color:var(--c-grey-500); margin-top:.3rem; }
.enroll-perks{ margin-top:1.8rem; display:grid; gap:.7rem; }
.enroll-perks li{ font-size:.9rem; color:var(--c-grey-300); display:flex; gap:.7rem; }
.enroll-perks li::before{ content:"✓"; color:var(--c-turquoise); }

.form-card{
  background:var(--c-panel); border:1px solid rgba(255,255,255,.08); border-radius:var(--radius-lg);
  padding:clamp(1.8rem,3.4vw,2.6rem);
}
.field-row{ display:grid; grid-template-columns:1fr 1fr; gap:1.1rem; }
.field{ margin-bottom:1.3rem; }
.field label{
  display:block; font-family:var(--f-sub); font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; color:var(--c-grey-500); margin-bottom:.55rem;
}
.field input, .field select{
  width:100%; border:1px solid rgba(255,255,255,.16); border-radius:var(--radius); padding:.85rem 1rem;
  background:rgba(255,255,255,.02); color:var(--c-white); font-size:.92rem;
  transition:border-color .3s var(--ease), background .3s var(--ease);
}
.field input::placeholder{ color:var(--c-grey-700); }
.field input:focus, .field select:focus{ border-color:var(--c-gold); background:rgba(214,175,54,.04); outline:none; }
.field select{ appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23D6AF36'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 1rem center; }
.form-note{ font-size:.76rem; color:var(--c-grey-700); margin-top:1rem; }
.form-success{
  display:none; text-align:center; padding:2.4rem 1rem; gap:1rem; flex-direction:column; align-items:center;
}
.form-success.is-visible{ display:flex; }
.form-success svg{ width:44px; height:44px; color:var(--c-turquoise); }
.form-success h3{ font-family:var(--f-display); font-size:1.3rem; color:var(--c-white); }
.form-success p{ color:var(--c-grey-500); font-size:.9rem; max-width:38ch; }
@media(max-width:860px){ .enroll-wrap{ grid-template-columns:1fr; } .field-row{ grid-template-columns:1fr; } }

/* ---------- 25. CONTACTO ---------- */
.contact-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
.contact-card{ padding:2rem; border:1px solid rgba(255,255,255,.08); border-radius:var(--radius-lg); text-align:center; }
.contact-card svg{ width:26px; height:26px; margin:0 auto 1rem; color:var(--c-gold); }
.contact-card h3{ font-family:var(--f-sub); font-size:.86rem; letter-spacing:.06em; text-transform:uppercase; color:var(--c-grey-500); }
.contact-card p{ margin-top:.6rem; font-size:.98rem; color:var(--c-white); }
.contact-card a{ color:var(--c-gold-light); }
@media(max-width:860px){ .contact-grid{ grid-template-columns:1fr; } }

/* Botón flotante WhatsApp */
.whatsapp-fab{
  position:fixed; right:1.5rem; bottom:1.5rem; z-index:850;
  width:56px; height:56px; border-radius:50%; background:var(--c-turquoise);
  display:flex; align-items:center; justify-content:center; box-shadow:0 10px 30px -8px rgba(25,167,168,.6);
  transition:transform .35s var(--ease);
}
.whatsapp-fab:hover{ transform:scale(1.08); }
.whatsapp-fab svg{ width:26px; height:26px; color:var(--c-black); }

/* ---------- 26. FOOTER ---------- */
.site-footer{ background:var(--c-black-soft); border-top:1px solid var(--c-line); padding-top:5rem; }
.footer-top{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:2.5rem; padding-bottom:3.5rem; }
.footer-brand .brand-logo{ height:44px; margin-bottom:1.2rem; }
.footer-brand p{ font-size:.88rem; color:var(--c-grey-500); max-width:32ch; }
.footer-social{ display:flex; gap:.9rem; margin-top:1.6rem; }
.footer-social a{
  width:36px; height:36px; border-radius:50%; border:1px solid rgba(255,255,255,.15);
  display:flex; align-items:center; justify-content:center; color:var(--c-grey-300);
  transition:border-color .3s, color .3s;
}
.footer-social a:hover{ border-color:var(--c-gold); color:var(--c-gold); }
.footer-social svg{ width:16px; height:16px; }
.footer-col h4{ font-family:var(--f-sub); font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--c-grey-500); margin-bottom:1.2rem; }
.footer-col ul{ display:grid; gap:.7rem; }
.footer-col a{ font-size:.9rem; color:var(--c-grey-300); transition:color .3s; }
.footer-col a:hover{ color:var(--c-gold); }
.footer-bottom{
  border-top:1px solid var(--c-line); padding:1.6rem 0; display:flex; justify-content:space-between; flex-wrap:wrap; gap:1rem;
  font-size:.78rem; color:var(--c-grey-700);
}
.footer-bottom a{ color:var(--c-grey-500); }
.footer-bottom a:hover{ color:var(--c-gold); }
@media(max-width:860px){ .footer-top{ grid-template-columns:1fr 1fr; } }
@media(max-width:560px){ .footer-top{ grid-template-columns:1fr; } }

/* ---------- 27. RESPONSIVE GENERAL ---------- */
@media(max-width:980px){
  .about-grid, .split-section, .evidence-wrap, .cert-wrap, .enroll-wrap{ grid-template-columns:1fr; }
  .benefits-grid{ grid-template-columns:repeat(2,1fr); }
  .modules-grid{ grid-template-columns:1fr; }
  .faculty-grid{ grid-template-columns:repeat(2,1fr); }
  .contact-grid{ grid-template-columns:1fr; }
  .resources-grid, .video-grid{ grid-template-columns:repeat(2,1fr); }
}
@media(max-width:620px){
  .benefits-grid, .faculty-grid{ grid-template-columns:1fr; }
  .method-grid{ grid-template-columns:1fr; }
  .audience-grid{ grid-template-columns:1fr 1fr; }
  .hero-meta{ gap:1.6rem; }
  .resources-grid, .video-grid{ grid-template-columns:1fr; }
}

/* ---------- 28. GLASSMORPHISM helper ---------- */
.glass{
  background:rgba(255,255,255,.04); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.08);
}

/* ---------- 29. Skip link (accesibilidad) ---------- */
.skip-link{
  position:absolute; left:1rem; top:-60px; z-index:9999; background:var(--c-gold); color:var(--c-black);
  padding:.7rem 1.2rem; font-family:var(--f-sub); font-size:.8rem; border-radius:var(--radius);
  transition:top .3s var(--ease);
}
.skip-link:focus{ top:1rem; }

/* ============ PREVENTA MÓDULO 1 ============ */
.presale-banner{
  display:flex; align-items:center; justify-content:space-between; gap:2rem;
  flex-wrap:wrap;
  background:linear-gradient(135deg, rgba(214,175,54,.10), rgba(214,175,54,.02));
  border:1px solid var(--c-gold-dim);
  border-radius:20px;
  padding:2.2rem 2.4rem;
  margin-bottom:2.6rem;
}
.presale-banner__eyebrow{
  display:inline-block; font-size:.72rem; letter-spacing:.09em; text-transform:uppercase;
  color:var(--c-gold); font-weight:600; margin-bottom:.6rem;
}
.presale-banner__title{
  font-family:var(--font-display, inherit); font-size:1.5rem; color:#fff; margin:0 0 .6rem;
}
.presale-banner__desc{
  color:var(--c-grey-300); font-size:.92rem; line-height:1.6; max-width:52ch; margin:0;
}
.presale-banner__cta{
  display:flex; flex-direction:column; align-items:flex-end; gap:.7rem; flex-shrink:0;
}
.presale-banner__price{
  font-family:var(--font-display, inherit); font-size:1.9rem; color:var(--c-gold-light); font-weight:700;
}
.presale-banner__price small{ font-size:.9rem; color:var(--c-grey-400); font-weight:500; }

@media(max-width:760px){
  .presale-banner{ flex-direction:column; align-items:flex-start; padding:1.8rem; }
  .presale-banner__cta{ align-items:flex-start; width:100%; }
  .presale-banner__cta .btn{ width:100%; }
}
