@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600&display=swap");

:root {
  --ink: #102a56;
  --muted: #526176;
  --purple: #5234af;
  --violet: #8864d5;
  --aqua: #3bafbd;
  --paper: #fff;
  --soft: #f7f5fb;
  --ice: #edf8fa;
  --line: #e7e5ee;
  --shadow: 0 0.75rem 2rem rgba(25, 38, 74, 0.09);
  --radius: 1.25rem;
  --max: 75rem;
  --fs-xs: clamp(0.75rem, 0.73rem + 0.08vw, 0.82rem);
  --fs-sm: clamp(0.85rem, 0.81rem + 0.12vw, 0.95rem);
  --fs-body: clamp(0.95rem, 0.9rem + 0.17vw, 1.08rem);
  --fs-h3: clamp(1.1rem, 1.02rem + 0.3vw, 1.4rem);
  --fs-h2: clamp(1.9rem, 1.4rem + 0.75vw, 1.9rem);
  --fs-h1: clamp(2.5rem, 1.7rem + 1.25vw, 2.5rem);
}
* {
  box-sizing: border-box;
}
html {
  font-size: 100%;
  scroll-behavior: smooth;
}
body {
  margin: 0;
  color: var(--ink);
  background: #fff;
  font-family: "DM Sans", Arial, sans-serif;
  font-size: var(--fs-body);
  line-height: 1.6;
}
img {
  display: block;
  width: 100%;
  height: auto;
}
a {
  color: inherit;
  text-decoration: none;
}
button,
input,
select,
textarea {
  font: inherit;
}
h1,
h2,
h3,
p {
  margin-top: 0;
}
h1,
h2,
h3 {
  font-family: "Playfair Display", Georgia, serif;
  line-height: 1.12;
}
h1 {
  font-size: var(--fs-h1);
  margin-bottom: 1.25rem;
}
h2 {
  font-size: var(--fs-h2);
  margin-bottom: 0.7rem;
}
h3 {
  font-size: var(--fs-h3);
  margin-bottom: 0.55rem;
}
p {
  font-size: var(--fs-body);
}
.skip {
  position: fixed;
  left: 1rem;
  top: -5rem;
  background: #fff;
  padding: 0.8rem;
  z-index: 100;
}
.skip:focus {
  top: 1rem;
}
.container {
  width: min(calc(100% - 2rem), var(--max));
  margin-inline: auto;
}
.section {
  padding: clamp(3.5rem, 7vw, 6.5rem) 0;
}
.section--soft {
  background: linear-gradient(120deg, #faf7ff, #eef9fb);
}
.center {
  text-align: center;
}
.eyebrow {
  font-size: var(--fs-xs);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-weight: 700;
  color: var(--purple);
}
.hero-kicker {
  margin: 0 0 0.75rem;
  color: #5234af;
  font-family: Arial, sans-serif;
  font-size: var(--fs-xs);
  font-weight: 700;
  letter-spacing: 0.14em;
  line-height: 1.3;
  text-transform: uppercase;
}
.lead {
  max-width: 44rem;
  color: var(--muted);
}
.center .lead {
  margin-inline: auto;
}

.p-cta {
  color: #ffffff;
}

/*
 * Sistema de botones
 * - .button / .button--primary: conversión principal.
 * - .button--ghost / .button--secondary: acción complementaria.
 * - .button--tertiary: enlaces de baja jerarquía, como "Conocer más".
 * - .button--aqua / .button--highlight: CTA destacado y de uso puntual.
 */
.button,
.button--primary,
.button--ghost,
.button--secondary,
.button--tertiary,
.button--aqua,
.button--highlight {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 2.75rem;
  padding: 0.75rem 1.2rem;
  border: 1px solid #102a56;
  border-radius: 999px;
  background: #102a56;
  color: #ffffff;
  font-family: Arial, sans-serif;
  font-size: var(--fs-sm);
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition:
    background-color 180ms ease,
    border-color 180ms ease,
    color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
}
.button:hover,
.button--primary:hover {
  border-color: #234b78;
  background: #234b78;
  color: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 0.55rem 1.25rem rgba(16, 42, 86, 0.18);
}
.button:active,
.button--primary:active {
  transform: translateY(0);
  box-shadow: 0 0.2rem 0.55rem rgba(16, 42, 86, 0.16);
}
.button--ghost,
.button--secondary {
  border-color: #102a56;
  background: #ffffff;
  color: #102a56;
}
.button--ghost:hover,
.button--secondary:hover {
  border-color: #526176;
  background: #f5f6f8;
  color: #526176;
  transform: translateY(-1px);
  box-shadow: 0 0.3rem 0.75rem rgba(82, 97, 118, 0.12);
}
.button--ghost:active,
.button--secondary:active {
  border-color: #526176;
  background: #edf0f3;
  color: #526176;
  transform: translateY(0);
  box-shadow: none;
}
/* Recomendación HTML: usar esta variante en los enlaces "Conocer más"
   de .journey-programs y en "Ver todas las experiencias". */
.button--tertiary {
  min-height: 2.75rem;
  padding: 0.25rem 0;
  border-color: transparent;
  border-radius: 0;
  background: transparent;
  color: #1687a5;
  box-shadow: none;
}
.button--tertiary:hover {
  border-color: transparent;
  background: transparent;
  color: #526176;
  text-decoration: underline;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.25em;
  transform: none;
  box-shadow: none;
}
.button--tertiary:active {
  color: #102a56;
  transform: none;
  box-shadow: none;
}
.button--aqua,
.button--highlight {
  border-color: transparent;
  background: linear-gradient(90deg, #3bafbd, #5234af);
  color: #ffffff;
}
.button--aqua:hover,
.button--highlight:hover {
  border-color: transparent;
  background: linear-gradient(90deg, #1687a5, #5234af);
  color: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 0.55rem 1.25rem rgba(82, 52, 175, 0.2);
}
.button--aqua:active,
.button--highlight:active {
  transform: translateY(0);
  box-shadow: 0 0.2rem 0.55rem rgba(82, 52, 175, 0.18);
}
.button:focus-visible,
.button--primary:focus-visible,
.button--secondary:focus-visible,
.button--tertiary:focus-visible,
.button--highlight:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 0.2rem solid #3bafbd;
  outline-offset: 0.2rem;
}
.button:disabled,
.button[aria-disabled="true"],
.button--primary:disabled,
.button--ghost:disabled,
.button--secondary:disabled,
.button--tertiary:disabled,
.button--aqua:disabled,
.button--highlight:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
  transform: none;
  box-shadow: none;
}
@media (prefers-reduced-motion: reduce) {
  .button,
  .button--primary,
  .button--secondary,
  .button--tertiary,
  .button--highlight {
    transition: none;
  }
}
.site-header {
  height: 5rem;
  display: flex;
  align-items: center;
  border-bottom: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.96);
  position: sticky;
  top: 0;
  z-index: 20;
}
.nav-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}
.logo {
  font-family: "Playfair Display", serif;
  font-size: 1.15rem;
  line-height: 1;
  color: var(--ink);
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
.logo-mark {
  font-size: 1.8rem;
  color: var(--aqua);
}
.nav-list {
  display: flex;
  align-items: center;
  gap: clamp(1rem, 2.4vw, 2.4rem);
  list-style: none;
  margin: 0;
  padding: 0;
}
.nav-list a {
  font-size: var(--fs-sm);
  padding: 0.7rem 0.1rem;
  border-bottom: 0.14rem solid transparent;
}
.nav-list a:hover,
.nav-list a[aria-current="page"] {
  color: var(--purple);
  border-color: var(--purple);
}
.nav-toggle {
  display: none;
  border: 0;
  background: transparent;
  font-size: 1.6rem;
  color: var(--ink);
}
.hero {
  padding: clamp(2rem, 5vw, 5rem) 0;
}
.hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(22rem, 1.1fr);
  align-items: center;
  gap: clamp(2rem, 5vw, 5rem);
}
.hero-copy {
  padding-left: max(0rem, calc((100vw - var(--max)) / 2));
}
.hero-copy p {
  max-width: 36rem;
  color: var(--muted);
}
.hero-actions {
  display: flex;
  gap: 0.8rem;
  flex-wrap: wrap;
  margin-top: 1.6rem;
}
.hero-media {
  min-height: 29rem;
  border-radius: 12rem 0 0 12rem;
  overflow: hidden;
}
.hero-media img {
  height: 100%;
  min-height: 29rem;
  object-fit: cover;
}
.hero-badges {
  display: flex;
  gap: 1rem;
  margin-top: 1.7rem;
  flex-wrap: wrap;
}
.pill {
  padding: 0.48rem 0.8rem;
  border-radius: 999px;
  background: #f0eef9;
  color: var(--purple);
  font-size: var(--fs-xs);
  font-weight: 700;
}
.grid {
  display: grid;
  gap: 1.25rem;
}
.grid-3 {
  grid-template-columns: repeat(3, 1fr);
}
.grid-4 {
  grid-template-columns: repeat(4, 1fr);
}
.card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 1.4rem;
  box-shadow: 0 0.35rem 1.1rem rgba(24, 38, 75, 0.05);
}
.card-icon {
  width: 3.3rem;
  height: 3.3rem;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #f0ebff;
  color: var(--purple);
  font-size: 1.55rem;
  margin-bottom: 1rem;
}
.card p {
  color: var(--muted);
  font-size: var(--fs-sm);
}
.program-card {
  padding: 0;
  overflow: hidden;
}
.program-card img {
  height: 13rem;
  object-fit: cover;
}
.program-card .content {
  padding: 1.35rem;
}
.program-card.featured {
  color: #fff;
  background: linear-gradient(150deg, #6945c8, #203f8a);
}
.program-card.featured p {
  color: #eee;
}
.steps {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1rem;
  position: relative;
}
.step {
  text-align: center;
}
.step b {
  display: grid;
  place-items: center;
  width: 3.5rem;
  height: 3.5rem;
  margin: 0 auto 0.8rem;
  border-radius: 50%;
  background: #fff;
  border: 1px solid #d9d5ef;
  color: var(--purple);
  font-size: 1.5rem;
}
.step p {
  font-size: var(--fs-xs);
  color: var(--muted);
}
.experience-list {
  display: grid;
  gap: 1.4rem;
}
.experience {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  overflow: hidden;
}
.experience-main {
  display: grid;
  grid-template-columns: 19rem 1fr;
  gap: 1.7rem;
  padding: 1rem;
}
.experience-main img {
  height: 14rem;
  object-fit: cover;
  border-radius: 0.9rem;
}
.meta {
  display: flex;
  gap: 0.8rem;
  flex-wrap: wrap;
  color: var(--muted);
  font-size: var(--fs-xs);
}
.tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 1rem 0;
}
.tag {
  font-size: var(--fs-xs);
  padding: 0.3rem 0.7rem;
  background: #f2effb;
  border-radius: 99px;
}
.experience-toggle {
  margin-left: auto;
}
.experience-detail {
  padding: 0 1.2rem 1.4rem;
}
.experience-detail[hidden] {
  display: none;
}
.detail-inner {
  border-top: 1px solid var(--line);
  padding-top: 1.4rem;
}
.gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.7rem;
  margin: 1rem 0;
}
.gallery img {
  height: 8rem;
  object-fit: cover;
  border-radius: 0.7rem;
}
.journey-row {
  display: grid;
  grid-template-columns: 22rem 1fr;
  gap: 2rem;
  align-items: center;
  margin-top: 2rem;
}
.journey-row:nth-child(even) {
  grid-template-columns: 1fr 22rem;
}
.journey-row:nth-child(even) img {
  order: 2;
}
.journey-row img {
  height: 20rem;
  object-fit: cover;
  border-radius: var(--radius);
}
.checklist {
  columns: 2;
  padding-left: 1.2rem;
}
.comparison {
  overflow-x: auto;
}
.comparison table {
  width: 100%;
  min-width: 45rem;
  border-collapse: collapse;
  background: #fff;
  border-radius: var(--radius);
  overflow: hidden;
}
.comparison th,
.comparison td {
  padding: 1rem;
  border: 1px solid var(--line);
  text-align: left;
}
.comparison th {
  background: #f4f0fd;
  color: var(--purple);
}
.founders {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}
.founder {
  display: grid;
  grid-template-columns: 11rem 1fr;
  gap: 1.4rem;
}
.founder img {
  height: 17rem;
  object-fit: cover;
  border-radius: 1rem;
}
.values {
  display: flex;
  justify-content: center;
  gap: 1rem;
  flex-wrap: wrap;
}
.value {
  padding: 0.7rem 1rem;
  border-radius: 99px;
  background: #fff;
  border: 1px solid var(--line);
  font-size: var(--fs-sm);
}
.contact-layout {
  display: grid;
  grid-template-columns: 1.6fr 0.8fr;
  gap: 2rem;
}
.contact-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
.field {
  display: grid;
  gap: 0.35rem;
}
.field.full {
  grid-column: 1/-1;
}
.field label {
  font-size: var(--fs-sm);
  font-weight: 700;
}
.field input,
.field select,
.field textarea {
  width: 100%;
  padding: 0.8rem;
  border: 1px solid #cfd5e1;
  border-radius: 0.6rem;
  background: #fff;
}
.field textarea {
  min-height: 8rem;
  resize: vertical;
}
.form-status {
  grid-column: 1/-1;
  min-height: 1.5rem;
}
.contact-side {
  display: grid;
  gap: 1rem;
}
.contact-item {
  padding: 1.4rem;
  border: 1px solid var(--line);
  border-radius: 1rem;
  background: #fff;
}
.contact-item b {
  display: block;
  margin-bottom: 0.3rem;
}
.zones {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
.cta {
  background: linear-gradient(100deg, #38104f, #092653);
  color: #fff;
  border-radius: 1.2rem;
  padding: 2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}
.cta h2 {
  font-size: var(--fs-h3);
  margin: 0;
}
.site-footer {
  background: #234b78;
  color: #fff;
  padding: 3rem 0 1.5rem;
}
.footer-grid {
  display: grid;
  grid-template-columns: 1.2fr repeat(3, 1fr);
  gap: 2rem;
}
.site-footer h3 {
  font-size: 1.1rem;
}
.site-footer a,
.site-footer p {
  font-size: var(--fs-sm);
  color: #e7edf5;
}
.footer-links {
  display: grid;
  gap: 0.35rem;
}
.copyright {
  text-align: center;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  margin-top: 2rem;
  padding-top: 1rem;
  font-size: var(--fs-xs);
}
@media (max-width: 64rem) {
  .grid-4 {
    grid-template-columns: repeat(2, 1fr);
  }
  .hero-grid {
    grid-template-columns: 1fr 1fr;
  }
  .hero-media {
    border-radius: 5rem 0 0 5rem;
  }
  .founders {
    grid-template-columns: 1fr;
  }
  .footer-grid {
    grid-template-columns: 1fr 1fr;
  }
  .steps {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 48rem) {
  .site-header {
    height: 4.5rem;
  }
  .nav-toggle {
    display: block;
  }
  .nav-list {
    display: none;
    position: absolute;
    top: 4.5rem;
    left: 0;
    right: 0;
    background: #fff;
    padding: 1rem;
    box-shadow: var(--shadow);
    align-items: stretch;
    flex-direction: column;
  }
  .nav-list.open {
    display: flex;
  }
  .nav-list .button {
    width: 100%;
  }
  .hero-grid {
    grid-template-columns: 1fr;
  }
  .hero-copy {
    padding: 0 1rem;
  }
  .hero-media {
    margin-left: 1rem;
    min-height: 20rem;
    border-radius: 4rem 0 0 4rem;
  }
  .hero-media img {
    min-height: 20rem;
  }
  .grid-3 {
    grid-template-columns: 1fr 1fr;
  }
  .experience-main,
  .journey-row,
  .journey-row:nth-child(even),
  .contact-layout {
    grid-template-columns: 1fr;
  }
  .journey-row:nth-child(even) img {
    order: 0;
  }
  .journey-row img {
    height: 17rem;
  }
  .contact-form {
    grid-template-columns: 1fr;
  }
  .field.full {
    grid-column: auto;
  }
  .zones {
    grid-template-columns: 1fr;
  }
  .footer-grid {
    grid-template-columns: 1fr 1fr;
  }
  .cta {
    align-items: flex-start;
    flex-direction: column;
  }
  .steps {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 35rem) {
  .container {
    width: min(calc(100% - 1.25rem), var(--max));
  }
  .section {
    padding: 3.5rem 0;
  }
  .grid-3,
  .grid-4 {
    grid-template-columns: 1fr;
  }
  .hero-actions .button {
    width: 100%;
  }
  .experience-main {
    padding: 0.7rem;
  }
  .experience-main img {
    height: 12rem;
  }
  .gallery {
    grid-template-columns: 1fr;
  }
  .gallery img {
    height: 10rem;
  }
  .founder {
    grid-template-columns: 1fr;
  }
  .founder img {
    height: 20rem;
  }
  .checklist {
    columns: 1;
  }
  .footer-grid {
    grid-template-columns: 1fr;
  }
  .steps {
    grid-template-columns: 1fr 1fr;
  }
  .cta {
    padding: 1.4rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    transition: none !important;
    animation: none !important;
  }
}

/* Fidelity pass: compact vertical rhythm and proportions from the PDF layouts. */
.section {
  padding: clamp(3rem, 5vw, 4.75rem) 0;
}
.hero {
  padding: clamp(1.6rem, 3.2vw, 3.25rem) 0;
}
.hero-media {
  height: clamp(20rem, 34vw, 25rem);
  min-height: 0;
  border-radius: 10rem 0 0 10rem;
}
.hero-media img {
  height: 100%;
  min-height: 0;
  object-fit: cover;
}
.program-card img {
  height: 11rem;
}
.site-footer {
  padding: 2.4rem 0 1.25rem;
}
@media (max-width: 48rem) {
  .hero-media {
    height: 19rem;
    min-height: 0;
  }
  .hero-media img {
    min-height: 0;
  }
}
.benefit-strip {
  padding: 1.35rem 0;
  background: #fafafa;
  border-block: 1px solid var(--line);
}
.benefit-strip article {
  display: flex;
  align-items: flex-start;
  gap: 0.8rem;
}
.benefit-strip article > span {
  flex: 0 0 2.7rem;
  height: 2.7rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #efeafa;
  color: var(--purple);
  font-size: 1.25rem;
}
.benefit-strip strong {
  display: block;
  font-size: var(--fs-sm);
  line-height: 1.25;
}
.benefit-strip p {
  margin: 0.25rem 0 0;
  color: var(--muted);
  font-size: var(--fs-xs);
  line-height: 1.35;
}
main > section {
  position: relative;
  overflow: hidden;
}
main > section:nth-of-type(even)::after {
  content: "";
  position: absolute;
  right: -2rem;
  bottom: -3rem;
  width: 10rem;
  height: 10rem;
  border: 1px solid rgba(93, 75, 180, 0.1);
  border-radius: 50%;
  pointer-events: none;
}
@media (max-width: 48rem) {
  .benefit-strip .grid-4 {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 35rem) {
  .benefit-strip .grid-4 {
    grid-template-columns: 1fr;
  }
}
.trait-strip {
  padding: 1rem 0;
  border-bottom: 1px solid var(--line);
  background: #fff;
}
.trait-strip .container {
  display: flex;
  justify-content: flex-end;
  gap: clamp(1rem, 5vw, 4rem);
  flex-wrap: wrap;
}
.trait-strip span {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  color: var(--ink);
  font-size: var(--fs-sm);
  font-weight: 700;
}
.trait-strip b {
  width: 2.5rem;
  height: 2.5rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #f0edfb;
  color: var(--purple);
}
body[data-page="experiencias"] .experience-list {
  gap: 2rem;
}
body[data-page="experiencias"] .experience-main {
  grid-template-columns: 18rem 1fr;
  padding: 1.2rem;
}
body[data-page="contacto"] .section--soft,
body[data-page="nosotras"] .section--soft {
  background: linear-gradient(120deg, #fbf8ff, #f0f8fb);
}
@media (max-width: 48rem) {
  .trait-strip .container {
    justify-content: center;
  }
  .trait-strip span {
    flex: 1 1 8rem;
  }
  body[data-page="experiencias"] .experience-main {
    grid-template-columns: 1fr;
  }
}
.prep-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1rem;
  margin-top: 2rem;
}
.prep-grid span {
  display: grid;
  justify-items: center;
  gap: 0.55rem;
  font-size: var(--fs-xs);
  font-weight: 700;
}
.prep-grid b {
  display: grid;
  place-items: center;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: #f0ebfb;
  color: var(--purple);
  font-size: 1.3rem;
}
@media (max-width: 48rem) {
  .prep-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
.brand-logo {
  display: block;
  width: 9rem;
  line-height: 0;
}
.brand-logo img {
  width: 100%;
  height: 3.4rem;
  object-fit: contain;
  object-position: left center;
}
body[data-page="nosotras"] .cta {
  position: relative;
  background:
    linear-gradient(
      90deg,
      rgba(250, 247, 252, 0.98) 0 48%,
      rgba(250, 247, 252, 0.18) 72%
    ),
    url("../images/about-cta.jpg") right center/58% 100% no-repeat;
  color: var(--ink);
  border: 1px solid #eee8f2;
  overflow: hidden;
}
body[data-page="nosotras"] .cta > div {
  max-width: 46%;
}
@media (max-width: 48rem) {
  .brand-logo {
    width: 8rem;
  }
  body[data-page="nosotras"] .cta {
    background:
      linear-gradient(rgba(20, 38, 72, 0.88), rgba(20, 38, 72, 0.88)),
      url("../images/about-cta.jpg") center/cover;
    color: #fff;
  }
  body[data-page="nosotras"] .cta > div {
    max-width: none;
  }
}
.trusted {
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid var(--line);
}
.trusted small {
  display: block;
  color: var(--muted);
  font-size: var(--fs-xs);
  margin-bottom: 0.45rem;
}
.trusted div {
  display: flex;
  gap: 1.25rem;
  flex-wrap: wrap;
  align-items: center;
}
.trusted span {
  color: #5a6574;
  font-family: Georgia, serif;
  font-size: var(--fs-sm);
  font-weight: 700;
}
body[data-page="jornadas"] .section .grid-4:has(.card:nth-child(5)) {
  grid-template-columns: repeat(5, 1fr);
}
.experience-quote {
  margin: 0.8rem 0 1rem;
  padding: 0.7rem 1rem;
  border-left: 0.18rem solid var(--violet);
  background: #faf8fe;
  color: var(--muted);
  font-size: var(--fs-xs);
  font-style: italic;
}
.experience-quote cite {
  display: block;
  margin-top: 0.25rem;
  color: var(--ink);
  font-style: normal;
  font-weight: 700;
}
@media (max-width: 64rem) {
  body[data-page="jornadas"] .section .grid-4:has(.card:nth-child(5)) {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 48rem) {
  body[data-page="jornadas"] .section .grid-4:has(.card:nth-child(5)) {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 35rem) {
  body[data-page="jornadas"] .section .grid-4:has(.card:nth-child(5)) {
    grid-template-columns: 1fr;
  }
}

/* Home page - visual matching to the supplied references. */
.line-icon {
  width: 1.6rem;
  height: 1.6rem;
  display: block;
}
.home-hero {
  background: linear-gradient(115deg, #fffdfa 0%, #fff 64%);
  padding-bottom: 0;
}
.home-hero::before {
  content: "";
  position: absolute;
  left: -5rem;
  bottom: -7rem;
  width: 16rem;
  height: 16rem;
  border-radius: 48% 52% 0 0;
  background: linear-gradient(
    135deg,
    rgba(114, 80, 199, 0.12),
    rgba(75, 175, 190, 0.04)
  );
  transform: rotate(20deg);
}
.home-hero::after {
  content: "";
  position: absolute;
  left: 38%;
  bottom: -3rem;
  width: 14rem;
  height: 7rem;
  border-radius: 100% 0;
  background: linear-gradient(
    135deg,
    rgba(97, 139, 205, 0.13),
    rgba(90, 180, 186, 0.03)
  );
  transform: rotate(13deg);
}
.home-hero .hero-grid {
  position: relative;
  z-index: 1;
  grid-template-columns: minmax(25rem, 0.82fr) minmax(34rem, 1.25fr);
  gap: 1.5rem;
}
.home-hero .hero-copy {
  padding-bottom: 1.25rem;
}
.home-hero .hero-media {
  height: 27rem;
  border-radius: 10rem 0 0 10rem;
}
.home-hero .hero-actions .button:first-child::after {
  content: "→";
  font-size: 1.15rem;
}
.home-hero .trusted {
  border: 0;
  margin-top: 1.3rem;
  padding: 0;
}
.home-hero .trusted small {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  color: #6e7b90;
  white-space: nowrap;
}
.home-hero .trusted small span {
  width: 2.5rem;
  height: 1px;
  background: #ccd2dc;
}
.home-hero .trusted div {
  gap: clamp(1.2rem, 2.8vw, 2.7rem);
  align-items: center;
}
.home-hero .trusted strong {
  font-family: Georgia, serif;
  color: #596476;
  font-size: var(--fs-sm);
  line-height: 1.05;
}
.trusted-org {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.org-logo {
  display: grid;
  place-items: center;
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  background: #f5f6f8;
  color: #637084;
  font-style: normal;
  flex: 0 0 auto;
}
.org-logo .line-icon {
  width: 1.45rem;
  height: 1.45rem;
}
.home-hero .trusted > div {
  gap: clamp(1.4rem, 3vw, 2.5rem);
  flex-wrap: nowrap;
}
.home-hero .trusted .trusted-org {
  gap: 0.3rem;
  min-width: 0;
}
.home-hero .trusted .trusted-org strong {
  font-size: 0.78rem;
  white-space: nowrap;
}
.benefit-strip {
  padding: 3.5rem 0 1.2rem 0;
  background: #fff;
  border-top: 0;
}
.benefit-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
.benefit-grid article {
  padding: 0 1.6rem;
  border-right: 1px solid #e6e7eb;
  display: grid;
  grid-template-columns: 4.8rem 1fr;
  gap: 1rem;
  align-items: start;
}
.benefit-grid article:first-child {
  padding-left: 0;
}
.benefit-grid article:last-child {
  padding-right: 0;
  border: 0;
}
.benefit-grid article > span {
  width: 4.5rem;
  height: 4.5rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #f0ebf8;
  color: #6d45aa;
}
.benefit-grid article:nth-child(2) > span {
  background: #eaf2fa;
  color: #407bb2;
}
.benefit-grid article:nth-child(3) > span {
  background: #e9f2fa;
  color: #367cae;
}
.benefit-grid article:nth-child(4) > span {
  background: #f1eafa;
  color: #8353a6;
}
.benefit-grid .line-icon {
  width: 2.75rem;
  height: 2.75rem;
}
.benefit-grid strong {
  font-size: var(--fs-sm);
  line-height: 1.3;
}
.benefit-grid p {
  font-size: var(--fs-xs);
  line-height: 1.45;
  margin: 0.45rem 0 0;
  color: var(--muted);
}
body[data-page="inicio"] .program-card {
  position: relative;
  min-height: 27rem;
  border-radius: 1.2rem;
  box-shadow: 0 0.75rem 1.6rem rgba(29, 34, 70, 0.15);
  border: 1px solid rgba(72, 59, 124, 0.12);
}
body[data-page="inicio"] .program-card > img {
  height: 12.2rem;
}
body[data-page="inicio"] .program-card .content {
  position: relative;
  margin-top: -2.2rem;
  padding: 3.7rem 2rem 1.45rem;
  min-height: 17rem;
  border-radius: 52% 52% 0 0/12% 12% 0 0;
  background: linear-gradient(145deg, #faf7ff, #fff);
}
body[data-page="inicio"] .program-card .content {
  text-align: left;
}
body[data-page="inicio"] .program-card .card-icon {
  position: absolute;
  top: -2.25rem;
  left: 1.8rem;
  width: 4.4rem;
  height: 4.4rem;
  background: #fff;
  border: 0.08rem solid #e4dff0;
  box-shadow: 0 0.4rem 1rem rgba(45, 35, 86, 0.12);
}
body[data-page="inicio"] .program-card .card-icon .line-icon {
  width: 2.5rem;
  height: 2.5rem;
}
body[data-page="inicio"] .program-wellbeing .content {
  background: linear-gradient(145deg, #4933bd, #283d8f);
  color: #fff;
}
body[data-page="inicio"] .program-wellbeing .content p {
  color: #fff;
}
body[data-page="inicio"] .program-habitar .content {
  background: linear-gradient(145deg, #f3fbfb, #fff);
}
body[data-page="inicio"] .program-habitar h3,
body[data-page="inicio"] .program-habitar a {
  color: #189eaa;
}
.program-meta {
  display: flex;
  align-items: center;
  gap: 1rem;
  border-top: 1px solid rgba(72, 84, 110, 0.18);
  margin-top: 1rem;
  padding-top: 0.9rem;
  font-size: var(--fs-xs);
}
.program-meta span {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.program-meta .line-icon {
  width: 1.1rem;
  height: 1.1rem;
}
.program-wellbeing .program-meta {
  border-color: rgba(255, 255, 255, 0.25);
}
.recommended {
  position: absolute;
  z-index: 3;
  top: 1rem;
  left: 1rem;
  padding: 0.4rem 0.8rem;
  border-radius: 999px;
  background: #583bc8;
  color: #fff;
  font-size: var(--fs-xs);
  font-weight: 700;
}
body[data-page="inicio"] .steps {
  position: relative;
  align-items: start;
  gap: 2rem;
}
body[data-page="inicio"] .steps::before {
  display: none;
}
.process-connector {
  position: absolute;
  z-index: 0;
  left: 5%;
  right: 5%;
  top: 1.35rem;
  width: 90%;
  height: 4.6rem;
  overflow: visible;
}
body[data-page="inicio"] .step {
  position: relative;
  z-index: 1;
}
body[data-page="inicio"] .step b {
  position: relative;
  width: 7.2rem;
  height: 7.2rem;
  background: linear-gradient(145deg, #f4eafa, #eef8fa);
  border: 0;
  color: #5531a1;
  font-weight: 400;
}
body[data-page="inicio"] .step:nth-child(2) b {
  color: #3948b0;
}
body[data-page="inicio"] .step:nth-child(3) b {
  color: #2568ac;
}
body[data-page="inicio"] .step:nth-child(4) b {
  color: #1687a5;
}
body[data-page="inicio"] .step:nth-child(5) b {
  color: #12999b;
}
body[data-page="inicio"] .step b .line-icon {
  width: 3.8rem;
  height: 3.8rem;
}
body[data-page="inicio"] .step b span {
  position: absolute;
  bottom: -1.25rem;
  left: 50%;
  transform: translateX(-50%);
  width: 2.1rem;
  height: 2.1rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: currentColor;
  color: #fff;
  font-family: "DM Sans", sans-serif;
  font-size: var(--fs-sm);
  font-weight: 700;
  border: 0.2rem solid #fff;
}
body[data-page="inicio"] .step h3 {
  font-family: "DM Sans", sans-serif;
  font-size: var(--fs-sm);
  margin-top: 1.8rem;
  font-weight: 700;
}
body[data-page="inicio"] .step p {
  max-width: 12rem;
  margin-inline: auto;
  font-size: var(--fs-xs);
}
.experience-heading {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto auto;
  align-items: center;
  text-align: left;
  margin-bottom: 1.5rem;
}
.experience-heading h2 {
  grid-column: 1;
  justify-self: start;
}
.experience-heading p {
  grid-column: 1;
  margin: 0;
  justify-self: start;
  text-align: left;
}
.experience-heading .all-experiences {
  grid-column: 2;
  grid-row: 1/3;
}
.experience-heading .lead {
  margin: 0;
  justify-self: start;
  text-align: left;
}
.all-experiences {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  border: 0.1rem solid #169fa6;
  border-radius: 999px;
  padding: 0.75rem 1.25rem;
  color: #078e96;
  font-size: var(--fs-sm);
  font-weight: 700;
}
.all-experiences .line-icon {
  width: 1.7rem;
  height: 1.7rem;
}
body[data-page="inicio"] .experience-heading + .grid .program-card {
  min-height: 22rem;
  background: #fff;
}
body[data-page="inicio"] .experience-heading + .grid .program-card > img {
  height: 15rem;
}
body[data-page="inicio"] .experience-heading + .grid .program-card .content {
  margin: 0;
  padding: 1.25rem 1.5rem;
  min-height: 7rem;
  border-radius: 0;
  background: #fff;
  color: var(--purple);
}
.experience-more {
  position: absolute;
  right: 0.8rem;
  top: 0.8rem;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  background: #fff;
  color: #4d26ba;
  padding: 0.6rem 1rem;
  border-radius: 999px;
  box-shadow: 0 0.3rem 0.8rem rgba(22, 27, 52, 0.14);
  font-size: var(--fs-xs);
  font-weight: 700;
}
@media (max-width: 64rem) {
  .home-hero .hero-grid {
    grid-template-columns: 1fr 1fr;
  }
  .benefit-grid {
    grid-template-columns: 1fr 1fr;
    row-gap: 1.5rem;
  }
  .benefit-grid article:nth-child(2) {
    border: 0;
  }
  .benefit-grid article:nth-child(3) {
    padding-left: 0;
  }
  .home-hero .hero-media {
    height: 24rem;
  }
  body[data-page="inicio"] .steps {
    gap: 0.6rem;
  }
}
@media (max-width: 48rem) {
  .home-hero .hero-grid {
    grid-template-columns: 1fr;
  }
  .home-hero .hero-media {
    height: 20rem;
  }
  .benefit-grid article {
    padding: 0 1rem;
    grid-template-columns: 3.8rem 1fr;
  }
  .benefit-grid article > span {
    width: 3.6rem;
    height: 3.6rem;
  }
  .benefit-grid .line-icon {
    width: 2.1rem;
    height: 2.1rem;
  }
  body[data-page="inicio"] .steps::before {
    display: none;
  }
  body[data-page="inicio"] .step b {
    width: 5.8rem;
    height: 5.8rem;
  }
  body[data-page="inicio"] .step b .line-icon {
    width: 3rem;
    height: 3rem;
  }
  .experience-heading {
    display: block;
    text-align: center;
  }
  .all-experiences {
    margin: 1rem auto 0;
    width: max-content;
  }
}
@media (max-width: 35rem) {
  .benefit-grid {
    grid-template-columns: 1fr;
  }
  .benefit-grid article {
    padding: 0.9rem 0;
    border-right: 0;
    border-bottom: 1px solid #e6e7eb;
  }
  .benefit-grid article:last-child {
    border: 0;
  }
  .home-hero .trusted small span {
    display: none;
  }
  .home-hero .trusted div {
    gap: 1rem;
  }
  .experience-heading .all-experiences {
    width: 100%;
    justify-content: center;
  }
}
.nav-list > .button,
.nav-list li:last-child .button {
  min-width: 11rem;
  min-height: 2.5rem;
  padding: 0.5rem 1.35rem;
  white-space: nowrap;
}
@media (max-width: 48rem) {
  .process-connector {
    display: none;
  }
  .nav-list > .button,
  .nav-list li:last-child .button {
    min-width: 0;
    min-height: 2.75rem;
  }
}
@media (max-width: 35rem) {
  .home-hero .trusted > div {
    flex-wrap: wrap;
  }
  .home-hero .trusted .trusted-org strong {
    font-size: var(--fs-xs);
  }
}

/* About page - visual matching to the supplied references. */
body[data-page="nosotras"] .founders {
  gap: 1.4rem;
}
body[data-page="nosotras"] .founder {
  position: relative;
  grid-template-columns: minmax(11rem, 13.5rem) 1fr;
  gap: 1.8rem;
  align-items: center;
  padding: 1rem;
  border-radius: 1.5rem;
  min-height: 23rem;
  box-shadow: 0 0.8rem 2rem rgba(27, 40, 77, 0.08);
  overflow: hidden;
}
body[data-page="nosotras"] .founder > img {
  width: 100%;
  height: 21rem;
  object-fit: cover;
  border-radius: 1.2rem;
}
body[data-page="nosotras"] .founder > div {
  padding-right: 2.7rem;
}
body[data-page="nosotras"] .founder h3 {
  font-size: clamp(1.45rem, 1.2rem + 0.6vw, 2rem);
  margin-bottom: 0.75rem;
}
body[data-page="nosotras"] .founder .eyebrow {
  font-family: "DM Sans", sans-serif;
  text-transform: none;
  letter-spacing: 0;
  color: #6642cb;
  font-size: var(--fs-sm);
  font-weight: 500;
  padding-bottom: 1rem;
  border-bottom: 1px solid #b7a6df;
}
body[data-page="nosotras"] .founder p:last-child {
  font-size: var(--fs-sm);
  line-height: 1.55;
  color: var(--ink);
}
.founder-symbol {
  position: absolute;
  right: 1.2rem;
  top: 1.2rem;
  width: 4rem;
  height: 4rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #f2ecfb;
  color: #7548c0;
}
.founder-symbol .line-icon {
  width: 2.25rem;
  height: 2.25rem;
}
.network-section {
  padding-top: 2.2rem;
  padding-bottom: 2.2rem;
}
.network-panel {
  position: relative;
  padding: 2.4rem 4.5rem;
  border-radius: 1.5rem;
  background: linear-gradient(120deg, #f8f3fc, #f1f7fb);
  overflow: hidden;
}
.network-panel::before {
  content: "";
  position: absolute;
  left: -2rem;
  bottom: -3rem;
  width: 11rem;
  height: 11rem;
  border: 1px solid rgba(116, 82, 193, 0.12);
  border-radius: 45% 55% 0 0;
  transform: rotate(25deg);
}
.network-panel::after {
  content: "";
  position: absolute;
  right: -4rem;
  bottom: -5rem;
  width: 16rem;
  height: 16rem;
  background: linear-gradient(
    140deg,
    rgba(105, 83, 185, 0.08),
    rgba(56, 153, 180, 0.08)
  );
  border-radius: 55% 45% 0 0;
  transform: rotate(-18deg);
}
.network-panel > .center {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 0.72fr 1.35fr;
  gap: 3.5rem;
  text-align: left;
  align-items: center;
  margin-bottom: 2rem;
}
.network-panel > .center h2 {
  margin: 0;
  max-width: 23rem;
}
.network-panel > .center h2::after {
  content: "";
  display: block;
  width: 3.5rem;
  height: 0.12rem;
  background: #7455ca;
  margin-top: 1rem;
}
.network-panel > .center .lead {
  max-width: none;
  margin: 0;
  color: var(--ink);
}
.network-panel > .grid {
  position: relative;
  z-index: 1;
  gap: 0;
}
.network-panel .card {
  display: grid;
  grid-template-columns: 5.2rem 1fr;
  grid-template-rows: auto auto;
  column-gap: 1rem;
  align-items: center;
  padding: 0 1.7rem;
  background: transparent;
  border: 0;
  border-right: 1px solid #d7d5df;
  border-radius: 0;
  box-shadow: none;
  text-align: left;
}
.network-panel .card:last-child {
  border-right: 0;
}
.network-panel .card-icon {
  grid-row: 1/3;
  width: 4.8rem;
  height: 4.8rem;
  margin: 0;
  background: #eee8fb;
  color: #6545b9;
}
.network-panel .card:nth-child(2) .card-icon {
  background: #e6f0fa;
  color: #357bb3;
}
.network-panel .card:nth-child(3) .card-icon {
  background: #e5f6f5;
  color: #168f9b;
}
.network-panel .card-icon .line-icon {
  width: 2.8rem;
  height: 2.8rem;
}
.network-panel .card h3 {
  align-self: end;
  font-size: var(--fs-h3);
  margin: 0 0 0.25rem;
}
.network-panel .card p {
  align-self: start;
  margin: 0;
  line-height: 1.45;
}
.guides-section .grid-3 {
  gap: 1.5rem;
}
.guides-section .grid-3 .card {
  min-height: 19rem;
  padding: 2rem 1.8rem;
  text-align: left;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-radius: 1rem;
  box-shadow: 0 0.4rem 1.1rem rgba(23, 42, 75, 0.08);
}
.guides-section .grid-3 .card-icon {
  width: 5rem;
  height: 5rem;
  background: #efe9fb;
  color: #7449bc;
}
.guides-section .grid-3 .card:nth-child(2) .card-icon {
  background: #e7f0fa;
  color: #3d76b1;
}
.guides-section .grid-3 .card:nth-child(3) .card-icon {
  background: #e6f7f6;
  color: #15949a;
}
.guides-section .grid-3 .card-icon .line-icon {
  width: 2.8rem;
  height: 2.8rem;
}
.guides-section .grid-3 .card h3 {
  font-family: "DM Sans", sans-serif;
  font-weight: 700;
  font-size: var(--fs-h3);
}
.guides-section .grid-3 .card p {
  font-size: var(--fs-body);
  line-height: 1.55;
}
.values-label {
  text-align: left;
  margin: 2.5rem 0 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--muted);
  font-size: var(--fs-xs);
  font-weight: 700;
}
.guides-section .values {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 1rem;
  padding: 0.25rem 0;
}
.guides-section .value {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.65rem;
  padding: 0.55rem 0.75rem;
  box-shadow: 0 0.2rem 0.7rem rgba(33, 51, 80, 0.08);
  white-space: nowrap;
}
.guides-section .value .line-icon {
  width: 1.8rem;
  height: 1.8rem;
  padding: 0.25rem;
  border-radius: 50%;
  background: #eee9fb;
  color: #7250b7;
}
body[data-page="nosotras"] .about-commitment {
  min-height: 18rem;
  padding: 2.3rem 4.5rem;
  background:
    linear-gradient(
      90deg,
      rgba(250, 247, 252, 0.99) 0 49%,
      rgba(250, 247, 252, 0.08) 72%
    ),
    url("../images/about-cta.jpg") right center/58% 100% no-repeat;
}
.about-commitment .eyebrow {
  margin-bottom: 0.55rem;
  text-decoration: underline;
}
.about-commitment h2 {
  font-size: var(--fs-h2);
  max-width: 31rem;
}
.about-commitment p:not(.eyebrow) {
  font-size: var(--fs-body);
  line-height: 1.55;
  color: var(--ink);
}
.about-commitment .quote-mark {
  font-family: Georgia, serif;
  font-size: 2.2rem;
  line-height: 0;
  color: #8c66ca;
}
.about-commitment > .button {
  align-self: flex-end;
  margin-right: auto;
  margin-left: -48%;
  margin-top: 9rem;
}
.about-commitment > div .button {
  margin-top: 0.8rem;
}
@media (max-width: 64rem) {
  body[data-page="nosotras"] .founder {
    grid-template-columns: 10rem 1fr;
  }
  body[data-page="nosotras"] .founder > img {
    height: 18rem;
  }
  .network-panel {
    padding: 2.2rem;
  }
  .guides-section .values {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 48rem) {
  body[data-page="nosotras"] .founder {
    grid-template-columns: 9rem 1fr;
    gap: 1rem;
  }
  body[data-page="nosotras"] .founder > img {
    height: 16rem;
  }
  .network-panel > .center {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .network-panel .grid-3 {
    grid-template-columns: 1fr;
  }
  .network-panel .card {
    border-right: 0;
    border-bottom: 1px solid #d7d5df;
    padding: 1.2rem 0;
  }
  .network-panel .card:last-child {
    border-bottom: 0;
  }
  .guides-section .values {
    grid-template-columns: repeat(2, 1fr);
  }
  body[data-page="nosotras"] .about-commitment {
    padding: 2rem;
    background:
      linear-gradient(rgba(20, 38, 72, 0.86), rgba(20, 38, 72, 0.86)),
      url("../images/about-cta.jpg") center/cover;
    color: #fff;
  }
  .about-commitment p:not(.eyebrow) {
    color: #fff;
  }
  .about-commitment > .button {
    margin: 0;
    align-self: flex-start;
  }
}
@media (max-width: 35rem) {
  body[data-page="nosotras"] .founder {
    grid-template-columns: 1fr;
  }
  body[data-page="nosotras"] .founder > img {
    height: 22rem;
  }
  body[data-page="nosotras"] .founder > div {
    padding: 0 0.35rem;
  }
  .network-panel {
    padding: 1.5rem;
  }
  .guides-section .values {
    grid-template-columns: 1fr;
  }
}

/* Contact page - supplied visual references. */
.contact-hero {
  padding-bottom: 0;
  background: linear-gradient(110deg, #fff 0%, #fdfdff 72%);
}
.contact-hero .hero-grid {
  grid-template-columns: minmax(27rem, 0.86fr) minmax(34rem, 1.14fr);
  gap: 1rem;
}
.contact-hero .hero-copy {
  padding-bottom: 1rem;
}
.contact-hero .hero-media {
  height: 25rem;
  border-radius: 9rem 0 0 9rem;
}
.contact-hero .hero-badges {
  margin-top: 2rem;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: 1.2rem;
  background: rgba(255, 255, 255, 0.93);
  box-shadow: 0 0.3rem 1rem rgba(28, 42, 73, 0.04);
  gap: 0;
}
.contact-hero .pill,
.experiences-hero .pill {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  flex: 1;
  padding: 0.35rem 1rem;
  background: transparent;
  color: var(--ink);
  border-radius: 0;
  text-align: left;
}
.contact-hero .pill + .pill,
.experiences-hero .pill + .pill {
  border-left: 1px solid var(--line);
}
.contact-hero .pill .line-icon,
.experiences-hero .pill .line-icon {
  width: 3rem;
  height: 3rem;
  padding: 0.65rem;
  border-radius: 50%;
  background: #f0ebfa;
  color: #6f50bd;
  flex: 0 0 auto;
}
.contact-hero .pill:nth-child(2) .line-icon {
  background: #e8f6f5;
  color: #159aa2;
}
.contact-hero .pill:nth-child(3) .line-icon {
  background: #eaf2fb;
  color: #367db5;
}
.zones-section {
  padding-bottom: 2.5rem;
}
.zones-section .eyebrow {
  display: none;
}
.zones-section .zones {
  margin-top: 2.2rem;
  gap: 1rem;
}
.zones-section .card {
  display: grid;
  grid-template-columns: 5.2rem 1fr;
  column-gap: 1.2rem;
  text-align: left;
  min-height: 13rem;
  padding: 1.5rem 1.3rem;
}
.zones-section .card-icon {
  grid-row: 1/3;
  width: 4.8rem;
  height: 4.8rem;
  margin: 0;
  background: #f0ebfa;
}
.zones-section .card-icon .line-icon {
  width: 2.8rem;
  height: 2.8rem;
}
.zones-section .card h3 {
  align-self: end;
}
.zones-section .card p {
  align-self: start;
}
.prep-section {
  padding: 2rem 0 3rem;
  background: #fff;
}
.prep-section .lead {
  margin-bottom: 0;
}
.prep-grid {
  gap: 0;
  margin-top: 1.3rem;
}
.prep-grid span {
  min-height: 7.5rem;
  padding: 0 1rem;
  border-right: 1px solid var(--line);
  line-height: 1.4;
}
.prep-grid span:last-child {
  border-right: 0;
}
.prep-grid b {
  width: 3.8rem;
  height: 3.8rem;
  background: #fff;
  border: 1px solid #d8d2ed;
}
.prep-grid b .line-icon {
  width: 2.15rem;
  height: 2.15rem;
}
.contact-main-section {
  padding-top: 2rem;
}
.contact-main-section > .contact-layout {
  align-items: start;
  grid-template-columns: 1.65fr 0.88fr;
}
.contact-form-card {
  padding: 1.8rem;
  border-radius: 1rem;
}
.contact-form-card > p {
  font-size: var(--fs-xs);
  color: var(--muted);
}
.contact-form {
  gap: 0.8rem 1.3rem;
}
.field {
  gap: 0.25rem;
}
.field input,
.field select,
.field textarea {
  padding: 0.65rem;
}
.field textarea {
  min-height: 5.7rem;
}
.privacy-note {
  margin: 0;
  font-size: var(--fs-xs);
  color: var(--muted);
}
.contact-form-card .button {
  width: 100%;
  justify-self: stretch;
}
.direct-contact {
  gap: 0;
  border: 1px solid var(--line);
  border-radius: 1rem;
  background: #fff;
  overflow: hidden;
}
.direct-contact > h2 {
  padding: 1.5rem;
  margin: 0;
}
.direct-contact .contact-item {
  position: relative;
  padding: 1.4rem 1rem 1.4rem 5.5rem;
  border: 0;
  border-top: 1px solid var(--line);
  border-radius: 0;
  min-height: 7rem;
}
.contact-item-icon {
  position: absolute;
  left: 1.5rem;
  top: 1.4rem;
  width: 3rem;
  height: 3rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #f0ebfa;
  color: #6f50bd;
}
.contact-item-icon .line-icon {
  width: 1.7rem;
  height: 1.7rem;
}
.direct-contact blockquote {
  min-height: 9rem;
  padding: 2rem 2rem 2rem 4rem;
  color: var(--muted);
  font-size: var(--fs-sm);
  background: linear-gradient(135deg, #fff, #f7f4fb);
}
.contact-local-icon {
  display: block;
  object-fit: contain;
}
.contact-hero .pill > .contact-local-icon {
  width: 3rem;
  height: 3rem;
  padding: 0.65rem;
  border-radius: 50%;
  background: #f0ebfa;
  flex: 0 0 auto;
}
.contact-hero .pill:nth-child(2) > .contact-local-icon {
  background: #e8f6f5;
}
.contact-hero .pill:nth-child(3) > .contact-local-icon {
  background: #eaf2fb;
}
.contact-item-icon > .contact-local-icon {
  width: 1.7rem;
  height: 1.7rem;
}
.zones-section .card-icon > .contact-local-icon {
  width: 2.8rem;
  height: 2.8rem;
}
.prep-grid b > .contact-local-icon {
  width: 2.15rem;
  height: 2.15rem;
}
.privacy-note {
  display: flex;
  align-items: center;
  gap: 0.45rem;
}
.privacy-note > .contact-local-icon {
  width: 1rem;
  height: 1rem;
  flex: 0 0 auto;
}

/* Experiences page - cards and expanded detail. */
.experiences-hero .hero-badges {
  max-width: 34rem;
  gap: 0;
}
.experiences-hero .pill {
  padding: 0.3rem 0.7rem;
}
.experiences-hero .pill .line-icon {
  width: 2.7rem;
  height: 2.7rem;
  padding: 0.6rem;
  background: #fff;
  border: 1px solid #dcd8e9;
}
body[data-page="experiencias"] .experience-list {
  gap: 1.5rem;
}
.experience {
  box-shadow: 0 0.2rem 0.7rem rgba(24, 38, 75, 0.04);
}
body[data-page="experiencias"] .experience-main {
  position: relative;
  grid-template-columns: 29rem 1fr;
  gap: 2.5rem;
  padding: 1rem 1.4rem 1rem 1rem;
  min-height: 25rem;
  align-items: center;
}
body[data-page="experiencias"] .experience-main > img {
  height: 24rem;
  border-radius: 1rem;
  border-left: 4rem solid var(--experience-accent);
}
.experience-number {
  position: absolute;
  z-index: 2;
  left: 3.2rem;
  top: 50%;
  transform: translateY(-50%);
  width: 5rem;
  height: 5rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--experience-accent);
  color: #fff;
  font-family: Georgia, serif;
  font-size: 1.8rem;
  font-weight: 700;
}
.experience--violet {
  --experience-accent: #8c74cd;
}
.experience--aqua {
  --experience-accent: #3eaaa9;
}
.experience--blue {
  --experience-accent: #3283ae;
}

/* Fichas de jornadas: incluye y objetivos arriba; actividades debajo. */
.journey-details .journey-columns {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-areas:
    "includes objectives"
    "activities activities";
  column-gap: 2rem;
  row-gap: 1rem;
}
.journey-details .journey-columns > div:nth-child(1) {
  grid-area: includes;
}
.journey-details .journey-columns > div:nth-child(2) {
  grid-area: activities;
}
.journey-details .journey-columns > div:nth-child(3) {
  grid-area: objectives;
}
.journey-details .journey-columns > div:nth-child(2) ul {
  columns: 2;
  column-gap: 2rem;
}
.journey-details .journey-columns > div:nth-child(2) li {
  break-inside: avoid;
}
@media (max-width: 48rem) {
  .journey-details .journey-columns {
    grid-template-columns: 1fr;
    grid-template-areas: "includes" "objectives" "activities";
  }
}
@media (max-width: 35rem) {
  .journey-details .journey-columns > div:nth-child(2) ul {
    columns: 1;
  }
}

/* Iconos locales de la página de Inicio. */
.benefit-grid article > .benefit-icon img {
  width: 2.75rem;
  height: 2.75rem;
  object-fit: contain;
}
body[data-page="inicio"] .step b > img {
  width: 3.8rem;
  height: 3.8rem;
  object-fit: contain;
}
@media (max-width: 48rem) {
  .benefit-grid article > .benefit-icon img {
    width: 2.1rem;
    height: 2.1rem;
  }
  body[data-page="inicio"] .step b > img {
    width: 3rem;
    height: 3rem;
  }
}

.journey-program-icon > img {
  width: 2.5rem;
  height: 2.5rem;
  object-fit: contain;
}
.journey-program-meta span > img {
  width: 1.1rem;
  height: 1.1rem;
  object-fit: contain;
  flex: 0 0 auto;
}
.journey-program-2 .journey-program-meta span:nth-child(2) > img {
  filter: brightness(0) invert(1);
}

/* Iconos locales de la página Nosotras. */
.trait-strip b > img {
  width: 2.3rem;
  height: 2.3rem;
  object-fit: contain;
}
.network-panel .card-icon > img,
.guides-section .card-icon > img {
  width: 2.8rem;
  height: 2.8rem;
  object-fit: contain;
}

.founder-symbol > img {
  width: 2.25rem;
  height: 2.25rem;
  object-fit: contain;
}
.guides-section .values {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}
.guides-section .value > img {
  width: 1.8rem;
  height: 1.8rem;
  padding: 0.25rem;
  border-radius: 50%;
  background: #eee9fb;
  object-fit: contain;
  flex: 0 0 auto;
}
@media (max-width: 64rem) {
  .guides-section .values {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media (max-width: 48rem) {
  .guides-section .values {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 35rem) {
  .guides-section .values {
    grid-template-columns: 1fr;
  }
}

.methodology-section .step b > img {
  width: 2.6rem;
  height: 2.6rem;
  object-fit: contain;
}

.journey-comparison .center {
  display: block;
  margin-bottom: 1.75rem;
}
.journey-comparison .center p {
  margin: 0;
  color: var(--muted);
}
.journey-comparison thead th span > img {
  width: 3.3rem;
  height: 3.3rem;
  object-fit: contain;
}
.journey-comparison tbody th > img {
  width: 2.2rem;
  height: 2.2rem;
  object-fit: contain;
  flex: 0 0 auto;
}

.journey-includes .card-icon > img {
  width: 3rem;
  height: 3rem;
  object-fit: contain;
}

/* Esta regla debe prevalecer sobre la declaración histórica que ocultaba el encabezado. */
body[data-page="jornadas"] .journey-comparison .center {
  display: block;
  margin-bottom: 1.75rem;
}
body[data-page="jornadas"] .journey-comparison .center h2 {
  margin-bottom: 0.55rem;
}
body[data-page="jornadas"] .journey-comparison .center p {
  margin: 0;
  color: var(--muted);
}

/* Iconos locales de la página Experiencias. */
.experiences-hero .pill > img {
  width: 3.125rem;
  height: 3.125rem;
  padding: 0.6rem;
  border: 1px solid #dcd8e9;
  border-radius: 50%;
  background: #fff;
  object-fit: contain;
  object-position: center;
  flex: 0 0 auto;
}
.experiences-hero .pill:nth-child(3) > img {
  padding: 0.7rem;
}
.experience-main .meta span {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}
.experience-main .meta img {
  width: 1.25rem;
  height: 1.25rem;
  object-fit: contain;
  flex: 0 0 auto;
}

.experience-detail .detail-description {
  max-width: 62rem;
  margin: 0.35rem 0 1.1rem;
  color: var(--muted);
  font-size: var(--fs-sm);
  line-height: 1.6;
}
.experience-main > div {
  position: relative;
}
.experience-main h2 {
  padding-right: 10rem;
  margin-bottom: 0.75rem;
}
.experience-type {
  position: absolute;
  right: 0;
  top: 0.1rem;
  padding: 0.25rem 0.7rem;
  border-radius: 999px;
  background: #f0ebfa;
  color: #6044a5;
  font-size: var(--fs-xs);
  font-weight: 700;
}
.experience-main .meta {
  padding-bottom: 0.5rem;
}
.experience-main > div > p {
  max-width: 40rem;
  line-height: 1.45;
}
.experience-quote {
  background: transparent;
  border: 0;
  padding: 0.5rem 0 0.2rem 2rem;
  margin: 0.4rem 0;
  font-size: var(--fs-sm);
  position: relative;
}
.experience-quote::before {
  content: "“";
  position: absolute;
  left: 0;
  top: -0.3rem;
  color: #8065d0;
  font:
    700 2.5rem Georgia,
    serif;
}
.experience-quote cite {
  margin-left: 1.5rem;
  color: #8a8f99;
  font-weight: 400;
}
.experience-toggle {
  display: flex;
  border-color: #102a56;
  min-width: 11rem;
  border-radius: 999px;
}
.experience-detail {
  padding: 0 0.7rem 0.7rem;
}
.detail-inner {
  border: 1px solid var(--line);
  border-radius: 1rem;
  padding: 1.2rem 2rem 1.4rem;
}
.detail-inner > h3 {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.detail-inner > h3 span {
  width: 2.6rem;
  height: 2.6rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #f0ebfa;
  color: #6848af;
}
.detail-inner h4 {
  font-size: var(--fs-sm);
  margin: 1rem 0 0.55rem;
}
.detail-topics {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0.7rem;
}
.detail-topics > span {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.6rem;
  border: 1px solid var(--line);
  border-radius: 0.6rem;
  font-size: var(--fs-xs);
}
.detail-topics .line-icon {
  width: 1.8rem;
  height: 1.8rem;
  padding: 0.3rem;
  border-radius: 50%;
  background: #edf7f8;
  color: #409bab;
  flex: 0 0 auto;
}
.detail-inner .gallery {
  margin: 0.4rem 0;
}
.detail-inner .gallery img {
  height: 12rem;
}
.detail-testimonials {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
.detail-testimonials blockquote {
  margin: 0;
  padding: 1rem 1.2rem 1rem 2.6rem;
  border: 1px solid var(--line);
  border-radius: 0.8rem;
  color: var(--muted);
  font-size: var(--fs-xs);
  font-style: italic;
}
.detail-testimonials cite {
  display: block;
  margin-top: 0.5rem;
  color: #4099b0;
  font-style: normal;
}
.detail-cta {
  display: flex;
  width: 19rem;
  margin: 1rem auto 0;
}
.detail-inner > h3 span > .detail-heading-icon {
  width: 1.7rem;
  height: 1.7rem;
  object-fit: contain;
}
@media (max-width: 64rem) {
  .contact-hero .hero-grid {
    grid-template-columns: 1fr 1fr;
  }
  .contact-hero .hero-badges {
    margin-right: -95%;
  }
  .contact-main-section > .contact-layout {
    grid-template-columns: 1.4fr 0.8fr;
  }
  body[data-page="experiencias"] .experience-main {
    grid-template-columns: 22rem 1fr;
    gap: 1.5rem;
  }
  .experience-main h2 {
    padding-right: 0;
  }
  .experience-type {
    position: static;
    display: inline-flex;
    margin-bottom: 0.5rem;
  }
}
@media (max-width: 48rem) {
  .contact-hero .hero-grid {
    grid-template-columns: 1fr;
  }
  .contact-hero .hero-badges {
    margin-right: 0;
  }
  .contact-hero .hero-media {
    height: 20rem;
  }
  .zones-section .zones {
    grid-template-columns: 1fr;
  }
  .prep-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .prep-grid span {
    border-right: 0;
    border-bottom: 1px solid var(--line);
    padding: 1rem;
  }
  .contact-main-section > .contact-layout {
    grid-template-columns: 1fr;
  }
  body[data-page="experiencias"] .experience-main {
    grid-template-columns: 1fr;
    padding: 0.8rem;
  }
  .experience-number {
    top: 10rem;
    left: 1rem;
  }
  .experience-main h2 {
    margin-top: 0.5rem;
  }
  .detail-topics {
    grid-template-columns: repeat(2, 1fr);
  }
  .detail-testimonials {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 35rem) {
  .contact-hero .hero-badges,
  .experiences-hero .hero-badges {
    display: grid;
  }
  .contact-hero .pill + .pill,
  .experiences-hero .pill + .pill {
    border-left: 0;
    border-top: 1px solid var(--line);
  }
  .zones-section .card {
    grid-template-columns: 4rem 1fr;
  }
  .zones-section .card-icon {
    width: 3.7rem;
    height: 3.7rem;
  }
  .prep-grid {
    grid-template-columns: 1fr;
  }
  .contact-form-card {
    padding: 1.2rem;
  }
  .contact-form-card .button,
  .detail-cta {
    width: 100%;
  }
  .detail-inner {
    padding: 1rem;
  }
  .detail-topics {
    grid-template-columns: 1fr;
  }
  body[data-page="experiencias"] .experience-main > img {
    height: 15rem;
    border-left-width: 2.5rem;
  }
  .experience-number {
    top: 8.3rem;
    width: 4rem;
    height: 4rem;
    font-size: 1.4rem;
  }
  .detail-inner .gallery {
    grid-template-columns: 1fr;
  }
  .detail-inner .gallery img {
    height: 11rem;
  }
}

/* Journeys page - supplied visual references. */
.journey-programs {
  background: linear-gradient(110deg, #fbf8ff, #eff9fb);
}
.journey-programs .lead {
  margin: 0 auto 1.5rem;
}
.journey-programs .grid {
  align-items: stretch;
}
.journey-programs .program-card {
  position: relative;
  min-height: 27rem;
  border-radius: 1.2rem;
  box-shadow: 0 0.7rem 1.6rem rgba(29, 34, 70, 0.12);
  overflow: hidden;
}
.journey-programs .program-card > img {
  height: 12rem;
}
.journey-programs .content {
  position: relative;
  margin-top: -2.1rem;
  min-height: 17rem;
  padding: 3.5rem 2rem 1.4rem;
  border-radius: 50% 50% 0 0/12% 12% 0 0;
  background: linear-gradient(145deg, #faf8ff, #fff);
  text-align: left;
}
.journey-programs .featured .content {
  background: linear-gradient(145deg, #5336c6, #283e91);
  color: #fff;
}
.journey-programs .featured .content p {
  color: #fff;
}
.journey-programs .journey-program-3 .content {
  background: linear-gradient(145deg, #effafa, #fff);
}
.journey-programs .journey-program-3 h3,
.journey-programs .journey-program-3 a {
  color: #1497a1;
}
.journey-program-icon {
  position: absolute;
  left: 2rem;
  top: -2.1rem;
  width: 4.4rem;
  height: 4.4rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #fff;
  color: #6440bd;
  border: 1px solid #e5e0ef;
}
.journey-program-icon .line-icon {
  width: 2.5rem;
  height: 2.5rem;
}
.journey-program-meta {
  display: flex;
  gap: 1rem;
  margin-top: 1rem;
  padding-top: 0.8rem;
  border-top: 1px solid rgba(62, 71, 100, 0.2);
  font-size: var(--fs-xs);
}
.journey-program-meta span {
  display: flex;
  align-items: center;
  gap: 0.35rem;
}
.journey-program-meta .line-icon {
  width: 1.1rem;
  height: 1.1rem;
}
.journey-programs .featured .journey-program-meta {
  border-color: rgba(255, 255, 255, 0.25);
}
.journey-programs .content > a {
  font-size: var(--fs-sm);
  font-weight: 600;
}
.journey-programs .recommended {
  top: 1rem;
}
.methodology-section {
  padding: 2rem 0;
  background: linear-gradient(110deg, #faf8ff, #f4f8fc);
}
.methodology-section .steps {
  margin-top: 1rem;
  padding: 1.4rem 1rem 0.8rem;
  border: 1px solid #ddd9eb;
  border-radius: 0.8rem;
  gap: 1rem;
}
.methodology-section .steps::before {
  content: "";
  position: absolute;
  left: 8%;
  right: 8%;
  top: 0;
  height: 1px;
  background: #a99bce;
}
.methodology-section .step b {
  position: relative;
  width: 4.7rem;
  height: 4.7rem;
  border: 0;
  border-radius: 100%;
  background: #fff;
  color: #4c308b;
}
.methodology-section .step b > span {
  position: absolute;
  left: 50%;
  top: -2.2rem;
  transform: translateX(-50%);
  width: 1.8rem;
  height: 1.8rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #4c308b;
  color: #fff;
  font-size: var(--fs-xs);
}
.methodology-section .step b .line-icon {
  width: 2.6rem;
  height: 2.6rem;
}
.methodology-section .step h3 {
  font:
    700 var(--fs-sm)/1.2 "DM Sans",
    sans-serif;
}
.methodology-section .step p {
  max-width: 11rem;
  margin-inline: auto;
  line-height: 1.35;
}
.journey-details {
  background: #fcfbf8;
}
.journey-details .container {
  display: grid;
  gap: 1.4rem;
}
.journey-details .journey-row {
  grid-template-columns: 18rem 1fr;
  margin: 0;
  padding: 0;
  gap: 2rem;
  overflow: hidden;
  border-radius: 1rem;
  box-shadow: 0 0.25rem 0.8rem rgba(42, 39, 61, 0.07);
}
.journey-details .journey-row:nth-child(even) {
  grid-template-columns: 1fr 18rem;
}
.journey-details .journey-row:nth-child(even) > img {
  order: 2;
}
.journey-details .journey-row > img {
  height: 100%;
  min-height: 20rem;
  border-radius: 0;
}
.journey-details .journey-row > div {
  padding: 1.2rem 1.5rem 1rem 0;
}
.journey-details .journey-row:nth-child(even) > div {
  padding-left: 1.5rem;
  padding-right: 0;
}
.journey-details .journey-row h2 {
  font-size: var(--fs-h2);
  padding-bottom: 0.6rem;
  margin-bottom: 0.4rem;
  border-bottom: 1px solid var(--line);
}
.journey-details .journey-row h2 .pill {
  vertical-align: middle;
  margin-left: 1rem;
}
.journey-details .journey-row > div > p {
  font-size: var(--fs-sm);
  font-weight: 600;
  line-height: 1.4;
}
.journey-columns {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.2rem;
}
.journey-columns h3 {
  font:
    700 var(--fs-xs)/1.2 "DM Sans",
    sans-serif;
}
.journey-columns ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.journey-columns li {
  display: flex;
  gap: 0.45rem;
  margin: 0.35rem 0;
  color: #3159a5;
  font-size: var(--fs-xs);
  font-weight: 700;
}
.journey-columns li span {
  color: var(--muted);
  font-weight: 400;
}
.journey-details .button {
  float: right;
  margin-top: 0.5rem;
  min-width: 14rem;
  border-radius: 999px;
}
.journey-details .journey-row:nth-child(2) .pill,
.journey-details .journey-row:nth-child(3) .pill {
  background: #e4f5f3;
  color: #178d96;
}
.journey-includes {
  padding: 2.5rem 0;
}
.journey-includes .grid {
  grid-template-columns: repeat(5, 1fr);
  gap: 0;
  margin-top: 1.5rem;
}
.journey-includes .card {
  padding: 0 1.2rem;
  border: 0;
  border-right: 1px solid var(--line);
  border-radius: 0;
  box-shadow: none;
  text-align: center;
}
.journey-includes .card:last-child {
  border-right: 0;
}
.journey-includes .card-icon {
  margin: 0 auto 0.7rem;
  background: transparent;
  width: 4rem;
  height: 4rem;
}
.journey-includes .card-icon .line-icon {
  width: 3rem;
  height: 3rem;
}
.journey-includes .card h3 {
  font-size: var(--fs-h3);
}
.journey-comparison {
  padding-top: 2.5rem;
}
.journey-comparison .center {
  display: none;
}

.detail-icon-work {
  width: 1.5rem;
  height: 1.5rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #f0edfb;
  color: var(--purple);
}
.journey-comparison .comparison {
  border: 1px solid var(--line);
  border-radius: 1rem;
  background: #fff;
}
.journey-comparison table {
  min-width: 52rem;
  table-layout: fixed;
}
.journey-comparison th,
.journey-comparison td {
  text-align: center;
  padding: 1.25rem;
}
.journey-comparison thead th {
  background: #fff;
  font-family: "Playfair Display", Georgia, serif;
  font-size: var(--fs-h3);
}
.journey-comparison thead th:first-child {
  width: 15rem;
}
.journey-comparison thead th:nth-child(2),
.journey-comparison thead th:nth-child(4) {
  background: #fbf8ff;
  color: #54329f;
}
.journey-comparison thead th:nth-child(3) {
  background: #f3fbfc;
  color: #087b91;
}
.journey-comparison thead th span {
  display: grid;
  place-items: center;
  width: 5rem;
  height: 5rem;
  margin: 0 auto 0.6rem;
  border-radius: 50%;
  background: #f4effc;
}
.journey-comparison thead th span .line-icon {
  width: 3.3rem;
  height: 3.3rem;
}
.journey-comparison tbody th {
  display: flex;
  align-items: center;
  gap: 1rem;
  text-align: left;
  background: #fff;
  font-family: "DM Sans", sans-serif;
  font-size: var(--fs-body);
}
.journey-comparison tbody th .line-icon {
  width: 2.2rem;
  height: 2.2rem;
  color: #147ca4;
}
@media (max-width: 64rem) {
  .journey-programs .content {
    padding-inline: 1.3rem;
  }
  .journey-details .journey-row,
  .journey-details .journey-row:nth-child(even) {
    grid-template-columns: 15rem 1fr;
  }
  .journey-details .journey-row:nth-child(even) > img {
    order: 0;
  }
  .journey-details .journey-row:nth-child(even) > div {
    padding: 1.2rem 1.5rem 1rem 0;
  }
  .journey-columns {
    gap: 0.6rem;
  }
  .journey-includes .grid {
    grid-template-columns: repeat(3, 1fr);
    row-gap: 2rem;
  }
  .journey-includes .card:nth-child(3) {
    border-right: 0;
  }
}
@media (max-width: 48rem) {
  .journey-programs .grid-3 {
    grid-template-columns: 1fr;
  }
  .journey-programs .program-card {
    max-width: 30rem;
    width: 100%;
    margin: auto;
  }
  .methodology-section .steps {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 2.8rem;
  }
  .methodology-section .steps::before {
    display: none;
  }
  .journey-details .journey-row,
  .journey-details .journey-row:nth-child(even) {
    grid-template-columns: 1fr;
  }
  .journey-details .journey-row > img {
    height: 18rem;
    min-height: 0;
  }
  .journey-details .journey-row > div,
  .journey-details .journey-row:nth-child(even) > div {
    padding: 1.2rem;
  }
  .journey-columns {
    grid-template-columns: 1fr 1fr;
  }
  .journey-includes .grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .journey-includes .card {
    border-right: 0;
    border-bottom: 1px solid var(--line);
    padding: 1.2rem;
  }
}
@media (max-width: 35rem) {
  .methodology-section .steps {
    grid-template-columns: 1fr;
  }
  .journey-columns {
    grid-template-columns: 1fr;
  }
  .journey-details .button {
    float: none;
    width: 100%;
  }
  .journey-includes .grid {
    grid-template-columns: 1fr;
  }
  .journey-program-meta {
    flex-direction: column;
    gap: 0.35rem;
  }
}

/* Requested refinements: process counters and contact ordering/hero benefits. */
body[data-page="inicio"] .step b span {
  bottom: -1rem;
  width: 2rem;
  height: 2rem;
  border: 0.12rem solid #fff;
  background: #69359d;
  color: #fff;
  box-shadow: 0 0.15rem 0.35rem rgba(28, 43, 78, 0.18);
}
body[data-page="inicio"] .step:nth-of-type(2) b span {
  background: #4d3eb1;
}
body[data-page="inicio"] .step:nth-of-type(3) b span {
  background: #1766aa;
}
body[data-page="inicio"] .step:nth-of-type(4) b span {
  background: #087b9e;
}
body[data-page="inicio"] .step:nth-of-type(5) b span {
  background: #008c96;
}
.contact-hero .hero-badges {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: min(100%, 34rem);
  flex-wrap: nowrap;
}
.contact-hero .pill {
  min-width: 0;
  white-space: nowrap;
}
@media (max-width: 35rem) {
  .contact-hero .hero-badges {
    grid-template-columns: 1fr;
    width: 100%;
  }
  .contact-hero .pill {
    white-space: normal;
  }
}

.methodology-section .steps {
  border: 0;
  border-radius: 0;
}

/* Home programs share the exact visual system used on Jornadas. */
body[data-page="inicio"] .journey-programs .program-card {
  min-height: 27rem;
  border-radius: 1.2rem;
  box-shadow: 0 0.7rem 1.6rem rgba(29, 34, 70, 0.12);
  overflow: hidden;
}
body[data-page="inicio"] .journey-programs .program-card > img {
  height: 12rem;
}
body[data-page="inicio"] .journey-programs .program-card .content {
  position: relative;
  margin-top: -2.1rem;
  min-height: 17rem;
  padding: 3.5rem 2rem 1.4rem;
  border-radius: 50% 50% 0 0/12% 12% 0 0;
  background: linear-gradient(145deg, #faf8ff, #fff);
  color: var(--ink);
  text-align: left;
}
body[data-page="inicio"] .journey-programs .featured .content {
  background: linear-gradient(145deg, #5336c6, #283e91);
  color: #fff;
}
body[data-page="inicio"] .journey-programs .featured .content p {
  color: #fff;
}
body[data-page="inicio"] .journey-programs .journey-program-3 .content {
  background: linear-gradient(145deg, #effafa, #fff);
}
body[data-page="inicio"] .journey-programs .journey-program-3 h3,
body[data-page="inicio"] .journey-programs .journey-program-3 a {
  color: #1497a1;
}
body[data-page="inicio"] .journey-programs .journey-program-icon {
  position: absolute;
  left: 2rem;
  top: -2.1rem;
  width: 4.4rem;
  height: 4.4rem;
  margin: 0;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #fff;
  color: #6440bd;
  border: 1px solid #e5e0ef;
  box-shadow: none;
}
body[data-page="inicio"] .journey-programs .journey-program-icon .line-icon {
  width: 2.5rem;
  height: 2.5rem;
}

/* Footer global basado en la maqueta. */
.site-footer {
  padding: 3.5rem 0 1.35rem;
  background: linear-gradient(115deg, #0b426f 0%, #082f5b 55%, #06294f 100%);
  color: #fff;
}
.site-footer .footer-grid {
  display: grid;
  grid-template-columns: 1.25fr 0.95fr 1.05fr 1.2fr;
  gap: 0;
}
.site-footer .footer-grid > section {
  min-width: 0;
  padding: 0 2.15rem;
}
.site-footer .footer-grid > section:first-child {
  padding-left: 0;
}
.site-footer .footer-grid > section:last-child {
  padding-right: 0;
}
.site-footer .footer-grid > section + section {
  border-left: 1px solid rgba(255, 255, 255, 0.42);
}
.footer-brand-link {
  display: grid;
  grid-template-columns: 2.7rem 1fr;
  align-items: end;
  gap: 0.55rem;
  width: max-content;
  max-width: 100%;
  font:
    700 clamp(1.5rem, 1.3rem + 0.55vw, 2rem)/1.05 "Playfair Display",
    Georgia,
    serif;
  color: #fff;
}
.footer-brand-icon {
  grid-column: 1;
  width: 7rem;
  height: 7rem;
  object-fit: contain;
}
.footer-brand-link span {
  grid-column: 1/3;
}
.footer-brand-link::after {
  display: none;
}
.footer-brand > p {
  max-width: 17rem;
  margin: 1rem 0 1.1rem;
  color: #f0f6fb;
  font-size: var(--fs-sm);
  line-height: 1.6;
}
.footer-socials {
  display: flex;
  gap: 0.8rem;
  align-items: center;
}
.footer-social {
  width: 2.15rem;
  height: 2.15rem;
  display: grid;
  place-items: center;
  border: 1px solid #4fc3ce;
  border-radius: 50%;
  color: #fff;
  font:
    600 var(--fs-sm)/1 "DM Sans",
    sans-serif;
}
.footer-social > img {
  width: 1.15rem;
  height: 1.15rem;
  object-fit: contain;
}
.footer-social--linkedin {
  font-size: 0.8rem;
}
.site-footer .footer-title {
  margin: 0 0 1.5rem;
  color: #fff;
  font:
    700 var(--fs-sm)/1.2 "DM Sans",
    sans-serif;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.site-footer .footer-title::after {
  content: "";
  display: block;
  width: 1.7rem;
  height: 0.16rem;
  margin-top: 0.55rem;
  border-radius: 1rem;
  background: #fff;
}
.site-footer .footer-links {
  gap: 0.72rem;
}
.site-footer .footer-links a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  color: #fff;
  font-size: var(--fs-sm);
}
.footer-info-list {
  display: grid;
  gap: 1.2rem;
}
.site-footer .footer-info {
  display: grid;
  grid-template-columns: 1.55rem minmax(0, 1fr);
  align-items: center;
  gap: 0.75rem;
  color: #fff;
  font-size: var(--fs-xs);
  line-height: 1.4;
}
.site-footer .footer-info img {
  width: 1.45rem;
  height: 1.45rem;
  object-fit: contain;
  opacity: 1;
  filter: none;
}
.site-footer .copyright {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  margin-top: 2.4rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(255, 255, 255, 0.42);
  color: #fff;
  text-align: center;
}
.site-footer .copyright p {
  margin: 0;
  color: #fff;
  font-size: var(--fs-xs);
}
@media (max-width: 64rem) {
  .site-footer .footer-grid {
    grid-template-columns: 1fr 1fr;
    row-gap: 2.5rem;
  }
  .site-footer .footer-grid > section {
    padding: 0 2rem;
  }
  .site-footer .footer-grid > section:nth-child(odd) {
    padding-left: 0;
    border-left: 0;
  }
  .site-footer .footer-grid > section:nth-child(even) {
    padding-right: 0;
  }
}
@media (max-width: 40rem) {
  .site-footer {
    padding-top: 2.75rem;
  }
  .site-footer .footer-grid {
    grid-template-columns: 1fr;
    row-gap: 0;
  }
  .site-footer .footer-grid > section,
  .site-footer .footer-grid > section:nth-child(n) {
    padding: 1.5rem 0;
    border-left: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.35);
  }
  .site-footer .footer-grid > section:first-child {
    padding-top: 0;
    border-top: 0;
  }
  .footer-brand > p {
    max-width: 22rem;
  }
  .site-footer .copyright {
    gap: 0.55rem;
  }
  .site-footer .copyright > span {
    display: none;
  }
}
body[data-page="inicio"] .journey-programs .journey-program-meta {
  display: flex;
  gap: 1rem;
  margin-top: 1rem;
  padding-top: 0.8rem;
  border-top: 1px solid rgba(62, 71, 100, 0.2);
  font-size: var(--fs-xs);
}

/* Galerías navegables y visor de Experiencias. */
.experience-toggle {
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
}
body[data-page="experiencias"] .experience-toggle .experience-toggle-icon {
  width: 1.5rem;
  height: 1.5rem;
  object-fit: contain;
  flex: 0 0 auto;
}
.gallery-carousel {
  position: relative;
  margin: 0.4rem 0;
  padding: 0 2.35rem;
}
.gallery-carousel--static {
  padding-inline: 0;
}
.gallery-viewport {
  overflow: hidden;
  border-radius: 0.75rem;
}
.gallery-track {
  display: flex;
  gap: 0.75rem;
  transition: transform 0.35s ease;
  will-change: transform;
}
.gallery-item {
  flex: 0 0 calc((100% - 1.5rem) / 3);
  padding: 0;
  border: 0;
  border-radius: 0.75rem;
  background: transparent;
  overflow: hidden;
  cursor: zoom-in;
}
.detail-inner .gallery-item > img {
  width: 100%;
  height: 12rem;
  object-fit: cover;
  transition: transform 0.25s ease;
}
.gallery-item:hover > img {
  transform: scale(1.025);
}
.gallery-item:focus-visible {
  outline: 0.18rem solid #2568ac;
  outline-offset: 0.2rem;
}
.gallery-arrow {
  position: absolute;
  z-index: 2;
  top: 50%;
  width: 2.45rem;
  height: 2.45rem;
  padding: 0.55rem;
  display: grid;
  place-items: center;
  border: 1px solid #d8d2ea;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0.3rem 0.9rem rgba(31, 50, 88, 0.14);
  transform: translateY(-50%);
  cursor: pointer;
}
.gallery-arrow--prev {
  left: -0.15rem;
}
.gallery-arrow--next {
  right: -0.15rem;
}
.gallery-arrow img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.gallery-arrow:disabled {
  opacity: 0.32;
  cursor: not-allowed;
}
.gallery-arrow:focus-visible,
.gallery-lightbox button:focus-visible {
  outline: 0.18rem solid #41aeb8;
  outline-offset: 0.18rem;
}
.gallery-lightbox {
  width: min(70rem, calc(100% - 2rem));
  max-height: calc(100vh - 2rem);
  padding: 0;
  border: 0;
  border-radius: 1.15rem;
  background: transparent;
  color: var(--ink);
  overflow: visible;
}
.gallery-lightbox::backdrop {
  background: rgba(8, 31, 63, 0.82);
  backdrop-filter: blur(0.2rem);
}
.gallery-lightbox__panel {
  padding: 1.5rem 1.7rem 1.2rem;
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 1.15rem;
  background: linear-gradient(145deg, #fff, #f4f7fc);
  box-shadow: 0 1.2rem 3.5rem rgba(5, 25, 58, 0.38);
}
.gallery-lightbox__header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}
.gallery-lightbox__header h2 {
  margin: 0;
  color: var(--ink);
  font-size: var(--fs-h2);
}
.gallery-lightbox__close {
  width: 2.5rem;
  height: 2.5rem;
  border: 0;
  border-radius: 50%;
  background: #eee9fb;
  color: #5531a1;
  font-size: 1.7rem;
  line-height: 1;
  cursor: pointer;
}
.gallery-lightbox__stage {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr) 3rem;
  align-items: center;
  gap: 1rem;
}
.gallery-lightbox__stage figure {
  min-width: 0;
  margin: 0;
  text-align: center;
}
.gallery-lightbox__image {
  width: 100%;
  height: min(62vh, 35rem);
  border-radius: 0.85rem;
  object-fit: contain;
  background: #eaf0f7;
}
.gallery-lightbox__caption {
  margin-top: 0.8rem;
  color: var(--muted);
  font-size: var(--fs-sm);
}
.gallery-lightbox__arrow {
  width: 3rem;
  height: 3rem;
  padding: 0.7rem;
  border: 1px solid #bbb4d4;
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
}
.gallery-lightbox__arrow img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.gallery-lightbox__counter {
  margin: 0.75rem 0 0;
  text-align: center;
  color: #5531a1;
  font-size: var(--fs-sm);
  font-weight: 700;
}
@media (max-width: 48rem) {
  .gallery-item {
    flex-basis: calc((100% - 0.75rem) / 2);
  }
  .gallery-lightbox__panel {
    padding: 1.2rem;
  }
  .gallery-lightbox__image {
    height: min(58vh, 30rem);
  }
}
@media (max-width: 35rem) {
  .gallery-carousel,
  .gallery-carousel--static {
    padding-inline: 1.8rem;
  }
  .gallery-item {
    flex-basis: 100%;
  }
  .gallery-arrow--prev {
    left: -0.3rem;
  }
  .gallery-arrow--next {
    right: -0.3rem;
  }
  .gallery-lightbox {
    width: calc(100% - 1rem);
  }
  .gallery-lightbox__panel {
    padding: 1rem;
  }
  .gallery-lightbox__stage {
    grid-template-columns: 2.4rem minmax(0, 1fr) 2.4rem;
    gap: 0.35rem;
  }
  .gallery-lightbox__arrow {
    width: 2.4rem;
    height: 2.4rem;
    padding: 0.55rem;
  }
  .gallery-lightbox__image {
    height: 52vh;
  }
  .gallery-lightbox__caption {
    font-size: var(--fs-xs);
  }
}
@media (prefers-reduced-motion: reduce) {
  .gallery-track,
  .gallery-item > img {
    transition: none;
  }
}

/* Alineamientos finales solicitados en Inicio y Jornadas. */
.journey-programs .program-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.journey-programs .program-card .content {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}
.journey-programs .journey-program-meta {
  width: 100%;
  margin-top: auto !important;
  flex-wrap: nowrap;
}
.journey-programs .journey-program-meta span {
  white-space: nowrap;
}
.journey-programs .content > a {
  display: inline-flex;
  align-items: center;
  min-height: 1.7rem;
  margin-top: 0.25rem;
}

/* Ajustes de composición para la página Nosotras. */
@media (min-width: 64.01rem) {
  body[data-page="nosotras"] .trait-strip {
    position: relative;
    z-index: 2;
    margin-top: -5.6rem;
    padding: 0 0 1.5rem;
    background: transparent;
  }
  body[data-page="nosotras"] .trait-strip .container {
    padding-left: 52%;
    justify-content: space-between;
    gap: 1rem;
  }
  .guides-section .values {
    grid-template-columns: 1fr 0.78fr 1.24fr 1fr 1fr 1fr 1fr;
  }
}
.guides-section .grid-3 .card {
  justify-content: flex-start;
}
.guides-section .grid-3 .card-icon {
  flex: 0 0 5rem;
  margin-bottom: 1rem;
}
.guides-section .grid-3 .card h3 {
  margin: 0 0 0.55rem;
}
.guides-section .grid-3 .card p {
  margin: 0;
}
body[data-page="nosotras"] .about-commitment {
  background:
    linear-gradient(
      90deg,
      rgba(250, 247, 252, 0.99) 0 49%,
      rgba(250, 247, 252, 0.08) 72%
    ),
    url("../../imagenes/imagenes/pagina nosotras/fundadoras.png") right
      center/58% 100% no-repeat;
}

/* Contacto: beneficios sin separadores y cita breve en dos líneas. */
.contact-hero .pill + .pill {
  border-left: 0;
  border-top: 0;
}
.direct-contact blockquote.contact-item {
  display: grid;
  place-items: center;
  padding: 2rem 1rem;
  text-align: center;
  line-height: 1.55;
}

/* La imagen de la primera experiencia comienza a la altura de su título. */
body[data-page="experiencias"] .experience:first-child .experience-main {
  align-items: start;
}

@media (max-width: 48rem) {
  body[data-page="nosotras"] .about-commitment {
    background:
      linear-gradient(rgba(20, 38, 72, 0.86), rgba(20, 38, 72, 0.86)),
      url("../../imagenes/imagenes/pagina nosotras/fundadoras.png") center/cover;
  }
}

@media (max-width: 35rem) {
  .journey-programs .journey-program-meta {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* Refinamientos de las jornadas y del footer compartido. */
.journey-programs .featured .journey-program-meta {
  border-top-color: rgba(255, 255, 255, 0.72) !important;
}
.journey-details .journey-row,
.journey-details .journey-row:nth-child(even) {
  grid-template-columns: 21rem minmax(0, 1fr);
}
.journey-details .journey-row:nth-child(even) > img {
  order: 0;
}
.journey-details .journey-row:nth-child(even) > div {
  padding: 1.2rem 1.5rem 1rem 0;
}
.journey-details .journey-columns > div:nth-child(2) {
  padding-top: 0.85rem;
  border-top: 1px solid var(--line);
}
.journey-columns li {
  align-items: flex-start;
  color: transparent;
  font-size: 0;
  font-weight: 400;
}
.journey-columns li::before {
  content: "";
  width: 1rem;
  height: 1rem;
  margin-top: 0.08rem;
  flex: 0 0 1rem;
  background: url("../../imagenes/iconos/pagina jornadas/check_24dp_407BB2_FILL0_wght500_GRAD0_opsz24.svg")
    center/contain no-repeat;
}
.journey-columns li span {
  color: var(--muted);
  font-size: var(--fs-xs);
  font-weight: 400;
  line-height: 1.45;
}
.journey-comparison tbody th {
  display: table-cell;
  vertical-align: middle;
}
.journey-comparison tbody th > img {
  margin-right: 0.8rem;
  vertical-align: middle;
}
.journey-comparison tbody th > span {
  vertical-align: middle;
}
.footer-socials {
  display: none;
}
@media (min-width: 64.01rem) {
  .site-footer .footer-links a:hover,
  .site-footer .footer-info[href^="mailto:"]:hover,
  .site-footer .footer-info[href^="tel:"]:hover {
    color: #526176;
    text-decoration: underline;
    text-decoration-color: #526176;
    text-underline-offset: 0.25rem;
  }
}
@media (max-width: 64rem) {
  .journey-details .journey-row,
  .journey-details .journey-row:nth-child(even) {
    grid-template-columns: 15rem minmax(0, 1fr);
  }
}
@media (max-width: 48rem) {
  .journey-details .journey-row,
  .journey-details .journey-row:nth-child(even) {
    grid-template-columns: 1fr;
  }
}

/* Aplicación del sistema de botones en componentes existentes. */
.experience-more.button--secondary,
.all-experiences.button--secondary,
body[data-page="experiencias"] .experience-toggle.button--ghost {
  border-color: #102a56;
  border-radius: 999px;
  background: #ffffff;
  color: #102a56;
  box-shadow: none;
}
.experience-more.button--secondary:hover,
.all-experiences.button--secondary:hover,
body[data-page="experiencias"] .experience-toggle.button--ghost:hover {
  border-color: #526176;
  background: #f5f6f8;
  color: #526176;
  transform: translateY(-1px);
  box-shadow: 0 0.3rem 0.75rem rgba(82, 97, 118, 0.12);
}
.nav-list li:last-child .button {
  border-color: #102a56;
  background: #102a56;
  color: #ffffff;
}
.nav-list li:last-child .button:hover {
  border-color: #234b78;
  background: #234b78;
  color: #ffffff;
}
.contact-form-card .button[type="submit"] {
  grid-column: 1 / -1;
  width: 100%;
  border-color: #102a56;
  background: #102a56;
  color: #ffffff;
}
.contact-form-card .button[type="submit"]:hover {
  border-color: #234b78;
  background: #234b78;
}

/* Las tarjetas conservan su enlace semántico y son clickeables por completo. */
.journey-programs .program-card {
  cursor: pointer;
}
.journey-programs .content > a {
  position: relative;
  z-index: 2;
  text-decoration-line: underline;
  text-decoration-color: transparent;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.25em;
  transition:
    color 180ms ease,
    text-decoration-color 180ms ease;
}
.journey-programs .program-card:hover .content > a,
.journey-programs .content > a:hover,
.journey-programs .content > a:focus-visible {
  text-decoration-color: currentColor;
}

@media (min-width: 48.01rem) {
  .home-hero .hero-grid {
    grid-template-columns: minmax(0, 2fr) minmax(20rem, 2fr);
    grid-template-rows: auto auto auto auto auto;
    column-gap: clamp(1.5rem, 3vw, 3rem);
    row-gap: 0;
    align-items: start;
  }
  .home-hero .hero-copy {
    display: contents;
  }
  .home-hero .hero-copy > * {
    grid-column: 1;
    padding-left: max(0rem, calc((100vw - var(--max)) / 2));
  }
  .home-hero .hero-kicker {
    grid-row: 1;
  }
  .home-hero .hero-copy > h1 {
    grid-row: 2;
  }
  .home-hero .hero-copy > p:not(.hero-kicker) {
    grid-row: 3;
  }
  .home-hero .hero-actions {
    grid-row: 4;
  }
  .home-hero .trusted {
    grid-row: 5;
  }
  .home-hero .hero-media {
    grid-column: 2;
    grid-row: 2 / 5;
    width: 100%;
    height: calc(100% - 0.85rem);
    min-height: 0;
    margin: 0;
    align-self: start;
  }
  .home-hero .hero-media img {
    height: 100%;
    min-height: 0;
    object-fit: cover;
  }
}

/* Refinamientos responsive para tablet compacta (770 px a 930 px). */
@media (min-width: 48.125rem) and (max-width: 58.125rem) {
  /* Jornadas: distribucion 3 + 2 centrada en Que incluye cada jornada. */
  .journey-includes .grid {
    display: flex;
    flex-wrap: wrap;
    column-gap: 0;
    row-gap: 2rem;
  }
  .journey-includes .card {
    flex: 0 0 33.3333%;
    min-width: 0;
  }
  .journey-includes .card:nth-child(1) {
    grid-column: auto;
  }
  .journey-includes .card:nth-child(2) {
    grid-column: auto;
  }
  .journey-includes .card:nth-child(3) {
    grid-column: auto;
    border-right: 0;
  }
  .journey-includes .card:nth-child(4) {
    grid-column: auto;
    margin-left: 16.6667%;
    border-right: 1px solid var(--line);
  }
  .journey-includes .card:nth-child(5) {
    grid-column: auto;
    border-right: 0;
  }

  /* Contacto: las dos tarjetas comparten altura y la cita ocupa el remanente. */
  .contact-main-section > .contact-layout {
    align-items: stretch;
  }
  .direct-contact {
    display: flex;
    flex-direction: column;
    height: 100%;
  }
  .direct-contact blockquote.contact-item {
    flex: 1 1 auto;
    width: 100%;
    min-height: 10rem;
    padding: 1.5rem 1rem;
  }
}

/* Alineación final de la marca del footer y pie adherido al viewport. */
body {
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
}
body > main {
  flex: 1 0 auto;
}
.site-footer {
  flex-shrink: 0;
}
.site-footer .footer-brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.site-footer .footer-brand-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  margin-inline: auto;
  gap: 0.55rem;
}
.site-footer .footer-brand-link span {
  color: #ffffff;
  font-family: "DM Sans", Arial, sans-serif;
  font-size: var(--fs-sm);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.site-footer .footer-brand > p {
  margin: 1rem auto 1.1rem;
  text-align: center;
}

/* Inicio: conserva ambos CTA en una sola linea en el limite de tablet. */
@media (min-width: 48.0625rem) and (max-width: 50.125rem) {
  .home-hero .hero-actions {
    flex-wrap: nowrap;
    gap: 0.45rem;
  }
  .home-hero .hero-actions .button {
    width: auto;
    min-width: 0;
    padding-inline: 0.8rem;
    font-size: 0.75rem;
    white-space: nowrap;
  }
}

/* Footer de tablet: marca centrada arriba e informacion en tres columnas abajo. */
@media (min-width: 48.125rem) and (max-width: 64rem) {
  .site-footer .footer-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    row-gap: 2rem;
  }
  .site-footer .footer-grid > section,
  .site-footer .footer-grid > section:nth-child(n) {
    min-width: 0;
    padding: 0 1.25rem;
  }
  .site-footer .footer-grid > .footer-brand {
    grid-column: 1 / -1;
    padding: 0 0 2rem;
    border: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.42);
    text-align: center;
  }
  .site-footer .footer-grid > section:nth-child(2) {
    padding-left: 0;
    border-left: 0;
  }
  .site-footer .footer-grid > section:nth-child(4) {
    padding-right: 0;
  }
  .site-footer .footer-grid > section:nth-child(3),
  .site-footer .footer-grid > section:nth-child(4) {
    border-left: 1px solid rgba(255, 255, 255, 0.42);
  }
  .site-footer .footer-brand-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    margin-inline: auto;
  }
  .site-footer .footer-brand-icon,
  .site-footer .footer-brand-link span {
    grid-column: auto;
  }
  .site-footer .footer-brand > p {
    margin-inline: auto;
    text-align: center;
  }
  .site-footer .footer-socials {
    justify-content: center;
  }
}

/* Footer en escritorio intermedio: columnas informativas ligeramente a la izquierda. */
@media (min-width: 64.0625rem) and (max-width: 70.9375rem) {
  .site-footer .footer-grid {
    grid-template-columns: 1.05fr 0.85fr 1.15fr 1.3fr;
  }
  .site-footer .footer-grid > section {
    padding-inline: 1.25rem;
  }
  .site-footer .footer-grid > section:first-child {
    padding-left: 0;
  }
  .site-footer .footer-grid > section:last-child {
    padding-right: 0;
  }
  .site-footer .footer-brand > p {
    max-width: 15rem;
  }
}

/* Ajustes de tablet horizontal y tablet compacta (770 px a 930 px). */
@media (min-width: 48.125rem) and (max-width: 58.125rem) {
  /* El header de escritorio se compacta para no generar desborde en tablet. */
  .nav-wrap {
    gap: 0.5rem;
  }
  .brand-logo {
    gap: 0.4rem;
    font-size: var(--fs-xs);
  }
  .brand-logo img {
    width: 3rem;
    height: 3rem;
    flex-basis: 3rem;
  }
  .nav-list {
    gap: 0.35rem;
  }
  .nav-list a:not(.button) {
    padding-inline: 0.35rem;
    font-size: var(--fs-xs);
  }
  .nav-list .button {
    min-width: 0;
    padding-inline: 1rem;
    font-size: var(--fs-xs);
  }

  /* En las tarjetas de programas, cada dato ocupa su propia linea. */
  .journey-programs .journey-program-meta {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.35rem;
  }

  /* Inicio: tres etapas arriba y las dos finales centradas debajo. */
  body[data-page="inicio"] .steps {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    column-gap: 0.75rem;
    row-gap: 2.5rem;
  }
  body[data-page="inicio"] .process-connector {
    display: none;
  }
  body[data-page="inicio"] .steps::before {
    content: "";
    position: absolute;
    z-index: 0;
    display: block;
    left: 16.666%;
    right: 16.666%;
    top: 3.6rem;
    height: 1rem;
    border-top: 0.16rem solid #4666b5;
    border-radius: 50%;
    background: transparent;
  }
  body[data-page="inicio"] .step {
    position: relative;
  }
  body[data-page="inicio"] .step:nth-of-type(1) {
    grid-column: 1 / 3;
  }
  body[data-page="inicio"] .step:nth-of-type(2) {
    grid-column: 3 / 5;
  }
  body[data-page="inicio"] .step:nth-of-type(3) {
    grid-column: 5 / 7;
  }
  body[data-page="inicio"] .step:nth-of-type(4) {
    grid-column: 2 / 4;
  }
  body[data-page="inicio"] .step:nth-of-type(5) {
    grid-column: 4 / 6;
  }
  body[data-page="inicio"] .step:nth-of-type(4)::after {
    content: "";
    position: absolute;
    z-index: -1;
    top: 3.25rem;
    left: calc(50% + 3.5rem);
    width: calc(100% - 7rem);
    height: 1.15rem;
    border-top: 0.16rem solid #2872b1;
    border-radius: 50%;
  }

  /* Nosotras: atributos directamente bajo la imagen del hero. */
  body[data-page="nosotras"] .trait-strip {
    margin-top: -0.45rem;
    padding: 0.45rem 0 1rem;
  }
  body[data-page="nosotras"] .trait-strip .container {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 52%;
    margin-right: 0;
    margin-left: auto;
    gap: 0.5rem;
  }
  body[data-page="nosotras"] .trait-strip span {
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    min-width: 0;
    text-align: center;
    font-size: var(--fs-xs);
    line-height: 1.25;
  }

  /* Nosotras: red profesional con jerarquia vertical y separadores claros. */
  .network-panel {
    padding: 2rem 1.5rem;
  }
  .network-panel .card {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto 1fr;
    justify-items: center;
    align-content: start;
    min-width: 0;
    min-height: 15rem;
    padding: 0 1rem;
    text-align: center;
  }
  .network-panel .card-icon {
    grid-row: auto;
    margin: 0 auto 0.75rem;
  }
  .network-panel .card h3,
  .network-panel .card p {
    align-self: auto;
  }
  .network-panel .card h3 {
    min-height: 2.7rem;
    margin-bottom: 0.45rem;
  }

  /* Contacto y Experiencias: icono arriba, etiqueta debajo. */
  .contact-hero .hero-badges,
  .experiences-hero .hero-badges {
    width: 100%;
    max-width: 34rem;
    margin-right: 0;
  }
  .contact-hero .pill,
  .experiences-hero .pill {
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 0.45rem;
    min-width: 0;
    padding: 0.45rem 0.35rem;
    text-align: center;
    white-space: normal;
  }
  .contact-hero .pill + .pill,
  .experiences-hero .pill + .pill {
    border-top: 0;
    border-left: 1px solid var(--line);
  }
  .contact-hero .pill b,
  .experiences-hero .pill b {
    font-size: var(--fs-xs);
    line-height: 1.25;
  }

  /* Contacto: canales y zonas legibles dentro de columnas estrechas. */
  .direct-contact .contact-item:not(blockquote) {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-height: 8.5rem;
    padding: 1.15rem 0.7rem;
    text-align: center;
  }
  .direct-contact .contact-item:not(blockquote) .contact-item-icon {
    position: static;
    margin-bottom: 0.55rem;
  }
  .direct-contact .contact-item a,
  .direct-contact .contact-item p {
    max-width: 100%;
    margin-top: 0.25rem;
    overflow-wrap: anywhere;
  }
  .zones-section .card {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto 1fr;
    justify-items: center;
    align-content: start;
    min-height: 16rem;
    padding: 1.25rem 1rem;
    text-align: center;
  }
  .zones-section .card-icon {
    grid-row: auto;
    margin: 0 auto 0.7rem;
  }
  .zones-section .card h3,
  .zones-section .card p {
    align-self: auto;
  }
  .zones-section .card h3 {
    min-height: 4.2rem;
    margin-bottom: 0.45rem;
  }

  /* Jornadas: metodologia en esquema 3 + 2, con ambos recorridos unidos. */
  .methodology-section .steps {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    column-gap: 0.75rem;
    row-gap: 2.8rem;
  }
  .methodology-section .step {
    position: relative;
  }
  .methodology-section .step:nth-child(1) {
    grid-column: 1 / 3;
  }
  .methodology-section .step:nth-child(2) {
    grid-column: 3 / 5;
  }
  .methodology-section .step:nth-child(3) {
    grid-column: 5 / 7;
  }
  .methodology-section .step:nth-child(4) {
    grid-column: 2 / 4;
  }
  .methodology-section .step:nth-child(5) {
    grid-column: 4 / 6;
  }
  .methodology-section .step:nth-child(4)::after {
    content: "";
    position: absolute;
    z-index: 0;
    top: 2.25rem;
    left: calc(50% + 2.25rem);
    width: calc(100% - 4.5rem);
    height: 0.9rem;
    border-top: 0.14rem solid #6250b7;
    border-radius: 50%;
  }
  .methodology-section .step b,
  .methodology-section .step h3,
  .methodology-section .step p {
    position: relative;
    z-index: 1;
  }

  /* Jornadas: primera columna mas compacta y encabezado alineado. */
  .journey-comparison table {
    min-width: 46rem;
  }
  .journey-comparison thead th:first-child {
    width: 9rem;
    text-align: left;
  }
  .journey-comparison tbody th {
    gap: 0.55rem;
  }

  /* La segunda experiencia inicia imagen y contenido en la misma linea. */
  body[data-page="experiencias"] .experience:nth-child(2) .experience-main {
    align-items: start;
  }
}

/* Nosotras: baja ligeramente los atributos bajo el hero en escritorio mediano. */
@media (min-width: 72.5rem) and (max-width: 84.375rem) {
  body[data-page="nosotras"] .trait-strip {
    margin-top: -4rem;
  }
}

/* Margen lateral de los hero en tablet y escritorio intermedio. */
@media (min-width: 48.063rem) and (max-width: 76.25rem) {
  .hero .hero-copy {
    padding-left: clamp(1.5rem, 3vw, 2.5rem);
  }

  /* En Inicio el contenido participa directamente en la cuadrícula. */
  .home-hero .hero-copy > * {
    padding-left: clamp(1.5rem, 3vw, 2.5rem);
  }
}

.hero-copy .hero-kicker {
  color: #5234af;
}

/* La franja informativa del hero de Nosotras se superpone visualmente al hero,
   pero no debe interceptar los clics del CTA principal. */
body[data-page="nosotras"] .trait-strip,
body[data-page="nosotras"] .trait-strip .container {
  pointer-events: none;
}

/* Identidad textual compartida del header. */
.brand-logo {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  width: auto;
  min-width: max-content;
  color: #102a56;
  font-family: Arial, sans-serif;
  font-size: var(--fs-sm);
  font-weight: 700;
  line-height: 1.15;
}
.brand-logo img {
  width: 3.5rem;
  height: 3.5rem;
  flex: 0 0 3.5rem;
  object-fit: contain;
}
.brand-logo .brand-name {
  display: inline-flex;
  flex-direction: column;
  gap: 0;
  line-height: 1.05;
  text-transform: uppercase;
  white-space: nowrap;
}
.brand-logo .brand-name__jornadas {
  color: #4d2b99;
}
.brand-logo .brand-name__bienestar {
  color: #0456b5;
}

.footer-brand-link span {
  color: #ffffff;
}

/* CTA final homologado en todas las páginas. */
body[data-page] .cta.about-commitment {
  position: relative;
  min-height: 22rem;
  padding: 2.3rem 4.5rem;
  border: 1px solid #eee8f2;
  border-radius: 1.2rem;
  background:
    linear-gradient(
      90deg,
      rgba(250, 247, 252, 0.99) 0 44%,
      rgba(250, 247, 252, 0.82) 51%,
      rgba(250, 247, 252, 0.08) 69%
    ),
    url("../../imagenes/imagenes/pagina nosotras/fundadoras.png") right
      center/58% 100% no-repeat;
  color: #102a56;
  overflow: hidden;
}
body[data-page] .cta.about-commitment > div {
  max-width: 46%;
}
body[data-page] .cta.about-commitment h2 {
  max-width: 31rem;
  margin-bottom: 0.55rem;
  color: #102a56;
}
body[data-page] .cta.about-commitment p:not(.eyebrow) {
  color: #102a56;
}
body[data-page] .cta.about-commitment .button {
  margin-top: 0.8rem;
}

@media (max-width: 48rem) {
  .brand-logo {
    min-width: 0;
  }
  .brand-logo img {
    width: 3rem;
    height: 3rem;
    flex-basis: 3rem;
  }
  body[data-page] .cta.about-commitment {
    min-height: 20rem;
    padding: 2rem;
    background:
      linear-gradient(rgba(16, 42, 86, 0.86), rgba(16, 42, 86, 0.86)),
      url("../../imagenes/imagenes/pagina nosotras/fundadoras.png") center/cover;
    color: #ffffff;
  }
  body[data-page] .cta.about-commitment > div {
    max-width: none;
  }
  body[data-page] .cta.about-commitment h2,
  body[data-page] .cta.about-commitment p:not(.eyebrow) {
    color: #ffffff;
  }
}

@media (max-width: 35rem) {
  .brand-logo span {
    max-width: 7rem;
    white-space: normal;
  }
}

/* Ajustes finales de espaciado y composición responsive. */
.home-hero .hero-copy > h1 {
  margin-bottom: 1.6rem;
}
.home-hero .hero-copy > p:not(.hero-kicker) {
  margin-bottom: 1rem;
}
.home-hero .hero-actions {
  margin-top: 1rem;
}
.home-hero .trusted {
  margin-top: 1.5rem;
}

@media (max-width: 48.125rem) {
  body.mobile-nav-open {
    overflow: hidden;
  }
  .mobile-nav-backdrop {
    position: fixed;
    inset: 4.5rem 0 0;
    z-index: 18;
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
    background: rgba(82, 97, 118, 0.48);
    backdrop-filter: blur(0.08rem);
    cursor: pointer;
  }
  .mobile-nav-backdrop[hidden] {
    display: none;
  }
  .site-header {
    height: 4.5rem;
    z-index: 20;
  }
  .nav-wrap {
    gap: 0.75rem;
  }
  .nav-toggle {
    display: grid;
    place-items: center;
    width: 3.25rem;
    height: 3.25rem;
    margin-left: auto;
    margin-right: -0.55rem;
    padding: 0;
    font-size: 2.05rem;
    line-height: 1;
    cursor: pointer;
  }
  .nav-toggle:focus-visible {
    border-radius: 0.5rem;
    outline: 0.18rem solid #3bafbd;
    outline-offset: 0.12rem;
  }
  .nav-list {
    display: none;
    position: absolute;
    z-index: 22;
    top: 4.5rem;
    left: 0;
    right: 0;
    flex-direction: column;
    align-items: stretch;
    background: #ffffff;
    padding: 0.8rem 1.15rem 1.25rem;
    border-radius: 0 0 1.35rem 1.35rem;
    box-shadow: 0 0.9rem 1.8rem rgba(16, 42, 86, 0.16);
  }
  .nav-list.open {
    display: flex;
  }
  .nav-list .button {
    width: 100%;
  }
  .nav-list li:last-child {
    display: flex;
    justify-content: center;
    width: 100%;
  }
  .nav-list li:last-child .button {
    width: min(100%, 21rem);
  }
}

@media (max-width: 31.25rem) {
  /* En todos los hero la imagen abre la composición y el contenido sigue debajo. */
  .hero {
    padding: 1rem 0 2.25rem;
  }
  .hero .hero-grid,
  .home-hero .hero-grid,
  .contact-hero .hero-grid {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
  }
  .hero .hero-media,
  .home-hero .hero-media,
  .contact-hero .hero-media {
    order: -1;
    width: 100%;
    height: 18rem;
    min-height: 0;
    margin: 0;
    border-radius: 0 0 4.5rem 0;
  }
  .hero .hero-media img,
  .home-hero .hero-media img,
  .contact-hero .hero-media img {
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
  }
  .hero .hero-copy {
    width: 100%;
    padding: 0 1rem;
  }
  .home-hero .hero-copy > h1 {
    margin-bottom: 0.55rem;
  }
  .home-hero .hero-actions {
    gap: 0.55rem;
    margin-top: 0.55rem;
  }
  .home-hero .hero-actions .button {
    width: 100%;
  }
  .home-hero .trusted {
    margin-top: 0.7rem;
  }
  body[data-page="nosotras"] .hero-copy > .button {
    width: min(100%, 18rem);
  }

  /* Tres atributos de Nosotras: icono arriba y texto debajo. */
  body[data-page="nosotras"] .trait-strip {
    margin-top: 0;
    padding: 1rem 0;
  }
  body[data-page="nosotras"] .trait-strip .container {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: start;
    gap: 0.45rem;
    padding-left: 0;
  }
  body[data-page="nosotras"] .trait-strip span {
    display: flex;
    flex: initial;
    flex-direction: column;
    align-items: center;
    gap: 0.4rem;
    min-width: 0;
    text-align: center;
    font-size: var(--fs-xs);
    line-height: 1.25;
  }
  body[data-page="nosotras"] .trait-strip b {
    width: 3rem;
    height: 3rem;
  }

  /* Insignias de Experiencias y Contacto: tres columnas con icono superior. */
  .experiences-hero .hero-badges,
  .contact-hero .hero-badges {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    width: 100%;
    max-width: none;
    margin-top: 1.25rem;
  }
  .experiences-hero .pill,
  .contact-hero .pill {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 0.5rem;
    min-width: 0;
    padding: 0.45rem 0.3rem;
    border-top: 0 !important;
    text-align: center;
    white-space: normal;
  }
  .experiences-hero .pill + .pill,
  .contact-hero .pill + .pill {
    border-left: 1px solid var(--line);
  }
  .experiences-hero .pill b,
  .contact-hero .pill b {
    font-size: 0.75rem;
    line-height: 1.25;
  }

  /* Tarjetas explicativas de Jornadas. */
  .journey-details .container {
    width: min(calc(100% - 2rem), var(--max));
  }
  .journey-details .journey-row,
  .journey-details .journey-row:nth-child(even) {
    width: 100%;
    margin-inline: auto;
  }
  .journey-details .journey-row > div,
  .journey-details .journey-row:nth-child(even) > div {
    width: 100%;
    padding: 1.1rem;
  }
  .journey-details .journey-row h2 {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.45rem;
  }
  .journey-details .journey-row h2 .pill {
    display: inline-flex;
    width: max-content;
    max-width: 100%;
    margin: 0;
  }
  .journey-columns {
    grid-template-columns: 1fr;
  }
  .journey-details .button {
    width: 100%;
    min-width: 0;
  }

  /* Comparador compacto, segmentado y desplazable sin cortar contenido. */
  .journey-comparison .comparison {
    margin-inline: 0;
    border-radius: 0.85rem;
    overscroll-behavior-inline: contain;
    scrollbar-color: #8864d5 #edf8fa;
  }
  .journey-comparison table {
    width: 44rem;
    min-width: 44rem;
  }
  .journey-comparison th,
  .journey-comparison td {
    padding: 0.8rem 0.65rem;
    font-size: var(--fs-xs);
    line-height: 1.35;
  }
  .journey-comparison thead th:first-child {
    width: 10.5rem;
  }
  .journey-comparison thead th {
    font-size: 1rem;
  }
  .journey-comparison thead th span {
    width: 3.8rem;
    height: 3.8rem;
  }
  .journey-comparison thead th span .line-icon,
  .journey-comparison thead th span > img {
    width: 2.55rem;
    height: 2.55rem;
  }
  .journey-comparison tbody th > img {
    width: 1.7rem;
    height: 1.7rem;
    margin-right: 0.4rem;
  }
  .journey-comparison thead th:first-child,
  .journey-comparison tbody th {
    position: sticky;
    left: 0;
    z-index: 2;
    background: #ffffff;
  }
  .journey-comparison thead th:first-child {
    z-index: 3;
  }

  /* Footer centrado en una sola columna. */
  .site-footer {
    text-align: center;
  }
  .site-footer .footer-grid > section,
  .site-footer .footer-grid > section:nth-child(n) {
    text-align: center;
  }
  .footer-brand-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    justify-items: center;
    margin-inline: auto;
  }
  .footer-brand-icon,
  .footer-brand-link span {
    grid-column: auto;
  }
  .footer-brand > p {
    margin-inline: auto;
  }
  .site-footer .footer-title::after {
    margin-inline: auto;
  }
  .site-footer .footer-links a {
    justify-content: center;
  }
  .footer-info-list {
    justify-items: center;
  }
  .site-footer .footer-info {
    grid-template-columns: 1.55rem minmax(0, auto);
    justify-content: center;
    text-align: left;
  }
  .site-footer .copyright {
    justify-content: center;
    text-align: center;
  }
}

@media (min-width: 48.01rem) {
  .home-hero .hero-grid {
    grid-template-columns: minmax(0, 2fr) minmax(20rem, 2fr);
  }
  .home-hero .hero-media {
    position: relative;
    height: auto;
    min-height: 0;
    align-self: stretch;
  }
  .home-hero .hero-media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
  }
}

/* Nosotras: atributos inmediatamente debajo de la imagen en tablet compacta. */
@media (min-width: 48.125rem) and (max-width: 58.125rem) {
  body[data-page="nosotras"] .trait-strip {
    height: 0;
    margin: 0;
    padding: 0;
    border-bottom: 0;
    overflow: visible;
  }
  body[data-page="nosotras"] .trait-strip .container {
    transform: translateY(-9rem);
  }
  body[data-page="nosotras"] .trait-strip::after {
    display: none;
  }
}
