@font-face {
  font-family:"DM Sans";
  font-style:normal;
  font-weight:100 1000;
  font-display:swap;
  src:url("fonts/dm-sans-latin.woff2") format("woff2")
}
/* The native 404 template shares the site's type, colors and navigation. */
.htl-not-found {
  padding:clamp(56px,8vw,112px) 24px;
}
.htl-not-found-inner {
  max-width:var(--htl-content-width);
  margin-inline:auto;
  display:grid;
  grid-template-columns:1.2fr 1fr;
  align-items:center;
  gap:clamp(32px,6vw,88px);
}
.htl-not-found-code {
  color:#a91d5e;
  font-size:18px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin:0 0 16px;
}
.htl-not-found-copy h1 {
  font-size:clamp(36px,4.2vw,60px);
  line-height:1.1;
  letter-spacing:-.035em;
  margin:0 0 24px;
}
.htl-not-found-description {
  max-width:520px;
  font-size:20px;
  line-height:1.6;
  margin:0 0 28px;
}
.htl-not-found-visual {
  display:grid;
  place-items:center;
  aspect-ratio:1;
  border-radius:50%;
  background:#fdf0f6;
  margin:0;
}
.htl-not-found-visual figure {
  width:84%;
  margin:0;
}
.htl-not-found-visual img {
  display:block;
  width:100%;
  height:auto;
}
@media (max-width:700px) {
  .htl-not-found-inner {
    grid-template-columns:1fr;
    gap:36px;
  }
  .htl-not-found-visual {
    grid-row:1;
    width:min(68vw,280px);
    justify-self:center;
  }
  .htl-not-found-copy h1 br {
    display:none;
  }
  .htl-not-found-description {
    font-size:18px;
  }
}
:root {
  --htl-pink:#dc3282;
  --htl-blue:#55c7e2;
  --htl-green:#aad2aa;
  --htl-shadow:0 0 22px #00000010;
  --htl-radius-card:14px;
  --htl-radius-image:34%;
  --htl-content-width:1200px
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:32px
}
body {
  margin:0
}
img {
  max-width:100%
}
figure {
  margin:0
}
a,button {
  -webkit-tap-highlight-color:transparent
}
button {
  font:inherit
}
a:focus-visible,button:focus-visible,[tabindex]:focus-visible {
  outline:3px solid #167b96;
  outline-offset:5px
}
h1,h2,h3,p {
  overflow-wrap:break-word
}
h1,h2,h3 {
  margin-top:0
}
h2 {
  font-size:40px
}
p {
  margin-top:0
}
.wp-site-blocks>* {
  margin-block-start:0
}
.htl-main .wp-block-post-content>* {
  margin-block-start:0
}
.htl-header {
  min-height:112px;
  padding:20px 60px;
  box-shadow:0 3px 10px #00000014;
  position:relative;
  z-index:5;
  background:#fff
}
.htl-logo {
  width:155px;
  flex-shrink:0
}
.htl-logo img {
  width:100%;
  display:block
}
.htl-header .wp-block-navigation {
  font-size:20px;
  font-weight:800;
  text-transform:uppercase
}
.htl-header .wp-block-navigation__container {
  gap:clamp(20px,3.1vw,60px)
}
.htl-header .wp-block-navigation a {
  text-decoration:none
}
.htl-header .wp-block-navigation a:hover {
  color:var(--htl-pink)
}
.htl-main {
  overflow:hidden
}
.htl-hero {
  max-width:1720px;
  margin-inline:auto!important;
  margin-top:clamp(24px,2.5vw,48px)!important;
  min-height:0;
  position:relative;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(72px,5vw,96px);
  align-items:center;
  padding:clamp(38px,5vh,54px) clamp(180px,16vw,240px)
}
.htl-hero:before,.htl-hero:after {
  content:"";
  position:absolute;
  top:50%;
  width:auto;
  height:var(--htl-hero-bracket-height,74%);
  aspect-ratio:166/723;
  transform:translateY(-50%);
  background:center/100% 100% no-repeat url("images/bracket-left.webp");
  pointer-events:none
}
.htl-hero:before { left:clamp(28px,2vw,40px) }
.htl-hero:after {
  right:clamp(28px,2vw,40px);
  background-image:url("images/bracket-right.webp")
}
.htl-hero-copy h1 {
  font-size:clamp(42px,3.65vw,70px);
  line-height:1.2;
  text-transform:uppercase;
  color:var(--htl-pink);
  font-weight:900;
  margin-bottom:18px;
  letter-spacing:-.035em
}
.htl-lead {
  font-size:24px;
  line-height:1.65;
  font-weight:700;
  margin-bottom:26px
}
.wp-block-buttons {
  gap:12px
}
.wp-block-button__link,.htl-pill {
  display:inline-block;
  text-transform:uppercase;
  text-decoration:none;
  font-size:18px;
  line-height:1.2;
  font-weight:800;
  background:var(--htl-pink);
  color:#fff;
  border-radius:999px;
  padding:14px 40px;
  transition:transform .2s,box-shadow .2s
}
.wp-block-button__link:hover,.htl-pill:hover {
  transform:translateY(-2px);
  box-shadow:0 5px 15px #00000020
}
.htl-hero-visual {
  position:relative;
  isolation:isolate;
  margin:0!important;
  min-width:0
}
.htl-hero-visual:before,.htl-hero-visual:after {
  content:"";
  position:absolute;
  width:38%;
  height:auto;
  aspect-ratio:7/6;
  border-radius:35%;
  z-index:-1;
  will-change:transform;
  transition:transform .15s ease-out
}
.htl-hero-visual:before {
  background:var(--htl-blue);
  top:-12%;
  left:-9%;
  transform:translate3d(var(--htl-hero-blue-x,0),var(--htl-hero-blue-y,0),0)
}
.htl-hero-visual:after {
  background:var(--htl-green);
  bottom:-12%;
  right:-9%;
  transform:translate3d(var(--htl-hero-green-x,0),var(--htl-hero-green-y,0),0)
}
.htl-hero-image {
  width:100%;
  aspect-ratio:1.18;
  margin:0;
  position:relative;
  z-index:3;
  will-change:transform;
  transition:transform .15s ease-out
}
.htl-hero-image img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:var(--htl-radius-image)
}
.htl-disciplines {
  max-width:1140px;
  margin-inline:auto!important;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  padding:60px 0 0
}
.htl-discipline {
  --htl-discipline-title-size:24px;
  box-shadow:var(--htl-shadow);
  border-radius:var(--htl-radius-card);
  padding:32px 40px;
  display:grid;
  align-items:start;
  grid-template-columns:100px 1fr;
  gap:44px;
  margin:0!important;
  position:relative;
  transition:transform .2s ease,box-shadow .2s ease
}
.htl-discipline:hover {
  transform:translateY(-3px);
  box-shadow:0 8px 28px #00000018
}
.htl-discipline-link {
  color:inherit;
  text-decoration:none
}
.htl-discipline-link::after {
  content:"";
  position:absolute;
  inset:0;
  border-radius:var(--htl-radius-card)
}
.htl-discipline:has(.htl-discipline-link:focus-visible) {
  outline:3px solid #167b96;
  outline-offset:5px
}
.htl-discipline figure {
  padding-top:calc(var(--htl-discipline-title-size) * .2)
}
.htl-discipline figure img {
  display:block;
  width:100px;
  height:auto;
  object-fit:contain
}
.htl-discipline h2 {
  font-size:var(--htl-discipline-title-size);
  font-weight:700;
  line-height:1.25;
  margin:0 0 8px
}
.htl-discipline p {
  font-size:18px;
  margin:0;
  line-height:1.5
}
.htl-discipline>div {
  margin:0
}
.htl-school {
  max-width:1360px;
  margin-inline:auto!important;
  padding:145px 0;
  display:grid;
  grid-template-columns:1fr .9fr;
  gap:140px;
  align-items:start;
  position:relative
}
.htl-school h2 {
  text-transform:uppercase;
  letter-spacing:-.025em;
  margin-bottom:16px
}
.htl-school p {
  font-size:18px;
  line-height:1.5;
  margin-bottom:22px
}
.htl-school-visual {
  position:relative;
  min-width:0;
  padding-bottom:110px;
  margin:0!important
}
.htl-school-visual img {
  width:100%;
  height:100%;
  object-fit:cover;
  border:5px solid var(--htl-pink);
  border-radius:var(--htl-radius-image);
  box-shadow:var(--htl-shadow)
}
.htl-school-image-back {
  width:90%;
  aspect-ratio:1.35;
  margin:0 0 0 auto!important
}
.htl-school-image-front {
  position:absolute;
  width:60%;
  aspect-ratio:1.3;
  bottom:0;
  left:-5%;
  margin:0!important
}
.htl-banner {
  text-align:center;
  background:var(--htl-pink);
  color:#fff;
  padding:70px 24px
}
.htl-banner h2 {
  text-transform:uppercase;
  margin:0 0 16px
}
.htl-banner p {
  max-width:1050px;
  margin:0 auto 28px;
  font-size:22px;
  line-height:1.35
}
.htl-banner .wp-block-buttons {
  justify-content:center
}
.htl-banner .wp-block-button__link {
  background:#fff;
  color:var(--htl-pink)
}
.htl-news {
  max-width:1360px;
  margin:0 auto!important;
  padding-top:145px
}
.htl-news-heading {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  margin-bottom:28px
}
.htl-news h2 {
  text-transform:uppercase;
  margin:0
}
.htl-news-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px
}
.htl-news-card {
  display:grid;
  grid-template-columns:38% 1fr;
  box-shadow:var(--htl-shadow);
  border-radius:var(--htl-radius-card);
  overflow:hidden;
  min-height:236px
}
.htl-news-image {
  display:block;
  min-width:0;
  min-height:100%
}
.htl-news-image img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block
}
.htl-image-placeholder {
  display:block;
  background:#f5f1f4 url("images/placeholder.svg") center/cover;
  height:100%;
  min-height:180px
}
.htl-news-copy {
  display:flex;
  flex-direction:column;
  padding:28px 30px 24px;
  min-width:0
}
.htl-news-meta {
  font-size:16px;
  font-weight:700;
  color:var(--htl-pink);
  margin:0 0 7px
}
.htl-news-copy h3 {
  font-size:24px;
  line-height:1.2;
  font-weight:700;
  text-transform:uppercase;
  margin:0 0 6px
}
.htl-news-copy h3 a {
  text-decoration:none
}
.htl-news-excerpt {
  font-size:18px;
  line-height:1.5;
  margin:0 0 14px;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden
}
.htl-read-more {
  font-size:17px;
  text-transform:uppercase;
  font-weight:800;
  text-decoration:none;
  color:var(--htl-pink);
  text-align:right;
  margin-top:auto
}
.htl-read-more span[aria-hidden] {
  font-size:24px;
  line-height:1
}
.htl-news-empty {
  grid-column:1/-1;
  padding:30px;
  background:#faf7f9
}
.htl-partners {
  --htl-partner-inline:90px;
  max-width:1360px;
  margin:0 auto!important;
  padding:145px var(--htl-partner-inline);
  position:relative;
  text-align:center
}
.htl-partners h2 {
  text-transform:uppercase;
  margin:0 0 42px
}
.htl-partner-track {
  display:flex;
  gap:24px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-padding-inline:8px;
  padding:12px 8px 22px;
  margin:0!important;
  scrollbar-width:thin;
  scrollbar-color:var(--htl-pink) #f5f1f4
}
.htl-partner-card {
  flex:0 0 calc((100% - 72px)/4);
  aspect-ratio:1;
  box-shadow:var(--htl-shadow);
  border-radius:var(--htl-radius-card);
  scroll-snap-align:start;
  padding:25px;
  margin:0!important;
  display:flex;
  align-items:center;
  justify-content:center
}
.htl-partner-card img {
  width:100%;
  height:100%;
  object-fit:contain
}
.htl-partner-card a {
  display:block;
  width:100%;
  height:100%
}
.htl-partner-control {
  position:absolute;
  top:var(--htl-partner-control-top,50%);
  margin:0;
  transform:translateY(-50%);
  border:0;
  background:none;
  color:var(--htl-pink);
  cursor:pointer;
  width:48px;
  height:48px;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:1
}
.htl-carousel-arrow {
  display:block;
  width:28px;
  height:48px;
  background:currentColor;
  -webkit-mask:url("images/carousel-bracket-arrow.svg") center/contain no-repeat;
  mask:url("images/carousel-bracket-arrow.svg") center/contain no-repeat
}
.htl-carousel-arrow.is-reversed { transform:scaleX(-1) }
.htl-partner-control:disabled {
  opacity:.35;
  cursor:default
}
.htl-partner-prev {
  left:calc((var(--htl-partner-inline) - 48px)/2)
}
.htl-partner-next {
  right:calc((var(--htl-partner-inline) - 48px)/2)
}
.htl-footer {
  background:var(--htl-pink);
  color:#fff;
  padding:60px max(40px,7vw)
}
.htl-footer-grid {
  display:grid;
  grid-template-columns:1fr 1fr 1fr 1fr;
  gap:60px;
  max-width:1680px;
  margin:auto
}
.htl-footer-grid>div {
  margin:0
}
.htl-footer-logo {
  width:155px;
  margin:0 0 25px
}
.htl-footer h2 {
  font-size:20px;
  font-weight:700;
  text-transform:uppercase;
  text-decoration:none;
  margin:0 0 24px
}
.htl-footer p {
  font-size:18px;
  line-height:1.55;
  margin:0 0 12px
}
.htl-footer a {
  text-decoration:none
}
.htl-footer a:hover {
  text-decoration:underline
}
.htl-document {
  padding:80px 24px;
  min-height:65vh
}
.htl-document .wp-block-post-template {
  display:grid;
  gap:40px
}
.htl-document .wp-block-post-featured-image img {
  border-radius:var(--htl-radius-card)
}
.htl-overview-main {
  overflow:hidden
}
.htl-overview-page,.htl-news-feed {
  width:min(1360px,calc(100% - 48px));
  margin:0 auto!important;
  padding:110px 0 145px
}
.htl-news-feed {
  width:min(1160px,calc(100% - 48px))
}
.htl-overview-intro {
  margin:0 0 54px!important
}
.htl-overview-intro h1 {
  margin:0 0 16px;
  font-size:clamp(46px,5vw,70px);
  line-height:1;
  text-transform:uppercase
}
.htl-overview-intro p {
  max-width:720px;
  margin:0;
  font-size:20px
}
.htl-overview-grid,.htl-leadership-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:24px;
  margin:0!important
}
.htl-overview-card {
  min-width:0;
  margin:0!important;
  background:#fff;
  border-radius:var(--htl-radius-card);
  box-shadow:var(--htl-shadow);
  overflow:hidden
}
.htl-report-card {
  height:100%;
  display:flex;
  flex-direction:column
}
.htl-report-card figure {
  aspect-ratio:721/1024;
  margin:0!important;
  background:#f5f1f4
}
.htl-report-card figure a {
  display:block;
  width:100%;
  height:100%
}
.htl-report-card figure img {
  display:block;
  width:100%;
  height:100%;
  object-fit:contain
}
.htl-report-card h2 {
  margin:0;
  font-size:22px;
  text-transform:none
}
.htl-report-card-copy a {
  display:inline-block;
  padding:6px 0;
  text-underline-offset:3px
}
.htl-report-card a:focus-visible {
  outline:3px solid var(--htl-pink);
  outline-offset:-3px
}
@media(max-width:780px) {
  .htl-report-card-copy {
    padding:16px
  }
  .htl-report-card h2 {
    font-size:19px
  }
  .htl-report-card-copy p {
    font-size:14px
  }
}
.htl-partner-grid-card {
  min-height:260px;
  padding:30px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  text-align:center
}
.htl-partner-grid-card figure {
  width:100%;
  aspect-ratio:1;
  margin:0!important
}
.htl-partner-grid-card img {
  width:100%;
  height:100%;
  object-fit:contain
}
.htl-partner-grid-card h2,.htl-teacher-card h2,.htl-class-card h2 {
  margin:18px 0 0;
  font-size:22px;
  text-transform:none
}
.htl-teacher-card,.htl-class-card {
  height:100%;
  display:flex;
  flex-direction:column
}
/* Class artwork: a background accent above and a clear closing motif below. */
.htl-class-page {
  position:relative;
  isolation:isolate
}
.htl-class-page::before,.htl-class-page::after {
  content:"";
  background:center/contain no-repeat;
  pointer-events:none
}
.htl-class-page::before,.htl-teacher-page::before {
  position:absolute;
  z-index:0;
  width:clamp(264px,22.44vw,330px);
  aspect-ratio:1437.41/1194.99;
  top:35px;
  right:-145px;
  opacity:.17
}
.htl-class-page::before {
  background-image:url("images/hip_hop_front.svg")
}
.htl-class-page>.htl-overview-intro,.htl-class-grid {
  position:relative;
  z-index:1
}
.htl-class-page::after {
  display:block;
  width:clamp(260px,24vw,340px);
  aspect-ratio:1482.47/2000;
  margin:48px auto 0;
  background-image:url("images/hip_hop_back.svg");
  opacity:.16
}
@media(min-width:781px) {
  .htl-class-page {
    padding-bottom:60px
  }
}
@media(max-width:780px) {
  .htl-class-page::before,.htl-teacher-page::before {
    width:138.6px;
    top:32px;
    right:0;
    opacity:.15
  }
  .htl-class-page::after {
    width:min(240px,100%);
    margin-top:32px;
    opacity:.15
  }
}
.htl-teacher-card figure,.htl-class-card figure {
  aspect-ratio:1;
  margin:0!important;
  background:#f5f1f4
}
.htl-teacher-card img,.htl-class-card img {
  width:100%;
  height:100%;
  object-fit:cover
}
.htl-teacher-card-copy {
  flex:1;
  padding:24px;
  margin:0!important
}
.htl-teacher-card-copy h2 {
  margin-top:0
}
.htl-teacher-card-copy p {
  margin:8px 0 0;
  color:#595959
}
.htl-class-card figure {
  position:relative;
  aspect-ratio:4/3;
  cursor:zoom-in
}
.htl-class-card figure img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%
}
.htl-class-card figure:focus-visible {
  outline:4px solid var(--htl-pink);
  outline-offset:4px
}
.htl-class-lightbox,
.htl-news-lightbox {
  width:100vw;
  max-width:none;
  height:100dvh;
  max-height:none;
  margin:0;
  padding:24px;
  border:0;
  background:#111e;
  overflow:hidden
}
.htl-class-lightbox[open],
.htl-news-lightbox[open] {
  display:grid;
  place-items:center
}
.htl-class-lightbox::backdrop,
.htl-news-lightbox::backdrop {
  background:#111e
}
.htl-class-lightbox img,
.htl-news-lightbox img {
  max-width:calc(100vw - 48px);
  max-height:calc(100dvh - 48px);
  object-fit:contain
}
.htl-class-lightbox-close,
.htl-news-lightbox-close {
  position:fixed;
  top:18px;
  right:18px;
  z-index:1;
  width:46px;
  height:46px;
  padding:0;
  border:0;
  border-radius:50%;
  background:#fff;
  color:#111;
  box-shadow:0 3px 14px #0004;
  font:700 30px/1 Arial,sans-serif;
  cursor:pointer
}
.htl-class-lightbox-close:focus-visible,
.htl-news-lightbox-close:focus-visible {
  outline:4px solid var(--htl-pink);
  outline-offset:3px
}
.htl-news-feed-list {
  display:grid;
  gap:48px
}
.htl-news-feed-item {
  display:grid;
  grid-template-columns:minmax(280px,38%) minmax(0,1fr);
  align-items:start;
  overflow:hidden;
  border-radius:var(--htl-radius-card);
  background:#fff;
  box-shadow:var(--htl-shadow)
}
.htl-news-gallery {
  position:relative;
  background:#f5f1f4
}
.htl-news-gallery-slide {
  aspect-ratio:1;
  margin:0!important
}
.htl-news-gallery-slide img {
  width:100%;
  height:100%;
  display:block;
  object-fit:cover
}
.htl-news-feed-copy {
  padding:32px 36px 36px
}
.htl-news-feed-copy h2 {
  margin:0 0 12px;
  font-size:32px;
  text-transform:uppercase
}
.htl-news-inline-content {
  overflow-wrap:anywhere;
}
.htl-news-inline.is-collapsed .htl-news-inline-content {
  max-height:var(--htl-news-preview-height, 9em);
  overflow:hidden;
}
.htl-news-more {
  display:block;
  width:max-content;
  margin-top:18px;
  padding:0;
  border:0;
  background:none;
  color:var(--htl-pink);
  font:inherit;
  font-weight:800;
  cursor:pointer;
}
.htl-news-more[hidden] { display:none }
.htl-news-inline-content img,.htl-news-inline-content iframe { max-width:100%; height:auto }
.htl-news-share {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 14px;
  margin-top:24px;
  padding-top:20px;
  border-top:1px solid #e7e1e5;
  font-size:14px
}
.htl-news-share>span:first-child { font-weight:800 }
.htl-news-share a,.htl-news-share button {
  color:var(--htl-pink);
  font:inherit;
  font-weight:700
}
.htl-news-share button {
  padding:0;
  border:0;
  background:none;
  text-decoration:underline;
  cursor:pointer
}
.htl-news-share-status {
  flex-basis:100%;
  color:#595959
}
.htl-news-gallery :focus-visible,.htl-news-more:focus-visible,.htl-news-share :focus-visible {
  outline:3px solid var(--htl-pink);
  outline-offset:4px
}
.htl-discipline-main {
  overflow:hidden
}
.htl-discipline-page {
  --htl-discipline-accent:var(--htl-blue);
  --htl-discipline-icon:url("images/informatics.svg")
}
.htl-discipline-page.is-medical-informatics {
  --htl-discipline-accent:var(--htl-green);
  --htl-discipline-icon:url("images/medical-informatics.svg")
}
.htl-discipline-page .htl-hero .wp-block-heading {
  color:var(--htl-discipline-accent)
}
.htl-discipline-page .htl-hero .wp-block-button__link {
  background:var(--htl-discipline-accent)
}
.htl-discipline-page .htl-hero::before,.htl-discipline-page .htl-hero::after {
  background:var(--htl-discipline-accent);
  mask:url("images/bracket-left.webp") center/100% 100% no-repeat
}
.htl-discipline-page .htl-hero::after {
  mask-image:url("images/bracket-right.webp")
}
.htl-discipline-eyebrow {
  color:var(--htl-pink);
  font-weight:900;
  letter-spacing:.02em;
  text-transform:uppercase;
  margin:0 0 12px
}
@media(min-width:781px) {
  .htl-discipline-page > .htl-hero + .htl-discipline-intro {
    margin-top:110px!important
  }
}
.htl-discipline-intro {
  max-width:none!important;
  background:#f6f6f6;
  text-align:center;
  padding:64px 24px
}
.htl-discipline-intro>* {
  max-width:940px;
  margin-inline:auto
}
.htl-discipline-intro h2 {
  max-width:1150px;
  font-size:clamp(31px,2.3vw,44px);
  margin-bottom:20px
}
.htl-discipline-intro p:last-child {
  font-size:18px;
  line-height:1.55;
  margin-bottom:0
}
.htl-discipline-journey {
  width:min(1160px,calc(100% - 48px));
  margin:110px auto 125px!important;
  position:relative
}
.htl-discipline-journey::before {
  content:"";
  position:absolute;
  top:36px;
  bottom:36px;
  left:50%;
  width:3px;
  transform:translateX(-50%);
  background:#dedede;
  z-index:0
}
.htl-discipline-journey::after {
  content:"";
  position:absolute;
  top:36px;
  left:50%;
  width:3px;
  height:var(--htl-timeline-fill,0px);
  max-height:calc(100% - 72px);
  transform:translateX(-50%);
  background:var(--htl-discipline-accent);
  z-index:1
}
.htl-discipline-step {
  --htl-discipline-code-size:clamp(48px,4vw,72px);
  display:grid;
  grid-template-columns:minmax(0,1fr) 66px minmax(0,1fr);
  align-items:center;
  min-height:245px;
  margin:0 0 44px!important;
  position:relative
}
.htl-discipline-step:last-child { margin-bottom:0!important }
.htl-discipline-step::before {
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:15px;
  height:15px;
  border:5px solid var(--htl-pink);
  border-radius:50%;
  background:#fff;
  transform:translate(-50%,-50%);
  z-index:2;
  transition:border-color .22s ease-out
}
.htl-discipline-step.is-reached::before { border-color:var(--htl-discipline-accent) }
.htl-discipline-finish {
  display:block;
  min-height:72px;
  padding-top:88px;
  box-sizing:border-box;
  margin:0!important;
  position:relative
}
.htl-discipline-finish::after {
  content:"";
  position:absolute;
  top:36px;
  bottom:0;
  left:50%;
  width:7px;
  background:#fff;
  transform:translateX(-50%);
  z-index:1
}
.htl-discipline-finish::before {
  content:"";
  position:absolute;
  left:50%;
  top:36px;
  width:15px;
  height:15px;
  border:5px solid var(--htl-pink);
  border-radius:50%;
  background:#fff;
  transform:translate(-50%,-50%);
  z-index:2;
  transition:border-color .22s ease-out
}
.htl-discipline-finish.is-reached::before { border-color:var(--htl-discipline-accent) }
.htl-discipline-finish-label {
  position:relative;
  z-index:2;
  width:min(1600px,calc(100vw - 48px));
  margin:0 0 0 50%!important;
  transform:translateX(-50%);
  color:#cfcfcf;
  font-size:clamp(48px,4vw,72px)!important;
  font-weight:900;
  line-height:1.12;
  text-align:center;
  transition:color .22s ease-out
}
.htl-discipline-finish.is-reached .htl-discipline-finish-label { color:#595959 }
.htl-discipline-step-card {
  grid-column:1;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(150px,.85fr);
  min-width:0;
  overflow:hidden;
  background:#fff;
  box-shadow:var(--htl-shadow);
  border-radius:var(--htl-radius-card);
  margin:0!important
}
.htl-discipline-step:nth-child(even) .htl-discipline-step-card { grid-column:3 }
.htl-discipline-step-copy {
  padding:24px 22px 20px;
  margin:0!important
}
.htl-discipline-step-icon {
  width:46px;
  height:46px;
  position:relative;
  margin:0 0 12px!important
}
.htl-discipline-step-icon::before {
  content:"";
  position:absolute;
  inset:0;
  background:var(--htl-pink);
  mask:var(--htl-discipline-icon) center/contain no-repeat;
  transition:background-color .22s ease-out
}
.htl-discipline-step-icon img {
  width:100%;
  height:100%;
  object-fit:contain;
  opacity:0
}
.htl-discipline-step.is-reached .htl-discipline-step-icon::before {
  background-color:var(--htl-discipline-accent)
}
.htl-discipline-step-card h3 {
  -webkit-hyphens:auto;
  hyphens:auto;
  font-size:20px;
  line-height:1.18;
  margin:0 0 9px
}
.htl-discipline-step-card p {
  font-size:14px;
  line-height:1.45;
  margin:0 0 10px
}
.htl-discipline-more {
  margin-top:auto!important;
  font-weight:850;
  text-transform:uppercase
}
.htl-discipline-more a {
  color:var(--htl-pink);
  text-decoration:none;
  transition:color .22s ease-out
}
.htl-discipline-step.is-reached .htl-discipline-more a {
  color:var(--htl-discipline-accent)
}
.htl-discipline-step-image {
  position:relative;
  display:block;
  width:100%;
  min-width:0;
  min-height:0;
  align-self:stretch;
  margin:0!important
}
.htl-discipline-step-image img {
  /* Keep intrinsic image dimensions out of desktop grid row sizing.
     Override dimensions saved by the WordPress image resize controls. */
  position:absolute;
  inset:0;
  display:block;
  width:100%!important;
  height:100%!important;
  aspect-ratio:auto!important;
  object-fit:cover
}
.htl-discipline-step-label {
  /* Center the code line, independently of the description height. */
  transform:translateY(calc(50% - var(--htl-discipline-code-size) / 2));
  grid-column:3;
  margin:0!important;
  color:#cfcfcf;
  transition:color .22s ease-out
}
.htl-discipline-step.is-reached .htl-discipline-step-label { color:#595959 }
.htl-discipline-step:nth-child(even) .htl-discipline-step-label {
  grid-column:1;
  grid-row:1;
  text-align:right
}
.htl-discipline-code {
  font-size:var(--htl-discipline-code-size)!important;
  line-height:1;
  font-weight:900;
  margin:0 0 7px!important;
  color:#cfcfcf;
  transition:color .22s ease-out
}
.htl-discipline-step.is-reached .htl-discipline-code { color:var(--htl-discipline-accent) }
.htl-discipline-step-label p:last-child {
  font-size:20px;
  font-weight:650;
  line-height:1.25;
  margin:0
}
.htl-discipline-curriculum {
  background:var(--htl-discipline-accent);
  padding:120px 24px
}
.htl-discipline-curriculum-inner {
  width:min(1080px,100%);
  margin:auto!important
}
.htl-discipline-curriculum h2 {
  font-size:clamp(32px,2.5vw,48px);
  margin:0 0 26px
}
.htl-discipline-table {
  overflow-x:auto;
  margin:0!important;
  background:#ffffffc9;
  padding:14px 18px 18px
}
.htl-discipline-table table {
  width:100%;
  min-width:760px;
  border-collapse:collapse;
  background:transparent
}
.htl-discipline-table th,.htl-discipline-table td {
  padding:10px 12px;
  border:0;
  border-bottom:1px solid #0005;
  text-align:center;
  font-size:15px;
  line-height:1.25
}
.htl-discipline-table th:first-child,.htl-discipline-table td:first-child {
  width:38%;
  text-align:left
}
.htl-discipline-table th {
  font-weight:850
}
.htl-discipline-table tr:has(th) {
  background:#ffffff5c
}
.htl-discipline-table tr:not(:has(th)) td:last-child {
  background:#ffffff5c;
  font-weight:850
}
.htl-discipline-table tr.htl-curriculum-highlight {
  background:#f9e0ec
}
.htl-curriculum-note-highlight {
  background:#f9e0ec;
  color:#000;
  padding:2px 5px;
  border-radius:3px;
  -webkit-box-decoration-break:clone;
  box-decoration-break:clone
}
.htl-discipline-table-note {
  margin:16px 0 0;
  font-size:14px;
  font-weight:650
}
.htl-discipline-cta-wrap {
  padding:110px 24px
}
.htl-discipline-cta {
  width:min(1080px,100%);
  margin:auto!important;
  padding:46px 52px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:50px;
  align-items:center;
  background:#f4f4f4;
  border-radius:var(--htl-radius-card)
}
.htl-discipline-cta-copy { margin:0!important }
.htl-discipline-cta h2 {
  font-size:clamp(28px,2.2vw,42px);
  line-height:1.15;
  margin:0 0 26px
}
.htl-discipline-cta-image {
  aspect-ratio:1.18;
  margin:0!important;
  position:relative;
  isolation:isolate
}
.htl-discipline-cta-image:before,.htl-discipline-cta-image:after {
  content:"";
  position:absolute;
  width:31%;
  aspect-ratio:7/6;
  border-radius:35%;
  z-index:-1
}
.htl-discipline-cta-image:before {
  top:-9%;
  left:-7%;
  background:var(--htl-blue)
}
.htl-discipline-cta-image:after {
  right:-8%;
  bottom:-8%;
  background:var(--htl-green)
}
.htl-discipline-cta-image img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  border:5px solid var(--htl-pink);
  border-radius:var(--htl-radius-image);
  position:relative;
  z-index:1
}
.htl-reveal {
  animation:htl-enter .65s ease-out both
}
@keyframes htl-enter {
  from {
    opacity:.2;
    transform:translateY(24px)
  }
  to {
    opacity:1;
    transform:translateY(0)
  }
}
@media(min-width:1921px) {
  .htl-hero-copy h1 {
    font-size:70px
  }
}
@media(max-width:1500px) and (min-width:781px) {
  .htl-hero {
    padding:clamp(38px,5vh,54px) clamp(160px,16vw,230px);
    min-height:0;
    gap:clamp(64px,5vw,80px)
  }
  .htl-lead {
    font-size:21px
  }
  .htl-disciplines {
    width:76%;
    padding-top:45px
  }
  .htl-discipline {
    --htl-discipline-title-size:21px;
    padding:26px;
    gap:25px;
    grid-template-columns:80px 1fr
  }
  .htl-discipline p {
    font-size:16px
  }
  .htl-school,.htl-news {
    width:76%
  }
  .htl-school {
    gap:80px;
    padding:145px 0
  }
  .htl-school h2,h2 {
    font-size:34px
  }
  .htl-school p {
    font-size:17px
  }
  .htl-partners {
    --htl-partner-inline:65px;
    width:80%;
    padding-inline:65px
  }
  .htl-header {
    padding-inline:40px
  }
  .htl-header .wp-block-navigation {
    font-size:16px
  }
  .htl-news-copy {
    padding:22px
  }
  .htl-news-copy h3 {
    font-size:20px
  }
  .htl-news-excerpt {
    font-size:16px
  }
  .htl-news-card {
    min-height:210px
  }
  .htl-news-meta {
    font-size:14px
  }
  .htl-read-more {
    font-size:14px
  }
}
@media(max-width:1000px) and (min-width:781px) {
  .htl-header .wp-block-navigation__container {
    gap:18px
  }
  .htl-logo {
    width:120px
  }
  .htl-header {
    padding-inline:24px
  }
  .htl-hero {
    display:flex;
    flex-direction:column;
    min-height:0;
    padding:44px clamp(40px,7vw,68px) 64px;
    gap:72px;
    max-width:760px;
    align-items:stretch
  }
  .htl-discipline-journey {
    width:min(760px,calc(100% - 48px));
    max-width:none
  }
  .htl-hero:before,.htl-hero:after {
    top:var(--htl-hero-bracket-top);
    bottom:auto;
    height:var(--htl-hero-bracket-height);
    width:auto;
    transform:none
  }
  .htl-hero:before {
    left:20px
  }
  .htl-hero:after {
    right:20px
  }
  .htl-hero-copy h1 {
    font-size:38px
  }
  .htl-lead {
    font-size:18px
  }
  .htl-hero-visual {
    width:62%;
    align-self:center;
    margin:15px 0 26px!important
  }
  .htl-hero-image {
    aspect-ratio:1.18
  }
  .htl-hero-visual:before {
    background:var(--htl-green);
    width:32%;
    height:auto;
    top:-12%;
    left:-3%
  }
  .htl-hero-visual:after {
    background:var(--htl-blue);
    width:32%;
    height:auto;
    bottom:-12%;
    right:-3%
  }
  .htl-disciplines,.htl-school,.htl-news {
    width:88%
  }
  .htl-school {
    gap:50px
  }
  .htl-news-grid {
    gap:16px
  }
  .htl-news-card {
    grid-template-columns:32% 1fr
  }
  .htl-news-copy {
    padding:18px
  }
  .htl-partner-card {
    flex-basis:calc((100% - 48px)/3)
  }
  .htl-footer-grid {
    gap:25px
  }
  .htl-footer p {
    font-size:15px
  }
}
@media(min-width:1300px) {
  .htl-hero,.htl-disciplines,.htl-school,.htl-news,.htl-discipline-journey {
    width:min(1240px,70%);
    max-width:1240px
  }
  .htl-hero {
    padding-inline:0
  }
  .htl-hero:before {
    left:calc((100vw - 100%)/-2 + clamp(28px,2vw,40px))
  }
  .htl-hero:after {
    right:calc((100vw - 100%)/-2 + clamp(28px,2vw,40px))
  }
}
@media(max-width:780px) {
  body {
    font-size:16px
  }
  h2 {
    font-size:27px
  }
  .htl-header {
    min-height:80px;
    padding:18px 20px
  }
  .htl-logo {
    width:94px
  }
  .htl-header .wp-block-navigation {
    font-size:19px
  }
  .htl-header .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display:flex
  }
  .htl-header .wp-block-navigation__responsive-container:not(.is-menu-open) {
    display:none
  }
  .htl-header .wp-block-navigation__responsive-container.is-menu-open {
    padding:30px 24px
  }
  .htl-header .wp-block-navigation__responsive-container-content {
    padding-top:50px
  }
  .htl-header .wp-block-navigation__container {
    gap:25px;
    align-items:flex-start
  }
  .htl-header .wp-block-navigation__responsive-container-open svg {
    width:30px;
    height:30px
  }
  .htl-hero {
    display:flex;
    flex-direction:column;
    min-height:0;
    padding:40px 20px 55px;
    gap:62px;
    max-width:560px;
    align-items:stretch
  }
  .htl-hero:before,.htl-hero:after {
    position:absolute;
    top:var(--htl-hero-bracket-top);
    bottom:auto;
    height:var(--htl-hero-bracket-height);
    width:auto;
    transform:none
  }
  .htl-hero:before {
    left:10px
  }
  .htl-hero:after {
    right:10px
  }
  .htl-hero-copy h1 {
    font-size:35px;
    line-height:1.15;
    letter-spacing:-.025em;
    margin:0 0 22px
  }
  .htl-lead {
    font-size:20px;
    line-height:1.4;
    margin-bottom:28px
  }
  .wp-block-button__link,.htl-pill {
    font-size:16px;
    padding:11px 24px
  }
  .htl-hero-visual {
    width:62%;
    align-self:center;
    margin:15px 0 26px!important
  }
  .htl-hero-image {
    aspect-ratio:1.18
  }
  .htl-hero-visual:before {
    background:var(--htl-green);
    width:32%;
    height:auto;
    top:-12%;
    left:-3%
  }
  .htl-hero-visual:after {
    background:var(--htl-blue);
    width:32%;
    height:auto;
    bottom:-12%;
    right:-3%
  }
  .htl-disciplines {
    display:grid;
    grid-template-columns:1fr;
    gap:24px;
    max-width:560px;
    padding:0 20px;
    margin-inline:auto!important
  }
  .htl-discipline {
    display:block;
    padding:34px 32px 30px;
    border-radius:var(--htl-radius-card)
  }
  .htl-discipline figure {
    padding-top:0;
    margin:0 0 22px
  }
  .htl-discipline figure img {
    width:100px;
    height:100px
  }
  .htl-discipline h2 {
    font-size:24px;
    margin-bottom:12px
  }
  .htl-discipline p {
    font-size:16px;
    line-height:1.5
  }
  .htl-school {
    display:flex;
    flex-direction:column;
    max-width:560px;
    padding:58px 20px;
    gap:28px;
    align-items:stretch
  }
  .htl-school-visual {
    order:-1;
    width:100%;
    padding-bottom:85px
  }
  .htl-school-image-back {
    width:85%;
    aspect-ratio:1.4
  }
  .htl-school-image-front {
    width:55%;
    left:0;
    aspect-ratio:1.3
  }
  .htl-school h2 {
    font-size:27px;
    line-height:1.2;
    margin-bottom:18px
  }
  .htl-school p {
    font-size:16px;
    line-height:1.5;
    margin-bottom:24px
  }
  .htl-banner {
    padding:55px 24px
  }
  .htl-banner h2 {
    font-size:27px;
    max-width:440px;
    margin:0 auto 22px
  }
  .htl-banner p {
    font-size:16px;
    line-height:1.5;
    max-width:460px;
    margin-bottom:28px
  }
  .htl-news {
    max-width:560px;
    padding:58px 20px 0;
    position:relative;
    display:flex;
    flex-direction:column
  }
  .htl-news-heading {
    display:contents
  }
  .htl-news h2 {
    font-size:27px;
    margin-bottom:28px
  }
  .htl-news-all {
    order:3;
    align-self:flex-start;
    margin-top:24px
  }
  .htl-news-grid {
    grid-template-columns:1fr;
    gap:18px
  }
  .htl-news-card {
    grid-template-columns:30% 1fr;
    min-height:155px;
    border-radius:var(--htl-radius-card)
  }
  .htl-news-image .htl-image-placeholder {
    min-height:155px
  }
  .htl-news-copy {
    padding:12px 12px 10px
  }
  .htl-news-meta {
    font-size:14px;
    margin-bottom:4px
  }
  .htl-news-copy h3 {
    font-size:19px;
    line-height:1.15;
    margin-bottom:5px
  }
  .htl-news-excerpt {
    font-size:15px;
    line-height:1.35;
    margin-bottom:7px;
    -webkit-line-clamp:3
  }
  .htl-read-more {
    font-size:14px
  }
  .htl-partners {
    --htl-partner-inline:62px;
    max-width:560px;
    padding:58px 62px
  }
  .htl-partners h2 {
    font-size:27px;
    margin:0 -42px 24px
  }
  .htl-partner-track {
    gap:22px;
    padding:12px 8px 20px;
    scrollbar-width:none
  }
  .htl-partner-card {
    flex-basis:75%;
    padding:24px
  }
  .htl-footer {
    padding:44px 30px 50px
  }
  .htl-footer-grid {
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:40px
  }
  .htl-footer-brand {
    order:1
  }
  .htl-footer-contact {
    order:2
  }
  .htl-footer-legal {
    order:3
  }
  .htl-footer-contact,.htl-footer-brand,.htl-footer-legal {
    width:100%;
    text-align:center
  }
  .htl-footer-logo {
    width:155px;
    margin-bottom:24px
  }
  .htl-footer h2 {
    font-size:19px;
    margin-bottom:18px
  }
  .htl-footer p {
    font-size:16px;
    margin-bottom:10px
  }
  .htl-document {
    padding:45px 20px
  }
  .htl-document h1 {
    font-size:35px
  }
}
@media(max-width:1200px) and (min-width:781px) {
  .htl-discipline-step {
    grid-template-columns:minmax(0,1fr) 54px minmax(0,1fr)
  }
  .htl-discipline-step-card {
    grid-template-columns:minmax(0,1.2fr) minmax(120px,.8fr)
  }
  .htl-discipline-step-copy {
    padding:19px 17px 16px
  }
  .htl-discipline-step-card p {
    font-size:14px
  }
}
@media(min-width:781px) and (max-width:1024px) {
  :root {
    --htl-content-width:min(calc(100vw - 48px),calc(24.590164vw + 548.196721px))
  }
}
@media(min-width:1025px) and (max-width:1440px) {
  :root {
    --htl-content-width:calc(48.076923vw + 307.692308px)
  }
}
@media(min-width:1441px) and (max-width:1920px) {
  :root {
    --htl-content-width:calc(41.666667vw + 400px)
  }
}
@media(min-width:781px) {
  .htl-disciplines,.htl-school,.htl-news,.htl-partners,.htl-overview-page,.htl-news-feed {
    width:min(var(--htl-content-width),calc(100% - 48px));
    max-width:none
  }
  .htl-discipline-curriculum-inner,.htl-discipline-cta {
    width:min(var(--htl-content-width),100%);
    max-width:none
  }
}
@media(min-width:1001px) and (max-width:1299px) {
  .htl-discipline-journey {
    width:calc(100% - 48px);
    max-width:none
  }
}
@media(min-width:1001px) {
  .htl-discipline-step-copy {
    display:grid;
    grid-template-columns:46px minmax(0,1fr);
    grid-template-rows:auto;
    grid-auto-rows:max-content;
    align-content:start;
    column-gap:14px
  }
  .htl-discipline-step-icon {
    grid-column:1;
    grid-row:1;
    margin:0!important
  }
  .htl-discipline-step-card h3 {
    grid-column:2;
    grid-row:1;
    align-self:center;
    margin:0
  }
  .htl-discipline-step-copy>p:not(.htl-discipline-more) {
    grid-column:1/-1;
    grid-row:auto;
    margin-top:14px
  }
  .htl-discipline-more {
    grid-column:1/-1;
    grid-row:auto;
    align-self:end
  }
}
@media(min-width:781px) and (max-width:1439px) {
  .htl-overview-grid,.htl-leadership-grid {
    grid-template-columns:repeat(3,minmax(0,1fr))
  }
  .htl-partner-card {
    flex-basis:calc((100% - 48px)/3)
  }
}
@media(max-width:780px) {
  .htl-overview-page,.htl-news-feed {
    width:calc(100% - 40px);
    padding:58px 0
  }
  .htl-overview-intro {
    margin-bottom:34px!important
  }
  .htl-overview-intro h1 {
    font-size:35px
  }
  .htl-overview-intro p {
    font-size:16px
  }
  .htl-overview-grid,.htl-leadership-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px
  }
  .htl-partner-grid-card {
    min-height:180px;
    padding:18px
  }
  .htl-partner-grid-card h2,.htl-teacher-card h2,.htl-class-card h2 {
    font-size:19px
  }
  .htl-news-feed-list {
    gap:30px
  }
  .htl-news-feed-item {
    display:block;
    border-radius:var(--htl-radius-card)
  }
  .htl-news-feed-copy {
    padding:22px 20px 24px
  }
  .htl-news-feed-copy h2 {
    font-size:24px
  }
  .htl-news-share {
    gap:10px 12px
  }
  .htl-discipline-intro {
    padding:55px 20px
  }
  .htl-discipline-intro h2 {
    font-size:27px;
    line-height:1.2
  }
  .htl-discipline-intro p:last-child {
    font-size:16px
  }
  .htl-discipline-journey {
    width:min(560px,calc(100% - 32px));
    margin:66px auto 74px!important;
    padding-left:0
  }
  .htl-discipline-journey::before {
    left:21px;
    top:20px;
    bottom:20px
  }
  .htl-discipline-journey::after {
    top:20px;
    left:21px;
    max-height:calc(100% - 40px)
  }
  .htl-discipline-step {
    --htl-discipline-code-size:42px;
    display:grid;
    grid-template-columns:44px minmax(0,1fr);
    min-height:0;
    align-items:start;
    margin-bottom:44px!important
  }
  .htl-discipline-finish {
    min-height:40px;
    padding-top:64px
  }
  .htl-discipline-finish::before {
    left:21px;
    top:20px
  }
  .htl-discipline-finish::after {
    left:21px;
    top:20px
  }
  .htl-discipline-finish-label {
    width:calc(100vw - 40px);
    font-size:42px!important
  }
  .htl-discipline-step::before {
    left:21px;
    top:calc(var(--htl-discipline-code-size) / 2)
  }
  .htl-discipline-step-card,.htl-discipline-step:nth-child(even) .htl-discipline-step-card {
    grid-column:2;
    grid-row:2;
    display:grid;
    grid-template-columns:1fr;
    margin-top:16px!important
  }
  .htl-discipline-step-label,.htl-discipline-step:nth-child(even) .htl-discipline-step-label {
    grid-column:2;
    grid-row:1;
    text-align:left;
    transform:none
  }
  .htl-discipline-step-label p:last-child {
    font-size:17px
  }
  .htl-discipline-step-copy {
    padding:24px 22px 20px
  }
  .htl-discipline-step-card h3 {
    font-size:20px
  }
  .htl-discipline-step-card p {
    font-size:15px
  }
  .htl-discipline-step-image img {
    position:static;
    height:auto!important;
    min-height:180px;
    max-height:230px
  }
  .htl-discipline-curriculum {
    padding:64px 16px
  }
  .htl-discipline-curriculum h2 {
    font-size:29px
  }
  .htl-discipline-table {
    padding:10px 12px 14px
  }
  .htl-discipline-table th,.htl-discipline-table td {
    font-size:14px;
    padding:9px 10px
  }
  .htl-discipline-cta-wrap {
    padding:64px 20px
  }
  .htl-discipline-cta {
    padding:36px 28px 30px;
    grid-template-columns:1fr;
    gap:48px;
    border-radius:var(--htl-radius-card)
  }
  .htl-discipline-cta h2 {
    font-size:27px
  }
  .htl-discipline-cta-image {
    width:min(62%,320px);
    justify-self:center
  }
}
@media(prefers-reduced-motion:reduce) {
  /* This explicitly requested pointer interaction remains smooth. */
  .htl-hero-image,.htl-hero-visual:before,.htl-hero-visual:after {
    transition:transform .15s ease-out!important
  }
  html {
    scroll-behavior:auto
  }
  *,*:before,*:after {
    animation:none!important;
    transition:none!important
  }
}
/* Editor stays fully visible; the front-end animation is only an enhancement. */
.editor-styles-wrapper .htl-hero,.editor-styles-wrapper .htl-disciplines,.editor-styles-wrapper .htl-school,.editor-styles-wrapper .htl-partners,.editor-styles-wrapper .htl-overview-page,.editor-styles-wrapper .htl-news-feed {
  max-width:100%
}
.editor-styles-wrapper .htl-partner-track {
  overflow-x:auto
}
.editor-styles-wrapper .htl-discipline-link::after {
  display:none
}
.editor-styles-wrapper .htl-discipline-page,.editor-styles-wrapper .htl-discipline-journey,.editor-styles-wrapper .htl-discipline-curriculum-inner,.editor-styles-wrapper .htl-discipline-cta {
  max-width:100%
}

/* Imported Matura news: retain the complete group photographs. */
.htl-matura-gallery.wp-block-gallery.has-nested-images figure.wp-block-image img {
  object-fit: contain !important;
}
.htl-matura-gallery.wp-block-gallery.has-nested-images figure.wp-block-image img {
  height: auto !important;
  aspect-ratio: 16 / 9;
}
@media (max-width: 600px) {
  .htl-matura-gallery.wp-block-gallery.has-nested-images figure.wp-block-image {
    width: 100% !important;
    flex-grow: 0;
  }
}
/* Leave room for the sticky header when linking to a news article. */
.htl-news-feed-item[id] {
  scroll-margin-top: 24px;
}

.htl-news-feed img[role="button"] { cursor:zoom-in }
.htl-news-feed img[role="button"]:focus-visible {
  outline:4px solid var(--htl-pink);
  outline-offset:-4px;
}

/* Keep square news images and fit the closed preview into their height. */
@media (min-width: 781px) {
  .htl-news-feed-item .htl-news-inline.is-collapsed .htl-news-inline-content {
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:var(--htl-news-preview-lines, none);
  }
  .htl-news-feed-item .htl-news-feed-copy {
    padding:24px;
  }
  .htl-news-feed-item .htl-news-feed-copy > h2 {
    font-size:clamp(24px, 2.22vw, 32px);
  }
  .htl-news-feed-item .htl-news-inline-content :is(h2,h3,h4) {
    font-size:inherit;
    line-height:inherit;
    margin-bottom:8px;
  }
  .htl-news-feed-item .htl-news-feed-copy:has(.is-collapsed) .htl-news-share {
    margin-top:16px;
    padding-top:12px;
    gap:6px 12px;
  }
  .htl-news-feed-item .htl-news-feed-copy:has(.is-collapsed) .htl-news-share-status:empty { display:none }
}

/* Keep the sharing row at the bottom of the closed square cards. */
@media (min-width: 781px) {
  .htl-news-feed-item .htl-news-feed-copy:has(.is-collapsed) {
    display:flex;
    flex-direction:column;
    align-self:stretch;
  }
  .htl-news-feed-item .htl-news-feed-copy:has(.is-collapsed) > * { flex-shrink:0 }
  .htl-news-feed-item .htl-news-inline.is-collapsed { margin-bottom:16px }
  .htl-news-feed-item .htl-news-feed-copy:has(.is-collapsed) .htl-news-share { margin-top:auto }
}

/* Group the closed card controls at the bottom without moving the text. */
@media (min-width: 781px) {
  .htl-news-feed-item .htl-news-inline.is-collapsed {
    display:flex;
    flex-direction:column;
    flex-grow:1;
  }
  .htl-news-feed-item .htl-news-inline.is-collapsed .htl-news-inline-content {
    flex-shrink:0;
    margin-bottom:18px;
  }
  .htl-news-feed-item .htl-news-inline.is-collapsed .htl-news-more {
    flex-shrink:0;
    margin-top:auto;
  }
}

/* Keep registration heading clear of the shrinking sticky header. */
.htl-school-copy > #anmeldung { scroll-margin-top:16px; }

/* Batch-loading controls; existing news cards retain their layout. */
.htl-news-feed-loader { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:16px; padding-top:32px }
.htl-news-load-status { flex-basis:100%; margin:0; text-align:center; color:#595959; font-size:16px }
.htl-news-load[aria-disabled="true"] { cursor:wait }
.htl-news-load[hidden] { display:none }
.htl-news-newer { color:#595959 }

/* Team introduction and portrait leadership cards. */
.htl-team-hero {
  position:relative;
  isolation:isolate;
  margin:0!important
}
.htl-teacher-page {
  position:relative;
  isolation:isolate
}
.htl-teacher-page::before {
  content:"";
  background:url("images/logo_htl_smiley.svg") center/contain no-repeat;
  pointer-events:none
}
.htl-teacher-page>.htl-overview-intro,.htl-team-hero,.htl-leadership-grid,.htl-team-section-title,.htl-teacher-grid {
  position:relative;
  z-index:1
}
.htl-team-photo {
  margin:0!important
}
.htl-team-photo img {
  display:block;
  width:100%;
  height:auto;
  border-radius:var(--htl-radius-card)
}
.htl-teacher-page .htl-team-section-title {
  margin:64px 0 32px!important;
  font-size:clamp(46px,5vw,70px);
  font-weight:900;
  line-height:1;
  text-transform:uppercase;
  color:#000
}
.htl-leadership-grid .htl-leadership-card {
  display:flex;
  flex-direction:column
}
.htl-leadership-card figure {
  width:100%;
  flex-shrink:0
}
.htl-leadership-card .htl-teacher-card-copy {
  min-width:0;
  padding:24px
}
/* Four-column layout: centered heads in row one, four roles in row two.
   Below this breakpoint normal DOM order fills every grid cell. */
@media(min-width:1440px) {
  .htl-leadership-grid>#leadership-WELST { grid-area:1 / 2 }
  .htl-leadership-grid>#leadership-EHRED { grid-area:1 / 3 }
  .htl-leadership-grid>#leadership-VORHV { grid-area:2 / 1 }
  .htl-leadership-grid>#leadership-WASSM { grid-area:2 / 2 }
  .htl-leadership-grid>#leadership-IGLSK { grid-area:2 / 3 }
  .htl-leadership-grid>#leadership-HABLK { grid-area:2 / 4 }
}
.htl-leadership-card h3 {
  margin:8px 0 0;
  font-size:22px;
  text-transform:none
}
.htl-leadership-card .htl-leadership-role {
  margin:0;
  color:#000;
  font-weight:700
}
.htl-leadership-card a {
  overflow-wrap:anywhere
}
@media(max-width:780px) {
  .htl-teacher-page .htl-team-section-title {
    margin:40px 0 24px!important;
    font-size:35px
  }
  .htl-leadership-card .htl-teacher-card-copy {
    padding:16px;
    font-size:16px
  }
  .htl-leadership-card h3 {
    font-size:19px
  }
}

/* The native WordPress social icon matches the footer and follows the name. */
.htl-leadership-name {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin:8px 0 0!important
}
.htl-leadership-name h3 {
  margin:0
}
.htl-leadership-name .htl-leadership-linkedin {
  margin:0!important;
  gap:0;
  flex-shrink:0
}
.htl-leadership-linkedin .wp-social-link {
  color:#0a66c2!important;
  background:transparent!important;
  font-size:24px
}
.htl-leadership-linkedin .wp-social-link a {
  display:flex;
  padding:2px
}
.htl-leadership-linkedin .wp-social-link svg {
  width:24px;
  height:24px
}
.htl-leadership-linkedin a:focus-visible {
  outline:3px solid #0a66c2;
  outline-offset:3px;
  border-radius:3px
}
