.col-page {
	--manantial-green: var(--institutional-green);
	--manantial-green-dark: var(--institutional-green-dark);
	--manantial-red: var(--institutional-red);
	--manantial-gold: var(--institutional-gold);
	--manantial-cream: var(--institutional-cream);
	--manantial-soft: var(--institutional-soft);
	--manantial-ink: var(--institutional-ink);
	--manantial-muted: var(--institutional-muted);
	--manantial-border: rgba(0, 87, 56, .11);
  color: var(--manantial-ink);
  background: #fff;
}

.col-page *,
.col-page *::before,
.col-page *::after {
  box-sizing: border-box;
}

.col-page img {
  display: block;
  width: 100%;
  height: auto;
}

.col-page a {
  text-underline-offset: .18em;
}

.col-page a:focus-visible,
.col-page button:focus-visible {
  outline: 3px solid rgba(229, 163, 12, .55);
  outline-offset: 3px;
}

.col-hero {
  padding: clamp(4rem, 6vw, 6.25rem) 0;
  background:
    linear-gradient(90deg, #fff 0%, #fff 58%, var(--manantial-soft) 58%, var(--manantial-soft) 100%);
}

.col-section {
  padding: clamp(3.75rem, 5.5vw, 5.5rem) 0;
}

.col-section--compact {
  padding: clamp(3rem, 4.5vw, 4.5rem) 0;
}

.col-hero__grid,
.col-two-col,
.col-focus__grid,
.col-convivencia__grid,
.col-history__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .92fr);
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: center;
}

.col-hero__copy {
  max-width: 690px;
}

.col-eyebrow {
  margin: 0 0 .8rem;
  color: var(--manantial-gold);
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.col-page h1,
.col-page h2 {
  color: var(--manantial-green-dark);
  font-family: var(--heading-font);
  font-weight: 700;
  letter-spacing: 0;
}

.col-page h1 {
  max-width: 760px;
  margin: 0 0 1rem;
  font-size: clamp(2.35rem, 4.6vw, 4.45rem);
  line-height: 1.04;
}

.col-page h2 {
  margin: 0 0 1rem;
  font-size: clamp(1.75rem, 3vw, 2.75rem);
  line-height: 1.14;
}

.col-page h3 {
  margin: 0;
  color: var(--manantial-green-dark);
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.35;
}

.col-page p {
  color: var(--manantial-muted);
  line-height: 1.78;
}

.col-hero__lead {
  max-width: 660px;
  margin: 0 0 1rem;
  font-size: clamp(1rem, 1.45vw, 1.16rem);
}

.col-hero__note {
  max-width: 570px;
  margin: 0 0 1.55rem;
  padding-left: 1rem;
  border-left: 3px solid var(--manantial-gold);
  color: var(--manantial-green-dark) !important;
  font-weight: 750;
}

.col-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  align-items: center;
}

.col-actions--center {
  justify-content: center;
}

.col-btn {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  padding: .78rem 1.18rem;
  border: 1px solid transparent;
  border-radius: 8px;
  font-size: .82rem;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none;
  transition: transform .2s ease, color .2s ease, background-color .2s ease, border-color .2s ease;
}

.col-btn:hover,
.col-btn:focus {
  transform: translateY(-2px);
}

.col-btn--primary {
  color: #fff;
  background: var(--manantial-red);
}

.col-btn--primary:hover,
.col-btn--primary:focus {
  color: #fff;
  background: var(--manantial-green-dark);
}

.col-btn--ghost {
  color: var(--manantial-green-dark);
  border-color: rgba(0, 87, 56, .22);
  background: #fff;
}

.col-btn--ghost:hover,
.col-btn--ghost:focus {
  color: var(--manantial-red);
  border-color: var(--manantial-gold);
}

.col-btn--gold {
  color: var(--manantial-green-dark);
  background: var(--manantial-gold);
}

.col-btn--light {
  color: #fff;
  border-color: rgba(255, 255, 255, .34);
}

.col-btn--light:hover,
.col-btn--light:focus {
  color: #fff;
  border-color: #fff;
}

.col-hero__media {
  position: relative;
  margin: 0;
}

.col-hero__media img,
.col-image-panel > img,
.col-history figure img,
.col-focus figure img,
.col-pie figure img,
.col-convivencia figure img,
.col-family figure img,
.col-gallery figure img {
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

.col-hero__media img {
  aspect-ratio: 4 / 4.7;
}

.col-hero__media figcaption {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  max-width: 230px;
  padding: .8rem .95rem;
  color: #fff;
  background: rgba(0, 62, 40, .88);
}

.col-hero__media figcaption strong,
.col-hero__media figcaption span {
  display: block;
}

.col-hero__media figcaption strong {
  font-size: .88rem;
}

.col-hero__media figcaption span {
  margin-top: .15rem;
  color: rgba(255, 255, 255, .78);
  font-size: .76rem;
}

.col-section-head {
  max-width: 780px;
  margin-bottom: clamp(2rem, 3.5vw, 3rem);
}

.col-section-head p {
  max-width: 720px;
  margin-bottom: 0;
}

.col-two-col--center {
  align-items: center;
}

.col-image-panel {
  position: relative;
}

.col-facts {
  display: grid;
  gap: .85rem;
  margin-top: 1.2rem;
}

.col-facts div,
.col-list-lines div {
  display: grid;
  gap: .25rem;
  padding-top: .9rem;
  border-top: 1px solid var(--manantial-border);
}

.col-facts strong,
.col-list-lines strong {
  color: var(--manantial-green-dark);
  font-size: .92rem;
  font-weight: 850;
}

.col-facts span,
.col-list-lines span {
  color: var(--manantial-muted);
  font-size: .88rem;
  line-height: 1.55;
}

.col-inline-links,
.col-list-lines {
  display: grid;
  gap: .65rem;
  margin-top: 1.45rem;
}

.col-inline-links a {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: .45rem;
  color: var(--manantial-red);
  font-size: .84rem;
  font-weight: 850;
  text-decoration: none;
}

.col-history {
  background: var(--manantial-soft);
}

.col-history figure,
.col-focus figure,
.col-pie figure,
.col-convivencia figure,
.col-family figure,
.col-gallery figure {
  margin: 0;
}

.col-timeline {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.1rem 1.4rem;
}

.col-timeline::before {
  position: absolute;
  inset: .75rem auto .75rem 50%;
  width: 1px;
  background: var(--manantial-border);
  content: "";
}

.col-timeline__item {
  position: relative;
  padding-top: .85rem;
  border-top: 1px solid var(--manantial-border);
}

.col-timeline__item strong {
  display: block;
  margin-bottom: .4rem;
  color: var(--manantial-gold);
  font-family: var(--heading-font);
  font-size: 1.45rem;
  line-height: 1;
}

.col-timeline__item p {
  margin: 0;
  color: var(--manantial-green-dark);
  font-size: .88rem;
  line-height: 1.6;
}

.col-mission {
  background: var(--manantial-cream);
}

.col-mission__quote {
  max-width: 780px;
  margin: 0 auto 2rem;
  color: var(--manantial-green-dark) !important;
  font-family: var(--heading-font);
  font-size: clamp(1.4rem, 2.4vw, 2.2rem);
  line-height: 1.25;
  text-align: center;
}

.col-mission__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.8rem, 4vw, 3.5rem);
  max-width: 1040px;
  margin: 0 auto;
}

.col-mission__grid > div + div {
  padding-left: clamp(1.8rem, 4vw, 3.5rem);
  border-left: 1px solid rgba(0, 87, 56, .16);
}

.col-mission__grid i {
  display: inline-flex;
  margin-bottom: 1rem;
  color: var(--manantial-gold);
  font-size: 1.6rem;
}

.col-seals__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--manantial-border);
  border-bottom: 1px solid var(--manantial-border);
}

.col-seal {
  display: grid;
  align-content: start;
  gap: .9rem;
  padding: 1.35rem 1.2rem 1.35rem 0;
}

.col-seal + .col-seal {
  padding-left: 1.2rem;
  border-left: 1px solid var(--manantial-border);
}

.col-seal span {
  color: var(--manantial-gold);
  font-family: var(--heading-font);
  font-size: 2.15rem;
  font-weight: 700;
  line-height: 1;
}

.col-seal i {
  color: var(--manantial-red);
  font-size: 1.35rem;
}

.col-seal p {
  margin: 0;
  font-size: .9rem;
}

.col-focus {
  background: #fff;
}

.col-focus__grid {
  grid-template-columns: minmax(320px, .9fr) minmax(0, 1fr);
}

.col-pie {
  background: var(--manantial-soft);
}

.col-convivencia {
  color: #fff;
  background: var(--manantial-green-dark);
}

.col-convivencia h2,
.col-convivencia h3,
.col-convivencia .col-eyebrow {
  color: #fff;
}

.col-convivencia p {
  color: rgba(255, 255, 255, .76);
}

.col-convivencia figure img {
  aspect-ratio: 1.2 / .85;
}

.col-pill-list {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin: 1.25rem 0 1.4rem;
}

.col-pill-list span {
  padding: .45rem .7rem;
  border: 1px solid rgba(255, 255, 255, .22);
  color: #fff;
  font-size: .8rem;
  font-weight: 800;
}

.col-convivencia blockquote {
  margin: 0;
  padding-left: 1rem;
  border-left: 3px solid var(--manantial-gold);
  color: #fff;
  font-family: var(--heading-font);
  font-size: clamp(1.15rem, 2vw, 1.6rem);
  line-height: 1.35;
}

.col-profile {
  background: #fff;
}

.col-traits {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  max-width: 1040px;
}

.col-traits span {
  color: var(--manantial-green-dark);
  font-family: var(--heading-font);
  font-size: clamp(1.35rem, 3vw, 2.55rem);
  font-weight: 700;
  line-height: 1;
}

.col-traits span:not(:last-child)::after {
  margin-left: .75rem;
  color: var(--manantial-gold);
  content: "/";
}

.col-profile__closing {
  max-width: 760px;
  margin: 1.6rem 0 0;
  color: var(--manantial-green-dark) !important;
  font-weight: 700;
}

.col-family {
  background: var(--manantial-cream);
}

.col-gallery__grid {
  display: grid;
  grid-template-columns: 1.2fr .8fr .8fr;
  gap: 1rem;
}

.col-gallery figure {
  position: relative;
  min-height: 230px;
  overflow: hidden;
  background: var(--manantial-soft);
}

.col-gallery figure.is-large {
  grid-row: span 2;
}

.col-gallery figure img {
  height: 100%;
  min-height: inherit;
}

.col-gallery figcaption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  padding: .75rem .85rem;
  color: #fff;
  background: linear-gradient(180deg, rgba(0, 62, 40, 0), rgba(0, 62, 40, .88));
  font-size: .78rem;
  font-weight: 750;
  line-height: 1.35;
}

.col-stats {
  background: #fff;
}

.col-stats__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--manantial-border);
  border-bottom: 1px solid var(--manantial-border);
}

.col-stats__grid div {
  padding: 1.15rem 1rem 1.15rem 0;
}

.col-stats__grid div + div {
  padding-left: 1rem;
  border-left: 1px solid var(--manantial-border);
}

.col-stats__grid strong,
.col-stats__grid span {
  display: block;
}

.col-stats__grid strong {
  color: var(--manantial-green-dark);
  font-size: .98rem;
  font-weight: 850;
  line-height: 1.35;
}

.col-stats__grid span {
  margin-top: .35rem;
  color: var(--manantial-muted);
  font-size: .84rem;
  line-height: 1.5;
}

.col-final-cta {
  padding: clamp(3.8rem, 5.5vw, 5.2rem) 0;
  color: #fff;
  background: var(--manantial-green-dark);
  text-align: center;
}

.col-final-cta .col-eyebrow,
.col-final-cta h2 {
  color: #fff;
}

.col-final-cta h2 {
  max-width: 820px;
  margin: 0 auto 1rem;
  font-size: clamp(2rem, 3.4vw, 3.35rem);
}

.col-final-cta p {
  max-width: 720px;
  margin: 0 auto 1.55rem;
  color: rgba(255, 255, 255, .76);
}

.col-final-cta__link {
  color: rgba(255, 255, 255, .84);
  font-size: .86rem;
  font-weight: 850;
  text-decoration: none;
}

.col-final-cta__link:hover,
.col-final-cta__link:focus {
  color: #fff;
}

@media (max-width: 991.98px) {
  .col-hero {
    background: #fff;
  }

  .col-hero__grid,
  .col-two-col,
  .col-focus__grid,
  .col-convivencia__grid,
  .col-history__grid {
    grid-template-columns: 1fr;
  }

  .col-hero__media img {
    aspect-ratio: 1.35 / .9;
  }

  .col-mission__grid,
  .col-seals__grid,
  .col-stats__grid {
    grid-template-columns: 1fr;
  }

  .col-mission__grid > div + div,
  .col-seal + .col-seal,
  .col-stats__grid div + div {
    padding-left: 0;
    border-left: 0;
  }

  .col-mission__grid > div + div,
  .col-seal + .col-seal,
  .col-stats__grid div + div {
    border-top: 1px solid var(--manantial-border);
  }

  .col-seal,
  .col-stats__grid div {
    padding: 1.15rem 0;
  }

  .col-timeline {
    grid-template-columns: 1fr;
  }

  .col-timeline::before {
    inset: .8rem auto .8rem 0;
  }

  .col-timeline__item {
    padding-left: 1rem;
  }

  .col-gallery__grid {
    grid-template-columns: 1fr 1fr;
  }

  .col-gallery figure.is-large {
    grid-column: 1 / -1;
  }
}

@media (max-width: 767.98px) {
  .col-section {
    padding: 3.25rem 0;
  }

  .col-section--compact {
    padding: 2.75rem 0;
  }

  .col-hero {
    padding: 3.5rem 0;
  }

  .col-page .site-container {
    padding-right: 20px;
    padding-left: 20px;
  }

  .col-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .col-actions--center {
    align-items: stretch;
  }

  .col-btn {
    width: 100%;
  }

  .col-hero__media figcaption {
    position: static;
    max-width: none;
    margin-top: .75rem;
    background: var(--manantial-green-dark);
  }

  .col-gallery__grid {
    grid-template-columns: 1fr;
  }

  .col-gallery figure {
    min-height: auto;
  }

  .col-gallery figure img {
    min-height: 0;
  }

  .col-traits {
    display: grid;
    gap: .65rem;
  }

  .col-traits span:not(:last-child)::after {
    content: "";
  }
}

@media (prefers-reduced-motion: reduce) {
  .col-page *,
  .col-page *::before,
  .col-page *::after {
    transition: none !important;
    animation: none !important;
  }
}
