/* ============================================================
   linea.css  —  PLANTILLA COMPARTIDA de las 7 páginas de línea
   de "Qué Hacemos". Todas usan body.pg-linea y esta hoja.
   Bloques opcionales (proceso, cifras, frase) sólo aparecen si
   la línea los trae. Reutiliza variables y Poppins de estilo.css.
   ============================================================ */

body.pg-linea {
  --gris: #f5f6f7;
  --linea: rgba(16, 26, 36, .09);
  color: var(--ink);
  background: #fff;
}

body.pg-linea .wrap { max-width: 1180px; margin: 0 auto; padding: 0 1.5rem; }
body.pg-linea .wrap--angosto { max-width: 52rem; }
body.pg-linea .bloque { padding: clamp(3.25rem, 6.5vw, 5.5rem) 0; }
body.pg-linea .bloque--blanco { background: #fff; }
body.pg-linea .bloque--gris   { background: var(--gris); }
body.pg-linea .bloque--navy   { background: var(--navy); color: #fff; }

/* Eyebrow */
body.pg-linea .eyebrow {
  display: block;
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--body);
  margin-bottom: 1rem;
}
body.pg-linea .eyebrow .n { color: var(--amber); margin-right: .55rem; }
body.pg-linea .bloque--navy .eyebrow { color: #aeb6bf; }

/* Títulos */
body.pg-linea .titulo {
  text-transform: uppercase;
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -.01em;
  font-size: clamp(1.6rem, 3.4vw, 2.4rem);
  color: var(--ink);
}
body.pg-linea .bloque--navy .titulo { color: #fff; }

/* Prosa */
body.pg-linea .prosa p { color: var(--body); font-size: 1.05rem; line-height: 1.8; }
body.pg-linea .prosa p + p { margin-top: 1.2rem; }

/* Botones */
body.pg-linea .btn {
  display: inline-block;
  font-size: .76rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  text-decoration: none;
  padding: .95rem 1.7rem;
  border-radius: 2px;
  transition: background .2s, opacity .2s;
}
body.pg-linea .btn--azul { background: var(--azul); color: #fff; }
body.pg-linea .btn--azul:hover { opacity: .9; }
body.pg-linea .btn--navy { background: var(--navy); color: #fff; }
body.pg-linea .btn--navy:hover { background: var(--azul); }

/* ── HERO (luminoso) ──────────────────────────────────────── */
body.pg-linea .hero {
  position: relative;
  min-height: calc(100vh - 100px);
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background: var(--navy);
}
body.pg-linea .hero__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.04);
  animation: lineaZoom 26s ease-in-out infinite alternate;
}
@keyframes lineaZoom { from { transform: scale(1.04); } to { transform: scale(1.12); } }
@media (prefers-reduced-motion: reduce) { body.pg-linea .hero__img { animation: none; } }
body.pg-linea .hero__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(16,26,36,.06) 0%, rgba(16,26,36,.12) 38%, rgba(16,26,36,.66) 100%);
}
body.pg-linea .hero__wrap {
  position: relative;
  z-index: 1;
  max-width: 1180px;
  width: 100%;
  margin: 0 auto;
  padding: 0 1.5rem clamp(2.5rem, 6vw, 4.5rem);
  color: #fff;
  text-shadow: 0 2px 24px rgba(16,26,36,.55);
}
body.pg-linea .hero__kicker {
  font-size: .82rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  opacity: .94;
  margin-bottom: .9rem;
  max-width: 40rem;
}
body.pg-linea .hero__title {
  text-transform: uppercase;
  font-weight: 700;
  line-height: 1.0;
  letter-spacing: -.015em;
  font-size: clamp(2.6rem, 7vw, 5rem);
}
body.pg-linea .hero__sub {
  margin-top: 1.3rem;
  max-width: 42rem;
  font-weight: 400;
  font-size: clamp(1rem, 2.1vw, 1.18rem);
  line-height: 1.62;
  opacity: .96;
}

/* ── Tags (ejes de trabajo) ───────────────────────────────── */
body.pg-linea .tags { border-bottom: 1px solid var(--linea); }
body.pg-linea .tags .wrap { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1rem; padding-top: 1.6rem; padding-bottom: 1.6rem; }
body.pg-linea .tags__label { font-size: .8rem; font-weight: 600; letter-spacing: .04em; color: var(--ink); margin-right: .5rem; }
body.pg-linea .tag {
  display: inline-block;
  font-size: .8rem;
  font-weight: 500;
  color: var(--body);
  background: var(--gris);
  border: 1px solid var(--linea);
  padding: .5rem .95rem;
  border-radius: 100px;
}

/* ── Intro ────────────────────────────────────────────────── */
body.pg-linea .intro__titulo { margin-bottom: 1.6rem; }

/* ── Proceso (infografía de pasos) ────────────────────────── */
body.pg-linea .proceso__head { max-width: 46rem; margin-bottom: clamp(2.25rem, 4.5vw, 3.25rem); }
body.pg-linea .proceso__intro { margin-top: 1rem; color: var(--body); font-size: 1.02rem; line-height: 1.7; }
body.pg-linea .proceso__grid {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--linea);
  border: 1px solid var(--linea);
  border-radius: 4px;
  overflow: hidden;
}
@media (max-width: 900px) { body.pg-linea .proceso__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { body.pg-linea .proceso__grid { grid-template-columns: 1fr; } }
body.pg-linea .paso { background: #fff; padding: 1.5rem; }
body.pg-linea .paso__n {
  display: block;
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 1;
  color: var(--azul);
  letter-spacing: -.02em;
  margin-bottom: .8rem;
}
body.pg-linea .paso__nom { font-weight: 600; font-size: .94rem; line-height: 1.3; color: var(--ink); margin-bottom: .45rem; }
body.pg-linea .paso__txt { color: var(--body); font-size: .84rem; line-height: 1.55; }
body.pg-linea .proceso__claves { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.75rem; }
body.pg-linea .clave-chip {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  font-size: .82rem;
  font-weight: 500;
  color: var(--ink);
  padding: .55rem .35rem;
}
body.pg-linea .clave-chip::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--amber); flex-shrink: 0; }

/* ── Cifras (navy) ────────────────────────────────────────── */
body.pg-linea .stats__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem 1.5rem;
}
@media (max-width: 720px) { body.pg-linea .stats__grid { grid-template-columns: repeat(2, 1fr); gap: 2.4rem 1.5rem; } }
body.pg-linea .stat { border-top: 2px solid rgba(255,255,255,.14); padding-top: 1.1rem; }
body.pg-linea .stat__num { display: block; font-weight: 700; letter-spacing: -.02em; line-height: 1; font-size: clamp(2.4rem, 5vw, 3.4rem); color: #fff; }
body.pg-linea .stat__lbl { display: block; margin-top: .7rem; font-size: .76rem; letter-spacing: .08em; text-transform: uppercase; color: #aeb6bf; line-height: 1.4; }

/* ── Frase destacada (navy) ───────────────────────────────── */
body.pg-linea .frase { max-width: 56rem; }
body.pg-linea .frase__txt {
  font-weight: 600;
  letter-spacing: -.01em;
  line-height: 1.34;
  font-size: clamp(1.45rem, 3.4vw, 2.3rem);
  color: #fff;
}
body.pg-linea .frase__txt em { font-style: normal; color: var(--amber); }
body.pg-linea .frase__pie { margin-top: 1.5rem; font-size: .78rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: #aeb6bf; }

/* ── Bloques de trabajo ───────────────────────────────────── */
body.pg-linea .bloques__head { max-width: 46rem; margin-bottom: clamp(2rem, 4vw, 3rem); }
body.pg-linea .bloques__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(1.5rem, 3vw, 2.5rem);
}
@media (max-width: 860px) { body.pg-linea .bloques__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { body.pg-linea .bloques__grid { grid-template-columns: 1fr; } }
/* Modificador: 4 bloques en 2×2 (p. ej. Patrimonio Cultural) */
@media (min-width: 861px) { body.pg-linea .bloques__grid--2 { grid-template-columns: repeat(2, 1fr); max-width: 60rem; } }
body.pg-linea .bloque-item { border-top: 2px solid var(--navy); padding-top: 1.1rem; }
body.pg-linea .bloque-item:has(.bloque-item__foto) { border-top: none; padding-top: 0; }
body.pg-linea .bloque-item__foto { display: block; height: 12rem; overflow: hidden; border-radius: 3px; background: var(--navy); margin-bottom: 1.15rem; }
body.pg-linea .bloque-item__foto img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
body.pg-linea .bloque-item:hover .bloque-item__foto img { transform: scale(1.06); }
body.pg-linea .bloque-item__nom { font-weight: 600; text-transform: uppercase; letter-spacing: .005em; font-size: .98rem; line-height: 1.25; color: var(--ink); margin-bottom: .65rem; }
body.pg-linea .bloque-item__txt { color: var(--body); font-size: .92rem; line-height: 1.65; }

/* ── Banda foto full-bleed (separador de concepto) ────────── */
body.pg-linea .banda {
  position: relative;
  height: 600px;
  background-color: var(--navy);
  background-size: cover;
  background-position: center 38%;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
}
body.pg-linea .banda__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(16,26,36,.74) 0%, rgba(16,26,36,.42) 48%, rgba(16,26,36,.12) 100%);
}
body.pg-linea .banda__wrap { position: relative; z-index: 1; max-width: 1180px; width: 100%; margin: 0 auto; padding: 0 1.5rem; }
body.pg-linea .banda__kicker { font-size: .76rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--amber); margin-bottom: .9rem; }
body.pg-linea .banda__txt {
  color: #fff;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: -.01em;
  line-height: 1.08;
  font-size: clamp(1.9rem, 4.4vw, 3.1rem);
  max-width: 22rem;
  text-shadow: 0 2px 24px rgba(16,26,36,.5);
}
body.pg-linea .banda__trad { margin-top: .8rem; font-size: clamp(1rem, 2vw, 1.25rem); font-weight: 500; font-style: italic; color: #e7ebef; text-shadow: 0 2px 18px rgba(16,26,36,.55); }
@media (max-width: 680px) { body.pg-linea .banda { height: 440px; } }

/* ── Galería (mosaico) ────────────────────────────────────── */
body.pg-linea .galeria__head { max-width: 46rem; margin-bottom: clamp(2rem, 4vw, 3rem); }
body.pg-linea .galeria__intro { margin-top: 1rem; color: var(--body); font-size: 1.02rem; line-height: 1.7; }
body.pg-linea .galeria__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 10.5rem;
  grid-auto-flow: dense;
  gap: clamp(.5rem, 1.1vw, .85rem);
}
@media (max-width: 900px) { body.pg-linea .galeria__grid { grid-auto-rows: 9rem; } }
@media (max-width: 680px) { body.pg-linea .galeria__grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 8.5rem; } }
body.pg-linea .galeria__item { position: relative; overflow: hidden; border-radius: 2px; background: var(--navy); }
body.pg-linea .galeria__item--big  { grid-column: span 2; grid-row: span 2; }
body.pg-linea .galeria__item--wide { grid-column: span 2; }
body.pg-linea .galeria__item--tall { grid-row: span 2; }
@media (max-width: 680px) {
  body.pg-linea .galeria__item--big  { grid-column: span 2; grid-row: span 2; }
  body.pg-linea .galeria__item--wide { grid-column: span 2; }
  body.pg-linea .galeria__item--tall { grid-row: span 1; }
}
body.pg-linea .galeria__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
body.pg-linea .galeria__item:hover img { transform: scale(1.07); }

/* ── El Método (imagen + texto) ───────────────────────────── */
body.pg-linea .metodo { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 5vw, 4rem); align-items: center; }
@media (max-width: 820px) { body.pg-linea .metodo { grid-template-columns: 1fr; } }
body.pg-linea .metodo__img { order: 2; }
body.pg-linea .metodo__img img { width: 100%; height: clamp(17rem, 32vw, 24rem); object-fit: cover; border-radius: 3px; display: block; }
@media (max-width: 820px) { body.pg-linea .metodo__img { order: -1; } }
body.pg-linea .metodo__txt p { color: var(--body); font-size: 1.05rem; line-height: 1.78; margin: 1.2rem 0 1.9rem; max-width: 30rem; }

/* ── CTA ──────────────────────────────────────────────────── */
body.pg-linea .cta { text-align: center; max-width: 40rem; margin: 0 auto; }
body.pg-linea .cta__titulo { text-transform: uppercase; font-weight: 700; letter-spacing: -.01em; font-size: clamp(1.5rem, 3.2vw, 2.1rem); color: var(--ink); }
body.pg-linea .cta__sub { margin: .9rem 0 1.8rem; color: var(--body); font-size: 1.05rem; line-height: 1.6; }

/* ==== Cierre Iniciativas Educacionales (bandas) — portado de preview inline ==== */
  body.pg-linea .banda--alto { height: 620px; }
  body.pg-linea .banda--claro .banda__shade{background:linear-gradient(90deg,rgba(16,26,36,.5) 0%,rgba(16,26,36,.2) 42%,rgba(16,26,36,0) 72%)}
  body.pg-linea .banda__frase{color:#fff;font-weight:600;font-size:clamp(1.5rem,3vw,2.45rem);line-height:1.3;letter-spacing:-.015em;max-width:34rem;margin:0;text-shadow:0 2px 26px rgba(16,26,36,.6)}
  body.pg-linea .banda__frase em{font-style:normal;color:var(--amber)}
  body.pg-linea .banda--der .banda__shade{background:linear-gradient(270deg,rgba(16,26,36,.78) 0%,rgba(16,26,36,.44) 50%,rgba(16,26,36,.12) 100%)}
  body.pg-linea .banda--der .banda__wrap{text-align:right}
  body.pg-linea .banda--der .banda__col{margin-left:auto;max-width:36rem;display:flex;flex-direction:column;align-items:flex-end;text-align:right}
  body.pg-linea .banda--der .banda__frase{margin-left:auto}
  body.pg-linea .banda__h{color:#fff;font-weight:700;font-size:clamp(1.7rem,3.2vw,2.5rem);line-height:1.1;letter-spacing:-.015em;margin:0 0 .7rem;text-shadow:0 2px 26px rgba(16,26,36,.6)}
  body.pg-linea .banda__p{color:#eaf0f6;font-weight:500;font-size:clamp(1.05rem,1.7vw,1.3rem);line-height:1.45;max-width:30rem;margin:0;text-shadow:0 2px 20px rgba(16,26,36,.6)}
/* ==== Bloque Tecnología de Impacto (tecblock/mk-flow/tecind/tecmod) — Patrimonio + Proyectos Especiales ==== */
  body.pg-linea .tecblock{background:linear-gradient(180deg,#0d1830,#0a1120);padding:clamp(2.6rem,6vw,4.6rem) 0}
  body.pg-linea .tecblock__grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(1.8rem,4vw,3.4rem);align-items:center}
  body.pg-linea .tecblock__kicker{font-size:.76rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--amber);margin:0 0 1rem}
  body.pg-linea .tecblock__h{color:#fff;font-weight:700;font-size:clamp(1.6rem,3vw,2.35rem);line-height:1.15;letter-spacing:-.015em;margin:0 0 1rem}
  body.pg-linea .tecblock__p{color:#c5cede;font-size:1.05rem;line-height:1.6;margin:0 0 1.7rem;max-width:32rem}
  body.pg-linea .tecblock__cta{display:inline-flex;align-items:center;gap:.6rem;background:var(--azul);color:#fff;font-weight:600;font-size:1rem;padding:.85rem 1.6rem;border-radius:8px;text-decoration:none;transition:background .15s}
  body.pg-linea .tecblock__cta:hover{background:#1a5fd0}
  body.pg-linea .tecblock__cta svg{width:18px;height:18px}
  body.pg-linea .tecbrowser{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 40px 80px -32px rgba(0,0,0,.7)}
  body.pg-linea .tecbrowser__bar{display:flex;align-items:center;gap:11px;padding:10px 14px;background:#f3f5f9;border-bottom:1px solid #e6eaf1}
  body.pg-linea .tecbrowser__dots{display:flex;gap:6px}
  body.pg-linea .tecbrowser__dots i{width:10px;height:10px;border-radius:50%;display:block}
  body.pg-linea .tecbrowser__dots i:nth-child(1){background:#ff5f57}body.pg-linea .tecbrowser__dots i:nth-child(2){background:#febc2e}body.pg-linea .tecbrowser__dots i:nth-child(3){background:#28c840}
  body.pg-linea .tecbrowser__url{flex:1;background:#fff;border:1px solid #e2e6ee;border-radius:7px;padding:6px 12px;font-size:.76rem;color:#7480a0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  body.pg-linea .tecbrowser img{display:block;width:100%;height:auto}
  @media(max-width:820px){body.pg-linea .tecblock__grid{grid-template-columns:1fr}}
  body.pg-linea .mk-flowband{background:linear-gradient(180deg,#0a1120,#0d1830);padding:0 0 clamp(1rem,3vw,2rem)}
  body.pg-linea .mk-flow-scene{position:relative;height:min(540px,62vw);overflow:hidden;max-width:1280px;margin:0 auto}
  body.pg-linea .mk-flow{position:absolute;top:50%;left:50%;display:flex;gap:24px;transform:translate(-50%,-50%) rotate(-30deg) scale(2);transform-origin:center}
  body.pg-linea .mk-flow .col{display:flex;flex-direction:column;gap:24px;width:300px}
  body.pg-linea .mk-flow .col:nth-child(1){margin-top:-40px}
  body.pg-linea .mk-flow .col:nth-child(2){margin-top:-220px}
  body.pg-linea .mk-flow .col:nth-child(3){margin-top:-90px}
  body.pg-linea .mk-flow .col:nth-child(4){margin-top:-300px}
  body.pg-linea .mk-pscreen{border-radius:8px;overflow:hidden;box-shadow:22px 26px 46px -18px rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.12);background:#fff}
  body.pg-linea .mk-pscreen img{display:block;width:100%}
  body.pg-linea .tecind{background:linear-gradient(180deg,#0a1120,#0d1830);padding:clamp(.5rem,2vw,1.5rem) 0 clamp(2.6rem,6vw,4.6rem)}
  body.pg-linea .tecind__wrap{max-width:980px}
  body.pg-linea .tecind__lead{color:#aeb6bf;font-size:.9rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;text-align:center;margin:0 0 1.4rem}
  body.pg-linea .tecmod__head{max-width:46rem;margin:0 auto clamp(1.6rem,3.5vw,2.6rem);text-align:center}
  body.pg-linea .tecmod__h{color:#fff;font-weight:700;font-size:clamp(1.7rem,3.2vw,2.5rem);line-height:1.1;letter-spacing:-.015em;margin:0 0 1rem}
  body.pg-linea .tecmod__p{color:#c5cede;font-size:1.05rem;line-height:1.6;margin:0}
  body.pg-linea .tecmod__grid{display:grid;grid-template-columns:1.55fr 1fr;gap:1.4rem;align-items:center;max-width:1100px;margin:0 auto}
  body.pg-linea .tecmod__side{display:flex;flex-direction:column;gap:1.4rem}
  @media(max-width:820px){body.pg-linea .tecmod__grid{grid-template-columns:1fr}}
