:root {
  --color-bg: #f4f7fc;
  --color-surface: #ffffff;
  --color-text: #081331;
  --color-muted: #5e6e96;
  --color-brand-blue: #7e9bdc;
  --color-brand-blue-strong: #5d7fcd;
  --color-brand-blue-soft: #eaf0ff;
  --color-brand-orange: #f5a15b;
  --color-brand-orange-strong: #ff7a1a;
  --color-brand-orange-soft: #fff1e6;
  --color-navy: #10234d;
  --color-navy-deep: #081331;

  --ink: var(--color-text);
  --muted: var(--color-muted);
  --paper: var(--color-bg);
  --paper-2: #fbfcff;
  --panel: var(--color-surface);
  --line: #dce6f8;
  --blue: var(--color-brand-blue);
  --orange: var(--color-brand-orange);
  --accent-blue: var(--color-brand-blue-strong);
  --accent-orange: var(--color-brand-orange-strong);
  --deep: var(--color-navy-deep);
}

.site-header {
  color: var(--color-navy-deep);
}

.site-header.is-scrolled,
.site-header.is-open {
  border-color: rgba(126, 155, 220, 0.22);
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 18px 48px rgba(16, 35, 77, 0.1);
}

.main-nav a:hover,
.main-nav a.is-active {
  color: var(--color-brand-blue-strong);
  background: var(--color-brand-blue-soft);
  box-shadow: inset 0 0 0 1px rgba(126, 155, 220, 0.22);
}

.main-nav .nav-cta,
.button.primary {
  background: linear-gradient(135deg, var(--color-brand-orange), var(--color-brand-orange-strong));
  box-shadow: 0 16px 32px rgba(255, 122, 26, 0.24);
}

.main-nav .nav-cta:hover,
.button.primary:hover {
  box-shadow: 0 20px 42px rgba(255, 122, 26, 0.32);
}

.button.ghost {
  border-color: rgba(126, 155, 220, 0.64);
  color: var(--color-brand-blue-strong);
  background: rgba(255, 255, 255, 0.76);
}

.button.ghost:hover {
  background: var(--color-brand-blue-soft);
  border-color: var(--color-brand-blue);
}

.home-page .live-hero .eyebrow {
  color: var(--color-brand-orange-strong);
}

.home-page .hero-facts span {
  border-color: rgba(126, 155, 220, 0.3);
  background: rgba(234, 240, 255, 0.88);
  color: var(--color-brand-blue-strong);
}

.home-page .hero-facts span:nth-child(2),
.home-page .hero-facts span:nth-child(4) {
  border-color: rgba(255, 122, 26, 0.24);
  background: rgba(255, 241, 230, 0.92);
  color: var(--color-brand-orange-strong);
}

.program-card-school small,
.program-card-school span,
.program-card-interspace small,
.program-card-interspace span {
  color: var(--color-brand-blue-strong);
}

.program-card-mandarin small,
.program-card-mandarin span {
  color: var(--color-brand-orange-strong);
}

.program-card::after {
  border-color: rgba(126, 155, 220, 0.58);
  color: var(--color-brand-blue-strong);
  background: rgba(255, 255, 255, 0.8);
}

.program-card-mandarin::after {
  border-color: rgba(255, 122, 26, 0.48);
  color: var(--color-brand-orange-strong);
}

.program-card-school:hover,
.program-card-interspace:hover {
  box-shadow: 0 26px 62px rgba(93, 127, 205, 0.16);
}

.program-card-mandarin:hover {
  box-shadow: 0 26px 62px rgba(255, 122, 26, 0.14);
}

.program-card-interspace:hover::before {
  background: linear-gradient(90deg, rgba(126, 155, 220, 0.12), rgba(255, 122, 26, 0.12));
}

.trust-list article.is-active::before,
.trust-list article:hover::before {
  background: var(--color-brand-blue-strong);
}

.trust-list em,
.trust-list span,
.trust-detail-icon {
  color: var(--color-brand-blue-strong);
}

.trust-list article:hover span {
  color: var(--color-brand-orange-strong);
}

.trust-detail-icon {
  background: var(--color-brand-blue-soft);
}

.trust-detail li:nth-child(2)::before {
  background:
    radial-gradient(circle, rgba(255, 255, 255, 0.92) 0 28%, rgba(255, 122, 26, 0.2) 30%),
    var(--color-brand-orange-soft);
}

.events-section .event-meta span,
.events-section .event-category {
  border-radius: 999px;
  padding: 7px 10px;
  background: var(--color-brand-blue-soft);
  color: var(--color-brand-blue-strong);
}

.events-section .event-category-orange,
.events-section .event-category-trip,
.events-section .event-category-soft-orange {
  background: var(--color-brand-orange-soft);
  color: var(--color-brand-orange-strong);
}

.events-section .event-category-mixed {
  background: linear-gradient(90deg, var(--color-brand-blue-soft), var(--color-brand-orange-soft));
  color: var(--color-brand-blue-strong);
}

.events-section .event-card:hover .event-content {
  box-shadow: inset 0 3px 0 rgba(255, 122, 26, 0.78);
}

.events-section .event-card:hover .text-link,
.events-section .event-card:hover .text-link::after {
  color: var(--color-brand-orange-strong);
}

.review-slide.is-active .review-image-card {
  box-shadow: 0 34px 76px rgba(53, 89, 153, 0.2);
}

.review-nav {
  color: var(--color-navy-deep);
  background: rgba(255, 255, 255, 0.94);
}

.review-nav:hover {
  background: var(--color-brand-orange-soft);
  color: var(--color-brand-orange-strong);
}

.review-dots button {
  background: rgba(126, 155, 220, 0.3);
}

.review-dots button.is-active {
  background: var(--color-brand-orange-strong);
}

.price-teaser-school i,
.price-teaser-interspace i {
  background: var(--color-brand-blue-soft);
  color: var(--color-brand-blue-strong);
}

.price-teaser-mandarin i,
.price-teaser-fullday i {
  background: var(--color-brand-orange-soft);
  color: var(--color-brand-orange-strong);
}

.price-teaser-school:hover,
.price-teaser-interspace:hover {
  border-color: rgba(126, 155, 220, 0.32);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(234, 240, 255, 0.94)),
    #fff;
}

.price-teaser-mandarin:hover,
.price-teaser-fullday:hover {
  border-color: rgba(255, 122, 26, 0.28);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 241, 230, 0.94)),
    #fff;
}

.price-teaser-school .price-reveal b,
.price-teaser-interspace .price-reveal b {
  color: var(--color-brand-blue-strong);
}

.price-teaser-mandarin .price-reveal b,
.price-teaser-fullday .price-reveal b {
  color: var(--color-brand-orange-strong);
}

.price-teaser:hover .price-reveal em {
  border-color: rgba(255, 122, 26, 0.72);
  color: var(--color-brand-orange-strong);
}

.final-cta {
  background:
    linear-gradient(90deg, rgba(8, 19, 49, 0.97) 0%, rgba(16, 35, 77, 0.9) 34%, rgba(16, 35, 77, 0.35) 62%, rgba(8, 19, 49, 0.08) 100%),
    url("assets/center-owl-cta.png") center / cover no-repeat;
}

.final-cta .button.primary {
  background: linear-gradient(135deg, var(--color-brand-orange), var(--color-brand-orange-strong));
}

.final-cta .button.ghost {
  border-color: rgba(255, 255, 255, 0.58);
  color: #fff;
  background: rgba(255, 255, 255, 0.08);
}

.final-cta .button.ghost:hover {
  background: rgba(255, 255, 255, 0.17);
}

@media (max-width: 1080px) {
  .main-nav {
    background: rgba(255, 255, 255, 0.94);
  }
}

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