/* ── Variables ──────────────────────────────────────── */
:root {
  --cream:        #FFF8EB;
  --cream-card:   #FFF8EE;
  --cream-light:  #FFF0D8;
  --border-cream: #F2CE80;
  --orange:       #F27927;
  --yellow-cta:   #FDB81F;
  --gray:         #666666;
  /* Alias legado → paleta oficial de 4 colores. No se borran las
     variables antiguas para no romper ningún var() existente; solo
     se les redefine el valor. */
  --text-brown:   var(--gray);
  --text-dark:    var(--gray);
  --text-terra:   var(--gray);
  --terra-dark:   var(--gray);
  --stat-brown:   var(--gray);
  --orange-dark:  var(--gray);
  --purple:       var(--gray);
  --footer-bg:    var(--gray);
  --gold-link:    var(--yellow-cta);
}

/* ── Tipografía oficial: Century Gothic ────────────────── */
@font-face {
  font-family: 'Century Gothic';
  src: url('../fonts/century-gothic-regular.woff2') format('woff2'),
       url('../fonts/century-gothic-regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Century Gothic';
  src: url('../fonts/century-gothic-bold.woff2') format('woff2'),
       url('../fonts/century-gothic-bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* El salto al ancla #aportar es instantáneo a propósito. Se probó
   `html { scroll-behavior: smooth }` y hubo que sacarlo: Playwright arma las
   capturas fullPage desplazando la página, y con scroll animado las capturaba
   a mitad de camino, rompiendo las snapshots de TODAS las páginas del sitio.
   Lo que el ancla sí necesita es no quedar tapada por el header sticky, y de
   eso se encarga el scroll-margin-top de .apoyo-elige. */

/* ── Reset & Base ────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; background: var(--cream); font-family: 'Century Gothic', system-ui, sans-serif; color: var(--text-dark); }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--orange); }
img { max-width: 100%; height: auto; display: block; }
ul { list-style: none; margin: 0; padding: 0; }

/* ── Animations ─────────────────────────────────────── */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(22px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes heroFloat {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-10px); }
}
[data-animate] { opacity: 0; }

/* ── Buttons ─────────────────────────────────────────── */
.btn {
  display: inline-block;
  font-family: 'Century Gothic', sans-serif;
  font-weight: 800;
  border-radius: 40px;
  border: none;
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
  text-decoration: none;
  line-height: 1;
  white-space: nowrap;
}
.btn:hover { transform: translateY(-2px); }
.btn:disabled { opacity: .45; cursor: not-allowed; box-shadow: none; transform: none; }
.btn:disabled:hover { transform: none; }
.btn--primary      { background: var(--yellow-cta); color: #fff; padding: 17px 44px; font-size: 26px; box-shadow: 0 6px 28px rgba(242,121,39,0.30); }
.btn--secondary    { background: var(--cream-light); color: var(--terra-dark); padding: 17px 36px; font-size: 26px; border: 2px solid var(--border-cream); }
.btn--nav-cta      { background: var(--yellow-cta); color: #fff; padding: 13px 30px; font-size: 22px; }
.btn--white        { background: #fff; color: var(--terra-dark); padding: 15px 36px; font-size: 24px; }
.btn--ghost-white  { background: transparent; color: #fff; padding: 15px 30px; font-size: 24px; border: 2px solid rgba(255,255,255,0.4); }
.btn--hero-cta     { background: var(--yellow-cta); color: #fff; padding: 20px 56px; font-size: 27px; box-shadow: 0 8px 32px rgba(242,121,39,0.38); }
.btn--outline-orange { background: transparent; color: var(--orange); padding: 15px 36px; font-size: 24px; border: 2px solid var(--orange); }
.btn--editorial    { background: var(--yellow-cta); color: #fff; padding: 14px 32px; font-size: 22px; box-shadow: 0 4px 20px rgba(242,121,39,0.40); }

/* ── Header / Nav ────────────────────────────────────── */
.site-header {
  position: sticky; top: 0; z-index: 100;
  height: 76px; padding: 0 60px;
  display: flex; align-items: center; justify-content: space-between;
  background-color: rgba(255,237,206,0.94);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(242,151,39,0.14);
  transition: box-shadow 0.2s ease;
}
.site-header__logo img { height: 48px; width: auto; }
.site-header__nav { display: flex; align-items: center; gap: 36px; }
.site-header__nav li a { font-size: 22px; font-weight: 600; color: var(--text-terra); transition: color 0.15s; }
.site-header__nav li a:hover { color: var(--orange); }
.site-header__nav .current-menu-item > a { font-weight: 700; color: var(--text-dark); border-bottom: 2px solid var(--orange); padding-bottom: 2px; }

/* Seis ítems no entran cómodos bajo ~1240px: se aprieta el menú, no el header.
   El corte va en 1240 y no en 1200 porque medido a 1201px el menú quedaba a
   11px del logo; recién sobre 1240 la regla por defecto deja aire suficiente. */
@media (max-width: 1240px) and (min-width: 961px) {
  .site-header { padding: 0 16px; }
  .site-header__nav { gap: 14px; }
  .site-header__nav li a { font-size: 19px; }
}

/* ── Mobile Nav ──────────────────────────────────────── */
.nav-toggle {
  display: none;
  flex-direction: column; gap: 5px; cursor: pointer;
  background: none; border: none; padding: 4px;
}
.nav-toggle span {
  display: block; width: 24px; height: 2px;
  background: var(--orange); border-radius: 2px;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.nav-toggle.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-toggle.is-open span:nth-child(2) { opacity: 0; }
.nav-toggle.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ── Hero ────────────────────────────────────────────── */
.hero { padding: 72px 60px 56px; position: relative; overflow: hidden; background: var(--cream); }
.hero__halo-1 { position: absolute; top: -80px; right: -60px; width: 560px; height: 560px; background: radial-gradient(circle,rgba(253,184,31,0.10) 0%,transparent 65%); pointer-events: none; border-radius: 50%; }
.hero__halo-2 { position: absolute; bottom: 40px; left: -80px; width: 340px; height: 340px; background: radial-gradient(circle,rgba(242,121,39,0.07) 0%,transparent 65%); pointer-events: none; border-radius: 50%; }
.hero__inner  { max-width: 1280px; margin: 0 auto; display: flex; gap: 64px; align-items: center; position: relative; z-index: 1; animation: fadeUp 0.82s cubic-bezier(0.22,1,0.36,1) both; }
.hero__left   { flex: 1.05; min-width: 0; }
.hero__right  { flex: 1; min-width: 0; flex-shrink: 0; position: relative; animation: heroFloat 6s 0.9s ease-in-out infinite; }
.hero__badge  { display: inline-flex; align-items: center; gap: 8px; background: var(--cream-light); border: 1.5px solid var(--border-cream); border-radius: 40px; padding: 7px 18px; margin-bottom: 28px; }
.hero__badge-dot  { width: 7px; height: 7px; background: var(--orange); border-radius: 50%; flex-shrink: 0; }
.hero__badge-text { font-size: 24px; font-weight: 700; color: var(--terra-dark); letter-spacing: 0.01em; }
.hero__title  { font-size: 93px; font-weight: 900; color: var(--text-dark); line-height: 1.06; margin: 0 0 24px; letter-spacing: -0.02em; }
.hero__title-accent { color: var(--orange); background: linear-gradient(180deg,transparent 60%,rgba(253,184,31,0.25) 60%); }
.hero__desc   { font-size: 30px; color: var(--text-terra); line-height: 1.78; margin: 0 0 40px; max-width: 520px; font-weight: 500; }
.hero__buttons { display: flex; gap: 16px; flex-wrap: wrap; margin-bottom: 48px; }
.hero__stats  { display: flex; gap: 44px; flex-wrap: wrap; }
.hero__stat-num   { font-size: 60px; font-weight: 900; color: var(--orange); line-height: 1; letter-spacing: -0.025em; }
.hero__stat-label { font-size: 20px; font-weight: 600; color: var(--stat-brown); margin-top: 4px; }
.hero__img-halo { position: absolute; inset: -20px; background: radial-gradient(circle at 50% 50%,rgba(253,184,31,0.14) 0%,transparent 68%); border-radius: 50%; }
.hero__img { position: relative; border-radius: 55% 45% 42% 58% / 48% 56% 44% 52%; overflow: hidden; height: 640px; box-shadow: 0 20px 64px rgba(242,121,39,0.20); border: 3px solid var(--border-cream); background: #E8D8C0 center/cover no-repeat; }
.hero__slide { position: absolute; inset: 0; background: center/cover no-repeat; opacity: 0; transition: opacity 1.1s ease; }
.hero__slide--active { opacity: 1; }

/* ── Quiénes Somos ───────────────────────────────────── */
.quienes { padding: 32px 60px 48px; background: var(--orange); position: relative; overflow: hidden; }
.quienes__halo { position: absolute; top: -120px; right: -120px; width: 480px; height: 480px; background: radial-gradient(circle,rgba(253,184,31,0.12) 0%,transparent 65%); border-radius: 50%; pointer-events: none; }
.quienes__inner { max-width: 1160px; margin: 0 auto; display: flex; gap: 72px; align-items: center; position: relative; z-index: 1; }
.quienes__img { flex: 1; min-width: 0; height: 420px; border-radius: 40% 60% 55% 45% / 52% 48% 60% 40%; overflow: hidden; border: 3px solid rgba(255,255,255,0.28); flex-shrink: 0; box-shadow: 0 12px 40px rgba(0,0,0,0.12); background: center/cover no-repeat; }
.quienes__content { flex: 1.1; min-width: 0; }
.quienes__title { font-size: 63px; font-weight: 900; color: #fff; line-height: 1.12; margin: 0 0 22px; letter-spacing: -0.015em; }
.quienes__desc-1 { font-size: 28px; color: #fff; line-height: 1.82; margin: 0 0 18px; font-weight: 500; }
.quienes__desc-2 { font-size: 28px; color: #fff; line-height: 1.82; margin: 0 0 36px; font-weight: 400; }
.quienes__buttons { display: flex; gap: 16px; flex-wrap: wrap; }

/* ── Cita Editorial ──────────────────────────────────── */
.cita { padding: 80px 60px; background: var(--cream); position: relative; overflow: hidden; }
.cita__arc-1 { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 900px; height: 900px; border: 1.5px solid rgba(242,121,39,0.05); border-radius: 50%; pointer-events: none; }
.cita__arc-2 { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 680px; height: 680px; border: 1px solid rgba(242,121,39,0.04); border-radius: 50%; pointer-events: none; }
.cita__inner { max-width: 1280px; margin: 0 auto; position: relative; }
.cita__bg { position: absolute; inset: 0; border-radius: 36px; overflow: hidden; background: var(--orange); }
.cita__overlay { position: absolute; inset: 0; background: none; }
.cita__text { position: relative; width: 54%; min-height: 380px; padding: 52px 64px; box-sizing: border-box; display: flex; flex-direction: column; justify-content: center; z-index: 1; }
.cita__quote { font-size: 45px; font-weight: 800; color: #fff; line-height: 1.45; margin: 0 0 28px; letter-spacing: -0.01em; }
.cita__img { position: absolute; right: 40px; top: -44px; bottom: -44px; width: 43%; border-radius: 28px; overflow: hidden; z-index: 2; box-shadow: 0 24px 64px rgba(100,30,0,0.28); border: 3px solid rgba(255,210,150,0.22); background: center/cover no-repeat; }

/* ── Cómo Ayudar ─────────────────────────────────────── */
.ayudar { padding: 32px 60px 88px; background: var(--orange); position: relative; overflow: hidden; }
.ayudar__halo { position: absolute; bottom: -80px; left: 50%; transform: translateX(-50%); width: 700px; height: 700px; background: radial-gradient(circle,rgba(253,184,31,0.10) 0%,transparent 65%); border-radius: 50%; pointer-events: none; }
.ayudar__inner { max-width: 1160px; margin: 0 auto; position: relative; z-index: 1; }
.ayudar__header { text-align: center; margin-bottom: 56px; }
.ayudar__title { font-size: 66px; font-weight: 900; color: #fff; margin: 0 0 18px; letter-spacing: -0.02em; }
.ayudar__subtitle { font-size: 30px; color: rgba(255,255,255,0.90); max-width: 500px; margin: 0 auto; line-height: 1.75; font-weight: 500; }
.ayudar__card-main { border-radius: 32px; padding: 56px 64px; display: flex; gap: 64px; align-items: center; margin-bottom: 20px; position: relative; overflow: hidden; background: rgba(255,255,255,0.92); box-shadow: 0 8px 48px rgba(0,0,0,0.10); }
.ayudar__card-main-halo { position: absolute; top: -80px; right: 160px; width: 360px; height: 360px; background: radial-gradient(circle,rgba(253,184,31,0.08) 0%,transparent 65%); pointer-events: none; }
.ayudar__card-main-body { flex: 1; min-width: 0; position: relative; z-index: 1; }
.ayudar__card-main-body h3 { font-size: 51px; font-weight: 900; color: var(--text-dark); margin: 0 0 16px; line-height: 1.15; }
.ayudar__card-main-body p { font-size: 27px; color: var(--text-terra); line-height: 1.82; margin: 0; max-width: 460px; font-weight: 500; }
.ayudar__card-main-cta { flex-shrink: 0; text-align: center; position: relative; z-index: 1; }
.ayudar__card-main-sub { font-size: 20px; color: var(--text-terra); margin-top: 12px; font-weight: 500; }
.ayudar__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.ayudar__card { background: #fff; border-radius: 28px; padding: 40px 36px; box-shadow: 0 4px 24px rgba(0,0,0,0.07); }
.ayudar__icon { width: 52px; height: 52px; background: var(--cream-light); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-bottom: 22px; }
.ayudar__card h3 { font-size: 36px; font-weight: 800; color: var(--text-dark); margin: 0 0 14px; letter-spacing: -0.01em; }
.ayudar__card p { font-size: 26px; color: var(--text-terra); line-height: 1.82; margin: 0 0 28px; font-weight: 500; }

/* ── Transparencia ───────────────────────────────────── */
.transparencia { padding: 40px 60px 72px; background: var(--purple); position: relative; overflow: hidden; }
.transparencia__arc-1 { position: absolute; top: -140px; right: -140px; width: 560px; height: 560px; border: 1px solid rgba(255,255,255,0.08); border-radius: 50%; pointer-events: none; }
.transparencia__arc-2 { position: absolute; top: -100px; right: -100px; width: 380px; height: 380px; border: 1px solid rgba(255,255,255,0.06); border-radius: 50%; pointer-events: none; }
.transparencia__arc-3 { position: absolute; bottom: -60px; left: -60px; width: 260px; height: 260px; border: 1px solid rgba(255,255,255,0.06); border-radius: 50%; pointer-events: none; }
.transparencia__inner { max-width: 1160px; margin: 0 auto; display: flex; gap: 80px; align-items: center; position: relative; z-index: 1; }
.transparencia__left { flex: 1; min-width: 0; }
.transparencia__title { font-size: 48px; font-weight: 800; color: #fff; line-height: 1.25; margin: 0 0 14px; letter-spacing: -0.015em; }
.transparencia__desc { font-size: 26px; color: #fff; line-height: 1.82; margin: 0 0 28px; max-width: 380px; font-weight: 500; }
.transparencia__link { font-size: 22px; font-weight: 700; color: #fff; display: inline-flex; align-items: center; gap: 6px; border-bottom: 1.5px solid rgba(255,255,255,0.5); padding-bottom: 3px; }
.transparencia__grid { flex: 1.6; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.transparencia__card { text-decoration: none; background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.18); border-radius: 18px; padding: 22px; display: block; transition: background 0.2s; }
.transparencia__card:hover { background: rgba(255,255,255,0.14); }
.transparencia__card-title { font-size: 22px; font-weight: 700; color: #fff; margin-bottom: 5px; }
.transparencia__card-sub { font-size: 20px; color: #fff; font-weight: 500; }
.transparencia__card--highlight { border-color: rgba(255,255,255,0.3); }
.transparencia__card--highlight .transparencia__card-title { color: #fff; }
.transparencia__card--highlight .transparencia__card-sub { color: #fff; }

/* ── Footer ──────────────────────────────────────────── */
.site-footer { background: var(--footer-bg); padding: 56px 60px 36px; }
.site-footer__inner { max-width: 1160px; margin: 0 auto; }
.site-footer__grid { display: flex; gap: 72px; margin-bottom: 56px; }
.site-footer__brand { flex: 1.6; min-width: 0; }
.site-footer__logo { height: 44px; width: auto; margin-bottom: 18px; background: var(--cream); padding: 8px 14px; border-radius: 10px; box-sizing: content-box; }
.site-footer__brand-desc { font-size: 22px; color: var(--cream); line-height: 1.78; max-width: 256px; margin: 0 0 14px; font-weight: 500; }
.site-footer__brand-legal { font-size: 16px; color: var(--cream); }
.site-footer__col { flex: 1; min-width: 0; }
.site-footer__col-title { font-size: 16px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--cream); margin-bottom: 18px; display: block; }
.site-footer__col ul { display: flex; flex-direction: column; gap: 12px; }
.site-footer__col li a { font-size: 21px; color: var(--cream); font-weight: 500; }
.site-footer__col li a:hover { color: var(--gold-link); }
.site-footer__contact { flex: 1.2; min-width: 0; }
/* El correo institucional es una cadena larga sin punto de corte natural;
   sin esto empuja el ancho de la página más allá de la pantalla en móvil. */
.site-footer__contact-item { font-size: 20px; color: var(--cream); font-weight: 500; margin-bottom: 13px; overflow-wrap: anywhere; }
.site-footer__bottom { border-top: 1px solid rgba(255,255,255,0.15); padding-top: 28px; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; }
.site-footer__copyright { font-size: 18px; color: var(--cream); }

/* ── Inner Pages — Compartido ────────────────────────── */
.page-hero { padding: 80px 60px 64px; background: var(--cream); text-align: center; position: relative; overflow: hidden; }
.page-hero__halo { position: absolute; top: -100px; right: -100px; width: 500px; height: 500px; background: radial-gradient(circle, rgba(253,184,31,0.08) 0%, transparent 65%); border-radius: 50%; pointer-events: none; }
.page-hero__label { display: inline-block; font-size: 20px; font-weight: 700; color: var(--terra-dark); letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 16px; }
.page-hero__title { font-size: 78px; font-weight: 900; color: var(--text-dark); line-height: 1.08; margin: 0 0 20px; letter-spacing: -0.02em; }
.page-hero__subtitle { font-size: 30px; color: var(--text-terra); line-height: 1.78; max-width: 600px; margin: 0 auto; font-weight: 500; }
.page-section { padding: 72px 60px; max-width: 1160px; margin: 0 auto; }

/* ── Nosotros ─────────────────────────────────────────── */
.nosotros-historia { display: flex; gap: 72px; align-items: flex-start; }
.nosotros-historia__text { flex: 1.1; }
.nosotros-historia__text h2 { font-size: 57px; font-weight: 900; color: #fff; margin: 0 0 24px; letter-spacing: -0.015em; }
.nosotros-historia__text p { font-size: 28px; color: rgba(255,255,255,0.88); line-height: 1.82; margin: 0 0 20px; font-weight: 500; }
.nosotros-mision-vision { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.nosotros-card { background: var(--cream-light); border-radius: 24px; padding: 36px; border: 1.5px solid var(--border-cream); }
.nosotros-card h3 { font-size: 33px; font-weight: 900; color: var(--text-dark); margin: 0 0 14px; }
.nosotros-card p { font-size: 24px; color: var(--text-terra); line-height: 1.82; margin: 0; font-weight: 500; }

/* ── Equipo ───────────────────────────────────────────── */
.equipo-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.equipo-card { background: #fff; border-radius: 24px; overflow: hidden; box-shadow: 0 4px 24px rgba(0,0,0,0.07); transition: transform 0.2s ease, box-shadow 0.2s ease; }
.equipo-card:hover { transform: translateY(-4px); box-shadow: 0 12px 40px rgba(0,0,0,0.12); }
.equipo-card__photo { height: 280px; background: var(--cream-light) center/cover no-repeat; }
.equipo-card__body { padding: 24px 28px 28px; }
.equipo-card__name { font-size: 30px; font-weight: 800; color: var(--text-dark); margin: 0 0 6px; }
.equipo-card__role { font-size: 21px; font-weight: 600; color: var(--terra-dark); }

/* ── Transparencia Page ───────────────────────────────── */
.trans-category { margin-bottom: 52px; }
.trans-category__title { font-size: 18px; font-weight: 700; letter-spacing: 0.10em; text-transform: uppercase; color: var(--terra-dark); padding-bottom: 12px; border-bottom: 2px solid var(--border-cream); margin-bottom: 18px; }
.trans-docs-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; }
.trans-doc-card { display: flex; align-items: center; gap: 18px; background: #fff; border-radius: 16px; padding: 20px 24px; border: 1.5px solid var(--border-cream); text-decoration: none; color: inherit; transition: border-color 0.2s, box-shadow 0.2s; }
.trans-doc-card:hover { border-color: var(--orange); box-shadow: 0 4px 20px rgba(242,121,39,0.12); }
.trans-doc-card__icon { width: 44px; height: 44px; background: var(--cream-light); border-radius: 12px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.trans-doc-card__name { font-size: 22px; font-weight: 700; color: var(--text-dark); margin-bottom: 3px; }
.trans-doc-card__year { font-size: 20px; color: var(--text-terra); font-weight: 500; }
.trans-doc-card__dl   { font-size: 18px; font-weight: 700; color: var(--orange); margin-top: 4px; }


/* ── Formularios CF7 ──────────────────────────────────── */
.cf7-wrap { max-width: 640px; margin: 0 auto; }
.cf7-field { margin-bottom: 22px; }
.cf7-field label { display: block; font-size: 22px; font-weight: 700; color: var(--text-dark); margin-bottom: 8px; }
.wpcf7-form-control.wpcf7-text,
.wpcf7-form-control.wpcf7-email,
.wpcf7-form-control.wpcf7-tel,
.wpcf7-form-control.wpcf7-textarea { width: 100%; font-family: 'Century Gothic', sans-serif; font-size: 24px; font-weight: 500; padding: 14px 18px; border: 2px solid var(--border-cream); border-radius: 12px; background: #fff; color: var(--text-dark); outline: none; transition: border-color 0.2s; box-sizing: border-box; }
.wpcf7-form-control:focus { border-color: var(--orange); }
.wpcf7-form-control.wpcf7-textarea { min-height: 140px; resize: vertical; }
.wpcf7-not-valid-tip { font-size: 20px; color: #dc2626; margin-top: 4px; font-weight: 600; display: block; }
.wpcf7-response-output { border-radius: 10px; padding: 14px 20px; font-weight: 600; font-size: 22px; margin-top: 24px; }

/* ── Contacto layout ──────────────────────────────────── */
.contacto-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; }
.contacto-info-item { display: flex; gap: 14px; margin-bottom: 22px; }
.contacto-info-item__icon { width: 44px; height: 44px; background: rgba(255,255,255,0.15); border-radius: 12px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 30px; }
.contacto-info-item__label { font-size: 18px; font-weight: 700; color: rgba(255,235,210,0.85); text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 4px; }
.contacto-info-item__value { font-size: 22px; color: #fff; font-weight: 600; }
.contacto-map { border-radius: 20px; overflow: hidden; margin-top: 24px; }
.contacto-map iframe { display: block; width: 100%; height: 280px; border: none; }

/* ── page-hero dark variant ──────────────────────────── */
.page-hero--dark { background: var(--footer-bg); }
.page-hero--dark .page-hero__label { color: var(--orange); }
.page-hero--dark .page-hero__title { color: #fff; }
.page-hero--dark .page-hero__subtitle { color: rgba(255,255,255,0.72); }

/* ── Nosotros: Intro 2-col ───────────────────────────── */
.nos-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: start; }
.nos-intro__text h2 { font-size: 45px; font-weight: 900; color: #fff; margin: 0 0 18px; line-height: 1.2; }
.nos-intro__text p  { font-size: 24px; color: rgba(255,255,255,0.85); line-height: 1.8; margin: 0 0 14px; font-weight: 500; }
.nos-mv-block { background: rgba(0,0,0,0.2); border-radius: 20px; padding: 28px 32px; }
.nos-mv-item  { margin-bottom: 24px; }
.nos-mv-item:last-child { margin-bottom: 0; }
.nos-mv-label { font-size: 16px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.10em; color: var(--yellow-cta); margin-bottom: 8px; }
.nos-mv-text  { font-size: 22px; color: rgba(255,255,255,0.85); line-height: 1.75; font-weight: 500; margin: 0; }

/* ── Nosotros: Foto interior ─────────────────────────── */
.nos-foto { width: 100%; height: 420px; background: var(--cream-light) center/cover no-repeat; display: block; }

/* ── Nosotros: Valores ───────────────────────────────── */
.nos-valores-hd { text-align: center; max-width: 600px; margin: 0 auto 48px; }
.nos-valores-hd .eyebrow { font-size: 18px; font-weight: 700; color: var(--orange); text-transform: uppercase; letter-spacing: 0.10em; display: block; margin-bottom: 10px; }
.nos-valores-hd h2 { font-size: 51px; font-weight: 900; color: var(--text-dark); margin: 0 0 14px; }
.nos-valores-hd p  { font-size: 24px; color: var(--text-terra); line-height: 1.75; margin: 0; }
.nos-valores-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.nos-valor-card { background: #fff; border-radius: 20px; padding: 32px; border: 2px solid var(--border-cream); transition: border-color .2s, box-shadow .2s; }
.nos-valor-card:hover { border-color: var(--orange); box-shadow: 0 6px 24px rgba(242,121,39,.1); }
.nos-valor-card h3 { font-size: 27px; font-weight: 900; color: var(--text-dark); margin: 0 0 10px; }
.nos-valor-card p  { font-size: 22px; color: var(--text-terra); line-height: 1.75; margin: 0; font-weight: 500; }

/* ── Nosotros: Timeline ──────────────────────────────── */
.nos-timeline h2 { font-size: 45px; font-weight: 900; color: #fff; margin: 0 0 40px; }
.nos-tl-list { position: relative; padding-left: 32px; }
.nos-tl-list::before { content: ''; position: absolute; left: 6px; top: 8px; bottom: 8px; width: 2px; background: rgba(242,121,39,.35); }
.nos-tl-item { position: relative; margin-bottom: 36px; }
.nos-tl-item:last-child { margin-bottom: 0; }
.nos-tl-item::before { content: ''; position: absolute; left: -28px; top: 5px; width: 12px; height: 12px; border-radius: 50%; background: var(--orange); outline: 3px solid rgba(242,121,39,.3); }
.nos-tl-year { font-size: 18px; font-weight: 800; color: var(--orange); text-transform: uppercase; letter-spacing: .08em; margin-bottom: 5px; }
.nos-tl-hito { font-size: 27px; font-weight: 900; color: #fff; margin: 0 0 7px; }
.nos-tl-desc { font-size: 22px; color: rgba(255,255,255,.68); line-height: 1.7; margin: 0; }

/* ── Nosotros: Galería ───────────────────────────────── */
.nos-galeria-hd { text-align: center; max-width: 600px; margin: 0 auto 40px; }
.nos-galeria-hd .eyebrow { font-size: 18px; font-weight: 700; color: var(--orange); text-transform: uppercase; letter-spacing: .10em; display: block; margin-bottom: 10px; }
.nos-galeria-hd h2 { font-size: 45px; font-weight: 900; color: var(--text-dark); margin: 0 0 12px; }
.nos-galeria-hd p  { font-size: 24px; color: var(--text-terra); line-height: 1.7; margin: 0; }
.nos-galeria-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.nos-galeria-item { border-radius: 16px; overflow: hidden; aspect-ratio: 4/3; background: var(--cream-light); position: relative; }
.nos-galeria-item img { width: 100%; height: 100%; object-fit: cover; display: block; }
.nos-galeria-item__cap { position: absolute; bottom: 0; left: 0; right: 0; background: linear-gradient(to top,rgba(0,0,0,.6),transparent); color: #fff; font-size: 16px; font-weight: 700; padding: 16px 10px 8px; }
.nos-galeria-item--stat { background: var(--orange); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.nos-galeria-item--stat .stat-num { font-size: 57px; font-weight: 900; color: #fff; line-height: 1; }
.nos-galeria-item--stat .stat-lbl { font-size: 18px; font-weight: 700; color: rgba(255,255,255,.85); margin-top: 6px; line-height: 1.3; padding: 0 10px; }
.nos-cta-buttons { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* ── Equipo V2: Dirección (sobre naranja) ────────────── */
.equipo-dir-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.equipo-dir-card { border-radius: 28px; overflow: hidden; display: flex; align-items: stretch; }
.equipo-dir-card--featured { background: var(--text-brown); }
.equipo-dir-card--normal   { background: rgba(255,255,255,0.12); border: 1.5px solid rgba(255,255,255,0.22); }
.equipo-dir-card__photo { width: 33%; flex-shrink: 0; min-height: 180px; background: rgba(255,255,255,.1) center/cover no-repeat; }
.equipo-dir-card__info { flex: 1; padding: 32px 36px; display: flex; flex-direction: column; justify-content: center; min-width: 0; }
.equipo-dir-card__rol  { font-size: 18px; font-weight: 700; color: rgba(255,255,255,0.75); letter-spacing: .08em; text-transform: uppercase; margin-bottom: 8px; }
.equipo-dir-card__name { font-size: 33px; font-weight: 800; color: #fff; margin: 0 0 12px; }
.equipo-dir-card__bio  { font-size: 21px; color: rgba(255,220,180,0.85); line-height: 1.72; margin: 0; font-weight: 500; }

/* ── Equipo V2: Área de trabajo (sobre cream) ─────────── */
.equipo-area { margin-bottom: 56px; }
.equipo-area__header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 24px; padding-bottom: 16px; border-bottom: 1.5px solid var(--border-cream); }
.equipo-area__label-micro { font-size: 16px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--terra-dark); margin-bottom: 4px; }
.equipo-area__title { font-size: 42px; font-weight: 900; color: var(--text-dark); margin: 0; }
.equipo-area__badge { background: var(--cream-light); border: 1.5px solid var(--border-cream); border-radius: 40px; padding: 7px 18px; font-size: 20px; font-weight: 700; color: var(--terra-dark); }
.equipo-area-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px; }
.equipo-area-card { background: var(--cream-card); border: 1.5px solid var(--border-cream); border-radius: 22px; overflow: hidden; display: flex; }
.equipo-area-card__photo { width: 34%; flex-shrink: 0; min-height: 160px; background: var(--cream-light) center/cover no-repeat; }
.equipo-area-card__info { flex: 1; padding: 22px 20px; min-width: 0; }
.equipo-area-card__name { font-size: 24px; font-weight: 800; color: var(--text-dark); margin-bottom: 4px; }
.equipo-area-card__rol  { font-size: 20px; font-weight: 600; color: var(--orange); margin-bottom: 8px; }
.equipo-area-card__bio  { font-size: 18px; color: var(--stat-brown); line-height: 1.6; margin: 0; }

/* ── Equipo V2: Directorio (sobre purple) ─────────────── */
.equipo-directorio-layout { display: flex; gap: 80px; align-items: flex-start; }
.equipo-directorio-left { flex: 1; min-width: 0; }
.equipo-directorio-right { flex: 2; display: flex; flex-direction: column; gap: 12px; }
.equipo-dir-row { background: rgba(255,255,255,0.12); border: 1px solid rgba(255,255,255,0.22); border-radius: 18px; padding: 22px 28px; display: flex; align-items: center; justify-content: space-between; }
.equipo-dir-row__name { font-size: 24px; font-weight: 700; color: #fff; }
.equipo-dir-row__cargo { font-size: 20px; font-weight: 600; color: rgba(255,255,255,0.78); }

/* ── Apoyo V2: Hero (sobre amarillo #FDB81F) ─────────── */
.apoyo-hero { padding: 80px 60px 72px; background: var(--yellow-cta); position: relative; overflow: hidden; }
.apoyo-hero__inner { max-width: 1160px; margin: 0 auto; display: flex; gap: 72px; align-items: center; position: relative; z-index: 1; animation: fadeUp 0.82s cubic-bezier(0.22,1,0.36,1) both; }
.apoyo-hero__h1 { font-size: 126px; font-weight: 900; color: var(--orange-dark); line-height: 0.92; letter-spacing: -0.04em; margin-bottom: 26px; }
.apoyo-hero__sub { font-size: 26px; color: rgba(102,102,102,0.82); line-height: 1.76; margin: 0 0 32px; font-weight: 500; max-width: 400px; }
.apoyo-hero__img { flex: 1; min-width: 0; flex-shrink: 0; position: relative; }
.apoyo-hero__img-organic { height: 460px; border-radius: 48% 52% 44% 56% / 44% 56% 48% 52%; box-shadow: 0 24px 64px rgba(0,0,0,0.22); border: 3px solid rgba(255,255,255,0.45); background: var(--cream-light) center/cover no-repeat; position: relative; z-index: 1; }
.apoyo-hero__sub-note { font-size: 18px; color: rgba(102,102,102,0.72); margin: 14px 0 0; font-weight: 500; }
.btn--dark { background: var(--orange-dark); color: #fff; padding: 20px 56px; font-size: 27px; font-weight: 800; border-radius: 40px; box-shadow: 0 8px 28px rgba(0,0,0,0.20); }

/* ── Apoyo V2: Destino (sobre naranja) ───────────────── */
.apoyo-destino-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.apoyo-destino-card { background: rgba(255,255,255,0.95); border-radius: 24px; padding: 36px 28px; text-align: center; }
.apoyo-destino-card__icon { width: 60px; height: 60px; background: var(--cream-light); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 18px; border: 2px solid var(--border-cream); }
.apoyo-destino-card__title { font-size: 28px; font-weight: 800; color: var(--orange-dark); margin: 0 0 10px; }
.apoyo-destino-card__desc { font-size: 20px; color: var(--text-terra); line-height: 1.65; margin: 0; font-weight: 500; }

/* ── Apoyo V2: Tiers (sobre cream) ──────────────────── */
.apoyo-benefit-list { list-style: none; padding: 0; margin: 0 0 32px; display: flex; flex-direction: column; gap: 10px; }
.apoyo-benefit-item { display: flex; align-items: center; gap: 12px; }
.apoyo-benefit-check { width: 22px; height: 22px; background: var(--cream-light); border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; border: 1.5px solid var(--border-cream); }
.apoyo-benefit-text { font-size: 22px; color: var(--text-terra); font-weight: 500; }
.apoyo-tier-impact-list { display: flex; flex-direction: column; gap: 10px; }
.apoyo-tier-impact-item { display: flex; align-items: flex-start; gap: 12px; }
.apoyo-tier-impact-dot { width: 6px; height: 6px; background: var(--orange); border-radius: 50%; flex-shrink: 0; margin-top: 6px; }
.apoyo-tier-impact-text { font-size: 22px; color: var(--text-terra); font-weight: 500; }

/* ── Apoyo V2: Elegir cómo aportar (sobre cream) ────── */
/* 92px = los 76px del header sticky en escritorio (64px en móvil) + aire,
   para que el título no quede tapado al llegar desde el ancla del hero. */
.apoyo-elige { scroll-margin-top: 92px; }
.apoyo-elige__titulo { font-size: 51px; font-weight: 900; color: var(--text-dark); letter-spacing: -0.02em; margin: 0 0 14px; text-align: center; }
.apoyo-elige__sub { font-size: 24px; color: var(--text-terra); line-height: 1.7; margin: 0 auto 44px; font-weight: 500; max-width: 560px; text-align: center; }
.apoyo-opciones { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; align-items: stretch; }
.apoyo-opcion { background: #fff; border: 1.5px solid var(--border-cream); border-radius: 28px; padding: 44px 40px; display: flex; flex-direction: column; }
.apoyo-opcion--destacada { border: 2.5px solid var(--orange); box-shadow: 0 8px 40px rgba(242,121,39,0.10); }
/* align-self:flex-start es lo que encoge la píldora al ancho de su texto:
   como es hijo de un flex column, un display:inline-block aquí no haría nada. */
.apoyo-opcion__badge { align-self: flex-start; background: var(--cream-light); border: 1.5px solid var(--border-cream); color: var(--terra-dark); font-size: 16px; font-weight: 700; letter-spacing: .10em; text-transform: uppercase; padding: 5px 14px; border-radius: 20px; margin-bottom: 18px; }
.apoyo-opcion--destacada .apoyo-opcion__badge { background: var(--orange); border-color: var(--orange); color: #fff; font-weight: 800; }
.apoyo-opcion__titulo { font-size: 45px; font-weight: 900; color: var(--text-dark); margin: 0 0 14px; letter-spacing: -0.02em; }
.apoyo-opcion__desc { font-size: 22px; color: var(--text-terra); line-height: 1.78; margin: 0 0 28px; font-weight: 500; }
.apoyo-opcion__lista-label { font-size: 20px; font-weight: 700; color: var(--terra-dark); margin-bottom: 16px; text-transform: uppercase; letter-spacing: .08em; }
/* margin-top:auto empuja el botón al pie para que las dos tarjetas
   terminen parejas aunque sus textos midan distinto. */
.apoyo-opcion__cta { margin-top: auto; padding-top: 28px; }

/* ── Apoyo V2: FAQ (sobre naranja) ──────────────────── */
.apoyo-faq { max-width: 860px; margin: 0 auto; }
.apoyo-faq-card { background: rgba(255,255,255,0.92); border-radius: 18px; padding: 24px 28px; margin-bottom: 10px; }
.apoyo-faq-card:last-child { margin-bottom: 0; }
.apoyo-faq-q { font-size: 24px; font-weight: 700; color: var(--orange-dark); margin-bottom: 8px; }
.apoyo-faq-a { font-size: 21px; color: var(--text-terra); line-height: 1.72; margin: 0; font-weight: 500; }

/* ── Contacto V2: layout cream ───────────────────────── */
.contacto-v2-layout { display: flex; gap: 80px; align-items: flex-start; }
.contacto-v2-form { flex: 1.4; min-width: 0; animation: fadeUp 0.82s cubic-bezier(0.22,1,0.36,1) both; }
.contacto-v2-info { flex: 1; min-width: 0; padding-top: 120px; }
.contacto-v2-info-item { display: flex; gap: 16px; align-items: flex-start; margin-bottom: 28px; }
.contacto-v2-info-icon { width: 44px; height: 44px; background: var(--cream-light); border: 1.5px solid var(--border-cream); border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.contacto-v2-info-text { flex: 1; min-width: 0; }
.contacto-v2-info-label { font-size: 21px; font-weight: 700; color: var(--text-dark); margin-bottom: 4px; }
.contacto-v2-info-value { font-size: 21px; color: var(--text-terra); font-weight: 500; line-height: 1.6; overflow-wrap: break-word; }
.contacto-v2-map { height: 340px; border-radius: 20px; overflow: hidden; background: var(--cream-light); }
.contacto-v2-map iframe { display: block; width: 100%; height: 100%; border: none; }
.contacto-v2-banner { display: flex; gap: 48px; align-items: center; background: rgba(255,255,255,0.12); border: 1px solid rgba(255,255,255,0.25); border-radius: 24px; padding: 36px 48px; position: relative; z-index: 1; }
.contacto-v2-banner__icon { width: 48px; height: 48px; background: rgba(255,255,255,0.15); border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; border: 1px solid rgba(255,255,255,0.30); }
.contacto-v2-banner__title { font-size: 24px; font-weight: 700; color: #fff; margin-bottom: 6px; }
.contacto-v2-banner__desc { font-size: 21px; color: rgba(255,255,255,0.88); font-weight: 500; }
.btn--gold { background: #fff; color: #F25430; font-size: 21px; font-weight: 800; padding: 14px 32px; border-radius: 40px; white-space: nowrap; }

/* ── Consentimiento de datos (Ley 21.719) ───────────── */
/* Área de clic cómoda y texto legible: es una decisión informada, no
   letra chica. El checkbox no se achica en flex. */
.hcsc-consent { display: flex; gap: 12px; align-items: flex-start; margin: 4px 0 14px; cursor: pointer; }
.hcsc-consent input[type="checkbox"] { flex-shrink: 0; width: 22px; height: 22px; margin-top: 2px; accent-color: var(--orange); cursor: pointer; }
.hcsc-consent span { font-size: 18px; line-height: 1.6; color: var(--text-terra); font-weight: 500; }

/* ── Hazte Socio ───────────────────────── */
.socio-wrap { max-width: 560px; margin: 0 auto; }
.socio-titulo { font-size: 51px; font-weight: 900; color: var(--text-dark); letter-spacing: -0.02em; margin: 0 0 12px; text-align: center; }
.socio-sub { font-size: 22px; color: var(--text-terra); line-height: 1.7; margin: 0 0 36px; font-weight: 500; text-align: center; }
.socio-form { background: #fff; border: 1.5px solid var(--border-cream); border-radius: 24px; padding: 36px 32px; }
.socio-label { font-size: 18px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--terra-dark); margin: 22px 0 12px; }
.socio-label:first-of-type { margin-top: 0; }
.socio-montos { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.socio-monto { position: relative; }
.socio-monto input { position: absolute; opacity: 0; width: 0; height: 0; }
.socio-monto span { display: block; text-align: center; padding: 14px; border: 1.5px solid var(--border-cream); border-radius: 12px; font-size: 22px; font-weight: 800; color: var(--text-dark); background: var(--cream-light); cursor: pointer; }
.socio-monto input:checked + span { border-color: var(--orange); border-width: 2.5px; background: #fff; color: var(--orange); }
.socio-monto input:focus-visible + span { outline: 2px solid var(--orange); outline-offset: 2px; }
.socio-input { width: 100%; padding: 14px 16px; border: 1.5px solid var(--border-cream); border-radius: 12px; font-size: 20px; font-family: inherit; color: var(--text-dark); background: var(--cream-light); margin-top: 10px; }
.socio-aviso { font-size: 19px; line-height: 1.6; color: var(--terra-dark); background: var(--cream-light); border: 1.5px solid var(--border-cream); border-radius: 12px; padding: 14px 16px; margin: 14px 0 0; font-weight: 600; }
.socio-retorno { font-size: 20px; line-height: 1.6; padding: 16px 18px; border-radius: 12px; margin: 0 0 24px; font-weight: 600; text-align: center; }
.socio-retorno--ok { background: #eaf6ee; border: 1.5px solid #9fd3b0; color: #1f5b32; }
.socio-retorno--error { background: var(--cream-light); border: 1.5px solid var(--border-cream); color: var(--terra-dark); }
.socio-nota { font-size: 17px; color: var(--text-terra); line-height: 1.6; margin: 14px 0 0; text-align: center; font-weight: 500; }
.socio-baja { font-size: 19px; color: var(--text-dark); line-height: 1.7; margin: 22px 0 0; text-align: center; font-weight: 600; }
.socio-salida { font-size: 19px; color: var(--text-terra); line-height: 1.7; margin: 22px 0 0; text-align: center; font-weight: 500; }
.socio-salida a, .socio-baja a { color: var(--orange); font-weight: 700; overflow-wrap: anywhere; }
/* El botón hereda white-space:nowrap de .btn; a lo ancho completo en móvil,
   un texto largo ("Continuar al pago seguro") no cabe en una línea y
   desborda la página en vez de ajustar altura. */
.socio-form button[type="submit"] { white-space: normal; line-height: 1.3; }

/* ── Formularios V2 en fondo cream ───────────────────── */
.cream-form-field { margin-bottom: 16px; }
.cream-form-field label { font-size: 20px; font-weight: 700; color: var(--text-terra); display: block; margin-bottom: 7px; }
.cream-form input[type="text"],
.cream-form input[type="email"],
.cream-form input[type="tel"],
.cream-form select,
.cream-form textarea,
.cream-form .wpcf7-form-control { width: 100%; background: var(--cream-card); border: 1.5px solid var(--border-cream); border-radius: 14px; padding: 14px 18px; font-size: 22px; color: var(--text-dark); font-family: 'Century Gothic', sans-serif; outline: none; transition: border-color 0.15s; box-sizing: border-box; font-weight: 500; }
.cream-form input:focus,
.cream-form select:focus,
.cream-form textarea:focus,
.cream-form .wpcf7-form-control:focus { border-color: var(--orange); }
.cream-form textarea,
.cream-form .wpcf7-textarea { min-height: 140px; resize: vertical; line-height: 1.6; }
.cream-form select { appearance: none; }
.cream-form .wpcf7-submit { background: var(--yellow-cta); color: #fff; border: none; font-family: 'Century Gothic',sans-serif; font-size: 24px; font-weight: 800; padding: 16px 44px; border-radius: 40px; cursor: pointer; box-shadow: 0 6px 28px rgba(242,121,39,0.30); transition: transform .15s ease; }
.cream-form .wpcf7-submit:hover { transform: translateY(-2px); }
.cream-form .wpcf7-not-valid-tip { font-size: 20px; color: #dc2626; margin-top: 4px; display: block; }
.cream-form .wpcf7-response-output { border-radius: 10px; padding: 14px 20px; font-size: 22px; margin-top: 16px; }
.cream-form label { display: block; font-size: 20px; font-weight: 700; color: var(--text-terra); margin-bottom: 7px; }
.cream-form label small { font-weight: 500; color: var(--stat-brown); font-size: 16px; }
.cream-form .field { margin-bottom: 16px; }
.cream-form .wpcf7-form-control-wrap { display: block; }
.cream-form .wpcf7-submit { width: 100%; text-align: center; }
.cream-form p { margin: 0 0 16px; padding: 0; }
.cream-form input[type="file"] { padding: 10px 18px; cursor: pointer; }
/* La casilla de consentimiento que el tema inyecta en los formularios de CF7
   llega con la clase .wpcf7-form-control, la misma de las cajas de texto: con
   ese disfraz se ve como un panel con borde y, al ser un span en línea, su
   padding lateral desborda la pantalla en móvil. Aquí queda igual que la del
   formulario nativo (.hcsc-consent). */
.cream-form .wpcf7-acceptance { display: block; width: auto; background: none; border: 0; border-radius: 0; padding: 0; font-size: inherit; }
.cream-form .wpcf7-acceptance .wpcf7-list-item { margin: 0; display: block; }
.cream-form .wpcf7-acceptance label { display: flex; gap: 12px; align-items: flex-start; margin: 0; font-weight: 500; cursor: pointer; }
.cream-form .wpcf7-acceptance input[type="checkbox"] { flex-shrink: 0; width: 22px; height: 22px; margin-top: 2px; accent-color: var(--orange); cursor: pointer; }
.cream-form .wpcf7-acceptance .wpcf7-list-item-label { font-size: 18px; line-height: 1.6; color: var(--text-terra); font-weight: 500; }
/* Native cream form */
.cream-native-form input,
.cream-native-form select,
.cream-native-form textarea { width: 100%; background: var(--cream-card); border: 1.5px solid var(--border-cream); border-radius: 14px; padding: 14px 18px; font-size: 22px; color: var(--text-dark); font-family: 'Century Gothic',sans-serif; outline: none; transition: border-color .15s; box-sizing: border-box; font-weight: 500; }
.cream-native-form input:focus,
.cream-native-form select:focus,
.cream-native-form textarea:focus { border-color: var(--orange); }
.cream-native-form textarea { min-height: 150px; resize: vertical; line-height: 1.6; }
.cream-native-form select { appearance: none; }
.cream-native-form label { display: block; font-size: 20px; font-weight: 700; color: var(--text-terra); margin-bottom: 7px; }
.cream-native-form .field { margin-bottom: 16px; }

/* ── Denuncias V2: Garantías (sobre cream) ───────────── */
.den-v2-garantias { display: flex; flex-direction: column; gap: 12px; margin-bottom: 8px; }
.den-v2-garantia { display: flex; gap: 16px; align-items: flex-start; background: var(--cream-card); border: 1.5px solid var(--border-cream); border-radius: 18px; padding: 22px 24px; }
.den-v2-garantia__icon { width: 40px; height: 40px; background: var(--cream-light); border: 1.5px solid var(--border-cream); border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.den-v2-garantia__title { font-size: 22px; font-weight: 800; color: var(--text-dark); margin-bottom: 5px; }
.den-v2-garantia__desc { font-size: 20px; color: var(--text-terra); line-height: 1.65; margin: 0; font-weight: 500; }
/* ── Denuncias: canales externos ─────────────────────── */
/* Mismo lenguaje visual que .den-v2-emergencia para que se lean como
   parte del mismo grupo de "a dónde acudir", sin competirle en urgencia. */
.den-v2-externos { background: #fff; border: 1.5px solid var(--border-cream); border-radius: 18px; padding: 24px; margin-top: 16px; }
.den-v2-externos__title { font-size: 21px; font-weight: 700; color: var(--terra-dark); margin-bottom: 8px; }
.den-v2-externos__desc { font-size: 20px; color: var(--text-terra); line-height: 1.65; margin: 0 0 16px; font-weight: 500; }
.den-v2-externo { padding: 14px 0; border-top: 1.5px solid var(--cream-light); }
.den-v2-externo:first-of-type { border-top: 0; padding-top: 0; }
.den-v2-externo__nombre { font-size: 20px; font-weight: 800; color: var(--text-dark); margin-bottom: 4px; }
.den-v2-externo__desc { font-size: 19px; color: var(--text-terra); line-height: 1.6; margin: 0 0 6px; font-weight: 500; }
.den-v2-externo__contacto { font-size: 19px; font-weight: 700; color: var(--orange); overflow-wrap: anywhere; }
.den-v2-externo__contacto a { color: inherit; text-decoration: underline; }
.den-v2-emergencia { background: var(--cream-light); border: 1.5px solid var(--border-cream); border-radius: 18px; padding: 24px; }
.den-v2-emergencia__title { font-size: 21px; font-weight: 700; color: var(--terra-dark); margin-bottom: 8px; }
.den-v2-emergencia__desc { font-size: 20px; color: var(--text-terra); line-height: 1.65; margin: 0 0 10px; font-weight: 500; }
.den-v2-emergencia__chips { display: flex; gap: 12px; flex-wrap: wrap; }
.den-v2-emergencia__chip { background: #fff; border: 1.5px solid var(--border-cream); border-radius: 40px; padding: 6px 16px; font-size: 20px; font-weight: 700; color: var(--text-dark); }

/* ── Nosotros V2: spine connector ───────────────────── */
.nos-connector { display: flex; flex-direction: column; align-items: center; background: var(--cream); padding: 4px 0; }
.nos-connector-line { width: 2px; height: 40px; background: var(--border-cream); }
.nos-connector-dot { width: 8px; height: 8px; background: var(--border-cream); border-radius: 50%; }
.nos-spine-start { padding: 16px 0 0; display: flex; flex-direction: column; align-items: center; background: var(--cream); }
.nos-spine-end { padding-bottom: 32px; display: flex; flex-direction: column; align-items: center; background: var(--cream); }
.nos-spine-dot { width: 14px; height: 14px; background: var(--orange); border-radius: 50%; box-shadow: 0 0 0 4px rgba(242,121,39,0.15); }
.nos-spine-line { width: 2px; height: 32px; }
.nos-2008 { padding: 0 60px; background: var(--cream); }
.nos-2008__inner { max-width: 1140px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1.5fr; gap: 56px; align-items: center; padding: 12px 0 56px; }
.nos-2008__year-bg { font-size: 144px; font-weight: 900; color: rgba(242,121,39,0.08); line-height: 1; margin-bottom: -36px; letter-spacing: -0.04em; user-select: none; }
.nos-2008__heading-wrap { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 18px; }
.nos-2008__bar { width: 4px; min-height: 40px; background: var(--orange); border-radius: 2px; flex-shrink: 0; margin-top: 6px; }
.nos-2008__h2 { font-size: 48px; font-weight: 900; color: var(--text-dark); margin: 0; line-height: 1.15; }
.nos-2008__desc { font-size: 26px; color: var(--text-terra); line-height: 1.82; margin: 0; font-weight: 500; }
.nos-2008__img { border-radius: 48% 52% 44% 56% / 52% 48% 56% 44%; overflow: hidden; height: 540px; background: var(--cream-light) center/cover no-repeat; box-shadow: 0 16px 48px rgba(242,121,39,0.18); border: 2.5px solid var(--border-cream); }
.nos-mv-v2 { max-width: 920px; margin: 0 auto; padding: 0 0 56px; }
.nos-mv-v2-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.nos-mv-v2-grid--single { grid-template-columns: 1fr; }
.nos-mv-v2-card { background: var(--cream-card); border: 1.5px solid var(--border-cream); border-radius: 4px 4px 24px 24px; padding: 36px; }
.nos-mv-v2-card--mision { border-top: 4px solid var(--orange); }
.nos-mv-v2-card--vision { border-top: 4px solid var(--border-cream); }
.nos-mv-v2-card__label { font-size: 16px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--terra-dark); margin-bottom: 14px; }
.nos-mv-v2-card--vision .nos-mv-v2-card__label { color: var(--stat-brown); }
.nos-mv-v2-card__text { font-size: 26px; color: var(--text-dark); line-height: 1.78; margin: 0; font-weight: 600; font-style: italic; }
.nos-mv-v2-card--vision .nos-mv-v2-card__text { color: var(--text-terra); font-weight: 500; }
.nos-valores-v2 { max-width: 920px; margin: 0 auto; padding: 0 0 56px; }
.nos-valores-v2-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.nos-valor-v2-card { background: var(--cream-card); border: 1.5px solid var(--border-cream); border-radius: 24px; padding: 32px; display: flex; gap: 20px; align-items: flex-start; min-width: 0; }
.nos-valor-v2-card__icon { width: 44px; height: 44px; background: var(--cream-light); border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; border: 1.5px solid var(--border-cream); }
.nos-valor-v2-card__body { flex: 1; min-width: 0; }
.nos-valor-v2-card__title { font-size: 27px; font-weight: 800; color: var(--text-dark); margin: 0 0 7px; }
.nos-valor-v2-card__desc { font-size: 22px; color: var(--text-terra); line-height: 1.72; margin: 0; font-weight: 500; overflow-wrap: break-word; }
.nos-hitos-heading { max-width: 920px; margin: 0 auto; padding: 0 0 40px; }
.nos-hito-band { padding: 64px 60px; position: relative; overflow: hidden; }
.nos-hito-band--cream { background: var(--cream); }
.nos-hito-band--orange { background: var(--orange); }
.nos-hito-band__inner { max-width: 720px; margin: 0 auto; text-align: center; position: relative; z-index: 1; }
.nos-hito-band__bg-year { font-size: 210px; font-weight: 900; line-height: 1; letter-spacing: -0.04em; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); z-index: 0; user-select: none; color: rgba(242,121,39,0.07); }
.nos-hito-band--orange .nos-hito-band__bg-year { color: rgba(255,255,255,0.12); }
.nos-hito-band__today { display: inline-block; background: var(--yellow-cta); color: var(--orange-dark); font-size: 18px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; padding: 5px 16px; border-radius: 40px; margin-bottom: 14px; }
.nos-hito-band--orange .nos-hito-band__today { background: #fff; color: var(--orange); }
.nos-hito-band__year { font-size: 36px; font-weight: 900; color: var(--orange); margin-bottom: 12px; letter-spacing: -0.01em; }
.nos-hito-band--orange .nos-hito-band__year { color: #fff; }
.nos-hito-band__title { font-size: 36px; font-weight: 800; color: var(--text-dark); margin: 0 0 12px; line-height: 1.3; }
.nos-hito-band--orange .nos-hito-band__title { color: #fff; }
.nos-hito-band__desc { font-size: 26px; color: var(--text-terra); line-height: 1.72; margin: 0; font-weight: 500; }
.nos-hito-band--orange .nos-hito-band__desc { color: rgba(255,255,255,0.92); }

/* ── Transparencia V2: cream docs ────────────────────── */
.trans-v2-group { margin-bottom: 56px; }
.trans-v2-group-header { margin-bottom: 24px; padding-bottom: 16px; border-bottom: 1.5px solid var(--border-cream); }
.trans-v2-group-title { font-size: 33px; font-weight: 800; color: var(--text-dark); margin: 0; }
.trans-v2-grid { display: grid; gap: 14px; }
.trans-v2-grid--4 { grid-template-columns: repeat(4,1fr); }
.trans-v2-grid--3 { grid-template-columns: repeat(3,1fr); }
.trans-v2-doc-card { background: var(--cream-card); border: 1.5px solid var(--border-cream); border-radius: 18px; padding: 24px 22px; display: flex; flex-direction: column; gap: 12px; text-decoration: none; color: inherit; transition: background .15s, border-color .15s; }
.trans-v2-doc-card:hover { background: var(--cream-light); border-color: var(--gold-link); }
.trans-v2-doc-card__name { font-size: 24px; font-weight: 800; color: var(--text-dark); }
.trans-v2-doc-card__sub { font-size: 18px; color: var(--stat-brown); font-weight: 500; }
.trans-v2-doc-card__dl { font-size: 20px; font-weight: 700; color: var(--orange); margin-top: auto; }
.trans-v2-cta { display: flex; gap: 72px; align-items: center; position: relative; z-index: 1; }
.trans-v2-cta-badge { display: inline-flex; align-items: center; gap: 8px; background: rgba(255,255,255,0.15); border: 1px solid rgba(255,255,255,0.30); border-radius: 40px; padding: 7px 18px; margin-bottom: 18px; }
.trans-v2-cta-badge__text { font-size: 20px; font-weight: 700; color: #fff; }
.trans-v2-cta__h2 { font-size: 48px; font-weight: 900; color: #fff; margin: 0 0 14px; letter-spacing: -0.015em; }
.trans-v2-cta__desc { font-size: 26px; color: #fff; line-height: 1.78; margin: 0; max-width: 480px; font-weight: 500; }

/* ── Transparencia V2: tarjetas identificación institucional ── */
.trans-v2-info-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; align-items: stretch; }
.trans-v2-info-card { background: var(--cream-card); border: 1.5px solid var(--border-cream); border-radius: 22px; padding: 28px 26px; }
.trans-v2-info-card__title { font-size: 21px; font-weight: 800; color: var(--text-dark); margin: 0 0 18px; letter-spacing: -0.005em; }
.trans-v2-info-row { display: flex; flex-direction: column; gap: 3px; padding: 11px 0; border-top: 1px solid var(--border-cream); }
.trans-v2-info-row:first-of-type { border-top: none; padding-top: 0; }
.trans-v2-info-row__label { font-size: 16px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--terra-dark); }
.trans-v2-info-row__value { font-size: 21px; font-weight: 600; color: var(--text-dark); line-height: 1.4; word-break: break-word; }
.trans-v2-info-card__text { font-size: 20px; color: var(--text-terra); line-height: 1.74; margin: 0; }

/* ── Denuncias: 2-col formulario + proceso ───────────── */
.den-layout { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 60px; align-items: start; }
.den-proceso-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.den-proceso { background: rgba(255,255,255,.05); border-radius: 20px; padding: 32px; }
.den-proceso h3 { font-size: 26px; font-weight: 900; color: #fff; margin: 0 0 24px; }
.den-paso { display: flex; gap: 14px; margin-bottom: 22px; }
.den-paso:last-child { margin-bottom: 0; }
.den-paso__num { width: 30px; height: 30px; border-radius: 50%; background: var(--orange); color: #fff; font-size: 20px; font-weight: 900; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.den-paso__titulo { font-size: 21px; font-weight: 800; color: #fff; margin: 0 0 4px; }
.den-paso__desc   { font-size: 20px; color: rgba(255,255,255,.85); line-height: 1.65; margin: 0; }
.den-emergencia { margin-top: 24px; padding: 18px 20px; background: rgba(242,121,39,.12); border-radius: 12px; border-left: 3px solid var(--orange); }
.den-emergencia p { font-size: 20px; color: rgba(255,255,255,.82); line-height: 1.65; margin: 0 0 5px; }
.den-emergencia p:last-child { margin: 0; }
.den-emergencia strong { color: #fff; }

/* ── Formularios en fondo oscuro ─────────────────────── */
.dark-form .wpcf7-form-control.wpcf7-text,
.dark-form .wpcf7-form-control.wpcf7-email,
.dark-form .wpcf7-form-control.wpcf7-select,
.dark-form .wpcf7-form-control.wpcf7-file,
.dark-form .wpcf7-form-control.wpcf7-textarea { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.15); color: #fff; }
.dark-form .wpcf7-form-control::placeholder { color: rgba(255,255,255,.35); }
.dark-form .wpcf7-form-control:focus { border-color: var(--orange); }
.dark-form .cf7-field label { color: rgba(255,255,255,.88); }
.dark-form select.wpcf7-select option { background: #2A0C00; color: #fff; }
.dark-form .wpcf7-submit { background: var(--orange); color: #fff; border: none; font-family: 'Century Gothic',sans-serif; font-size: 26px; font-weight: 800; padding: 14px 36px; border-radius: 60px; cursor: pointer; transition: background .2s; }
.dark-form .wpcf7-submit:hover { background: var(--terra-dark); }
/* Native dark form fallback */
.dark-native-form input,
.dark-native-form select,
.dark-native-form textarea { width:100%; font-family:'Century Gothic',sans-serif; font-size:22px; font-weight:500; padding:12px 16px; border:2px solid rgba(255,255,255,.15); border-radius:12px; background:rgba(255,255,255,.08); color:#fff; outline:none; transition:border-color .2s; box-sizing:border-box; }
.dark-native-form input::placeholder,
.dark-native-form textarea::placeholder { color:rgba(255,255,255,.35); }
.dark-native-form input:focus,
.dark-native-form select:focus,
.dark-native-form textarea:focus { border-color:var(--orange); }
.dark-native-form select option { background:#2A0C00; }
.dark-native-form label { display:block; font-size:21px; font-weight:700; color:rgba(255,255,255,.88); margin-bottom:7px; }
.dark-native-form .field { margin-bottom:18px; }
.dark-native-form textarea { min-height:120px; resize:vertical; }

/* ── Responsive ──────────────────────────────────────── */
@media (max-width: 1024px) {
  .hero__inner      { gap: 40px; }
  .hero__title      { font-size: 72px; }
  .quienes__inner   { gap: 48px; }
  .ayudar__card-main { padding: 40px; gap: 40px; }
  .transparencia__inner { gap: 48px; }
  .site-footer__grid { gap: 48px; }
}
@media (max-width: 960px) {
  .socio-titulo { font-size: 38px; }
  .socio-sub { font-size: 20px; }
  .socio-form { padding: 26px 20px; }
  .site-header { padding: 0 24px; height: 64px; }
  .site-header__nav { display: none; }
  .site-header__logo img { height: 40px; }
  .nav-toggle { display: flex; }
  .site-header__nav.is-open {
    display: flex; position: fixed;
    top: 64px; left: 0; right: 0; bottom: 0;
    width: 100%; height: calc(100vh - 64px);
    background: var(--orange);
    flex-direction: column; align-items: center; justify-content: center;
    gap: 32px; z-index: 99;
    list-style: none; margin: 0; padding: 0;
  }
  .site-header__nav.is-open li a { font-size: 33px; font-weight: 700; color: #fff; }
  .site-header__nav.is-open .current-menu-item > a { color: var(--text-dark); }
  .site-header .btn--nav-cta { padding: 9px 16px; font-size: 20px; }
  .hero { padding: 48px 24px 40px; }
  .hero__inner { flex-direction: column; gap: 36px; }
  .hero__title { font-size: 57px; }
  .hero__desc  { font-size: 27px; }
  .hero__right { width: 100%; max-width: 460px; margin: 0 auto; }
  .hero__img   { height: 460px; }
  .hero__stats { gap: 28px; }
  .hero__stat-num { font-size: 48px; }
  .quienes { padding: 40px 24px; }
  .quienes__inner { flex-direction: column; gap: 32px; }
  .quienes__img   { height: 300px; width: 100%; flex: none; }
  .quienes__title { font-size: 45px; }
  .cita { padding: 48px 24px; }
  .cita__bg    { display: none; }
  .cita__text  { position: relative; width: 100%; min-height: 0; padding: 36px 28px; background: var(--orange); border-radius: 20px; z-index: 1; }
  .cita__quote { font-size: 33px; }
  .cita__img   { position: relative; right: auto; top: auto; bottom: auto; width: 100%; height: 260px; border-radius: 16px; margin-top: 16px; }
  .transparencia { padding: 40px 24px 64px; }
  .transparencia__inner { flex-direction: column; gap: 40px; }
  .transparencia__title { font-size: 36px; }
  .transparencia__grid  { grid-template-columns: 1fr; }
  .site-footer { padding: 48px 24px 32px; }
  .site-footer__grid { flex-direction: column; gap: 36px; }
  .page-hero { padding: 56px 24px 48px; }
  .page-hero__title { font-size: 54px; }
  .page-section { padding: 48px 24px; }
  /* V2: Equipo */
  .equipo-dir-grid { grid-template-columns: 1fr; }
  /* Se mantiene la tarjeta horizontal de escritorio. Apilada a todo el ancho,
     la foto ocupaba media pantalla en celular y, con tope de alto, se cortaba
     abajo en pantallas medianas. A 38% y en 4:5 —la misma proporción de la
     imagen hcsc-equipo— la foto sale completa en cualquier ancho. */
  .equipo-dir-card, .equipo-area-card { align-items: flex-start; }
  .equipo-dir-card__photo,
  .equipo-area-card__photo { width: 38%; min-height: 0; aspect-ratio: 4 / 5; background-position: center top; }
  .equipo-dir-card__info { padding: 16px; }
  .equipo-dir-card__name { font-size: clamp(24px, 5vw, 33px); }
  .equipo-area-grid { grid-template-columns: 1fr; }
  .equipo-area-card__info { padding: 14px; }
  /* Bajo ~380px el título del área y la píldora "N personas" no caben en una línea. */
  .equipo-area__header { flex-wrap: wrap; gap: 8px 16px; }
  .equipo-directorio-layout { flex-direction: column; gap: 36px; }
  /* V2: Nosotros */
  .nos-2008__inner { grid-template-columns: 1fr; gap: 32px; }
  .nos-2008 { padding: 0 24px; }
  .nos-2008__year-bg { font-size: 96px; }
  .nos-2008__img { height: 380px; }
  .nos-mv-v2 { padding: 0 24px 40px; }
  .nos-mv-v2-grid { grid-template-columns: 1fr; }
  .nos-valores-v2 { padding: 0 24px 40px; }
  .nos-valores-v2-grid { grid-template-columns: 1fr; }
  .nos-hitos-heading { padding: 0 24px 32px; }
  .nos-hito-band { padding: 48px 24px; }
  .nos-hito-band__bg-year { font-size: 120px; }
  /* V2: Transparencia */
  .trans-v2-grid--4 { grid-template-columns: 1fr 1fr; }
  .trans-v2-grid--3 { grid-template-columns: 1fr; }
  .trans-v2-cta { flex-direction: column; gap: 28px; }
  .trans-v2-info-grid { grid-template-columns: 1fr; }
  /* V2: Donaciones */
  .apoyo-hero { padding: 56px 24px 48px; }
  .apoyo-hero__inner { flex-direction: column; gap: 36px; }
  .apoyo-hero__img { display: none; }
  .apoyo-hero__h1 { font-size: 66px; }
  .apoyo-destino-grid { grid-template-columns: 1fr 1fr; }
  .apoyo-opciones { grid-template-columns: 1fr; gap: 20px; }
  .apoyo-opcion { padding: 32px 24px; }
  /* Apiladas, los h3 de las tarjetas no pueden quedar más grandes que el h2
     que las encabeza (que baja a 40px más abajo en este mismo bloque). */
  .apoyo-opcion__titulo { font-size: 32px; }
  .apoyo-opcion__desc { font-size: 20px; }
  /* Bajo 480px, .btn--primary se estira al 100% y .btn--outline-orange no,
     así que las dos tarjetas paralelas quedaban con botones de distinto
     ancho. Se igualan acá, que cubre los dos tamaños de teléfono. */
  .apoyo-opcion__cta .btn { display: block; width: 100%; text-align: center; }
  .apoyo-elige__titulo { font-size: 40px; }
  .apoyo-elige__sub { font-size: 21px; margin-bottom: 32px; }
  /* V2: Contacto */
  .contacto-v2-layout { flex-direction: column; align-items: stretch; gap: 40px; }
  .contacto-v2-info { padding-top: 0; }
  .contacto-v2-banner { flex-direction: column; gap: 20px; align-items: flex-start; padding: 28px 24px; }
  /* ── Ayudar homepage ─────────────────────────────── */
  .ayudar { padding-left: 24px !important; padding-right: 24px !important; }
  .ayudar-title { font-size: 51px !important; }
  .ayudar__grid { grid-template-columns: 1fr; }
  /* ── Utility: pg-band / pg-h1 ───────────────────── */
  .pg-band { padding-left: 24px !important; padding-right: 24px !important; }
  .pg-h1   { font-size: 45px !important; line-height: 1.15 !important; }
  /* ── Nosotros: galería ───────────────────────────── */
  .nos-galeria-grid { grid-template-columns: repeat(2, 1fr); }
  /* ── Denuncias: proceso ───────────────────────────── */
  .den-proceso-grid { grid-template-columns: 1fr; }
  /* ── Contacto: nombre/apellido ────────────────────── */
  .contacto-name-grid { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .hero__title { font-size: 48px; }
  .hero__buttons { flex-direction: column; }
  .btn--primary, .btn--secondary { width: 100%; text-align: center; }
  .quienes__buttons { flex-direction: column; }
  .btn--white, .btn--ghost-white { width: 100%; text-align: center; }
  .equipo-area-grid { grid-template-columns: 1fr; }
  .apoyo-destino-grid { grid-template-columns: 1fr; }
  .trans-v2-grid--4 { grid-template-columns: 1fr; }
  .apoyo-hero__h1 { font-size: 60px; }
  .pg-h1 { font-size: 39px !important; }
  .apoyo-hero__h1 { font-size: 54px; }
  .nos-galeria-grid { grid-template-columns: 1fr; }
}

/* ── Política de privacidad ───────────────────────────── */
.privacidad-texto { font-size: 21px; color: var(--text-terra); line-height: 1.75; font-weight: 500; }
.privacidad-texto h2 { font-size: 30px; font-weight: 800; color: var(--text-dark); margin: 40px 0 14px; }
.privacidad-texto p { margin: 0 0 16px; }
.privacidad-texto ul { margin: 0 0 18px; padding-left: 24px; }
.privacidad-texto li { margin-bottom: 10px; }
.privacidad-texto a { color: var(--orange); }
@media (max-width: 768px) {
  .privacidad-responsable dl { grid-template-columns: 1fr !important; gap: 2px !important; }
  .privacidad-responsable dd { margin-bottom: 10px !important; }
}
