/* ══════════════════════════════════════════════
   ACADEMIC ATELIER v6 — FCA UNAM
   estilos.css
   ══════════════════════════════════════════════ */
:root {
  --navy:       #002855;
  --navy-deep:  #001a38;
  --gold:       #B89655;
  --gold-lt:    rgba(184,150,85,.14);
  --bg:         #FDFCF9;
  --bg-warm:    #F7F5F0;
  --text:       #252220;
  --text-md:    #3d3a37;
  --text-muted: #4e4b48;
  --text-soft:  #8a8780;
  --serif:      'Cormorant Garamond', Georgia, serif;
  --sans:       'Montserrat', sans-serif;
  --ease:       cubic-bezier(.4,0,.2,1);
  --ease-out:   cubic-bezier(0,.55,.45,1);
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html {
  scroll-behavior:smooth;
  max-width:100%;
  overflow-x:hidden;
}
body {
  background:var(--bg); color:var(--text);
  font-family:var(--sans); font-weight:300;
  line-height:1.88; -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  max-width:100vw;
  width:100%;
}
h2,h3 { font-family:var(--sans); font-weight:300; color:var(--navy); line-height:1.15; }
h2 { font-size:clamp(2rem,4vw,3.2rem); }
h3 { font-size:clamp(1.3rem,2.5vw,1.9rem); }
p  { font-family:var(--sans); font-weight:300; font-size:.93rem; color:var(--text); line-height:1.92; }
a  { color:inherit; text-decoration:none; transition:color .3s var(--ease); }

.cs { max-width:1180px; margin:0 auto; padding:0 48px; }
.cn { max-width:820px;  margin:0 auto; padding:0 48px; }
section { padding:100px 0; }

.lbl {
  font-family:var(--sans); font-size:.62rem; font-weight:400;
  letter-spacing:.25em; text-transform:uppercase; color:var(--gold); margin-bottom:18px;
}
.gold-line { display:block; width:40px; height:1px; background:var(--gold); margin:28px auto; }
.gold-l    { margin:20px 0; }
.dot       { display:inline-block; width:5px; height:5px; border-radius:50%; background:var(--gold); flex-shrink:0; }

/* ══════════════════════════════════════════════
   NAVBAR
   ══════════════════════════════════════════════ */
.snav {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  background:var(--navy-deep);
  box-shadow:0 2px 24px rgba(0,0,0,.28);
}
.snav__in {
  display:flex; align-items:stretch; justify-content:space-between;
  width:100%; padding:0;
}
.snav__brand {
  display:flex; align-items:center; gap:0;
  text-decoration:none; flex-shrink:0;
  background:var(--navy-deep);
}
.snav__logos {
  display:flex; align-items:center;
  padding:10px 14px 10px 16px; gap:4px;
}
.snav__logo { height:80px; width:auto; display:block; }
.snav__logo-fallback {
  width:80px; height:80px; border:1px solid var(--gold); border-radius:2px;
  display:none; align-items:center; justify-content:center;
  font-family:var(--serif); font-size:1.2rem; color:var(--gold);
}
.snav__divider { display:none; }
.snav__brand-text {
  display:flex; flex-direction:column; justify-content:center; gap:2px;
  padding:10px 0;
}
.snav__brand-line1 {
  font-family:var(--sans); font-size:1.35rem; font-weight:500;
  color:#fff; letter-spacing:.08em; text-transform:uppercase;
  line-height:1.1; white-space:nowrap;
}
.snav__brand-line2 {
  font-family:var(--sans); font-size:1.35rem; font-weight:500;
  color:#fff; letter-spacing:.08em; text-transform:uppercase;
  line-height:1.1; white-space:nowrap;
}
.snav__nav {
  display:flex; align-items:center; gap:30px;
  list-style:none; margin:0; padding:0 40px 0 0;
}
.snav > .snav__in > nav {
  display:flex; align-items:center;
  align-self:stretch;
}
.snav__nav a {
  font-family:'Raleway', sans-serif; font-size:.9rem; font-weight:400;
  letter-spacing:.06em; text-transform:none;
  color:rgba(255,255,255,.72); position:relative; padding-bottom:3px;
  transition:color .3s; white-space:nowrap;
}
.snav__nav a::after {
  content:''; position:absolute; bottom:0; left:0;
  width:0; height:1px; background:var(--gold);
  transition:width .35s var(--ease);
}
.snav__nav a:hover,.snav__nav a.active { color:#fff; }
.snav__nav a:hover::after,.snav__nav a.active::after { width:100%; }
.snav__burger {
  display:none; flex-direction:column; gap:5px;
  background:none; border:none; cursor:pointer;
  padding:6px 20px 6px 4px;
  align-self:center;
}
.snav__burger span {
  display:block; width:22px; height:1.5px; background:rgba(255,255,255,.8);
  transition:transform .3s var(--ease), opacity .2s, width .3s;
}
.snav__burger.open span:nth-child(1) { transform:translateY(6.5px) rotate(45deg); }
.snav__burger.open span:nth-child(2) { opacity:0; width:0; }
.snav__burger.open span:nth-child(3) { transform:translateY(-6.5px) rotate(-45deg); }
.snav__dropdown {
  position:absolute; top:100%; right:20px;
  background:var(--navy-deep);
  border:1px solid rgba(184,150,85,.2); border-top:none;
  border-radius:0 0 6px 6px;
  box-shadow:0 8px 28px rgba(0,0,0,.3);
  min-width:190px; padding:6px 0;
  opacity:0; pointer-events:none;
  transform:translateY(-6px);
  transition:opacity .25s var(--ease), transform .25s var(--ease);
  z-index:1001;
}
.snav__dropdown.open { opacity:1; pointer-events:all; transform:translateY(0); }
.snav__dropdown a {
  display:block; padding:10px 20px;
  font-family:'Raleway', sans-serif; font-size:.8rem; font-weight:400;
  letter-spacing:.04em; text-transform:none;
  color:rgba(255,255,255,.68);
  border-left:2px solid transparent;
  transition:color .22s, background .22s, border-color .22s;
}
.snav__dropdown a + a { border-top:1px solid rgba(184,150,85,.08); }
.snav__dropdown a:hover { color:var(--gold); background:rgba(184,150,85,.07); border-left-color:var(--gold); }

/* ══════════════════════════════════════════════
   CARRUSEL HERO
   ══════════════════════════════════════════════ */
.hero-wrap {
  margin-top:72px;
  width:100%;
  background:var(--navy-deep);
  overflow:hidden;
  line-height:0;
}
.c-img {
  width:100%;
  height:auto;
  display:block;
  line-height:0;
}
.carousel-item picture {
  display:block; width:100%; line-height:0; overflow:hidden;
}
.carousel-item picture img { display:block; width:100%; height:auto; }
.c-ph {
  width:100%;
  min-height:320px; height:auto;
  padding:60px 24px;
  background:linear-gradient(135deg, var(--navy-deep) 0%, #003a73 100%);
  position:relative; overflow:hidden;
  line-height:1.5;
  display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  text-align:center;
}
.c-ph::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse 60% 80% at 30% 50%, rgba(184,150,85,.07) 0%, transparent 60%);
}
.c-ph__tag   { position:relative; font-family:var(--sans); font-size:.6rem; letter-spacing:.28em; text-transform:uppercase; color:var(--gold); margin-bottom:16px; }
.c-ph__title { position:relative; font-family:var(--serif); font-size:clamp(1.8rem,4vw,3.2rem); font-weight:300; color:#fff; max-width:680px; line-height:1.2; margin-bottom:10px; }
.c-ph__sub   { position:relative; font-family:var(--serif); font-size:clamp(.9rem,1.5vw,1.1rem); font-style:italic; color:rgba(255,255,255,.52); max-width:500px; }
.c-ph__line  { position:absolute; bottom:0; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,var(--gold),transparent); opacity:.4; }
.carousel-control-prev-icon { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23B89655' d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3E%3C/svg%3E"); }
.carousel-control-next-icon { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23B89655' d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E"); }
.carousel-control-prev,.carousel-control-next { width:50px; opacity:1; }
.carousel-indicators [data-bs-target] { width:26px; height:2px; background-color:rgba(184,150,85,.4); border:none; border-radius:0; opacity:1; transition:background-color .4s,width .3s; }
.carousel-indicators .active { background-color:var(--gold); width:44px; }

/* ══════════════════════════════════════════════
   BOTÓN GHOST
   ══════════════════════════════════════════════ */
.btn-ghost {
  display:inline-block; padding:13px 40px;
  border:1px solid var(--navy);
  font-family:var(--sans); font-size:.7rem; font-weight:400;
  letter-spacing:.22em; text-transform:uppercase;
  color:var(--navy); background:transparent; cursor:pointer;
  transition:color .4s, border-color .4s; position:relative; overflow:hidden;
}
.btn-ghost::before { content:''; position:absolute; inset:0; background:var(--gold-lt); transform:scaleX(0); transform-origin:left; transition:transform .4s var(--ease); }
.btn-ghost:hover { color:var(--gold); border-color:var(--gold); }
.btn-ghost:hover::before { transform:scaleX(1); }
.btn-ghost span { position:relative; z-index:1; }

/* ══════════════════════════════════════════════
   REVEAL ASIMÉTRICO
   ══════════════════════════════════════════════ */
.reveal        { opacity:0; transition:opacity .85s var(--ease),transform .85s var(--ease); }
.reveal--up    { transform:translateY(36px); }
.reveal--left  { transform:translateX(-36px); }
.reveal--right { transform:translateX(36px); }
.reveal.in     { opacity:1; transform:none; }
.reveal--d1 { transition-delay:.1s; }
.reveal--d2 { transition-delay:.22s; }
.reveal--d3 { transition-delay:.34s; }
.reveal--d4 { transition-delay:.46s; }

/* ══════════════════════════════════════════════
   ABOUT / PROGRAMA
   ══════════════════════════════════════════════ */
.about__body p,
.mv__item p { text-align:justify; text-justify:inter-word; }
.about { background:var(--bg); }
.about__grid { display:grid; grid-template-columns:1fr 1.6fr; gap:80px; align-items:start; }
.quote-feat { font-family:var(--serif); font-size:clamp(1.3rem,2.5vw,1.85rem); font-weight:300; font-style:italic; color:var(--navy); line-height:1.4; margin-bottom:22px; }
.about__body p+p { margin-top:17px; }
.activ-list { list-style:none; margin-top:22px; padding:0; }
.activ-list li { display:flex; align-items:flex-start; gap:14px; font-size:.9rem; color:var(--text); padding:12px 0; border-bottom:1px solid rgba(184,150,85,.14); }
.activ-list li:first-child { border-top:1px solid rgba(184,150,85,.14); }

/* ── Tarjeta perfil (sección Programa) ── */
.prog-card {
  display:flex; align-items:center; gap:16px;
  margin-top:32px;
  padding:16px 18px;
  border:1px solid rgba(184,150,85,.25);
  border-left:3px solid var(--gold);
  background:rgba(184,150,85,.04);
}
.prog-card__img-wrap {
  flex-shrink:0; width:72px; height:72px;
  border-radius:50%; overflow:hidden;
  border:2px solid rgba(184,150,85,.35);
}
.prog-card__img {
  width:100%; height:100%; object-fit:cover; display:block;
}
.prog-card__img-fallback {
  width:100%; height:100%;
  display:flex; align-items:center; justify-content:center;
  background:var(--bg-warm);
  color:rgba(184,150,85,.5);
  font-family:var(--serif); font-size:1.3rem; font-weight:300;
}
.prog-card__info {
  display:flex; flex-direction:column; gap:4px;
}
.prog-card__role {
  font-family:var(--sans); font-size:.6rem; font-weight:400;
  letter-spacing:.2em; text-transform:uppercase; color:var(--gold);
}
.prog-card__name {
  font-family:var(--serif); font-size:1.05rem; font-weight:400;
  color:var(--navy); line-height:1.2;
}

/* ══════════════════════════════════════════════
   MISIÓN / VISIÓN
   ══════════════════════════════════════════════ */
.mv { background:var(--bg-warm); position:relative; }
.mv::before,.mv::after { content:''; position:absolute; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,var(--gold),transparent); }
.mv::before { top:0; } .mv::after { bottom:0; }
.mv__grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; }
.mv__item h3 { font-size:clamp(1.5rem,2.8vw,2.1rem); color:var(--navy); margin-bottom:4px; }
.mv__item p { color:var(--text); font-size:1rem; line-height:2; }
.mv__item p+p { margin-top:15px; }

/* ══════════════════════════════════════════════
   VALORES — Carrusel tipo Nespresso
   ══════════════════════════════════════════════ */
.valores { background:var(--bg); overflow:hidden; }
.val-hdr  { text-align:center; margin-bottom:56px; }
.val-track-wrap {
  position:relative;
  padding:0 28px;
}
.val-nav {
  position:absolute; top:50%; transform:translateY(-50%);
  width:44px; height:44px; border-radius:50%;
  background:#fff; border:1px solid rgba(184,150,85,.35);
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; z-index:10;
  transition:background .3s, border-color .3s;
  box-shadow:0 2px 12px rgba(0,0,0,.1);
}
.val-nav:hover { background:var(--gold); border-color:var(--gold); }
.val-nav:hover svg { stroke:#fff; }
.val-nav svg { width:18px; height:18px; stroke:var(--navy); stroke-width:2; fill:none; transition:stroke .3s; }
.val-nav--prev { left:0; }
.val-nav--next { right:0; }
.val-nav:disabled { opacity:.3; cursor:default; }
.val-nav:disabled:hover { background:#fff; border-color:rgba(184,150,85,.35); }
.val-nav:disabled:hover svg { stroke:var(--navy); }
.val-track { display:flex; gap:20px; transition:transform .55s var(--ease); }
.val-card {
  flex:0 0 calc(25% - 15px);
  border-radius:12px; overflow:hidden; position:relative;
  min-height:340px; display:flex; flex-direction:column; justify-content:flex-end;
  background-color:var(--navy);
  background-size:cover; background-position:center;
  cursor:default;
}
.val-card__overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(0,0,0,.75) 0%, rgba(0,0,0,.22) 55%, rgba(0,0,0,.05) 100%);
  transition:background .45s var(--ease);
}
.val-card:hover .val-card__overlay {
  background:linear-gradient(to top, rgba(0,0,0,.9) 0%, rgba(0,0,0,.65) 100%);
}
.val-card__body { position:relative; z-index:2; padding:22px 24px 26px; }
.val-card__tag  { font-family:var(--sans); font-size:.57rem; font-weight:400; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); margin-bottom:6px; display:block; }
.val-card__title { font-family:var(--serif); font-size:1.55rem; font-weight:300; color:#fff; line-height:1.2; margin-bottom:0; }
.val-card__desc {
  font-family:var(--sans); font-size:.82rem; font-weight:300;
  color:rgba(255,255,255,.85); line-height:1.7;
  max-height:0; overflow:hidden; opacity:0; margin-top:0;
  transition:max-height .5s var(--ease-out), opacity .4s var(--ease), margin-top .4s var(--ease);
}
.val-card:hover .val-card__desc { max-height:120px; opacity:1; margin-top:14px; }
.val-card__line { display:block; width:0; height:1px; background:var(--gold); margin-top:12px; transition:width .5s var(--ease); }
.val-card:hover .val-card__line { width:32px; }
.val-card--1 { background-color:#002855; }
.val-card--2 { background-color:#1a3a2a; }
.val-card--3 { background-color:#3a2a10; }
.val-card--4 { background-color:#1a1a2e; }
.val-card--5 { background-color:#003a55; }
.val-card--6 { background-color:#2a1a08; }

/* ══════════════════════════════════════════════
   AGENDA — IMAGEN PARALLAX
   Para cambiar la imagen: edita background-image abajo
   ══════════════════════════════════════════════ */
.agenda {
  position:relative;
  overflow:hidden;
  text-align:center;
  padding:120px 0;
  background-image:
    linear-gradient(to bottom, rgba(0,14,35,.88) 0%, rgba(0,14,35,.82) 100%),
    url('../img/valores2.jpg');
  background-size:cover;
  background-position:center;
  background-attachment:fixed;
}
.agenda__deco {
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  pointer-events:none; z-index:0;
}
.agenda__deco span {
  position:absolute; border-radius:50%;
  border:1px solid rgba(184,150,85,.12);
  transform:translate(-50%,-50%);
}
.agenda__deco span:nth-child(1) { width:500px; height:500px; }
.agenda__deco span:nth-child(2) { width:760px; height:760px; }
.agenda__deco span:nth-child(3) { width:1020px; height:1020px; }
.agenda__inner { position:relative; z-index:1; }
.ag-loc {
  font-family:var(--sans); font-size:.75rem; font-weight:500;
  letter-spacing:.28em; color:var(--gold);
  margin-bottom:14px; text-transform:uppercase; display:block;
}
.agenda h2 { color:#fff; margin-bottom:14px; font-size:clamp(2.4rem,5vw,4rem); text-shadow:0 2px 24px rgba(0,0,0,.4); }
.agenda .gold-line { background:var(--gold); margin-bottom:32px; width:60px; }
.ag-addr {
  font-family:var(--serif); font-size:1.35rem; font-style:italic;
  color:#fff; margin-bottom:36px; display:block;
  line-height:1.6; text-shadow:0 1px 12px rgba(0,0,0,.35);
}
.agenda .btn-ghost { border-color:var(--gold); color:var(--gold); }
.agenda .btn-ghost:hover { color:var(--navy-deep); }
.agenda .btn-ghost::before { background:var(--gold); }
.ag-note {
  display:block; margin-top:22px; font-size:.76rem; font-weight:400;
  color:rgba(253,252,249,.85); letter-spacing:.18em;
}

/* ══════════════════════════════════════════════
   FOOTER
   ══════════════════════════════════════════════ */
.footer-a {
  background:var(--bg-warm);
  border-top:1px solid rgba(184,150,85,.25);
  padding:20px 0;
}
.footer-a__in {
  max-width:1180px; margin:0 auto; padding:0 48px;
  display:grid; grid-template-columns:1fr auto 1fr;
  align-items:center; gap:24px;
}
.footer-a__stats { display:flex; flex-direction:column; gap:4px; }
.footer-a__stat  { font-family:var(--sans); font-size:.78rem; font-weight:300; color:var(--text-muted); display:flex; align-items:center; gap:8px; }
.footer-a__stat::before { content:'→'; color:var(--gold); font-size:.8rem; }
.footer-a__social { text-align:center; }
.footer-a__social-label { font-family:var(--sans); font-size:.62rem; font-weight:500; letter-spacing:.18em; text-transform:uppercase; color:var(--navy); margin-bottom:10px; display:block; }
.footer-a__social-icons { display:flex; justify-content:center; gap:14px; }
.footer-a__social-icon { width:36px; height:36px; border-radius:50%; background:var(--navy-deep); display:flex; align-items:center; justify-content:center; color:#fff; transition:background .3s, transform .3s; }
.footer-a__social-icon:hover { background:var(--gold); transform:scale(1.08); }
.footer-a__social-icon svg { width:16px; height:16px; fill:currentColor; }
.footer-a__unam { text-align:right; }
.footer-a__unam-img { height:90px; width:auto; display:inline-block; }
.footer-b { background:#0e2233; padding:20px 0 18px; }
.footer-b__in {
  max-width:1400px; margin:0 auto; padding:0 48px;
  display:grid; grid-template-columns:160px 1fr;
  gap:40px; align-items:start;
}
.footer-b__left p { font-family:var(--sans); font-size:.78rem; font-weight:300; color:rgba(255,255,255,.92); line-height:1.8; }
.footer-b__right { display:flex; flex-direction:column; gap:0; }
.footer-b__right p {
  font-family:var(--sans); font-size:.75rem; font-weight:300;
  color:rgba(255,255,255,.9); line-height:1.75;
  text-align:justify; text-justify:inter-word;
}
.footer-b__right a { color:var(--gold); text-decoration:underline; text-decoration-color:rgba(184,150,85,.45); text-underline-offset:3px; transition:color .3s, text-decoration-color .3s; }
.footer-b__right a:hover { color:#d4b46a; text-decoration-color:var(--gold); }
.footer-b__sep { color:rgba(255,255,255,.4); margin:0 4px; }

/* ══════════════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════════════ */
@media(max-width:1100px) {
  .val-card { flex:0 0 calc(33.333% - 14px); }
}

@media(max-width:900px) {
  section { padding:72px 0; }
  .cs,.cn { padding:0 28px; }
  .snav__nav { display:none; }
  .snav__burger { display:flex; }
  .snav__dropdown { right:20px; }
  .about__grid,.mv__grid { grid-template-columns:1fr; gap:44px; }
  .val-card { flex:0 0 calc(50% - 10px); }
  .footer-a__in { grid-template-columns:1fr; gap:18px; text-align:center; }
  .footer-a__unam { text-align:center; }
  .footer-a__stats .footer-a__stat { justify-content:center; }
  .footer-b__in { grid-template-columns:1fr; gap:14px; padding:0 18px; }
  .footer-b__left { text-align:center; }
  .footer-b__right p { text-align:left; }
  .agenda { background-attachment:scroll; }
  .snav__logo { height:60px; }
  .snav__brand-line1,.snav__brand-line2 { font-size:1rem; }
}

@media(max-width:768px) {
  .hero-wrap { margin-top:0; }
  .c-img {
    aspect-ratio:1 / 1;
    width:100%;
    height:auto;
    object-fit:cover;
    display:block;
  }
  .carousel-item picture img {
    aspect-ratio:1 / 1;
    width:100%;
    height:auto;
    object-fit:cover;
  }
  .c-ph {
    aspect-ratio:1 / 1;
    min-height:unset;
    padding:32px 20px;
  }
  .about__grid { gap:36px; }
  .agenda { padding:80px 0; }
  .cn { padding:0 24px; }
}

@media(max-width:600px) {
  .cs,.cn { padding:0 18px; }
  .snav__logo { height:44px; }
  .snav__logo-fallback { width:44px; height:44px; }
  .snav__logos { padding:8px 8px 8px 10px; gap:2px; }
  .snav__brand-line1,.snav__brand-line2 { font-size:.78rem; letter-spacing:.04em; }
  .snav__dropdown { right:16px; left:16px; min-width:unset; }
  .val-track-wrap { padding:0 22px; }
  .val-card { flex:0 0 calc(85% - 10px); }
  .footer-a__in { padding:0 18px; }
  .footer-b__in { padding:0 18px; }
  .footer-b__sep { display:none; }
}

/* ══════════════════════════════════════════════════════════════
   PATCH v5.4 — Tipografía · Parallax MV · Broadcast Outline ·
                Productora centrada · Eco 3 cards · Imágenes demo
   ══════════════════════════════════════════════════════════════ */

/* ─── 1. Tipografía global más oscura y justificada ─── */
p {
  color: #1a1a1a;
  font-weight: 400;
  text-align: justify;
  text-justify: inter-word;
}
/* Excepción: headings nunca justificados */
h1, h2, h3, h4, h5, h6 { text-align: left; }

/* Excepción: val-card (carrusel valores) — sin justificar */
.val-card p, .val-card__desc { text-align: left; font-weight: 300; }

/* Excepción: elementos de interfaz que no deben justificarse */
.lbl, .broadcast-card p, .hcard p, .crew-wide p,
.sched-card p, .footer-b__right p,
.broadcast-card__platform, .broadcast-card__channel, .broadcast-card__time,
.hcard__role, .hcard__name, .crew-wide__role, .crew-wide__name,
.mv-parallax p, .eco-card__desc, .quien-header p, .carousel-hint,
.page-header__sub, .hero-caption__sub, .int-hero__sub,
.rev-dir__desc, .tl-item__text { text-align: left; }

/* Centros editoriales */
.text-center p { text-align: center; }

/* ─── 2. Broadcast Cards — Outline Ghost ─── */
.broadcast-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px; max-width: 820px; margin: 0 auto;
}
.broadcast-card {
  display: block; text-decoration: none;
  background: var(--bg);
  border: 1px solid var(--navy);
  border-radius: 0;
  padding: 32px 26px 28px;
  position: relative; overflow: hidden;
  color: var(--navy);
  transition: transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s;
}
.broadcast-card::before { display: none; }
.broadcast-card:hover {
  transform: translateY(-5px);
  border-color: var(--gold);
  box-shadow: 0 10px 25px rgba(0,40,85,.08);
}
.broadcast-card__head {
  display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px;
}
.broadcast-card__icon { width: 30px; height: 30px; display: block; stroke: var(--navy); }
.broadcast-card__platform {
  font-family: var(--sans); font-size: .57rem; font-weight: 500;
  letter-spacing: .22em; text-transform: uppercase;
  color: var(--gold); margin: 0 0 6px; display: block;
}
.broadcast-card__channel {
  font-family: var(--serif); font-size: 1.15rem; font-weight: 300;
  color: var(--navy); margin: 0 0 8px; line-height: 1.2; display: block;
}
.broadcast-card__time {
  font-family: var(--sans); font-size: .82rem; font-weight: 400;
  color: var(--text-soft); display: block;
}
.live-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--gold); display: inline-block; flex-shrink: 0;
  animation: livepulse 2s ease-in-out infinite;
  box-shadow: 0 0 5px rgba(184,150,85,.5);
}
@keyframes livepulse {
  0%, 100% { opacity: 1; }
  50%       { opacity: .2; }
}
.broadcast-card--replay { animation-duration: 4s; }
@media (max-width: 700px) {
  .broadcast-grid { grid-template-columns: 1fr; max-width: 340px; }
}

/* ─── 3. Productora centrada ─── */
.crew-wide-center {
  display: flex; justify-content: center; margin-top: 40px;
}
.crew-wide-center .crew-wide { max-width: 520px; width: 100%; margin-top: 0; }
@media (max-width: 600px) {
  .crew-wide-center .crew-wide { max-width: 100%; }
}

/* ─── 4. Misión / Visión — Parallax oscuro ─── */
.mv-parallax {
  position: relative; overflow: hidden;
  padding: 120px 0;
  background-image:
    linear-gradient(to bottom, rgba(0,14,35,.90) 0%, rgba(0,14,35,.84) 100%),
    url('https://images.unsplash.com/photo-1568992687947-868a62a9f521?w=1400&q=80');
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
}
.mv-parallax__inner { position: relative; z-index: 1; }
.mv-parallax__col {
  padding: 0 48px 0 0;
}
.mv-parallax__col--right {
  padding: 0 0 0 48px;
  border-left: 1px solid rgba(184,150,85,.2);
}
.mv-parallax__num {
  display: block;
  font-family: var(--serif); font-size: 5rem; font-weight: 300;
  color: rgba(184,150,85,.16); line-height: 1; margin-bottom: 8px;
}
.mv-parallax h3 {
  font-family: var(--serif); font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 300; color: #fff; margin-bottom: 0;
}
.mv-parallax p {
  color: rgba(255,255,255,.72); font-weight: 300;
  line-height: 2.1; text-align: left;
}
.mv-parallax .gold-line { background: var(--gold); }
@media (max-width: 767px) {
  .mv-parallax { background-attachment: scroll; padding: 80px 0; }
  .mv-parallax__col { padding: 0 !important; }
  .mv-parallax__col--right {
    border-left: none; border-top: 1px solid rgba(184,150,85,.2);
    margin-top: 48px; padding-top: 48px !important;
  }
}

/* ─── 5. Ecosistema: 3 tarjetas con respiración ─── */
.eco-track {
  display: flex !important;
  justify-content: center !important;
  align-items: stretch !important;
  gap: clamp(24px, 4vw, 56px) !important;
  flex-wrap: nowrap !important;
  padding: 0 48px !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  overflow-x: visible !important;
  scroll-snap-type: none !important;
  cursor: default !important;
}
.eco-card {
  flex: 0 0 clamp(240px, 26vw, 340px) !important;
  aspect-ratio: 3 / 4 !important;
  max-width: 340px !important;
  min-height: unset !important;
  scroll-snap-align: unset !important;
}
/* Móvil: scroll-snap */
@media (max-width: 860px) {
  .eco-outer { overflow: hidden !important; }
  .eco-track {
    justify-content: flex-start !important;
    gap: 14px !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    scroll-behavior: smooth !important;
    -webkit-overflow-scrolling: touch !important;
    cursor: grab !important;
    padding: 0 20px 16px !important;
    max-width: none !important; margin: 0 !important;
    scrollbar-width: none !important; -ms-overflow-style: none !important;
  }
  .eco-track::-webkit-scrollbar { display: none; }
  .eco-track.grabbing { cursor: grabbing !important; scroll-behavior: auto !important; }
  .eco-card { flex: 0 0 78vw !important; max-width: none !important; scroll-snap-align: start !important; }
}
@media (max-width: 600px) {
  .eco-card { flex: 0 0 88vw !important; }
  .eco-track { padding: 0 18px 14px !important; }
}

/* ─── Imágenes demo: Ecosistema ─── */
.eco-card--tv {
  background-color: #002855;
  background-image: url('https://images.unsplash.com/photo-1593784991095-a205069470b6?w=700&q=80');
  background-size: cover; background-position: center;
}
.eco-card--radio {
  background-color: #1a3a2a;
  background-image: url('https://images.unsplash.com/photo-1478737270239-2f02b77fc618?w=700&q=80');
  background-size: cover; background-position: center;
}
.eco-card--revista {
  background-color: #3a2a10;
  background-image: url('https://images.unsplash.com/photo-1544716278-ca5e3f4abd8c?w=700&q=80');
  background-size: cover; background-position: center;
}

/* ─── Imágenes demo: Valores (carrusel) ─── */
.val-card--1 {
  background-color: #002855;
  background-image: url('https://images.unsplash.com/photo-1521791136064-7986c2920216?w=600&q=70');
  background-size: cover; background-position: center;
}
.val-card--2 {
  background-color: #1a3a2a;
  background-image: url('https://images.unsplash.com/photo-1450101499163-c8848c66ca85?w=600&q=70');
  background-size: cover; background-position: center;
}
.val-card--3 {
  background-color: #3a2a10;
  background-image: url('https://images.unsplash.com/photo-1523050854058-8df90110c9f1?w=600&q=70');
  background-size: cover; background-position: center;
}
.val-card--4 {
  background-color: #1a1a2e;
  background-image: url('https://images.unsplash.com/photo-1559027615-cd4628902d4a?w=600&q=70');
  background-size: cover; background-position: center;
}
.val-card--5 {
  background-color: #003a55;
  background-image: url('https://images.unsplash.com/photo-1522071820081-009f0129c71c?w=600&q=70');
  background-size: cover; background-position: center;
}
.val-card--6 {
  background-color: #2a1a08;
  background-image: url('https://images.unsplash.com/photo-1568992687947-868a62a9f521?w=600&q=70');
  background-size: cover; background-position: center;
}

/* ══════════════════════════════════════════════════════════════
   PATCH v5.3 — Tipografía global · Ghost broadcast · Eco images
               · Val images · Parallax MV · Productora centrada
   ══════════════════════════════════════════════════════════════ */

/* ── 1. TIPOGRAFÍA GLOBAL ── */
p {
  color: #1a1a1a;
  font-weight: 400;
  text-align: justify;
  text-justify: inter-word;
}

/* Excepciones: val-card (carrusel), hero captions, labels, hints */
.val-card p,
.val-card__desc,
.hero-caption p,
.hero-caption__sub,
.int-hero p,
.page-header p,
.page-header__sub,
.broadcast-card p,
.broadcast-card__platform,
.broadcast-card__channel,
.broadcast-card__time,
.eco-card__desc,
.eco-card p,
.crew-wide p,
.hcard p,
.lbl,
.carousel-hint,
.val-hint,
.footer-a__stat,
.footer-b__right p,
.rev-dir__desc,
.tl-item__text,
.sched-card p,
.activ-list li {
  text-align: left;
}

/* Centrados explícitos no tocar */
.text-center p,
.quien-header p,
.val-hdr p,
.mv-parallax .text-center p {
  text-align: center;
}

/* Headings nunca justificados */
h1, h2, h3, h4, h5, h6 { text-align: left; }
.text-center h1,
.text-center h2,
.text-center h3 { text-align: center; }

/* ── 2. BROADCAST CARD — Outline Ghost ── */
.broadcast-card {
  display: block; text-decoration: none;
  background: var(--bg);
  color: var(--navy);
  border: 1px solid var(--navy);
  border-radius: 0;
  padding: 32px 26px 28px;
  position: relative; overflow: hidden;
  transition: transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s;
}
.broadcast-card::before { display: none; } /* kill dark overlay */
.broadcast-card:hover {
  transform: translateY(-5px);
  border-color: var(--gold);
  box-shadow: 0 10px 25px rgba(0,40,85,.08);
  background: var(--bg);
}
.broadcast-card__head {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 18px;
}
.broadcast-card__icon {
  width: 30px; height: 30px; display: block;
  stroke: var(--navy);
}
.broadcast-card__platform {
  font-family: var(--sans); font-size: .57rem; font-weight: 500;
  letter-spacing: .22em; text-transform: uppercase;
  color: var(--text-soft); margin: 0 0 5px; display: block;
}
.broadcast-card__channel {
  font-family: var(--serif); font-size: 1.15rem; font-weight: 300;
  color: var(--navy); margin: 0 0 6px; line-height: 1.2; display: block;
}
.broadcast-card__time {
  font-family: var(--sans); font-size: .82rem; font-weight: 500;
  color: var(--gold); display: block; letter-spacing: .04em;
}
.live-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--gold); display: inline-block; flex-shrink: 0;
  animation: livepulse 2s ease-in-out infinite;
  box-shadow: 0 0 5px rgba(184,150,85,.5);
}
@keyframes livepulse {
  0%, 100% { opacity: 1; }
  50%       { opacity: .2; }
}
.broadcast-card--replay { animation-duration: 4s; }

/* Sección de fondo correcto */
.broadcast-section-bg { background: var(--bg-warm); }

/* ── 3. ECOSISTEMA — imágenes placeholder + 3 cards centradas ── */
.eco-track {
  display: flex !important;
  justify-content: center !important;
  gap: 3vw !important;
  flex-wrap: nowrap;
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 48px !important;
  overflow-x: visible;
  scroll-snap-type: none;
  cursor: default;
}
.eco-card {
  aspect-ratio: 3 / 4;
  max-width: 340px;
  flex: 1 1 0 !important;
  min-height: unset;
  scroll-snap-align: none;
}

/* Placeholders de fondo para cada tarjeta (SVG inline, reemplazar con img/) */
.eco-card--tv {
  background-color: #002855;
  background-image:
    linear-gradient(to top, rgba(0,14,35,.82) 30%, rgba(0,14,35,.35) 70%, transparent 100%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='533'%3E%3Crect width='400' height='533' fill='%23002855'/%3E%3Crect x='80' y='150' width='240' height='160' rx='8' fill='none' stroke='%23B89655' stroke-width='2' opacity='.3'/%3E%3Cline x1='155' y1='250' x2='155' y2='290' stroke='%23B89655' stroke-width='2' opacity='.3'/%3E%3Cline x1='245' y1='250' x2='245' y2='290' stroke='%23B89655' stroke-width='2' opacity='.3'/%3E%3Cline x1='120' y1='290' x2='280' y2='290' stroke='%23B89655' stroke-width='2' opacity='.3'/%3E%3C/svg%3E");
  background-size: cover; background-position: center;
}
.eco-card--radio {
  background-color: #1a3a2a;
  background-image:
    linear-gradient(to top, rgba(0,14,35,.82) 30%, rgba(0,14,35,.35) 70%, transparent 100%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='533'%3E%3Crect width='400' height='533' fill='%231a3a2a'/%3E%3Ccircle cx='200' cy='200' r='60' fill='none' stroke='%23B89655' stroke-width='2' opacity='.3'/%3E%3Ccircle cx='200' cy='200' r='35' fill='none' stroke='%23B89655' stroke-width='2' opacity='.25'/%3E%3Ccircle cx='200' cy='200' r='10' fill='%23B89655' opacity='.3'/%3E%3C/svg%3E");
  background-size: cover; background-position: center;
}
.eco-card--revista {
  background-color: #3a2a10;
  background-image:
    linear-gradient(to top, rgba(0,14,35,.82) 30%, rgba(0,14,35,.35) 70%, transparent 100%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='533'%3E%3Crect width='400' height='533' fill='%233a2a10'/%3E%3Crect x='130' y='130' width='140' height='180' rx='2' fill='none' stroke='%23B89655' stroke-width='2' opacity='.3'/%3E%3Cline x1='150' y1='165' x2='250' y2='165' stroke='%23B89655' stroke-width='1.5' opacity='.25'/%3E%3Cline x1='150' y1='185' x2='250' y2='185' stroke='%23B89655' stroke-width='1.5' opacity='.2'/%3E%3Cline x1='150' y1='205' x2='220' y2='205' stroke='%23B89655' stroke-width='1.5' opacity='.2'/%3E%3C/svg%3E");
  background-size: cover; background-position: center;
}

/* Móvil: flip to scroll-snap */
@media (max-width: 860px) {
  .eco-track {
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    max-width: none !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    cursor: grab !important;
    padding: 0 20px 16px !important;
    gap: 14px !important;
  }
  .eco-track.grabbing { cursor: grabbing !important; }
  .eco-card { flex: 0 0 78vw !important; max-width: none !important; scroll-snap-align: start !important; }
}
@media (max-width: 600px) {
  .eco-card { flex: 0 0 88vw !important; }
  .eco-track { padding: 0 18px 14px !important; }
}

/* ── 4. VALORES — imágenes placeholder per card ── */
.val-card--1 {
  background-image:
    linear-gradient(to top, rgba(0,20,50,.88) 0%, rgba(0,20,50,.5) 55%, rgba(0,20,50,.2) 100%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='340'%3E%3Crect width='300' height='340' fill='%23002855'/%3E%3Cpath d='M150 80 L190 140 H110 Z' fill='none' stroke='%23B89655' stroke-width='1.5' opacity='.25'/%3E%3Ccircle cx='150' cy='200' r='40' fill='none' stroke='%23B89655' stroke-width='1.5' opacity='.2'/%3E%3C/svg%3E");
  background-size: cover; background-position: center;
}
.val-card--2 {
  background-image:
    linear-gradient(to top, rgba(0,20,20,.88) 0%, rgba(0,20,20,.5) 55%, rgba(0,20,20,.2) 100%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='340'%3E%3Crect width='300' height='340' fill='%231a3a2a'/%3E%3Crect x='90' y='100' width='120' height='140' rx='4' fill='none' stroke='%23B89655' stroke-width='1.5' opacity='.22'/%3E%3Cline x1='110' y1='140' x2='190' y2='140' stroke='%23B89655' stroke-width='1' opacity='.2'/%3E%3Cline x1='110' y1='160' x2='190' y2='160' stroke='%23B89655' stroke-width='1' opacity='.18'/%3E%3C/svg%3E");
  background-size: cover; background-position: center;
}
.val-card--3 {
  background-image:
    linear-gradient(to top, rgba(30,15,0,.9) 0%, rgba(30,15,0,.5) 55%, rgba(30,15,0,.2) 100%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='340'%3E%3Crect width='300' height='340' fill='%233a2a10'/%3E%3Cpolygon points='150,80 220,200 80,200' fill='none' stroke='%23B89655' stroke-width='1.5' opacity='.22'/%3E%3C/svg%3E");
  background-size: cover; background-position: center;
}
.val-card--4 {
  background-image:
    linear-gradient(to top, rgba(10,10,30,.9) 0%, rgba(10,10,30,.5) 55%, rgba(10,10,30,.2) 100%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='340'%3E%3Crect width='300' height='340' fill='%231a1a2e'/%3E%3Ccircle cx='150' cy='155' r='55' fill='none' stroke='%23B89655' stroke-width='1.5' opacity='.22'/%3E%3Ccircle cx='150' cy='155' r='30' fill='none' stroke='%23B89655' stroke-width='1' opacity='.18'/%3E%3C/svg%3E");
  background-size: cover; background-position: center;
}
.val-card--5 {
  background-image:
    linear-gradient(to top, rgba(0,20,30,.9) 0%, rgba(0,20,30,.5) 55%, rgba(0,20,30,.2) 100%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='340'%3E%3Crect width='300' height='340' fill='%23003a55'/%3E%3Ccircle cx='120' cy='145' r='30' fill='none' stroke='%23B89655' stroke-width='1.5' opacity='.22'/%3E%3Ccircle cx='180' cy='145' r='30' fill='none' stroke='%23B89655' stroke-width='1.5' opacity='.22'/%3E%3Cpath d='M90 210 Q120 190 150 210 Q180 230 210 210' fill='none' stroke='%23B89655' stroke-width='1.5' opacity='.2'/%3E%3C/svg%3E");
  background-size: cover; background-position: center;
}
.val-card--6 {
  background-image:
    linear-gradient(to top, rgba(20,10,0,.9) 0%, rgba(20,10,0,.5) 55%, rgba(20,10,0,.2) 100%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='340'%3E%3Crect width='300' height='340' fill='%232a1a08'/%3E%3Cpath d='M150 100 L150 230 M100 165 L200 165' stroke='%23B89655' stroke-width='1.5' opacity='.22'/%3E%3Ccircle cx='150' cy='165' r='50' fill='none' stroke='%23B89655' stroke-width='1' opacity='.18'/%3E%3C/svg%3E");
  background-size: cover; background-position: center;
}

/* ── 5. MISIÓN/VISIÓN PARALLAX ── */
.mv-parallax {
  position: relative; overflow: hidden;
  padding: 120px 0;
  background-image:
    linear-gradient(to bottom, rgba(0,14,35,.88) 0%, rgba(0,14,35,.82) 100%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='800' height='500'%3E%3Crect width='800' height='500' fill='%23002855'/%3E%3Ccircle cx='200' cy='250' r='200' fill='none' stroke='%23B89655' stroke-width='1' opacity='.1'/%3E%3Ccircle cx='600' cy='250' r='160' fill='none' stroke='%23B89655' stroke-width='1' opacity='.08'/%3E%3C/svg%3E");
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
}
/* Decoración de anillos (como .agenda) */
.mv-parallax::before {
  content: '';
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%,-50%);
  width: 800px; height: 800px; border-radius: 50%;
  border: 1px solid rgba(184,150,85,.06);
  pointer-events: none;
}
.mv-parallax__inner { position: relative; z-index: 1; }

.mv-parallax__col {
  padding: 48px 48px 48px 0;
}
.mv-parallax__col--right {
  padding: 48px 0 48px 48px;
  border-left: 1px solid rgba(184,150,85,.2);
}
.mv-parallax__col h3 {
  font-family: var(--serif); font-size: clamp(1.5rem,2.5vw,2rem);
  font-weight: 300; color: #fff; margin-bottom: 0;
}
.mv-parallax__col p {
  color: rgba(255,255,255,.78);
  font-weight: 300;
  line-height: 2;
  text-align: justify;
}
.mv-parallax__num {
  display: block; font-family: var(--serif); font-size: 5rem;
  font-weight: 300; color: rgba(184,150,85,.15); line-height: 1;
  margin-bottom: 8px;
}

@media (max-width: 768px) {
  .mv-parallax { background-attachment: scroll; padding: 80px 0; }
  .mv-parallax__col { padding: 36px 0; }
  .mv-parallax__col--right { border-left: none; border-top: 1px solid rgba(184,150,85,.2); }
}

/* ── 6. Crew-wide sin max-width fijo cuando está en row Bootstrap ── */
.row .crew-wide { max-width: 100%; margin-top: 0; }

/* ══════════════════════════════════════════════════════════════
   EXTENSIONES — Consultorio Fiscal · FCA UNAM · v5 FINAL
   Agregar al final de estilos.css. NO modificar lo anterior.
   ══════════════════════════════════════════════════════════════ */

/* ══ 0. RESET TIPOGRÁFICO GLOBAL ══════════════════════════════ */
p {
  color: #1a1a1a;
  font-weight: 400;
  text-align: justify;
  text-justify: inter-word;
}
h1, h2, h3, h4, h5, h6 { text-align: left; }

/* Excepciones — no justificar en estos contextos */
.val-card p, .val-card__desc,
.broadcast-card p, .broadcast-card__platform,
.broadcast-card__channel, .broadcast-card__time,
.hcard p, .hcard__role, .hcard__name,
.crew-wide__role, .crew-wide__name,
.eco-card__desc, .eco-card__num,
.hero-caption p, .page-header__sub,
.lbl, .tl-item__year,
.footer-b__right p,
.carousel-hint, .val-hint,
.sched-card__platform, .sched-card__channel, .sched-card__time,
.mv-parallax p, .mv-parallax__num { text-align: left; }

.text-center p { text-align: center; }

/* ══ 1. UTILITARIOS GENERALES ══════════════════════════════════ */
.snav--scrolled { box-shadow: 0 2px 32px rgba(0,0,0,.14); }

.btn-ghost {
  display: inline-block; position: relative; overflow: hidden;
  padding: 11px 32px; border: 1px solid var(--navy);
  font-family: var(--sans); font-size: .72rem; font-weight: 400;
  letter-spacing: .18em; text-transform: uppercase;
  color: var(--navy); text-decoration: none;
  transition: color .4s var(--ease);
}
.btn-ghost::before {
  content: ''; position: absolute; inset: 0;
  background: var(--navy); transform: scaleX(0); transform-origin: left;
  transition: transform .4s var(--ease); z-index: 0;
}
.btn-ghost:hover { color: #fff; }
.btn-ghost:hover::before { transform: scaleX(1); }
.btn-ghost span { position: relative; z-index: 1; }

.inner-section { padding: 80px 0; }
.carousel-hint {
  font-family: var(--sans); font-size: .6rem; letter-spacing: .18em;
  color: var(--text-soft); display: block; margin-bottom: 28px;
}
.activ-list { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.activ-list li { display: flex; align-items: flex-start; gap: 12px; font-size: .88rem; color: var(--text-muted); line-height: 1.65; text-align: left; }
.activ-list .dot { margin-top: 8px; flex-shrink: 0; }

/* ══ 2. REVEAL ANIMATIONS ══════════════════════════════════════ */
.reveal { opacity: 0; transition: opacity .7s var(--ease), transform .7s var(--ease); }
.reveal--up    { transform: translateY(24px); }
.reveal--left  { transform: translateX(-24px); }
.reveal--right { transform: translateX(24px); }
.reveal.in     { opacity: 1; transform: none; }
.reveal--d1 { transition-delay: .1s; }
.reveal--d2 { transition-delay: .2s; }
.reveal--d3 { transition-delay: .3s; }
.reveal--d4 { transition-delay: .4s; }

/* ══ 3. HERO PRINCIPAL ══════════════════════════════════════════ */
.hero-wrap {
  position: relative; margin-top: 100px;
  background: var(--navy-deep); overflow: hidden; line-height: 0;
}
.hero-wrap picture { display: block; width: 100%; line-height: 0; }
.hero-wrap .c-img { width: 100%; height: auto; display: block; max-height: 540px; object-fit: cover; }
.hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to right, rgba(0,14,35,.82) 0%, rgba(0,14,35,.42) 50%, transparent 100%);
  pointer-events: none;
}
.hero-caption { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; }
.hero-caption__eyebrow {
  font-family: var(--sans); font-size: .58rem; font-weight: 400;
  letter-spacing: .28em; text-transform: uppercase; color: var(--gold); margin-bottom: 12px; display: block;
}
.hero-caption__title {
  font-family: var(--serif); font-weight: 300;
  font-size: clamp(2.8rem,6vw,5.5rem); color: #fff; line-height: 1.02; margin-bottom: 0;
}
.hero-caption__rule { display: block; width: 40px; height: 1px; background: var(--gold); margin: 18px 0; }
.hero-caption__sub {
  font-family: var(--serif); font-style: italic;
  font-size: clamp(.88rem,1.4vw,1.08rem); color: rgba(255,255,255,.55);
  max-width: 460px; line-height: 1.8; text-align: left;
}
.hero-wrap--fallback { min-height: 440px; background: linear-gradient(135deg, var(--navy-deep) 0%, #003a73 100%); }
.hero-wrap--fallback picture, .hero-wrap--fallback .hero-overlay { display: none; }

@media (max-width: 900px) { .hero-wrap { margin-top: 80px; } }
@media (max-width: 768px) {
  .hero-wrap { margin-top: 0; }
  .hero-wrap .c-img { max-height: none; aspect-ratio: 1/1; }
  .hero-caption__title { font-size: clamp(2.2rem,10vw,3.2rem); }
}

/* ══ 4. PAGE HEADER INTERNO (fondo claro) ══════════════════════ */
.page-header {
  background: var(--bg-warm); padding: 130px 0 56px;
  border-bottom: 1px solid rgba(184,150,85,.18);
}
.page-header__title {
  font-family: var(--serif); font-weight: 300;
  font-size: clamp(2.4rem,5vw,4rem); color: var(--navy); line-height: 1.05; margin-bottom: 0;
}
.page-header__sub {
  font-family: var(--serif); font-style: italic;
  font-size: clamp(.88rem,1.4vw,1.08rem); color: var(--text-soft);
  max-width: 560px; line-height: 1.75; text-align: left;
}
@media (max-width: 900px) { .page-header { padding: 110px 0 48px; } }
@media (max-width: 600px) { .page-header { padding: 88px 0 40px; } }

/* ══ 5. QUIÉNES SOMOS — 2 col ══════════════════════════════════ */
.quien-section { background: var(--bg); padding: 100px 0; }
.quien-grid {
  display: grid; grid-template-columns: 1fr 1.55fr; gap: 80px; align-items: start;
}
.quien-grid__title {
  font-family: var(--sans); font-weight: 300;
  font-size: clamp(2.6rem,5vw,4.2rem); color: var(--navy); line-height: 1.05; margin-bottom: 0;
}
.quien-grid__body p + p { margin-top: 16px; }
@media (max-width: 860px) { .quien-grid { grid-template-columns: 1fr; gap: 40px; } }

/* ══ 6. ECOSISTEMA DE DIFUSIÓN — 3 tarjetas ════════════════════ */
.eco-section  { background: var(--bg-warm); padding: 80px 0 90px; overflow: hidden; }
.eco-header   { margin-bottom: 52px; }
.eco-outer    { width: 100%; overflow: hidden; }

/* Desktop: flex centrado con respiración */
.eco-track {
  display: flex;
  justify-content: center;
  gap: clamp(28px,4vw,60px);
  flex-wrap: nowrap;
  padding: 0 48px;
}
.eco-card {
  flex: 0 0 clamp(240px,26vw,350px);
  aspect-ratio: 3 / 4;
  position: relative; overflow: hidden;
  display: flex; flex-direction: column; justify-content: flex-end;
  border-radius: 3px;
  transition: transform .45s var(--ease), box-shadow .45s var(--ease);
}
.eco-card:hover { transform: translateY(-7px); box-shadow: 0 24px 56px rgba(0,0,0,.22); }
.eco-card__bg {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  transition: transform .6s var(--ease);
}
.eco-card:hover .eco-card__bg { transform: scale(1.05); }
.eco-card__content {
  position: relative; z-index: 2; padding: 28px 28px 32px;
  background: linear-gradient(to top, rgba(0,0,0,.90) 0%, rgba(0,0,0,.48) 55%, transparent 100%);
  display: flex; flex-direction: column; gap: 10px;
}
.eco-card__num {
  display: block; font-family: var(--serif); font-size: 3rem;
  font-weight: 300; color: rgba(184,150,85,.38); line-height: 1;
}
.eco-card h3.eco-card__title {
  font-size: clamp(1.35rem,2vw,1.9rem); color: #fff; margin: 0; line-height: 1.15;
}
.eco-card__desc {
  font-family: var(--sans); font-size: .82rem;
  color: rgba(255,255,255,.72); line-height: 1.72; margin: 0; text-align: left;
}
.eco-card__btn {
  display: inline-block; font-family: var(--sans); font-size: .72rem;
  font-weight: 400; letter-spacing: .12em; color: var(--gold);
  border-bottom: 1px solid rgba(184,150,85,.4); padding-bottom: 1px;
  text-decoration: none; transition: color .3s, border-color .3s;
}
.eco-card__btn:hover { color: #fff; border-color: rgba(255,255,255,.5); }

/* Imágenes de ejemplo (reemplazables) */
.eco-card--tv {
  background-color: #002855;
  background-image: url('https://images.unsplash.com/photo-1593784991095-a205069470b6?w=700&q=80');
  background-size: cover; background-position: center;
}
.eco-card--radio {
  background-color: #1a3a2a;
  background-image: url('https://images.unsplash.com/photo-1478737270239-2f02b77fc618?w=700&q=80');
  background-size: cover; background-position: center;
}
.eco-card--revista {
  background-color: #3a2a10;
  background-image: url('https://images.unsplash.com/photo-1544716278-ca5e3f4abd8c?w=700&q=80');
  background-size: cover; background-position: center;
}

/* Móvil: scroll-snap */
@media (max-width: 860px) {
  .eco-outer { overflow: hidden; }
  .eco-track {
    justify-content: flex-start;
    gap: 14px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    cursor: grab;
    padding: 0 20px 16px;
    scrollbar-width: none; -ms-overflow-style: none;
  }
  .eco-track::-webkit-scrollbar { display: none; }
  .eco-track.grabbing { cursor: grabbing; scroll-behavior: auto !important; }
  .eco-card { flex: 0 0 78vw; scroll-snap-align: start; }
}
@media (max-width: 600px) {
  .eco-card { flex: 0 0 88vw; }
  .eco-track { padding: 0 18px 14px; }
}

/* ══ 7. CARRUSEL NESPRESSO — VALORES ══════════════════════════ */
.valores-section { background: var(--bg-warm); padding: 100px 0; }

.val-track {
  overflow-x: auto !important;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  cursor: grab;
  scrollbar-width: none; -ms-overflow-style: none;
}
.val-track::-webkit-scrollbar { display: none; }
.val-track.grabbing { cursor: grabbing; scroll-behavior: auto !important; }
.val-card { scroll-snap-align: center; }

/* Imágenes de ejemplo en valores (reemplazables por las reales) */
.val-card--1 { background-image: url('https://images.unsplash.com/photo-1521791136064-7986c2920216?w=600&q=70'); background-size: cover; background-position: center; }
.val-card--2 { background-image: url('https://images.unsplash.com/photo-1450101499163-c8848c66ca85?w=600&q=70'); background-size: cover; background-position: center; }
.val-card--3 { background-image: url('https://images.unsplash.com/photo-1523050854058-8df90110c9f1?w=600&q=70'); background-size: cover; background-position: center; }
.val-card--4 { background-image: url('https://images.unsplash.com/photo-1559027615-cd4628902d4a?w=600&q=70'); background-size: cover; background-position: center; }
.val-card--5 { background-image: url('https://images.unsplash.com/photo-1522071820081-009f0129c71c?w=600&q=70'); background-size: cover; background-position: center; }
.val-card--6 { background-image: url('https://images.unsplash.com/photo-1568992687947-868a62a9f521?w=600&q=70'); background-size: cover; background-position: center; }

/* val-card texto: NO justificar */
.val-card__desc { text-align: left; line-height: 1.7; }
.val-card__title { text-align: left; }
.val-card__tag  { text-align: left; }

/* ══ 8. LÍNEA DE TIEMPO — identidad.php ════════════════════════ */
.tl-section { background: var(--bg); padding: 90px 0; }
.tl-wrap { position: relative; max-width: 900px; margin: 0 auto; padding-bottom: 40px; }
.tl-axis {
  position: absolute; top: 0; bottom: 0; left: 50%; transform: translateX(-50%);
  width: 1px; background: rgba(184,150,85,.35);
}
.tl-item {
  display: grid; grid-template-columns: 1fr 28px 1fr;
  gap: 0 24px; align-items: start; margin-bottom: 60px; position: relative;
}
.tl-item--left .tl-item__card { grid-column: 1; text-align: right; padding-right: 20px; }
.tl-item--left .tl-item__dot  { grid-column: 2; }
.tl-item--right .tl-item__dot  { grid-column: 2; }
.tl-item--right .tl-item__card { grid-column: 3; text-align: left; padding-left: 20px; }
.tl-item__dot {
  width: 14px; height: 14px; border-radius: 50%;
  background: var(--bg); border: 2px solid var(--gold);
  margin-top: 8px; align-self: start; justify-self: center;
  position: relative; z-index: 1; transition: background .3s;
}
.tl-item:hover .tl-item__dot { background: var(--gold); }
.tl-item__year {
  display: block; font-family: var(--sans); font-size: .6rem;
  font-weight: 500; letter-spacing: .22em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 6px;
}
.tl-item__title {
  font-family: var(--serif); font-size: 1.3rem; font-weight: 300;
  color: var(--navy); margin-bottom: 10px; line-height: 1.2;
}
.tl-item__text {
  font-family: var(--sans); font-size: .85rem; font-weight: 300;
  color: var(--text-muted); line-height: 1.8;
}
/* Texto del timeline: justificar es correcto aquí */
.tl-item--left .tl-item__text { text-align: right; }
.tl-item--right .tl-item__text { text-align: left; }

@media (max-width: 700px) {
  .tl-axis { left: 14px; transform: none; }
  .tl-item { grid-template-columns: 28px 1fr; gap: 0 16px; margin-bottom: 44px; }
  .tl-item--left .tl-item__card,
  .tl-item--right .tl-item__card { grid-column: 2; text-align: left; padding: 0; }
  .tl-item--left .tl-item__dot,
  .tl-item--right .tl-item__dot  { grid-column: 1; }
  .tl-item--left .tl-item__text  { text-align: left; }
}

/* ══ 9. MISIÓN & VISIÓN — PARALLAX OSCURO ══════════════════════ */
.mv-parallax {
  position: relative; overflow: hidden; padding: 120px 0;
  background-image:
    linear-gradient(to bottom, rgba(0,14,35,.88) 0%, rgba(0,14,35,.84) 100%),
    url('https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?w=1400&q=80');
  background-size: cover; background-position: center;
  background-attachment: fixed;
}
.mv-parallax__inner { position: relative; z-index: 1; }
.mv-parallax__col { padding: 0 6% 0 0; }
.mv-parallax__col--right { padding: 0 0 0 6%; border-left: 1px solid rgba(184,150,85,.22); }
.mv-parallax__num {
  display: block; font-family: var(--serif); font-size: 5rem; font-weight: 300;
  color: rgba(184,150,85,.18); line-height: 1; margin-bottom: 8px;
}
.mv-parallax h3 {
  font-family: var(--serif); font-weight: 300;
  font-size: clamp(1.5rem,2.5vw,2.1rem); color: #fff; margin-bottom: 0;
}
.mv-parallax .gold-line { background: var(--gold); }
.mv-parallax p {
  color: rgba(255,255,255,.72); font-weight: 300;
  line-height: 2.1; text-align: left;
}

@media (max-width: 767px) {
  .mv-parallax { background-attachment: scroll; padding: 80px 0; }
  .mv-parallax__col     { padding: 0; }
  .mv-parallax__col--right { padding: 40px 0 0; border-left: none; border-top: 1px solid rgba(184,150,85,.22); margin-top: 40px; }
}

/* ══ 10. BROADCAST CARDS — Outline Ghost ═══════════════════════ */
.broadcast-grid {
  display: grid; grid-template-columns: repeat(3,1fr);
  gap: 20px; max-width: 820px; margin: 0 auto;
}
.broadcast-card {
  display: block; text-decoration: none;
  background: var(--bg);
  border: 1px solid var(--navy);
  border-radius: 0;
  padding: 32px 26px 28px;
  position: relative; overflow: hidden;
  color: var(--navy);
  transition: transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s;
}
.broadcast-card:hover {
  transform: translateY(-5px);
  border-color: var(--gold);
  box-shadow: 0 10px 25px rgba(0,40,85,.08);
}
.broadcast-card__head {
  display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px;
}
.broadcast-card__icon { width: 30px; height: 30px; display: block; stroke: var(--navy); }
.broadcast-card__platform {
  font-family: var(--sans); font-size: .57rem; font-weight: 500;
  letter-spacing: .22em; text-transform: uppercase;
  color: var(--gold); margin: 0 0 5px; display: block;
}
.broadcast-card__channel {
  font-family: var(--serif); font-size: 1.12rem; font-weight: 300;
  color: var(--navy); margin: 0 0 7px; line-height: 1.2; display: block;
}
.broadcast-card__time {
  font-family: var(--sans); font-size: .82rem; font-weight: 400;
  color: var(--text-soft); display: block;
}
/* Live dot */
.live-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--gold); display: inline-block; flex-shrink: 0;
  animation: livepulse 2s ease-in-out infinite;
}
@keyframes livepulse {
  0%, 100% { opacity: 1; }
  50%       { opacity: .22; }
}
.broadcast-card--replay { animation-duration: 4s; }
@media (max-width: 700px) { .broadcast-grid { grid-template-columns: 1fr; max-width: 340px; } }

/* ══ 11. HORARIOS / SCHED (fallback) ══════════════════════════ */
.sched-grid {
  display: grid; grid-template-columns: repeat(3,1fr);
  gap: 20px; max-width: 820px; margin: 0 auto;
}
.sched-card {
  padding: 36px 24px; text-align: center;
  background: var(--bg); border: 1px solid rgba(184,150,85,.16);
  border-top: 2px solid transparent;
  transition: border-top-color .3s, box-shadow .3s, transform .3s;
}
.sched-card:hover { border-top-color: var(--gold); box-shadow: 0 8px 28px rgba(0,0,0,.06); transform: translateY(-4px); }
.sched-card__icon { width: 32px; height: 32px; margin: 0 auto 16px; display: block; }
.sched-card__platform { font-family: var(--sans); font-size: .57rem; letter-spacing: .2em; text-transform: uppercase; color: var(--gold); margin-bottom: 5px; }
.sched-card__channel { font-family: var(--serif); font-size: 1.05rem; font-weight: 300; color: var(--navy); margin-bottom: 4px; }
.sched-card__time { font-family: var(--sans); font-size: .78rem; font-weight: 300; color: var(--text-soft); }
@media (max-width: 700px) { .sched-grid { grid-template-columns: 1fr; max-width: 320px; } }

/* ══ 12. CONDUCTOR CARDS (.hcard) ══════════════════════════════ */
.host-outer { width: 100%; overflow: hidden; }
.host-track {
  display: flex; gap: 16px; padding: 8px 48px 16px;
  overflow-x: auto; scroll-snap-type: x mandatory;
  scroll-behavior: smooth; -webkit-overflow-scrolling: touch;
  cursor: grab; scrollbar-width: none; -ms-overflow-style: none;
}
.host-track::-webkit-scrollbar { display: none; }
.host-track.grabbing { cursor: grabbing; scroll-behavior: auto !important; }

.hcard {
  flex: 0 0 clamp(200px,22vw,240px); scroll-snap-align: start;
  background: var(--bg); border: 1px solid var(--gold-lt);
  padding: 32px 20px 28px;
  display: flex; flex-direction: column; align-items: center;
  text-align: center; gap: 10px;
  transition: border-color .3s, box-shadow .3s, transform .3s;
}
.hcard:hover { border-color: rgba(184,150,85,.5); box-shadow: 0 10px 32px rgba(0,0,0,.07); transform: translateY(-4px); }
.hcard__circle {
  width: 80px; height: 80px; border-radius: 50%;
  border: 1px solid var(--gold-lt); overflow: hidden;
  position: relative; background: var(--bg-warm); flex-shrink: 0;
}
.hcard__circle img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 50%; }
.hcard__initial {
  position: absolute; inset: 0; display: none;
  align-items: center; justify-content: center;
  font-family: var(--serif); font-size: 1.6rem; color: var(--gold);
}
.hcard__role { font-family: var(--sans); font-size: .57rem; font-weight: 500; letter-spacing: .22em; text-transform: uppercase; color: var(--gold); display: block; }
.hcard__name { font-family: var(--serif); font-size: 1.05rem; font-weight: 400; color: var(--navy); line-height: 1.2; margin: 0; }
.hcard__link {
  font-family: var(--sans); font-size: .7rem; letter-spacing: .06em; color: var(--navy);
  border-bottom: 1px solid rgba(0,40,85,.2); padding-bottom: 1px;
  text-decoration: none; margin-top: 6px;
  transition: color .3s, border-color .3s;
}
.hcard__link:hover { color: var(--gold); border-color: var(--gold); }
.hcard__link--na { color: var(--text-soft); border-color: transparent; cursor: default; }

/* Desktop: grid 4 col */
@media (min-width: 900px) {
  .host-outer { overflow: visible; }
  .host-track {
    display: grid; grid-template-columns: repeat(4,1fr);
    overflow-x: visible; scroll-snap-type: none; cursor: default; padding: 8px 0 0;
  }
  .hcard { flex: none; }
}
@media (max-width: 600px) {
  .host-track { padding: 8px 18px 12px; }
  .hcard { flex: 0 0 72vw; }
}

/* ══ 13. CREW WIDE — Productora/Productor ══════════════════════ */
.crew-wide {
  display: flex; align-items: center; gap: 24px;
  padding: 24px 32px;
  border: 1px solid var(--gold-lt); background: var(--bg);
  transition: border-color .3s, box-shadow .3s;
}
.crew-wide:hover { border-color: rgba(184,150,85,.45); box-shadow: 0 6px 24px rgba(0,0,0,.06); }
.crew-wide__circle {
  width: 72px; height: 72px; border-radius: 50%;
  border: 1px solid var(--gold-lt); overflow: hidden;
  position: relative; background: var(--bg-warm); flex-shrink: 0;
}
.crew-wide__circle img { width: 100%; height: 100%; object-fit: cover; display: block; }
.crew-wide__initial {
  position: absolute; inset: 0; display: none;
  align-items: center; justify-content: center;
  font-family: var(--serif); font-size: 1.4rem; color: var(--gold);
}
.crew-wide__info { display: flex; flex-direction: column; gap: 5px; }
.crew-wide__role { font-family: var(--sans); font-size: .57rem; font-weight: 500; letter-spacing: .22em; text-transform: uppercase; color: var(--gold); }
.crew-wide__name { font-family: var(--serif); font-size: 1.1rem; font-weight: 400; color: var(--navy); line-height: 1.2; }

/* Productora centrada bajo conductores */
.crew-wide-centered { display: flex; justify-content: center; margin-top: 40px; }
.crew-wide-centered .crew-wide { max-width: 520px; width: 100%; }
@media (max-width: 480px) {
  .crew-wide { flex-direction: column; text-align: center; }
}

/* ══ 14. VIDEO CARDS ════════════════════════════════════════════ */
.vid-card {
  display: block; width: 100%; padding: 0; background: var(--bg); border: none;
  border: 1px solid rgba(184,150,85,.14);
  box-shadow: 0 2px 12px rgba(0,0,0,.05); text-align: left; cursor: pointer;
  transition: transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s;
}
.vid-card:hover { transform: translateY(-5px); box-shadow: 0 14px 38px rgba(0,0,0,.1); border-color: rgba(184,150,85,.4); }
.vid-card__thumb { position: relative; overflow: hidden; aspect-ratio: 16/9; background: var(--navy-deep); }
.vid-card__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s, filter .5s; filter: brightness(.9); }
.vid-card:hover .vid-card__thumb img { transform: scale(1.05); filter: brightness(.65); }
.vid-card__play {
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
  background: rgba(0,14,35,.08); color: #fff; transition: background .35s;
}
.vid-card:hover .vid-card__play { background: rgba(0,14,35,.38); }
.vid-card__play svg { width: 40px; height: 40px; filter: drop-shadow(0 2px 8px rgba(0,0,0,.4)); transition: transform .3s; }
.vid-card:hover .vid-card__play svg { transform: scale(1.1); }
.vid-card__title {
  font-family: var(--sans); font-size: .82rem; font-weight: 300; color: var(--text-md);
  line-height: 1.55; margin: 0; padding: 13px 16px 18px;
  border-top: 1px solid rgba(184,150,85,.1);
}

/* ══ 15. MODAL CINEMÁTICO ══════════════════════════════════════ */
.modal-backdrop { background-color: rgba(0,14,35,.6) !important; backdrop-filter: blur(14px) !important; -webkit-backdrop-filter: blur(14px) !important; }
.modal-cinema { background: transparent !important; border: none !important; box-shadow: none !important; position: relative; }
.modal-cinema .ratio iframe { border: none; }
.modal-cinema__close {
  position: absolute; top: -50px; right: 0;
  width: 38px; height: 38px; background: transparent;
  border: 1px solid rgba(184,150,85,.5); border-radius: 50%;
  color: var(--gold); cursor: pointer; z-index: 10;
  display: flex; align-items: center; justify-content: center;
  transition: background .3s, border-color .3s;
}
.modal-cinema__close:hover { background: rgba(184,150,85,.18); border-color: var(--gold); }
.modal-cinema__close svg { width: 17px; height: 17px; }

/* ══ 16. REVISTA — Layout zig-zag ══════════════════════════════ */
.rev-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: start; }
.rev-block__title { font-family: var(--serif); font-weight: 300; font-size: clamp(1.8rem,3vw,2.6rem); color: var(--navy); line-height: 1.1; }
.rev-dir { margin-top: 52px; }
.rev-dir__name { font-family: var(--serif); font-weight: 300; font-size: clamp(1.9rem,3.5vw,3rem); color: var(--navy); line-height: 1.08; margin-bottom: 14px; }
.rev-dir__desc { font-family: var(--sans); font-size: .87rem; color: var(--text-muted); line-height: 1.8; }
.rev-cover-wrap { width: 100%; max-width: 340px; margin: 0 auto; }
.rev-cover-img {
  width: 100%; display: block;
  box-shadow: 12px 12px 40px rgba(0,0,0,.1), -4px -4px 18px rgba(184,150,85,.07);
  border: 1px solid rgba(184,150,85,.14);
  transition: transform .5s var(--ease), box-shadow .5s var(--ease);
}
.rev-cover-wrap:hover .rev-cover-img { transform: translateY(-6px) rotate(-.3deg); box-shadow: 18px 20px 50px rgba(0,0,0,.14); }
.rev-cover-ph {
  display: none; flex-direction: column; align-items: center; justify-content: center;
  aspect-ratio: 3/4; text-align: center; padding: 48px 32px;
  border: 1px solid rgba(184,150,85,.16); background: var(--bg-warm);
}
@media (max-width: 860px) {
  .rev-layout { grid-template-columns: 1fr; gap: 48px; }
  .rev-cover-wrap { max-width: 260px; }
}

/* ══ 17. FOOTER ════════════════════════════════════════════════ */

/* ══════════════════════════════════════════════
   CARRUSEL HERO — reemplaza hero estático
   ══════════════════════════════════════════════ */
.hero-wrap {
  margin-top: 100px; /* altura navbar */
  width: 100%;
  background: var(--navy-deep);
  overflow: hidden;
  line-height: 0;
}
.c-img {
  width: 100%;
  height: auto;
  display: block;
  line-height: 0;
}
.carousel-item picture {
  display: block; width: 100%; line-height: 0; overflow: hidden;
}
.carousel-item picture img { display: block; width: 100%; height: auto; }

/* Placeholder cuando no hay imagen */
.c-ph {
  width: 100%;
  min-height: 320px; height: auto;
  padding: 60px 24px;
  background: linear-gradient(135deg, var(--navy-deep) 0%, #003a73 100%);
  position: relative; overflow: hidden;
  line-height: 1.5;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  text-align: center;
}
.c-ph::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(ellipse 60% 80% at 30% 50%, rgba(184,150,85,.07) 0%, transparent 60%);
}
.c-ph__tag   { position: relative; font-family: var(--sans); font-size: .6rem; letter-spacing: .28em; text-transform: uppercase; color: var(--gold); margin-bottom: 16px; text-align: center; }
.c-ph__title { position: relative; font-family: var(--serif); font-size: clamp(1.8rem,4vw,3.2rem); font-weight: 300; color: #fff; max-width: 680px; line-height: 1.2; margin-bottom: 10px; text-align: center; }
.c-ph__sub   { position: relative; font-family: var(--serif); font-size: clamp(.9rem,1.5vw,1.1rem); font-style: italic; color: rgba(255,255,255,.52); max-width: 500px; text-align: center; }
.c-ph__line  { position: absolute; bottom: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg,transparent,var(--gold),transparent); opacity: .4; }

/* Flechas en dorado */
.carousel-control-prev-icon { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23B89655' d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3E%3C/svg%3E"); }
.carousel-control-next-icon { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23B89655' d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E"); }
.carousel-control-prev,
.carousel-control-next { width: 50px; opacity: 1; }

/* Indicadores estilo línea dorada */
.carousel-indicators [data-bs-target] {
  width: 26px; height: 2px;
  background-color: rgba(184,150,85,.4);
  border: none; border-radius: 0; opacity: 1;
  transition: background-color .4s, width .3s;
}
.carousel-indicators .active {
  background-color: var(--gold);
  width: 44px;
}

/* Móvil: sin margen top cuando navbar no es fixed-visible */
@media (max-width: 900px) { .hero-wrap { margin-top: 80px; } }
@media (max-width: 768px) {
  .hero-wrap { margin-top: 0; }
  .c-img { aspect-ratio: 1 / 1; object-fit: cover; }
  .carousel-item picture img { aspect-ratio: 1 / 1; object-fit: cover; }
  .c-ph { aspect-ratio: 1 / 1; min-height: unset; padding: 32px 20px; }
}

/* ── Ecosistema móvil: apilado vertical (sin carrusel) ── */
@media (max-width: 860px) {
  .eco-outer { overflow: visible; }
  .eco-track {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 20px !important;
    overflow-x: visible !important;
    scroll-snap-type: none !important;
    cursor: default !important;
    padding: 0 20px !important;
  }
  .eco-card {
    flex: none !important;
    width: 100% !important;
    max-width: 400px !important;
    aspect-ratio: 16 / 9 !important;
    scroll-snap-align: none !important;
  }
}

/* ── Tamaño base de fuente ligeramente mayor ── */
html { font-size: 17px; }

/* ── Timeline: textos justificados ── */
.tl-item__text {
  text-align: justify !important;
  text-justify: inter-word !important;
}
/* En desktop, el lado izquierdo se justifica igual */
.tl-item--left .tl-item__text {
  text-align: justify !important;
}

/* ── Misión & Visión parallax: texto justificado ── */
.mv-parallax p {
  text-align: justify !important;
  text-justify: inter-word !important;
}

/* ── Cuerpo de texto más grande y visible ── */
html { font-size: 18px; }
p {
  font-size: 1rem !important;
  line-height: 1.95 !important;
  color: #111111 !important;
  font-weight: 400 !important;
}
/* Párrafos secundarios / descriptivos */
.eco-card__desc,
.broadcast-card__time,
.hcard p,
.vid-card__title,
.tl-item__text,
.rev-dir__desc,
.page-header__sub {
  font-size: 0.95rem !important;
  line-height: 1.85 !important;
}
/* Labels pequeños — no escalar */
.lbl,
.broadcast-card__platform,
.hcard__role,
.crew-wide__role,
.carousel-hint,
.val-card__tag,
.eco-card__num { font-size: 0.62rem !important; }

/* ── IMAGENES DEL INDEX SECCIÓN ECOSISTEMA ── */
.eco-card--tv {
  background-image: url('../img/Tele_card.png') !important;
  background-color: #002855;
}
.eco-card--radio {
  background-image: url('../img/Radio_card.png') !important;
  background-color: #1a3a2a;
}
.eco-card--revista {
  background-image: url('../img/escritorio877.png') !important;
  background-color: #3a2a10;
}

/* ── Misión & Visión: imagen de fondo real ── */
.mv-parallax {
  background-image:
    linear-gradient(to bottom, rgba(0,14,35,.88) 0%, rgba(0,14,35,.84) 100%),
    url('../img/posgrado3.jpg') !important;
}

/* ── Valores: Excelencia Académica con imagen real ── */
.val-card--3 {
  background-image: url('../img/excelencia_academica.png') !important;
  background-size: cover !important;
  background-position: center !important;
}

/* ── Color blanco en elementos específicos ── */
.footer-b__left p,
.footer-b__right p,
.footer-b__right a,
.footer-b__sep { color: rgba(255,255,255,.92) !important; }

.footer-b__left p,
.footer-b__right p { font-size: .78rem !important; line-height: 1.8 !important; }

.mv-parallax p { color: rgba(255,255,255,.75) !important; }

.val-card__desc { color: rgba(255,255,255,.85) !important; font-size: .88rem !important; }

.eco-card__desc { color: rgba(255,255,255,.82) !important; }

/* ── Tamaño letra: cards y footer ── */
.val-card__desc   { font-size: .78rem !important; line-height: 1.65 !important; }
.eco-card__desc   { font-size: .80rem !important; line-height: 1.68 !important; }
.footer-b__left p,
.footer-b__right p { font-size: .70rem !important; line-height: 1.7 !important; }

/* ── Ecosistema móvil: tarjetas verticales, altas y estrechas ── */
@media (max-width: 860px) {
  .eco-outer { overflow: visible; }
  .eco-track {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 20px !important;
    overflow-x: visible !important;
    scroll-snap-type: none !important;
    cursor: default !important;
    padding: 0 32px !important;
  }
  .eco-card {
    flex: none !important;
    width: 100% !important;
    max-width: 320px !important;
    aspect-ratio: 3 / 4 !important;
    scroll-snap-align: none !important;
  }
}
@media (max-width: 480px) {
  .eco-track { padding: 0 24px !important; }
  .eco-card  { max-width: 280px !important; }
}

/* ── Footer links en dorado ── */
.footer-b__right a,
.footer-b__left a  { color: var(--gold) !important; }
