:root {
  --rhythm-bg: #f4f7fc;
  --rhythm-surface: #ffffff;
  --rhythm-text: #081331;
  --rhythm-muted: #5e6e96;
  --rhythm-blue: #6f8fe8;
  --rhythm-blue-soft: #eaf0ff;
  --rhythm-blue-strong-soft: #dde8ff;
  --rhythm-orange: #ff8a2a;
  --rhythm-orange-soft: #fff1e6;
  --rhythm-peach: #ffe3cc;
  --rhythm-navy: #10234d;
}

.home-page {
  background: var(--rhythm-bg);
}

.home-page .section:not(.final-cta) {
  position: relative;
}

.home-page #directions::after,
.home-page .trust-showcase-section::after,
.home-page .events-section::after,
.home-page #reviews::after,
.home-page .pricing-section::after {
  content: "";
  position: absolute;
  right: calc(var(--page-gutter) * -1);
  bottom: -42px;
  left: calc(var(--page-gutter) * -1);
  z-index: 0;
  height: 84px;
  pointer-events: none;
}

.home-page #directions > *,
.home-page .trust-showcase-section > *,
.home-page .events-section > *,
.home-page #reviews > *,
.home-page .pricing-section > * {
  position: relative;
  z-index: 1;
}

.home-page #directions {
  background:
    radial-gradient(circle at 14% 14%, rgba(255, 227, 204, 0.72), rgba(255, 227, 204, 0) 32%),
    linear-gradient(135deg, #fff7ef 0%, #fffaf5 48%, #f4f7fc 100%);
}

.home-page #directions::before {
  content: "";
  position: absolute;
  inset: 0 calc(var(--page-gutter) * -1);
  z-index: -1;
  background: inherit;
}

.home-page #directions::after {
  background: linear-gradient(180deg, rgba(244, 247, 252, 0), rgba(234, 240, 255, 0.78), rgba(234, 240, 255, 0));
}

.home-page .program-card {
  border-color: rgba(126, 155, 220, 0.18);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.86)),
    #fff;
  box-shadow: 0 22px 54px rgba(53, 89, 153, 0.11);
}

.home-page .program-card::before {
  opacity: 1;
  height: 5px;
  background: var(--rhythm-blue);
}

.home-page .program-card-mandarin::before {
  background: var(--rhythm-orange);
}

.home-page .program-card-interspace::before {
  background: linear-gradient(90deg, var(--rhythm-blue), var(--rhythm-orange));
}

.home-page .program-card:hover {
  transform: translateY(-7px);
}

.home-page .program-card-school:hover,
.home-page .program-card-interspace:hover {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(234, 240, 255, 0.92)),
    #fff;
}

.home-page .program-card-mandarin:hover {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 241, 230, 0.96)),
    #fff;
  box-shadow: 0 30px 70px rgba(255, 122, 26, 0.16);
}

.home-page .program-card:hover::after {
  color: #fff;
  background: var(--rhythm-blue);
  border-color: var(--rhythm-blue);
}

.home-page .program-card-mandarin:hover::after {
  background: var(--rhythm-orange);
  border-color: var(--rhythm-orange);
}

.home-page .trust-showcase-section {
  background:
    radial-gradient(circle at 78% 22%, rgba(221, 232, 255, 0.86), rgba(221, 232, 255, 0) 34%),
    linear-gradient(135deg, #eef4ff 0%, #f8fbff 100%);
}

.home-page .trust-showcase-section::before {
  background: inherit;
}

.home-page .trust-showcase-section::after {
  background: linear-gradient(180deg, rgba(248, 251, 255, 0), rgba(255, 255, 255, 0.86), rgba(255, 255, 255, 0));
}

.home-page .trust-list article {
  border-color: rgba(126, 155, 220, 0.28);
  background: rgba(255, 255, 255, 0.76);
}

.home-page .trust-list article.is-active {
  border-color: rgba(111, 143, 232, 0.48);
  background: linear-gradient(90deg, rgba(221, 232, 255, 0.84), rgba(255, 255, 255, 0.94));
  box-shadow: 0 24px 60px rgba(53, 89, 153, 0.16);
}

.home-page .trust-list article.is-active::before,
.home-page .trust-list article:hover::before {
  width: 6px;
  background: var(--rhythm-blue);
}

.home-page .trust-list article:hover span {
  color: var(--rhythm-orange);
}

.home-page .trust-detail {
  border-color: rgba(126, 155, 220, 0.24);
  background: rgba(255, 255, 255, 0.92);
}

.home-page .trust-detail-icon {
  background: var(--rhythm-blue-strong-soft);
  box-shadow:
    inset 0 0 0 1px rgba(111, 143, 232, 0.26),
    0 18px 38px rgba(53, 89, 153, 0.14);
}

.home-page .events-section {
  background:
    linear-gradient(180deg, #ffffff 0%, #fbfcff 100%);
}

.home-page .events-section::before {
  content: "";
  position: absolute;
  inset: 0 calc(var(--page-gutter) * -1);
  z-index: -1;
  background: inherit;
}

.home-page .events-section::after {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(234, 240, 255, 0.82), rgba(234, 240, 255, 0));
}

.home-page .events-section .event-card {
  box-shadow: 0 22px 58px rgba(53, 89, 153, 0.11);
}

.home-page .events-section .event-meta span,
.home-page .events-section .event-category {
  padding: 8px 12px;
  font-weight: 900;
}

.home-page .events-section .event-card:hover .event-content {
  background: linear-gradient(180deg, rgba(255, 241, 230, 0.94), rgba(255, 255, 255, 0.98));
}

.home-page .events-section .event-card:hover .text-link {
  color: var(--rhythm-orange);
}

.home-page #reviews {
  background:
    radial-gradient(circle at 18% 18%, rgba(255, 227, 204, 0.42), rgba(255, 227, 204, 0) 28%),
    linear-gradient(135deg, #eaf0ff 0%, #f6f9ff 100%);
}

.home-page #reviews::before {
  content: "";
  position: absolute;
  inset: 0 calc(var(--page-gutter) * -1);
  z-index: -1;
  background: inherit;
}

.home-page #reviews::after {
  background: linear-gradient(180deg, rgba(246, 249, 255, 0), rgba(255, 241, 230, 0.72), rgba(255, 241, 230, 0));
}

.home-page .review-slide:not(.is-active) {
  opacity: 0.64;
}

.home-page .review-slide.is-active .review-image-card {
  border-color: rgba(111, 143, 232, 0.46);
  box-shadow: 0 38px 86px rgba(53, 89, 153, 0.26);
}

.home-page .review-slide.is-active .review-image-card::after {
  content: "";
  position: absolute;
  top: 22px;
  right: 22px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--rhythm-orange);
  box-shadow: 0 0 0 8px rgba(255, 122, 26, 0.14);
}

.home-page .pricing-section {
  background:
    radial-gradient(circle at 78% 16%, rgba(221, 232, 255, 0.8), rgba(221, 232, 255, 0) 34%),
    linear-gradient(135deg, #fff1e6 0%, #fff8f1 42%, #f4f7fc 100%);
}

.home-page .pricing-section::before {
  content: "";
  position: absolute;
  inset: 0 calc(var(--page-gutter) * -1);
  z-index: -1;
  background: inherit;
}

.home-page .pricing-section::after {
  background: linear-gradient(180deg, rgba(244, 247, 252, 0), rgba(16, 35, 77, 0.12), rgba(16, 35, 77, 0));
}

.home-page .price-teaser {
  border-color: rgba(126, 155, 220, 0.24);
  box-shadow: 0 22px 58px rgba(53, 89, 153, 0.12);
}

.home-page .price-teaser i {
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.72);
}

.home-page .price-teaser-school:hover,
.home-page .price-teaser-interspace:hover {
  box-shadow: 0 30px 74px rgba(93, 127, 205, 0.18);
}

.home-page .price-teaser-mandarin:hover,
.home-page .price-teaser-fullday:hover {
  box-shadow: 0 30px 74px rgba(255, 122, 26, 0.18);
}

.home-page .price-teaser:hover .price-reveal em {
  background: #fff;
  border-color: var(--rhythm-orange);
  color: var(--rhythm-orange);
}

.home-page .final-cta {
  background:
    linear-gradient(90deg, rgba(8, 19, 49, 0.99) 0%, rgba(16, 35, 77, 0.92) 38%, rgba(16, 35, 77, 0.42) 66%, rgba(8, 19, 49, 0.12) 100%),
    url("assets/center-owl-cta.png") center / cover no-repeat;
}

.home-page .final-cta h2,
.home-page .final-cta p {
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.24);
}

@media (max-width: 860px) {
  .home-page .final-cta {
    background:
      linear-gradient(90deg, rgba(8, 19, 49, 0.99) 0%, rgba(16, 35, 77, 0.9) 62%, rgba(16, 35, 77, 0.42) 100%),
      url("assets/center-owl-cta.png") center / cover no-repeat;
  }
}
