/* School-Website transition marker: HZDH School runtime CSS.
   This file rebuilds selected School-Website patterns without importing
   sample/vendor CSS, external fonts, plugin selectors, or unresolved assets. */

/* School Tokens */
:root {
  --school-ink: #172033;
  --school-muted: #5c667a;
  --school-line: #d8e1ee;
  --school-surface: #ffffff;
  --school-soft: #f4f8fb;
  --school-accent: #1f6f8b;
  --school-accent-strong: #124a61;
  --school-cta: #b84435;
  --school-radius: 8px;
  --school-radius-sm: 6px;
  --school-shadow: 0 16px 38px rgba(23, 32, 51, 0.12);
  --school-container: min(1180px, calc(100vw - 32px));
}

/* School Base Scope */
.school-shell,
.school-section {
  color: var(--school-ink);
}

.school-section {
  padding: clamp(48px, 7vw, 88px) 0;
}

.school-container {
  width: var(--school-container);
  margin-inline: auto;
}

.school-eyebrow {
  margin: 0 0 10px;
  color: var(--school-accent-strong);
  font-size: 0.875rem;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.school-shell .eyebrow {
  max-width: 100%;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}

/* School Header */
.header-top,
.header-logo-menu {
  background: var(--school-surface);
}

.header-top__inner,
.header-logo-menu__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.header-top {
  border-bottom: 1px solid var(--school-line);
  color: var(--school-muted);
  font-size: 0.9375rem;
}

.header-top__actions {
  position: relative;
}

.header-search {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.header-search__toggle,
.text-size-btn {
  min-height: 36px;
  border: 1px solid var(--school-line);
  border-radius: var(--school-radius-sm);
  background: var(--school-surface);
  color: var(--school-ink);
  font-weight: 800;
  cursor: pointer;
}

.header-search__toggle {
  padding: 0 12px;
}

.header-search__toggle[aria-expanded="true"] {
  border-color: var(--school-accent);
  background: var(--school-accent);
  color: #ffffff;
}

.header-search__panel {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 80;
  display: flex;
  width: min(320px, calc(100vw - 32px));
  gap: 8px;
  padding: 10px;
  border: 1px solid var(--school-line);
  border-radius: var(--school-radius);
  background: var(--school-surface);
  box-shadow: var(--school-shadow);
}

.header-search__panel input {
  min-width: 0;
  flex: 1 1 auto;
  min-height: 40px;
  padding: 8px 10px;
  border: 1px solid var(--school-line);
  border-radius: var(--school-radius-sm);
}

.header-search__panel button {
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid var(--school-accent);
  border-radius: var(--school-radius-sm);
  background: var(--school-accent);
  color: #ffffff;
  font-weight: 800;
  cursor: pointer;
}

.header-logo-menu {
  box-shadow: 0 1px 0 var(--school-line);
}

.site-logo__mark {
  overflow: hidden;
  border-radius: 999px;
  background: #ffffff;
  box-shadow: 0 8px 20px rgba(19, 38, 57, 0.12);
}

.site-logo__image,
.mobile-menu__brand-image,
.site-footer__brand-mark {
  display: block;
  object-fit: contain;
  background: #ffffff;
}

.site-logo__image {
  width: 100%;
  height: 100%;
}

.mobile-menu__brand {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 10px;
}

.mobile-menu__brand-image {
  flex: 0 0 auto;
  width: 36px;
  height: 36px;
  border: 1px solid rgba(37, 66, 86, 0.14);
  border-radius: 999px;
}

.site-footer__brand {
  display: flex;
  min-width: 0;
  align-items: flex-start;
  gap: 14px;
}

.site-footer__brand-mark {
  flex: 0 0 auto;
  width: 52px;
  height: 52px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 999px;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
}

.primary-nav__list,
.school-mobile-list {
  display: flex;
  gap: clamp(12px, 2vw, 28px);
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

.mobile-menu__top-link {
  display: block;
  padding: 6px 0 8px;
  color: var(--school-accent-strong);
  font-weight: 700;
}

.school-nav-item > .mega-menu {
  display: none;
}

.school-nav-item:hover > .mega-menu,
.school-nav-item:focus-within > .mega-menu {
  display: grid;
}

/* School Hero */
.slider-area,
.school-hero {
  position: relative;
  overflow: clip;
  background: var(--school-soft);
}

.school-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.9fr);
  gap: clamp(28px, 5vw, 72px);
  align-items: center;
  width: var(--school-container);
  margin-inline: auto;
  min-height: clamp(420px, 70vh, 680px);
  padding-block: clamp(56px, 9vw, 120px);
}

.school-hero__title {
  max-width: 12ch;
  margin: 0 0 18px;
  color: var(--school-ink);
  font-size: clamp(2.5rem, 5vw, 4.75rem);
  line-height: 1.05;
}

.school-hero__text {
  max-width: 62ch;
  margin: 0;
  color: var(--school-muted);
  font-size: clamp(1rem, 1.5vw, 1.1875rem);
  line-height: 1.75;
}

/* School Cards */
.class-area,
.service-area,
.blog-area,
.school-card-grid {
  background: var(--school-surface);
}

.school-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  gap: 20px;
}

.single-class,
.single-blog-item,
.school-card {
  min-width: 0;
  border: 1px solid var(--school-line);
  border-radius: var(--school-radius);
  background: var(--school-surface);
  box-shadow: 0 1px 0 rgba(23, 32, 51, 0.04);
}

.school-card__body {
  padding: clamp(18px, 2.5vw, 28px);
}

.school-card__title {
  margin: 0 0 10px;
  color: var(--school-ink);
  font-size: clamp(1.125rem, 1.6vw, 1.375rem);
  line-height: 1.35;
}

/* School Detail */
.class-details-area,
.blog-details-area,
.school-detail {
  background: var(--school-surface);
}

.school-detail__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
  gap: clamp(24px, 4vw, 48px);
}

.school-detail__aside {
  align-self: start;
  border: 1px solid var(--school-line);
  border-radius: var(--school-radius);
  background: var(--school-soft);
  padding: 20px;
}

.class-details-container {
  min-width: 0;
}

.class-details-media {
  overflow: hidden;
  margin: 0 0 clamp(22px, 4vw, 36px);
  border-radius: var(--school-radius);
  background: var(--school-soft);
}

.class-details-media img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.class-details-tab {
  min-width: 0;
}

.class-details-tab-menu {
  margin-bottom: 24px;
  border-bottom: 1px solid var(--school-line);
}

.class-details-tab-menu ul,
.business-related-links ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.class-details-tab-menu a,
.business-related-links a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  border-radius: 999px;
  color: var(--school-accent-strong);
  font-weight: 800;
  text-decoration: none;
}

.class-details-tab-menu a {
  padding: 0 14px 12px 0;
}

.tab-content > .tab-pane + .tab-pane {
  margin-top: clamp(24px, 4vw, 40px);
}

.class-infos.detail-article__meta {
  display: grid;
  gap: 14px;
  margin: 0;
}

.class-infos.detail-article__meta div {
  display: grid;
  gap: 4px;
}

.business-related-links {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--school-line);
}

.business-related-links h3 {
  margin: 0 0 12px;
  color: var(--school-ink);
  font-size: 1rem;
}

.business-related-links a {
  min-height: 36px;
  padding: 0 12px;
  background: var(--school-surface);
  border: 1px solid var(--school-line);
}

.business-related-links a[aria-current="page"] {
  background: var(--school-cta);
  border-color: var(--school-cta);
  color: #ffffff;
}

.forum-event-details-area {
  padding: clamp(50px, 7vw, 88px) 0;
}

.forum-event-detail-main {
  min-width: 0;
}

.school-forum-page .forum-schedule-panel {
  background: var(--school-soft);
  box-shadow: none;
}

.school-forum-page .forum-schedule-panel > .status {
  width: fit-content;
  margin-bottom: 14px;
}

.forum-event-cta-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.forum-event-status-note {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--school-line);
  color: var(--school-muted);
  line-height: 1.7;
}

.forum-event-status-note p {
  margin: 0;
}

.forum-event-article .class-details-tab {
  margin-top: 24px;
}

.forum-event-article .detail-article__attachments {
  margin-top: clamp(28px, 4vw, 44px);
}

/* School Gallery */
.gallery-area,
.school-gallery {
  background: var(--school-soft);
}

.school-gallery__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: 16px;
}

.school-gallery__item {
  overflow: hidden;
  border-radius: var(--school-radius);
  background: var(--school-surface);
}

/* School Forms */
.contact-area,
.school-form-panel {
  background: var(--school-surface);
}

.school-form-panel {
  border: 1px solid var(--school-line);
  border-radius: var(--school-radius);
  padding: clamp(20px, 3vw, 32px);
}

.school-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 18px;
  border: 1px solid var(--school-accent);
  border-radius: 6px;
  background: var(--school-accent);
  color: #ffffff;
  font-weight: 800;
  text-decoration: none;
}

.school-button:hover,
.school-button:focus-visible {
  background: var(--school-accent-strong);
  border-color: var(--school-accent-strong);
}

.school-button--ghost {
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(255, 255, 255, 0.72);
  color: #ffffff;
}

.school-button--light {
  background: #ffffff;
  border-color: #ffffff;
  color: var(--school-accent-strong);
}

.school-external-gate-page .external-gate-contact-area.contact-area {
  min-width: 0;
  background: transparent;
}

.school-external-gate-page .external-gate__head {
  min-width: 0;
}

.school-external-gate-page .contact-area-container.gate-info-panel,
.school-external-gate-page .contact-form-container {
  min-width: 0;
  padding: clamp(22px, 3vw, 32px);
  border: 1px solid var(--school-line);
  border-radius: var(--school-radius);
  background: var(--school-surface);
  box-shadow: 0 1px 0 rgba(23, 32, 51, 0.04);
}

.school-external-gate-page .contact-area-container.gate-info-panel {
  display: grid;
  gap: 18px;
  align-content: start;
}

.school-external-gate-page .single-title h2,
.school-external-gate-page .contact-form-container h2 {
  margin: 0;
  color: var(--school-ink);
  font-size: clamp(1.35rem, 2.3vw, 2rem);
  line-height: 1.3;
}

.school-external-gate-page .contact-address-container.external-gate__notice-list {
  display: grid;
  gap: 16px;
}

.school-external-gate-page .contact-address-info.external-gate__notice-item {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.school-external-gate-page .contact-icon {
  display: inline-grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 50%;
  background: var(--school-soft);
  color: var(--school-accent-strong);
  font-size: 0.82rem;
  font-weight: 900;
}

.school-external-gate-page .contact-text {
  min-width: 0;
}

.school-external-gate-page .contact-text h3 {
  margin: 0 0 6px;
  color: var(--school-accent-strong);
  font-size: 1rem;
  line-height: 1.35;
}

.school-external-gate-page .contact-text p,
.school-external-gate-page .contact-text li,
.school-external-gate-page .contact-form-container p,
.school-external-gate-page .contact-form-container li {
  overflow-wrap: anywhere;
}

.school-external-gate-page .contact-form.external-gate-flow {
  min-width: 0;
  gap: clamp(16px, 2.5vw, 24px);
}

.school-external-gate-page .gate-captcha-card.contact-form-container,
.school-external-gate-page .gate-result-card.contact-form-container,
.school-external-gate-page .gate-status-card.contact-form-container {
  display: grid;
  gap: 18px;
  margin: 0;
}

.school-external-gate-page .gate-result-card.contact-form-container {
  border-color: rgba(31, 111, 139, 0.28);
  background:
    linear-gradient(135deg, rgba(31, 111, 139, 0.08), rgba(255, 255, 255, 0)),
    var(--school-surface);
}

.school-external-gate-page .external-gate__captcha-form {
  display: grid;
  gap: 16px;
}

.school-external-gate-page .form-field {
  display: grid;
  gap: 8px;
}

.school-external-gate-page .form-field input {
  width: 100%;
  min-height: 48px;
  padding: 10px 12px;
  border: 1px solid var(--school-line);
  border-radius: var(--school-radius-sm);
  background: #ffffff;
  color: var(--school-ink);
}

.school-external-gate-page .form-field input:focus {
  border-color: var(--school-accent);
  outline: 3px solid rgba(31, 111, 139, 0.18);
}

.school-external-gate-page .form-field label {
  color: var(--school-ink);
  font-weight: 900;
}

.school-external-gate-page .form-field .errorlist,
.school-external-gate-page .external-gate__captcha-form > .errorlist {
  margin: 0;
  padding-left: 18px;
  color: var(--school-cta);
  font-weight: 800;
}

.school-external-gate-page .button-default.external-gate__external-link,
.school-external-gate-page .button-default.external-gate__email-link,
.school-external-gate-page .external-gate__captcha-form .button-default {
  width: fit-content;
  max-width: 100%;
  white-space: normal;
}

@media (max-width: 640px) {
  .school-external-gate-page .contact-address-info.external-gate__notice-item {
    grid-template-columns: 1fr;
  }
}

.school-contact-index-page .contact-index-contact-area.contact-area {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.44fr);
  gap: clamp(18px, 3vw, 28px);
  align-items: stretch;
  margin-top: clamp(24px, 4vw, 40px);
  padding: clamp(24px, 4vw, 42px);
  border: 1px solid var(--school-line);
  border-radius: var(--school-radius);
  background: var(--school-surface);
}

.school-contact-index-page .contact-index-contact-container,
.school-contact-index-page .contact-map-fallback .contact-form-container {
  min-width: 0;
}

.school-contact-index-page .contact-index-contact-container {
  display: grid;
  gap: 18px;
}

.school-contact-index-page .contact-index-contact-container > p,
.school-contact-index-page .contact-map-fallback p {
  margin: 0;
  color: var(--school-muted);
  overflow-wrap: anywhere;
}

.school-contact-index-page .contact-info-card-grid.contact-address-container {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.school-contact-index-page .contact-info-card.contact-address-info,
.school-contact-index-page .contact-type-card.contact-address-info a {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  min-width: 0;
}

.school-contact-index-page .contact-info-card.contact-address-info {
  padding: 16px;
  border: 1px solid var(--school-line);
  border-radius: var(--school-radius);
  background: var(--school-soft);
}

.school-contact-index-page .contact-icon {
  display: inline-grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 50%;
  background: #ffffff;
  color: var(--school-accent-strong);
  font-size: 0.82rem;
  font-weight: 900;
}

.school-contact-index-page .contact-text {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.school-contact-index-page .contact-text h3,
.school-contact-index-page .contact-type-card strong {
  margin: 0;
  color: var(--school-ink);
  font-size: 1.05rem;
  line-height: 1.35;
}

.school-contact-index-page .contact-text span,
.school-contact-index-page .contact-text a {
  color: var(--school-muted);
  overflow-wrap: anywhere;
}

.school-contact-index-page .contact-text a {
  font-weight: 900;
}

.school-contact-index-page .contact-map-fallback.contact-form {
  min-width: 0;
}

.school-contact-index-page .contact-map-fallback .contact-form-container {
  display: grid;
  gap: 14px;
  height: 100%;
  padding: clamp(20px, 3vw, 30px);
  border: 1px solid rgba(31, 111, 139, 0.2);
  border-radius: var(--school-radius);
  background:
    linear-gradient(135deg, rgba(31, 111, 139, 0.08), rgba(184, 68, 53, 0.06)),
    var(--school-soft);
}

.school-contact-index-page .contact-type-card.contact-address-info a {
  min-height: 230px;
  padding: clamp(18px, 2.8vw, 24px);
}

.school-contact-index-page .contact-type-card .contact-icon {
  background: var(--school-soft);
}

.school-contact-index-page .contact-type-card .post-card__category {
  width: fit-content;
}

.school-contact-index-page .contact-type-card .section-more {
  margin-top: auto;
  padding-top: 12px;
  color: var(--school-accent-strong);
  font-weight: 900;
}

.school-contact-index-page .contact-manager-panel .button-default {
  margin-top: 0;
}

.school-contact-manager-page .manager-card-section.teacher-fullwidth-area {
  margin-top: clamp(28px, 4vw, 48px);
  background: var(--school-surface);
}

.school-contact-manager-page .manager-privacy-note {
  max-width: 680px;
  margin: 8px 0 0;
  color: var(--school-muted);
  line-height: 1.7;
}

.school-contact-manager-page .teacher-fullwidth-grid.manager-info-card-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
}

.school-contact-manager-page .manager-info-card.single-teachers-column,
.school-contact-manager-page .manager-info-empty.single-teachers-column {
  display: grid;
  min-width: 0;
  gap: 16px;
  align-content: start;
  text-align: left;
  overflow-wrap: anywhere;
}

.school-contact-manager-page .manager-info-card__avatar.teachers-image-column {
  width: 146px;
  min-width: 146px;
  height: 76px;
  margin-right: 0;
  margin-left: 0;
  border-radius: 999px;
  background:
    linear-gradient(135deg, rgba(31, 111, 139, 0.14), rgba(184, 68, 53, 0.1)),
    #ffffff;
  color: var(--school-accent-strong);
  font-size: 1rem;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}

.school-contact-manager-page .manager-info-card__avatar.teachers-image-column span {
  display: block;
  max-width: calc(100% - 28px);
  overflow: hidden;
  text-overflow: ellipsis;
}

.school-contact-manager-page .manager-info-card__type.post-card__category {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 10px;
}

.school-contact-manager-page .manager-info-card__name {
  margin: 0;
  color: var(--school-muted);
  font-weight: 800;
}

.school-contact-manager-page .manager-info-card__meta {
  display: grid;
  gap: 12px;
  margin: 0;
}

.school-contact-manager-page .manager-info-card__meta div {
  display: grid;
  gap: 4px;
}

.school-contact-manager-page .manager-info-card__meta dt {
  color: var(--school-accent-strong);
  font-size: 0.86rem;
  font-weight: 900;
}

.school-contact-manager-page .manager-info-card__meta dd {
  min-width: 0;
  margin: 0;
  color: var(--school-ink);
  line-height: 1.65;
}

.school-contact-manager-page .manager-info-card__meta a {
  color: var(--school-ink);
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.school-contact-manager-page .manager-info-card__email.button-default {
  width: fit-content;
  margin-top: auto;
}

@media (max-width: 860px) {
  .school-contact-index-page .contact-index-contact-area.contact-area,
  .school-contact-index-page .contact-info-card-grid.contact-address-container {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px) {
  .school-contact-index-page .contact-info-card.contact-address-info,
  .school-contact-index-page .contact-type-card.contact-address-info a {
    grid-template-columns: 1fr;
  }
}

/* School Home */
body.school-home-page,
.school-home-page #main-content {
  max-width: 100vw;
  overflow-x: clip;
}

.school-home-page .slider-area {
  min-height: clamp(420px, 78vh, 720px);
  display: grid;
  align-items: stretch;
  overflow: clip;
  background: linear-gradient(135deg, var(--school-accent-strong), #24384f 58%, var(--school-cta));
  color: #ffffff;
}

.school-home-page .home-hero::after {
  content: none;
}

.school-home-page .home-hero__bg {
  z-index: 0;
  opacity: 1;
  mix-blend-mode: normal;
  filter: none;
}

.school-home-page .quick-services {
  margin-top: 0;
}

.school-home-page .partner-band .teacher-large-image,
.school-home-page .home-service-links .single-service-icon {
  width: auto;
  min-width: 116px;
  height: 58px;
  padding: 0 22px;
  border-radius: 999px;
  background: linear-gradient(135deg, #e6f2f6 0%, #f7f0ef 100%);
  color: var(--school-accent-strong);
  font-size: 1.05rem;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
  box-shadow: inset 0 0 0 1px rgba(31, 111, 139, 0.08);
}

.school-home-page .partner-band .teacher-large-image {
  min-width: 136px;
  justify-self: start;
}

.school-home-page .partner-band .teacher-large-item {
  grid-template-columns: 1fr;
  gap: 18px;
}

.school-home-page .home-service-links .single-service-icon {
  flex: 0 0 auto;
  min-width: 176px;
  justify-self: start;
}

.school-home-page .home-service-links .school-container {
  max-width: var(--school-container);
}

.school-home-page .home-service-links .service-area__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 30px;
  max-width: 1040px;
  margin-right: auto;
  margin-left: auto;
}

.school-home-page .home-service-links .single-service-item {
  min-height: 210px;
  gap: 28px;
  align-items: center;
  padding: 34px;
}

.school-home-page .home-service-links .single-service-text {
  gap: 10px;
}

.school-home-page .home-service-links .single-service-text strong {
  font-size: 2.2rem;
  line-height: 1.35;
}

.school-home-page .home-service-links .single-service-text > span {
  font-size: 2rem;
  line-height: 1.65;
}

.school-home-page .home-intro .school-container {
  max-width: var(--school-container);
}

.school-home-page .home-intro .activity-area__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 30px;
  max-width: 1080px;
  margin-right: auto;
  margin-left: auto;
}

.school-home-page .home-intro .single-activity {
  min-height: 260px;
  padding: 36px;
}

.school-home-page .home-intro .single-activity-icon {
  min-width: 154px;
  height: 58px;
  margin-bottom: 24px;
  font-size: 1.8rem;
}

.school-home-page .home-intro .single-activity h3 {
  margin-bottom: 16px;
  font-size: 2.2rem;
  line-height: 1.35;
}

.school-home-page .home-intro .single-activity p {
  font-size: 2rem;
  line-height: 1.7;
}

.school-home-page .quick-services .class-area__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(28px, 3vw, 40px);
  max-width: 1180px;
  margin-right: auto;
  margin-left: auto;
}

.school-home-page .quick-services .quick-card.single-class {
  min-height: 520px;
  padding: clamp(30px, 3.4vw, 44px);
}

.school-home-page .quick-services .single-class-image {
  margin-bottom: clamp(26px, 3vw, 36px);
}

.school-home-page .quick-services .single-class-text {
  display: grid;
  min-height: 0;
  gap: clamp(18px, 2vw, 26px);
}

.school-home-page .quick-services .class-des h3 {
  font-size: clamp(2rem, 2.2vw, 2.7rem);
  line-height: 1.35;
}

.school-home-page .quick-services .class-des p {
  margin-top: 14px;
  color: var(--school-muted);
  font-size: clamp(1.65rem, 1.55vw, 2rem);
  line-height: 1.75;
}

.school-home-page .quick-services .class-schedule {
  margin-top: auto;
  padding-top: clamp(18px, 2vw, 24px);
}

.school-home-page .quick-services .class-schedule span {
  font-size: 1.15rem;
  font-weight: 800;
}

.school-home-page .quick-services .class-schedule .arrow {
  width: 54px;
  height: 54px;
  font-size: 2.1rem;
}

.slider-area__media,
.slider-area__fallback {
  position: absolute;
  inset: 0;
}

.slider-area__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.92);
}

.slider-area__media::after,
.slider-area__fallback::after {
  position: absolute;
  inset: 0;
  content: "";
  background:
    linear-gradient(90deg, rgba(18, 74, 97, 0.92), rgba(18, 74, 97, 0.68) 46%, rgba(184, 68, 53, 0.34)),
    linear-gradient(0deg, rgba(23, 32, 51, 0.55), rgba(23, 32, 51, 0.08));
}

.slider-area__fallback {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.08) 0 25%, transparent 25% 50%, rgba(255, 255, 255, 0.08) 50% 75%, transparent 75%),
    linear-gradient(135deg, var(--school-accent-strong), var(--school-cta));
  background-size: 56px 56px, auto;
}

.slider-area__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 340px);
  gap: clamp(24px, 6vw, 80px);
  align-items: end;
  width: var(--school-container);
  margin-inline: auto;
  padding-block: clamp(72px, 12vw, 136px) clamp(48px, 8vw, 92px);
}

.slider-area .banner-content {
  min-width: 0;
}

.slider-area .text-content {
  max-width: 720px;
}

.slider-area .school-eyebrow,
.slider-area .school-hero__title,
.slider-area .school-hero__text {
  color: #ffffff;
}

.school-home-page .slider-area .school-eyebrow {
  color: #f6d879;
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.34);
}

.slider-area .school-hero__title {
  max-width: 13ch;
  text-shadow: 0 3px 22px rgba(0, 0, 0, 0.28);
}

.slider-area .school-hero__text {
  max-width: 58ch;
  color: #f8fbff;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.36);
}

.school-home-page .slider-area .school-hero__text {
  color: #f8fbff;
}

.slider-area .hero-actions,
.cta-band__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

.slider-area__summary {
  display: grid;
  gap: 10px;
  align-self: end;
}

.slider-area__summary span {
  display: block;
  min-width: 0;
  padding: 14px 16px;
  border: 1px solid rgba(255, 255, 255, 0.34);
  border-radius: var(--school-radius);
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
  font-weight: 800;
  backdrop-filter: blur(10px);
}

.section-title-wrapper {
  margin: 0 auto 28px;
  text-align: center;
}

.section-title {
  max-width: 760px;
  margin-inline: auto;
}

.section-title h2,
.section-title h2,
.section-title h3,
.advertise-area h2,
.view-gallery h3 {
  margin: 0 0 10px;
  color: var(--school-ink);
  font-size: clamp(1.75rem, 3vw, 2.625rem);
  line-height: 1.2;
}

.section-title p,
.advertise-area p,
.view-gallery p {
  margin: 0;
  color: var(--school-muted);
  line-height: 1.75;
}

.activity-area__grid,
.class-area__grid,
.teacher-grid,
.service-area__grid,
.fun-factor-area__grid,
.blog-area__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  gap: 20px;
}

.activity-area {
  background: var(--school-surface);
}

.single-activity,
.single-service-item,
.single-fun-factor,
.teacher-large-item {
  min-width: 0;
  border: 1px solid var(--school-line);
  border-radius: var(--school-radius);
  background: var(--school-surface);
}

.single-activity,
.single-fun-factor {
  padding: clamp(18px, 3vw, 28px);
}

.single-activity-icon,
.single-service-icon,
.fun-factor-icon,
.teacher-large-image {
  display: inline-grid;
  width: 52px;
  height: 52px;
  margin-bottom: 16px;
  place-items: center;
  border-radius: 50%;
  background: #e6f2f6;
  color: var(--school-accent-strong);
  font-weight: 900;
}

.single-activity-icon {
  width: auto;
  min-width: 112px;
  height: 44px;
  padding: 0 22px;
  border-radius: 999px;
  background: linear-gradient(135deg, #e6f2f6 0%, #f4f8ee 100%);
  font-size: 1.4rem;
  letter-spacing: 0px;
  line-height: 1;
  box-shadow: inset 0 0 0 1px rgba(31, 111, 139, 0.08);
}

.single-activity h3,
.single-class h3,
.teacher-large-item h3,
.single-blog-item h3 {
  margin: 0 0 10px;
  color: var(--school-ink);
  font-size: clamp(1.125rem, 1.6vw, 1.375rem);
  line-height: 1.35;
}

.single-activity p,
.single-class p,
.teacher-large-item p,
.single-blog-item p {
  margin: 0;
  color: var(--school-muted);
  line-height: 1.7;
}

.advertise-area {
  padding: clamp(40px, 6vw, 70px) 0;
  background: linear-gradient(135deg, #eef6f8, #ffffff 55%, #fff4f1);
  text-align: center;
}

.advertise-area .school-button {
  margin-top: 22px;
}

.class-area,
.class-grid-area,
.class-list-area,
.service-area,
.blog-area {
  padding: clamp(50px, 7vw, 88px) 0;
}

.single-class {
  overflow: hidden;
}

.single-class-image {
  position: relative;
  aspect-ratio: 16 / 10;
  background: var(--school-soft);
}

.single-class-image a,
.gallery-card {
  display: block;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

.single-class-image img,
.gallery-card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.single-class-fallback,
.gallery-card__fallback {
  display: grid;
  width: 100%;
  height: 100%;
  min-height: 180px;
  place-items: center;
  background:
    linear-gradient(135deg, rgba(31, 111, 139, 0.16), rgba(184, 68, 53, 0.12)),
    var(--school-soft);
  color: var(--school-accent-strong);
  font-size: clamp(1.5rem, 4vw, 2.8rem);
  font-weight: 900;
}

.class-date {
  position: absolute;
  left: 14px;
  bottom: 14px;
  padding: 6px 10px;
  border-radius: 999px;
  background: var(--school-cta);
  color: #ffffff;
  font-size: 0.8rem;
  font-weight: 800;
}

.single-class-text,
.single-blog-text {
  padding: clamp(18px, 2.6vw, 26px);
}

.single-class h3 a,
.single-blog-item h3 a,
.read-more,
.class-schedule .arrow {
  color: var(--school-accent-strong);
  text-decoration: none;
}

.class-schedule {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid var(--school-line);
  color: var(--school-muted);
  font-size: 0.875rem;
}

.business-class-area {
  padding-right: 0;
  padding-left: 0;
}

.business-class-grid .single-class {
  height: 100%;
}

.business-class-grid .class-schedule {
  align-items: flex-start;
  flex-wrap: wrap;
}

.business-class-grid .class-schedule span:first-child {
  min-width: 0;
  flex: 1 1 220px;
}

.business-class-grid .class-schedule .arrow {
  flex: 0 0 auto;
}

.school-business-page .business-class-area.class-grid-area {
  padding-block: clamp(32px, 4vw, 52px);
}

.school-business-page .business-class-area .section-title {
  margin-bottom: clamp(18px, 2.5vw, 26px);
}

.school-business-page .business-class-grid.class-area__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.school-business-page .business-program-card.single-class {
  display: grid;
  grid-template-rows: auto 1fr;
  height: 100%;
}

.school-business-page .business-program-card .single-class-image {
  aspect-ratio: 16 / 7.5;
}

.school-business-page .business-program-card .single-class-image a {
  display: block;
  min-height: 0;
  height: 100%;
}

.school-business-page .business-program-card .class-date {
  left: 12px;
  bottom: 12px;
  padding: 5px 9px;
  font-size: 0.75rem;
}

.school-business-page .business-program-card .single-class-text {
  display: grid;
  grid-template-rows: 1fr auto;
  gap: 14px;
  padding: clamp(16px, 2vw, 20px);
}

.school-business-page .business-program-card h3 {
  margin-bottom: 8px;
  font-size: clamp(1.125rem, 1.35vw, 1.25rem);
}

.school-business-page .business-program-card a {
  min-height: 0;
}

.school-business-page .business-program-card .class-des p {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.school-business-page .business-class-grid .class-schedule {
  margin-top: 0;
  padding-top: 12px;
  gap: 10px;
  font-size: 0.8rem;
}

.school-business-page .business-class-grid .class-schedule span:first-child {
  display: -webkit-box;
  flex-basis: 100%;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.school-business-page .business-class-grid .class-schedule .arrow {
  width: auto;
  height: auto;
  border: 0;
  border-radius: 0;
  font-size: 0.875rem;
}

.school-business-page .business-class-grid .class-schedule .arrow a {
  display: inline-flex;
  align-items: center;
  min-height: 0;
  padding: 6px 10px;
  border: 1px solid var(--school-line);
  border-radius: 999px;
  font-weight: 800;
  line-height: 1.2;
  white-space: nowrap;
}

@media (max-width: 960px) {
  .school-business-page .business-class-grid.class-area__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .school-business-page .business-class-grid.class-area__grid {
    grid-template-columns: 1fr;
  }
}

.class-schedule .arrow {
  display: inline-grid;
  width: 34px;
  height: 34px;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid var(--school-line);
  border-radius: 50%;
  font-size: 1.4rem;
  line-height: 1;
}

.forum-event-list-area {
  padding-right: 0;
  padding-left: 0;
}

.forum-event-list {
  display: grid;
  gap: clamp(18px, 2.8vw, 28px);
}

.forum-event-card.class-list-item {
  display: grid;
  width: 100%;
  max-width: 100%;
  grid-template-columns: minmax(260px, 0.42fr) minmax(0, 1fr);
  gap: clamp(18px, 3vw, 30px);
  box-sizing: border-box;
  overflow: hidden;
}

.school-forum-page .forum-event-card a {
  display: inline-flex;
  min-height: 0;
  flex-direction: row;
  align-items: center;
}

.school-forum-page .forum-event-card__media a {
  display: block;
  height: 100%;
}

.forum-event-card__media {
  min-width: 0;
  max-width: 100%;
  height: 100%;
  min-height: 260px;
}

.forum-event-card .single-class-text,
.forum-event-card__top,
.class-information.forum-event-card__schedule,
.class-information.forum-event-card__schedule div {
  min-width: 0;
  max-width: 100%;
}

.forum-event-card__type {
  color: var(--school-muted);
  font-size: 0.75rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.class-information.forum-event-card__schedule {
  display: grid;
  gap: 8px;
  margin: 16px 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
}

.class-information.forum-event-card__schedule div {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 10px;
  padding: 8px 0;
  border-bottom: 1px solid var(--school-line);
}

.class-information.forum-event-card__schedule dt {
  color: var(--school-accent-strong);
  font-weight: 900;
}

.class-information.forum-event-card__schedule dd {
  min-width: 0;
  margin: 0;
  color: var(--school-muted);
}

.forum-event-card .button-default {
  width: fit-content;
  margin-top: 18px;
  padding: 10px 16px;
  border-radius: 999px;
  background: var(--school-accent);
  color: #ffffff;
  font-weight: 900;
  text-decoration: none;
}

.forum-event-card .button-default:hover,
.forum-event-card .button-default:focus-visible {
  background: var(--school-cta);
}

.forum-event-card .button-default span {
  margin-left: 6px;
  font-size: 1.1rem;
  line-height: 1;
}

.forum-archive-section.blog-area {
  margin-top: clamp(28px, 4vw, 44px);
  padding: clamp(28px, 5vw, 48px);
  border: 1px solid var(--school-line);
  border-radius: var(--school-radius);
  background: var(--school-soft);
}

.forum-archive-list {
  gap: clamp(14px, 2vw, 18px);
}

.school-forum-page .forum-archive-item a {
  display: grid;
  grid-template-columns: minmax(96px, 150px) minmax(0, 1fr) auto;
  gap: clamp(14px, 2.4vw, 22px);
  align-items: center;
  max-width: 100%;
  padding: clamp(16px, 2.4vw, 22px);
  border-color: var(--school-line);
  background: var(--school-surface);
  color: inherit;
  text-decoration: none;
  box-shadow: 0 1px 0 rgba(23, 32, 51, 0.04);
}

.school-forum-page .forum-archive-item a:hover,
.school-forum-page .forum-archive-item a:focus-visible {
  border-color: rgba(31, 111, 139, 0.45);
  box-shadow: var(--school-shadow);
}

.forum-archive-thumb {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 11;
  overflow: hidden;
  border-radius: var(--school-radius);
  background: var(--school-soft);
}

.forum-archive-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.forum-archive-thumb .single-class-fallback {
  min-height: 0;
  height: 100%;
  font-size: clamp(1.25rem, 3vw, 2.1rem);
}

.forum-archive-copy {
  display: grid;
  min-width: 0;
  gap: 8px;
}

.forum-archive-copy strong {
  min-width: 0;
  color: var(--school-ink);
  font-size: clamp(1.125rem, 1.8vw, 1.45rem);
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.forum-archive-copy .document-list__type {
  width: fit-content;
  padding: 4px 9px;
  border-radius: 999px;
  background: #e6f2f6;
  color: var(--school-accent-strong);
  font-size: 0.78rem;
  font-weight: 900;
}

.forum-archive-meta,
.forum-archive-materials {
  min-width: 0;
  color: var(--school-muted);
  font-size: 0.92rem;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.forum-archive-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
}

.forum-archive-materials {
  display: block;
}

.forum-archive-item .download-action {
  justify-self: end;
  padding: 9px 13px;
  border: 1px solid rgba(31, 111, 139, 0.25);
  border-radius: 999px;
  color: var(--school-accent-strong);
  font-weight: 900;
}

.forum-archive-pagination .pagination__item,
.forum-archive-pagination .pagination__current {
  border-color: var(--school-line);
  background: var(--school-surface);
  color: var(--school-accent-strong);
  font-weight: 900;
}

.resource-library-overview.class-list-area {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(220px, 0.7fr);
  gap: clamp(22px, 4vw, 44px);
  align-items: stretch;
  margin-bottom: clamp(26px, 4vw, 44px);
  padding: clamp(30px, 5vw, 56px);
  border: 1px solid var(--school-line);
  border-radius: var(--school-radius);
  background:
    linear-gradient(135deg, rgba(31, 111, 139, 0.12), rgba(184, 68, 53, 0.08)),
    var(--school-surface);
}

.resource-library-overview h1 {
  margin: 0 0 14px;
  color: var(--school-ink);
  font-size: clamp(2rem, 4vw, 3.4rem);
  line-height: 1.12;
}

.resource-library-overview p {
  max-width: 70ch;
  color: var(--school-muted);
  line-height: 1.75;
}

.resource-library-stats.class-information {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
}

.resource-library-stats div {
  display: grid;
  align-content: center;
  min-height: 116px;
  padding: 20px;
  border: 1px solid rgba(31, 111, 139, 0.18);
  border-radius: var(--school-radius);
  background: rgba(255, 255, 255, 0.82);
}

.resource-library-stats span {
  color: var(--school-accent-strong);
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 900;
  line-height: 1;
}

.resource-library-stats strong {
  margin-top: 8px;
  color: var(--school-muted);
}

.resource-filter-panel.school-filter-panel {
  margin-bottom: clamp(28px, 5vw, 48px);
  padding: clamp(20px, 3vw, 30px);
  border-color: var(--school-line);
  border-radius: var(--school-radius);
  background: var(--school-soft);
}

.resource-filter-panel .filter-box__grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr));
}

.resource-filter-panel .filter-field--keyword {
  grid-column: span 2;
}

.resource-filter-panel .button-default {
  min-height: 44px;
  padding-inline: 18px;
  border-radius: 999px;
  background: var(--school-accent);
  color: #ffffff;
}

.resource-list-section.class-list-area {
  padding-right: 0;
  padding-left: 0;
}

.resource-document-list--school {
  gap: clamp(14px, 2vw, 18px);
}

.school-resources-page .resource-document-item a {
  display: grid;
  grid-template-columns: minmax(92px, 138px) minmax(0, 1fr) auto;
  gap: clamp(14px, 2.4vw, 22px);
  align-items: center;
  max-width: 100%;
  padding: clamp(16px, 2.5vw, 24px);
  border-color: var(--school-line);
  background: var(--school-surface);
  color: inherit;
  text-decoration: none;
  box-shadow: 0 1px 0 rgba(23, 32, 51, 0.04);
}

.school-resources-page .resource-document-item a:hover,
.school-resources-page .resource-document-item a:focus-visible {
  border-color: rgba(31, 111, 139, 0.45);
  box-shadow: var(--school-shadow);
}

.resource-document-type.document-list__type {
  width: fit-content;
  padding: 6px 10px;
  border-radius: 999px;
  background: #e6f2f6;
  color: var(--school-accent-strong);
  font-size: 0.82rem;
  font-weight: 900;
  line-height: 1.2;
}

.resource-document-copy {
  display: grid;
  min-width: 0;
  gap: 8px;
}

.document-list__copy {
  min-width: 0;
}

.resource-document-copy strong {
  color: var(--school-ink);
  font-size: clamp(1.125rem, 1.8vw, 1.45rem);
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.resource-document-summary,
.resource-document-meta,
.resource-document-download-state {
  min-width: 0;
  color: var(--school-muted);
  font-size: 0.92rem;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.resource-document-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
}

.resource-document-download-state {
  color: var(--school-accent-strong);
  font-weight: 800;
}

.resource-document-item .download-action {
  justify-self: end;
  padding: 9px 13px;
  border: 1px solid rgba(31, 111, 139, 0.25);
  border-radius: 999px;
  color: var(--school-accent-strong);
  font-weight: 900;
}

.resource-academic-highlight.blog-area {
  margin-top: clamp(30px, 5vw, 56px);
  padding: clamp(30px, 5vw, 56px);
  border-radius: var(--school-radius);
}

.school-resource-detail-page .resource-detail-article,
.school-academic-paper-page .academic-detail-article {
  min-width: 0;
}

.school-resource-detail-page .resource-detail-body,
.school-resource-detail-page .resource-downloads,
.school-resource-detail-page .resource-related-section,
.school-academic-paper-page .academic-detail-body,
.school-academic-paper-page .academic-downloads,
.school-academic-paper-page .academic-related-section {
  min-width: 0;
  overflow-wrap: anywhere;
}

.resource-detail-anchor-nav.class-details-tab-menu,
.academic-detail-anchor-nav.class-details-tab-menu {
  margin-bottom: clamp(20px, 3vw, 30px);
}

.resource-detail-body table,
.academic-detail-body table {
  display: block;
  max-width: 100%;
  overflow-x: auto;
}

.resource-download-list {
  display: grid;
  gap: 14px;
}

.resource-download-item {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.resource-download-item .download-button {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  align-items: center;
  justify-content: space-between;
  min-width: 0;
  color: inherit;
  text-decoration: none;
  overflow-wrap: anywhere;
}

.resource-download-item .download-button span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.resource-downloads--empty .empty-state {
  margin: 0;
}

.academic-external-link {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  margin-top: 20px;
  padding: 0 14px;
  border: 1px solid rgba(31, 111, 139, 0.25);
  border-radius: 999px;
  color: var(--school-accent-strong);
  font-weight: 900;
  text-decoration: none;
}

.academic-download-item .download-button {
  border: 1px solid rgba(31, 111, 139, 0.18);
  border-radius: var(--school-radius-sm);
  padding: 14px 16px;
  background: var(--school-surface);
}

.resource-related-list.resource-document-list--school {
  gap: 14px;
}

.resource-related-item a {
  display: grid;
  grid-template-columns: minmax(92px, 128px) minmax(0, 1fr) auto;
  gap: clamp(14px, 2.4vw, 22px);
  align-items: center;
  min-width: 0;
  padding: clamp(16px, 2.5vw, 24px);
  border-color: var(--school-line);
  background: var(--school-surface);
  color: inherit;
  text-decoration: none;
}

.resource-related-type.document-list__type {
  width: fit-content;
  padding: 6px 10px;
  border-radius: 999px;
  background: #e6f2f6;
  color: var(--school-accent-strong);
  font-size: 0.82rem;
  font-weight: 900;
}

.resource-related-copy {
  display: grid;
  min-width: 0;
  gap: 8px;
}

.resource-related-copy strong {
  color: var(--school-ink);
  font-size: clamp(1.05rem, 1.5vw, 1.25rem);
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.resource-related-summary {
  color: var(--school-muted);
  font-size: 0.92rem;
}

.school-news-index-page .news-blog-overview.blog-area,
.school-news-index-page .news-blog-area.blog-area {
  padding: clamp(24px, 4vw, 42px);
  border: 1px solid var(--school-line);
  border-radius: var(--school-radius);
  background: var(--school-surface);
}

.school-news-index-page .news-blog-overview.blog-area {
  margin-bottom: clamp(24px, 4vw, 40px);
}

.school-news-index-page .news-tab-board.blog-area {
  margin-top: clamp(28px, 5vw, 52px);
}

.school-news-index-page .news-blog-list.blog-area__grid {
  grid-template-columns: 1fr;
  gap: clamp(16px, 2.5vw, 24px);
}

.school-news-index-page .news-card.single-blog-item {
  display: grid;
  grid-template-columns: minmax(180px, 280px) minmax(0, 1fr);
  min-width: 0;
  border: 1px solid var(--school-line);
  border-radius: var(--school-radius);
  background: #ffffff;
}

.school-news-index-page .news-card__image {
  min-height: 100%;
  aspect-ratio: auto;
}

.school-news-index-page .news-card__fallback.single-class-fallback {
  min-height: 100%;
  border-radius: 0;
}

.school-news-index-page .news-card__body {
  display: grid;
  gap: 10px;
  align-content: start;
  min-width: 0;
}

.school-news-index-page .news-card__category {
  width: fit-content;
}

.school-news-index-page .news-card__meta {
  margin-bottom: 0;
}

.school-news-index-page .news-card h2 {
  margin: 0;
}

.school-news-index-page .news-card h2 a,
.school-news-index-page .news-card__link {
  color: var(--school-accent-strong);
  text-decoration: none;
}

.school-news-index-page .news-card p {
  overflow-wrap: anywhere;
}

.school-newsletter-page .newsletter-feature-panel.blog-area,
.school-newsletter-page .newsletter-list-section.blog-fullwidth-area {
  margin-top: clamp(24px, 4vw, 40px);
  padding: clamp(24px, 4vw, 42px);
  border: 1px solid var(--school-line);
  border-radius: var(--school-radius);
  background: var(--school-surface);
}

.school-newsletter-page .newsletter-section-head {
  margin-bottom: clamp(18px, 3vw, 28px);
}

.school-newsletter-page .newsletter-feature-card.single-blog-item,
.school-newsletter-page .newsletter-issue-card.single-blog-item {
  min-width: 0;
  border: 1px solid var(--school-line);
  border-radius: var(--school-radius);
  background: #ffffff;
}

.school-newsletter-page .newsletter-feature-card.single-blog-item {
  display: grid;
  grid-template-columns: minmax(180px, 280px) minmax(0, 1fr);
}

.school-newsletter-page .newsletter-issue-grid.blog-area__grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  gap: clamp(16px, 2.5vw, 24px);
}

.school-newsletter-page .newsletter-issue-column {
  min-width: 0;
}

.school-newsletter-page .newsletter-issue-card__media.single-blog-image {
  display: grid;
  min-height: 190px;
  background:
    linear-gradient(135deg, rgba(31, 111, 139, 0.18), rgba(184, 68, 53, 0.12)),
    var(--school-soft);
}

.school-newsletter-page .newsletter-issue-card__media-inner.overlay-effect {
  position: relative;
  display: grid;
  min-height: 100%;
  align-content: end;
  gap: 12px;
  padding: 18px;
}

.school-newsletter-page .newsletter-issue-card__media-label {
  color: var(--school-accent-strong);
  font-size: clamp(1.25rem, 2.8vw, 2rem);
  font-weight: 900;
  letter-spacing: 0;
}

.school-newsletter-page .newsletter-issue-card__body.single-blog-text,
.school-newsletter-page .newsletter-feature-card__body.single-blog-text {
  display: grid;
  gap: 10px;
  align-content: start;
  min-height: auto;
  min-width: 0;
  padding: clamp(18px, 2.6vw, 26px);
  border: 0;
  background: transparent;
}

.school-newsletter-page .newsletter-issue-card h3,
.school-newsletter-page .newsletter-feature-card h3 {
  margin: 0;
}

.school-newsletter-page .newsletter-issue-card h3 a,
.school-newsletter-page .newsletter-feature-card h3 a {
  display: inline;
  min-height: auto;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--school-accent-strong);
  text-decoration: none;
  box-shadow: none;
}

.school-newsletter-page .newsletter-issue-card .newsletter-card__link,
.school-newsletter-page .newsletter-feature-card .newsletter-card__link {
  display: inline-flex;
  min-height: auto;
  width: fit-content;
  margin-top: 8px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--school-accent-strong);
  text-decoration: none;
  box-shadow: none;
}

.school-newsletter-page .newsletter-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
}

.school-newsletter-page .newsletter-issue-card p,
.school-newsletter-page .newsletter-feature-card p {
  overflow-wrap: anywhere;
}

.school-news-detail-page .news-detail-article {
  min-width: 0;
}

.school-news-detail-page .news-detail-body,
.school-news-detail-page .news-attachments,
.school-news-detail-page .comments-panel--news {
  min-width: 0;
  overflow-wrap: anywhere;
}

.news-detail-anchor-nav.class-details-tab-menu {
  margin-bottom: clamp(20px, 3vw, 30px);
}

.news-detail-body table {
  display: block;
  max-width: 100%;
  overflow-x: auto;
}

.news-detail-media {
  margin: 0 0 clamp(20px, 3vw, 30px);
}

.news-detail-media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--school-radius);
}

.news-detail-navigation {
  margin-top: clamp(24px, 4vw, 40px);
}

.news-attachment-list {
  margin: 0;
}

.news-attachment-item .download-button {
  border: 1px solid rgba(31, 111, 139, 0.18);
  border-radius: var(--school-radius-sm);
  padding: 14px 16px;
  background: var(--school-surface);
}

.comments-panel--news .comments-form {
  min-width: 0;
}

.comments-panel--news input,
.comments-panel--news textarea {
  max-width: 100%;
}

.school-search-page .class-list-area.search-results-section {
  padding-top: clamp(32px, 5vw, 58px);
}

.school-search-page .search-result-list.class-list.search-result-list--school {
  gap: clamp(14px, 2vw, 18px);
}

.school-search-page .search-result-item.class-list-item.single-class {
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.school-search-page .search-result-item a {
  display: grid;
  grid-template-columns: minmax(92px, 132px) minmax(0, 1fr) auto;
  gap: clamp(14px, 2.4vw, 22px);
  align-items: center;
  max-width: 100%;
  min-height: 0;
  padding: clamp(16px, 2.5vw, 24px);
  border-color: var(--school-line);
  background: var(--school-surface);
  color: inherit;
  text-decoration: none;
  box-shadow: 0 1px 0 rgba(23, 32, 51, 0.04);
}

.school-search-page .search-result-item a:hover,
.school-search-page .search-result-item a:focus-visible {
  border-color: rgba(31, 111, 139, 0.45);
  box-shadow: var(--school-shadow);
}

.search-result-card__type.document-list__type {
  width: fit-content;
  padding: 6px 10px;
  border-radius: 999px;
  background: #e6f2f6;
  color: var(--school-accent-strong);
  font-size: 0.82rem;
  font-weight: 900;
  line-height: 1.2;
}

.search-result-copy {
  display: grid;
  min-width: 0;
  gap: 8px;
}

.search-result-copy strong {
  color: var(--school-ink);
  font-size: clamp(1.125rem, 1.8vw, 1.45rem);
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.search-result-summary-text,
.search-result-meta {
  min-width: 0;
  color: var(--school-muted);
  font-size: 0.92rem;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.search-result-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
}

.search-result-item .download-action {
  justify-self: end;
  width: fit-content;
  padding: 9px 13px;
  border: 1px solid rgba(31, 111, 139, 0.25);
  border-radius: 999px;
  color: var(--school-accent-strong);
  font-size: 0.95rem;
  font-weight: 900;
  line-height: 1.1;
}

.school-search-page .search-pagination.pagination-content {
  margin-top: clamp(22px, 3vw, 34px);
}

.school-search-page .search-pagination .pagination-button {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  align-items: center;
  justify-content: center;
}

.school-search-page .search-pagination .pagination {
  margin-top: 0;
}

.school-search-page .search-pagination .pagination__item,
.school-search-page .search-pagination .pagination__current {
  border-color: var(--school-line);
  background: var(--school-surface);
  color: var(--school-accent-strong);
  font-weight: 900;
}

.streamfield-hero.slider-area,
.streamfield-card-grid.class-area,
.streamfield-process.service-area,
.streamfield-gallery.gallery-area,
.streamfield-media-card-list.blog-area,
.streamfield-contact-info.contact-area,
.streamfield-cta-section.service-area {
  margin-block: clamp(28px, 5vw, 56px);
}

.streamfield-card-grid .single-class,
.streamfield-business-card.single-class,
.streamfield-media-card-list .single-blog-item {
  min-width: 0;
}

.streamfield-process .single-service-item,
.streamfield-contact-info.contact-address-info {
  border: 1px solid var(--school-line);
  border-radius: var(--school-radius);
  padding: clamp(18px, 2.5vw, 28px);
  background: var(--school-surface);
}

.streamfield-gallery .single-items {
  min-width: 0;
}

.gallery-fullwidth,
.gallery-full-width {
  padding: clamp(50px, 7vw, 88px) 0;
}

.gallery-wrapper {
  margin-top: 28px;
}

.school-media-gallery-page .media-gallery-head {
  padding: clamp(22px, 4vw, 34px);
  border: 1px solid var(--school-line);
  border-radius: var(--school-radius);
  background: var(--school-surface);
  box-shadow: none;
}

.school-media-gallery-page .media-gallery-head h1 {
  color: var(--school-ink);
  font-size: clamp(2rem, 4vw, 3.25rem);
}

.school-media-gallery-page .media-gallery-head p:not(.eyebrow) {
  color: var(--school-muted);
  font-size: 1rem;
  line-height: 1.7;
}

.school-media-gallery-page .media-gallery-section.gallery-area {
  margin-top: clamp(28px, 5vw, 48px);
  padding: clamp(28px, 5vw, 46px);
  border: 1px solid var(--school-line);
  border-radius: var(--school-radius);
  background: var(--school-surface);
}

.media-gallery-section-head {
  margin-bottom: 20px;
}

.filter-menu.media-gallery-filter ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 0;
  margin: 0 0 24px;
  list-style: none;
}

.filter-menu.media-gallery-filter .filter {
  min-height: 40px;
  padding: 9px 16px;
  border: 1px solid var(--school-line);
  border-radius: 999px;
  background: var(--school-soft);
  color: var(--school-ink);
  font-size: 0.92rem;
  font-weight: 800;
  line-height: 1.2;
  cursor: pointer;
}

.filter-menu.media-gallery-filter .filter.is-active {
  border-color: var(--school-accent);
  background: var(--school-accent);
  color: #ffffff;
}

.filter-items.media-gallery-filter-items .row,
.media-gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  gap: 24px;
  align-items: stretch;
}

.media-gallery-filter-empty {
  margin: 18px 0 0;
}

.media-gallery-card[hidden] {
  display: none;
}

.media-gallery-card.single-items {
  min-width: 0;
  margin: 0;
  border: 1px solid var(--school-line);
  border-radius: var(--school-radius);
  background: var(--school-surface);
  overflow: hidden;
}

.media-gallery-overlay.overlay-effect {
  position: relative;
  overflow: hidden;
  background: var(--school-soft);
}

.media-gallery-card__image.gallery-image {
  display: grid;
  aspect-ratio: 16 / 10;
  place-items: center;
  background: var(--school-soft);
}

.media-gallery-card__image.gallery-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.media-gallery-card__image .gallery-card__fallback {
  display: grid;
  width: 100%;
  height: 100%;
  min-height: 220px;
  place-items: center;
  border-radius: 0;
  background:
    linear-gradient(135deg, rgba(31, 111, 139, 0.16), rgba(184, 68, 53, 0.12)),
    var(--school-soft);
  color: var(--school-accent-strong);
  font-size: clamp(1.5rem, 5vw, 3rem);
  font-weight: 900;
}

.media-gallery-card__overlay.gallery-hover-effect {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 12px;
  padding: 18px;
  background: linear-gradient(180deg, rgba(23, 32, 51, 0.08), rgba(23, 32, 51, 0.78));
  opacity: 0;
  transition: opacity 160ms ease;
}

.media-gallery-card.overlay-hover:hover .media-gallery-card__overlay,
.media-gallery-card.overlay-hover:focus-within .media-gallery-card__overlay {
  opacity: 1;
}

.media-gallery-card__link.gallery-icon {
  align-self: flex-start;
  padding: 8px 12px;
  border-radius: 999px;
  background: #ffffff;
  color: var(--school-accent-strong);
  font-size: 0.88rem;
  font-weight: 900;
  line-height: 1.2;
  text-decoration: none;
}

.media-gallery-card__link.gallery-icon:hover,
.media-gallery-card__link.gallery-icon:focus-visible {
  color: var(--school-cta-strong);
}

.media-gallery-card .gallery-text {
  position: static;
  color: #ffffff;
  font-size: 1.05rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.media-gallery-card__caption {
  display: grid;
  gap: 8px;
  padding: 18px;
}

.media-gallery-card__caption strong {
  color: var(--school-ink);
  font-size: clamp(1.08rem, 1.8vw, 1.35rem);
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.media-gallery-card__caption time,
.media-gallery-card__caption p {
  margin: 0;
  color: var(--school-muted);
  font-size: 0.94rem;
  line-height: 1.6;
  overflow-wrap: anywhere;
}

.media-gallery-card__credit {
  font-size: 0.88rem;
}

.gallery-card {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: var(--school-radius);
  background: var(--school-surface);
}

.gallery-card::after {
  position: absolute;
  inset: auto 0 0;
  height: 52%;
  content: "";
  background: linear-gradient(0deg, rgba(23, 32, 51, 0.74), transparent);
}

.gallery-text {
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 14px;
  z-index: 1;
  color: #ffffff;
  font-weight: 900;
}

.view-gallery {
  margin-top: 28px;
  text-align: center;
}

.teachers-large-carousel-area {
  padding: clamp(50px, 7vw, 88px) 0 0;
  background: var(--school-surface);
}

.teacher-large-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  padding: clamp(18px, 3vw, 28px);
}

.teacher-large-item span {
  display: block;
  margin-bottom: 10px;
  color: var(--school-accent-strong);
  font-weight: 800;
}

.service-area__grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
}

.single-service-item {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 20px;
  color: inherit;
  text-decoration: none;
}

.single-service-item:hover,
.single-service-item:focus-visible {
  border-color: rgba(31, 111, 139, 0.42);
  box-shadow: var(--school-shadow);
}

.single-service-icon {
  flex: 0 0 52px;
  margin-bottom: 0;
}

.single-service-text {
  display: grid;
  gap: 6px;
  color: var(--school-muted);
  line-height: 1.6;
}

.single-service-text strong {
  color: var(--school-ink);
  font-size: 1.125rem;
}

.school-join-index-page .join-index-layout.container {
  width: var(--school-container);
  max-width: 1180px;
}

.school-join-index-page .join-overview {
  grid-template-columns: minmax(0, 1fr) 660px;
}

.school-join-index-page .join-overview__note {
  min-width: 0;
}

.school-join-index-page .join-application-section.service-area {
  padding: clamp(24px, 4vw, 42px);
  border: 1px solid var(--school-line);
  border-radius: var(--school-radius);
  background: var(--school-surface);
}

.school-join-index-page .join-service-grid.service-area__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(20px, 2.8vw, 32px);
}

.school-join-index-page .join-application-card {
  min-width: 0;
}

.school-join-index-page .join-service-card.single-service-item {
  min-height: 320px;
  flex-direction: row;
  gap: clamp(24px, 2.8vw, 36px);
  padding: clamp(32px, 3.8vw, 46px);
  border-color: var(--school-line);
  overflow-wrap: anywhere;
}

.school-join-index-page .join-service-card__icon.single-service-icon {
  flex-basis: 92px;
  width: 92px;
  height: 92px;
  text-align: center;
  font-size: 1.8rem;
  line-height: 1.2;
}

.school-join-index-page .join-service-card__text.single-service-text {
  gap: 14px;
  font-size: 1.85rem;
  line-height: 1.62;
}

.school-join-index-page .join-service-card__text.single-service-text strong {
  font-size: 2.8rem;
  line-height: 1.35;
}

.school-join-index-page .join-service-card__step,
.school-join-index-page .join-service-card__purpose {
  color: var(--school-accent-strong);
  font-size: 1.6rem;
  font-weight: 900;
}

.school-join-index-page .join-service-card__link.read-more {
  margin-top: auto;
  padding-top: 14px;
  font-size: 1.6rem;
}

.school-membership-page .membership-detail-area.class-details-area {
  display: block;
  padding: clamp(24px, 4vw, 42px);
  border: 1px solid var(--school-line);
  border-radius: var(--school-radius);
  background: var(--school-surface);
}

.school-membership-page .membership-overview {
  margin-bottom: clamp(18px, 3vw, 28px);
}

.school-membership-page .membership-detail-tab.class-details-tab {
  margin-top: 0;
}

.school-membership-page .membership-intro {
  min-width: 0;
  padding: clamp(18px, 2.6vw, 28px);
  border: 1px solid rgba(31, 111, 139, 0.14);
  border-radius: 18px;
  background: linear-gradient(135deg, #f4f9fb 0%, #fffdf7 100%);
}

.school-membership-page .membership-intro p {
  color: var(--school-ink);
  font-size: 1.85rem;
  line-height: 1.75;
}

.school-membership-page .membership-summary-panel h2 {
  margin: 0 0 16px;
  color: var(--school-ink);
  font-size: 1.25rem;
}

.school-membership-page .membership-summary-list {
  margin: 0;
}

.school-membership-page .membership-benefit-section.class-area,
.school-membership-page .membership-process-section.service-area,
.school-membership-page .membership-cta-panel.advertise-area {
  margin-top: clamp(24px, 4vw, 40px);
  padding: clamp(24px, 4vw, 42px);
  border: 1px solid var(--school-line);
  border-radius: var(--school-radius);
  background: var(--school-surface);
}

.school-membership-page .membership-benefit-grid.class-area__grid,
.school-membership-page .membership-process-list.service-area__grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
  gap: clamp(16px, 2.5vw, 24px);
}

.school-membership-page .membership-benefit-card.single-class {
  min-width: 0;
  border: 1px solid var(--school-line);
  border-radius: var(--school-radius);
  background: #ffffff;
}

.school-membership-page .membership-benefit-card__body.single-class-text {
  padding: clamp(26px, 3vw, 34px);
}

.school-membership-page .membership-benefit-card__type.class-date {
  position: static;
  width: fit-content;
  margin-bottom: 12px;
}

.school-membership-page .membership-benefit-card h2 {
  margin: 0 0 10px;
  color: var(--school-ink);
  font-size: 2.3rem;
  line-height: 1.35;
}

.school-membership-page .membership-benefit-card__body > p:not(.membership-benefit-card__benefit) {
  margin-top: 16px;
  padding: clamp(16px, 2vw, 22px);
  border: 1px solid rgba(31, 111, 139, 0.12);
  border-radius: 16px;
  background: #f5fafc;
  color: var(--school-ink);
  font-size: 1.85rem;
  line-height: 1.72;
}

.school-membership-page .membership-benefit-card__benefit {
  margin-top: 16px;
  padding: clamp(16px, 2vw, 22px);
  border: 1px solid rgba(217, 184, 106, 0.34);
  border-radius: 16px;
  background: #fff3cf;
  color: #1f3447;
  font-size: 1.85rem;
  line-height: 1.68;
  font-weight: 850;
}

.school-membership-page .membership-process-step.single-service-item {
  min-height: 260px;
  flex-direction: row;
  gap: clamp(18px, 2vw, 26px);
  padding: clamp(24px, 3vw, 34px);
  list-style: none;
  overflow-wrap: anywhere;
}

.school-membership-page .membership-process-step__icon.single-service-icon {
  display: inline-grid;
  flex-basis: 64px;
  width: 64px;
  height: 64px;
  padding: 0;
  place-items: center;
  text-align: center;
  font-size: 1.8rem;
}

@media (max-width: 1080px) {
  .school-join-index-page .join-overview {
    grid-template-columns: 1fr;
  }
}

.school-membership-page .membership-process-step__body.single-service-text {
  display: grid;
  min-height: 0;
  gap: 12px;
  padding: 0;
  border-radius: 0;
  background: transparent;
}

.school-membership-page .membership-process-step__body strong {
  color: var(--school-ink);
  font-size: 2.2rem;
  line-height: 1.35;
}

.school-membership-page .membership-process-step__body > span:first-child {
  display: inline-flex;
  width: fit-content;
  min-height: 32px;
  align-items: center;
  padding: 0 12px;
  border-radius: 999px;
  background: #e6f2f6;
  color: var(--school-accent-strong);
  font-size: 1.35rem;
  font-weight: 900;
}

.school-membership-page .membership-process-step__body > span:last-child {
  display: block;
  padding: clamp(16px, 2vw, 22px);
  border: 1px solid rgba(31, 111, 139, 0.12);
  border-radius: 16px;
  background: #f5fafc;
  color: var(--school-ink);
  font-size: 1.85rem;
  line-height: 1.72;
}

.school-membership-page .membership-cta-panel.advertise-area {
  text-align: left;
}

.school-membership-page .membership-cta-panel p:not(.eyebrow) {
  margin-top: 14px;
  padding: clamp(16px, 2vw, 22px);
  border: 1px solid rgba(31, 111, 139, 0.12);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.72);
  color: var(--school-ink);
  font-size: 1.85rem;
  line-height: 1.72;
}

.school-membership-page .membership-cta-panel .cta-band__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.school-membership-page .membership-cta-link.button-default {
  margin-top: 0;
}

.fun-factor-area {
  padding: clamp(42px, 6vw, 72px) 0;
  background: var(--school-ink);
  color: #ffffff;
}

.single-fun-factor {
  border-color: rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
}

.single-fun-factor strong {
  display: block;
  margin-bottom: 8px;
  font-size: 1.2rem;
}

.single-fun-factor span:last-child {
  color: rgba(255, 255, 255, 0.78);
}

.single-fun-factor .fun-factor-icon {
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
}

.single-blog-item {
  overflow: hidden;
}

.single-blog-image {
  aspect-ratio: 16 / 10;
  background: var(--school-soft);
}

.single-blog-image a {
  display: block;
  height: 100%;
}

.single-blog-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.blog-date {
  display: inline-block;
  margin-bottom: 12px;
  color: var(--school-cta);
  font-size: 0.875rem;
  font-weight: 900;
  text-transform: uppercase;
}

.read-more {
  display: inline-flex;
  margin-top: 18px;
  font-weight: 900;
}

.resources-highlight {
  background: var(--school-soft);
}

/* School About */
.breadcrumb-banner-area.section-hero {
  background:
    linear-gradient(135deg, rgba(18, 74, 97, 0.94), rgba(23, 32, 51, 0.84)),
    var(--school-soft);
  color: #ffffff;
}

.breadcrumb-banner-area .breadcrumb-text {
  position: relative;
  z-index: 1;
}

.breadcrumb-banner-area h1,
.breadcrumb-banner-area p {
  color: inherit;
}

.breadcrumb-banner-area .school-eyebrow {
  color: rgba(255, 255, 255, 0.82);
}

.about-area__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.95fr);
  gap: clamp(24px, 5vw, 64px);
  align-items: center;
}

.school-about-page .about-index-layout.container {
  width: var(--school-container);
  max-width: var(--school-container);
}

.school-about-page .about-intro {
  display: block;
}

.school-about-page .about-intro .about-area__grid {
  grid-template-columns: minmax(0, 1.05fr) minmax(420px, 0.95fr);
  gap: clamp(36px, 4vw, 72px);
  max-width: 1120px;
  margin-right: auto;
  margin-left: auto;
}

.school-about-page .about-intro__visual {
  width: 100%;
  min-height: 380px;
}

.about-text-container h2 {
  margin: 0 0 14px;
  color: var(--school-ink);
  font-size: clamp(1.75rem, 3vw, 2.6rem);
  line-height: 1.2;
}

.about-text-container > p,
.about-text-container .rich-content {
  color: var(--school-muted);
  line-height: 1.8;
}

.school-about-page .cms-fallback-note {
  color: #7a8392;
}

.template-standard-page.school-about-page .about-detail-layout {
  grid-template-columns: minmax(0, 1fr);
}

.template-history-page.school-about-page .history-page-layout.container {
  width: var(--school-container);
  max-width: var(--school-container);
}

.template-history-page.school-about-page .history-page-layout {
  grid-template-columns: minmax(0, 1fr);
}

.template-history-page.school-about-page .about-detail-layout__main {
  width: min(100%, 1080px);
  margin-right: auto;
  margin-left: auto;
}

.about-us {
  display: grid;
  gap: 10px;
  margin-top: 22px;
}

.about-us span {
  display: block;
  padding: 13px 16px;
  border: 1px solid var(--school-line);
  border-radius: var(--school-radius);
  background: var(--school-soft);
  color: var(--school-accent-strong);
  font-weight: 800;
}

.skill-image {
  min-height: 320px;
  overflow: hidden;
  border-radius: var(--school-radius);
  background:
    linear-gradient(135deg, rgba(31, 111, 139, 0.16), rgba(184, 68, 53, 0.12)),
    var(--school-soft);
}

.skill-image img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 320px;
  object-fit: cover;
}

.about-intro__visual:not(:has(img)) {
  position: relative;
  display: grid;
  place-items: stretch;
  padding: 34px;
  isolation: isolate;
  background:
    radial-gradient(circle at 14% 48%, rgba(255, 255, 255, 0.88) 0 46px, transparent 47px),
    radial-gradient(circle at 86% 48%, rgba(255, 255, 255, 0.88) 0 46px, transparent 47px),
    linear-gradient(135deg, #e7f2f6 0%, #f4f7f2 46%, #f7eded 100%);
}

.about-intro__visual:not(:has(img))::before {
  position: absolute;
  z-index: 0;
  top: 50%;
  right: 70px;
  left: 70px;
  height: 28px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(31, 111, 139, 0.28), rgba(217, 184, 106, 0.42), rgba(184, 68, 53, 0.26));
  box-shadow: 0 0 0 14px rgba(255, 255, 255, 0.36);
  content: "";
  transform: translateY(-50%);
}

.about-exchange-illustration {
  position: relative;
  z-index: 1;
  display: grid;
  min-height: 100%;
  grid-template-rows: auto 1fr auto;
  gap: 24px;
}

.school-about-page .about-exchange-illustration span {
  position: relative;
  inset: auto;
  min-width: 0;
  min-height: 0;
  padding: 0;
}

.school-about-page .about-exchange-illustration__countries {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 8px;
}

.school-about-page .about-exchange-illustration__countries span {
  display: grid;
  width: 68px;
  height: 68px;
  place-items: center;
  border: 1px solid rgba(31, 111, 139, 0.16);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.9);
  color: var(--school-accent-strong);
  font-size: 2rem;
  font-weight: 900;
  line-height: 1;
  box-shadow: 0 16px 34px rgba(23, 50, 79, 0.1);
}

.school-about-page .about-exchange-illustration__countries span:last-child {
  border-color: rgba(184, 68, 53, 0.18);
  color: #9f392d;
}

.school-about-page .about-exchange-illustration__flow {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  align-items: center;
  margin: 0 34px;
}

.school-about-page .about-exchange-illustration__flow span {
  z-index: 1;
  display: grid;
  min-height: 80px;
  place-items: center;
  padding: 0 18px;
  border: 1px solid rgba(31, 111, 139, 0.14);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.86);
  color: var(--school-accent-strong);
  font-size: 1.6rem;
  font-weight: 900;
  line-height: 1.2;
  text-align: center;
  box-shadow: 0 16px 34px rgba(23, 50, 79, 0.11);
}

.school-about-page .about-exchange-illustration__flow span:nth-child(2) {
  background: #e2f5ef;
  transform: translateY(32px);
}

.school-about-page .about-exchange-illustration__flow span:nth-child(3) {
  background: #f8d8d8;
}

.school-about-page .about-exchange-illustration__result {
  justify-self: center;
  min-width: min(100%, 286px);
  padding: 14px 24px;
  border: 1px solid rgba(217, 184, 106, 0.32);
  border-radius: 999px;
  background: #fff7df;
  color: #22384f;
  font-size: 1.55rem;
  font-weight: 900;
  line-height: 1.25;
  text-align: center;
  box-shadow: 0 18px 36px rgba(23, 50, 79, 0.1);
}

.school-about-page .about-pathways {
  display: grid;
  gap: 30px;
}

.school-about-page .about-card-grid.class-area__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 30px;
  max-width: 1080px;
  margin-right: auto;
  margin-left: auto;
}

.school-about-page .about-card.single-class {
  min-height: 300px;
  border: 1px solid rgba(31, 111, 139, 0.16);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 18px 44px rgba(23, 50, 79, 0.06);
}

.school-about-page .about-card__link {
  display: block;
  min-height: inherit;
  color: inherit;
  text-decoration: none;
}

.school-about-page .about-card__body.single-class-text {
  display: grid;
  min-height: inherit;
  align-content: space-between;
  gap: 26px;
  padding: 36px;
}

.school-about-page .about-card__step.post-card__category {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  padding: 8px 14px;
  border: 1px solid rgba(31, 111, 139, 0.12);
  border-radius: 999px;
  background: #e6f2f6;
  color: var(--school-accent-strong);
  font-size: 1.25rem;
  font-weight: 900;
  line-height: 1;
}

.school-about-page .about-card .class-des h3 {
  margin-top: 18px;
  margin-bottom: 14px;
  color: var(--school-ink);
  font-size: 2.7rem;
  line-height: 1.32;
}

.school-about-page .about-card .class-des p {
  color: var(--school-muted);
  font-size: 2rem;
  line-height: 1.72;
}

.school-about-page .about-card__action {
  display: inline-flex;
  width: fit-content;
  min-height: 52px;
  align-items: center;
  gap: 12px;
  padding: 0 24px;
  border-radius: 999px;
  background: var(--school-accent);
  color: #ffffff;
  font-size: 1.6rem;
  font-weight: 900;
  line-height: 1;
  box-shadow: 0 14px 28px rgba(31, 111, 139, 0.18);
}

.school-about-page .about-card__action span {
  font-size: 1.8rem;
  line-height: 1;
}

.school-about-page .about-link-strip {
  display: flex;
  max-width: 1080px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-right: auto;
  margin-left: auto;
  padding: 22px 26px;
  border: 1px solid rgba(31, 111, 139, 0.14);
  border-radius: 18px;
  background: linear-gradient(135deg, #f5fafc 0%, #fffdf6 100%);
}

.school-about-page .about-link-strip strong {
  flex: 0 0 auto;
  color: var(--school-ink);
  font-size: 1.8rem;
  line-height: 1.35;
}

.school-about-page .about-link-strip__links {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

.school-about-page .about-link-strip__links a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 10px;
  padding: 0 18px;
  border: 1px solid rgba(31, 111, 139, 0.14);
  border-radius: 999px;
  background: #ffffff;
  color: var(--school-accent-strong);
  font-size: 1.45rem;
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
}

.teacher-fullwidth-area,
.teachers-column-carousel-area,
.history-timeline-area {
  background: var(--school-surface);
}

.teacher-fullwidth-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  gap: 20px;
}

.single-teachers-column {
  min-width: 0;
  padding: clamp(18px, 3vw, 26px);
  border: 1px solid var(--school-line);
  border-radius: var(--school-radius);
  background: var(--school-surface);
  text-align: center;
}

.teachers-image-column,
.about-role-avatar {
  display: grid;
  width: 76px;
  height: 76px;
  margin: 0 auto 16px;
  place-items: center;
  border-radius: 50%;
  background: #e6f2f6;
  color: var(--school-accent-strong);
  font-size: 1.6rem;
  font-weight: 900;
}

.teacher-column-carousel-text h2,
.teacher-column-carousel-text h3 {
  margin: 0 0 8px;
  color: var(--school-ink);
  font-size: 1.25rem;
  line-height: 1.35;
}

.teacher-column-carousel-text span {
  display: block;
  margin-bottom: 10px;
  color: var(--school-accent-strong);
  font-weight: 800;
}

.teacher-column-carousel-text p {
  margin: 0;
  color: var(--school-muted);
  line-height: 1.7;
}

.template-organization-page.school-about-page .organization-page-layout.container {
  width: var(--school-container);
  max-width: var(--school-container);
}

.template-organization-page.school-about-page .organization-page-layout {
  grid-template-columns: minmax(0, 1fr);
}

.template-organization-page.school-about-page .organization-page-layout .content-article {
  width: min(100%, 1080px);
  margin-right: auto;
  margin-left: auto;
}

.template-organization-page.school-about-page .organization-role-grid.teacher-fullwidth-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 30px;
}

.template-organization-page.school-about-page .organization-role-grid .single-teachers-column {
  display: grid;
  min-height: 300px;
  align-content: center;
  padding: 38px;
  border-color: rgba(31, 111, 139, 0.16);
  border-radius: 18px;
  box-shadow: 0 18px 44px rgba(23, 50, 79, 0.06);
}

.template-organization-page.school-about-page .organization-role-grid .about-role-avatar {
  width: auto;
  min-width: 154px;
  height: 64px;
  padding: 0 28px;
  margin-bottom: 24px;
  border-radius: 999px;
  background: linear-gradient(135deg, #e6f2f6 0%, #f5f8ee 100%);
  font-size: 1.15rem;
  letter-spacing: 0;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
  box-shadow: inset 0 0 0 1px rgba(31, 111, 139, 0.08);
}

.template-organization-page.school-about-page .organization-role-grid .teacher-column-carousel-text h2 {
  margin-bottom: 12px;
  font-size: 2.6rem;
  line-height: 1.32;
}

.template-organization-page.school-about-page .organization-role-grid .teacher-column-carousel-text span {
  margin-bottom: 18px;
  font-size: 1.8rem;
  line-height: 1.45;
}

.template-organization-page.school-about-page .organization-role-grid .teacher-column-carousel-text p {
  font-size: 1.95rem;
  line-height: 1.72;
}

.school-about-page .teachers-column-carousel-area .teacher-fullwidth-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 30px;
  max-width: 1080px;
  margin-right: auto;
  margin-left: auto;
}

.school-about-page .teachers-column-carousel-area .single-teachers-column {
  display: grid;
  min-height: 300px;
  align-content: center;
  padding: 38px;
  border-color: rgba(31, 111, 139, 0.16);
  border-radius: 18px;
  box-shadow: 0 18px 44px rgba(23, 50, 79, 0.06);
}

.school-about-page .teachers-column-carousel-area .about-role-avatar {
  width: auto;
  min-width: 154px;
  height: 64px;
  padding: 0 28px;
  margin-bottom: 24px;
  border-radius: 999px;
  background: linear-gradient(135deg, #e6f2f6 0%, #f5f8ee 100%);
  font-size: 1.25rem;
  letter-spacing: 0;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
  box-shadow: inset 0 0 0 1px rgba(31, 111, 139, 0.08);
}

.school-about-page .teachers-column-carousel-area .teacher-column-carousel-text h3 {
  margin-bottom: 12px;
  font-size: 2.6rem;
  line-height: 1.32;
}

.school-about-page .teachers-column-carousel-area .teacher-column-carousel-text span {
  margin-bottom: 18px;
  font-size: 1.8rem;
  line-height: 1.45;
}

.school-about-page .teachers-column-carousel-area .teacher-column-carousel-text p {
  font-size: 1.95rem;
  line-height: 1.72;
}

.history-timeline {
  display: grid;
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.history-timeline__item {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  padding: clamp(18px, 3vw, 26px);
  border: 1px solid var(--school-line);
  border-radius: var(--school-radius);
  background: var(--school-surface);
}

.history-timeline__item time {
  display: grid;
  width: 56px;
  height: 56px;
  place-items: center;
  border-radius: 50%;
  background: var(--school-accent);
  color: #ffffff;
  font-weight: 900;
}

.history-timeline__item h2 {
  margin: 0 0 8px;
  color: var(--school-ink);
  font-size: 1.25rem;
}

.history-timeline__item p {
  margin: 0;
  color: var(--school-muted);
  line-height: 1.75;
}

.contact-info-card {
  border-radius: var(--school-radius);
}

.contact-map-panel .section-title-wrapper {
  text-align: left;
}

.contact-map-panel .section-title {
  margin-inline: 0;
}

.location-map-fallback {
  display: grid;
  min-height: 280px;
  place-items: center;
  border: 1px dashed var(--school-line);
  border-radius: var(--school-radius);
  background: var(--school-soft);
  color: var(--school-accent-strong);
  font-weight: 900;
}

/* School Footer */
.footer-area,
.school-footer {
  background: var(--school-ink);
  color: #ffffff;
}

.footer-info-container {
  display: grid;
  grid-template-columns: minmax(220px, 0.9fr) minmax(0, 1.8fr);
  gap: clamp(24px, 5vw, 64px);
  padding-block: clamp(34px, 5vw, 56px);
}

.footer-widget-container {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.footer-widget {
  display: grid;
  align-content: start;
  gap: 8px;
}

.footer-widget strong {
  color: #ffffff;
}

.school-footer a {
  color: inherit;
}

/* School Responsive */
@media (max-width: 900px) {
  .school-hero__inner,
  .school-detail__layout,
  .footer-info-container,
  .about-area__grid,
  .slider-area__inner,
  .resource-library-overview.class-list-area,
  .forum-event-card.class-list-item {
    grid-template-columns: 1fr;
  }

  .school-forum-page .forum-archive-item a {
    grid-template-columns: minmax(88px, 132px) minmax(0, 1fr);
  }

  .school-resources-page .resource-document-item a,
  .school-search-page .search-result-item a,
  .resource-related-item a {
    grid-template-columns: minmax(88px, 128px) minmax(0, 1fr);
  }

  .school-news-index-page .news-card.single-blog-item {
    grid-template-columns: minmax(150px, 220px) minmax(0, 1fr);
  }

  .school-newsletter-page .newsletter-feature-card.single-blog-item {
    grid-template-columns: minmax(150px, 220px) minmax(0, 1fr);
  }

  .forum-archive-item .download-action,
  .resource-document-item .download-action,
  .search-result-item .download-action,
  .resource-related-item .download-action {
    justify-self: start;
    grid-column: 2;
  }

  .school-home-page .slider-area {
    min-height: auto;
  }

  .slider-area__summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .primary-nav__list,
  .footer-widget-container {
    flex-wrap: wrap;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .school-join-index-page .join-service-grid.service-area__grid {
    grid-template-columns: 1fr;
  }

  .school-about-page .about-intro .about-area__grid {
    grid-template-columns: 1fr;
    max-width: 680px;
  }

  .school-about-page .about-card-grid.class-area__grid {
    grid-template-columns: 1fr;
    max-width: 680px;
  }

  .school-about-page .teachers-column-carousel-area .teacher-fullwidth-grid {
    grid-template-columns: 1fr;
    max-width: 680px;
  }

  .template-organization-page.school-about-page .organization-role-grid.teacher-fullwidth-grid {
    grid-template-columns: 1fr;
  }

  .school-about-page .about-link-strip {
    max-width: 680px;
    align-items: flex-start;
    flex-direction: column;
  }

  .school-about-page .about-link-strip__links {
    justify-content: flex-start;
  }

  .school-home-page .home-service-links .service-area__grid {
    grid-template-columns: 1fr;
    max-width: 680px;
  }

  .school-home-page .home-intro .activity-area__grid {
    grid-template-columns: 1fr;
    max-width: 680px;
  }

  .school-home-page .quick-services .class-area__grid {
    grid-template-columns: 1fr;
  }

  .school-home-page .quick-services .quick-card.single-class {
    min-height: 0;
  }
}

@media (max-width: 520px) {
  :root {
    --school-container: min(100vw - 24px, 1180px);
  }

  .school-section {
    padding-block: 40px;
  }

  .school-card__body,
  .school-form-panel {
    padding: 18px;
  }

  .slider-area__inner {
    padding-block: 58px 44px;
  }

  .slider-area__summary,
  .teacher-large-item,
  .single-service-item,
  .forum-event-card.class-list-item,
  .school-news-index-page .news-card.single-blog-item,
  .school-newsletter-page .newsletter-feature-card.single-blog-item,
  .school-forum-page .forum-archive-item a,
  .school-resources-page .resource-document-item a,
  .school-search-page .search-result-item a,
  .resource-related-item a {
    grid-template-columns: 1fr;
  }

  .forum-archive-section.blog-area,
  .resource-academic-highlight.blog-area,
  .resource-library-overview.class-list-area {
    padding: 20px;
  }

  .resource-filter-panel .filter-field--keyword {
    grid-column: auto;
  }

  .school-about-page .about-intro__visual {
    min-height: 420px;
  }

  .school-about-page .about-card__body.single-class-text {
    padding: 28px;
  }

  .school-about-page .about-card .class-des h3 {
    font-size: 2.25rem;
  }

  .school-about-page .about-card .class-des p {
    font-size: 1.75rem;
  }

  .school-about-page .about-card__action {
    min-height: 48px;
    padding: 0 20px;
    font-size: 1.45rem;
  }

  .school-about-page .teachers-column-carousel-area .single-teachers-column {
    min-height: 0;
    padding: 30px;
  }

  .template-organization-page.school-about-page .organization-role-grid .single-teachers-column {
    min-height: 0;
    padding: 30px;
  }

  .school-about-page .teachers-column-carousel-area .about-role-avatar {
    width: auto;
    min-width: 136px;
    height: 58px;
    padding: 0 22px;
    margin-bottom: 20px;
    font-size: 1.1rem;
  }

  .template-organization-page.school-about-page .organization-role-grid .about-role-avatar {
    min-width: 136px;
    height: 58px;
    padding: 0 22px;
    margin-bottom: 20px;
    font-size: 1rem;
  }

  .school-about-page .teachers-column-carousel-area .teacher-column-carousel-text h3 {
    font-size: 2.25rem;
  }

  .template-organization-page.school-about-page .organization-role-grid .teacher-column-carousel-text h2 {
    font-size: 2.25rem;
  }

  .school-about-page .teachers-column-carousel-area .teacher-column-carousel-text span {
    font-size: 1.6rem;
  }

  .template-organization-page.school-about-page .organization-role-grid .teacher-column-carousel-text span {
    font-size: 1.6rem;
  }

  .school-about-page .teachers-column-carousel-area .teacher-column-carousel-text p {
    font-size: 1.7rem;
  }

  .template-organization-page.school-about-page .organization-role-grid .teacher-column-carousel-text p {
    font-size: 1.7rem;
  }

  .school-about-page .about-link-strip {
    padding: 20px;
  }

  .school-about-page .about-link-strip__links {
    width: 100%;
  }

  .school-about-page .about-link-strip__links a {
    width: 100%;
    justify-content: space-between;
  }

  .school-about-page .about-intro__visual:not(:has(img)) {
    padding: 24px;
  }

  .school-about-page .about-intro__visual:not(:has(img))::before {
    top: 92px;
    bottom: 76px;
    left: 50%;
    width: 20px;
    height: auto;
    transform: translateX(-50%);
    background: linear-gradient(180deg, rgba(31, 111, 139, 0.25), rgba(217, 184, 106, 0.42), rgba(184, 68, 53, 0.24));
  }

  .school-about-page .about-exchange-illustration {
    gap: 18px;
  }

  .school-about-page .about-exchange-illustration__countries span {
    width: 54px;
    height: 54px;
    font-size: 1.6rem;
  }

  .school-about-page .about-exchange-illustration__flow {
    grid-template-columns: 1fr;
    gap: 12px;
    margin: 0 54px;
  }

  .school-about-page .about-exchange-illustration__flow span {
    min-height: 54px;
    font-size: 1.35rem;
  }

  .school-about-page .about-exchange-illustration__flow span:nth-child(2) {
    transform: none;
  }

  .school-about-page .about-exchange-illustration__result {
    min-width: min(100%, 250px);
    padding: 12px 18px;
    font-size: 1.35rem;
  }

  .forum-archive-item .download-action,
  .resource-document-item .download-action,
  .search-result-item .download-action,
  .resource-related-item .download-action {
    grid-column: auto;
  }

  .slider-area__summary {
    display: none;
  }

  .teacher-large-item,
  .single-service-item {
    display: grid;
  }

  .school-join-index-page .join-service-card.single-service-item {
    grid-template-columns: 1fr;
  }

  .school-home-page .home-service-links .single-service-item {
    min-height: 0;
    gap: 20px;
    padding: 26px;
  }

  .school-home-page .home-service-links .single-service-icon {
    min-width: 154px;
    height: 54px;
  }

  .school-home-page .home-service-links .single-service-text strong {
    font-size: 2rem;
  }

  .school-home-page .home-service-links .single-service-text > span {
    font-size: 1.8rem;
  }

  .school-home-page .home-intro .single-activity {
    min-height: 0;
    padding: 28px;
  }

  .school-home-page .home-intro .single-activity-icon {
    min-width: 142px;
    height: 54px;
    margin-bottom: 20px;
    font-size: 1.6rem;
  }

  .school-home-page .home-intro .single-activity h3 {
    font-size: 2rem;
  }

  .school-home-page .home-intro .single-activity p {
    font-size: 1.8rem;
  }

  .footer-widget-container {
    grid-template-columns: 1fr;
  }
}

.scroll-to-top {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 90;
  min-width: 48px;
  min-height: 48px;
  border: 1px solid var(--school-accent);
  border-radius: 50%;
  background: var(--school-accent);
  color: #ffffff;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0;
  box-shadow: var(--school-shadow);
  cursor: pointer;
}

.scroll-to-top:hover,
.scroll-to-top:focus-visible {
  background: var(--school-accent-strong);
  border-color: var(--school-accent-strong);
}

/* School Reduced Motion */
@media (prefers-reduced-motion: reduce) {
  .school-shell *,
  .school-section * {
    scroll-behavior: auto;
    transition-duration: 0.01ms;
    animation-duration: 0.01ms;
    animation-iteration-count: 1;
  }
}
