/* =========================================================
   INNER PAGES — shared styles
   ========================================================= */

/* ── Content wrapper ── */
.page-content {
  width: min(1120px, calc(100% - 160px));
  margin: 52px auto 88px;
  box-sizing: border-box;
}

.page-content *,
.page-content *::before,
.page-content *::after {
  box-sizing: border-box;
}

/* ── Page title ── */
.page-title {
  text-align: center;
  color: #0f74b7;
  font-size: clamp(2.2rem, 4.7vw, 3.8rem) !important;
  font-weight: 300 !important;
  line-height: 1;
  margin: 0 0 40px !important;
}

/* ── Section divider ── */
.historia-divider {
  border: none;
  border-top: 1px solid #d4dce6;
  margin: 0 0 56px;
  width: 100%;
}

.page-title--left {
  text-align: left;
}

/* =========================================================
   APODERADOS PAGE
   ========================================================= */

.apoderados-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin-bottom: 36px;
}

.apoderados-link-card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  overflow: hidden;
}

.apoderados-link-card__thumb {
  width: 100%;
  aspect-ratio: 4/3;
  background: #c7e0ee;
  object-fit: cover;
  display: block;
}

.apoderados-link-card__label {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px 18px;
  background: #0b84b7;
  color: #fff;
  font-size: clamp(1rem, 1.2vw, 1.25rem);
  font-weight: 300;
  text-align: center;
  transition: background 0.2s;
}

.apoderados-link-card:hover .apoderados-link-card__label {
  background: #09729d;
}

.apoderados-banner {
  position: relative;
  width: 100%;
  min-height: 220px;
  background: #0b84b7;
  display: flex;
  align-items: flex-end;
  margin-bottom: 52px;
  overflow: hidden;
}

.apoderados-banner img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.apoderados-banner__label {
  position: relative;
  z-index: 2;
  width: 100%;
  padding: 14px 24px;
  background: rgba(11, 132, 183, 0.70);
  color: #fff;
  text-align: center;
  font-size: clamp(1rem, 1.2vw, 1.25rem);
  font-weight: 300;
}

.page-content--guardians {
  width: min(1260px, calc(100% - 140px));
  margin: 84px auto 112px;
}

.page-content--guardians .page-title {
  margin-bottom: 78px !important;
}

.apoderados-links--students {
  width: min(1100px, 100%);
  margin: 0 auto 66px;
  gap: 56px;
}

.apoderados-link-card--framed {
  overflow: visible;
}

.apoderados-link-card__thumb--framed {
  aspect-ratio: 1 / 0.92;
  background: #fff;
  border: 1px solid #b9d8ea;
  border-bottom: 0;
  border-radius: 4px 4px 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px 22px 20px;
}

.apoderados-link-card__thumb--framed img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.apoderados-link-card--colegium .apoderados-link-card__thumb--framed img {
  max-width: 84%;
  max-height: 84%;
}

.apoderados-link-card--yearbook .apoderados-link-card__thumb--framed img {
  max-width: 100%;
  max-height: 100%;
  object-fit: cover;
}

.apoderados-link-card--network .apoderados-link-card__thumb--framed img {
  max-width: 88%;
  max-height: 70%;
}

.apoderados-link-card__label--framed {
  min-height: 86px;
  padding: 14px 18px 12px;
  font-size: clamp(1.3rem, 1.78vw, 1.86rem);
  border-radius: 0 0 4px 4px;
}

.apoderados-divider {
  border: 0;
  border-top: 1px solid #d4dce6;
  width: 100%;
  margin: 0 0 42px;
}

.apoderados-calendar-intro {
  padding-top: 8px;
}

.apoderados-calendar-intro__title {
  margin: 0;
  color: #0f74b7;
  font-size: clamp(2.2rem, 4.5vw, 4rem);
  font-weight: 300;
  line-height: 0.96;
  text-transform: uppercase;
  letter-spacing: -0.04em;
  text-align: center;
}

.apoderados-calendar-intro__title strong {
  font-weight: 700;
}

/* =========================================================
   NOTICIAS PAGE
   ========================================================= */

.noticias-intro {
  font-size: clamp(0.95rem, 1.1vw, 1.15rem);
  line-height: 1.7;
  color: #444;
  font-weight: 300;
  margin-bottom: 48px;
  max-width: 900px;
}

.noticias-intro a {
  color: #0b84b7;
  text-decoration: none;
}

.noticias-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
}

.noticia-card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  overflow: hidden;
}

.noticia-card__thumb {
  width: 100%;
  aspect-ratio: 1 / 1;
  background: #ddd;
  object-fit: cover;
  display: block;
}

.noticia-card__body {
  padding: 14px 16px 18px;
  background: #f5f8fb;
  flex: 1;
}

.noticia-card__title {
  font-size: 0.95rem;
  font-weight: 400;
  line-height: 1.4;
  color: #222;
  margin: 0;
}

.noticia-card__date {
  display: block;
  font-size: 0.82rem;
  color: #0b84b7;
  margin-top: 8px;
  font-weight: 300;
}

/* =========================================================
   CALENDARIO PAGE
   ========================================================= */

.calendar-wrap {
  overflow-x: auto;
}

.calendar-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 10px 0;
  table-layout: fixed;
}

/* Month-name header row — no borders, month label sits above the first separator */
.cal-month-row td {
  border: none !important;
  border-top: none !important;
  padding: 0 10px 8px;
  vertical-align: bottom;
}

.cal-month-label {
  display: block;
  font-size: 0.78rem;
  font-weight: 300;
  color: #0b84b7;
  text-transform: capitalize;
  text-align: center;
  white-space: nowrap;
}

/* Date cells: only a top separator, no other borders */
.calendar-table td {
  vertical-align: top;
  padding: 10px 10px 18px;
  border: none !important;
  border-top: 2px solid #dbe4ec !important;
}

/* Weekend separator — gap via padding on the 6th column (sábado) */
.calendar-table tr td:nth-child(6) {
  padding-left: 24px;
}

/* Day number: blue, centered */
.cal-day-num {
  display: block;
  font-size: 1rem;
  font-weight: 700;
  color: #0b84b7;
  text-align: center;
  margin-bottom: 8px;
}

/* Greyed-out days from adjacent months */
.cal-day-num--other {
  color: #c5d3de;
  font-weight: 400;
}

/* Events: time + description, centered */
.cal-event {
  display: block;
  font-size: 0.75rem;
  line-height: 1.4;
  margin-bottom: 4px;
  text-align: center;
}

.cal-event-time {
  font-weight: 700;
}

.cal-event--blue   { color: #0b84b7; }
.cal-event--orange { color: #ee8f36; }
.cal-event--green  { color: #57c591; }
.cal-event--gray   { color: #888; }

/* =========================================================
   HISTORIA PAGE
   ========================================================= */

/* ── Divider: spans only one column width ── */
.historia-divider {
  border: none;
  border-top: 1px solid #d4dce6;
  width: calc(50% - 24px); /* exact width of 1 column in 1fr/1fr + 48px gap */
  margin: 0 0 48px;
}

/* push to the right column */
.historia-divider--right {
  margin-left: calc(50% + 24px);
}

/* ── Entry: 2 equal columns, rows stretch to match tallest cell ── */
.historia-entry {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 48px;
  align-items: stretch;
}

.historia-entry__content,
.historia-entry__right {
  display: flex;
  flex-direction: column;
}

/* images column fills the full row height and splits it equally */
.historia-entry__images {
  display: flex;
  flex-direction: column;
  gap: 14px;
  height: 100%;
}

.historia-entry__img-slot {
  flex: 1;            /* each block takes half the column height */
  min-height: 0;
  width: 100%;
  background: #c7e0ee;
  display: block;
  object-fit: cover;
}

/* Year heading: centered */
.historia-year {
  font-size: clamp(4rem, 7vw, 7rem);
  font-weight: 700;
  color: #0f74b7;
  line-height: 0.9;
  margin: 0 0 28px;
  text-align: center;
  width: 100%;
}

.historia-text {
  color: #444;
  font-size: clamp(0.92rem, 1.05vw, 1.1rem);
  line-height: 1.72;
  font-weight: 300;
}

.historia-text p {
  margin: 0 0 1em;
}

.historia-text p:last-child {
  margin-bottom: 0;
}

.historia-img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
  background: #c7e0ee;
}

/* =========================================================
   EQUIPOS PAGE
   ========================================================= */

.equipos-intro {
  font-size: clamp(0.92rem, 1.05vw, 1.1rem);
  line-height: 1.7;
  color: #444;
  font-weight: 300;
  margin-bottom: 52px;
}

.equipos-intro a {
  color: #0b84b7;
  text-decoration: none;
}

.equipos-intro a:hover {
  text-decoration: underline;
}

.equipos-section {
  margin-bottom: 60px;
}

.equipos-section-label {
  font-size: clamp(1.5rem, 2.2vw, 2.2rem);
  font-weight: 300;
  color: #222;
  margin: 0 0 28px;
  line-height: 1;
}

.team-grid {
  display: grid;
  gap: 18px;
}

.team-grid--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.team-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.team-grid--1 { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) minmax(0, 1fr); }

.team-card {
  display: flex;
  flex-direction: column;
}

.team-card__photo {
  width: 100%;
  aspect-ratio: 3 / 4;
  background: #c7e0ee;
  object-fit: cover;
  display: block;
}

.team-card__name {
  background: #0b84b7;
  color: #fff;
  font-size: 0.85rem;
  font-weight: 300;
  text-align: center;
  padding: 9px 10px;
  line-height: 1.3;
}

/* Rector card: full-bleed with caption overlay */
.team-card--featured {
  grid-column: 2;
  position: relative;
}

.team-card--featured .team-card__photo {
  aspect-ratio: 16/9;
  width: 100%;
}

.team-card--featured .team-card__caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 10px 14px;
  background: rgba(11, 132, 183, 0.70);
  color: #fff;
  font-size: 0.88rem;
  font-weight: 300;
  text-align: center;
}

/* =========================================================
   REGLAMENTOS PAGE
   ========================================================= */

.page-content--docs {
  width: min(1120px, calc(100% - 180px));
  margin: 108px auto 120px;
}

.page-content--docs .page-title {
  color: #0075A9;
  font-size: clamp(2.2rem, 4.7vw, 3.8rem) !important;
  font-weight: 300 !important;
  letter-spacing: -0.045em;
  line-height: 0.96;
  margin: 0 0 92px !important;
}

.page-content--docs .docs-grid {
  width: min(980px, 100%);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 30px;
  row-gap: 24px;
  margin: 0 auto;
}

.page-content--docs .doc-card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
}

.page-content--docs .doc-card__thumb {
  width: 100%;
  aspect-ratio: 1 / 0.66;
  background: #fff;
  border: 1px solid #b9d8ea;
  border-bottom: 0;
  border-radius: 4px 4px 0 0;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 10px 8px;
}

.page-content--docs .doc-card__thumb img {
  width: 100%;
  height: 100%;
  max-width: 62%;
  max-height: 62%;
  object-fit: contain;
  display: block;
}

.page-content--docs .doc-card__label {
  min-height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #0075A9;
  color: #fff;
  text-align: center;
  padding: 11px 14px 10px;
  font-size: clamp(0.84rem, 0.92vw, 0.95rem);
  font-weight: 300;
  letter-spacing: 0.035em;
  line-height: 1.16;
  text-transform: uppercase;
  border-radius: 0 0 4px 4px;
  transition: background 0.2s ease;
}

.page-content--docs .doc-card:hover .doc-card__label {
  background: #006693;
}

.page-content--docs .doc-card:hover .doc-card__thumb {
  border-color: #8ec0db;
}

.page-content--docs .doc-card--muted .doc-card__thumb {
  border-color: #d4d8dc;
}

.page-content--docs .doc-card--muted .doc-card__label {
  background: #6d6e71;
}

.page-content--docs .doc-card--muted:hover .doc-card__label {
  background: #5e6062;
}

.page-content--docs .doc-card--muted:hover .doc-card__thumb {
  border-color: #c7ccd1;
}

/* =========================================================
   PROYECTO EDUCATIVO PAGE
   ========================================================= */

.proyecto-intro {
  font-size: clamp(0.92rem, 1.05vw, 1.1rem);
  line-height: 1.72;
  color: #444;
  font-weight: 300;
  margin-bottom: 52px;
}

.proyecto-intro a {
  color: #0b84b7;
  text-decoration: none;
}

.proyecto-section {
  margin-bottom: 52px;
}

.proyecto-section-title {
  font-size: clamp(1.6rem, 2.5vw, 2.6rem) !important;
  color: #0f74b7 !important;
  font-weight: 300 !important;
  margin: 0 0 18px !important;
  line-height: 1;
}

.proyecto-section-body {
  font-size: clamp(0.92rem, 1.05vw, 1.1rem);
  line-height: 1.72;
  color: #444;
  font-weight: 300;
}

.proyecto-section-body a {
  color: #0b84b7;
  text-decoration: none;
}

.valores-title {
  font-size: clamp(1.5rem, 2.2vw, 2.2rem) !important;
  color: #0f74b7 !important;
  font-weight: 300 !important;
  margin: 0 0 28px !important;
}

.valores-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  margin-bottom: 64px;
}

.valor-card {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.valor-card__image {
  width: 100%;
  aspect-ratio: 1 / 1;
  background: #c7e0ee;
  object-fit: cover;
  display: block;
  margin-bottom: 16px;
}

.valor-card__label {
  font-size: clamp(1rem, 1.3vw, 1.3rem);
  color: #0f74b7;
  font-weight: 300;
  text-align: center;
}

.principios-section {
  border-top: 1px solid #dbe4ec;
  padding-top: 48px;
}

.principios-title {
  font-size: clamp(1.3rem, 1.9vw, 2rem) !important;
  color: #0f74b7 !important;
  font-weight: 300 !important;
  text-align: center;
  margin: 0 0 28px !important;
  line-height: 1.2;
}

.principios-body {
  font-size: clamp(0.92rem, 1.05vw, 1.1rem);
  line-height: 1.72;
  color: #444;
  font-weight: 300;
  text-align: center;
  max-width: 880px;
  margin: 0 auto;
}

/* =========================================================
   ADMISION PAGE
   ========================================================= */

.page-content--admission {
  width: min(1260px, calc(100% - 140px));
  margin: 84px auto 112px;
}

.page-content--admission .page-title {
  color: #0075A9;
  font-size: clamp(2.2rem, 4.7vw, 3.8rem) !important;
  font-weight: 300 !important;
  letter-spacing: -0.05em;
  line-height: 0.94;
  margin: 0 0 56px !important;
}

.admission-intro {
  max-width: 1040px;
  margin: 0 auto 64px;
  color: #0075A9;
  font-size: clamp(1.12rem, 1.9vw, 1.72rem);
  line-height: 1.2;
  font-weight: 300;
  font-style: italic;
  text-align: center;
}

.admission-links {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 26px;
  margin-bottom: 88px;
}

.admission-link-card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
}

.admission-link-card__thumb {
  width: 100%;
  aspect-ratio: 1 / 0.84;
  background: #fff;
  border: 1px solid #b9d8ea;
  border-bottom: 0;
  border-radius: 4px 4px 0 0;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
}

.admission-link-card__thumb img {
  width: 100%;
  height: 100%;
  max-width: 66%;
  max-height: 66%;
  object-fit: contain;
  display: block;
}

.admission-link-card__label {
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px 14px 10px;
  background: #137FB3;
  color: #fff;
  font-size: clamp(0.9rem, 1vw, 1.14rem);
  font-weight: 300;
  line-height: 1.08;
  text-transform: uppercase;
  text-align: center;
  border-radius: 0 0 4px 4px;
  transition: background 0.2s ease;
}

.admission-link-card:hover .admission-link-card__label {
  background: #0e6f9f;
}

.admission-link-card:hover .admission-link-card__thumb {
  border-color: #90c2dd;
}

.admission-contact {
  width: min(1040px, 100%);
  margin: 0 auto 88px;
}

.admission-contact__form {
  position: relative;
  min-height: 184px;
  padding: 30px 178px 30px 194px;
  background: #c7e0ee;
  border-radius: 4px;
}

.admission-contact__apply,
.admission-contact__submit {
  position: absolute;
  z-index: 2;
  width: 150px;
  min-height: 84px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px 16px;
  border-radius: 4px;
  background: #137FB3;
  color: #fff;
  font-size: clamp(0.96rem, 1.3vw, 1.24rem);
  font-weight: 300;
  line-height: 1.02;
  text-align: center;
  text-decoration: none;
  transition: background 0.2s ease;
}

.admission-contact__apply {
  top: -22px;
  left: 26px;
  text-transform: uppercase;
  pointer-events: none;
}

.admission-contact__submit {
  right: 26px;
  bottom: -22px;
  border: 0;
  cursor: pointer;
  text-transform: uppercase;
}

.admission-contact__submit:hover {
  background: #0e6f9f;
}

.admission-contact__fields {
  width: 100%;
  max-width: 560px;
  display: grid;
  gap: 12px;
}

.admission-contact__field {
  width: 100%;
  min-height: 36px;
  border: 0;
  border-radius: 4px;
  padding: 0 14px;
  background: #add1e4;
  color: #fff;
  font-size: clamp(0.92rem, 1vw, 1.05rem);
  font-weight: 300;
  line-height: 1;
}

.admission-contact__field::placeholder {
  color: rgba(255, 255, 255, 0.95);
  opacity: 1;
}

.admission-contact__field:focus {
  outline: 2px solid #137FB3;
  outline-offset: 3px;
}

.admission-benefits {
  border-top: 1px solid #d4dce6;
  width: min(1180px, 100%);
  margin: 0 auto;
  padding-top: 60px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  column-gap: 42px;
  row-gap: 44px;
  align-items: start;
}

.admission-benefit {
  display: contents;
}

.admission-benefits__media {
  width: 100%;
  max-width: 200px;
  margin: 0 auto;
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #b8b8b8;
  color: #fff;
  font-size: clamp(3.15rem, 4.8vw, 4.5rem);
  font-weight: 700;
  line-height: 1;
  overflow: hidden;
}

.admission-benefits__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.admission-benefits__copy {
  min-height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 10px;
  text-align: center;
}

.admission-benefits__copy p {
  margin: 0;
  color: #676767;
  font-size: clamp(0.96rem, 1.12vw, 1.2rem);
  font-weight: 300;
  line-height: 1.45;
}

/* =========================================================
   ADMISION PROCESS PAGE
   ========================================================= */

.page-content--admission-process {
  width: min(1260px, calc(100% - 140px));
  margin: 84px auto 112px;
}

.page-content--admission-process .page-title {
  color: #0075A9;
  font-size: clamp(2.2rem, 4.7vw, 3.8rem) !important;
  font-weight: 300 !important;
  letter-spacing: -0.05em;
  line-height: 0.94;
  margin: 0 0 62px !important;
}

.admission-process-intro {
  max-width: 980px;
  margin: 0 auto 68px;
  color: #0075A9;
  font-size: clamp(1.18rem, 2vw, 1.78rem);
  line-height: 1.2;
  font-style: italic;
  font-weight: 300;
  text-align: center;
}

.admission-process-intro strong {
  font-weight: 700;
}

.admission-process-stages {
  width: min(1180px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 54px;
  align-items: start;
}

.admission-process-stage {
  display: grid;
  align-items: center;
  column-gap: 26px;
}

.admission-process-stage--left {
  grid-template-columns: minmax(170px, 220px) minmax(0, 1fr);
}

.admission-process-stage--right {
  grid-template-columns: minmax(0, 1fr) minmax(170px, 220px);
}

.admission-process-stage__note {
  margin: 0;
  color: #111;
  font-size: clamp(1.22rem, 2.15vw, 2.05rem);
  line-height: 1.32;
  font-style: italic;
  font-weight: 300;
  width: 100%;
  max-width: 180px;
  justify-self: center;
  text-align: center;
}

.admission-process-stage--left .admission-process-stage__note {
  text-align: center;
}

.admission-process-stage--right .admission-process-stage__note {
  text-align: center;
}

.admission-process-card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
}

.admission-process-card__thumb {
  width: 100%;
  aspect-ratio: 1 / 0.82;
  background: #fff;
  border: 1px solid #98c7e0;
  border-bottom: 0;
  border-radius: 4px 4px 0 0;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.admission-process-card__thumb img {
  width: 100%;
  height: 100%;
  max-width: 72%;
  max-height: 72%;
  object-fit: contain;
  display: block;
}

.admission-process-card__label {
  min-height: 92px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px 16px 12px;
  background: #137FB3;
  color: #fff;
  text-align: center;
  font-size: clamp(0.96rem, 1.02vw, 1.18rem);
  font-weight: 300;
  letter-spacing: 0.01em;
  line-height: 1.14;
  text-transform: uppercase;
  border-radius: 0 0 4px 4px;
}

.admission-process-arrows {
  width: min(590px, 100%);
  margin: -4px auto 18px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  align-items: start;
}

.admission-process-arrow {
  display: flex;
  width: 100%;
}

.admission-process-arrow--left {
  justify-content: center;
}

.admission-process-arrow--right {
  justify-content: center;
}

.admission-process-arrow img {
  width: min(156px, 100%);
  max-width: 156px;
  height: auto;
  display: block;
  object-fit: contain;
}

.admission-process-arrow--left img {
  transform: translateY(0);
}

.admission-process-arrow--right img {
  width: min(186px, 100%);
  max-width: 186px;
  transform: translateY(10px);
}

.admission-process-result {
  max-width: 760px;
  margin: 0 auto 82px;
  text-align: center;
}

.admission-process-result__title {
  margin: 0 0 8px;
  color: #0075A9;
  font-size: clamp(1.35rem, 2.35vw, 2.3rem);
  line-height: 1.14;
  font-style: italic;
  font-weight: 700;
}

.admission-process-result__text {
  margin: 0;
  color: #111;
  font-size: clamp(1.05rem, 1.9vw, 1.85rem);
  line-height: 1.2;
  font-style: italic;
  font-weight: 300;
}

.admission-process-divider {
  border: 0;
  border-top: 1px solid #d4dce6;
  width: 100%;
  margin: 84px 0 0;
}

/* =========================================================
   ARANCELES PAGE
   ========================================================= */

.page-content--fees {
  width: min(1260px, calc(100% - 140px));
  margin: 84px auto 112px;
}

.page-content--fees .page-title {
  margin-bottom: 72px !important;
}

.fees-band {
  margin-bottom: 44px;
  padding: 46px 44px 42px;
  background: #edf5fa;
}

.fees-band__title {
  margin: 0 0 30px;
  color: #0b84b7;
  font-size: clamp(1.5rem, 2.45vw, 2.1rem);
  font-style: italic;
  font-weight: 700;
  line-height: 1.08;
  text-align: center;
}

.fees-band__title--small {
  margin-bottom: 20px;
  font-size: clamp(1.35rem, 2.1vw, 1.85rem);
}

.fees-grid {
  display: grid;
  gap: 40px;
}

.fees-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fees-grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fees-card {
  border-top: 1px solid #2f8fbe;
  padding-top: 16px;
  text-align: center;
}

.fees-card__stack {
  display: grid;
  gap: 30px;
}

.fees-card__group {
  display: grid;
  gap: 12px;
}

.fees-card__title {
  margin: 0;
  color: #0b84b7;
  font-size: clamp(1.12rem, 1.6vw, 1.55rem);
  font-weight: 300;
  line-height: 1.18;
}

.fees-card > .fees-card__title {
  margin-bottom: 12px;
}

.fees-card__value,
.fees-card__text {
  margin: 0;
  color: #111;
  font-size: clamp(0.98rem, 1.25vw, 1.28rem);
  font-weight: 300;
  line-height: 1.42;
}

.fees-card__value strong,
.fees-card__text strong,
.fees-card__list strong {
  font-weight: 700;
}

.fees-card__text + .fees-card__text {
  margin-top: 8px;
}

.fees-card__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 12px;
  color: #0b84b7;
  font-size: clamp(1.2rem, 2vw, 1.95rem);
  font-weight: 300;
  line-height: 1.22;
}

.fees-band__footnote {
  margin: 34px 0 0;
  color: #6c6c6c;
  font-size: clamp(0.95rem, 1.1vw, 1.15rem);
  font-weight: 300;
  line-height: 1.45;
  text-align: center;
}

.page-content--fees .admission-contact {
  margin-top: 78px;
  margin-bottom: 92px;
}

.fees-support {
  border-top: 1px solid #d4dce6;
  padding-top: 56px;
}

.fees-support__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.95fr);
  gap: 62px;
  align-items: start;
}

.fees-support__title {
  margin: 0 0 20px;
  color: #111;
  font-size: clamp(1.35rem, 2.1vw, 1.95rem);
  font-weight: 300;
  line-height: 1.12;
}

.fees-support__body,
.fees-support__list {
  color: #111;
  font-size: clamp(1rem, 1.18vw, 1.22rem);
  font-weight: 300;
  line-height: 1.72;
}

.fees-support__body p {
  margin: 0 0 1em;
}

.fees-support__body ul,
.fees-support__list {
  margin: 0;
  padding-left: 1.25em;
}

.fees-support__body li + li,
.fees-support__list li + li {
  margin-top: 10px;
}

.fees-support__logos {
  margin-top: 40px;
  display: grid;
  gap: 28px;
  justify-items: center;
}

.fees-support__logo {
  width: 100%;
  max-width: 440px;
  height: auto;
  display: block;
  object-fit: contain;
}

.fees-support__logo--chubb {
  max-width: 320px;
}

/* =========================================================
   EXTENDED DAY PAGE
   ========================================================= */

.page-content--extended-day {
  width: min(1260px, calc(100% - 140px));
  margin: 84px auto 112px;
}

.page-content--extended-day .page-title {
  margin-bottom: 72px !important;
}

.extended-day-intro {
  margin: 0 0 26px;
  color: #0b84b7;
  font-size: clamp(1.35rem, 2.35vw, 2.1rem);
  font-style: italic;
  font-weight: 300;
  line-height: 1.18;
  text-align: center;
}

.extended-day-intro strong {
  font-weight: 700;
}

.extended-day-copy {
  max-width: 1200px;
  margin: 0 auto 70px;
}

.extended-day-copy p {
  margin: 0;
  color: #6f6f6f;
  font-size: clamp(1.05rem, 1.42vw, 1.36rem);
  font-weight: 300;
  line-height: 1.56;
  text-align: justify;
  text-align-last: left;
}

.extended-day-gallery {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: 132px;
  grid-auto-flow: row;
  gap: 28px;
}

.extended-day-gallery__item {
  overflow: hidden;
  background: #a7a7a7;
}

.extended-day-gallery__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.extended-day-gallery__item--17,
.extended-day-gallery__item--18,
.extended-day-gallery__item--19,
.extended-day-gallery__item--20,
.extended-day-gallery__item--23,
.extended-day-gallery__item--24,
.extended-day-gallery__item--25,
.extended-day-gallery__item--26 {
  grid-column: span 1;
  grid-row: span 2;
}

.extended-day-gallery__item--21,
.extended-day-gallery__item--27 {
  grid-column: span 2;
  grid-row: span 2;
}

.extended-day-gallery__item--22 {
  grid-column: span 2;
  grid-row: span 4;
}

.extended-day-divider {
  border: 0;
  border-top: 1px solid #d4dce6;
  width: 100%;
  margin: 84px 0 0;
}

/* =========================================================
   COLLABORATORS PAGE
   ========================================================= */

.page-content--collaborators {
  width: min(1260px, calc(100% - 140px));
  margin: 84px auto 112px;
}

.page-content--collaborators .page-title {
  margin-bottom: 68px !important;
}

.collaborators-links {
  width: min(648px, 100%);
  margin: 0 auto 84px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 40px;
}

.collaborators-link-card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
}

.collaborators-link-card__thumb {
  width: 100%;
  aspect-ratio: 1 / 0.82;
  background: #fff;
  border: 1px solid #b9d8ea;
  border-bottom: 0;
  border-radius: 4px 4px 0 0;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px 18px 14px;
}

.collaborators-link-card__thumb img {
  width: 100%;
  height: 100%;
  max-width: 82%;
  max-height: 82%;
  object-fit: contain;
  display: block;
}

.collaborators-link-card--colegium .collaborators-link-card__thumb img {
  max-width: 92%;
  max-height: 92%;
}

.collaborators-link-card--calendar .collaborators-link-card__thumb img {
  max-width: 74%;
  max-height: 74%;
}

.collaborators-link-card__label {
  min-height: 68px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #137fb3;
  color: #fff;
  text-align: center;
  padding: 10px 16px 8px;
  font-size: clamp(1.08rem, 1.32vw, 1.36rem);
  font-weight: 300;
  line-height: 1.08;
  border-radius: 0 0 4px 4px;
  transition: background 0.2s ease;
}

.collaborators-link-card:hover .collaborators-link-card__label {
  background: #0e6f9f;
}

.collaborators-link-card:hover .collaborators-link-card__thumb {
  border-color: #8ec0db;
}

.collaborators-report {
  --collaborators-report-copy-height: 238px;
  background: #edf5fa;
  padding: 56px 64px 58px;
  display: grid;
  grid-template-columns: minmax(260px, 0.75fr) minmax(0, 1fr);
  gap: 58px;
  align-items: start;
}

.collaborators-report__intro {
  text-align: center;
  max-width: 420px;
  margin: 0 auto;
  min-height: var(--collaborators-report-copy-height);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.collaborators-report__title {
  margin: 0 0 20px;
  color: #6f6f6f;
  font-size: clamp(2.1rem, 3.4vw, 3.25rem);
  font-weight: 300;
  line-height: 0.96;
}

.collaborators-report__text {
  margin: 0;
  color: #6f6f6f;
  font-size: clamp(0.98rem, 1.22vw, 1.26rem);
  font-weight: 300;
  line-height: 1.4;
}

.collaborators-report__form {
  display: grid;
  gap: 14px;
  align-content: start;
}

.collaborators-report__fields {
  min-height: var(--collaborators-report-copy-height);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 16px;
}

.collaborators-report__input,
.collaborators-report__textarea {
  width: 100%;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  color: #7a7a7a;
  font-weight: 300;
}

.collaborators-report__input {
  min-height: 46px;
  padding: 0 0 8px;
  background: transparent;
  border-bottom: 1px solid #8b9298;
  font-size: clamp(0.98rem, 1.18vw, 1.2rem);
}

.collaborators-report__textarea {
  min-height: 0;
  height: 100%;
  padding: 14px 16px;
  background: #e2eef6;
  resize: vertical;
  font-size: clamp(0.94rem, 1vw, 1.02rem);
  line-height: 1.5;
}

.collaborators-report__input::placeholder,
.collaborators-report__textarea::placeholder {
  color: #8d9398;
  opacity: 1;
}

.collaborators-report__input:focus,
.collaborators-report__textarea:focus {
  outline: none;
}

.collaborators-report__submit {
  justify-self: end;
  min-width: 118px;
  min-height: 44px;
  padding: 8px 18px;
  border: 0;
  background: #e2eef6;
  color: #6f6f6f;
  font-size: clamp(1rem, 1.08vw, 1.12rem);
  font-weight: 300;
  line-height: 1;
  cursor: pointer;
  transition: background 0.2s ease;
}

.collaborators-report__submit:hover {
  background: #d5e6f1;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1100px) {
  .page-content {
    width: min(1340px, calc(100% - 40px));
    margin: 40px auto 64px;
  }

  .noticias-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .team-grid--5 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .team-grid--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .team-grid--1 {
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) minmax(0, 1fr);
  }

  .page-content.page-content--guardians {
    width: min(1260px, calc(100% - 56px));
    margin: 68px auto 96px;
  }

  .page-content.page-content--guardians .page-title {
    margin-bottom: 62px !important;
  }

  .apoderados-links--students {
    gap: 34px;
    margin-bottom: 58px;
  }

  .apoderados-link-card__label--framed {
    min-height: 78px;
    font-size: clamp(1.16rem, 1.9vw, 1.56rem);
  }

  .apoderados-calendar-intro__title {
    font-size: clamp(2rem, 4.8vw, 3.4rem);
  }

  .page-content.page-content--admission {
    width: min(1260px, calc(100% - 56px));
    margin: 68px auto 96px;
  }

  .page-content.page-content--admission .page-title {
    margin-bottom: 48px !important;
  }

  .admission-intro {
    margin-bottom: 52px;
  }

  .admission-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
    margin-bottom: 72px;
  }

  .admission-link-card__label {
    min-height: 70px;
  }

  .admission-contact {
    margin-bottom: 72px;
  }

  .admission-contact__form {
    padding: 26px 160px 26px 172px;
  }

  .admission-contact__apply,
  .admission-contact__submit {
    width: 136px;
    min-height: 74px;
  }

  .admission-benefits {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 28px;
    row-gap: 36px;
    padding-top: 48px;
  }

  .admission-benefits__media {
    max-width: 180px;
  }

  .admission-benefits__copy {
    min-height: 180px;
  }

  .page-content.page-content--admission-process {
    width: min(1260px, calc(100% - 56px));
    margin: 68px auto 96px;
  }

  .page-content.page-content--admission-process .page-title {
    margin-bottom: 48px !important;
  }

  .admission-process-intro {
    margin-bottom: 52px;
  }

  .admission-process-stages {
    gap: 36px;
  }

  .admission-process-stage {
    column-gap: 20px;
  }

  .admission-process-stage--left {
    grid-template-columns: minmax(140px, 186px) minmax(0, 1fr);
  }

  .admission-process-stage--right {
    grid-template-columns: minmax(0, 1fr) minmax(140px, 186px);
  }

  .admission-process-card__label {
    min-height: 80px;
    font-size: 0.96rem;
  }

  .admission-process-arrows {
    width: min(500px, 100%);
    gap: 4px;
  }

  .admission-process-arrow img {
    width: min(136px, 100%);
    max-width: 136px;
  }

  .admission-process-arrow--right img {
    width: min(162px, 100%);
    max-width: 162px;
  }

  .page-content.page-content--fees {
    width: min(1260px, calc(100% - 56px));
    margin: 68px auto 96px;
  }

  .page-content.page-content--fees .page-title {
    margin-bottom: 56px !important;
  }

  .fees-band {
    padding: 40px 32px 36px;
  }

  .fees-grid {
    gap: 28px;
  }

  .page-content--fees .admission-contact {
    margin-top: 64px;
    margin-bottom: 76px;
  }

  .fees-support__grid {
    gap: 40px;
  }

  .page-content.page-content--extended-day {
    width: min(1260px, calc(100% - 56px));
    margin: 68px auto 96px;
  }

  .page-content.page-content--extended-day .page-title {
    margin-bottom: 56px !important;
  }

  .extended-day-copy {
    margin-bottom: 56px;
  }

  .extended-day-gallery {
    grid-auto-rows: 118px;
    gap: 24px;
  }

  .page-content.page-content--collaborators {
    width: min(1260px, calc(100% - 56px));
    margin: 68px auto 96px;
  }

  .page-content.page-content--collaborators .page-title {
    margin-bottom: 56px !important;
  }

  .collaborators-links {
    max-width: 600px;
    gap: 30px;
    margin-bottom: 64px;
  }

  .collaborators-report {
    padding: 48px 44px 50px;
    gap: 44px;
  }

  .collaborators-report__title {
    margin-bottom: 22px;
  }
}

@media (max-width: 860px) {
  .apoderados-links {
    grid-template-columns: 1fr;
  }

  .apoderados-links--students {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 760px;
    gap: 24px;
    margin-bottom: 48px;
  }

  .apoderados-links--students .apoderados-link-card:last-child {
    grid-column: 1 / -1;
    width: min(340px, 100%);
    justify-self: center;
  }

  .page-content.page-content--guardians {
    width: min(1260px, calc(100% - 40px));
  }

  .page-content.page-content--guardians .page-title {
    margin-bottom: 44px !important;
  }

  .apoderados-link-card__thumb--framed {
    padding: 18px 18px 14px;
  }

  .apoderados-link-card__label--framed {
    min-height: 70px;
    padding: 12px 14px 10px;
    font-size: clamp(1.02rem, 4vw, 1.32rem);
  }

  .apoderados-divider {
    margin-bottom: 32px;
  }

  .apoderados-calendar-intro__title {
    font-size: clamp(1.72rem, 6.4vw, 2.7rem);
  }

  .historia-entry {
    grid-template-columns: 1fr;
  }

  .historia-divider {
    width: 100%;
  }

  .historia-entry__images {
    flex-direction: row;
    max-width: 320px;
  }

  .historia-year {
    font-size: clamp(3rem, 12vw, 5rem);
  }

  .noticias-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .docs-grid,
  .valores-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .team-grid--5,
  .team-grid--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .team-grid--1 {
    grid-template-columns: 1fr;
  }

  .team-card--featured {
    grid-column: 1;
  }

  .page-content.page-content--admission {
    width: min(1260px, calc(100% - 40px));
  }

  .page-content.page-content--admission .page-title {
    font-size: clamp(1.9rem, 7.2vw, 3rem) !important;
    margin-bottom: 36px !important;
  }

  .admission-intro {
    font-size: clamp(1.02rem, 4.6vw, 1.48rem);
    margin-bottom: 40px;
  }

  .admission-links {
    gap: 18px;
    margin-bottom: 56px;
  }

  .admission-contact {
    margin-bottom: 60px;
  }

  .admission-contact__form {
    display: grid;
    gap: 16px;
    min-height: 0;
    padding: 18px;
  }

  .admission-contact__apply,
  .admission-contact__submit {
    position: static;
    width: 100%;
    min-height: 60px;
    font-size: 1rem;
  }

  .admission-contact__fields {
    max-width: none;
    gap: 12px;
  }

  .admission-contact__field {
    min-height: 42px;
  }

  .admission-benefits {
    padding-top: 40px;
    gap: 24px;
  }

  .admission-benefits__media {
    max-width: 160px;
  }

  .admission-benefits__copy {
    min-height: 160px;
    padding: 0 4px;
  }

  .page-content.page-content--admission-process {
    width: min(1260px, calc(100% - 40px));
  }

  .page-content.page-content--admission-process .page-title {
    font-size: clamp(1.9rem, 7.2vw, 3rem) !important;
    margin-bottom: 34px !important;
  }

  .admission-process-intro {
    font-size: clamp(1rem, 4.4vw, 1.46rem);
    margin-bottom: 34px;
  }

  .admission-process-stages {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .admission-process-stage,
  .admission-process-stage--left,
  .admission-process-stage--right {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .admission-process-stage__note,
  .admission-process-stage--left .admission-process-stage__note,
  .admission-process-stage--right .admission-process-stage__note {
    text-align: center;
    font-size: clamp(1.1rem, 5vw, 1.56rem);
  }

  .admission-process-card__thumb {
    max-width: 360px;
    margin: 0 auto;
  }

  .admission-process-card__label {
    min-height: 76px;
  }

  .admission-process-arrows {
    display: none;
  }

  .admission-process-result {
    margin-bottom: 60px;
  }

  .admission-process-divider {
    margin-top: 56px;
  }

  .page-content.page-content--fees {
    width: min(1260px, calc(100% - 40px));
  }

  .page-content.page-content--fees .page-title {
    margin-bottom: 44px !important;
  }

  .fees-band {
    padding: 32px 24px 30px;
    margin-bottom: 24px;
  }

  .fees-band__title,
  .fees-band__title--small {
    margin-bottom: 22px;
    font-size: clamp(1.25rem, 5.4vw, 1.7rem);
  }

  .fees-grid--3,
  .fees-grid--2,
  .fees-support__grid {
    grid-template-columns: 1fr;
  }

  .fees-grid {
    gap: 22px;
  }

  .fees-card__stack {
    gap: 22px;
  }

  .page-content--fees .admission-contact {
    margin-top: 52px;
    margin-bottom: 64px;
  }

  .fees-support {
    padding-top: 42px;
  }

  .fees-support__logos {
    margin-top: 28px;
  }

  .page-content.page-content--extended-day {
    width: min(1260px, calc(100% - 40px));
  }

  .page-content.page-content--extended-day .page-title {
    margin-bottom: 42px !important;
  }

  .extended-day-intro {
    margin-bottom: 20px;
    font-size: clamp(1.12rem, 4.6vw, 1.65rem);
  }

  .extended-day-copy {
    margin-bottom: 42px;
  }

  .extended-day-copy p {
    font-size: 1rem;
    line-height: 1.6;
  }

  .extended-day-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 132px;
    gap: 20px;
  }

  .extended-day-gallery__item--21,
  .extended-day-gallery__item--22,
  .extended-day-gallery__item--27 {
    grid-column: span 2;
  }

  .extended-day-gallery__item--22 {
    grid-row: span 3;
  }

  .extended-day-divider {
    margin-top: 60px;
  }

  .page-content.page-content--collaborators {
    width: min(1260px, calc(100% - 40px));
  }

  .page-content.page-content--collaborators .page-title {
    margin-bottom: 48px !important;
  }

  .collaborators-links {
    max-width: 360px;
    grid-template-columns: 1fr;
    gap: 24px;
    margin-bottom: 52px;
  }

  .collaborators-link-card__label {
    min-height: 66px;
    font-size: clamp(1.02rem, 4.2vw, 1.24rem);
  }

  .collaborators-report {
    grid-template-columns: 1fr;
    gap: 30px;
    padding: 38px 28px 40px;
  }

  .collaborators-report__intro,
  .collaborators-report__fields {
    min-height: 0;
  }

  .collaborators-report__intro {
    justify-content: flex-start;
  }

  .collaborators-report__title {
    margin-bottom: 18px;
    font-size: clamp(1.9rem, 6.8vw, 2.65rem);
  }

  .collaborators-report__text {
    font-size: clamp(0.98rem, 3.6vw, 1.14rem);
  }

  .collaborators-report__textarea {
    min-height: 188px;
    height: auto;
  }
}

@media (max-width: 560px) {
  .page-content {
    width: min(1340px, calc(100% - 32px));
    margin: 28px auto 48px;
  }

  .page-content.page-content--guardians {
    margin: 36px auto 64px;
  }

  .apoderados-links--students {
    grid-template-columns: 1fr;
    gap: 18px;
    margin-bottom: 38px;
  }

  .apoderados-links--students .apoderados-link-card:last-child {
    grid-column: auto;
    width: 100%;
  }

  .apoderados-link-card__thumb--framed {
    padding: 16px 16px 12px;
  }

  .apoderados-link-card__label--framed {
    min-height: 62px;
    font-size: 1rem;
  }

  .apoderados-calendar-intro__title {
    font-size: clamp(1.4rem, 8.4vw, 2rem);
    line-height: 1;
  }

  .noticias-grid {
    grid-template-columns: 1fr;
  }

  .docs-grid,
  .valores-grid {
    grid-template-columns: 1fr;
  }

  .team-grid--5,
  .team-grid--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-content.page-content--admission {
    margin: 36px auto 64px;
  }

  .admission-links,
  .admission-benefits {
    grid-template-columns: 1fr;
  }

  .admission-links {
    gap: 16px;
    margin-bottom: 44px;
  }

  .admission-link-card__thumb {
    aspect-ratio: 1 / 0.8;
    padding: 14px;
  }

  .admission-link-card__label {
    min-height: 66px;
    padding: 10px 12px;
    font-size: 0.92rem;
  }

  .admission-contact {
    margin-bottom: 52px;
  }

  .admission-benefits {
    padding-top: 34px;
    gap: 18px;
  }

  .admission-benefits__media {
    max-width: 150px;
  }

  .admission-benefits__copy {
    min-height: 0;
    padding: 0 12px;
  }

  .admission-benefits__copy p {
    font-size: 0.98rem;
  }

  .page-content.page-content--admission-process {
    margin: 36px auto 64px;
  }

  .admission-process-card__thumb {
    padding: 16px;
  }

  .admission-process-card__label {
    min-height: 68px;
    padding: 12px 14px 10px;
    font-size: 0.92rem;
  }

  .admission-process-result {
    margin-bottom: 52px;
  }

  .admission-process-result__title {
    font-size: 1.18rem;
  }

  .admission-process-result__text {
    font-size: 0.98rem;
  }

  .admission-process-divider {
    margin-top: 44px;
  }

  .page-content.page-content--fees {
    margin: 36px auto 64px;
  }

  .fees-band {
    padding: 28px 18px 26px;
  }

  .fees-card__title {
    font-size: 1.2rem;
  }

  .fees-card__value,
  .fees-card__text,
  .fees-card__list {
    font-size: 0.98rem;
  }

  .fees-band__footnote {
    margin-top: 26px;
    font-size: 0.95rem;
  }

  .page-content--fees .admission-contact {
    margin-bottom: 56px;
  }

  .fees-support__title {
    font-size: 1.4rem;
  }

  .fees-support__body,
  .fees-support__list {
    font-size: 1rem;
  }

  .page-content.page-content--extended-day {
    margin: 36px auto 64px;
  }

  .extended-day-intro {
    margin-bottom: 18px;
    font-size: 1rem;
  }

  .extended-day-copy {
    margin-bottom: 34px;
  }

  .extended-day-gallery {
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
    gap: 16px;
  }

  .extended-day-gallery__item,
  .extended-day-gallery__item--21,
  .extended-day-gallery__item--22,
  .extended-day-gallery__item--27,
  .extended-day-gallery__item--17,
  .extended-day-gallery__item--18,
  .extended-day-gallery__item--19,
  .extended-day-gallery__item--20,
  .extended-day-gallery__item--23,
  .extended-day-gallery__item--24,
  .extended-day-gallery__item--25,
  .extended-day-gallery__item--26 {
    grid-column: auto;
    grid-row: auto;
    aspect-ratio: 1 / 1;
  }

  .extended-day-gallery__item--21,
  .extended-day-gallery__item--27 {
    aspect-ratio: 2 / 1;
  }

  .extended-day-gallery__item--22 {
    aspect-ratio: 2 / 1.35;
  }

  .extended-day-divider {
    margin-top: 44px;
  }

  .page-content.page-content--collaborators {
    margin: 36px auto 64px;
  }

  .collaborators-links {
    gap: 20px;
    margin-bottom: 42px;
  }

  .collaborators-link-card__thumb {
    padding: 16px 16px 12px;
  }

  .collaborators-link-card__label {
    min-height: 60px;
    padding: 10px 12px 8px;
    font-size: 1rem;
  }

  .collaborators-report {
    gap: 24px;
    padding: 30px 18px 32px;
  }

  .collaborators-report__title {
    font-size: clamp(1.7rem, 9.8vw, 2.2rem);
  }

  .collaborators-report__text {
    font-size: 0.96rem;
    line-height: 1.45;
  }

  .collaborators-report__form,
  .collaborators-report__fields {
    gap: 14px;
  }

  .collaborators-report__input {
    min-height: 42px;
    font-size: 1rem;
  }

  .collaborators-report__textarea {
    min-height: 160px;
    height: auto;
    padding: 14px;
    font-size: 0.95rem;
  }

  .collaborators-report__submit {
    width: 100%;
    min-width: 0;
    min-height: 46px;
    font-size: 1rem;
  }
}

@media (max-width: 1100px) {
  .page-content.page-content--docs {
    width: min(1120px, calc(100% - 56px));
    margin: 72px auto 96px;
  }

  .page-content.page-content--docs .page-title {
    margin-bottom: 68px !important;
  }

  .page-content.page-content--docs .docs-grid {
    width: 100%;
    column-gap: 24px;
    row-gap: 24px;
  }

  .page-content.page-content--docs .doc-card__label {
    min-height: 70px;
    font-size: 0.9rem;
  }
}

@media (max-width: 860px) {
  .page-content.page-content--docs {
    width: min(1120px, calc(100% - 40px));
  }

  .page-content.page-content--docs .page-title {
    font-size: clamp(1.9rem, 7.2vw, 3rem) !important;
    margin-bottom: 48px !important;
  }

  .page-content.page-content--docs .docs-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
  }
}

@media (max-width: 560px) {
  .page-content.page-content--docs {
    margin: 40px auto 64px;
  }

  .page-content.page-content--docs .docs-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .page-content.page-content--docs .doc-card__thumb {
    padding: 8px 8px 6px;
  }

  .page-content.page-content--docs .doc-card__label {
    min-height: 72px;
    padding: 14px 16px 12px;
    font-size: 0.95rem;
  }
}
