:root {
  --school-ink: #17202a;
  --school-muted: #5f6f7a;
  --school-line: #dce5ea;
  --school-paper: #ffffff;
  --school-soft: #f2f7f4;
  --school-blue: #1268a6;
  --school-green: #16815f;
  --school-red: #c84e45;
  --school-yellow: #f3bd2f;
  --school-coral: #ee7b45;
  --school-mint: #dff3ea;
  --school-sky: #dceffc;
  --cassiopeia-color-primary: var(--school-blue);
  --cassiopeia-color-link: #155f8f;
  --cassiopeia-color-hover: #0f466a;
  --body-font-size: 1rem;
  --h1size: 2rem;
  --h2size: 1.45rem;
  --h3size: 1.2rem;
}

body {
  color: var(--school-ink);
  background: var(--school-soft);
  font-family: Inter, Roboto, "Helvetica Neue", Arial, sans-serif;
  line-height: 1.6;
}

.site-grid {
  background: var(--school-soft);
}

.container-header {
  background: var(--school-paper);
  border-bottom: 1px solid var(--school-line);
  box-shadow: 0 8px 24px rgba(23, 32, 42, .06);
  position: relative;
}

.container-header::before {
  content: "";
  display: block;
  height: 6px;
  background: linear-gradient(90deg, var(--school-blue), var(--school-green) 45%, var(--school-yellow) 45%, var(--school-yellow) 58%, var(--school-red) 58%);
}

.navbar-brand,
.container-header .navbar-brand {
  color: var(--school-ink);
  font-weight: 800;
  letter-spacing: 0;
  max-width: 36rem;
  white-space: normal;
}

.navbar-brand .site-description {
  color: var(--school-muted);
  display: block;
  font-size: .95rem;
  font-weight: 500;
  margin-top: .15rem;
}

.container-header .mod-menu {
  gap: .15rem;
}

.container-header .mod-menu > li > a,
.container-header .mod-menu > li > span,
.container-header .mod-menu > li > button {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 6px;
  color: var(--school-ink);
  display: inline-flex;
  gap: .35rem;
  font-weight: 650;
  padding: .65rem .8rem;
}

.container-header .mod-menu > li.active > a,
.container-header .mod-menu > li > a:hover,
.container-header .mod-menu > li > a:focus,
.container-header .mod-menu > li > button:hover,
.container-header .mod-menu > li > button:focus {
  background: #e8f2f7;
  color: #11496f;
}

.container-header .mod-menu__sub {
  background: #fff;
  border: 1px solid var(--school-line);
  border-radius: 8px;
  box-shadow: 0 16px 30px rgba(23, 32, 42, .12);
  min-width: 15rem;
  padding: .45rem;
}

.container-header .mod-menu__sub a,
.container-header .mod-menu__sub .mod-menu__heading {
  border-radius: 6px;
  color: var(--school-ink);
  display: block;
  padding: .55rem .7rem;
  text-decoration: none;
}

.container-header .mod-menu__sub a:hover,
.container-header .mod-menu__sub a:focus {
  background: #e8f2f7;
  color: #11496f;
}

.container-header .mod-menu__sub .mod-menu__heading {
  color: var(--school-muted);
  font-weight: 800;
}

.grid-child.container-component,
.grid-child.container-main-top,
.grid-child.container-bottom-a {
  background: transparent;
}

.container-banner,
.container-top-a,
.container-main-top {
  margin-top: 1rem;
}

.school-home-intro {
  align-items: center;
  background: #fff;
  border: 1px solid var(--school-line);
  border-radius: 8px;
  display: grid;
  gap: 1.25rem;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: clamp(1.25rem, 3vw, 2rem);
}

.school-kicker {
  color: var(--school-green);
  font-size: .9rem;
  font-weight: 800;
  margin-bottom: .35rem;
  text-transform: uppercase;
}

.school-home-intro h1 {
  color: var(--school-ink);
  font-size: clamp(1.85rem, 3vw, 2.8rem);
  line-height: 1.08;
  margin-bottom: .75rem;
}

.school-home-intro p {
  max-width: 48rem;
}

.school-home-intro__actions {
  display: grid;
  gap: .6rem;
  min-width: 15rem;
}

.school-home-intro__actions a {
  background: #e8f2f7;
  border-radius: 6px;
  color: #104f78;
  font-weight: 800;
  padding: .75rem .95rem;
  text-align: center;
  text-decoration: none;
}

.school-home-intro__actions a:hover,
.school-home-intro__actions a:focus {
  background: #d8eaf2;
  text-decoration: underline;
}

.school-quick-links {
  display: grid;
  gap: .9rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.school-quick-links a {
  background: #fff;
  border: 1px solid var(--school-line);
  border-radius: 8px;
  color: var(--school-ink);
  min-height: 8rem;
  padding: 1rem;
  text-decoration: none;
}

.school-quick-links a:hover,
.school-quick-links a:focus {
  border-color: #b8d4e2;
  box-shadow: 0 10px 24px rgba(23, 32, 42, .07);
}

.school-quick-links strong {
  color: #104f78;
  display: block;
  font-size: 1.05rem;
  margin-bottom: .4rem;
}

.school-quick-links span {
  color: var(--school-muted);
  display: block;
  font-size: .92rem;
  line-height: 1.45;
}

.school-notice {
  align-items: start;
  background: #fff8df;
  border: 1px solid #efd780;
  border-radius: 8px;
  color: #5d4b12;
  display: grid;
  gap: .25rem;
  padding: .9rem 1rem;
}

.school-notice strong {
  color: #433508;
}

.com-content-category-blog,
.blog-featured,
.com-content-article {
  background: var(--school-paper);
  border: 1px solid var(--school-line);
  border-radius: 8px;
  box-shadow: 0 12px 30px rgba(23, 32, 42, .05);
  padding: clamp(1rem, 2vw, 1.75rem);
}

.com-content-category-blog .page-header h1,
.blog-featured .page-header h1,
.com-content-article .page-header h1 {
  color: var(--school-ink);
  font-size: clamp(1.6rem, 2vw, 2rem);
  line-height: 1.15;
  margin-bottom: 1rem;
}

.blog-items {
  gap: 1rem;
}

.blog-item {
  border: 1px solid var(--school-line);
  border-radius: 8px;
  background: #fff;
  padding: 1rem;
  min-width: 0;
}

.blog-item .item-title,
.blog-item h2,
.blog-item h3 {
  font-size: 1.12rem;
  line-height: 1.25;
  margin-bottom: .5rem;
}

.blog-item .item-title a,
.blog-item h2 a,
.blog-item h3 a {
  color: #104f78;
  text-decoration: none;
}

.blog-item .item-title a:hover,
.blog-item h2 a:hover,
.blog-item h3 a:hover {
  text-decoration: underline;
}

.article-info {
  color: var(--school-muted);
  font-size: .9rem;
  min-width: 0;
}

.com-content-category-blog,
.blog-featured,
.com-content-article,
.blog-item,
.item-content,
.article-info,
.com-content-category-blog a,
.blog-featured a,
.com-content-article a {
  overflow-wrap: anywhere;
}

.document-list {
  display: grid;
  gap: .75rem;
  list-style: none;
  margin: 1.25rem 0;
  padding: 0;
}

.document-list li {
  background: #f8fbfc;
  border: 1px solid var(--school-line);
  border-radius: 8px;
}

.document-list a {
  color: #104f78;
  display: block;
  font-weight: 700;
  padding: .9rem 1rem;
  text-decoration: none;
}

.document-list a:hover,
.document-list a:focus {
  background: #e8f2f7;
  text-decoration: underline;
}

.btn,
.readmore .btn {
  border-radius: 6px;
  font-weight: 700;
}

.pagination {
  flex-wrap: wrap;
  row-gap: .35rem;
}

/* Homepage redesign */
.school-hero--service {
  align-items: stretch;
  background: #ffffff;
  border: 1px solid var(--school-line);
  border-radius: 8px;
  box-shadow: 0 18px 42px rgba(23, 32, 42, .08);
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(24rem, 1.08fr);
  isolation: auto;
  margin: 1.35rem auto 0;
  max-width: 1180px;
  min-height: 0;
  overflow: hidden;
  position: relative;
}

.school-hero--service::before {
  display: none;
}

.school-hero--service .school-hero__copy {
  align-content: center;
  color: var(--school-ink);
  max-width: none;
  min-height: 0;
  padding: clamp(1.5rem, 4vw, 3.2rem);
}

.school-hero--service .school-kicker {
  color: var(--school-green);
  font-size: .82rem;
  letter-spacing: 0;
  margin-bottom: .65rem;
}

.school-hero--service h1 {
  color: #132331;
  font-size: clamp(2rem, 3.4vw, 3.55rem);
  line-height: 1.04;
  max-width: 12ch;
  text-shadow: none;
}

.school-hero--service .school-hero__lead {
  color: #4d5e69;
  font-size: clamp(1rem, 1.12vw, 1.12rem);
  line-height: 1.65;
  max-width: 36rem;
  text-shadow: none;
}

.school-hero--service .school-hero__actions {
  gap: .65rem;
  margin-top: 1.45rem;
}

.school-hero--service .school-button {
  backdrop-filter: none;
  background: #eef5f0;
  border: 1px solid #c8dbd0;
  color: #174d39;
}

.school-hero--service .school-button:hover,
.school-hero--service .school-button:focus {
  background: #dfeee5;
  color: #123b2d;
}

.school-hero--service .school-button--primary {
  background: #145f8e;
  border-color: #145f8e;
  color: #fff;
}

.school-hero--service .school-button--primary:hover,
.school-hero--service .school-button--primary:focus {
  background: #0f4d74;
  color: #fff;
}

.school-hero--service .school-hero__media {
  inset: auto;
  margin: 0;
  min-height: 22rem;
  position: relative;
  z-index: auto;
}

.school-hero--service .school-hero__media::after {
  background: linear-gradient(90deg, rgba(255, 255, 255, .2), rgba(255, 255, 255, 0));
  content: "";
  display: block;
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.school-hero--service .school-hero__media img {
  display: block;
  filter: saturate(1.03) contrast(1.02);
  height: 100%;
  min-height: 22rem;
  object-fit: cover;
  object-position: 48% center;
  width: 100%;
}

.school-audience--tasks {
  margin-top: 1rem;
}

.school-audience--tasks a {
  border: 1px solid var(--school-line);
  box-shadow: 0 12px 28px rgba(23, 32, 42, .08);
  min-height: 10rem;
  position: relative;
}

.school-audience--tasks a::before {
  background: var(--school-yellow);
  border-radius: 99px;
  content: "";
  height: .42rem;
  position: absolute;
  right: 1rem;
  top: 1rem;
  width: .42rem;
}

.school-audience--tasks a:nth-child(2)::before {
  background: var(--school-green);
}

.school-audience--tasks a:nth-child(3)::before {
  background: var(--school-blue);
}

.school-audience--tasks a:nth-child(4)::before {
  background: var(--school-red);
}

.school-news-heading--home {
  align-items: center;
  background: transparent;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-top: 2rem;
}

.school-news-heading--home .school-kicker {
  margin-bottom: .35rem;
}

.school-text-link {
  color: #104f78;
  font-weight: 800;
  text-decoration: none;
}

.school-text-link:hover,
.school-text-link:focus {
  text-decoration: underline;
}

.school-home-note {
  align-items: center;
  background: #f8fbfc;
  border: 1px solid var(--school-line);
  border-radius: 8px;
  color: var(--school-muted);
  display: flex;
  gap: .55rem;
  margin: .8rem auto 0;
  max-width: 1180px;
  padding: .75rem .9rem;
}

.school-home-note strong {
  color: #465661;
}

@media (max-width: 991.98px) {
  .school-hero--service {
    grid-template-columns: 1fr;
  }

  .school-hero--service .school-hero__media {
    order: -1;
  }

  .school-hero--service h1 {
    max-width: 15ch;
  }

  .container-top-a {
    margin-top: 1rem;
  }
}

.container-sidebar-right .sidebar-right,
.container-sidebar-left .sidebar-left {
  background: var(--school-paper);
  border: 1px solid var(--school-line);
  border-radius: 8px;
  padding: 1rem;
}

.footer {
  background: #17364d;
  color: #fff;
}

.footer a {
  color: #fff;
}

img {
  height: auto;
  max-width: 100%;
}

@media (max-width: 767.98px) {
  .navbar-brand,
  .container-header .navbar-brand {
    font-size: 1.05rem;
  }

  .container-header .mod-menu > li > a,
  .container-header .mod-menu > li > span,
  .container-header .mod-menu > li > button {
    padding: .55rem .65rem;
  }

  .school-home-intro {
    grid-template-columns: 1fr;
  }

  .school-home-intro__actions {
    min-width: 0;
  }

  .school-quick-links {
    grid-template-columns: 1fr;
  }

  .com-content-category-blog,
  .blog-featured,
  .com-content-article {
    border-left: 0;
    border-right: 0;
    border-radius: 0;
    padding: 1rem;
  }
}

/* Home visual refresh */
.container-banner {
  margin-top: 1.25rem;
}

.school-hero {
  align-items: stretch;
  background: #ffffff;
  border: 1px solid var(--school-line);
  border-radius: 8px;
  box-shadow: 0 18px 44px rgba(23, 32, 42, .09);
  display: grid;
  gap: 0;
  grid-template-columns: minmax(0, 1.05fr) minmax(20rem, .95fr);
  min-height: 27rem;
  overflow: hidden;
}

.school-hero__copy {
  align-content: center;
  display: grid;
  padding: clamp(1.4rem, 4vw, 3.5rem);
}

.school-hero .school-kicker,
.school-home-band .school-kicker,
.school-news-heading .school-kicker {
  color: var(--school-green);
  font-size: .82rem;
  letter-spacing: 0;
  margin: 0 0 .65rem;
}

.school-hero h1 {
  color: #132331;
  font-size: clamp(2.05rem, 4vw, 4.35rem);
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1.02;
  margin: 0;
  max-width: 12ch;
}

.school-hero__lead {
  color: #495b67;
  font-size: clamp(1rem, 1.35vw, 1.18rem);
  line-height: 1.65;
  margin: 1.15rem 0 0;
  max-width: 44rem;
}

.school-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin-top: 1.55rem;
}

.school-button {
  align-items: center;
  background: #eef5f0;
  border: 1px solid #c8dbd0;
  border-radius: 6px;
  color: #174d39;
  display: inline-flex;
  font-weight: 800;
  min-height: 2.75rem;
  padding: .72rem 1rem;
  text-decoration: none;
}

.school-button:hover,
.school-button:focus {
  background: #dfeee5;
  color: #123b2d;
  text-decoration: underline;
}

.school-button--primary {
  background: #145f8e;
  border-color: #145f8e;
  color: #fff;
}

.school-button--primary:hover,
.school-button--primary:focus {
  background: #0f4d74;
  color: #fff;
}

.school-hero__media {
  margin: 0;
  min-height: 100%;
  position: relative;
}

.school-hero__media::after {
  background: linear-gradient(90deg, rgba(255, 255, 255, .18), rgba(255, 255, 255, 0));
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.school-hero__media img {
  display: block;
  height: 100%;
  min-height: 27rem;
  object-fit: cover;
  object-position: center;
  width: 100%;
}

.school-audience {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 1rem;
}

.school-audience a {
  background: #fff;
  border: 1px solid var(--school-line);
  border-radius: 8px;
  box-shadow: 0 10px 26px rgba(23, 32, 42, .05);
  color: var(--school-ink);
  display: grid;
  gap: .45rem;
  min-height: 12.5rem;
  padding: 1.15rem;
  text-decoration: none;
}

.school-audience a:hover,
.school-audience a:focus {
  border-color: #a8cddd;
  box-shadow: 0 16px 30px rgba(23, 32, 42, .09);
  transform: translateY(-1px);
}

.school-audience__label {
  color: var(--school-green);
  font-size: .82rem;
  font-weight: 850;
  text-transform: uppercase;
}

.school-audience strong {
  color: #103e5f;
  font-size: 1.14rem;
  line-height: 1.22;
}

.school-audience span:last-child {
  color: var(--school-muted);
  font-size: .94rem;
  line-height: 1.45;
}

.school-home-band {
  align-items: center;
  background: #fff8df;
  border: 1px solid #ecd57a;
  border-radius: 8px;
  color: #46380d;
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  margin-top: 1rem;
  padding: clamp(1rem, 2vw, 1.35rem);
}

.school-home-band h2,
.school-news-heading h2 {
  color: #132331;
  font-size: clamp(1.35rem, 2vw, 1.8rem);
  letter-spacing: 0;
  line-height: 1.15;
  margin: 0;
}

.school-home-band p {
  margin: 0;
}

.school-news-heading {
  align-items: end;
  display: flex;
  justify-content: space-between;
  margin: 1.7rem 0 .8rem;
}

.blog-items .blog-item {
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.blog-items .blog-item:hover {
  border-color: #b8d4e2;
  box-shadow: 0 12px 28px rgba(23, 32, 42, .08);
  transform: translateY(-1px);
}

.blog-item figure,
.blog-item .item-image {
  border-radius: 8px;
  margin-bottom: .85rem;
  overflow: hidden;
}

.blog-item img {
  aspect-ratio: 16 / 10;
  object-fit: cover;
  width: 100%;
}

@media (max-width: 991.98px) {
  .school-hero {
    grid-template-columns: 1fr;
  }

  .school-hero h1 {
    max-width: 16ch;
  }

  .school-hero__media {
    order: -1;
  }

  .school-hero__media img {
    max-height: 20rem;
    min-height: 16rem;
  }

  .school-audience {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .school-home-band {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575.98px) {
  .school-hero {
    border-left: 0;
    border-radius: 0;
    border-right: 0;
  }

  .school-hero__copy {
    padding: 1.2rem 1rem 1.45rem;
  }

  .school-hero h1 {
    font-size: 2.05rem;
  }

  .school-hero__actions {
    display: grid;
  }

  .school-button {
    justify-content: center;
    width: 100%;
  }

  .school-audience {
    grid-template-columns: 1fr;
  }

  .school-audience a {
    min-height: 0;
  }

  .school-news-heading {
    display: block;
  }
}

/* Header and homepage polish */
.container-header .grid-child {
  padding-bottom: .32rem;
  padding-top: .42rem;
}

.container-header .navbar-brand {
  max-width: 62rem;
}

.container-header .brand-logo span {
  font-size: clamp(1.18rem, 1.55vw, 1.72rem);
  line-height: 1.08;
}

.container-header .container-nav {
  padding-top: .1rem;
}

.navbar-brand .site-description {
  font-size: .82rem;
  margin-top: .1rem;
}

.container-header .mod-menu {
  column-gap: .08rem;
  row-gap: .15rem;
}

.container-header .mod-menu > li > a,
.container-header .mod-menu > li > span,
.container-header .mod-menu > li > button {
  font-size: .84rem;
  padding: .42rem .5rem;
}

.container-top-a .card,
.container-component > .main-top.card {
  background: transparent;
  border: 0;
  box-shadow: none;
}

.container-top-a .card-body,
.container-component > .main-top.card > .card-body {
  padding: 0;
}

@media (max-width: 991.98px) {
  .container-header .grid-child {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

/* Stronger homepage composition */
body.homepage-refresh {
  background: #eef4f6;
}

.container-header {
  box-shadow: 0 10px 28px rgba(23, 32, 42, .08);
}

.container-header .grid-child {
  max-width: 1180px;
}

.container-header .brand-logo span {
  display: block;
  max-width: 42rem;
}

.container-banner.full-width {
  margin-top: 0;
}

.container-banner .mod-custom {
  max-width: none;
}

.school-hero {
  align-items: end;
  background: #122535;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  display: grid;
  isolation: isolate;
  min-height: clamp(25rem, 50vh, 33rem);
  overflow: hidden;
  position: relative;
}

.school-hero::before {
  background:
    linear-gradient(90deg, rgba(8, 24, 38, .88) 0%, rgba(8, 24, 38, .68) 38%, rgba(8, 24, 38, .22) 72%, rgba(8, 24, 38, .12) 100%),
    linear-gradient(0deg, rgba(8, 24, 38, .62) 0%, rgba(8, 24, 38, 0) 38%);
  content: "";
  inset: 0;
  position: absolute;
  z-index: -1;
}

.school-hero__media {
  inset: 0;
  margin: 0;
  position: absolute;
  z-index: -2;
}

.school-hero__media::after {
  display: none;
}

.school-hero__media img {
  filter: saturate(1.05) contrast(1.03);
  height: 100%;
  min-height: 0;
  object-fit: cover;
  object-position: center;
  width: 100%;
}

.school-hero__copy {
  align-content: end;
  color: #fff;
  display: grid;
  max-width: 1180px;
  min-height: inherit;
  padding: clamp(2rem, 5vw, 5rem) clamp(1rem, 5vw, 3rem);
  width: 100%;
}

.school-hero .school-kicker {
  color: #f7d55f;
  font-size: .86rem;
  letter-spacing: .02em;
  margin-bottom: .85rem;
}

.school-hero h1 {
  color: #fff;
  font-size: clamp(2.15rem, 4.2vw, 4.35rem);
  max-width: 14ch;
  text-shadow: 0 3px 22px rgba(0, 0, 0, .28);
}

.school-hero__lead {
  color: rgba(255, 255, 255, .92);
  font-size: clamp(1.02rem, 1.25vw, 1.22rem);
  line-height: 1.65;
  max-width: 39rem;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .25);
}

.school-hero__actions {
  gap: .75rem;
  margin-top: 1.65rem;
}

.school-button {
  backdrop-filter: blur(8px);
  background: rgba(255, 255, 255, .92);
  border-color: rgba(255, 255, 255, .88);
  color: #103c2e;
}

.school-button:hover,
.school-button:focus {
  background: #fff;
}

.school-button--primary {
  background: #f4c542;
  border-color: #f4c542;
  color: #17202a;
}

.school-button--primary:hover,
.school-button--primary:focus {
  background: #ffd85a;
  color: #17202a;
}

.container-top-a {
  margin-top: -2.7rem;
  position: relative;
  z-index: 2;
}

.school-audience {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
}

.school-audience a {
  border: 0;
  box-shadow: 0 18px 42px rgba(23, 32, 42, .12);
  min-height: 11rem;
}

.container-component {
  margin-top: 1.6rem;
}

.school-home-band {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
}

.school-news-heading {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
}

.container-component > main {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
  min-width: 0;
  width: 100%;
}

@media (max-width: 991.98px) {
  .school-hero {
    min-height: 31rem;
  }

  .school-hero h1 {
    max-width: 12ch;
  }

  .container-top-a {
    margin-top: -2rem;
  }
}

@media (max-width: 575.98px) {
  .school-hero {
    min-height: 34rem;
  }

  .school-hero__copy {
    padding: 1.5rem 1rem 2rem;
  }

  .school-hero h1 {
    font-size: 2.3rem;
    max-width: 11ch;
  }

  .container-top-a {
    margin-top: 1rem;
  }
}

/* Key inner pages */
.school-page-intro {
  border-bottom: 1px solid var(--school-line);
  margin-bottom: 1.5rem;
  padding-bottom: 1.25rem;
}

.school-page-intro h1,
.school-page-intro h2 {
  color: #132331;
  font-size: clamp(2rem, 3vw, 3rem);
  letter-spacing: 0;
  line-height: 1.08;
  margin: 0;
  max-width: 16ch;
}

.school-page-intro p:not(.school-kicker) {
  color: var(--school-muted);
  font-size: 1.05rem;
  line-height: 1.65;
  margin: .9rem 0 0;
  max-width: 48rem;
}

.school-doc-grid,
.school-contact-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.school-doc-card,
.school-contact-card,
.school-info-split > div,
.school-check-panel {
  background: #f8fbfc;
  border: 1px solid var(--school-line);
  border-radius: 8px;
  color: var(--school-ink);
  padding: 1.1rem;
}

.school-doc-card {
  display: grid;
  gap: .45rem;
  min-height: 10rem;
  text-decoration: none;
}

.school-doc-card:hover,
.school-doc-card:focus {
  border-color: #a8cddd;
  box-shadow: 0 12px 28px rgba(23, 32, 42, .08);
  color: var(--school-ink);
  transform: translateY(-1px);
}

.school-doc-card__type {
  background: #145f8e;
  border-radius: 4px;
  color: #fff;
  display: inline-flex;
  font-size: .78rem;
  font-weight: 850;
  justify-content: center;
  line-height: 1;
  padding: .35rem .45rem;
  width: fit-content;
}

.school-doc-card strong,
.school-contact-card strong {
  color: #103e5f;
  font-size: 1.12rem;
  line-height: 1.25;
}

.school-doc-card span:last-child,
.school-contact-card span:first-child,
.school-info-split p,
.school-check-panel li {
  color: var(--school-muted);
}

.school-contact-card {
  display: grid;
  gap: .4rem;
}

.school-contact-card span:first-child {
  font-size: .82rem;
  font-weight: 850;
  text-transform: uppercase;
}

.school-contact-card a {
  color: #104f78;
}

.school-info-split {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 1rem;
}

.school-info-split h2,
.school-check-panel h2 {
  color: #132331;
  font-size: 1.25rem;
  line-height: 1.2;
  margin: 0 0 .55rem;
}

.school-check-panel {
  background: #fff8df;
  border-color: #ecd57a;
  margin-top: 1rem;
}

.school-check-panel ul {
  margin-bottom: 0;
}

@media (max-width: 767.98px) {
  .school-doc-grid,
  .school-contact-grid,
  .school-info-split {
    grid-template-columns: 1fr;
  }

  .school-page-intro h1,
  .school-page-intro h2 {
    max-width: none;
  }
}

/* School, parents and students pages */
.school-page-intro--wide h1,
.school-page-intro--wide h2 {
  max-width: 20ch;
}

.school-feature-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 1rem;
}

.school-feature-card {
  background: #f8fbfc;
  border: 1px solid var(--school-line);
  border-radius: 8px;
  display: grid;
  gap: .45rem;
  padding: 1.1rem;
}

.school-feature-card__label {
  color: var(--school-green);
  font-size: .82rem;
  font-weight: 850;
  text-transform: uppercase;
}

.school-feature-card h2 {
  color: #132331;
  font-size: 1.22rem;
  line-height: 1.2;
  margin: 0;
}

.school-feature-card p {
  color: var(--school-muted);
  margin: 0;
}

.school-link-panel {
  align-items: start;
  background: #eef5f0;
  border: 1px solid #c8dbd0;
  border-radius: 8px;
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, .55fr) minmax(0, 1.45fr);
  margin-top: 1rem;
  padding: 1.1rem;
}

.school-link-panel h2 {
  color: #132331;
  font-size: 1.35rem;
  line-height: 1.16;
  margin: 0;
}

.school-link-grid,
.school-mini-links {
  display: grid;
  gap: .75rem;
}

.school-link-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.school-link-grid a,
.school-mini-links a {
  background: #fff;
  border: 1px solid var(--school-line);
  border-radius: 8px;
  color: var(--school-ink);
  display: grid;
  gap: .25rem;
  padding: .9rem;
  text-decoration: none;
}

.school-link-grid a:hover,
.school-link-grid a:focus,
.school-mini-links a:hover,
.school-mini-links a:focus {
  border-color: #a8cddd;
  box-shadow: 0 10px 24px rgba(23, 32, 42, .07);
  color: var(--school-ink);
}

.school-link-grid strong,
.school-mini-links strong {
  color: #103e5f;
  line-height: 1.25;
}

.school-link-grid span,
.school-mini-links span {
  color: var(--school-muted);
  font-size: .93rem;
  line-height: 1.42;
}

.school-section-hub {
  align-items: stretch;
  background: #fff;
  border: 1px solid var(--school-line);
  border-radius: 8px;
  box-shadow: 0 14px 34px rgba(23, 32, 42, .07);
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, .95fr) minmax(18rem, .8fr);
  margin-bottom: 1.25rem;
  padding: clamp(1.1rem, 3vw, 1.75rem);
}

.school-section-hub__copy {
  align-content: center;
  display: grid;
}

.school-section-hub h1 {
  color: #132331;
  font-size: clamp(1.8rem, 3vw, 2.75rem);
  letter-spacing: 0;
  line-height: 1.08;
  margin: 0;
  max-width: 16ch;
}

.school-section-hub p:not(.school-kicker) {
  color: var(--school-muted);
  font-size: 1.03rem;
  line-height: 1.62;
  margin: .85rem 0 0;
  max-width: 43rem;
}

.school-mini-links {
  align-content: center;
}

.school-section-hub--students {
  border-top: 6px solid var(--school-yellow);
}

@media (max-width: 991.98px) {
  .school-feature-grid,
  .school-link-panel,
  .school-section-hub {
    grid-template-columns: 1fr;
  }

  .school-section-hub h1 {
    max-width: none;
  }
}

@media (max-width: 575.98px) {
  .site-grid,
  .grid-child,
  .container-component,
  .container-component > main,
  .com-content-category-blog,
  .blog-featured,
  .com-content-article {
    max-width: 100%;
    min-width: 0;
    width: 100%;
  }

  .school-feature-grid,
  .school-link-grid {
    grid-template-columns: 1fr;
  }

  .school-section-hub {
    border-left: 0;
    border-radius: 0;
    border-right: 0;
  }

  .blog-items,
  .com-content-category-blog__items,
  .items-leading,
  .items-row,
  .columns-2,
  .columns-3,
  .columns-4 {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
  }

  .blog-item,
  .item-content,
  .page-header,
  .article-info {
    display: block;
    max-width: 100%;
    min-width: 0;
    width: auto;
  }
}

/* Final homepage overrides */
.school-hero--service {
  background: #fff;
  border: 1px solid var(--school-line);
  border-radius: 8px;
  box-shadow: 0 18px 42px rgba(23, 32, 42, .08);
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(24rem, 1.08fr);
  margin: 1.35rem auto 0;
  max-width: 1180px;
  min-height: 0;
  overflow: hidden;
  position: relative;
}

.school-hero--service::before {
  display: none;
}

.school-hero--service .school-hero__copy {
  color: var(--school-ink);
  max-width: none;
  min-height: 0;
  padding: clamp(1.5rem, 4vw, 3.2rem);
}

.school-hero--service .school-kicker {
  color: var(--school-green);
  text-shadow: none;
}

.school-hero--service h1 {
  color: #132331;
  font-size: clamp(2rem, 3.4vw, 3.55rem);
  max-width: 12ch;
  text-shadow: none;
}

.school-hero--service .school-hero__lead {
  color: #4d5e69;
  max-width: 36rem;
  text-shadow: none;
}

.school-hero--service .school-hero__media {
  inset: auto;
  min-height: 22rem;
  position: relative;
  z-index: auto;
}

.school-hero--service .school-hero__media img {
  height: 100%;
  min-height: 22rem;
  object-fit: cover;
  object-position: 48% center;
  width: 100%;
}

@media (max-width: 991.98px) {
  .school-hero--service {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .school-hero--service .school-hero__media {
    order: -1;
  }
}

@media (max-width: 575.98px) {
  .school-hero--service {
    border-left: 0;
    border-radius: 0;
    border-right: 0;
    margin-top: 0;
    min-height: 0;
  }

  .school-hero--service .school-hero__media,
  .school-hero--service .school-hero__media img {
    max-height: 9.5rem;
    min-height: 9.5rem;
  }

  .school-hero--service .school-hero__copy {
    min-height: 0;
    padding: 1rem 1rem 1.15rem;
  }

  .school-hero--service h1 {
    font-size: 1.72rem;
    line-height: 1.05;
    max-width: 15ch;
  }

  .school-hero--service .school-hero__lead {
    font-size: .96rem;
    line-height: 1.48;
    margin-top: .7rem;
  }

  .school-hero--service .school-hero__actions {
    display: grid;
    gap: .5rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 1rem;
  }

  .school-hero--service .school-button {
    min-height: 2.35rem;
    padding: .55rem .65rem;
  }
}

/* Homepage slider and livelier navigation polish */
body.homepage-refresh {
  background: linear-gradient(180deg, #eef7f2 0%, #f6f9fb 34%, #eef5f7 100%);
}

.container-header {
  border-bottom-color: #cbdce4;
}

.container-header::before {
  background: linear-gradient(90deg, var(--school-green) 0 38%, var(--school-yellow) 38% 72%, var(--school-red) 72% 100%);
  height: 7px;
}

.container-header .mod-menu > li {
  position: relative;
}

.container-header .mod-menu > li > a.school-menu-parent-link::after {
  color: var(--school-blue);
  content: "⌄";
  font-size: .95rem;
  font-weight: 900;
  margin-left: .45rem;
}

.container-header .mod-menu > li > a.school-menu-parent-link + button {
  height: 100%;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  width: 100%;
}

.school-hero--slider {
  background:
    linear-gradient(135deg, #ffffff 0%, #ffffff 58%, #f1fbf5 100%);
  border: 0;
  box-shadow: 0 20px 50px rgba(18, 75, 108, .12);
  grid-template-columns: minmax(0, .82fr) minmax(23rem, 1.18fr);
}

.school-hero--slider::after {
  background: linear-gradient(90deg, var(--school-green), var(--school-yellow), var(--school-coral));
  bottom: 0;
  content: "";
  height: 6px;
  left: 0;
  position: absolute;
  right: 0;
}

.school-hero--slider .school-hero__copy {
  padding: clamp(1.45rem, 3.2vw, 2.65rem);
}

.school-hero--slider .school-kicker {
  color: var(--school-green);
  font-size: .78rem;
}

.school-hero--slider h1 {
  color: #102738;
  font-size: clamp(1.75rem, 2.65vw, 2.75rem);
  line-height: 1.08;
  max-width: 15ch;
}

.school-hero--slider .school-hero__lead {
  color: #435b68;
  font-size: 1.03rem;
  line-height: 1.55;
  max-width: 31rem;
}

.school-hero--slider .school-button {
  background: #fff;
  border-color: #bfd9cf;
  box-shadow: 0 8px 18px rgba(23, 32, 42, .06);
}

.school-hero--slider .school-button--primary {
  background: var(--school-blue);
  border-color: var(--school-blue);
  color: #fff;
}

.school-photo-slider {
  background: #143348;
  min-height: 20.5rem;
  overflow: hidden;
}

.school-photo-slider::after {
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .14), rgba(255, 255, 255, 0) 36%),
    linear-gradient(0deg, rgba(16, 39, 56, .12), rgba(16, 39, 56, 0) 55%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 2;
}

.school-photo-slider__item {
  animation: schoolSlideShow 24s infinite;
  height: 100%;
  inset: 0;
  min-height: 20.5rem;
  object-fit: cover;
  opacity: 0;
  position: absolute;
  transform: scale(1.035);
  width: 100%;
}

.school-photo-slider__item:nth-child(1) {
  animation-delay: 0s;
  object-position: center;
}

.school-photo-slider__item:nth-child(2) {
  animation-delay: 6s;
  object-position: center;
}

.school-photo-slider__item:nth-child(3) {
  animation-delay: 12s;
  object-position: center;
}

.school-photo-slider__item:nth-child(4) {
  animation-delay: 18s;
  object-position: center;
}

@keyframes schoolSlideShow {
  0%,
  20% {
    opacity: 1;
    transform: scale(1);
  }

  25%,
  95% {
    opacity: 0;
    transform: scale(1.035);
  }

  100% {
    opacity: 1;
    transform: scale(1);
  }
}

.school-audience--tasks a {
  background: #fff;
  border: 0;
  box-shadow: 0 14px 34px rgba(18, 75, 108, .11);
}

.school-audience--tasks a:nth-child(1) {
  background: linear-gradient(180deg, #fff 0%, #fff9e8 100%);
}

.school-audience--tasks a:nth-child(2) {
  background: linear-gradient(180deg, #fff 0%, #edf8f2 100%);
}

.school-audience--tasks a:nth-child(3) {
  background: linear-gradient(180deg, #fff 0%, #eaf5fc 100%);
}

.school-audience--tasks a:nth-child(4) {
  background: linear-gradient(180deg, #fff 0%, #fff0eb 100%);
}

@media (prefers-reduced-motion: reduce) {
  .school-photo-slider__item {
    animation: none;
  }

  .school-photo-slider__item:first-child {
    opacity: 1;
  }
}

@media (max-width: 991.98px) {
  .school-hero--slider {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575.98px) {
  .school-hero--slider {
    margin-top: 0;
  }

  .school-hero--slider .school-hero__copy {
    padding: 1rem;
  }

  .school-hero--slider h1 {
    font-size: 1.55rem;
    max-width: none;
  }

  .school-hero--slider .school-hero__lead {
    font-size: .94rem;
    line-height: 1.45;
  }

  .school-photo-slider,
  .school-photo-slider__item,
  .school-hero--slider .school-hero__media,
  .school-hero--slider .school-hero__media img {
    max-height: 10rem;
    min-height: 10rem;
  }

  .school-hero--slider .school-hero__actions {
    grid-template-columns: 1fr 1fr;
  }
}

/* Photo-only homepage slider */
.school-hero--photo-only {
  background: #143348;
  border: 0;
  border-radius: 10px;
  box-shadow: 0 20px 48px rgba(18, 75, 108, .14);
  display: block;
  margin: 1.25rem auto 0;
  max-width: 1180px;
  min-height: 0;
  overflow: hidden;
  position: relative;
}

.school-hero--photo-only::before,
.school-hero--photo-only::after {
  display: none;
}

.school-hero--photo-only .school-photo-slider {
  aspect-ratio: 16 / 5.2;
  display: block;
  margin: 0;
  min-height: 0;
  position: relative;
  width: 100%;
}

.school-hero--photo-only .school-photo-slider::after {
  background:
    linear-gradient(180deg, rgba(16, 39, 56, .08), rgba(16, 39, 56, .24)),
    linear-gradient(90deg, rgba(22, 129, 95, .22), rgba(243, 189, 47, .1), rgba(238, 123, 69, .18));
  content: "";
  display: block;
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 2;
}

.school-hero--photo-only .school-photo-slider__item {
  height: 100%;
  min-height: 0;
  object-fit: cover;
  object-position: center;
  width: 100%;
}

.school-hero--photo-only .school-photo-slider__item:nth-child(3) {
  object-position: center 42%;
}

@media (max-width: 767.98px) {
  .school-hero--photo-only {
    border-radius: 0;
    margin-top: 0;
  }

  .school-hero--photo-only .school-photo-slider {
    aspect-ratio: 16 / 7;
  }
}

/* Homepage news cards */
body.itemid-101 .container-component > main > .com-content-category-blog {
  display: none;
}

.school-news-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 1rem auto 0;
  max-width: 1180px;
}

.school-news-card {
  background: #fff;
  border: 1px solid #d7e4e9;
  border-radius: 10px;
  box-shadow: 0 12px 30px rgba(18, 75, 108, .08);
  display: grid;
  min-width: 0;
  overflow: hidden;
}

.school-news-card--featured {
  grid-column: span 2;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
}

.school-news-card__media {
  background: linear-gradient(135deg, #dff3ea, #dceffc);
  display: block;
  min-height: 12rem;
  overflow: hidden;
  text-decoration: none;
}

.school-news-card__media img {
  aspect-ratio: 16 / 10;
  display: block;
  height: 100%;
  object-fit: cover;
  transition: transform .2s ease;
  width: 100%;
}

.school-news-card:hover .school-news-card__media img {
  transform: scale(1.025);
}

.school-news-card__placeholder {
  align-items: center;
  color: #126045;
  display: flex;
  font-weight: 850;
  height: 100%;
  justify-content: center;
  min-height: 12rem;
  text-transform: uppercase;
}

.school-news-card__body {
  align-content: start;
  display: grid;
  gap: .55rem;
  padding: 1rem;
}

.school-news-card time {
  color: var(--school-green);
  font-size: .82rem;
  font-weight: 850;
}

.school-news-card h3 {
  font-size: 1.12rem;
  line-height: 1.22;
  margin: 0;
}

.school-news-card--featured h3 {
  font-size: 1.45rem;
}

.school-news-card h3 a {
  color: #103e5f;
  text-decoration: none;
}

.school-news-card h3 a:hover,
.school-news-card h3 a:focus {
  text-decoration: underline;
}

.school-news-card p {
  color: var(--school-muted);
  font-size: .95rem;
  line-height: 1.5;
  margin: 0;
}

.school-news-card__more {
  color: #1268a6;
  font-weight: 850;
  margin-top: .2rem;
  text-decoration: none;
}

.school-news-card__more:hover,
.school-news-card__more:focus {
  text-decoration: underline;
}

@media (max-width: 991.98px) {
  .school-news-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .school-news-card--featured {
    grid-column: span 2;
  }
}

@media (max-width: 575.98px) {
  .school-news-grid {
    grid-template-columns: 1fr;
  }

  .school-news-card--featured {
    grid-column: auto;
    grid-template-columns: 1fr;
  }

  .school-news-card__media,
  .school-news-card__placeholder {
    min-height: 10rem;
  }

  .school-news-card--featured h3 {
    font-size: 1.18rem;
  }
}

/* Legal information page */
.school-legal-intro h1,
.school-legal-intro h2 {
  max-width: 22ch;
}

.school-legal-nav {
  display: grid;
  gap: .65rem;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-bottom: 1rem;
}

.school-legal-nav a {
  align-items: center;
  background: #f8fbfc;
  border: 1px solid var(--school-line);
  border-radius: 8px;
  color: #104f78;
  display: flex;
  font-weight: 800;
  justify-content: center;
  min-height: 3.35rem;
  padding: .65rem;
  text-align: center;
  text-decoration: none;
}

.school-legal-nav a:hover,
.school-legal-nav a:focus {
  background: #eaf5fc;
  border-color: #a8cddd;
  text-decoration: underline;
}

.school-legal-note {
  background: #fff8df;
  border: 1px solid #ecd57a;
  border-radius: 8px;
  color: #4d3d0c;
  display: grid;
  gap: .25rem;
  margin-bottom: 1rem;
  padding: .85rem 1rem;
}

.school-legal-page {
  display: grid;
  gap: .9rem;
}

.school-legal-page h2 {
  border-top: 1px solid var(--school-line);
  color: #132331;
  font-size: clamp(1.35rem, 2vw, 1.8rem);
  line-height: 1.18;
  margin: 1.15rem 0 0;
  padding-top: 1.15rem;
  scroll-margin-top: 9rem;
}

.school-legal-page h2:first-child {
  border-top: 0;
  margin-top: 0;
  padding-top: 0;
}

.school-legal-page h3,
.school-legal-page p u {
  color: #103e5f;
  font-size: 1.08rem;
  font-weight: 850;
  text-decoration: none;
}

.school-legal-page p,
.school-legal-page li {
  color: #43515b;
  line-height: 1.65;
}

.school-legal-page p {
  margin: 0;
}

.school-legal-page ul,
.school-legal-page ol {
  background: #f8fbfc;
  border: 1px solid var(--school-line);
  border-radius: 8px;
  margin: 0;
  padding: .95rem 1.2rem .95rem 2.2rem;
}

.school-legal-page a {
  color: #104f78;
  font-weight: 750;
  overflow-wrap: anywhere;
}

@media (max-width: 991.98px) {
  .school-legal-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  .school-legal-nav {
    grid-template-columns: 1fr;
  }
}

/* Documents hub */
.school-docs-intro h1,
.school-docs-intro h2 {
  max-width: 19ch;
}

.school-docs-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin: 0 0 1.35rem;
}

.school-docs-toolbar a {
  background: #eaf7ee;
  border: 1px solid #b7dcc5;
  border-radius: 999px;
  color: #0d5e43;
  font-size: .9rem;
  font-weight: 850;
  line-height: 1.1;
  padding: .7rem .9rem;
  text-decoration: none;
}

.school-docs-toolbar a:nth-child(2) {
  background: #eef6ff;
  border-color: #b8d8f0;
  color: #135d88;
}

.school-docs-toolbar a:nth-child(3) {
  background: #fff5d7;
  border-color: #ead06c;
  color: #755500;
}

.school-docs-toolbar a:nth-child(4) {
  background: #f7eeee;
  border-color: #e0b7b3;
  color: #8b342e;
}

.school-docs-section {
  margin-top: 1.35rem;
}

.school-docs-section__header {
  align-items: end;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-bottom: .7rem;
}

.school-docs-section__header h2 {
  color: #132331;
  font-size: clamp(1.45rem, 2vw, 2rem);
  line-height: 1.15;
  margin: 0;
}

.school-docs-feature,
.school-docs-card,
.school-docs-single,
.school-docs-note {
  border: 1px solid var(--school-line);
  border-radius: 8px;
  color: var(--school-ink);
}

.school-docs-feature,
.school-docs-single {
  align-items: center;
  background: linear-gradient(135deg, #f0fbf3 0%, #ffffff 72%);
  border-color: #b8dcc6;
  display: grid;
  gap: 1.25rem;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 1.25rem;
}

.school-docs-feature--blue,
.school-docs-single--blue {
  background: linear-gradient(135deg, #eef7ff 0%, #ffffff 72%);
  border-color: #bad9ef;
}

.school-docs-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.school-docs-card {
  background: #ffffff;
  border-color: #cddfe7;
  display: grid;
  gap: .65rem;
  padding: 1.1rem;
}

.school-docs-card--warm {
  background: #fffaf0;
  border-color: #ecd57a;
}

.school-docs-badge {
  background: #14618f;
  border-radius: 4px;
  color: #fff;
  display: inline-flex;
  font-size: .75rem;
  font-weight: 900;
  justify-content: center;
  letter-spacing: 0;
  line-height: 1;
  padding: .38rem .48rem;
  width: fit-content;
}

.school-docs-feature h3,
.school-docs-card h2,
.school-docs-card h3,
.school-docs-single h2,
.school-docs-note h2 {
  color: #123047;
  font-size: 1.22rem;
  line-height: 1.2;
  margin: .2rem 0 0;
}

.school-docs-feature p,
.school-docs-card p,
.school-docs-single p,
.school-docs-note p {
  color: var(--school-muted);
  line-height: 1.6;
  margin: .35rem 0 0;
}

.school-docs-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
}

.school-docs-actions a,
.school-docs-back a {
  border: 1px solid #b9d4df;
  border-radius: 6px;
  color: #104f78;
  font-weight: 850;
  line-height: 1.1;
  padding: .72rem .85rem;
  text-decoration: none;
}

.school-docs-actions .school-docs-primary {
  background: #14618f;
  border-color: #14618f;
  color: #fff;
}

.school-docs-actions a:hover,
.school-docs-actions a:focus,
.school-docs-back a:hover,
.school-docs-back a:focus,
.school-docs-toolbar a:hover,
.school-docs-toolbar a:focus {
  box-shadow: 0 10px 22px rgba(19, 48, 71, .11);
  transform: translateY(-1px);
}

.school-docs-note {
  background: #fff8df;
  border-color: #ecd57a;
  margin-top: 1.35rem;
  padding: 1.1rem;
}

.school-docs-note a {
  color: #104f78;
  font-weight: 850;
}

.school-docs-back {
  margin-top: 1rem;
}

@media (max-width: 767.98px) {
  .school-docs-toolbar {
    display: grid;
    grid-template-columns: 1fr;
  }

  .school-docs-section__header {
    align-items: start;
    display: grid;
    gap: .25rem;
  }

  .school-docs-feature,
  .school-docs-single,
  .school-docs-grid {
    grid-template-columns: 1fr;
  }

  .school-docs-feature,
  .school-docs-card,
  .school-docs-single,
  .school-docs-note {
    padding: .95rem;
  }
}

/* Contact page */
.school-contact-intro h1,
.school-contact-intro h2 {
  max-width: 22ch;
}

.school-contact-hero {
  align-items: center;
  background: linear-gradient(135deg, #eaf7ee 0%, #eef7ff 54%, #fff8df 100%);
  border: 1px solid #c5dfd0;
  border-radius: 8px;
  display: grid;
  gap: 1.25rem;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, .42fr);
  margin-bottom: 1rem;
  padding: 1.35rem;
}

.school-contact-label {
  color: #0f7b55;
  display: inline-flex;
  font-size: .8rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.school-contact-hero h2 {
  color: #123047;
  font-size: clamp(1.65rem, 2.6vw, 2.4rem);
  line-height: 1.12;
  margin: .35rem 0 0;
}

.school-contact-hero p {
  color: #43515b;
  font-size: 1.04rem;
  line-height: 1.6;
  margin: .75rem 0 0;
  max-width: 44rem;
}

.school-contact-actions {
  display: grid;
  gap: .65rem;
}

.school-contact-actions a {
  background: rgba(255, 255, 255, .78);
  border: 1px solid #b9d4df;
  border-radius: 7px;
  color: #104f78;
  font-weight: 850;
  line-height: 1.15;
  padding: .85rem .95rem;
  text-align: center;
  text-decoration: none;
}

.school-contact-actions .school-contact-primary {
  background: #14618f;
  border-color: #14618f;
  color: #fff;
}

.school-contact-grid--polished {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.school-contact-grid--polished .school-contact-card {
  min-height: 9.5rem;
}

.school-contact-card--address {
  background: #f0fbf3;
  border-color: #b8dcc6;
}

.school-contact-card--phone {
  background: #eef7ff;
  border-color: #bad9ef;
}

.school-contact-card--mail {
  background: #fff8df;
  border-color: #ecd57a;
}

.school-contact-card--ids {
  background: #f8f1ee;
  border-color: #dfc3ba;
}

.school-contact-details {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 1rem;
}

.school-contact-details article,
.school-contact-note {
  border: 1px solid var(--school-line);
  border-radius: 8px;
  padding: 1.1rem;
}

.school-contact-details article {
  background: #ffffff;
}

.school-contact-details h2 {
  color: #123047;
  font-size: 1.18rem;
  line-height: 1.2;
  margin: .35rem 0 0;
}

.school-contact-details p {
  color: #43515b;
  line-height: 1.6;
  margin: .65rem 0 0;
}

.school-contact-details a {
  color: #104f78;
  font-weight: 850;
}

.school-contact-details__ade {
  background: #eef7f3 !important;
  border-color: #b8d8cb !important;
  grid-column: span 2;
}

.school-contact-ade {
  background: #ffffff;
  border: 1px solid #c8dcd5;
  border-radius: 6px;
  color: #0f2f45;
  display: block;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: clamp(.88rem, 1.7vw, 1.05rem);
  font-weight: 800;
  letter-spacing: .015em;
  margin-top: .7rem;
  overflow-wrap: anywhere;
  padding: .75rem .85rem;
}

.school-contact-note {
  background: #fff8df;
  border-color: #ecd57a;
  color: #43515b;
  display: flex;
  flex-wrap: wrap;
  gap: .35rem .65rem;
  margin-top: 1rem;
}

.school-contact-note strong {
  color: #123047;
}

.school-contact-actions a:hover,
.school-contact-actions a:focus {
  box-shadow: 0 10px 22px rgba(19, 48, 71, .11);
  transform: translateY(-1px);
}

@media (max-width: 991.98px) {
  .school-contact-hero,
  .school-contact-grid--polished,
  .school-contact-details {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .school-contact-hero,
  .school-contact-grid--polished,
  .school-contact-details {
    grid-template-columns: 1fr;
  }

  .school-contact-hero {
    padding: 1rem;
  }

  .school-contact-grid--polished .school-contact-card {
    min-height: auto;
  }

  .school-contact-details__ade {
    grid-column: auto;
  }
}

/* Full news listing */
body.itemid-102 .com-content-category-blog {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}

body.itemid-102 .com-content-category-blog > h1 {
  color: #132331;
  font-size: clamp(2rem, 3.2vw, 3.25rem);
  line-height: 1.05;
  margin: 0 0 .55rem;
  max-width: 14ch;
}

body.itemid-102 .category-desc {
  background: linear-gradient(135deg, #eaf7ee 0%, #eef7ff 70%);
  border: 1px solid #c5dfd0;
  border-radius: 8px;
  margin: 0 0 1rem;
  padding: 1rem 1.1rem;
}

body.itemid-102 .school-news-description,
body.itemid-102 .category-desc p {
  color: #43515b;
  font-size: 1.03rem;
  line-height: 1.6;
  margin: 0;
  max-width: 56rem;
}

body.itemid-102 .blog-items {
  align-items: stretch;
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.itemid-102 .items-leading {
  grid-template-columns: 1fr;
}

body.itemid-102 .blog-item {
  background: #fff;
  border: 1px solid #d5e1e6;
  border-radius: 8px;
  box-shadow: 0 14px 30px rgba(23, 32, 42, .06);
  display: flex;
  min-height: 21rem;
  overflow: hidden;
  padding: 0;
}

body.itemid-102 .items-leading > .blog-item:first-child {
  background: linear-gradient(135deg, #ffffff 0%, #f0fbf3 100%);
  border-color: #b8dcc6;
  grid-column: 1 / -1;
  min-height: 18rem;
}

body.itemid-102 .blog-item .item-content {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
  padding: 1rem;
}

body.itemid-102 .blog-item .page-header {
  margin: 0;
}

body.itemid-102 .blog-item h2 {
  font-size: 1.17rem;
  line-height: 1.18;
  margin: 0;
}

body.itemid-102 .items-leading > .blog-item:first-child h2 {
  font-size: clamp(1.35rem, 2vw, 1.75rem);
}

body.itemid-102 .blog-item h2 a {
  color: #123047;
  text-decoration: none;
}

body.itemid-102 .blog-item h2 a:hover,
body.itemid-102 .blog-item h2 a:focus {
  color: #0f6c4e;
  text-decoration: underline;
}

body.itemid-102 .article-info {
  color: #0f6c4e;
  font-size: .83rem;
  font-weight: 850;
  margin: .65rem 0 .75rem;
  text-transform: uppercase;
}

body.itemid-102 .article-info-term,
body.itemid-102 .article-info .icon-calendar {
  display: none;
}

body.itemid-102 .blog-item .item-content > p,
body.itemid-102 .blog-item .item-content > div:not(.page-header) {
  color: #43515b;
  line-height: 1.55;
  margin: 0;
}

body.itemid-102 .blog-item .item-content > p:not(:has(img)),
body.itemid-102 .blog-item .item-content > div:not(.page-header):not(:has(img)) {
  display: -webkit-box;
  max-height: 7.25rem;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
}

body.itemid-102 .items-leading > .blog-item:first-child .item-content > p:not(:has(img)),
body.itemid-102 .items-leading > .blog-item:first-child .item-content > div:not(.page-header):not(:has(img)) {
  max-height: 9.5rem;
  -webkit-line-clamp: 6;
}

body.itemid-102 .blog-item img {
  aspect-ratio: 16 / 10;
  border-radius: 6px;
  display: block;
  float: none !important;
  height: auto;
  margin: .75rem 0 0;
  max-height: 13rem;
  object-fit: cover;
  width: 100%;
}

body.itemid-102 .items-leading > .blog-item:first-child img {
  max-height: 18rem;
}

body.itemid-102 .items-more,
body.itemid-102 .cat-children {
  display: none;
}

body.itemid-102 .readmore {
  margin: auto 0 0;
  padding-top: .85rem;
}

body.itemid-102 .readmore .btn {
  background: #14618f;
  border-color: #14618f;
  color: #fff;
}

body.itemid-102 .pagination,
body.itemid-102 .counter {
  margin-top: 1.25rem;
}

body.itemid-102 .pagination {
  justify-content: center;
}

/* Aktualnosci as one-column media cards */
body.itemid-102 .blog-items,
body.itemid-102 .items-leading {
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr !important;
}

body.itemid-102 .blog-items.masonry-1,
body.itemid-102 .blog-items.masonry-2,
body.itemid-102 .blog-items.masonry-3 {
  grid-template-columns: 1fr !important;
}

body.itemid-102 .blog-item {
  background: #fff;
  border: 1px solid #edf1f4;
  border-radius: 0;
  box-shadow: 0 10px 24px rgba(23, 32, 42, .06);
  min-height: 0;
}

body.itemid-102 .blog-item .item-content.school-news-list-card {
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(13rem, 260px) minmax(0, 1fr);
  min-height: 11rem;
  padding: .45rem;
}

body.itemid-102 .school-news-list-card__media {
  align-self: stretch;
  background: #e8eef2;
  color: #6b7780;
  display: block;
  height: 100%;
  min-height: 10.5rem;
  overflow: hidden;
  position: relative;
  text-decoration: none;
}

body.itemid-102 .school-news-list-card__media img {
  aspect-ratio: auto;
  border-radius: 0;
  display: block;
  height: 100%;
  inset: 0;
  margin: 0;
  max-height: none;
  object-fit: cover;
  position: absolute;
  width: 100%;
}

body.itemid-102 .school-news-list-card__placeholder {
  align-items: center;
  display: flex;
  font-weight: 850;
  height: 100%;
  justify-content: center;
  min-height: 10.5rem;
}

body.itemid-102 .school-news-list-card__body {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: .65rem .55rem .5rem 0;
}

body.itemid-102 .school-news-list-card .page-header {
  margin: 0 0 .45rem;
}

body.itemid-102 .school-news-list-card h2 {
  font-size: clamp(1.25rem, 2vw, 1.55rem);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.14;
  margin: 0;
  text-transform: uppercase;
}

body.itemid-102 .school-news-list-card h2 a {
  color: #30343a;
}

body.itemid-102 .school-news-list-card__description {
  color: #68717a;
  display: -webkit-box;
  font-size: 1.02rem;
  line-height: 1.55;
  max-height: 4.9rem;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

body.itemid-102 .school-news-list-card__description p,
body.itemid-102 .school-news-list-card__description div {
  margin: 0;
}

body.itemid-102 .school-news-list-card__description img {
  display: none;
}

body.itemid-102 .school-news-list-card__meta {
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-top: auto;
  padding-top: .9rem;
}

body.itemid-102 .school-news-list-card .article-info {
  color: #009b58;
  font-size: 1rem;
  font-weight: 900;
  margin: 0;
  text-transform: none;
}

body.itemid-102 .school-news-list-card .published {
  margin: 0;
}

body.itemid-102 .school-news-list-card .readmore {
  margin: 0;
  padding: 0;
}

body.itemid-102 .school-news-list-card .readmore .btn {
  background: transparent;
  border: 0;
  color: #009b58;
  font-size: 1rem;
  font-weight: 900;
  padding: 0;
}

body.itemid-102 .school-news-list-card .readmore .btn::after {
  content: " →";
}

body.itemid-102 .school-news-list-card .readmore .btn:hover,
body.itemid-102 .school-news-list-card .readmore .btn:focus {
  color: #006f40;
  text-decoration: underline;
}

/* Shared article-list cards for category/blog views */
body.view-category.layout-blog:not(.itemid-101) .blog-items,
body.view-category.layout-blog:not(.itemid-101) .items-leading {
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr !important;
}

body.view-category.layout-blog:not(.itemid-101) .blog-items.masonry-1,
body.view-category.layout-blog:not(.itemid-101) .blog-items.masonry-2,
body.view-category.layout-blog:not(.itemid-101) .blog-items.masonry-3 {
  grid-template-columns: 1fr !important;
}

body.view-category.layout-blog:not(.itemid-101) .blog-item {
  background: #fff;
  border: 1px solid #edf1f4;
  border-radius: 6px;
  box-shadow: 0 10px 24px rgba(23, 32, 42, .06);
  min-height: 0;
  overflow: hidden;
}

body.view-category.layout-blog:not(.itemid-101) .blog-item .item-content.school-news-list-card {
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(13rem, 260px) minmax(0, 1fr);
  min-height: 11rem;
  padding: .45rem;
}

body.view-category.layout-blog:not(.itemid-101) .school-news-list-card__media {
  align-self: stretch;
  background: #e8eef2;
  border-radius: 4px;
  color: #6b7780;
  display: block;
  height: 100%;
  min-height: 10.5rem;
  overflow: hidden;
  position: relative;
  text-decoration: none;
}

body.view-category.layout-blog:not(.itemid-101) .school-news-list-card__media img {
  border-radius: 0;
  display: block;
  height: 100%;
  inset: 0;
  margin: 0;
  max-height: none;
  object-fit: cover;
  position: absolute;
  width: 100%;
}

body.view-category.layout-blog:not(.itemid-101) .school-news-list-card__placeholder {
  align-items: center;
  display: flex;
  font-weight: 850;
  height: 100%;
  justify-content: center;
  min-height: 10.5rem;
}

body.view-category.layout-blog:not(.itemid-101) .school-news-list-card__body {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: .65rem .55rem .5rem 0;
}

body.view-category.layout-blog:not(.itemid-101) .school-news-list-card .page-header {
  margin: 0 0 .45rem;
}

body.view-category.layout-blog:not(.itemid-101) .school-news-list-card h2 {
  font-size: clamp(1.25rem, 2vw, 1.55rem);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.14;
  margin: 0;
  text-transform: uppercase;
}

body.view-category.layout-blog:not(.itemid-101) .school-news-list-card h2 a {
  color: #30343a;
  cursor: default;
  pointer-events: none;
  text-decoration: none;
}

body.view-category.layout-blog:not(.itemid-101) .school-news-list-card__description {
  color: #68717a;
  display: -webkit-box;
  font-size: 1.02rem;
  line-height: 1.55;
  max-height: 4.9rem;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

body.view-category.layout-blog:not(.itemid-101) .school-news-list-card__description p,
body.view-category.layout-blog:not(.itemid-101) .school-news-list-card__description div {
  margin: 0;
}

body.view-category.layout-blog:not(.itemid-101) .school-news-list-card__meta {
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  line-height: 1.1;
  margin-top: auto;
  padding-top: .9rem;
}

body.view-category.layout-blog:not(.itemid-101) .school-news-list-card .article-info,
body.view-category.layout-blog:not(.itemid-101) .school-news-list-card__date {
  color: #009b58;
  align-items: center;
  display: flex;
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.1;
  margin: 0;
  text-transform: none;
}

body.view-category.layout-blog:not(.itemid-101) .school-news-list-card .published,
body.view-category.layout-blog:not(.itemid-101) .school-news-list-card .readmore {
  align-items: center;
  display: flex;
  line-height: 1.1;
  margin: 0;
  padding: 0;
}

body.view-category.layout-blog:not(.itemid-101) .school-news-list-card .article-info-term,
body.view-category.layout-blog:not(.itemid-101) .school-news-list-card .article-info .icon-calendar {
  display: none;
}

body.view-category.layout-blog:not(.itemid-101) .school-news-list-card .readmore .btn {
  align-items: center;
  background: transparent;
  border: 0;
  color: #009b58;
  display: inline-flex;
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.1;
  padding: 0;
}

body.view-category.layout-blog:not(.itemid-101) .school-news-list-card .readmore .btn::after {
  content: " →";
}

body.view-category.layout-blog:not(.itemid-101) .school-news-list-card .readmore {
  margin-left: auto;
}

@media (max-width: 991.98px) {
  body.itemid-102 .blog-items {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 767.98px) {
  body.itemid-102 .blog-items,
  body.itemid-102 .items-leading {
    grid-template-columns: 1fr;
  }

  body.itemid-102 .items-leading > .blog-item:first-child {
    grid-column: auto;
  }

  body.itemid-102 .blog-item {
    min-height: 0;
  }

  body.itemid-102 .blog-item .item-content {
    padding: .95rem;
  }

  body.itemid-102 .blog-item .item-content.school-news-list-card {
    grid-template-columns: 1fr;
    padding: .45rem;
  }

  body.itemid-102 .school-news-list-card__media,
  body.itemid-102 .school-news-list-card__placeholder {
    min-height: 12rem;
  }

  body.itemid-102 .school-news-list-card__body {
    padding: .6rem .45rem .45rem;
  }

  body.itemid-102 .school-news-list-card__meta {
    align-items: flex-start;
    flex-direction: column;
    gap: .45rem;
  }

  body.view-category.layout-blog:not(.itemid-101) .blog-item .item-content.school-news-list-card {
    grid-template-columns: 1fr;
    padding: .45rem;
  }

  body.view-category.layout-blog:not(.itemid-101) .school-news-list-card__media,
  body.view-category.layout-blog:not(.itemid-101) .school-news-list-card__placeholder {
    min-height: 12rem;
  }

  body.view-category.layout-blog:not(.itemid-101) .school-news-list-card__body {
    padding: .6rem .45rem .45rem;
  }

body.view-category.layout-blog:not(.itemid-101) .school-news-list-card__meta {
    align-items: center;
    flex-direction: row;
    gap: .75rem;
  }
}

/* Header refinement and sticky nav-only behavior */
.container-header {
  position: relative;
  z-index: 1030;
}

.container-header .navbar-brand {
  max-width: none;
  width: 100%;
}

.container-header .brand-logo span {
  display: block;
  font-size: clamp(1.35rem, 2.35vw, 1.95rem);
  line-height: 1.02;
  max-width: none;
  white-space: normal;
}

.container-header .container-nav {
  background: #ffffff;
  border-top: 1px solid #e1ebef;
  margin-top: .3rem;
  padding-bottom: .55rem;
  padding-top: .55rem;
}

.container-header .mod-menu {
  align-items: center;
  column-gap: .22rem;
  row-gap: .25rem;
}

.container-header .mod-menu > li > a,
.container-header .mod-menu > li > span,
.container-header .mod-menu > li > button {
  background: #ffffff;
  border: 1px solid transparent;
  border-radius: 999px;
  box-shadow: none;
  color: #143047;
  font-size: .84rem;
  font-weight: 850;
  min-height: 2.05rem;
  padding: .42rem .58rem;
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease;
}

.container-header .mod-menu > li.active > a,
.container-header .mod-menu > li > a:hover,
.container-header .mod-menu > li > a:focus,
.container-header .mod-menu > li > button:hover,
.container-header .mod-menu > li > button:focus {
  background: #eaf6ff;
  border-color: #c9e3f4;
  box-shadow: 0 6px 14px rgba(18, 104, 166, .12);
  color: #0e5f93;
}

.container-header .mod-menu > li.current > a,
.container-header .mod-menu > li.active > a {
  background: #1268a6;
  border-color: #1268a6;
  color: #ffffff;
}

.container-header .mod-menu > li > a.school-menu-parent-link::after {
  color: currentColor;
  margin-left: .38rem;
}

.school-nav-fixed .container-header .container-nav {
  border-top: 0;
  box-shadow: 0 10px 24px rgba(23, 32, 42, .10);
  left: 0;
  margin-top: 0;
  padding-bottom: .38rem;
  padding-top: .38rem;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 1030;
}

.school-nav-placeholder {
  display: block;
  height: 0;
  overflow-anchor: none;
}

body .container-header {
  overflow-anchor: none;
  position: relative !important;
  top: auto !important;
}

.school-detached-nav {
  background: #ffffff;
  border-bottom: 1px solid #d8e6ec;
  box-shadow: 0 10px 24px rgba(23, 32, 42, .10);
  margin: 0 auto;
  padding-bottom: .38rem;
  padding-top: .38rem;
  position: sticky;
  top: 0;
  z-index: 1030;
}

.school-detached-nav .mod-menu {
  align-items: center;
  column-gap: .22rem;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  list-style: none;
  margin: 0 auto;
  max-width: 1180px;
  padding-left: 0;
  row-gap: .25rem;
}

.school-detached-nav .mod-menu > li {
  align-items: center;
  display: inline-flex;
  position: relative;
}

.school-detached-nav .mod-menu > li > a,
.school-detached-nav .mod-menu > li > span,
.school-detached-nav .mod-menu > li > button {
  align-items: center;
  background: #ffffff;
  border: 1px solid transparent;
  border-radius: 999px;
  box-shadow: none;
  color: #143047;
  display: inline-flex;
  font-size: .84rem;
  font-weight: 850;
  min-height: 2.05rem;
  padding: .42rem .58rem;
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease;
}

.school-detached-nav .mod-menu > li.active > a,
.school-detached-nav .mod-menu > li > a:hover,
.school-detached-nav .mod-menu > li > a:focus,
.school-detached-nav .mod-menu > li > button:hover,
.school-detached-nav .mod-menu > li > button:focus {
  background: #eaf6ff;
  border-color: #c9e3f4;
  box-shadow: 0 6px 14px rgba(18, 104, 166, .12);
  color: #0e5f93;
}

.school-detached-nav .mod-menu > li.current > a,
.school-detached-nav .mod-menu > li.active > a {
  background: #1268a6;
  border-color: #1268a6;
  color: #ffffff;
}

.school-detached-nav .mod-menu > li > a.school-menu-parent-link::after {
  color: currentColor;
  content: "⌄";
  font-size: .95rem;
  font-weight: 900;
  margin-left: .38rem;
}

.school-detached-nav .mod-menu > li > a.school-menu-parent-link + button {
  height: 100%;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  width: 100%;
}

.school-detached-nav .mod-menu__sub {
  background: #fff;
  border: 1px solid var(--school-line);
  border-radius: 8px;
  box-shadow: 0 16px 30px rgba(23, 32, 42, .12);
  left: 0;
  min-width: 15rem;
  padding: .35rem;
  position: absolute;
  top: calc(100% + .25rem);
  z-index: 1040;
}

.school-detached-nav .mod-menu__sub a,
.school-detached-nav .mod-menu__sub .mod-menu__heading {
  border-radius: 6px;
  color: var(--school-ink);
  display: block;
  padding: .55rem .7rem;
  text-decoration: none;
}

.container-topbar,
.container-header > .grid-child:has(.navbar-brand),
.container-header::before,
.container-header .container-nav {
  transition: opacity .12s ease, box-shadow .18s ease;
}

/* Homepage articles use the same one-column rhythm as article lists */
.school-news-grid {
  grid-template-columns: 1fr;
}

.school-news-card,
.school-news-card--featured {
  border-radius: 6px;
  display: grid;
  grid-column: auto;
  grid-template-columns: minmax(13rem, 260px) minmax(0, 1fr);
  min-height: 11rem;
}

.school-news-card__media {
  border-radius: 4px 0 0 4px;
  min-height: 10.5rem;
}

.school-news-card__media img {
  height: 100%;
}

.school-news-card__body {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: .45rem;
  padding: .85rem 1rem;
}

.school-news-card__footer {
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  line-height: 1.1;
  margin-top: auto;
}

.school-news-card time {
  color: #009b58;
  font-size: 1rem;
  margin: 0;
  white-space: nowrap;
}

.school-news-card h3 {
  font-size: clamp(1.25rem, 2vw, 1.55rem);
  font-weight: 900;
  line-height: 1.14;
  text-transform: uppercase;
}

.school-news-card--featured h3 {
  font-size: clamp(1.25rem, 2vw, 1.55rem);
}

.school-news-card p {
  display: -webkit-box;
  font-size: 1.02rem;
  line-height: 1.55;
  max-height: 4.9rem;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.school-news-card__more {
  align-self: flex-end;
  color: #009b58;
  font-size: 1rem;
  font-weight: 900;
  margin-left: auto;
  margin-top: 0;
  white-space: nowrap;
}

.school-news-card__more::after {
  content: " →";
}

@media (max-width: 1180px) {
  .container-header .brand-logo span {
    font-size: clamp(1.2rem, 2.2vw, 1.55rem);
  }
}

@media (max-width: 900px) {
  .container-header .brand-logo span {
    white-space: normal;
  }
}

@media (max-width: 767.98px) {
  .container-header {
    position: relative;
  }

  .school-nav-fixed .container-header .container-nav {
    box-shadow: none;
    position: static;
  }

  .school-detached-nav {
    position: static;
  }

  .school-news-card,
  .school-news-card--featured {
    grid-template-columns: 1fr;
  }

  .school-news-card__media {
    border-radius: 4px 4px 0 0;
    min-height: 12rem;
  }

  .school-news-card__more {
    align-self: flex-end;
    margin-top: 0;
  }
}

/* Article detail layout */
.com-content-article.school-article-layout {
  background: #fff;
  border: 1px solid #dce5ea;
  border-radius: 8px;
  box-shadow: 0 12px 30px rgba(23, 32, 42, .05);
  overflow: hidden;
  padding: 0;
}

.school-article-hero-image {
  background: #e8eef2;
  margin: 0;
  max-height: 34rem;
  overflow: hidden;
}

.school-article-hero-image img {
  display: block;
  height: 100%;
  max-height: 34rem;
  object-fit: cover;
  width: 100%;
}

.school-article-hero-image--portrait {
  display: grid;
  max-height: none;
  padding: clamp(1rem, 3vw, 2rem);
  place-items: center;
}

.school-article-hero-image--portrait img {
  height: auto;
  max-height: 46rem;
  max-width: min(100%, 28rem);
  object-fit: contain;
  width: auto;
}

.com-content-article.school-article-layout > .page-header {
  margin: 0;
  padding: clamp(1.1rem, 2.4vw, 1.7rem) clamp(1rem, 2.4vw, 1.7rem) .35rem;
}

.com-content-article.school-article-layout > .page-header h1 {
  color: #123047;
  font-size: clamp(1.65rem, 3vw, 2.45rem);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.08;
  margin: 0;
  text-transform: uppercase;
}

.school-article-meta {
  align-items: center;
  border-bottom: 1px solid #e2ebef;
  color: #009b58;
  display: flex;
  font-size: 1rem;
  font-weight: 900;
  gap: 1rem;
  justify-content: space-between;
  margin: 0 clamp(1rem, 2.4vw, 1.7rem);
  padding: .45rem 0 1rem;
}

.school-article-meta__hits {
  color: #5f6f7a;
}

.com-content-article.school-article-layout .com-content-article__body {
  color: #344551;
  font-size: 1.04rem;
  line-height: 1.75;
  padding: clamp(1rem, 2.4vw, 1.7rem);
}

.com-content-article.school-article-layout .com-content-article__body img {
  display: none;
}

.school-article-gallery {
  border-top: 1px solid #e2ebef;
  padding: clamp(1rem, 2.4vw, 1.7rem);
}

.school-article-gallery h2 {
  color: #123047;
  font-size: 1.35rem;
  font-weight: 900;
  margin: 0 0 1rem;
}

.school-article-gallery__grid {
  display: grid;
  gap: .75rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.school-article-gallery figure {
  background: #e8eef2;
  border-radius: 6px;
  margin: 0;
  overflow: hidden;
}

.school-article-gallery__open {
  background: transparent;
  border: 0;
  cursor: zoom-in;
  display: block;
  height: 100%;
  padding: 0;
  width: 100%;
}

.school-article-gallery__open:focus-visible {
  outline: 4px solid #ffca28;
  outline-offset: -4px;
}

.school-article-gallery img {
  aspect-ratio: 4 / 3;
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.school-gallery-lightbox {
  background: transparent;
  border: 0;
  height: 100vh;
  margin: auto;
  max-height: none;
  max-width: none;
  padding: 0;
  width: 100vw;
}

.school-gallery-lightbox::backdrop {
  background: rgba(4, 15, 23, .94);
}

.school-gallery-lightbox__stage {
  align-items: center;
  display: flex;
  height: 100%;
  justify-content: center;
  padding: clamp(3.5rem, 6vw, 5rem) clamp(3.5rem, 7vw, 7rem);
  position: relative;
  width: 100%;
}

.school-gallery-lightbox figure {
  align-items: center;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: center;
  margin: 0;
  max-width: 100%;
}

.school-gallery-lightbox img {
  border-radius: 6px;
  box-shadow: 0 18px 54px rgba(0, 0, 0, .45);
  display: block;
  max-height: calc(100vh - 9rem);
  max-width: 100%;
  object-fit: contain;
}

.school-gallery-lightbox figcaption {
  color: #fff;
  font-size: 1rem;
  font-weight: 750;
  margin-top: .75rem;
}

.school-gallery-lightbox button {
  align-items: center;
  background: rgba(15, 47, 69, .9);
  border: 2px solid rgba(255, 255, 255, .72);
  border-radius: 999px;
  color: #fff;
  display: flex;
  font-size: 1.75rem;
  height: 3.25rem;
  justify-content: center;
  padding: 0;
  position: absolute;
  width: 3.25rem;
  z-index: 1;
}

.school-gallery-lightbox button:hover,
.school-gallery-lightbox button:focus-visible {
  background: #008f5a;
  border-color: #fff;
  outline: 0;
}

.school-gallery-lightbox__close {
  right: 1.25rem;
  top: 1.25rem;
}

.school-gallery-lightbox__previous {
  left: 1.25rem;
  top: 50%;
  transform: translateY(-50%);
}

.school-gallery-lightbox__next {
  right: 1.25rem;
  top: 50%;
  transform: translateY(-50%);
}

@media (max-width: 575.98px) {
  .school-gallery-lightbox__stage {
    padding: 4.25rem .75rem 5.25rem;
  }

  .school-gallery-lightbox img {
    max-height: calc(100vh - 10rem);
  }

  .school-gallery-lightbox__previous,
  .school-gallery-lightbox__next {
    bottom: .85rem;
    top: auto;
    transform: none;
  }

  .school-gallery-lightbox__previous {
    left: calc(50% - 4rem);
  }

  .school-gallery-lightbox__next {
    right: calc(50% - 4rem);
  }
}

@media (max-width: 767.98px) {
  .school-article-meta {
    align-items: flex-start;
    flex-direction: column;
    gap: .35rem;
  }

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

/* Lukow-inspired practical homepage layer */
.container-topbar {
  background: #123047;
  color: #fff;
}

.container-topbar .grid-child {
  padding-bottom: 0;
  padding-top: 0;
}

.school-topbar {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: .45rem 1rem;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 1180px;
  min-height: 2.35rem;
}

.school-topbar a {
  color: #fff;
  font-size: .9rem;
  font-weight: 800;
  text-decoration: none;
}

.school-topbar a:hover,
.school-topbar a:focus {
  text-decoration: underline;
}

.school-topbar__contact,
.school-topbar__links {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem .9rem;
}

.school-home-portal {
  display: grid;
  gap: .85rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 1rem auto 0;
  max-width: 1180px;
}

.school-home-portal a {
  background: #fff;
  border: 1px solid #d5e1e6;
  border-radius: 8px;
  color: #123047;
  display: grid;
  gap: .35rem;
  min-height: 9.7rem;
  padding: .95rem;
  text-decoration: none;
}

.school-home-portal a:nth-child(1),
.school-home-portal a:nth-child(4) {
  background: #eef7ff;
  border-color: #bad9ef;
}

.school-home-portal a:nth-child(2),
.school-home-portal a:nth-child(5) {
  background: #f0fbf3;
  border-color: #b8dcc6;
}

.school-home-portal a:nth-child(3),
.school-home-portal a:nth-child(6) {
  background: #fff8df;
  border-color: #ecd57a;
}

.school-home-portal__label {
  color: #0f7b55;
  font-size: .76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.school-home-portal strong {
  color: #123047;
  font-size: 1rem;
  line-height: 1.18;
}

.school-home-portal span:last-child {
  color: #43515b;
  font-size: .92rem;
  line-height: 1.45;
}

.school-home-portal a:hover,
.school-home-portal a:focus,
.school-home-shortcuts__grid a:hover,
.school-home-shortcuts__grid a:focus {
  box-shadow: 0 12px 26px rgba(23, 32, 42, .1);
  transform: translateY(-1px);
}

.school-home-shortcuts {
  align-items: stretch;
  background: #ffffff;
  border: 1px solid #d5e1e6;
  border-radius: 8px;
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(16rem, .35fr) minmax(0, 1fr);
  margin: 1rem auto 0;
  max-width: 1180px;
  padding: 1rem;
}

.school-home-shortcuts__intro {
  align-content: center;
  background: #123047;
  border-radius: 7px;
  color: #fff;
  display: grid;
  padding: 1rem;
}

.school-home-shortcuts__intro .school-kicker,
.school-home-shortcuts__intro h2 {
  color: #fff;
}

.school-home-shortcuts__intro h2 {
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  line-height: 1.12;
  margin: .3rem 0 0;
}

.school-home-shortcuts__grid {
  display: grid;
  gap: .75rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.school-home-shortcuts__grid a {
  background: #f8fbfc;
  border: 1px solid #d5e1e6;
  border-radius: 8px;
  color: #123047;
  display: grid;
  gap: .35rem;
  padding: .9rem;
  text-decoration: none;
}

.school-home-shortcuts__grid strong {
  color: #123047;
  line-height: 1.18;
}

.school-home-shortcuts__grid span {
  color: #43515b;
  font-size: .92rem;
  line-height: 1.45;
}

@media (max-width: 1100px) {
  .school-home-portal {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .school-home-shortcuts,
  .school-home-shortcuts__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .school-topbar {
    justify-content: center;
    padding: .45rem .75rem;
    text-align: center;
  }

  .school-home-portal,
  .school-home-shortcuts,
  .school-home-shortcuts__grid {
    grid-template-columns: 1fr;
  }

  .school-home-portal {
    margin-top: .75rem;
  }

  .school-home-portal a {
    min-height: 0;
  }
}

/* Navy-green visual refresh */
:root {
  --school-ink: #10202b;
  --school-muted: #526672;
  --school-line: #d2dfdd;
  --school-paper: #fbfdfc;
  --school-soft: #eef3f1;
  --school-blue: #1268a6;
  --school-green: #008f5a;
  --school-red: #bf4a44;
  --school-yellow: #f0bd3d;
  --cassiopeia-color-primary: #1268a6;
  --cassiopeia-color-link: #0e7651;
  --cassiopeia-color-hover: #0a513a;
}

body,
.site-grid {
  background: linear-gradient(180deg, #e9f1ee 0%, #f4f7f6 42%, #eef3f1 100%);
  color: var(--school-ink);
}

.container-topbar {
  background: #0a2435;
  border-top: 5px solid #008f5a;
  color: #ffffff;
}

.container-topbar a,
.school-topbar a {
  color: #ffffff;
}

.container-header {
  background: #0f2f45;
  border-bottom: 0;
  box-shadow: 0 16px 34px rgba(10, 36, 53, .18);
}

.container-header::before {
  background: linear-gradient(90deg, #008f5a 0 42%, #f0bd3d 42% 68%, #bf4a44 68% 100%);
  height: 5px;
}

.container-header .navbar-brand,
.container-header .brand-logo span {
  color: #ffffff;
}

.container-header .navbar-brand .site-description {
  color: rgba(255, 255, 255, .78);
}

.school-detached-nav {
  background: #0f2f45;
  border-bottom: 1px solid rgba(255, 255, 255, .08);
  box-shadow: 0 12px 28px rgba(10, 36, 53, .20);
}

.school-detached-nav .mod-menu > li > a,
.school-detached-nav .mod-menu > li > span,
.school-detached-nav .mod-menu > li > button {
  background: transparent;
  border-color: rgba(255, 255, 255, .10);
  color: rgba(255, 255, 255, .92);
}

.school-detached-nav .mod-menu > li.active > a,
.school-detached-nav .mod-menu > li > a:hover,
.school-detached-nav .mod-menu > li > a:focus,
.school-detached-nav .mod-menu > li > button:hover,
.school-detached-nav .mod-menu > li > button:focus {
  background: rgba(255, 255, 255, .12);
  border-color: rgba(255, 255, 255, .22);
  box-shadow: none;
  color: #ffffff;
}

.school-detached-nav .mod-menu > li.current > a,
.school-detached-nav .mod-menu > li.active > a {
  background: #008f5a;
  border-color: #008f5a;
  color: #ffffff;
}

.school-detached-nav .mod-menu__sub {
  background: #ffffff;
  border-color: #c8d8d5;
  box-shadow: 0 18px 36px rgba(10, 36, 53, .18);
}

.school-detached-nav .mod-menu__sub a:hover,
.school-detached-nav .mod-menu__sub a:focus {
  background: #e7f3ee;
  color: #075b3f;
}

.school-mobile-menu-toggle {
  display: none;
}

@media (max-width: 767.98px) {
  .school-detached-nav {
    display: block !important;
    padding: .55rem 1rem;
  }

  .school-mobile-menu-toggle {
    align-items: center;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 999px;
    color: #fff;
    cursor: pointer;
    display: flex;
    font: inherit;
    font-weight: 800;
    height: auto;
    justify-content: space-between;
    min-height: 2.65rem;
    padding: .55rem .85rem;
    width: 100%;
  }

  .school-mobile-menu-toggle:focus-visible {
    outline: 3px solid #ffd34f;
    outline-offset: 2px;
  }

  .school-detached-nav .mod-menu {
    display: none;
    padding-top: .65rem;
    width: 100%;
  }

  .school-detached-nav.school-mobile-menu-open .mod-menu {
    display: flex;
  }
}

.container-main-top,
.container-component,
.container-bottom-a {
  color: var(--school-ink);
}

/* Accessible automatic submenus */
.school-detached-nav .school-menu-parent-link::after {
  border-bottom: 2px solid currentColor;
  border-right: 2px solid currentColor;
  content: "" !important;
  display: inline-block;
  height: .42rem;
  margin-left: .5rem;
  position: relative;
  top: -.1rem;
  transform: rotate(45deg);
  transition: transform .18s ease, top .18s ease;
  width: .42rem;
}

.school-detached-nav .school-submenu-open > .school-menu-parent-link::after {
  top: .12rem;
  transform: rotate(225deg);
}

.school-detached-nav .school-has-submenu > .mod-menu__sub {
  display: block;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-.4rem);
  transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
  visibility: hidden;
}

.school-detached-nav .school-has-submenu.school-submenu-open > .mod-menu__sub {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
  visibility: visible;
}

@media (min-width: 768px) {
  .school-detached-nav .school-has-submenu:hover > .mod-menu__sub,
  .school-detached-nav .school-has-submenu:focus-within > .mod-menu__sub {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
    visibility: visible;
  }

  .school-detached-nav .school-has-submenu:hover > .school-menu-parent-link::after,
  .school-detached-nav .school-has-submenu:focus-within > .school-menu-parent-link::after {
    top: .12rem;
    transform: rotate(225deg);
  }

  .school-detached-nav .school-has-submenu > .mod-menu__sub::before {
    content: "";
    height: .4rem;
    left: 0;
    position: absolute;
    right: 0;
    top: -.4rem;
  }
}

.school-detached-nav .school-submenu-toggle[hidden] {
  display: none !important;
}

@media (max-width: 767.98px) {
  .school-detached-nav .mod-menu {
    align-items: stretch;
    flex-direction: column;
  }

  .school-detached-nav .mod-menu > li {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
  }

  .school-detached-nav .mod-menu > li > a,
  .school-detached-nav .mod-menu > li > span {
    flex: 1 1 auto;
  }

  .school-detached-nav .school-menu-parent-link::after {
    display: none;
  }

  .school-detached-nav .mod-menu > li > button.school-submenu-toggle {
    align-items: center;
    align-self: stretch;
    background: rgba(255, 255, 255, .07);
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 999px;
    display: flex;
    height: auto;
    inset: auto;
    justify-content: center;
    margin-left: .25rem;
    min-height: 2.65rem;
    opacity: 1;
    padding: 0;
    pointer-events: auto;
    position: static;
    width: 2.65rem;
  }

  .school-detached-nav .school-submenu-toggle::before {
    border-bottom: 2px solid currentColor;
    border-right: 2px solid currentColor;
    content: "";
    height: .48rem;
    position: relative;
    top: -.12rem;
    transform: rotate(45deg);
    transition: transform .18s ease, top .18s ease;
    width: .48rem;
  }

  .school-detached-nav .school-submenu-open > .school-submenu-toggle::before {
    top: .12rem;
    transform: rotate(225deg);
  }

  .school-detached-nav .school-has-submenu > .mod-menu__sub {
    border: 0;
    box-shadow: none;
    flex: 0 0 100%;
    margin: 0;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    padding: 0 .35rem;
    position: static;
    transform: none;
    transition: max-height .22s ease, opacity .18s ease, padding .22s ease;
    visibility: hidden;
    width: 100%;
  }

  .school-detached-nav .school-has-submenu.school-submenu-open > .mod-menu__sub {
    margin-top: .35rem;
    max-height: 38rem;
    opacity: 1;
    padding: .35rem;
    visibility: visible;
  }
}

.school-news-card,
body.view-category.layout-blog:not(.itemid-101) .blog-item .item-content.school-news-list-card,
body.itemid-102 .blog-item .item-content.school-news-list-card,
.com-content-article.school-article-layout,
.school-home-intro,
.school-home-portal a,
.school-home-shortcuts,
.school-home-shortcuts__grid a {
  background: #fbfdfc;
  border-color: #d2dfdd;
  box-shadow: 0 16px 34px rgba(16, 32, 43, .07);
}

.school-news-card h3,
body.view-category.layout-blog:not(.itemid-101) .school-news-list-card h2,
body.itemid-102 .school-news-list-card h2,
.com-content-article.school-article-layout > .page-header h1 {
  color: #10202b;
}

.school-news-card p,
body.view-category.layout-blog:not(.itemid-101) .school-news-list-card__description,
body.itemid-102 .school-news-list-card__description,
.school-article-meta {
  color: #526672;
}

.school-news-card time,
.school-news-card__more,
body.view-category.layout-blog:not(.itemid-101) .school-news-list-card .article-info,
body.view-category.layout-blog:not(.itemid-101) .school-news-list-card .readmore .btn,
body.itemid-102 .school-news-list-card .article-info,
body.itemid-102 .school-news-list-card .readmore .btn,
.school-kicker,
.school-news-heading .school-text-link {
  color: #008f5a;
}

.school-news-card__media,
body.view-category.layout-blog:not(.itemid-101) .school-news-list-card__media,
body.itemid-102 .school-news-list-card__media {
  background: #dce9e7;
}

.school-home-shortcuts__intro {
  background: #0f2f45;
}

.btn-primary,
.readmore .btn-primary {
  background: #1268a6;
  border-color: #1268a6;
}

.btn-primary:hover,
.btn-primary:focus {
  background: #0e4f7f;
  border-color: #0e4f7f;
}

/* Homepage as an identity page and a concise information gateway */
.school-home-welcome {
  background: var(--school-paper);
  border: 1px solid var(--school-line);
  border-radius: 10px;
  box-shadow: 0 18px 42px rgba(16, 32, 43, .08);
  display: grid;
  gap: 1.25rem;
  grid-template-columns: minmax(0, 1.05fr) minmax(22rem, .95fr);
  margin: 1.5rem auto 0;
  max-width: 1180px;
  overflow: hidden;
  padding: clamp(1.25rem, 3vw, 2.4rem);
}

.school-home-welcome__intro h2 {
  color: var(--school-ink);
  font-size: clamp(1.8rem, 3vw, 2.65rem);
  line-height: 1.08;
  margin: .3rem 0 .8rem;
  max-width: 18ch;
}

.school-home-welcome__intro > p:last-of-type {
  color: var(--school-muted);
  font-size: 1.03rem;
  line-height: 1.7;
  margin: 0;
  max-width: 62ch;
}

.school-home-welcome__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin-top: 1.25rem;
}

.school-home-welcome__actions a {
  border: 1px solid #aac4be;
  border-radius: 7px;
  color: var(--school-ink);
  font-weight: 800;
  padding: .68rem .9rem;
  text-decoration: none;
}

.school-home-welcome__actions .school-home-welcome__primary {
  background: var(--school-green);
  border-color: var(--school-green);
  color: #fff;
}

.school-home-welcome__actions a:hover,
.school-home-welcome__actions a:focus {
  box-shadow: 0 8px 20px rgba(16, 32, 43, .12);
  transform: translateY(-1px);
}

.school-home-audiences {
  display: grid;
  gap: .75rem;
}

.school-home-audiences > a {
  background: #edf6f3;
  border: 1px solid #bdd8cf;
  border-radius: 9px;
  color: var(--school-ink);
  display: grid;
  gap: .3rem;
  padding: 1.15rem;
  text-decoration: none;
}

.school-home-audiences > a:nth-child(2) {
  background: #eef5fa;
  border-color: #bfd4e2;
}

.school-home-audiences > a:hover,
.school-home-audiences > a:focus {
  border-color: var(--school-green);
  box-shadow: 0 12px 25px rgba(16, 32, 43, .1);
}

.school-home-audiences__eyebrow {
  color: var(--school-muted);
  font-size: .82rem;
  font-weight: 700;
}

.school-home-audiences strong {
  font-size: clamp(1.25rem, 2vw, 1.55rem);
}

.school-home-audiences > a > span:last-child {
  color: var(--school-green);
  font-weight: 800;
}

.school-home-paths {
  align-items: center;
  border-top: 1px solid var(--school-line);
  display: flex;
  flex-wrap: wrap;
  gap: .55rem 1rem;
  grid-column: 1 / -1;
  padding-top: 1rem;
}

.school-home-paths__label {
  color: var(--school-muted);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.school-home-paths a {
  color: var(--school-green);
  font-weight: 800;
  text-decoration-thickness: 1px;
  text-underline-offset: .2em;
}

.school-news-heading__lead {
  color: var(--school-muted);
  line-height: 1.5;
  margin: .35rem 0 0;
}

body.itemid-101 .school-news-grid--home-preview {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.itemid-101 .school-news-grid--home-preview .school-news-card,
body.itemid-101 .school-news-grid--home-preview .school-news-card--featured {
  grid-template-columns: 1fr;
  min-height: 0;
}

body.itemid-101 .school-news-grid--home-preview .school-news-card__media {
  border-radius: 4px 4px 0 0;
  min-height: 11rem;
}

body.itemid-101 .school-news-grid--home-preview .school-news-card__media img {
  aspect-ratio: 16 / 9;
}

body.itemid-101 .school-news-grid--home-preview .school-news-card__body {
  min-height: 13rem;
}

body.itemid-101 .school-news-grid--home-preview .school-news-card h3,
body.itemid-101 .school-news-grid--home-preview .school-news-card--featured h3 {
  font-size: clamp(1.15rem, 1.7vw, 1.35rem);
}

/* Keep article-list metadata outside the clamped description area. */
body.itemid-102 .blog-item .item-content.school-news-list-card > .school-news-list-card__body,
body.view-category.layout-blog:not(.itemid-101) .blog-item .item-content.school-news-list-card > .school-news-list-card__body {
  display: flex;
  flex-direction: column;
  max-height: none;
  overflow: visible;
  -webkit-box-orient: initial;
  -webkit-line-clamp: unset;
}

@media (max-width: 991.98px) {
  .school-home-welcome {
    grid-template-columns: 1fr;
  }

  body.itemid-101 .school-news-grid--home-preview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  .school-home-welcome {
    border-left: 0;
    border-radius: 0;
    border-right: 0;
    margin-top: 1rem;
    padding: 1.15rem;
  }

  .school-home-welcome__actions,
  .school-home-welcome__actions a,
  .school-home-paths {
    width: 100%;
  }

  .school-home-welcome__actions a {
    text-align: center;
  }

  .school-home-paths {
    align-items: flex-start;
    flex-direction: column;
  }

  body.itemid-101 .school-news-grid--home-preview {
    grid-template-columns: 1fr;
  }

  body.itemid-101 .school-news-grid--home-preview .school-news-card__body {
    min-height: 0;
  }
}

/* Aligned header identity and navigation */
.container-header .grid-child {
  align-items: center;
  gap: 1.5rem;
  justify-content: space-between;
  width: calc(100% - 2rem);
}

.container-header .navbar-brand {
  flex: 1 1 auto;
  max-width: none;
  min-width: 0;
}

.container-header .brand-logo > span {
  max-width: none;
}

.container-header .school-brand-line {
  display: block;
}

.container-header .school-brand-line--first {
  white-space: nowrap;
}

.school-header-marks {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  gap: .55rem;
}

.school-header-mark {
  align-items: center;
  align-self: center;
  background: #ffffff;
  border: 1px solid rgba(255, 255, 255, .42);
  border-radius: 7px;
  box-shadow: 0 8px 18px rgba(4, 15, 23, .2);
  display: flex;
  flex: 0 0 auto;
  justify-content: center;
  overflow: hidden;
  padding: .2rem .28rem;
}

.school-header-mark img {
  display: block;
  height: 4rem;
  object-fit: contain;
  width: auto;
}

.school-school-logo img {
  aspect-ratio: 1;
}

.school-news-list-card__media--placeholder,
.school-news-card__media:has(.school-news-card__placeholder-image) {
  background: #fbfaf6 !important;
}

body.view-category.layout-blog:not(.itemid-101) .school-news-list-card__media--placeholder img.school-news-list-card__placeholder-image,
body.itemid-102 .school-news-list-card__media--placeholder img.school-news-list-card__placeholder-image,
.school-news-card__media img.school-news-card__placeholder-image {
  background: #fbfaf6;
  object-fit: contain;
  padding: clamp(.8rem, 2vw, 1.35rem);
}

.school-detached-nav {
  border-radius: 0 0 7px 7px;
  margin-left: auto;
  margin-right: auto;
  max-width: 1180px;
  width: calc(100% - 2rem);
}

.school-detached-nav .mod-menu {
  justify-content: center;
  max-width: none;
  padding-left: .5rem;
  padding-right: .5rem;
  width: 100%;
}

.school-detached-nav .mod-menu > li > a,
.school-detached-nav .mod-menu > li > span,
.school-detached-nav .mod-menu > li > button {
  background: rgba(255, 255, 255, .09);
  border-color: rgba(255, 255, 255, .18);
  border-radius: 7px;
}

.school-detached-nav .mod-menu > li.active > a,
.school-detached-nav .mod-menu > li > a:hover,
.school-detached-nav .mod-menu > li > a:focus,
.school-detached-nav .mod-menu > li > button:hover,
.school-detached-nav .mod-menu > li > button:focus {
  background: rgba(255, 255, 255, .17);
  border-color: rgba(255, 255, 255, .32);
}

.school-detached-nav .mod-menu > li.current > a,
.school-detached-nav .mod-menu > li.active > a {
  background: #008f5a;
  border-color: #25b77d;
}

.school-mobile-menu-toggle,
.school-detached-nav .mod-menu > li > button.school-submenu-toggle {
  border-radius: 7px;
}

@media (max-width: 991.98px) {
  .container-header .school-brand-line--first {
    white-space: normal;
  }

  .school-header-mark img {
    height: 3.25rem;
  }
}

@media (max-width: 767.98px) {
  .container-header .grid-child {
    gap: .75rem;
    width: calc(100% - 2rem);
  }

  .school-header-marks {
    display: none;
  }

  .school-detached-nav {
    border-radius: 0;
    width: 100%;
  }

  .school-detached-nav .mod-menu {
    padding-left: 0;
    padding-right: 0;
  }
}

.school-external-link::after {
  content: " ↗";
  font-size: .78em;
  font-weight: 900;
}

.school-topbar .school-bip-link {
  background: #f0bd3d;
  border: 1px solid #ffd66a;
  border-radius: 4px;
  color: #10202b !important;
  line-height: 1;
  padding: .3rem .48rem;
}

.school-topbar .school-bip-link:hover,
.school-topbar .school-bip-link:focus {
  background: #ffd15a;
  color: #10202b !important;
  text-decoration: none;
}
