body.academy-course-page {
  margin: 0;
  min-height: 100vh;
  color: #101610;
  background: linear-gradient(180deg, #e4f5f2 0%, #eef0ff 520px, #ffffff 521px);
  font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.academy-course-page .content {
  padding-top: 72px;
}

body.academy-course-page nav {
  height: 72px;
  padding: 0 36px !important;
  background: #ffffff !important;
  border-bottom: 1px solid #d6dde2 !important;
  box-shadow: none !important;
}

body.academy-course-page nav .tm-header-badge {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  width: auto !important;
  height: 56px !important;
  padding: 0 !important;
  overflow: hidden;
}

body.academy-course-page nav .tm-header-badge img {
  display: none !important;
}

body.academy-course-page nav .tm-header-badge .academy-header-logo {
  display: block !important;
  width: clamp(210px, 20vw, 330px) !important;
  height: 56px !important;
  object-fit: cover;
  object-position: center;
}

.academy-nav-logo {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  color: #b981ff;
  font-size: 1rem;
  font-weight: 900;
}

body.academy-course-page nav ul li a,
body.academy-course-page nav .menu-item,
body.academy-course-page nav .dropdown-toggle {
  color: #050807 !important;
  font-size: 0.98rem !important;
  font-weight: 800 !important;
  text-shadow: none !important;
}

body.academy-course-page nav ul li a:hover,
body.academy-course-page nav .menu-item:hover,
body.academy-course-page nav .dropdown-toggle:hover {
  color: #050807 !important;
  background: #f1f3f4 !important;
  text-shadow: none !important;
}

body.academy-course-page nav .nav-cta {
  min-height: 42px;
  padding: 10px 22px !important;
  border-radius: 999px !important;
  background: #b981ff !important;
  color: #111611 !important;
  border: 0 !important;
}

body.academy-course-page .language-selector,
body.academy-course-page .lang-toggle {
  background: transparent !important;
  box-shadow: none !important;
}

body.academy-course-page .language-selector .lang-menu {
  background: #ffffff !important;
  border: 1px solid #d6dde2 !important;
  box-shadow: 0 18px 44px rgba(44, 54, 70, 0.14) !important;
}

body.academy-course-page .language-selector .lang-option {
  color: #050807 !important;
  background: transparent !important;
  text-shadow: none !important;
}

body.academy-course-page .language-selector .lang-option:hover {
  color: #050807 !important;
  background: #f1f3f4 !important;
}

.course-shell {
  width: min(1360px, calc(100% - 56px));
  margin: 0 auto;
}

.course-back {
  display: inline-flex;
  margin-top: 34px;
  color: #101610;
  font-size: 0.95rem;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.course-hero {
  min-height: 500px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 420px);
  gap: clamp(28px, 4vw, 64px);
  align-items: center;
  padding: 48px 0 82px;
}

.course-kicker {
  display: inline-flex;
  padding: 7px 12px;
  border-radius: 7px;
  background: #b981ff;
  color: #111611;
  font-size: 0.9rem;
  font-weight: 900;
}

.course-hero h1 {
  max-width: 900px;
  margin: 22px 0 0;
  color: #101610;
  font-size: clamp(3rem, 5.2vw, 5.8rem);
  line-height: 0.98;
  font-weight: 900;
  letter-spacing: 0;
}

.course-lead {
  max-width: 780px;
  margin: 24px 0 0;
  color: #101610;
  font-size: clamp(1.08rem, 1.45vw, 1.35rem);
  line-height: 1.48;
  font-weight: 500;
}

.course-lead-secondary {
  margin-top: 18px;
  font-size: clamp(1rem, 1.18vw, 1.12rem);
  line-height: 1.62;
  color: #243027;
}

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

.course-btn {
  min-height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 30px;
  border: 1px solid #101610;
  border-radius: 999px;
  color: #101610;
  background: transparent;
  font-size: 0.96rem;
  font-weight: 900;
  text-decoration: none;
}

.course-btn.primary {
  border-color: #b981ff;
  background: #b981ff;
}

.course-card {
  position: relative;
  padding: 28px;
  border: 1px solid #d2d9df;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 22px 54px rgba(44, 54, 70, 0.1);
}

.course-card::before {
  content: "";
  position: absolute;
  right: -38px;
  top: -38px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: repeating-linear-gradient(0deg, #18e7c0 0 4px, transparent 4px 12px);
  z-index: 0;
}

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

.course-card h2 {
  margin: 0;
  color: #101610;
  font-size: 1.7rem;
  line-height: 1.08;
}

.course-card p {
  margin: 12px 0 0;
  color: #374151;
  line-height: 1.55;
}

.course-facts {
  display: grid;
  gap: 10px;
  margin-top: 24px;
}

.course-facts span {
  width: max-content;
  max-width: 100%;
  padding: 7px 10px;
  border-radius: 7px;
  background: #f1f3f4;
  color: #050807;
  font-size: 0.9rem;
  font-weight: 700;
}

.course-section {
  padding: 70px 0;
}

.course-heading {
  max-width: 980px;
  margin-bottom: 28px;
}

.course-heading span {
  display: block;
  margin-bottom: 10px;
  color: #a56fff;
  font-weight: 900;
}

.course-heading h2 {
  margin: 0;
  color: #101610;
  font-size: clamp(2.2rem, 4vw, 3.6rem);
  line-height: 1.04;
  font-weight: 900;
  text-transform: uppercase;
}

.module-grid,
.result-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.module-card,
.result-card {
  min-height: 220px;
  padding: 22px;
  border: 1px solid #cfd7df;
  border-radius: 8px;
  background: #ffffff;
}

.module-card strong,
.result-card strong {
  display: inline-flex;
  margin-bottom: 22px;
  padding: 7px 10px;
  border-radius: 7px;
  background: #b981ff;
  color: #111611;
  font-size: 0.88rem;
}

.module-card h3,
.result-card h3 {
  margin: 0 0 10px;
  color: #050807;
  font-size: 1.35rem;
  line-height: 1.12;
}

.module-card p,
.result-card p {
  margin: 0;
  color: #1f2937;
  line-height: 1.52;
}

.module-card p + p,
.result-card p + p {
  margin-top: 12px;
}

.audience-course-grid,
.course-info-grid,
.pricing-grid {
  display: grid;
  gap: 22px;
}

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

.detail-card,
.course-info-grid article,
.price-card {
  padding: 22px;
  border: 1px solid #cfd7df;
  border-radius: 8px;
  background: #ffffff;
}

.detail-card h3 {
  margin: 0 0 10px;
  color: #050807;
  font-size: 1.2rem;
  line-height: 1.14;
}

.detail-card p {
  margin: 0;
  color: #1f2937;
  line-height: 1.55;
}

.course-checklist {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.course-checklist li {
  position: relative;
  padding: 16px 18px 16px 46px;
  border: 1px solid #cfd7df;
  border-radius: 8px;
  background: #ffffff;
  color: #101610;
  font-weight: 700;
  line-height: 1.42;
}

.course-checklist li::before {
  content: "";
  position: absolute;
  left: 18px;
  top: 20px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #b981ff;
}

.course-info-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.course-info-grid article {
  min-height: 128px;
}

.course-info-grid strong {
  display: block;
  margin-bottom: 10px;
  color: #a56fff;
  font-size: 0.86rem;
  font-weight: 900;
}

.course-info-grid span {
  color: #101610;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.35;
}

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

.price-card {
  min-height: 330px;
}

.price-card > span {
  display: inline-flex;
  padding: 7px 10px;
  border-radius: 7px;
  background: #f1f3f4;
  color: #050807;
  font-size: 0.88rem;
  font-weight: 900;
}

.price-card h3 {
  margin: 22px 0 12px;
  color: #050807;
  font-size: clamp(1.45rem, 2.4vw, 2.15rem);
  line-height: 1.06;
}

.price-card > strong {
  display: block;
  margin-bottom: 20px;
  color: #101610;
  font-size: clamp(2rem, 4vw, 3.2rem);
  line-height: 1;
}

.price-card ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding-left: 18px;
  color: #1f2937;
  line-height: 1.45;
}

.price-card p {
  margin: 0;
  color: #1f2937;
  line-height: 1.58;
}

.price-card p + p {
  margin-top: 14px;
}

.price-card--featured {
  background: #e4f5f2;
  border-color: #b981ff;
}

.course-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: flex-end;
}

.course-cta {
  margin: 30px 0 88px;
  padding: clamp(30px, 5vw, 52px);
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 26px;
  align-items: center;
  border-radius: 8px;
  background: #e4f5f2;
}

.course-cta h2 {
  margin: 0;
  color: #101610;
  font-size: clamp(1.8rem, 3.4vw, 3.1rem);
  line-height: 1.05;
}

.course-cta p {
  max-width: 860px;
  margin: 14px 0 0;
  color: #1f2937;
  line-height: 1.6;
}

@media (max-width: 980px) {
  .course-shell {
    width: min(100% - 36px, 1360px);
  }

  .course-hero,
  .module-grid,
  .result-grid,
  .audience-course-grid,
  .course-info-grid,
  .pricing-grid,
  .course-cta {
    grid-template-columns: 1fr;
  }

  .course-checklist {
    grid-template-columns: 1fr;
  }

  .course-card::before {
    opacity: 0.45;
  }

  .course-cta-actions {
    justify-content: flex-start;
  }
}

@media (min-width: 641px) and (max-width: 980px) {
  .module-grid,
  .result-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  body.academy-course-page nav {
    padding: 0 14px !important;
  }

  .course-hero h1 {
    font-size: clamp(2.6rem, 14vw, 4rem);
  }

  .course-actions,
  .course-btn {
    width: 100%;
  }
}
