/* ══════════════════════════════════════════════════════════════════════
   E.N.A. — Stylesheet v2 (Editorial agro)
   Sobreescribe style.css base. Lenguaje totalmente distinto al CDBV.
   ══════════════════════════════════════════════════════════════════════ */

:root {
  --font-display: 'Fraunces', Georgia, serif;
  --font-main:    'Manrope', system-ui, sans-serif;
  --font-body:    'Manrope', system-ui, sans-serif;
  --font-mono:    'DM Mono', ui-monospace, monospace;

  /* Reafirmamos paleta del escudo */
  --c-green:       #1F7A35;
  --c-green-deep:  #0E3D1A;
  --c-green-soft:  #4FA063;
  --c-green-pale:  #E8F3EB;

  --c-red:         #B91C1C;
  --c-red-deep:    #6E1010;

  --c-cream:       #F5EFE2;
  --c-paper:       #FBF7EC;
  --c-ink:         #1A1F18;
  --c-ink-soft:    #5C6852;
  --c-rule:        #D8D2BE;
  --c-wheat:       #C49A3C;
}

/* ── Body de papel con grano sutil ───────────────────────────────────── */
body.ena-v2 {
  background:
    radial-gradient(circle at 20% 0%, rgba(196,154,60,.06) 0, transparent 40%),
    radial-gradient(circle at 95% 60%, rgba(31,122,53,.04) 0, transparent 35%),
    var(--c-paper);
  color: var(--c-ink);
  font-family: var(--font-main);
  font-feature-settings: "kern", "liga", "calt";
}
body.ena-v2 a { color: var(--c-green-deep); }
body.ena-v2 a:hover { color: var(--c-red); }

/* Tipografía Fraunces para todos los headings (display) */
body.ena-v2 h1, body.ena-v2 h2, body.ena-v2 h3, body.ena-v2 h4 {
  font-family: var(--font-display);
  font-variation-settings: "SOFT" 50, "WONK" 0, "opsz" 144;
  font-weight: 600;
  letter-spacing: -.018em;
  line-height: 1.05;
  color: var(--c-green-deep);
}

/* Esconder navbar y stripe-bar del v1 */
body.ena-v2 > .navbar,
body.ena-v2 > .stripe-bar { display: none !important; }

/* ══════════════════════════════════════════════════════════════════════
   UTILITY BAND (línea fina superior con datos)
   ══════════════════════════════════════════════════════════════════════ */
.ut-band {
  background: var(--c-green-deep);
  color: rgba(255,255,255,.85);
  font-family: var(--font-mono);
  font-size: .73rem;
  letter-spacing: .03em;
}
.ut-band-inner {
  max-width: 1320px; margin: 0 auto;
  padding: .5rem 1.5rem;
  display: flex; align-items: center; gap: 1rem; flex-wrap: wrap;
}
.ut-band a { color: rgba(255,255,255,.85); text-decoration: none; }
.ut-band a:hover { color: var(--c-wheat); }
.ut-band .fa-phone, .ut-band .fa-envelope { font-size: .68rem; margin-right: .25rem; opacity:.7; }
.ut-tag {
  background: var(--c-wheat); color: #2a1d05;
  padding: .12rem .5rem; border-radius: 2px; font-weight: 600;
  letter-spacing: .12em;
}
.ut-dot { opacity:.4; }
.ut-spread { flex:1; }

/* ══════════════════════════════════════════════════════════════════════
   MASTHEAD (cabecera editorial estilo periódico)
   ══════════════════════════════════════════════════════════════════════ */
.masthead {
  background: var(--c-paper);
  border-bottom: 1px solid var(--c-rule);
  position: relative;
}
/* doble línea superior tipo libro institucional */
.masthead::before {
  content: '';
  position: absolute; left: 0; right: 0; bottom: 0;
  height: 1px; background: var(--c-rule);
  box-shadow: 0 -3px 0 0 var(--c-paper), 0 -4px 0 0 var(--c-rule);
}
.masthead-inner {
  max-width: 1320px; margin: 0 auto;
  padding: 1.6rem 1.5rem 1.7rem;
  display: grid; grid-template-columns: 1fr auto 1fr;
  align-items: center; gap: 2rem;
}
.mh-side {
  font-family: var(--font-mono);
  font-size: .7rem; line-height: 1.3;
  color: var(--c-ink-soft);
  display: flex; flex-direction: column; gap: .15rem;
  text-transform: uppercase; letter-spacing: .08em;
}
.mh-left  { text-align: right; padding-right: 1rem; border-right: 1px solid var(--c-rule); }
.mh-right { text-align: left;  padding-left: 1rem;  border-left:  1px solid var(--c-rule); }
.mh-meta-num {
  font-family: var(--font-display);
  font-size: 1.45rem; font-weight: 700; color: var(--c-red);
  letter-spacing: -.02em;
  font-variation-settings: "SOFT" 0, "WONK" 1, "opsz" 80;
}
.mh-meta-lab { color: var(--c-ink-soft); font-size: .68rem; }

.mh-brand {
  display: flex; align-items: center; gap: 1.1rem; text-decoration: none;
}
.mh-shield {
  width: 78px; height: 78px; object-fit: contain;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,.15));
}
.mh-name {
  display: flex; flex-direction: column;
  font-family: var(--font-display);
  color: var(--c-green-deep);
}
.mh-name-line1 {
  font-size: clamp(1.4rem, 2.4vw, 2.1rem);
  font-weight: 700;
  letter-spacing: -.025em;
  font-variation-settings: "SOFT" 30, "WONK" 0, "opsz" 144;
  line-height: 1;
}
.mh-name-line2 {
  margin-top: .25rem;
  font-size: .85rem;
  font-style: italic;
  color: var(--c-red);
  font-weight: 400;
  letter-spacing: .005em;
}

/* ══════════════════════════════════════════════════════════════════════
   ED-NAV (sticky cuando scrollea, hairlines, sin pills)
   ══════════════════════════════════════════════════════════════════════ */
.ed-nav {
  background: var(--c-paper);
  border-top: 3px double var(--c-rule);
  border-bottom: 1px solid var(--c-rule);
  position: sticky; top: 0; z-index: 90;
  transition: box-shadow .25s ease, background .25s ease, padding .25s ease;
}
.ed-nav.is-stuck { box-shadow: 0 6px 20px rgba(14, 61, 26, .08); }
.ed-nav-inner {
  max-width: 1320px; margin: 0 auto;
  padding: 0 1.5rem;
  display: flex; align-items: center; gap: 2rem;
  height: 56px;
}
.ed-nav-mini-brand {
  display: flex; align-items: center; gap: .5rem;
  font-family: var(--font-display); font-weight: 700;
  color: var(--c-green-deep); text-decoration: none;
  font-size: 1rem; opacity: 0; transform: translateX(-6px);
  transition: opacity .25s ease, transform .25s ease;
  pointer-events: none;
}
.ed-nav-mini-brand img { height: 32px; }
.ed-nav.is-stuck .ed-nav-mini-brand { opacity: 1; transform: translateX(0); pointer-events: auto; }

.ed-menu {
  display: flex; align-items: center; gap: 0; margin-left: auto; list-style: none;
}
.ed-menu > li { position: relative; }
.ed-menu > li > a {
  display: inline-flex; align-items: center; gap: .25rem;
  padding: 1.1rem 1.05rem; height: 56px;
  font-family: var(--font-main);
  font-size: .82rem; font-weight: 600;
  letter-spacing: .14em; text-transform: uppercase;
  color: var(--c-ink); text-decoration: none;
  border-bottom: 2px solid transparent;
  transition: color .2s ease, border-color .2s ease;
}
.ed-menu > li > a:hover,
.ed-menu > li > a.is-active {
  color: var(--c-green-deep);
  border-bottom-color: var(--c-red);
}
.ed-menu > li.has-sub > a::after {
  content: '+'; font-size: .85rem; opacity: .55; margin-left: .3rem;
  transition: transform .2s ease;
}
.ed-menu > li.has-sub:hover > a::after { transform: rotate(45deg); opacity: 1; }

/* CTA de contacto: rojo subrayado */
.ed-menu .ed-cta {
  margin-left: .75rem; padding-left: 1.2rem; padding-right: 0;
  color: var(--c-red); border-bottom: 0;
}
.ed-menu .ed-cta:hover { color: var(--c-red-deep); border-bottom: 0; }

/* Mega-sub */
.ed-sub {
  position: absolute; top: 100%; left: 0;
  background: var(--c-paper);
  border: 1px solid var(--c-rule);
  border-top: 3px solid var(--c-red);
  padding: 1.5rem 1.75rem 1.25rem;
  min-width: 260px;
  display: none; gap: 2rem;
  box-shadow: 0 18px 36px rgba(14,61,26,.14);
}
.ed-menu > li.has-sub:hover .ed-sub { display: flex; }
.ed-sub-col h5 {
  font-family: var(--font-mono);
  font-size: .68rem; font-weight: 500;
  letter-spacing: .14em; text-transform: uppercase;
  color: var(--c-red); margin-bottom: .65rem;
  padding-bottom: .4rem; border-bottom: 1px dashed var(--c-rule);
}
.ed-sub-col a {
  display: block; padding: .35rem 0;
  font-size: .92rem; color: var(--c-ink);
  text-decoration: none; white-space: nowrap;
  border-left: 2px solid transparent; padding-left: .55rem;
  transition: all .2s ease;
}
.ed-sub-col a:hover {
  color: var(--c-green-deep); border-left-color: var(--c-green);
  padding-left: .8rem;
}

/* Burger */
.ed-burger {
  display: none; background: none; border: 0; cursor: pointer;
  width: 40px; height: 40px; padding: 0;
  margin-left: auto;
}
.ed-burger span {
  display: block; width: 24px; height: 2px;
  background: var(--c-green-deep);
  margin: 5px auto; transition: all .25s ease;
}

@media (max-width: 980px) {
  .ed-burger { display: block; }
  .ed-menu {
    position: fixed; top: 0; right: -100%; width: 320px; max-width: 90%;
    height: 100vh; background: var(--c-paper);
    flex-direction: column; align-items: stretch; gap: 0;
    padding: 4.5rem 1.5rem 2rem; overflow-y: auto;
    box-shadow: -10px 0 30px rgba(0,0,0,.15);
    transition: right .3s ease;
  }
  .ed-menu.is-open { right: 0; }
  .ed-menu > li > a { height: auto; padding: .9rem 0; border-bottom: 1px solid var(--c-rule); }
  .ed-menu > li.has-sub:hover > a::after { transform: none; }
  .ed-sub { position: static; display: block; flex-direction: column;
    border: 0; border-top: 1px dashed var(--c-rule); padding: .75rem 1rem 1rem;
    box-shadow: none; min-width: 0; gap: 0; background: transparent;
  }
  .ed-sub-col { margin-bottom: 1rem; }
  .ed-menu .ed-cta { margin: 1rem 0 0; padding: .9rem 0; }
  .masthead-inner { grid-template-columns: 1fr; gap: 1rem; }
  .mh-side { display: none; }
  .ed-nav-mini-brand { opacity: 1; transform: none; pointer-events: auto; }
}

/* ══════════════════════════════════════════════════════════════════════
   HERO EDITORIAL — split-screen con Ken Burns y dots verticales
   ══════════════════════════════════════════════════════════════════════ */
body.ena-v2 .hero {
  height: auto !important; background: transparent !important;
}
.hero-ed {
  position: relative;
  display: grid; grid-template-columns: 1fr 1.15fr; gap: 0;
  background: var(--c-paper);
  border-bottom: 1px solid var(--c-rule);
  min-height: 600px;
  overflow: hidden;
}
.hero-ed-text {
  padding: 4.5rem 4rem 3.5rem 6vw;
  display: flex; flex-direction: column; justify-content: center;
  position: relative;
  z-index: 2;
}
.hero-eyebrow {
  display: inline-flex; align-items: center; gap: .65rem;
  font-family: var(--font-mono); font-size: .72rem; letter-spacing: .14em;
  color: var(--c-red); text-transform: uppercase;
  margin-bottom: 1.4rem;
}
.hero-eyebrow::before {
  content: ''; display: inline-block; width: 38px; height: 1px; background: var(--c-red);
}
.hero-num {
  font-family: var(--font-display);
  font-variation-settings: "SOFT" 0, "WONK" 1, "opsz" 144;
  font-size: .85rem; color: var(--c-ink-soft); letter-spacing: .03em;
}
.hero-headline {
  font-family: var(--font-display);
  font-variation-settings: "SOFT" 50, "WONK" 1, "opsz" 144;
  font-weight: 500;
  font-size: clamp(2.2rem, 4.8vw, 4.4rem);
  line-height: .98; letter-spacing: -.025em;
  color: var(--c-green-deep);
  margin: 0 0 1.5rem 0;
}
.hero-headline em {
  font-style: italic; color: var(--c-red);
  font-weight: 400;
  font-variation-settings: "SOFT" 100, "WONK" 1, "opsz" 144;
}
.hero-deck {
  font-size: 1.08rem; line-height: 1.55; max-width: 480px;
  color: var(--c-ink-soft);
  margin-bottom: 2rem;
  display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical;
  overflow: hidden;
}
.hero-actions { display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; }
body.ena-v2 a.hero-btn {
  display: inline-flex; align-items: center; gap: .55rem;
  padding: .85rem 1.6rem;
  background: var(--c-green-deep); color: #fff !important;
  font-family: var(--font-main); font-size: .85rem;
  font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
  text-decoration: none; border-radius: 0;
  transition: all .25s ease;
  border: 2px solid var(--c-green-deep);
}
body.ena-v2 a.hero-btn:hover { background: var(--c-red); border-color: var(--c-red); color: #fff !important; }
body.ena-v2 a.hero-btn.is-ghost { background: transparent; color: var(--c-green-deep) !important; }
body.ena-v2 a.hero-btn.is-ghost:hover { background: var(--c-green-deep); color: #fff !important; }

/* CTA strip botón */
body.ena-v2 a.cta-strip-btn { color: #2a1d05; }
body.ena-v2 a.cta-strip-btn:hover { color: var(--c-green-deep); background: #fff; }

/* Lado imagen Ken Burns */
.hero-ed-media {
  position: relative; overflow: hidden; min-height: 480px;
  background: var(--c-green-deep);
}
.hero-frame {
  position: absolute; inset: 0; opacity: 0;
  transition: opacity 1.1s ease;
}
.hero-frame.is-active { opacity: 1; }
.hero-frame .hero-img {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  animation: kenburns 14s ease-in-out infinite alternate;
  filter: saturate(.92) contrast(1.04);
}
@keyframes kenburns {
  from { transform: scale(1.02) translate(0,0); }
  to   { transform: scale(1.12) translate(-1.5%, -1%); }
}
/* viñeta + tinte verde editorial */
.hero-ed-media::after {
  content: ''; position: absolute; inset: 0;
  background:
    linear-gradient(170deg, rgba(14,61,26,.0) 50%, rgba(14,61,26,.55) 100%),
    radial-gradient(circle at 50% 50%, transparent 60%, rgba(14,61,26,.45) 100%);
  pointer-events: none;
}
.hero-frame-cap {
  position: absolute; left: 1.5rem; bottom: 1.2rem;
  font-family: var(--font-mono); font-size: .72rem;
  letter-spacing: .12em; color: rgba(255,255,255,.85);
  text-transform: uppercase;
  background: rgba(14,61,26,.6); backdrop-filter: blur(4px);
  padding: .35rem .65rem; border-left: 2px solid var(--c-wheat);
  z-index: 3;
}

/* Dots verticales en el borde */
.hero-dots {
  position: absolute; right: 1.25rem; top: 50%; transform: translateY(-50%);
  display: flex; flex-direction: column; gap: .65rem;
  z-index: 5;
}
.hero-dots button {
  width: 22px; height: 2px; padding: 0; cursor: pointer;
  background: rgba(255,255,255,.4); border: 0; transition: all .25s ease;
}
.hero-dots button.is-on { background: var(--c-wheat); width: 36px; }

/* Vertical paginator (mini contador 01/05) */
.hero-counter {
  position: absolute; left: 6vw; bottom: 2rem;
  font-family: var(--font-mono); font-size: .78rem; letter-spacing: .14em;
  color: var(--c-ink-soft); text-transform: uppercase;
  display: flex; align-items: center; gap: .85rem;
}
.hero-counter strong {
  font-family: var(--font-display); font-size: 1.5rem;
  font-variation-settings: "SOFT" 0, "WONK" 1;
  font-weight: 700; color: var(--c-red);
}
.hero-counter .hc-line {
  display: inline-block; width: 60px; height: 1px; background: var(--c-rule);
}

/* Ticker de noticias debajo del hero */
.news-ticker {
  background: var(--c-green-deep); color: #fff;
  font-family: var(--font-mono); font-size: .82rem;
  border-top: 1px solid var(--c-green);
  border-bottom: 1px solid rgba(0,0,0,.2);
  display: flex; align-items: center;
}
.tk-label {
  background: var(--c-red); color: #fff;
  padding: .55rem 1rem; font-weight: 600; letter-spacing: .12em;
  text-transform: uppercase; flex-shrink: 0;
  font-size: .75rem;
}
.tk-track {
  flex: 1; overflow: hidden; padding: .55rem 0;
  position: relative;
}
.tk-strip {
  display: flex; gap: 3rem; white-space: nowrap;
  animation: tickerslide 60s linear infinite;
  padding-left: 1rem;
}
.tk-strip a {
  color: rgba(255,255,255,.85); text-decoration: none;
  display: inline-flex; align-items: center; gap: .5rem;
}
.tk-strip a:hover { color: var(--c-wheat); }
.tk-strip span { color: var(--c-wheat); }
@keyframes tickerslide {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

@media (max-width: 900px) {
  .hero-ed { grid-template-columns: 1fr; }
  .hero-ed-media { min-height: 320px; order: -1; }
  .hero-ed-text { padding: 2.5rem 1.5rem 3rem; }
  .hero-counter { left: 1.5rem; bottom: 1rem; }
}

/* ══════════════════════════════════════════════════════════════════════
   SECCIONES DE INICIO — distintas a las del v1
   ══════════════════════════════════════════════════════════════════════ */

/* Divisor con espigas (SVG inline en background) */
.sect-divider {
  height: 38px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 40'><g stroke='%23C49A3C' stroke-width='1.4' fill='none' opacity='.55'><path d='M300 4 L300 36'/><path d='M300 12 L290 8'/><path d='M300 12 L310 8'/><path d='M300 18 L286 14'/><path d='M300 18 L314 14'/><path d='M300 24 L284 20'/><path d='M300 24 L316 20'/><path d='M300 30 L286 26'/><path d='M300 30 L314 26'/><path d='M0 20 L260 20'/><path d='M340 20 L600 20'/></g></svg>");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 600px 40px;
  margin: 0;
}

/* Sección "Conocé la escuela" — cuadrícula de 4 con números editoriales */
.sect-pillars {
  padding: 4rem 1.5rem 3rem;
  max-width: 1320px; margin: 0 auto;
}
.sect-head {
  display: flex; align-items: flex-end; justify-content: space-between;
  border-bottom: 2px solid var(--c-green-deep); padding-bottom: 1rem;
  margin-bottom: 2.5rem; flex-wrap: wrap; gap: 1rem;
}
.sect-head h2 {
  font-family: var(--font-display);
  font-variation-settings: "SOFT" 50, "WONK" 1, "opsz" 144;
  font-size: clamp(1.7rem, 3vw, 2.4rem);
  font-weight: 600; color: var(--c-green-deep);
  margin: 0; letter-spacing: -.02em;
}
.sect-kicker {
  font-family: var(--font-mono); font-size: .72rem;
  text-transform: uppercase; letter-spacing: .14em;
  color: var(--c-red); margin-bottom: .35rem;
}
.sect-link {
  font-family: var(--font-main); font-size: .85rem;
  font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
  color: var(--c-green-deep); text-decoration: none;
  border-bottom: 2px solid var(--c-red); padding-bottom: .15rem;
}
.sect-link:hover { color: var(--c-red); }

.pillars-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 0;
  border-top: 1px solid var(--c-rule);
}
.pillar {
  padding: 2rem 1.75rem 1.5rem;
  border-right: 1px solid var(--c-rule);
  border-bottom: 1px solid var(--c-rule);
  text-decoration: none; color: var(--c-ink);
  display: flex; flex-direction: column; gap: .65rem;
  position: relative;
  transition: background .2s ease;
}
.pillar:nth-child(4n) { border-right: 0; }
.pillar:hover { background: var(--c-green-pale); }
.pillar-num {
  font-family: var(--font-display);
  font-variation-settings: "SOFT" 0, "WONK" 1, "opsz" 144;
  font-size: 2.6rem; font-weight: 700;
  color: var(--c-red); line-height: 1;
  letter-spacing: -.04em;
}
.pillar h3 {
  font-family: var(--font-display);
  font-size: 1.3rem; font-weight: 600;
  color: var(--c-green-deep); margin: 0;
  font-variation-settings: "SOFT" 50, "WONK" 0, "opsz" 144;
  letter-spacing: -.015em;
}
.pillar p {
  font-size: .92rem; line-height: 1.55;
  color: var(--c-ink-soft); margin: 0; flex: 1;
}
.pillar-go {
  font-family: var(--font-mono); font-size: .7rem;
  text-transform: uppercase; letter-spacing: .14em;
  color: var(--c-red); margin-top: .5rem;
}
.pillar:hover .pillar-go { color: var(--c-green-deep); }

@media (max-width: 900px) { .pillars-grid { grid-template-columns: repeat(2, 1fr); }
  .pillar:nth-child(4n) { border-right: 1px solid var(--c-rule); }
  .pillar:nth-child(2n) { border-right: 0; }
}
@media (max-width: 520px) { .pillars-grid { grid-template-columns: 1fr; }
  .pillar { border-right: 0 !important; }
}

/* ── Noticias en estilo "magazine" — 1 grande + lista lateral ────────── */
.sect-mag {
  background: var(--c-cream);
  padding: 4rem 1.5rem;
  border-top: 1px solid var(--c-rule);
  border-bottom: 1px solid var(--c-rule);
}
.sect-mag-inner { max-width: 1320px; margin: 0 auto; }
.mag-grid {
  display: grid; grid-template-columns: 1.4fr 1fr; gap: 3rem;
}
.mag-feature {
  position: relative;
  text-decoration: none; color: var(--c-ink);
  display: block;
}
.mag-feature-img {
  aspect-ratio: 5 / 3; overflow: hidden;
  background: var(--c-green-deep);
  position: relative;
  border: 1px solid var(--c-rule);
}
.mag-feature-img img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .8s ease;
}
.mag-feature:hover .mag-feature-img img { transform: scale(1.04); }
.mag-feature-cat {
  position: absolute; top: 1rem; left: 1rem;
  background: var(--c-red); color: #fff;
  font-family: var(--font-mono); font-size: .68rem;
  letter-spacing: .12em; text-transform: uppercase;
  padding: .35rem .7rem;
}
.mag-feature h3 {
  font-family: var(--font-display);
  font-variation-settings: "SOFT" 50, "WONK" 0, "opsz" 144;
  font-size: clamp(1.6rem, 2.5vw, 2.3rem); font-weight: 600;
  margin: 1.2rem 0 .65rem; line-height: 1.05; color: var(--c-green-deep);
  letter-spacing: -.02em;
}
.mag-feature:hover h3 { color: var(--c-red); }
.mag-feature p {
  font-size: 1rem; color: var(--c-ink-soft); line-height: 1.55;
  margin: 0;
}
.mag-feature-meta {
  font-family: var(--font-mono); font-size: .72rem;
  letter-spacing: .12em; color: var(--c-ink-soft);
  text-transform: uppercase; margin-top: .85rem;
  display: flex; gap: .75rem; align-items: center;
}
.mag-list { display: flex; flex-direction: column; gap: 0;
  border-top: 1px solid var(--c-rule); }
.mag-item {
  display: grid; grid-template-columns: 80px 1fr; gap: 1rem;
  padding: 1.1rem 0;
  border-bottom: 1px solid var(--c-rule);
  text-decoration: none; color: var(--c-ink);
  align-items: flex-start;
}
.mag-item-num {
  font-family: var(--font-display);
  font-variation-settings: "SOFT" 0, "WONK" 1, "opsz" 144;
  font-size: 2.2rem; font-weight: 700;
  color: var(--c-red); line-height: 1;
  letter-spacing: -.04em;
}
.mag-item h4 {
  font-family: var(--font-display);
  font-variation-settings: "SOFT" 50, "WONK" 0, "opsz" 144;
  font-size: 1.15rem; font-weight: 600;
  margin: 0 0 .25rem; line-height: 1.2;
  color: var(--c-green-deep); letter-spacing: -.01em;
}
.mag-item:hover h4 { color: var(--c-red); }
.mag-item-meta {
  font-family: var(--font-mono); font-size: .68rem;
  text-transform: uppercase; letter-spacing: .12em;
  color: var(--c-ink-soft);
}
@media (max-width: 900px) { .mag-grid { grid-template-columns: 1fr; gap: 2rem; } }

/* ── Banda CTA "agro" verde profundo con espigas ─────────────────────── */
.cta-strip {
  background:
    linear-gradient(105deg, var(--c-green-deep) 0%, var(--c-green) 100%);
  color: #fff;
  padding: 3.5rem 1.5rem;
  position: relative; overflow: hidden;
}
.cta-strip::before {
  content: ''; position: absolute; inset: 0;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 80' opacity='0.07'><g stroke='white' stroke-width='1' fill='none'><path d='M30 0 L30 80'/><path d='M30 16 L18 10'/><path d='M30 16 L42 10'/><path d='M30 28 L14 22'/><path d='M30 28 L46 22'/><path d='M30 40 L12 34'/><path d='M30 40 L48 34'/><path d='M30 52 L14 46'/><path d='M30 52 L46 46'/><path d='M30 64 L18 58'/><path d='M30 64 L42 58'/></g></svg>");
  background-size: 60px 80px; background-repeat: repeat;
  pointer-events: none;
}
.cta-strip-inner {
  max-width: 1320px; margin: 0 auto;
  display: grid; grid-template-columns: 2fr 1fr; gap: 2rem;
  align-items: center; position: relative;
}
body.ena-v2 .cta-strip h2 {
  color: #fff;
  font-family: var(--font-display);
  font-variation-settings: "SOFT" 50, "WONK" 1, "opsz" 144;
  font-size: clamp(1.6rem, 3vw, 2.6rem); font-weight: 500;
  letter-spacing: -.02em; margin: 0 0 .5rem; line-height: 1.05;
}
body.ena-v2 .cta-strip h2 em { color: var(--c-wheat); font-style: italic; }
body.ena-v2 .cta-strip p {
  color: rgba(255,255,255,.92); font-size: 1.02rem;
  max-width: 540px; margin: 0; line-height: 1.55;
}
.cta-strip-btn {
  display: inline-flex; align-items: center; gap: .65rem;
  background: var(--c-wheat); color: #2a1d05;
  padding: 1rem 1.6rem; text-decoration: none;
  font-family: var(--font-main); font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase; font-size: .82rem;
  justify-self: end;
  transition: all .25s ease;
}
.cta-strip-btn:hover { background: #fff; }
@media (max-width: 760px) {
  .cta-strip-inner { grid-template-columns: 1fr; }
  .cta-strip-btn { justify-self: start; }
}

/* ══════════════════════════════════════════════════════════════════════
   Footer — refresco editorial (texto blanco para legibilidad)
   ══════════════════════════════════════════════════════════════════════ */
body.ena-v2 .footer { background: var(--c-paper); border-top: 6px double var(--c-rule); }

body.ena-v2 .footer-cta { background: var(--c-red); }
body.ena-v2 .footer-cta-text,
body.ena-v2 .footer-cta-text strong,
body.ena-v2 .footer-cta-text span,
body.ena-v2 .footer-cta-text i { color: #fff; opacity: 1; }
body.ena-v2 .footer-cta-btn { background: #fff; color: var(--c-red); border-color: #fff; }
body.ena-v2 .footer-cta-btn:hover { background: transparent; color: #fff; border-color: #fff; }

body.ena-v2 .footer-body,
body.ena-v2 .footer-panel-left,
body.ena-v2 .footer-panel-right { background: var(--c-green-deep) !important; }

body.ena-v2 .footer-bottom {
  background: #08220e; color: rgba(255,255,255,.85);
  font-family: var(--font-mono); font-size: .72rem;
}
body.ena-v2 .footer-bottom a { color: var(--c-wheat); }

/* Cabeceras de columna en dorado */
body.ena-v2 .footer-nav-group h4 {
  font-family: var(--font-mono); color: var(--c-wheat);
  border-bottom: 1px solid rgba(196,154,60,.35);
}

/* Texto principal del footer en blanco legible */
body.ena-v2 .footer-desc,
body.ena-v2 .footer-contact-list li,
body.ena-v2 .footer-contact-list span,
body.ena-v2 .footer-contact-list a,
body.ena-v2 .footer-nav-group ul li,
body.ena-v2 .footer-nav-group a { color: #ffffff; opacity: 1; }
body.ena-v2 .footer-desc { color: rgba(255,255,255,.85); line-height: 1.6; }
body.ena-v2 .footer-contact-list a:hover,
body.ena-v2 .footer-nav-group a:hover { color: var(--c-wheat); }
body.ena-v2 .footer-contact-list i { color: var(--c-wheat); }

/* Iconos sociales: dorado sobre fondo translúcido */
body.ena-v2 .footer-social a {
  background: rgba(255,255,255,.12);
  border-color: rgba(196,154,60,.4);
  color: #fff;
}
body.ena-v2 .footer-social a:hover {
  background: var(--c-wheat); border-color: var(--c-wheat); color: var(--c-green-deep);
}

/* ══════════════════════════════════════════════════════════════════════
   Touches misceláneos: cards genéricas con feel kraft
   ══════════════════════════════════════════════════════════════════════ */
body.ena-v2 .noticia-card {
  background: #fff; border: 1px solid var(--c-rule);
  border-radius: 0 !important;
  box-shadow: 4px 4px 0 var(--c-rule);
  transition: all .25s ease;
}
body.ena-v2 .noticia-card:hover {
  box-shadow: 6px 6px 0 var(--c-red);
  transform: translate(-2px,-2px);
}
body.ena-v2 .noticia-card h4 a { color: var(--c-green-deep); }
body.ena-v2 .noticia-card h4 a:hover { color: var(--c-red); }
body.ena-v2 .btn-primary, body.ena-v2 .btn { border-radius: 0 !important; letter-spacing: .08em; text-transform: uppercase; font-weight: 600; font-size: .82rem; }
body.ena-v2 a.btn-primary, body.ena-v2 a.btn-primary:hover { color: #fff; }
body.ena-v2 a.btn-outline { color: var(--color-primary); }
body.ena-v2 a.btn-outline:hover { color: #fff; }

/* page-article (pagina.php) — papel editorial */
body.ena-v2 .page-article {
  background: #fff; border: 1px solid var(--c-rule);
  box-shadow: 6px 6px 0 var(--c-rule); border-radius: 0;
}
body.ena-v2 .page-article h1 { font-variation-settings: "SOFT" 50, "WONK" 1, "opsz" 144; font-weight: 600; }

/* breadcrumb mono */
body.ena-v2 .breadcrumb {
  font-family: var(--font-mono); text-transform: uppercase;
  letter-spacing: .12em; font-size: .72rem;
}

/* ══════════════════════════════════════════════════════════════════════
   LIGHTBOX (overlay full-screen)
   ══════════════════════════════════════════════════════════════════════ */
.lb-overlay {
  position: fixed; inset: 0;
  background: rgba(8, 22, 12, .92);
  backdrop-filter: blur(8px);
  z-index: 9999;
  display: none; align-items: center; justify-content: center;
  padding: 4rem 4rem 5rem;
}
.lb-overlay.is-open { display: flex; }
.lb-stage {
  margin: 0; max-width: 100%; max-height: 100%;
  display: flex; flex-direction: column; align-items: center; gap: .85rem;
}
.lb-stage img {
  max-width: 100%; max-height: 80vh;
  object-fit: contain; display: block;
  box-shadow: 0 25px 60px rgba(0,0,0,.6);
  border: 4px solid #fff; background: #fff;
}
.lb-stage figcaption {
  font-family: var(--font-mono); font-size: .78rem;
  color: rgba(255,255,255,.85); text-align: center;
  letter-spacing: .06em; max-width: 720px;
}
.lb-close, .lb-prev, .lb-next {
  position: absolute; background: rgba(255,255,255,.08);
  color: #fff; border: 1px solid rgba(255,255,255,.25);
  cursor: pointer; font-size: 1.15rem; line-height: 1;
  width: 48px; height: 48px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  transition: all .2s ease;
}
.lb-close:hover, .lb-prev:hover, .lb-next:hover {
  background: var(--c-wheat); color: var(--c-green-deep);
  border-color: var(--c-wheat);
}
.lb-close { top: 1.2rem; right: 1.2rem; font-size: 1.6rem; }
.lb-prev  { left: 1.2rem;  top: 50%; transform: translateY(-50%); }
.lb-next  { right: 1.2rem; top: 50%; transform: translateY(-50%); }
.lb-counter {
  position: absolute; bottom: 1.2rem; left: 50%; transform: translateX(-50%);
  font-family: var(--font-mono); font-size: .78rem;
  letter-spacing: .14em; color: rgba(255,255,255,.7);
  background: rgba(0,0,0,.4); padding: .35rem .8rem;
}
@media (max-width: 720px) {
  .lb-overlay { padding: 4rem 1rem; }
  .lb-prev { left: .5rem; }
  .lb-next { right: .5rem; }
}

/* Cursor zoom para imágenes en contenido */
body.ena-v2 .page-content img,
body.ena-v2 .noticia-detail-content img,
body.ena-v2 .noticia-content img { cursor: zoom-in; }

/* ══════════════════════════════════════════════════════════════════════
   FOOTER-CTA (banda roja) — patrón de espigas + filos verde+dorado
   ══════════════════════════════════════════════════════════════════════ */
body.ena-v2 .footer-cta {
  position: relative; overflow: hidden;
  background: var(--c-red);
  border-top: 4px solid var(--c-wheat);
  border-bottom: 4px solid var(--c-green-deep);
}
/* Patrón de espigas blancas en transparencia */
body.ena-v2 .footer-cta::before {
  content: ''; position: absolute; inset: 0;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 80'><g stroke='white' stroke-opacity='0.18' stroke-width='1' fill='none'><path d='M30 0 L30 80'/><path d='M30 16 L18 10'/><path d='M30 16 L42 10'/><path d='M30 28 L14 22'/><path d='M30 28 L46 22'/><path d='M30 40 L12 34'/><path d='M30 40 L48 34'/><path d='M30 52 L14 46'/><path d='M30 52 L46 46'/><path d='M30 64 L18 58'/><path d='M30 64 L42 58'/></g></svg>");
  background-size: 80px 110px; pointer-events: none;
  animation: footerWheatScroll 60s linear infinite;
}
@keyframes footerWheatScroll {
  from { background-position: 0 0; }
  to   { background-position: 0 -110px; }
}
/* Línea fina central */
body.ena-v2 .footer-cta::after {
  content: ''; position: absolute; left: 0; right: 0; top: 50%;
  height: 1px; background: rgba(255,255,255,.18);
  transform: translateY(-50%); pointer-events: none;
}
body.ena-v2 .footer-cta-inner { position: relative; z-index: 2; }
body.ena-v2 .footer-cta-text i {
  font-size: 1.4rem; color: var(--c-wheat);
  background: rgba(0,0,0,.18); width: 42px; height: 42px;
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
}

/* ══════════════════════════════════════════════════════════════════════
   CONTACTO — espacio bajo el formulario + tarjeta de datos
   ══════════════════════════════════════════════════════════════════════ */
body.ena-v2 .contacto-page,
body.ena-v2 main.page-main { padding-bottom: 5rem; }

body.ena-v2 .contact-tail {
  margin-top: 3rem; padding: 2.5rem;
  background: var(--c-green-pale);
  border: 1px solid var(--c-rule);
  box-shadow: 6px 6px 0 var(--c-rule);
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem;
}
body.ena-v2 .contact-tail .ctil {
  display: flex; gap: 1rem; align-items: flex-start;
}
body.ena-v2 .contact-tail .ctil i {
  flex-shrink: 0; color: var(--c-red); font-size: 1.3rem;
  width: 44px; height: 44px; border-radius: 50%;
  background: #fff; border: 1px solid var(--c-rule);
  display: inline-flex; align-items: center; justify-content: center;
}
body.ena-v2 .contact-tail .ctil strong {
  display: block; font-family: var(--font-display);
  font-size: 1.05rem; color: var(--c-green-deep);
  margin-bottom: .15rem;
}
body.ena-v2 .contact-tail .ctil span {
  display: block; font-size: .9rem; color: var(--c-ink-soft);
}
@media (max-width: 720px) {
  body.ena-v2 .contact-tail { grid-template-columns: 1fr; padding: 1.5rem; }
}
