.app-shell {
  min-height: 100vh;
  overflow-x: clip;
  background: var(--kc-page-bg);
  transition: background-color 0.35s ease, color 0.35s ease;
}

:root {
  --kc-page-bg: var(--white);
  --kc-surface: #ffffff;
  --kc-surface-alt: #fbfbfd;
  --kc-surface-muted: #fff6ec;
  --kc-surface-contrast: rgba(255, 255, 255, 0.12);
  --kc-border-soft: rgba(56, 84, 105, 0.1);
  --kc-card-shadow: 0 18px 45px rgba(22, 28, 45, 0.08);
  --kc-card-shadow-strong: 0 16px 40px rgba(19, 29, 50, 0.08);
  --kc-card-shadow-hover: 0 26px 60px rgba(22, 28, 45, 0.12);
  --kc-text-strong: #1b1d25;
  --kc-text-soft: #5c6574;
  --kc-on-light-card: #16324a;
  --kc-on-light-card-soft: #5c6f82;
  --kc-accent: #ff8f1f;
  --kc-accent-strong: #ff5b5b;
  --kc-accent-2: #ff6d2d;
  --kc-hero-cloud-wave: #ffffff;
  --kc-header-wave: #cce3e8;
  --kc-section-cloud-wave: #ffffff;
  --kc-footer-wave: #c9dde2;
  --kc-toggle-track: var(--theme);
  --kc-toggle-glow: 0 14px 28px rgba(255, 118, 43, 0.36);
  --kc-toggle-thumb-shadow: 0 10px 20px rgba(13, 22, 36, 0.24);
}

html[data-theme="dark"] {
  --body: #08111f;
  --text: #b8c7d5;
  --text-2: rgba(232, 241, 248, 0.8);
  --header: #f3f7fb;
  --header2: #d7e4ef;
  --bg: #0f1a29;
  --bg2: #132236;
  --bg3: #2a6170;
  --border: #24364b;
  --box-shadow: 0 18px 45px rgba(0, 0, 0, 0.28);
  --kc-page-bg: #08111f;
  --kc-surface: #132236;
  --kc-surface-alt: #17283d;
  --kc-surface-muted: #1e3148;
  --kc-surface-contrast: rgba(255, 255, 255, 0.08);
  --kc-border-soft: rgba(167, 191, 214, 0.1);
  --kc-card-shadow: 0 22px 48px rgba(0, 0, 0, 0.32);
  --kc-card-shadow-strong: 0 18px 42px rgba(0, 0, 0, 0.3);
  --kc-card-shadow-hover: 0 28px 62px rgba(0, 0, 0, 0.38);
  --kc-text-strong: #f3f7fb;
  --kc-text-soft: #afbdcb;
  --kc-on-light-card: #14263a;
  --kc-on-light-card-soft: #54687a;
  --kc-accent: #ffb050;
  --kc-accent-strong: #ff8150;
  --kc-accent-2: #ff9f4a;
  --kc-hero-cloud-wave: #08111f;
  --kc-header-wave: var(--theme);
  --kc-section-cloud-wave: #08111f;
  --kc-footer-wave: var(--theme);
  --kc-toggle-track: linear-gradient(135deg, var(--theme) 0%, var(--kc-accent-2) 100%);
  --kc-toggle-glow: 0 18px 32px rgba(255, 116, 44, 0.28);
  --kc-toggle-thumb-shadow: 0 12px 24px rgba(0, 0, 0, 0.34);
}

html[data-theme="dark"] body {
  background-color: var(--kc-page-bg);
  color: var(--text);
}

.feature-box-items5 .feature-bg.bg-5 {
  background-color: #fff3cc;
}

.feature-box-items5 .feature-bg.bg-6 {
  background-color: #e5f7e7;
}

.feature-box-items5 .feature-bg.bg-7 {
  background-color: #f3e7ff;
}

.feature-box-items5 .feature-bg.bg-8 {
  background-color: #ffe3d6;
}

.home-course-slider {
  padding: 6px 4px 0;
}

.home-course-slider .swiper-wrapper {
  align-items: flex-start;
}

.home-course-slider .swiper-slide {
  height: auto;
  display: flex;
  justify-content: center;
}

.home-course-slider .program-box-items {
  width: 100%;
  max-width: 371px;
  height: auto;
}

.home-course-slider .program-box-items .program-image {
  aspect-ratio: 308 / 237;
}

.home-course-slider .program-box-items .program-image img {
  object-fit: cover;
}

.hero-1 .hero-image {
  max-width: 520px;
  margin-left: auto;
}

.hero-1 .hero-image > img {
  display: block;
  width: 100%;
  max-height: 500px;
  object-fit: contain;
}

.about-wrapper .about-image-items .about-image {
  aspect-ratio: 554 / 467;
}

.about-wrapper .about-image-items .about-image img {
  object-fit: cover;
}

@media (max-width: 767px) {
  .home-course-slider {
    overflow: visible;
  }

  .home-course-slider .swiper-wrapper {
    display: grid;
    grid-template-columns: 1fr;
    gap: 28px;
    transform: none !important;
  }

  .home-course-slider .swiper-slide {
    width: 100% !important;
    margin-right: 0 !important;
  }

  .home-course-slider .program-box-items {
    margin: 0 auto 46px;
  }

  .home-course-slider .swiper-dot {
    display: none;
  }

  .hero-1 .hero-image {
    max-width: 360px;
    margin: 30px auto 0;
  }

  .hero-1 .hero-image > img {
    max-height: 360px;
  }

  .kc-blog-detail-image {
    max-height: 280px;
  }

  .news-wrapper .news-single-items .news-image img {
    height: 230px;
  }
}

.kc-community-feature-card {
  aspect-ratio: 330 / 280;
}

.kc-community-feature-card .icon-box {
  margin-bottom: 16px;
}

.kc-community-feature-card .icon-box .icon {
  z-index: 1;
}

.kc-community-feature-card-1 .icon-box .icon {
  color: #b3266b;
}

.kc-community-feature-card-2 .icon-box .icon {
  color: #4d5cb8;
}

.kc-community-feature-card-3 .icon-box .icon {
  color: #17769d;
}

.kc-community-feature-card-4 .icon-box .icon {
  color: #c13f50;
}

.kc-community-feature-card-5 .icon-box .icon {
  color: #a56a00;
}

.kc-community-feature-card-6 .icon-box .icon {
  color: #318044;
}

.kc-community-feature-card-7 .icon-box .icon {
  color: #8052b2;
}

.kc-community-feature-card-8 .icon-box .icon {
  color: #bd5b2f;
}

.kc-community-feature-card p {
  padding: 0 10px;
  font-size: 15px;
  line-height: 1.5;
}

.kc-coming-soon {
  max-width: 740px;
  margin: 48px auto 0;
  padding: 58px 32px;
  border-radius: 8px;
  background: var(--kc-surface);
  border: 1px solid var(--kc-border-soft);
  box-shadow: var(--kc-card-shadow);
}

.kc-coming-soon span {
  display: inline-block;
  margin-bottom: 12px;
  font-weight: 700;
  color: var(--kc-accent);
}

.kc-coming-soon h2 {
  margin-bottom: 14px;
  color: var(--kc-text-strong);
}

.kc-coming-soon p {
  max-width: 560px;
  margin: 0 auto 26px;
  color: var(--kc-text-soft);
}

.clases-section .clases-items .clases-content h4,
.kc-community-feature-card h2 {
  color: var(--kc-on-light-card);
}

.clases-section .clases-items .clases-content p,
.clases-section .clases-items .clases-content li,
.kc-community-feature-card p {
  color: var(--kc-on-light-card-soft);
}

.clases-section .clases-items .kc-about-story-copy p:not(:last-of-type) {
  margin-bottom: 12px;
  padding-bottom: 0;
  border-bottom: 0;
}

@media (max-width: 1399px) {
  .kc-community-feature-card {
    aspect-ratio: auto;
    min-height: 280px;
    padding: 34px 26px;
  }
}

body,
a,
button,
input,
textarea,
select,
.header-top-section,
.header-1,
.footer-section,
.footer-wrapper,
.kc-feature-panel,
.kc-process-card,
.kc-value-card,
.kc-story-card,
.kc-commitment-card,
.kc-camp-card,
.kc-banner-manager,
.kc-map-card,
.kc-why-card,
.kc-testimonial-card,
.kc-form-panel,
.kc-faq-item,
.kc-course-detail-card,
.news-wrapper .news-single-items,
.news-wrapper .news-right-items {
  transition: background-color 0.35s ease, color 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
}

body.kc-popup-open {
  overflow: hidden;
}

body.kc-loading {
  overflow: hidden;
}

.kc-page-loader {
  min-height: calc(100vh - 172px);
  display: flex;
  align-items: center;
  padding: 92px 0 110px;
  background: var(--kc-page-bg);
}

.kc-page-loader-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.86fr);
  gap: 56px;
  align-items: center;
}

.kc-page-loader-copy {
  display: grid;
  gap: 18px;
}

.kc-skeleton-line,
.kc-skeleton-search,
.kc-skeleton-image {
  position: relative;
  overflow: hidden;
  border-radius: 999px;
  background: color-mix(in srgb, var(--kc-surface-muted) 72%, var(--kc-surface) 28%);
}

.kc-skeleton-line::after,
.kc-skeleton-search::after,
.kc-skeleton-image::after {
  content: "";
  position: absolute;
  inset: 0;
  transform: translateX(-100%);
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.58), transparent);
  animation: kc-skeleton-shimmer 1.35s ease-in-out infinite;
}

.kc-skeleton-eyebrow {
  width: 220px;
  height: 20px;
}

.kc-skeleton-title {
  width: min(620px, 92%);
  height: 74px;
  border-radius: 24px;
}

.kc-skeleton-title-short {
  width: min(430px, 70%);
}

.kc-skeleton-text {
  width: min(610px, 90%);
  height: 18px;
  margin-top: 12px;
}

.kc-skeleton-text-wide {
  width: min(520px, 78%);
  margin-top: 0;
}

.kc-skeleton-search {
  width: min(650px, 100%);
  height: 66px;
  margin-top: 18px;
  border-radius: 18px;
  display: grid;
  grid-template-columns: 1fr 1fr 120px;
  gap: 1px;
  background: var(--kc-surface);
  border: 1px solid var(--kc-border-soft);
  box-shadow: var(--kc-card-shadow);
}

.kc-skeleton-search span {
  background: color-mix(in srgb, var(--kc-surface-muted) 64%, var(--kc-surface) 36%);
}

.kc-skeleton-search span:first-child {
  border-radius: 18px 0 0 18px;
}

.kc-skeleton-search span:last-child {
  border-radius: 0 18px 18px 0;
  background: color-mix(in srgb, var(--kc-accent) 70%, var(--kc-surface) 30%);
}

.kc-page-loader-visual {
  display: flex;
  justify-content: center;
}

.kc-skeleton-image {
  width: min(460px, 100%);
  aspect-ratio: 1 / 1;
  border-radius: 44% 56% 48% 52%;
  background:
    radial-gradient(circle at 68% 28%, rgba(255, 143, 31, 0.18), transparent 26%),
    color-mix(in srgb, var(--kc-surface-muted) 74%, var(--kc-surface) 26%);
}

@keyframes kc-skeleton-shimmer {
  100% {
    transform: translateX(100%);
  }
}

@media (max-width: 991px) {
  .kc-page-loader {
    padding: 64px 0 80px;
  }

  .kc-page-loader-shell {
    grid-template-columns: 1fr;
    gap: 38px;
  }

  .kc-page-loader-visual {
    justify-content: flex-start;
  }

  .kc-skeleton-image {
    width: min(320px, 78vw);
  }
}

@media (max-width: 575px) {
  .kc-skeleton-title {
    height: 48px;
    border-radius: 18px;
  }

  .kc-skeleton-search {
    grid-template-columns: 1fr;
    height: 150px;
  }

  .kc-skeleton-search span,
  .kc-skeleton-search span:first-child,
  .kc-skeleton-search span:last-child {
    border-radius: 0;
  }
}

.brand-logo {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

.brand-logo-image {
  display: block;
  width: auto;
  height: 62px;
  object-fit: contain;
}

.footer-logo-image {
  height: 74px;
  padding: 8px 12px;
  border-radius: 18px;
}

.kc-footer-service-area {
  max-width: 340px;
  margin: 14px 0 0;
  color: var(--kc-text-soft);
  font-weight: 700;
  line-height: 1.6;
}

.header-main .main-menu ul li a.active,
.header-main .main-menu ul li .kc-nav-dropdown-toggle.active {
  color: var(--theme);
}

.header-1 .header-logo .brand-logo-image {
  height: 62px;
}

.header-1 .header-main .header-right .search-icon {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.kc-header-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.kc-header-actions .kc-header-action {
  padding: 16px 20px;
  border-radius: 18px;
  font-size: 14px;
  white-space: nowrap;
}

.kc-header-actions .kc-header-action-login {
  border: 1px solid var(--theme);
  background: transparent;
  color: var(--theme);
}

.kc-header-actions .kc-header-action-login:hover,
.kc-header-actions .kc-header-action-login:hover i {
  color: var(--white);
}

.header-1 .mean__menu-wrapper {
  padding: 0 28px;
  border: 1px solid transparent;
  background: transparent;
  backdrop-filter: none;
  box-shadow: none;
}

.header-1 .header__hamburger {
  position: relative;
  z-index: 90;
}

.kc-mobile-menu-overlay {
  display: none;
}

.sticky-header-spacer {
  width: 100%;
}

.header-1.header-1-bannerless {
  background-color: var(--kc-surface);
}

.header-top-section.header-top-section-bannerless,
.header-top-section.header-top-section-bannerless .header-top-shape {
  background-color: var(--kc-surface);
}

.sticky.header-1.header-1-bannerless {
  background-color: var(--kc-surface);
}

.header-1 .main-menu ul li a,
.header-1 .main-menu ul li .kc-nav-dropdown-toggle {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  white-space: nowrap;
}

.header-1 .main-menu ul li .kc-nav-dropdown-toggle {
  border: 0;
  background: transparent;
  color: var(--header);
  cursor: pointer;
  font: inherit;
  font-weight: 800;
  line-height: 1;
}

.header-1 .main-menu ul li .kc-nav-dropdown-toggle:hover {
  color: var(--theme);
}

.header-1 .main-menu ul li .kc-nav-dropdown-toggle i {
  font-size: 11px;
}

.kc-nav-dropdown {
  position: relative;
}

.kc-nav-dropdown-menu {
  position: absolute;
  top: calc(100% + 8px);
  left: 50%;
  z-index: 80;
  min-width: 190px;
  padding: 12px;
  border: 1px solid var(--kc-border-soft);
  border-radius: 14px;
  background: var(--kc-surface);
  box-shadow: 0 18px 42px rgba(19, 29, 50, 0.14);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 8px);
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.kc-nav-dropdown-menu::before {
  position: absolute;
  right: 0;
  bottom: 100%;
  left: 0;
  height: 12px;
  content: "";
}

.kc-nav-dropdown:hover .kc-nav-dropdown-menu {
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, 0);
}

.header-1 .main-menu ul li .kc-nav-dropdown-menu li {
  display: block;
  margin: 0;
}

.header-1 .main-menu ul li .kc-nav-dropdown-menu a {
  display: flex;
  width: 100%;
  padding: 11px 12px;
  border-radius: 10px;
  color: var(--kc-text-strong);
  font-size: 15px;
  line-height: 1.2;
}

.header-1 .main-menu ul li .kc-nav-dropdown-menu a:hover,
.header-1 .main-menu ul li .kc-nav-dropdown-menu a.active {
  background: var(--kc-surface-muted);
  color: var(--theme);
}

.kc-nav-link-label {
  display: inline-block;
}

.kc-nav-sale-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 10px;
  border-radius: 999px;
  background: linear-gradient(135deg, #ff7a18 0%, #ff3d54 100%);
  box-shadow: 0 10px 20px rgba(255, 82, 63, 0.22);
  color: #ffffff !important;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1;
  text-transform: uppercase;
}

.sticky.header-1 .main-menu ul li a,
.sticky.header-1 .main-menu ul li .kc-nav-dropdown-toggle {
  color: var(--header);
}

.sticky.header-1 .main-menu ul li a.active,
.sticky.header-1 .main-menu ul li a:hover,
.sticky.header-1 .main-menu ul li .kc-nav-dropdown-toggle.active,
.sticky.header-1 .main-menu ul li .kc-nav-dropdown-toggle:hover {
  color: var(--theme) !important;
}

.kc-hero-media-left .hero-content {
  max-width: 680px;
}

.kc-hero-media-left .hero-image {
  margin-right: auto;
  margin-left: 0;
}

.kc-hero-media-showcase {
  padding-top: clamp(110px, 9vw, 155px);
}

.kc-hero-media-showcase .row {
  position: relative;
  z-index: 2;
}

.kc-hero-media-showcase .hero-image {
  margin: 0 auto;
}

.kc-hero-split-promo {
  position: relative;
  min-height: clamp(640px, 76vh, 820px);
  display: flex;
  align-items: center;
  padding-top: clamp(115px, 9vw, 155px);
  overflow: hidden;
}

.kc-hero-split-promo::before {
  display: none;
}

.kc-hero-split-promo::after {
  display: none;
}

.kc-hero-split-promo .container {
  position: relative;
  z-index: 2;
}

.kc-hero-split-promo .hero-image {
  margin: 0 auto;
}

.kc-hero-photo-side,
.kc-hero-video-side {
  position: relative;
}

.kc-hero-video-side {
  transform: translateY(-52px);
}

.kc-hero-photo-shape {
  position: absolute;
  top: 50%;
  left: -10%;
  width: min(520px, 115%);
  transform: translateY(-50%);
  z-index: 0;
  pointer-events: none;
}

.kc-hero-photo-shape img {
  display: block;
  width: 100%;
  height: auto;
}

.kc-hero-split-copy {
  max-width: 460px;
  margin: 0 auto;
}

.hero-1.kc-hero-split-promo .kc-hero-split-copy h5 {
  color: var(--theme);
  font-size: 18px;
}

.hero-1.kc-hero-split-promo .kc-hero-split-copy h1 {
  font-size: clamp(48px, 5vw, 76px);
  line-height: 0.98;
  margin-bottom: 18px;
}

.hero-1.kc-hero-split-promo .kc-hero-split-copy p {
  max-width: 410px;
  margin: 0 auto;
  color: rgba(56, 84, 105, 0.78);
  font-size: 18px;
}

.hero-1.kc-hero-split-promo .kc-hero-split-copy .hero-button {
  margin-top: 30px;
  gap: 14px;
}

.kc-hero-photo-card {
  position: relative;
  width: min(520px, 100%);
  padding: 0;
  border-radius: 30px;
  background: transparent;
  box-shadow: none;
}

.kc-hero-photo-card::before {
  display: none;
}

.kc-hero-photo-inner {
  position: relative;
  z-index: 1;
  aspect-ratio: 0.78;
  overflow: hidden;
  border-radius: 24px;
  background: transparent;
}

.kc-hero-photo-inner img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.kc-hero-video-card {
  position: relative;
  z-index: 1;
  width: min(520px, 100%);
  aspect-ratio: 0.78;
  overflow: hidden;
  border: 0;
  border-radius: 24px;
  background: #14263a;
  box-shadow: 0 24px 60px rgba(18, 37, 58, 0.16);
}

.kc-hero-video-card::before {
  display: none;
}

.kc-hero-video-card video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.kc-hero-video-badge,
.kc-hero-video-audio,
.kc-hero-video-caption {
  position: absolute;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  backdrop-filter: blur(14px);
}

.kc-hero-video-badge {
  top: 18px;
  left: 18px;
  gap: 8px;
  padding: 9px 13px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.88);
  color: #16324a;
  font-size: 13px;
  font-weight: 800;
  box-shadow: 0 12px 24px rgba(16, 24, 40, 0.12);
}

.kc-hero-video-badge i {
  color: var(--kc-accent);
  font-size: 11px;
}

.kc-hero-video-audio {
  top: 18px;
  right: 18px;
  gap: 8px;
  padding: 9px 13px;
  border: 0;
  border-radius: 999px;
  background: rgba(22, 50, 74, 0.78);
  color: #ffffff;
  font-size: 13px;
  font-weight: 800;
  box-shadow: 0 12px 24px rgba(16, 24, 40, 0.18);
  cursor: pointer;
}

.kc-hero-video-audio:hover,
.kc-hero-video-audio:focus-visible {
  background: var(--kc-accent);
  color: #ffffff;
}

.kc-hero-video-caption {
  right: 18px;
  bottom: 18px;
  left: 18px;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
  padding: 14px 16px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 22px;
  background: rgba(17, 28, 43, 0.68);
  color: #ffffff;
}

.kc-hero-video-caption strong {
  color: #ffffff;
  font-size: 18px;
  line-height: 1.2;
}

.kc-hero-video-caption span {
  color: rgba(255, 255, 255, 0.84);
  font-size: 13px;
  font-weight: 700;
}

.kc-hero-showcase-copy {
  max-width: 620px;
  margin: 0 auto;
}

.kc-hero-video-placeholder {
  min-height: 320px;
}

.kc-hero-search {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr) 170px;
  max-width: 760px;
  margin-top: 34px;
  overflow: hidden;
  border-radius: 0;
  background: var(--white);
  box-shadow: 0 22px 55px rgba(20, 45, 64, 0.16);
}

.kc-hero-search label,
.kc-hero-search select,
.kc-hero-search input,
.kc-hero-search-button {
  min-height: 78px;
}

.kc-hero-search label {
  margin: 0;
}

.kc-hero-search select,
.kc-hero-search input {
  width: 100%;
  height: 100%;
  border: 0;
  outline: 0;
  background: var(--white);
  color: var(--header);
  font-size: 18px;
  font-weight: 600;
}

.kc-hero-search-select {
  position: relative;
  border-right: 1px solid rgba(56, 84, 105, 0.12);
}

.kc-hero-search select {
  padding: 0 28px;
  appearance: none;
}

.kc-hero-search-select::after {
  position: absolute;
  top: 50%;
  right: 24px;
  content: "";
  width: 0;
  height: 0;
  border-top: 6px solid var(--header);
  border-right: 5px solid transparent;
  border-left: 5px solid transparent;
  pointer-events: none;
  transform: translateY(-50%);
}

.kc-hero-search input {
  padding: 0 32px;
}

.kc-hero-search input::placeholder {
  color: rgba(56, 84, 105, 0.76);
}

.kc-hero-search-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--theme);
  color: var(--white);
  font-size: 18px;
  font-weight: 800;
}

.kc-hero-search-button:hover {
  background: var(--header);
  color: var(--white);
}

.kc-home-local-intro {
  padding: 48px 0 18px;
  background: var(--kc-surface);
}

.kc-home-local-intro-content {
  max-width: 980px;
  margin: 0 auto;
  text-align: center;
}

.kc-home-local-intro-content h2 {
  margin-bottom: 14px;
  color: var(--kc-text-strong);
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1.15;
}

.kc-home-local-intro-content p {
  margin: 0;
  color: var(--kc-text-soft);
  font-size: 18px;
  line-height: 1.75;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

html[data-theme="dark"] .header-top-section .header-top-shape img {
  filter: brightness(0) saturate(100%) invert(73%) sepia(89%) saturate(877%) hue-rotate(329deg) brightness(102%) contrast(101%);
}

@supports ((-webkit-mask-image: url("../img/header-top-shape.png")) or (mask-image: url("../img/header-top-shape.png"))) {
  html[data-theme="dark"] .header-top-section .header-top-shape {
    right: 0;
    background: var(--theme);
    -webkit-mask: url("../img/header-top-shape.png") center top / 100% 100% no-repeat;
    mask: url("../img/header-top-shape.png") center top / 100% 100% no-repeat;
  }

  html[data-theme="dark"] .header-top-section .header-top-shape img {
    opacity: 0;
    filter: none;
  }
}

.hero-1 .bottom-shape img {
  display: block;
  width: 100%;
}

html[data-theme="dark"] .hero-1 .bottom-shape img {
  filter: brightness(0) saturate(100%) invert(4%) sepia(40%) saturate(1193%) hue-rotate(185deg) brightness(94%) contrast(98%);
}

@supports ((-webkit-mask-image: url("../img/hero/bottom.png")) or (mask-image: url("../img/hero/bottom.png"))) {
  html[data-theme="dark"] .hero-1 .bottom-shape {
    background: var(--kc-hero-cloud-wave);
    -webkit-mask: url("../img/hero/bottom.png") center bottom / 100% 100% no-repeat;
    mask: url("../img/hero/bottom.png") center bottom / 100% 100% no-repeat;
  }

  html[data-theme="dark"] .hero-1 .bottom-shape img {
    opacity: 0;
    filter: none;
  }
}

.program-section .top-shape,
.program-section .bottom-shape,
.team-section .top-shape {
  right: 0;
}

.program-section .top-shape img,
.program-section .bottom-shape img,
.team-section .top-shape img {
  display: block;
  width: 100%;
}

html[data-theme="dark"] .program-section .top-shape img,
html[data-theme="dark"] .program-section .bottom-shape img,
html[data-theme="dark"] .team-section .top-shape img {
  filter: brightness(0) saturate(100%) invert(4%) sepia(40%) saturate(1193%) hue-rotate(185deg) brightness(94%) contrast(98%);
}

@supports ((-webkit-mask-image: url("../img/section-top-shape.png")) or (mask-image: url("../img/section-top-shape.png"))) {
  html[data-theme="dark"] .program-section .top-shape,
  html[data-theme="dark"] .team-section .top-shape {
    background: var(--kc-section-cloud-wave);
    -webkit-mask: url("../img/section-top-shape.png") center top / 100% 100% no-repeat;
    mask: url("../img/section-top-shape.png") center top / 100% 100% no-repeat;
  }

  html[data-theme="dark"] .program-section .bottom-shape {
    background: var(--kc-section-cloud-wave);
    -webkit-mask: url("../img/section-bottom-shape.png") center bottom / 100% 100% no-repeat;
    mask: url("../img/section-bottom-shape.png") center bottom / 100% 100% no-repeat;
  }

  html[data-theme="dark"] .program-section .top-shape img,
  html[data-theme="dark"] .program-section .bottom-shape img,
  html[data-theme="dark"] .team-section .top-shape img {
    opacity: 0;
    filter: none;
  }
}

.mobile-toggle-button {
  appearance: none;
  -webkit-appearance: none;
  position: relative;
  width: 28px;
  height: 28px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  overflow: visible;
  transform: none !important;
}

.header-main .mobile-toggle-button::before,
.header-main .mobile-toggle-button::after {
  content: none !important;
  display: none !important;
}

.header-main .mobile-toggle-button span {
  width: 24px;
  height: 2.5px;
  margin: 0 !important;
  margin-inline-end: 0 !important;
  border-radius: 999px;
  background: #16324a;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.header-main .mobile-toggle-button:hover span {
  width: 24px;
}

.header-main .mobile-toggle-button.is-open span:nth-child(1) {
  transform: translateY(8.5px) rotate(45deg);
}

.header-main .mobile-toggle-button.is-open span:nth-child(2) {
  opacity: 0;
}

.header-main .mobile-toggle-button.is-open span:nth-child(3) {
  transform: translateY(-8.5px) rotate(-45deg);
}

.preloader {
  background: transparent;
}

.preloader .animation-preloader .txt-loading {
  font-family: "Quicksand", sans-serif;
}

.preloader .animation-preloader .txt-loading .letters-loading {
  display: inline-block;
}

.preloader .loader .loader-section .bg {
  background-color: var(--bg);
}

.preloader.loaded {
  pointer-events: none;
}

.preloader.loaded .loader-section .bg {
  width: 0;
  transition: width 0.7s 0.3s cubic-bezier(0.77, 0, 0.175, 1);
}

.kc-home-hero {
  padding-bottom: 70px;
}

.kc-page-hero-text {
  max-width: 620px;
  margin: 18px auto 0;
  color: var(--white);
}

.breadcrumb-wrapper .page-heading {
  padding: 62px 0 86px;
}

@media (max-width: 1199px) {
  .breadcrumb-wrapper .page-heading {
    padding: 58px 0 74px;
  }
}

@media (max-width: 991px) {
  .breadcrumb-wrapper .page-heading {
    padding: 52px 0 64px;
  }
}

@media (max-width: 767px) {
  .breadcrumb-wrapper .page-heading {
    padding: 44px 0 54px;
  }
}

@media (max-width: 575px) {
  .breadcrumb-wrapper .page-heading {
    padding: 38px 0 48px;
  }
}

.kc-hero-note {
  margin-top: 18px;
  max-width: 540px;
  color: #fff6e2;
}

.kc-banner-row {
  margin-top: 40px;
}

.kc-section-action {
  margin-top: 42px;
}

.kc-prepbox-counter-section {
  padding: 70px 0 45px;
  margin-bottom: 0;
  background: var(--kc-page-bg);
}

.kc-prepbox-counter-section .counter-bg {
  display: none;
}

.kc-prepbox-counter-section .line-shape {
  left: 36px;
  bottom: 26px;
  z-index: 2;
  opacity: 0.8;
}

.kc-prepbox-counter-section .box-shape {
  right: 42px;
  bottom: 32px;
  z-index: 2;
  opacity: 0.7;
}

.kc-prepbox-counter-section .counter-wrapper {
  position: relative;
  overflow: hidden;
  padding: 46px 54px 36px;
  border-radius: 34px;
  background: var(--theme2);
  box-shadow: 0 20px 55px rgba(56, 84, 105, 0.18);
}

.kc-prepbox-counter-section .counter-wrapper::before,
.kc-prepbox-counter-section .counter-wrapper::after {
  position: absolute;
  content: "";
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.16);
  pointer-events: none;
}

.kc-prepbox-counter-section .counter-wrapper::before {
  width: 180px;
  height: 180px;
  left: -70px;
  top: -80px;
}

.kc-prepbox-counter-section .counter-wrapper::after {
  width: 230px;
  height: 230px;
  right: -90px;
  bottom: -120px;
}

.kc-prepbox-counter-section .counter-items {
  position: relative;
  z-index: 1;
  text-align: left;
}

.kc-prepbox-counter-section .counter-items .content {
  margin-top: 0;
}

.kc-prepbox-counter-section .counter-items .content h2 {
  font-size: 42px;
  line-height: 1.15;
}

.kc-prepbox-counter-section .counter-items .content p {
  color: rgba(255, 255, 255, 0.7);
  font-size: 18px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.kc-prepbox-app-button {
  position: relative;
  z-index: 1;
  min-width: 220px;
  padding: 14px 22px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 18px;
  color: var(--white);
  background: rgba(255, 255, 255, 0.04);
}

.kc-prepbox-app-button small {
  display: block;
  color: rgba(255, 255, 255, 0.66);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1;
  text-transform: uppercase;
}

.kc-prepbox-app-button strong {
  display: block;
  color: var(--white);
  font-size: 20px;
  line-height: 1.2;
}

.kc-benefit-check-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.kc-benefit-check-item i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  margin-top: 2px;
  border-radius: 50%;
  color: var(--white);
  background: var(--theme);
  font-size: 14px;
}

.kc-benefit-check-item h5 {
  margin: 0;
}

.kc-prepbox-different-section .program-box-items-2 .content h4 {
  color: var(--white);
}

.about-activities-wrapper .activities-content .kc-about-value-item .icon {
  flex: 0 0 90px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 90px;
  height: 90px;
  line-height: 1;
  border-radius: 8px;
}

.kc-prepbox-how-work {
  overflow: hidden;
}

.kc-prepbox-how-work .section-title h2 {
  max-width: 620px;
}

.kc-prepbox-how-work .line-shape {
  left: 0;
  right: 0;
  width: 100%;
}

@media (max-width: 767px) {
  .kc-prepbox-how-work .how-work-box-7 {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .kc-prepbox-how-work .how-work-box-7 .step-box {
    order: 1;
  }

  .kc-prepbox-how-work .how-work-box-7 .title {
    order: 2;
    margin-top: 22px;
  }
}

.kc-team-uniform-card {
  height: 100%;
}

.kc-team-uniform-image {
  height: 380px;
  overflow: hidden;
}

.kc-team-uniform-image > img {
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  object-position: center top;
}

.kc-team-image-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: 320px;
  background: var(--kc-surface-muted);
  color: var(--kc-text-soft);
}

.kc-team-image-placeholder i {
  font-size: 72px;
}

.kc-instructors-page .team-items {
  height: 100%;
}

.kc-instructor-details .team-author-items {
  background: var(--kc-surface);
  border-color: var(--kc-border-soft);
  box-shadow: var(--kc-card-shadow);
}

.kc-instructor-details .team-author-items .thumb {
  flex: 0 0 min(370px, 100%);
  width: 100%;
  overflow: hidden;
  border-radius: 12px;
}

.kc-instructor-details .team-author-items .thumb img {
  aspect-ratio: 4 / 4.5;
  object-fit: cover;
  object-position: center top;
}

.kc-instructor-details .team-author-items .content h2 {
  color: var(--kc-text-strong);
}

.kc-instructor-details .team-author-items .content p {
  color: var(--kc-text-soft);
}

.kc-instructor-details .team-author-items .content ul {
  border-color: var(--kc-border-soft);
}

.kc-instructor-details .team-author-items .content ul li,
.kc-instructor-details .team-author-items .content ul li a {
  color: var(--kc-text-strong);
}

.kc-instructor-details .team-author-items .content ul li i {
  color: var(--theme);
}

.kc-feature-panel,
.kc-process-card,
.kc-value-card,
.kc-story-card,
.kc-commitment-card,
.kc-camp-card,
.kc-banner-manager,
.kc-map-card {
  height: 100%;
  border-radius: 28px;
  border: 1px solid var(--kc-border-soft);
  background: var(--kc-surface);
  box-shadow: var(--kc-card-shadow);
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}

.kc-projects-section {
  background: var(--kc-page-bg);
}

.kc-projects-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 38px 40px;
}

.kc-project-card {
  position: relative;
  display: block;
  min-height: 270px;
  overflow: hidden;
  border: 1px solid rgba(56, 84, 105, 0.18);
  border-radius: 4px;
  background: var(--kc-surface);
  box-shadow: 0 12px 28px rgba(22, 28, 45, 0.08);
  text-decoration: none;
}

.kc-project-card img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 270px;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.kc-project-card:hover img {
  transform: scale(1.04);
}

.kc-project-caption {
  position: absolute;
  right: 18px;
  bottom: 18px;
  left: 18px;
  padding: 16px 18px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 14px 28px rgba(18, 31, 45, 0.16);
}

.kc-project-caption span {
  display: block;
  color: var(--theme);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.2;
  text-transform: uppercase;
}

.kc-project-caption h3 {
  margin: 4px 0 2px;
  color: var(--kc-on-light-card);
  font-size: 20px;
  line-height: 1.2;
}

.kc-project-caption p {
  margin: 0;
  color: var(--kc-on-light-card-soft);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
}

.kc-workshops-section {
  position: relative;
  overflow: hidden;
  min-height: 560px;
  background:
    radial-gradient(circle at 9% 12%, rgba(65, 184, 200, 0.09) 0 80px, transparent 82px),
    radial-gradient(circle at 91% 10%, rgba(255, 175, 29, 0.12) 0 70px, transparent 72px),
    linear-gradient(180deg, var(--kc-surface-alt) 0%, var(--kc-page-bg) 100%);
}

.kc-workshop-circle {
  position: absolute;
  border-radius: 50%;
  border: 4px solid rgba(65, 184, 200, 0.1);
  pointer-events: none;
}

.kc-workshop-circle::after {
  position: absolute;
  inset: 26px;
  content: "";
  border-radius: inherit;
  border: 4px solid rgba(255, 175, 29, 0.08);
}

.kc-workshop-circle-one {
  width: 190px;
  height: 190px;
  left: -52px;
  top: -34px;
}

.kc-workshop-circle-two {
  width: 180px;
  height: 180px;
  left: 34px;
  top: 260px;
}

.kc-workshop-spark {
  position: absolute;
  z-index: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 18px 34px rgba(22, 28, 45, 0.1);
  color: var(--theme);
  pointer-events: none;
}

.kc-workshop-spark-one {
  right: 13%;
  top: 86px;
  transform: rotate(14deg);
}

.kc-workshop-spark-two {
  left: 13%;
  bottom: 70px;
  color: var(--kc-accent-strong);
  transform: rotate(-12deg);
}

.kc-workshop-panel {
  position: relative;
  z-index: 1;
  width: min(100% - 32px, 1140px);
  margin: 0 auto;
  overflow: hidden;
  padding: 58px 48px 50px;
  border: 1px solid rgba(65, 184, 200, 0.16);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(65, 184, 200, 0.08), transparent 26%),
    #ffffff;
  box-shadow: 0 28px 70px rgba(22, 28, 45, 0.1);
}

.kc-workshop-panel::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 6px;
  content: "";
  background: linear-gradient(90deg, var(--theme), var(--kc-accent), var(--kc-accent-strong));
}

.kc-workshop-heading {
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
}

.kc-workshop-heading span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
  color: var(--theme);
  font-size: 14px;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.kc-workshop-heading h1 {
  margin: 0;
  color: var(--header);
  font-size: 46px;
  font-weight: 800;
  line-height: 1.2;
}

.kc-workshop-heading p {
  max-width: 610px;
  margin: 14px auto 0;
  color: var(--kc-text-soft);
  font-size: 18px;
  line-height: 1.65;
}

.kc-workshop-events {
  display: grid;
  gap: 22px;
  margin-top: 58px;
}

.kc-workshop-event {
  position: relative;
  display: grid;
  grid-template-columns: 148px minmax(240px, 1fr) minmax(150px, 210px) auto;
  align-items: center;
  gap: 26px;
  min-height: 168px;
  padding: 22px;
  overflow: hidden;
  border: 1px solid rgba(56, 84, 105, 0.1);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 16px 38px rgba(22, 28, 45, 0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.kc-workshop-event::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 6px;
  content: "";
  background: linear-gradient(180deg, var(--theme), var(--kc-accent));
}

.kc-workshop-event:hover {
  border-color: rgba(65, 184, 200, 0.3);
  box-shadow: 0 26px 62px rgba(22, 28, 45, 0.16);
  transform: translateY(-7px);
}

.kc-workshop-thumb {
  width: 148px;
  height: 112px;
  overflow: hidden;
  border-radius: 8px;
  background: var(--kc-surface-alt);
  box-shadow: 0 16px 30px rgba(22, 28, 45, 0.12);
}

.kc-workshop-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.kc-workshop-event:hover .kc-workshop-thumb img {
  transform: scale(1.08);
}

.kc-workshop-date {
  display: flex;
  align-items: center;
  gap: 9px;
}

.kc-workshop-date i {
  color: var(--theme);
}

.kc-workshop-date p,
.kc-workshop-location p {
  margin: 0;
  color: var(--kc-text-strong);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.35;
}

.kc-workshop-content h2 {
  max-width: 520px;
  margin: 7px 0 0;
  overflow: hidden;
  color: var(--header);
  font-size: 29px;
  font-weight: 800;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.kc-workshop-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.kc-workshop-tags span {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(65, 184, 200, 0.1);
  color: var(--kc-text-strong);
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
}

.kc-workshop-location {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.kc-workshop-location span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: rgba(255, 143, 31, 0.12);
  color: var(--kc-accent);
  font-size: 17px;
}

.kc-workshop-location small {
  display: block;
  margin-bottom: 3px;
  color: var(--kc-text-soft);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
}

.kc-workshop-location p {
  overflow: hidden;
  font-size: 16px;
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.kc-workshop-register {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-width: 166px;
  min-height: 62px;
  padding: 16px 22px;
  background: var(--theme);
  color: #ffffff;
  font-size: 21px;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 16px 30px rgba(65, 184, 200, 0.26);
  transition: transform 0.25s ease, background-color 0.25s ease, box-shadow 0.25s ease;
}

.kc-workshop-register:hover {
  background: var(--header);
  color: #ffffff;
  box-shadow: 0 20px 36px rgba(22, 50, 74, 0.22);
  transform: translateY(-3px);
}

.kc-workshop-register i {
  font-size: 15px;
  transition: transform 0.25s ease;
}

.kc-workshop-register:hover i {
  transform: translateX(4px);
}

.kc-event-details-section {
  background: var(--kc-page-bg);
}

.kc-event-details-items .details-image img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.kc-event-details-items .event-details-content h2,
.kc-event-info-card h3,
.kc-event-register-strip .content h5 a {
  color: var(--kc-text-strong);
}

.kc-event-details-items .event-details-content p,
.kc-event-info-card .details-list li,
.kc-event-register-strip .content span {
  color: var(--kc-text-soft);
}

.kc-event-details-items .event-details-content .post-items span,
.kc-event-details-items .event-details-content .list li {
  color: var(--kc-text-strong);
}

.kc-event-details-items .thumb {
  overflow: hidden;
  border-radius: 8px;
}

.kc-event-details-items .thumb img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.kc-event-register-strip {
  background: transparent;
}

.kc-event-info-card .details-list li span {
  color: var(--kc-text-strong);
}

.kc-event-info-card .social-icon a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.kc-course-detail-content ul,
.kc-course-detail-content ol,
.kc-course-rich-content ul,
.kc-course-rich-content ol {
  list-style: none !important;
  list-style-type: none !important;
  padding-left: 0;
  margin: 0 0 24px;
  counter-reset: none;
}

.kc-course-detail-content li,
.kc-course-rich-content li {
  position: relative;
  padding-left: 26px;
  color: var(--kc-text-strong);
  list-style: none !important;
  list-style-type: none !important;
  counter-increment: none;
}

.kc-course-detail-content li::marker,
.kc-course-rich-content li::marker {
  content: "";
}

.kc-course-detail-content li:not(:last-child),
.kc-course-rich-content li:not(:last-child) {
  margin-bottom: 10px;
}

.kc-course-detail-content li::before,
.kc-course-rich-content li::before {
  content: "\f00c";
  position: absolute;
  left: 0;
  top: 1px;
  color: var(--theme);
  font-family: "Font Awesome 6 Pro";
  font-weight: 900;
  -webkit-font-smoothing: antialiased;
  text-rendering: auto;
}

.kc-course-detail-content li[data-list] > .ql-ui,
.kc-course-rich-content li[data-list] > .ql-ui,
.kc-course-detail-content .ql-ui::before,
.kc-course-rich-content .ql-ui::before {
  display: none !important;
  content: "" !important;
}

.kc-event-map {
  overflow: hidden;
}

.kc-event-map iframe {
  display: block;
  width: 100%;
  min-height: 320px;
  border: 0;
}

.kc-feature-panel {
  padding: 28px;
}

.kc-feature-panel:hover,
.kc-process-card:hover,
.kc-value-card:hover,
.kc-story-card:hover,
.kc-commitment-card:hover,
.kc-camp-card:hover,
.kc-course-detail-card:hover,
.kc-testimonial-card:hover,
.pricing-items:hover,
.schedule-box-items:hover {
  transform: translateY(-6px);
  box-shadow: var(--kc-card-shadow-hover);
}

.kc-feature-icon,
.kc-process-icon {
  width: 58px;
  height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  background: linear-gradient(135deg, var(--kc-accent), var(--kc-accent-strong));
  color: var(--white);
  font-size: 22px;
  margin-bottom: 18px;
  box-shadow: 0 12px 24px rgba(255, 143, 31, 0.22);
}

.kc-feature-panel h3,
.kc-process-card h3,
.kc-value-card h3,
.kc-story-card h3,
.kc-camp-card h3,
.kc-banner-manager h2,
.kc-map-card h2 {
  font-size: 24px;
}

.kc-feature-panel p,
.kc-process-card p,
.kc-value-card p,
.kc-story-card p,
.kc-commitment-card p,
.kc-map-card p,
.kc-section-copy,
.kc-testimonial-card p {
  color: var(--kc-text-soft);
}

.kc-section-copy {
  font-size: 18px;
  line-height: 1.75;
}

.kc-check-grid {
  display: grid;
  gap: 14px;
  margin-top: 28px;
}

.kc-check-grid-double {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.kc-check-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 18px;
  border-radius: 18px;
  border: 1px solid var(--kc-border-soft);
  background: var(--kc-surface-muted);
}

.kc-check-item i {
  color: var(--kc-accent);
  margin-top: 3px;
}

.kc-why-card {
  height: 100%;
  padding: 28px 24px;
  border-radius: 26px;
  background: var(--kc-surface);
  box-shadow: var(--kc-card-shadow);
}

.kc-course-card {
  height: 100%;
  border-radius: 30px;
  overflow: hidden;
}

.kc-course-card .program-image img {
  width: 100%;
  height: 270px;
  object-fit: cover;
}

.kc-course-card .program-content {
  padding: 30px 26px 34px;
}

.kc-course-stage {
  display: inline-block;
  margin-bottom: 12px;
  font-size: 14px;
  font-weight: 700;
  color: var(--kc-accent);
}

.kc-chip-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-top: 18px;
}

.kc-chip {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid var(--kc-border-soft);
  background: var(--kc-surface-muted);
  color: var(--kc-text-strong);
  font-size: 13px;
  font-weight: 700;
}

.kc-summer-strip {
  padding-top: 0;
}

.kc-summer-strip-card {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 24px;
  padding: 34px 38px;
  border-radius: 32px;
  background: linear-gradient(135deg, var(--kc-accent), var(--kc-accent-2));
  color: var(--white);
  box-shadow: 0 18px 45px rgba(255, 126, 44, 0.28);
  overflow: hidden;
}

.kc-summer-strip-card::after {
  position: absolute;
  content: "";
  inset: auto -60px -100px auto;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  border: 36px solid rgba(255, 255, 255, 0.18);
  pointer-events: none;
}

.kc-summer-strip-card > * {
  position: relative;
  z-index: 1;
}

.kc-summer-strip-card span,
.kc-parent-benefits span,
.kc-banner-manager .section-title span,
.kc-map-card .section-title span {
  display: inline-block;
  margin-bottom: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.kc-summer-strip-card h2,
.kc-parent-benefits h2 {
  color: var(--white);
}

.kc-summer-strip-card .theme-btn.transparent {
  border-color: rgba(255, 255, 255, 0.88);
  color: var(--white);
  background-color: rgba(255, 255, 255, 0.08);
}

.kc-summer-strip-card .theme-btn.transparent::before,
.kc-summer-strip-card .theme-btn.transparent::after {
  background-color: var(--white);
}

.kc-summer-strip-card .theme-btn.transparent:hover,
.kc-summer-strip-card .theme-btn.transparent:hover i {
  color: var(--kc-on-light-card);
}

.kc-team-card {
  height: 100%;
}

.kc-testimonial-card {
  height: 100%;
  padding: 34px 28px;
  background: var(--kc-surface);
  border-radius: 28px;
  box-shadow: var(--kc-card-shadow-strong);
}

.kc-testimonial-card .icon {
  margin-bottom: 16px;
}

.kc-form-panel {
  padding: 34px;
  border-radius: 30px;
  border: 1px solid var(--kc-border-soft);
  background: var(--kc-surface);
  box-shadow: var(--kc-card-shadow);
}

.kc-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 28px;
}

.kc-field {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.kc-field-full {
  grid-column: 1 / -1;
}

.kc-field-label {
  font-weight: 700;
  color: var(--kc-text-strong);
}

.kc-field input,
.kc-field select,
.kc-field textarea,
.kc-popup-form input {
  width: 100%;
  padding: 16px 18px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: var(--kc-surface-alt);
  color: var(--kc-text-strong);
  transition: border-color 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease;
}

.kc-field input:focus,
.kc-field select:focus,
.kc-field textarea:focus,
.kc-popup-form input:focus {
  border-color: var(--kc-accent);
  box-shadow: 0 0 0 4px rgba(243, 159, 95, 0.15);
}

.kc-field textarea {
  resize: vertical;
}

.kc-form-success,
.kc-popup-success {
  margin: 0;
  font-weight: 600;
  color: #1f8d4d;
}

.contact-wrapper-2 .contact-left-items .contact-info-area-2 .contact-info-items .icon {
  display: flex;
  flex: 0 0 65px;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.contact-wrapper-2 .contact-left-items .contact-info-area-2 .contact-info-items .icon svg,
.contact-wrapper-2 .contact-left-items .contact-info-area-2 .contact-info-items .icon i {
  display: block;
  margin: 0;
  line-height: 1;
}

.kc-parent-login-section {
  background: var(--kc-page-bg);
}

.kc-parent-checkline {
  cursor: pointer;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  animation: none !important;
  transition: none !important;
}

.kc-parent-checkline input {
  flex: 0 0 20px;
  margin: 0;
}

.kc-parent-checkline span {
  opacity: 1 !important;
  animation: none !important;
  transition: none !important;
}

.kc-parent-login-card {
  position: relative;
  max-width: 1120px;
  min-height: 690px;
  margin: 0 auto;
  padding: 96px 100px 88px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
}

.kc-parent-login-content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 400px);
  gap: 64px;
  align-items: center;
  min-height: 500px;
}

.kc-parent-login-form-wrap {
  padding-left: 44px;
  color: var(--white);
}

.kc-parent-login-eyebrow {
  display: inline-block;
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.kc-parent-login-form-wrap h1 {
  margin-bottom: 8px;
  color: var(--white);
  font-size: clamp(40px, 5vw, 58px);
}

.kc-parent-login-form-wrap > p,
.kc-parent-login-enroll {
  color: var(--white);
}

.kc-parent-login-form {
  display: grid;
  gap: 20px;
  margin-top: 28px;
}

.kc-parent-login-field {
  display: grid;
  gap: 8px;
}

.kc-parent-login-field > span:first-child {
  color: var(--white);
  font-weight: 700;
}

.kc-parent-login-field b {
  color: var(--header);
}

.kc-parent-login-field input {
  width: 100%;
  min-height: 54px;
  padding: 15px 18px;
  border: 1px solid transparent;
  border-radius: 10px;
  outline: 0;
  background: var(--white);
  color: #1b2636;
}

.kc-parent-login-field input:focus {
  border-color: var(--header);
  box-shadow: 0 0 0 4px rgba(22, 50, 74, 0.14);
}

.kc-parent-password-wrap {
  position: relative;
  display: block;
}

.kc-parent-password-wrap input {
  padding-right: 52px;
}

.kc-parent-password-toggle {
  position: absolute;
  top: 50%;
  right: 16px;
  padding: 4px;
  border: 0;
  background: transparent;
  color: var(--header);
  transform: translateY(-50%);
}

.kc-parent-login-options {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.kc-parent-remember {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--white);
  cursor: pointer;
}

.kc-parent-remember input {
  width: 18px;
  height: 18px;
  accent-color: var(--header);
}

.kc-parent-login-options a,
.kc-parent-login-enroll a {
  color: var(--white);
  font-weight: 700;
  text-decoration: underline;
}

.kc-parent-login-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
  min-height: 54px;
  padding: 14px 22px;
  border: 0;
  border-radius: 12px;
  background: var(--header);
  color: var(--white);
  font-weight: 800;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.kc-parent-login-submit:hover {
  color: var(--white);
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(22, 50, 74, 0.24);
}

.kc-parent-login-message {
  margin: 0;
  color: var(--white);
  font-weight: 700;
}

.kc-parent-login-enroll {
  margin: 20px 0 0;
}

.kc-parent-login-visual {
  overflow: hidden;
  border: 8px solid rgba(255, 255, 255, 0.92);
  border-radius: 20px;
  box-shadow: 0 22px 44px rgba(22, 50, 74, 0.2);
}

.kc-parent-login-visual img {
  width: 100%;
  height: 470px;
  object-fit: cover;
}

.login-wrapper .login-items .contact-left-items .form-group input {
  border: 1px solid rgba(22, 50, 74, 0.18);
  background-color: #ffffff;
  color: #1b2636;
  box-shadow: 0 6px 18px rgba(22, 50, 74, 0.08);
  -webkit-text-fill-color: #1b2636;
}

.login-wrapper .login-items .contact-left-items .form-group input:focus {
  border-color: var(--header);
  background-color: #ffffff;
  box-shadow: 0 0 0 4px rgba(22, 50, 74, 0.14);
}

.login-wrapper .login-items .contact-left-items .form-group input::placeholder {
  color: #587086;
  opacity: 0.8;
}

.login-wrapper .login-items .contact-left-items .password-wrapper .kc-login-eye {
  position: absolute;
  top: 50%;
  right: 15px;
  width: auto;
  margin: 0;
  padding: 4px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--header);
  transform: translateY(-50%);
}

.login-wrapper .login-items .contact-left-items .password-wrapper .kc-login-eye i {
  position: static;
  display: block;
  transform: none;
}

.login-wrapper .kc-login-message {
  color: var(--white);
  font-weight: 700;
}

@media (max-width: 767px) {
  .kc-parent-login-section {
    padding: 64px 0 80px;
  }

  .kc-parent-login-card {
    padding: 58px 44px;
    border-radius: 28px;
    background-color: #f39f5f;
    background-image: none !important;
  }
}

@media (max-width: 575px) {
  .kc-parent-login-card {
    padding: 44px 24px;
  }

  .kc-parent-login-form-wrap h1 {
    font-size: 38px;
  }

  .kc-parent-login-options {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }
}

.kc-banner-manager,
.kc-map-card {
  padding: 34px;
}

.kc-faq-list {
  display: grid;
  gap: 16px;
  margin-top: 26px;
}

.kc-faq-item {
  border-radius: 22px;
  background: var(--kc-surface);
  box-shadow: var(--kc-card-shadow-strong);
}

.kc-faq-trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 22px 24px;
  border: none;
  border-radius: 22px;
  background: transparent;
  text-align: left;
  font-weight: 700;
  color: var(--kc-text-strong);
}

.kc-faq-answer {
  padding: 0 24px 22px;
  margin: 0;
  color: var(--kc-text-soft);
}

.kc-faq-collapse {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  transition: grid-template-rows 0.35s ease, opacity 0.3s ease;
}

.kc-faq-collapse.is-open {
  grid-template-rows: 1fr;
  opacity: 1;
}

.kc-faq-collapse-inner {
  overflow: hidden;
}

.faq-content-1 .accordion-box .block .acc-content.kc-kidsa-faq-collapse {
  display: grid !important;
  grid-template-rows: 0fr;
  opacity: 0;
  overflow: hidden;
  margin-top: 0;
  transition: grid-template-rows 0.35s ease, opacity 0.3s ease, margin-top 0.35s ease;
}

.faq-content-1 .accordion-box .block .acc-content.kc-kidsa-faq-collapse.is-open {
  grid-template-rows: 1fr;
  opacity: 1;
  margin-top: 22px;
}

.faq-content-1 .accordion-box .block .acc-content.kc-kidsa-faq-collapse .content {
  overflow: hidden;
}

.kc-story-stack {
  display: grid;
  gap: 16px;
  margin-top: 24px;
}

.kc-story-card,
.kc-value-card,
.kc-commitment-card,
.kc-process-card {
  padding: 28px;
}

.kc-commitment-card {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}

.kc-commitment-card i {
  color: var(--kc-accent);
  margin-top: 5px;
}

.kc-commitment-card h3 {
  margin-bottom: 6px;
  font-size: 20px;
}

.kc-commitment-card p {
  margin-bottom: 0;
}

.kc-course-detail-card {
  display: grid;
  grid-template-columns: minmax(220px, 290px) 1fr;
  gap: 28px;
  height: auto;
  padding: 26px;
  border-radius: 28px;
  border: 1px solid var(--kc-border-soft);
  background: var(--kc-surface);
  box-shadow: var(--kc-card-shadow);
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}

.kc-course-detail-media img {
  width: 100%;
  height: 100%;
  min-height: 250px;
  object-fit: cover;
  border-radius: 22px;
  box-shadow: 0 16px 34px rgba(18, 24, 39, 0.1);
}

.kc-course-detail-body h3 {
  margin-bottom: 8px;
}

.kc-public-courses-details {
  position: relative;
  z-index: 1;
  overflow: visible;
}

.kc-public-courses-details .kc-course-detail-card {
  align-items: start;
}

.kc-public-courses-details .kc-course-detail-body {
  min-width: 0;
}

.kc-public-courses-details .kc-course-rich-content {
  max-height: none;
  overflow: visible;
}

.kc-public-courses-cta {
  position: relative;
  z-index: 0;
  margin-top: 40px;
  padding-top: 20px;
  clear: both;
}

.kc-course-detail-body h4 {
  margin-bottom: 14px;
  font-size: 18px;
  color: var(--kc-text-soft);
}

.kc-course-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

.kc-course-subheading {
  margin-top: 12px;
  font-size: 18px;
}

.kc-outcome-list {
  display: grid;
  gap: 12px;
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}

.kc-outcome-list li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.kc-outcome-list i {
  color: var(--kc-accent);
  margin-top: 4px;
}

.kc-parent-benefits {
  padding: 36px;
  border-radius: 30px;
  background: linear-gradient(135deg, #20305d, #3456b8);
  color: #ffffff;
}

.kc-parent-benefits .kc-check-item {
  background: var(--kc-surface-contrast);
  color: var(--white);
}

.kc-parent-benefits .kc-check-item i {
  color: #ffd889;
}

.kc-visual-stack img,
.kc-camp-card img {
  width: 100%;
  border-radius: 28px;
  object-fit: cover;
  box-shadow: var(--kc-card-shadow);
}

.kc-camp-card {
  overflow: hidden;
}

.kc-camp-card-body {
  padding: 20px 20px 24px;
}

.kc-map-embed {
  margin-top: 24px;
  border-radius: 24px;
  overflow: hidden;
}

.kc-map-embed iframe {
  width: 100%;
  min-height: 320px;
  border: 0;
}

.kc-contact-meta {
  margin-top: 22px;
}

.kc-contact-meta p {
  margin-bottom: 8px;
}

.kc-course-meta {
  margin-top: 24px;
}

.kc-course-badge-note {
  margin-top: 18px;
  color: var(--kc-text-soft);
}

.kc-course-tone-1 {
  --kc-course-bg: #fff0f6;
  --kc-course-icon: #b3266b;
}

.kc-course-tone-2 {
  --kc-course-bg: #edf0ff;
  --kc-course-icon: #4d5cb8;
}

.kc-course-tone-3 {
  --kc-course-bg: #e7f7fd;
  --kc-course-icon: #17769d;
}

.kc-course-tone-4 {
  --kc-course-bg: #fff0e8;
  --kc-course-icon: #bd5b2f;
}

.kc-course-tone-5 {
  --kc-course-bg: #ebf8ec;
  --kc-course-icon: #318044;
}

.kc-course-journey-card {
  position: relative;
  min-height: 270px;
  overflow: hidden;
  background: var(--kc-course-bg);
}

.kc-course-journey-card::after {
  position: absolute;
  right: -32px;
  bottom: -34px;
  width: 110px;
  height: 110px;
  border-radius: 50%;
  background: var(--kc-course-icon);
  content: "";
  opacity: 0.08;
}

.kc-course-journey-card .kc-process-icon {
  background: color-mix(in srgb, var(--kc-course-icon) 14%, transparent);
  color: var(--kc-course-icon);
  box-shadow: none;
}

.kc-course-journey-card h3 {
  color: var(--kc-on-light-card);
}

.kc-course-journey-number {
  position: absolute;
  top: 16px;
  right: 18px;
  color: var(--kc-course-icon);
  font-size: 32px;
  font-weight: 800;
  opacity: 0.18;
}

.kc-course-detail-row {
  border-left: 6px solid var(--kc-course-icon);
}

.kc-course-detail-row .kc-course-stage,
.kc-course-detail-row .kc-outcome-list i {
  color: var(--kc-course-icon);
}

.kc-course-detail-media {
  position: relative;
}

.kc-course-detail-icon {
  position: absolute;
  right: 16px;
  bottom: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 62px;
  height: 62px;
  border-radius: 20px;
  background: var(--kc-course-bg);
  color: var(--kc-course-icon);
  font-size: 23px;
  box-shadow: 0 12px 24px rgba(22, 28, 45, 0.14);
}

.kc-course-cta {
  background: linear-gradient(135deg, #3456b8, #8052b2);
  box-shadow: 0 18px 45px rgba(71, 74, 174, 0.28);
}

.kc-course-resource-card {
  position: relative;
  overflow: hidden;
  background: var(--kc-course-bg);
}

.kc-course-resource-card::after {
  position: absolute;
  right: -40px;
  bottom: -44px;
  width: 130px;
  height: 130px;
  border-radius: 50%;
  background: var(--kc-course-icon);
  content: "";
  opacity: 0.08;
}

.kc-course-resource-card > * {
  position: relative;
  z-index: 1;
}

.kc-course-resource-card .kc-feature-icon {
  background: color-mix(in srgb, var(--kc-course-icon) 14%, transparent);
  color: var(--kc-course-icon);
  box-shadow: none;
}

.kc-course-resource-card h3 {
  color: var(--kc-on-light-card);
}

.kc-course-resource-card .theme-btn {
  align-self: flex-start;
}

.kc-blog-detail-image {
  display: block;
  width: min(100%, 860px);
  max-height: 430px;
  margin-right: auto;
  margin-left: auto;
  object-fit: cover;
}

.kc-news-grid-card {
  height: 100%;
}

.kc-news-grid-card .news-image {
  height: 250px;
  border-radius: 12px;
}

.kc-news-grid-card .news-image img {
  object-fit: cover;
}

.kc-news-grid-card .news-content p {
  margin-bottom: 22px;
  color: var(--kc-text-soft);
}

.kc-news-grid-card .theme-btn {
  padding: 16px 26px;
}

.news-details-area {
  background: var(--kc-page-bg);
}

.news-details-area .blog-post-details,
.news-details-area .main-sidebar .single-sidebar-widget,
.kc-news-grid-card {
  background: var(--kc-surface);
  border: 1px solid var(--kc-border-soft);
  box-shadow: var(--kc-card-shadow);
}

.news-details-area .blog-post-details {
  padding: 30px;
  border-radius: 14px;
}

.news-details-area .blog-post-details .single-blog-post .post-featured-thumb {
  background-position: center;
  background-size: cover;
}

.news-details-area .blog-post-details .single-blog-post .post-content h3,
.news-details-area .main-sidebar .single-sidebar-widget .wid-title h3,
.news-details-area .main-sidebar .single-sidebar-widget .recent-post-area .recent-items .recent-content h6 a,
.news-details-area .main-sidebar .single-sidebar-widget .news-widget-categories ul li a,
.news-details-area .main-sidebar .single-sidebar-widget .news-widget-categories ul li span {
  color: var(--kc-text-strong);
}

.news-details-area .blog-post-details .single-blog-post .post-content .post-list li,
.news-details-area .blog-post-details .single-blog-post .post-content p,
.news-details-area .main-sidebar .single-sidebar-widget .recent-post-area .recent-items .recent-content ul li {
  color: var(--kc-text-soft);
}

.news-details-area .blog-post-details .single-blog-post .post-content .hilight-text {
  background: var(--kc-surface-muted);
}

.news-details-area .blog-post-details .tag-share-wrap .social-share {
  gap: 14px;
}

.news-details-area .blog-post-details .tag-share-wrap .social-share a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.kc-legal-section {
  background: var(--kc-page-bg);
}

.kc-legal-shell {
  max-width: 1040px;
  margin: 0 auto;
}

.kc-legal-intro {
  margin-bottom: 28px;
}

.kc-legal-intro span {
  display: inline-block;
  margin-bottom: 10px;
  color: var(--theme);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.kc-legal-intro h2 {
  margin-bottom: 14px;
  color: var(--kc-text-strong);
}

.kc-legal-intro p,
.kc-legal-panel p,
.kc-legal-panel li,
.kc-legal-contact p {
  color: var(--kc-text-soft);
}

.kc-legal-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.kc-legal-panel,
.kc-legal-contact {
  border: 1px solid var(--kc-border-soft);
  border-radius: 18px;
  background: var(--kc-surface);
  box-shadow: var(--kc-card-shadow);
}

.kc-legal-panel {
  padding: 26px;
}

.kc-legal-panel h3,
.kc-legal-contact h3 {
  margin-bottom: 12px;
  color: var(--kc-text-strong);
  font-size: 22px;
}

.kc-legal-panel ul {
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}

.kc-legal-panel li {
  position: relative;
  padding-left: 25px;
}

.kc-legal-panel li:not(:last-child) {
  margin-bottom: 10px;
}

.kc-legal-panel li::before {
  position: absolute;
  left: 0;
  top: 2px;
  color: var(--theme);
  font-family: "Font Awesome 6 Pro";
  font-weight: 900;
  content: "\f00c";
}

.kc-legal-contact {
  margin-top: 24px;
  padding: 30px;
}

.kc-legal-contact p {
  margin-bottom: 22px;
}

.kc-legal-contact a:not(.theme-btn) {
  color: var(--theme);
  font-weight: 800;
}

.kc-cta-copy {
  max-width: 740px;
}

.kc-cta-copy p {
  margin-top: 14px;
  color: rgba(255, 255, 255, 0.92);
}

.kc-resource-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 100%;
}

.kc-chip-strong {
  background: linear-gradient(135deg, var(--kc-accent), var(--kc-accent-strong));
  color: var(--white);
}

.kc-stat-card {
  min-height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.kc-stat-value {
  font-size: clamp(30px, 5vw, 42px);
  color: var(--kc-accent);
}

.kc-stat-label {
  margin-top: 10px;
  color: var(--kc-text-soft);
  font-weight: 700;
}

.kc-support-card {
  height: 100%;
  padding: 28px;
}

.kc-support-card h3 {
  margin-bottom: 16px;
}

.kc-step-number {
  margin: 12px 0 8px;
  font-size: 18px;
  font-weight: 800;
  color: var(--kc-accent);
}

.kc-package-badge {
  position: absolute;
  top: 18px;
  left: 24px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  padding: 7px 14px;
  border-radius: 999px;
  background: var(--header);
  color: var(--white);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.kc-package-kicker,
.kc-package-capacity,
.kc-package-summary,
.kc-package-bestfor,
.kc-package-note {
  margin: 0;
}

.kc-package-kicker {
  margin-top: 8px;
  font-weight: 700;
  color: var(--kc-accent);
}

.kc-package-capacity {
  margin-top: 12px;
  font-weight: 700;
  color: var(--kc-text-strong);
}

.kc-package-summary {
  margin-top: 12px;
  color: var(--kc-text-soft);
}

.kc-package-bestfor,
.kc-package-note {
  margin-bottom: 18px;
  color: var(--kc-text-soft);
}

.kc-package-bestfor {
  font-weight: 700;
}

.pricing-items.active .kc-package-badge {
  background: var(--white);
  color: var(--theme);
}

.pricing-items.active .kc-package-kicker,
.pricing-items.active .kc-package-capacity,
.pricing-items.active .kc-package-summary,
.pricing-items.active .kc-package-bestfor,
.pricing-items.active .kc-package-note {
  color: var(--white);
}

.pricing-items {
  height: 100%;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--kc-border-soft);
  box-shadow: var(--kc-card-shadow);
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}

.pricing-items .theme-btn {
  margin-top: auto;
}

.kc-timeline-card {
  height: 100%;
}

.kc-timeline-card h3 {
  margin-bottom: 20px;
}

.kc-timeline-list {
  display: grid;
  gap: 16px;
}

.kc-timeline-step {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 18px;
  padding: 16px 18px;
  border-radius: 20px;
  border: 1px solid var(--kc-border-soft);
  background: var(--kc-surface-muted);
}

.kc-timeline-time {
  font-weight: 800;
  color: var(--kc-accent);
}

.kc-party-intro {
  overflow: hidden;
}

.kc-party-hero-visual {
  position: relative;
  padding: 18px 18px 88px;
  border-radius: 34px;
  background: linear-gradient(145deg, #fff4da, #ffe4ef);
  box-shadow: var(--kc-card-shadow);
}

.kc-party-hero-visual > img {
  width: 100%;
  min-height: 430px;
  border-radius: 26px;
  object-fit: cover;
}

.kc-party-hero-badge {
  position: absolute;
  top: 36px;
  left: 36px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 11px 16px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  color: #b3266b;
  font-weight: 800;
  box-shadow: 0 14px 28px rgba(83, 39, 69, 0.14);
}

.kc-party-quick-facts {
  position: absolute;
  right: 34px;
  bottom: 24px;
  left: 34px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.kc-party-quick-facts div {
  display: flex;
  flex-direction: column;
  padding: 13px 12px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.9);
  text-align: center;
}

.kc-party-quick-facts strong {
  color: #9d3768;
  font-size: 18px;
}

.kc-party-quick-facts span {
  color: var(--kc-on-light-card-soft);
  font-size: 12px;
  font-weight: 700;
}

.kc-party-chip {
  border: 0;
}

.kc-party-reason-card {
  position: relative;
  overflow: hidden;
}

.kc-party-reason-card {
  min-height: 230px;
}

.kc-party-reason-card::after {
  position: absolute;
  right: -28px;
  bottom: -32px;
  width: 96px;
  height: 96px;
  border-radius: 50%;
  background: currentColor;
  content: "";
  opacity: 0.07;
}

.kc-party-tone-1 {
  --kc-party-card-bg: #fff0f6;
  --kc-party-icon: #b3266b;
}

.kc-party-tone-2 {
  --kc-party-card-bg: #edf0ff;
  --kc-party-icon: #4d5cb8;
}

.kc-party-tone-3 {
  --kc-party-card-bg: #e7f7fd;
  --kc-party-icon: #17769d;
}

.kc-party-tone-4 {
  --kc-party-card-bg: #fff0e8;
  --kc-party-icon: #bd5b2f;
}

.kc-party-tone-5 {
  --kc-party-card-bg: #fff5d6;
  --kc-party-icon: #a56a00;
}

.kc-party-tone-6 {
  --kc-party-card-bg: #ebf8ec;
  --kc-party-icon: #318044;
}

.kc-party-reason-card,
.kc-party-chip {
  background: var(--kc-party-card-bg);
  color: var(--kc-party-icon);
}

.kc-party-reason-card .kc-feature-icon {
  background: color-mix(in srgb, var(--kc-party-icon) 14%, transparent);
  color: var(--kc-party-icon);
  box-shadow: none;
}

.kc-party-reason-card h3 {
  color: var(--kc-on-light-card);
}

.kc-party-package {
  overflow: hidden;
  border-radius: 28px;
}

.kc-party-package.active {
  padding-top: 78px;
}

.kc-party-package.active .icon {
  top: 64px;
}

.kc-party-package .icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 76px;
  height: 76px;
  border-radius: 24px;
  background: #fff3e8;
  line-height: 1;
  font-size: 34px;
}

.kc-party-package-2 .icon {
  background: rgba(255, 255, 255, 0.2);
  color: var(--white);
}

.kc-party-package-3 .icon {
  background: #f1ebff;
  color: #8052b2;
}

.kc-timeline-card {
  position: relative;
  padding: 32px;
}

.kc-timeline-label {
  display: inline-flex;
  margin-bottom: 14px;
  padding: 7px 12px;
  border-radius: 999px;
  background: #fff0e8;
  color: #bd5b2f;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.kc-timeline-elite .kc-timeline-label {
  background: #f1ebff;
  color: #8052b2;
}

.kc-timeline-copy p {
  margin-bottom: 0;
}

.kc-party-premium-strip {
  background: linear-gradient(135deg, #7d4eb0, #c04f8e);
}

.kc-party-premium-strip > i {
  color: rgba(255, 255, 255, 0.78);
  font-size: 82px;
}

.kc-party-slot-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  margin-bottom: 14px;
  border-radius: 22px;
  background: #fff5d6;
  color: #a56a00;
  font-size: 25px;
}

.kc-party-slot-status {
  display: block;
  margin-bottom: 10px;
  color: #a56a00;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.kc-party-slot-status-2 {
  color: #4d5cb8;
}

.kc-party-slot-status-3 {
  color: #b3266b;
}

.kc-party-availability .col-lg-4:nth-child(2) .kc-party-slot-icon {
  background: #edf0ff;
  color: #4d5cb8;
}

.kc-party-availability .col-lg-4:nth-child(3) .kc-party-slot-icon {
  background: #fff0f6;
  color: #b3266b;
}

.kc-party-inquiry {
  background: linear-gradient(180deg, var(--kc-page-bg), var(--kc-surface-muted));
}

.kc-party-inquiry-panel {
  max-width: 1080px;
  margin: 0 auto;
  border-top: 6px solid var(--kc-accent);
}

html[data-theme="dark"] .kc-party-hero-visual {
  background: linear-gradient(145deg, #2b2541, #402638);
}

html[data-theme="dark"] .kc-party-reason-card {
  background: color-mix(in srgb, var(--kc-party-icon) 16%, var(--kc-surface));
}

html[data-theme="dark"] .kc-party-reason-card h3 {
  color: var(--kc-text-strong);
}

html[data-theme="dark"] .kc-party-program-section .section-title .tx-title,
html[data-theme="dark"] .kc-party-program-section .section-title .sec_title,
html[data-theme="dark"] .kc-party-program-section .section-title h2 {
  color: var(--kc-on-light-card) !important;
}

html[data-theme="dark"] .kc-party-program-section .section-title span {
  color: var(--kc-accent) !important;
}

html[data-theme="dark"] .kc-party-program-section .program-box-items-6 .content {
  background-color: #ffffff;
}

html[data-theme="dark"] .kc-party-program-section .program-box-items-6 .content .title,
html[data-theme="dark"] .kc-party-program-section .program-box-items-6 .content p,
html[data-theme="dark"] .kc-party-program-section .program-box-items-6 .content .duration-text {
  color: var(--kc-on-light-card);
}

html[data-theme="dark"] .kc-party-program-section .program-box-items-6 .content p {
  color: var(--kc-on-light-card-soft);
}

html[data-theme="dark"] .kc-party-program-section .program-box-items-6 .content::before {
  border-color: rgba(56, 84, 105, 0.8);
}

html[data-theme="dark"] .kc-party-availability .schedule-box-items {
  overflow: hidden;
  border-radius: 24px;
  background: var(--kc-surface-muted);
}

html[data-theme="dark"] .kc-party-availability .schedule-box-items .bg-shape {
  display: none;
}

@media (max-width: 767.98px) {
  .kc-party-hero-visual {
    padding: 12px 12px 146px;
  }

  .kc-party-hero-visual > img {
    min-height: 300px;
  }

  .kc-party-hero-badge {
    top: 24px;
    left: 24px;
  }

  .kc-party-quick-facts {
    right: 18px;
    bottom: 18px;
    left: 18px;
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .kc-party-quick-facts div {
    flex-direction: row;
    justify-content: space-between;
    padding: 8px 12px;
  }

  .kc-party-premium-strip > i {
    display: none;
  }
}

.kc-timeline-copy h5 {
  margin-bottom: 8px;
  font-size: 18px;
}

.kc-timeline-copy p {
  color: var(--kc-text-soft);
}

.kc-popup-backdrop {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(25, 28, 38, 0.72);
  backdrop-filter: blur(6px);
}

.kc-popup-card {
  position: relative;
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  align-items: center;
  gap: 18px;
  width: min(1080px, 100%);
  padding: 42px;
  border-radius: 38px;
  background: var(--theme);
  box-shadow: 0 28px 60px rgba(18, 24, 39, 0.3);
}

.kc-popup-close {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 5;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border: none;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.95);
  color: var(--kc-on-light-card);
  cursor: pointer;
  font-size: 22px;
  line-height: 1;
  box-shadow: 0 14px 30px rgba(16, 24, 40, 0.18);
  transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
  -webkit-tap-highlight-color: transparent;
}

.kc-popup-close:hover,
.kc-popup-close:focus-visible {
  transform: scale(1.06);
  background: var(--kc-on-light-card);
  color: var(--white);
  box-shadow: 0 18px 36px rgba(16, 24, 40, 0.24);
}

.kc-popup-close i {
  pointer-events: none;
}

.kc-popup-content h2 {
  max-width: 420px;
  margin-bottom: 18px;
  color: var(--white);
  font-size: 52px;
  line-height: 1.08;
}

.kc-popup-content p {
  max-width: 430px;
  color: rgba(255, 255, 255, 0.94);
}

.kc-popup-badge {
  display: inline-flex;
  margin-bottom: 14px;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.2);
  color: var(--white);
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
}

.kc-popup-form {
  display: flex;
  gap: 12px;
  max-width: 480px;
  margin-top: 28px;
}

.kc-popup-form input {
  flex: 1 1 auto;
  border-color: rgba(56, 84, 105, 0.18);
  background: var(--kc-surface-alt);
}

.kc-popup-form button {
  flex: 0 0 auto;
  padding: 0 26px;
  border: none;
  border-radius: 18px;
  background: var(--kc-on-light-card);
  color: var(--white);
  font-weight: 700;
}

.kc-popup-form button:hover,
.kc-popup-form button:focus-visible {
  background: var(--kc-surface);
  color: var(--kc-on-light-card);
}

.kc-popup-visual {
  position: relative;
  min-height: 460px;
}

.kc-popup-main-image {
  position: absolute;
  right: -8px;
  bottom: -24px;
  width: min(100%, 430px);
}

.kc-popup-rocket {
  position: absolute;
  left: 10px;
  top: 14px;
  width: 100px;
  transform: rotate(-18deg);
}

.footer-section .contact-info-area .contact-info-items .icon {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(243, 159, 95, 0.35);
  color: #f39f5f;
  font-size: 28px;
  flex: 0 0 auto;
}


.footer-widgets-wrapper .single-footer-widget .list-area li a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.footer-widgets-wrapper .single-footer-widget .kc-footer-quick-links {
  column-count: 2;
  column-gap: 30px;
}

.footer-widgets-wrapper .single-footer-widget .kc-footer-quick-links li {
  break-inside: avoid;
  page-break-inside: avoid;
}

.footer-widgets-wrapper .single-footer-widget .kc-footer-quick-links li a {
  width: 100%;
}

.footer-menu,
.footer-wrapper p {
  margin-bottom: 0;
}

.footer-bottom .footer-wrapper p {
  min-width: 0;
  max-width: 100%;
  line-height: 1.7;
  overflow-wrap: anywhere;
}

.footer-menu {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 10px 24px;
}

.footer-menu li a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.footer-bottom .f-bottom-shape {
  background-color: var(--kc-footer-wave);
}

html[data-theme="dark"] .footer-bottom .f-bottom-shape img {
  opacity: 0;
}

html[data-theme="dark"] .footer-bottom .footer-wrapper p,
html[data-theme="dark"] .footer-bottom .footer-wrapper p a,
html[data-theme="dark"] .footer-bottom .footer-wrapper .footer-menu li a {
  color: var(--white);
}

html[data-theme="dark"] .footer-bottom .footer-wrapper p a {
  font-weight: 800;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
  text-decoration-color: rgba(255, 255, 255, 0.55);
}

html[data-theme="dark"] .footer-bottom .footer-wrapper .footer-menu li a {
  background-image: linear-gradient(var(--white), var(--white));
}

html[data-theme="dark"] .footer-bottom .footer-wrapper p a:hover,
html[data-theme="dark"] .footer-bottom .footer-wrapper .footer-menu li a:hover {
  color: var(--kc-on-light-card);
  text-decoration-color: var(--kc-on-light-card);
}

.kc-theme-toggle {
  flex: 0 0 auto;
  margin: 0;
  border: none;
  background: transparent;
  line-height: 0;
}

.kc-theme-toggle-floating {
  position: fixed;
  left: 28px;
  top: 50%;
  z-index: 1300;
  transform: translateY(-50%);
}

.kc-theme-toggle:focus-visible {
  outline: 3px solid rgba(112, 166, 177, 0.38);
  outline-offset: 4px;
  border-radius: 999px;
}

.kc-theme-toggle-track {
  position: relative;
  display: inline-flex;
  align-items: center;
  width: 84px;
  height: 44px;
  padding: 4px;
  border-radius: 999px;
  background: var(--kc-toggle-track);
  box-shadow: var(--kc-toggle-glow);
}

.kc-theme-toggle-thumb {
  --kc-toggle-thumb-bg: #ffffff;
  position: relative;
  display: block;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--kc-toggle-thumb-bg);
  box-shadow: var(--kc-toggle-thumb-shadow);
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.kc-theme-toggle.is-dark .kc-theme-toggle-thumb {
  transform: translateX(40px);
}

.kc-whatsapp-button {
  position: fixed;
  right: 24px;
  bottom: 26px;
  z-index: 1300;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  min-height: 56px;
  padding: 0;
  border-radius: 50%;
  background: #25d366;
  color: #ffffff;
  font-weight: 800;
  line-height: 1;
  box-shadow: 0 16px 34px rgba(18, 140, 70, 0.32);
  transition: transform 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease;
}

.kc-whatsapp-button i {
  font-size: 25px;
}

.kc-whatsapp-button:hover,
.kc-whatsapp-button:focus {
  transform: translateY(-3px);
  background: #1ebe5d;
  color: #ffffff;
  box-shadow: 0 20px 42px rgba(18, 140, 70, 0.4);
}

.kc-whatsapp-button:focus-visible {
  outline: 3px solid rgba(37, 211, 102, 0.35);
  outline-offset: 4px;
}

.kc-floating-demo-cta {
  position: fixed;
  right: 24px;
  bottom: 98px;
  z-index: 1300;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 52px;
  padding: 14px 22px;
  border: 2px solid rgba(255, 255, 255, 0.7);
  border-radius: 999px;
  background: var(--theme);
  color: var(--white);
  font-size: 15px;
  font-weight: 800;
  line-height: 1;
  box-shadow: 0 16px 34px rgba(255, 143, 31, 0.34);
  transition: transform 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease;
}

.kc-floating-demo-cta i {
  font-size: 17px;
}

.kc-floating-demo-cta:hover,
.kc-floating-demo-cta:focus {
  transform: translateY(-3px);
  background: var(--kc-on-light-card);
  color: var(--white);
  box-shadow: 0 20px 42px rgba(22, 50, 74, 0.32);
}

.kc-floating-demo-cta:focus-visible {
  outline: 3px solid rgba(255, 143, 31, 0.35);
  outline-offset: 4px;
}

.kc-theme-toggle-icon {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.25s ease, transform 0.25s ease;
}

.kc-theme-toggle-sun {
  opacity: 1;
  transform: scale(1);
}

.kc-theme-toggle.is-dark .kc-theme-toggle-sun {
  opacity: 0;
  transform: scale(0.7);
}

.kc-theme-toggle-moon {
  opacity: 0;
  transform: scale(0.7);
}

.kc-theme-toggle.is-dark .kc-theme-toggle-moon {
  opacity: 1;
  transform: scale(1);
}

.kc-theme-toggle-sun-core,
.kc-theme-toggle-moon-core {
  position: relative;
  display: block;
  width: 16px;
  height: 16px;
  border-radius: 50%;
}

.kc-theme-toggle-sun-core {
  background: #ffd85d;
  box-shadow: inset -3px -3px 0 rgba(255, 170, 0, 0.18);
}

.kc-theme-toggle-ray {
  position: absolute;
  width: 5px;
  height: 2px;
  border-radius: 999px;
  background: #ffc83c;
}

.kc-theme-toggle-ray-one {
  top: 11px;
  left: 5px;
  transform: rotate(45deg);
}

.kc-theme-toggle-ray-two {
  right: 4px;
  bottom: 11px;
  transform: rotate(45deg);
}

.kc-theme-toggle-moon-core {
  background: #ffd85d;
}

.kc-theme-toggle-moon-core::after {
  position: absolute;
  content: "";
  top: 1px;
  left: 6px;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: var(--kc-toggle-thumb-bg);
}

.kc-theme-toggle-star {
  position: absolute;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #ffd85d;
}

.kc-theme-toggle-star-one {
  top: 10px;
  right: 8px;
}

.kc-theme-toggle-star-two {
  bottom: 9px;
  left: 8px;
}

html[data-theme="dark"] .header-top-section .header-top-wrapper .contact-list li .link,
html[data-theme="dark"] .header-top-section .social-icon a,
html[data-theme="dark"] .header-top-section .social-icon span {
  color: var(--kc-text-strong);
}

html[data-theme="dark"] .header-1 .mean__menu-wrapper {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}

html[data-theme="dark"] .sticky.header-1 {
  background-color: var(--kc-page-bg);
}

html[data-theme="dark"] .header-1.header-1-bannerless,
html[data-theme="dark"] .sticky.header-1.header-1-bannerless {
  background-color: var(--kc-surface);
}

html[data-theme="dark"] .header-top-section.header-top-section-bannerless,
html[data-theme="dark"] .header-top-section.header-top-section-bannerless .header-top-shape {
  background-color: var(--kc-surface);
}

html[data-theme="dark"] .sticky.header-1 .main-menu ul li a,
html[data-theme="dark"] .sticky.header-1 .main-menu ul li .kc-nav-dropdown-toggle {
  color: var(--kc-text-strong);
}

html[data-theme="dark"] .kc-nav-dropdown-menu {
  background: #132236;
  border-color: rgba(167, 191, 214, 0.14);
  box-shadow: 0 24px 48px rgba(0, 0, 0, 0.34);
}

html[data-theme="dark"] .header-1 .main-menu ul li .kc-nav-dropdown-menu a {
  color: #e4edf8;
}

html[data-theme="dark"] .header-1 .main-menu ul li .kc-nav-dropdown-menu a:hover,
html[data-theme="dark"] .header-1 .main-menu ul li .kc-nav-dropdown-menu a.active {
  background: rgba(255, 176, 80, 0.12);
  color: #ff9d4b;
}

html[data-theme="dark"] .kc-workshops-section {
  background:
    radial-gradient(circle at 9% 12%, rgba(65, 184, 200, 0.12) 0 80px, transparent 82px),
    radial-gradient(circle at 91% 10%, rgba(255, 176, 80, 0.12) 0 70px, transparent 72px),
    linear-gradient(180deg, var(--kc-page-bg) 0%, var(--kc-surface-alt) 100%);
}

html[data-theme="dark"] .kc-workshop-panel,
html[data-theme="dark"] .kc-workshop-event {
  background:
    linear-gradient(135deg, rgba(65, 184, 200, 0.08), transparent 30%),
    var(--kc-surface);
  border-color: rgba(167, 191, 214, 0.1);
}

html[data-theme="dark"] .kc-workshop-spark {
  background: var(--kc-surface);
  box-shadow: 0 18px 34px rgba(0, 0, 0, 0.26);
}

html[data-theme="dark"] .kc-workshop-heading h1,
html[data-theme="dark"] .kc-workshop-content h2,
html[data-theme="dark"] .kc-workshop-date p,
html[data-theme="dark"] .kc-workshop-location p,
html[data-theme="dark"] .kc-workshop-tags span {
  color: var(--kc-text-strong);
}

html[data-theme="dark"] .kc-workshop-heading p,
html[data-theme="dark"] .kc-workshop-location small {
  color: var(--kc-text-soft);
}

html[data-theme="dark"] .mobile-toggle-button {
  background: transparent;
}

html[data-theme="dark"] .mobile-toggle-button span {
  background: #e4edf8;
}

html[data-theme="dark"] .faq-content .accordion-item {
  border: 1px solid rgba(167, 191, 214, 0.1);
  background: var(--kc-surface);
  box-shadow: var(--kc-card-shadow);
}

html[data-theme="dark"] .faq-content .accordion-item .accordion-header .accordion-button,
html[data-theme="dark"] .faq-content .accordion-item .kc-faq-collapse .accordion-body {
  background: var(--kc-surface);
}

html[data-theme="dark"] .faq-content .accordion-item .accordion-header .accordion-button.collapsed {
  color: var(--kc-text-strong);
}

html[data-theme="dark"] .faq-content .accordion-item .accordion-header .accordion-button:not(.collapsed) {
  color: var(--kc-accent);
}

html[data-theme="dark"] .faq-content .accordion-item .kc-faq-collapse .accordion-body {
  color: var(--kc-text-soft);
}

html[data-theme="dark"] .faq-section-5 {
  background-color: var(--kc-surface-alt);
}

@supports ((-webkit-mask-image: url("../img/home-1/faq-top.png")) or (mask-image: url("../img/home-1/faq-top.png"))) {
  html[data-theme="dark"] .faq-section-5 .top-shape {
    background-color: var(--kc-surface-alt);
    -webkit-mask: url("../img/home-1/faq-top.png") center top / 100% 100% no-repeat;
    mask: url("../img/home-1/faq-top.png") center top / 100% 100% no-repeat;
  }

  html[data-theme="dark"] .faq-section-5 .top-shape img {
    opacity: 0;
  }
}

@supports ((-webkit-mask-image: url("../img/home-1/faq-bottom.png")) or (mask-image: url("../img/home-1/faq-bottom.png"))) {
  html[data-theme="dark"] .faq-section-5 .bottom-shape {
    background-color: var(--kc-surface-alt);
    -webkit-mask: url("../img/home-1/faq-bottom.png") center bottom / 100% 100% no-repeat;
    mask: url("../img/home-1/faq-bottom.png") center bottom / 100% 100% no-repeat;
  }

  html[data-theme="dark"] .faq-section-5 .bottom-shape img {
    opacity: 0;
  }
}

html[data-theme="dark"] .faq-section-5 .faq-image-5 {
  filter: saturate(0.95) brightness(0.9);
}

html[data-theme="dark"] .faq-content-1 .section-title h2,
html[data-theme="dark"] .faq-content-1 .accordion-box .block .acc-btn {
  color: var(--kc-text-strong);
}

html[data-theme="dark"] .faq-content-1 .faq-text,
html[data-theme="dark"] .faq-content-1 .accordion-box .block .acc-content .content .text {
  color: var(--kc-text-soft);
}

html[data-theme="dark"] .faq-content-1 .accordion-box .block {
  background-color: var(--kc-surface);
  border-color: var(--kc-border-soft);
  box-shadow: var(--kc-card-shadow);
}

html[data-theme="dark"] .faq-content-1 .accordion-box .active-block {
  border-color: var(--kc-accent);
}

html[data-theme="dark"] .faq-content-1 .accordion-box .block .acc-btn.active {
  color: var(--kc-accent);
}

html[data-theme="dark"] .faq-content-1 .accordion-box .block .acc-btn .icon {
  color: var(--kc-text-strong);
}

html[data-theme="dark"] .faq-content-1 .accordion-box .block .acc-btn.active .icon {
  color: var(--kc-accent);
}

html[data-theme="dark"] .kc-feature-panel,
html[data-theme="dark"] .kc-process-card,
html[data-theme="dark"] .kc-value-card,
html[data-theme="dark"] .kc-story-card,
html[data-theme="dark"] .kc-commitment-card,
html[data-theme="dark"] .kc-camp-card,
html[data-theme="dark"] .kc-banner-manager,
html[data-theme="dark"] .kc-map-card,
html[data-theme="dark"] .kc-why-card,
html[data-theme="dark"] .kc-testimonial-card,
html[data-theme="dark"] .kc-form-panel,
html[data-theme="dark"] .kc-faq-item,
html[data-theme="dark"] .kc-course-detail-card {
  border: 1px solid rgba(167, 191, 214, 0.08);
}

html[data-theme="dark"] .pricing-items,
html[data-theme="dark"] .schedule-box-items {
  background: var(--kc-surface);
  border-color: var(--kc-border-soft);
  box-shadow: var(--kc-card-shadow);
}

html[data-theme="dark"] .pricing-items .pricing-list li,
html[data-theme="dark"] .pricing-items .pricing-header h4,
html[data-theme="dark"] .schedule-box-items .content h3 {
  color: var(--kc-text-strong);
}

html[data-theme="dark"] .schedule-box-items .content p {
  color: var(--kc-text-soft);
}

html[data-theme="dark"] .pricing-items.active {
  background: var(--theme);
}

html[data-theme="dark"] .pricing-items.active .pricing-list li,
html[data-theme="dark"] .pricing-items.active .pricing-header h4,
html[data-theme="dark"] .pricing-items.active .pricing-header h2 {
  color: var(--white);
}

html[data-theme="dark"] .theme-btn::before,
html[data-theme="dark"] .theme-btn::after {
  background-color: var(--theme);
}

html[data-theme="dark"] .theme-btn:hover,
html[data-theme="dark"] .theme-btn:hover i {
  color: var(--white);
}

html[data-theme="dark"] .theme-btn.bg-white {
  color: var(--kc-on-light-card);
}

html[data-theme="dark"] .theme-btn.bg-white:hover,
html[data-theme="dark"] .theme-btn.bg-white:hover i {
  color: var(--white);
}

html[data-theme="dark"] .kc-hero-search {
  background: #ffffff;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.36);
}

html[data-theme="dark"] .kc-hero-search select,
html[data-theme="dark"] .kc-hero-search input {
  background: #ffffff;
  color: var(--kc-on-light-card);
}

html[data-theme="dark"] .kc-hero-search-button:hover {
  background: var(--kc-on-light-card);
  color: var(--white);
}

html[data-theme="dark"] .kc-field input,
html[data-theme="dark"] .kc-field select,
html[data-theme="dark"] .kc-field textarea,
html[data-theme="dark"] .kc-popup-form input {
  border-color: rgba(189, 206, 221, 0.12);
}

html[data-theme="dark"] .kc-header-actions .kc-header-action-login {
  border-color: var(--kc-accent);
  color: var(--kc-accent);
}

html[data-theme="dark"] .kc-header-actions .kc-header-action:hover,
html[data-theme="dark"] .kc-header-actions .kc-header-action:hover span,
html[data-theme="dark"] .kc-header-actions .kc-header-action:hover i {
  color: var(--white);
}

html[data-theme="dark"] .kc-course-journey-card,
html[data-theme="dark"] .kc-course-resource-card {
  background: color-mix(in srgb, var(--kc-course-icon) 15%, var(--kc-surface));
}

html[data-theme="dark"] .kc-course-journey-card h3,
html[data-theme="dark"] .kc-course-resource-card h3 {
  color: var(--kc-text-strong);
}

html[data-theme="dark"] .kc-course-detail-icon {
  background: color-mix(in srgb, var(--kc-course-icon) 20%, var(--kc-surface));
  color: color-mix(in srgb, var(--kc-course-icon) 72%, var(--white));
}

html[data-theme="dark"] .kc-popup-backdrop {
  background: rgba(6, 10, 18, 0.76);
}

html[data-theme="dark"] .footer-section .contact-info-area .contact-info-items .icon {
  border-color: rgba(255, 176, 80, 0.28);
  color: var(--kc-accent);
}

html[data-theme="dark"] .kc-timeline-step {
  background: var(--kc-surface-muted);
}

html[data-theme="dark"] .about-wrapper .about-content .about-list ul li {
  background-color: #ffffff;
  color: var(--kc-on-light-card);
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.28);
}

html[data-theme="dark"] .program-box-items .program-bg.bg-3,
html[data-theme="dark"] .testimonial-items .testimonial-bg.bg-3 {
  background-color: #f8fbff;
}

html[data-theme="dark"] .program-box-items .program-content.style-2 h4 a,
html[data-theme="dark"] .testimonial-items.style-3 .testimonial-content p,
html[data-theme="dark"] .testimonial-items.style-3 .testimonial-content h6 {
  color: var(--kc-on-light-card);
}

html[data-theme="dark"] .program-box-items .program-content.style-2 span {
  color: var(--kc-accent);
}

html[data-theme="dark"] .program-box-items .program-content.style-2 p {
  color: var(--kc-on-light-card-soft);
}

html[data-theme="dark"] .testimonial-items.style-3::after {
  border-top-color: #f8fbff;
}

html[data-theme="dark"] .testimonial-items.style-3 .testimonial-content h6::before {
  background-color: var(--kc-on-light-card);
  opacity: 0.6;
}

.news-section {
  background: var(--kc-page-bg);
}

.news-section .section-title-area {
  gap: 24px;
}

.news-wrapper .news-single-items,
.news-wrapper .news-right-items {
  overflow: hidden;
  background: var(--kc-surface);
  border-color: var(--kc-border-soft);
  box-shadow: var(--kc-card-shadow);
  transition: transform 0.35s ease, background-color 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
}

.news-wrapper .news-single-items:hover,
.news-wrapper .news-right-items:hover {
  transform: translateY(-6px);
  box-shadow: var(--kc-card-shadow-hover);
}

.kc-news-card-link {
  display: block;
  color: inherit;
}

.kc-news-card-link:not(:last-child) {
  margin-bottom: 30px;
}

.kc-news-card-link:hover {
  color: inherit;
}

.news-wrapper .news-single-items .news-image img,
.news-wrapper .news-right-items .news-thumb img {
  display: block;
  width: 100%;
  object-fit: cover;
}

.news-wrapper .news-single-items .news-image img {
  height: 300px;
  border-radius: 8px;
}

.news-wrapper .news-right-items .news-thumb {
  flex: 0 0 210px;
}

.news-wrapper .news-right-items .news-thumb img {
  height: 190px;
  border-radius: 8px;
}

.news-wrapper .news-single-items .news-content ul li,
.news-wrapper .news-right-items .news-content ul li,
.news-wrapper .news-single-items .news-content p {
  color: var(--kc-text-soft);
}

.news-wrapper .news-single-items .news-content h3 a,
.news-wrapper .news-right-items .news-content h3,
.news-wrapper .news-right-items .news-content h3 a,
.news-wrapper .news-single-items .news-content .post-author-items .post-items .content h6,
.news-wrapper .news-right-items .news-content .post-items .content h6 {
  color: var(--kc-text-strong);
}

.news-wrapper .news-single-items .news-content h3 a:hover,
.kc-news-card-link:hover .news-right-items .news-content h3,
.news-wrapper .news-right-items .news-content h3 a:hover {
  color: var(--kc-accent);
}

.news-wrapper .news-single-items .news-content .post-author-items .post-items .thumb img,
.news-wrapper .news-right-items .news-content .post-items .thumb img {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  object-fit: cover;
}

html[data-theme="dark"] .news-wrapper .news-single-items,
html[data-theme="dark"] .news-wrapper .news-right-items {
  border: 1px solid rgba(167, 191, 214, 0.08);
}

@media (max-width: 1199.98px) {
  .kc-hero-video-side {
    transform: none;
  }

  .kc-hero-media-left .hero-image {
    margin: 30px auto 0;
  }

  .kc-hero-photo-card {
    width: min(420px, 100%);
  }

  .kc-hero-video-card {
    width: min(420px, 100%);
  }

  .kc-hero-split-promo {
    padding-top: 120px;
    padding-bottom: 70px;
  }

  .kc-hero-split-promo::before {
    display: none;
  }

  .kc-hero-split-promo::after {
    display: none;
  }

  .kc-hero-photo-shape {
    left: 50%;
    width: min(460px, 110%);
    transform: translate(-50%, -50%);
  }

  .kc-hero-split-copy {
    max-width: 620px;
  }

  .kc-hero-search {
    grid-template-columns: 140px minmax(0, 1fr) 150px;
  }

  .kc-popup-card {
    grid-template-columns: 1fr;
    text-align: center;
    padding-top: 72px;
  }

  .kc-popup-content h2,
  .kc-popup-content p {
    max-width: none;
  }

  .kc-popup-form {
    max-width: none;
    justify-content: center;
  }

  .kc-popup-visual {
    min-height: 340px;
  }

  .kc-popup-main-image {
    position: relative;
    right: auto;
    bottom: auto;
    width: min(100%, 340px);
    margin: 0 auto;
  }

  .kc-popup-rocket {
    left: 50%;
    transform: translateX(-180px) rotate(-18deg);
  }
}

@media (max-width: 575.98px) {
  .hero-1.kc-hero-split-promo .kc-hero-split-copy .hero-button {
    flex-direction: column;
    align-items: center;
    gap: 12px;
  }

  .hero-1.kc-hero-split-promo .kc-hero-split-copy .hero-button .theme-btn {
    width: min(250px, 100%);
    min-height: 54px;
    justify-content: center;
    padding: 16px 20px;
  }

  .hero-1.kc-hero-split-promo .kc-hero-split-copy .hero-button .theme-btn.transparent {
    display: none;
  }

  .kc-floating-demo-cta {
    right: 18px;
    bottom: 84px;
    width: 56px;
    height: 56px;
    min-height: 56px;
    padding: 0;
    border-radius: 50%;
    gap: 0;
  }

  .kc-floating-demo-cta span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
  }

  .kc-floating-demo-cta i {
    font-size: 20px;
  }
}

@media (max-width: 991.98px) {
  .header-1 .header-main {
    position: relative;
  }

  .kc-projects-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
  }

  .kc-workshop-panel {
    padding: 48px 30px 38px;
  }

  .kc-workshop-heading h1 {
    font-size: 38px;
  }

  .kc-workshop-events {
    margin-top: 46px;
  }

  .kc-workshop-event {
    grid-template-columns: 132px minmax(0, 1fr);
    gap: 18px 22px;
    padding: 22px;
  }

  .kc-workshop-thumb {
    width: 132px;
    height: 100px;
  }

  .kc-workshop-location {
    grid-column: 2;
  }

  .kc-workshop-register {
    grid-column: 2;
    justify-self: start;
  }

  .kc-team-uniform-image {
    height: 340px;
  }

  .header-1 .header-logo .brand-logo-image {
    height: 56px;
  }

  .header-1 .mean__menu-wrapper {
    position: absolute;
    left: 12px;
    right: 12px;
    top: calc(100% + 8px);
    width: auto;
    z-index: 1201;
    display: none;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-6px);
    transition: opacity 0.22s ease, transform 0.22s ease;
    padding: 18px;
    border-radius: 24px;
    background: var(--kc-surface);
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.12);
  }

  .header-1 .mean__menu-wrapper.is-open {
    display: block;
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }

  .header-1 .main-menu ul {
    flex-direction: column;
    align-items: stretch;
  }

  .header-1 .main-menu ul li {
    display: block;
    margin-inline-end: 0;
  }

  .header-1 .main-menu ul li a,
  .header-1 .main-menu ul li .kc-nav-dropdown-toggle {
    justify-content: center;
    width: 100%;
    padding: 12px 0;
    text-align: center;
  }

  .kc-nav-dropdown-menu {
    position: static;
    display: grid;
    gap: 6px;
    width: 100%;
    min-width: 0;
    margin: 0 0 8px;
    padding: 8px;
    border-radius: 16px;
    opacity: 1;
    pointer-events: auto;
    transform: none;
    box-shadow: none;
  }

  .kc-nav-dropdown:hover .kc-nav-dropdown-menu {
    transform: none;
  }

  .header-1 .main-menu ul li .kc-nav-dropdown-menu a {
    justify-content: center;
    padding: 10px 12px;
    font-size: 14px;
  }

  html[data-theme="dark"] .header-1 .mean__menu-wrapper {
    background: rgba(9, 20, 35, 0.94);
    border: 1px solid rgba(167, 191, 214, 0.16);
    box-shadow: 0 24px 50px rgba(0, 0, 0, 0.42);
  }

  html[data-theme="dark"] .header-1 .main-menu ul li a,
  html[data-theme="dark"] .header-1 .main-menu ul li .kc-nav-dropdown-toggle {
    color: #e4edf8;
  }

  html[data-theme="dark"] .header-1 .main-menu ul li a.active,
  html[data-theme="dark"] .header-1 .main-menu ul li .kc-nav-dropdown-toggle.active {
    color: #ff9d4b;
  }

  .kc-theme-toggle-floating {
    display: block;
    left: 16px;
    top: auto;
    bottom: 84px;
    z-index: 1300;
    transform: none;
  }

  .kc-theme-toggle-floating .kc-theme-toggle-track {
    width: 64px;
    height: 36px;
  }

  .kc-theme-toggle-floating .kc-theme-toggle-thumb {
    width: 28px;
    height: 28px;
  }

  .kc-theme-toggle-floating.is-dark .kc-theme-toggle-thumb {
    transform: translateX(28px);
  }

  .kc-mobile-theme-toggle-wrap {
    display: flex;
    justify-content: center;
    padding-bottom: 10px;
    margin-bottom: 8px;
    border-bottom: 1px solid rgba(56, 84, 105, 0.14);
  }

  .kc-mobile-theme-toggle {
    display: inline-flex;
  }

  .kc-mobile-theme-toggle .kc-theme-toggle-track {
    box-shadow: 0 12px 24px rgba(255, 140, 58, 0.3);
  }

  .kc-mobile-theme-toggle .kc-theme-toggle-thumb {
    --kc-toggle-thumb-bg: #fff3df;
    border: 1px solid rgba(22, 50, 74, 0.14);
  }

  .kc-course-detail-card {
    grid-template-columns: 1fr;
  }

  .kc-parent-login-card {
    min-height: 0;
    padding: 76px 70px;
  }

  .kc-parent-login-content {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .kc-parent-login-form-wrap {
    max-width: 620px;
    padding-left: 0;
    margin: 0 auto;
  }

  .kc-parent-login-visual {
    display: none;
  }

  .kc-mobile-menu-overlay {
    position: fixed;
    inset: 0;
    z-index: 1100;
    display: block;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    border: 0;
    background: rgba(12, 18, 30, 0.18);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    cursor: pointer;
  }
}

@media (min-width: 992px) {
  .kc-mobile-theme-toggle-wrap {
    display: none;
  }
}

@media (max-width: 575.98px) {
  .kc-course-detail-row {
    border-left-width: 4px;
    padding: 18px;
  }
}

@media (max-width: 767.98px) {
  .kc-team-uniform-image {
    height: 320px;
  }

  .kc-projects-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .kc-project-card,
  .kc-project-card img {
    min-height: 245px;
  }

  .kc-project-caption {
    right: 12px;
    bottom: 12px;
    left: 12px;
    padding: 14px 15px;
  }

  .kc-project-caption h3 {
    font-size: 18px;
  }

  .kc-workshops-section {
    min-height: auto;
  }

  .kc-workshop-panel {
    width: min(100% - 24px, 560px);
    padding: 38px 20px 30px;
  }

  .kc-workshop-heading h1 {
    font-size: 32px;
  }

  .kc-workshop-heading p {
    font-size: 16px;
  }

  .kc-workshop-events {
    margin-top: 42px;
  }

  .kc-workshop-event {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 22px 18px 24px;
    text-align: center;
  }

  .kc-workshop-thumb {
    width: min(100%, 280px);
    height: 170px;
    margin: 0 auto;
  }

  .kc-workshop-content h2 {
    max-width: none;
    font-size: 25px;
    white-space: normal;
  }

  .kc-workshop-content p,
  .kc-workshop-location p {
    font-size: 16px;
  }

  .kc-workshop-location {
    grid-column: auto;
    justify-content: center;
    text-align: left;
  }

  .kc-workshop-register {
    grid-column: auto;
    justify-self: center;
    width: 100%;
    max-width: 220px;
  }

  .kc-hero-search {
    grid-template-columns: 1fr;
    border-radius: 22px;
  }

  .kc-hero-search label,
  .kc-hero-search select,
  .kc-hero-search input,
  .kc-hero-search-button {
    min-height: 62px;
  }

  .kc-hero-search-select {
    border-right: 0;
    border-bottom: 1px solid rgba(56, 84, 105, 0.12);
  }

  .kc-hero-search-button {
    width: 100%;
  }

  .news-section .section-title-area {
    align-items: flex-start;
  }

  .news-wrapper .news-right-items .news-thumb {
    flex-basis: 100%;
  }

  .news-wrapper .news-right-items .news-thumb img {
    height: 240px;
  }

  .kc-timeline-step {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .kc-theme-toggle-floating {
    left: 16px;
    top: 50%;
    bottom: auto;
    transform: translateY(-50%);
  }

  .kc-whatsapp-button {
    right: 16px;
    bottom: 18px;
    width: 54px;
    height: 54px;
    min-height: 54px;
  }

  .kc-floating-demo-cta {
    right: 18px;
    bottom: 84px;
    width: 56px;
    height: 56px;
    min-height: 56px;
    padding: 0;
    border-radius: 50%;
    gap: 0;
  }

  .kc-theme-toggle-track {
    width: 74px;
    height: 40px;
  }

  .kc-theme-toggle-thumb {
    width: 32px;
    height: 32px;
  }

  .kc-theme-toggle.is-dark .kc-theme-toggle-thumb {
    transform: translateX(34px);
  }

  .header-1 .header-logo .brand-logo-image {
    height: 44px;
  }

  .footer-logo-image {
    height: 56px;
  }

  .header-button {
    display: none;
  }

  .footer-wrapper {
    gap: 18px;
    flex-direction: column;
    text-align: center;
  }

  .footer-bottom .footer-wrapper p {
    width: 100%;
    padding: 0 12px;
  }

  .footer-menu {
    justify-content: center;
  }

  .footer-widgets-wrapper .single-footer-widget .kc-footer-quick-links {
    column-count: 1;
  }

  .kc-legal-grid {
    grid-template-columns: 1fr;
  }

  .kc-form-grid,
  .kc-check-grid-double,
  .kc-summer-strip-card,
  .kc-popup-form {
    grid-template-columns: 1fr;
    flex-direction: column;
  }

  .kc-form-panel,
  .kc-banner-manager,
  .kc-map-card,
  .kc-parent-benefits,
  .kc-popup-card {
    padding: 24px;
  }

  .kc-popup-content h2 {
    font-size: 30px;
  }

  .kc-popup-backdrop {
    align-items: flex-start;
    overflow-y: scroll;
    scrollbar-gutter: stable;
    padding: 10vh 12px;
  }

  .kc-popup-card {
    width: 100%;
    max-height: none;
    overflow: visible;
    border-radius: 24px;
    padding-top: 64px;
  }

  .kc-popup-backdrop::-webkit-scrollbar {
    width: 8px;
  }

  .kc-popup-backdrop::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.65);
    border-radius: 999px;
  }

  .kc-popup-close {
    top: 12px;
    right: 12px;
    width: 44px;
    height: 44px;
    font-size: 20px;
    box-shadow: 0 10px 20px rgba(16, 24, 40, 0.2);
  }

  .kc-popup-visual {
    min-height: 250px;
  }

  .kc-popup-rocket {
    display: none;
  }
}

@media (max-width: 767px) {
  .kc-parent-login-card {
    padding: 58px 44px;
  }
}

@media (max-width: 575px) {
  .kc-parent-login-card {
    padding: 44px 24px;
  }
}

/* Blade-rendered interaction state */
body.kc-mobile-menu-open .mean__menu-wrapper {
  display: block;
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

body.kc-mobile-menu-open #mobile-menu {
  display: block !important;
}

body.kc-mobile-menu-open .kc-mobile-menu-overlay {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.kc-about-cta {
  overflow: hidden;
}

.kc-about-cta .cta-wrapper {
  margin-top: 0;
}

.kc-about-cta .cta-image {
  margin-bottom: 0;
  text-align: center;
}

.kc-about-cta .cta-image img {
  display: block;
  width: min(100%, 390px);
  margin: 0 auto;
}

@media (max-width: 991px) {
  .kc-about-cta .cta-image {
    margin-top: 30px;
  }
}

.kc-nav-dropdown.is-open .kc-nav-dropdown-menu {
  display: block;
}

[data-accordion-item] .kc-faq-collapse {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.25s ease;
}

[data-accordion-item] .kc-faq-collapse-inner {
  overflow: hidden;
}

[data-accordion-item].is-open .kc-faq-collapse {
  grid-template-rows: 1fr;
}

[data-accordion-item].is-open .accordion-button::after {
  transform: rotate(-180deg);
}

/* Keep the footer wave broad and balanced instead of squeezing the desktop
   artwork into a narrow mobile viewport. */
@media (max-width: 767.98px) {
  .footer-bottom .f-bottom-shape,
  html[data-theme="dark"] .footer-bottom .f-bottom-shape {
    background-color: transparent;
    background-image:
      linear-gradient(to bottom, transparent 0 70px, #0097a7 70px 100%),
      url("/assets/img/footer-bottom.png");
    background-position: top left, top center;
    background-repeat: no-repeat, repeat-x;
    background-size: 100% 100%, auto 72px;
  }

  .footer-bottom .f-bottom-shape img,
  html[data-theme="dark"] .footer-bottom .f-bottom-shape img {
    display: none;
  }
}

/* Section eyebrow labels are intentionally hidden across the public website. */
.section-title > span {
  display: none !important;
}
