/* Academy pricing: dark page-native layout. */
.page-academy .academy-pricing {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  width: 100%;
  margin: 0;
  padding: clamp(64px, 5vw, 92px) clamp(18px, 3vw, 60px) clamp(64px, 5vw, 88px);
  scroll-margin-top: 70px;
  color: #f7f8fc;
  font-family: "Montserrat", "Segoe UI", Arial, sans-serif;
  background:
    radial-gradient(ellipse at 50% 14%, rgba(27, 37, 56, .36), transparent 52%),
    linear-gradient(180deg, #070b12 0%, #050810 55%, #060a12 100%);
}
.page-academy .academy-pricing *,
.page-academy .academy-pricing *::before,
.page-academy .academy-pricing *::after { box-sizing: border-box; }
.page-academy .academy-pricing__content {
  position: relative;
  z-index: 1;
  width: min(1272px, 100%);
  margin: 0 auto;
}
.page-academy .academy-pricing__heading {
  max-width: 1120px;
  margin: 0 auto;
  text-align: center;
}
.page-academy .academy-pricing__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  color: #f7c66f;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .24em;
}
.page-academy .academy-pricing__eyebrow::before,
.page-academy .academy-pricing__eyebrow::after {
  content: "";
  display: block;
  width: 76px;
  height: 1px;
  background: linear-gradient(90deg, transparent, #ff9d20);
}
.page-academy .academy-pricing__eyebrow::after { transform: rotate(180deg); }
.page-academy .academy-pricing__heading h2 {
  margin: 15px 0 10px;
  color: #fff;
  font-size: clamp(36px, 3.4vw, 52px);
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: -.035em;
}
.page-academy .academy-pricing__heading h2 span { color: #ff9f2e; }
.page-academy .academy-pricing__heading > p {
  margin: 0;
  color: #cbd4e3;
  font-size: clamp(17px, 1.45vw, 21px);
  font-weight: 500;
  line-height: 1.5;
}
.page-academy .academy-pricing__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 24px;
  width: 100%;
  margin: 48px auto 0;
}
.page-academy .academy-pricing-card {
  --tone: #b765ff;
  --tone-rgb: 183, 101, 255;
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 568px;
  padding: 24px 25px 0;
  border: 1px solid rgba(var(--tone-rgb), .78);
  border-radius: 20px;
  background:
    radial-gradient(circle at 19% 6%, rgba(var(--tone-rgb), .13), transparent 44%),
    linear-gradient(165deg, #171326, #0c0c17 60%, #10101d);
  box-shadow: 0 16px 42px rgba(0, 0, 0, .35), 0 0 20px rgba(var(--tone-rgb), .15), inset 0 0 28px rgba(var(--tone-rgb), .035);
  transition: transform .35s cubic-bezier(.2, .8, .2, 1), box-shadow .35s ease, border-color .35s ease;
}
.page-academy .academy-pricing-card--practice {
  --tone: #ffa31f;
  --tone-rgb: 255, 163, 31;
  background:
    radial-gradient(circle at 22% 5%, rgba(var(--tone-rgb), .17), transparent 45%),
    linear-gradient(165deg, #24170f, #100d0c 60%, #17100b);
}
.page-academy .academy-pricing-card--mentor {
  --tone: #27deeb;
  --tone-rgb: 39, 222, 235;
  background:
    radial-gradient(circle at 19% 6%, rgba(var(--tone-rgb), .13), transparent 44%),
    linear-gradient(165deg, #0d2025, #0a1117 60%, #0b1b21);
}
@media (hover: hover) {
  .page-academy .academy-pricing-card:hover {
    transform: translateY(-10px);
    border-color: var(--tone);
    box-shadow: 0 26px 56px rgba(0, 0, 0, .48), 0 0 38px rgba(var(--tone-rgb), .36), inset 0 0 36px rgba(var(--tone-rgb), .075);
  }
  .page-academy .academy-pricing-card:hover .academy-pricing-card__head img {
    transform: scale(1.08) rotate(-3deg);
  }
  .page-academy .academy-pricing-private:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 52px rgba(0, 0, 0, .42), 0 0 34px rgba(255, 154, 25, .28);
  }
}
.page-academy .academy-pricing-card__badge {
  position: absolute;
  top: -15px;
  left: 50%;
  z-index: 2;
  transform: translateX(-50%);
  padding: 7px 20px;
  border-radius: 999px;
  background: linear-gradient(180deg, #ffc75d, #ff9516);
  box-shadow: 0 5px 19px rgba(255, 137, 14, .4);
  color: #160b03;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.1;
  white-space: nowrap;
}
.page-academy .academy-pricing-card__head {
  display: grid;
  grid-template-columns: 94px minmax(0, 1fr);
  align-items: center;
  gap: 18px;
  min-height: 98px;
}
.page-academy .academy-pricing-card__head img {
  display: block;
  width: 94px;
  height: 94px;
  max-width: none;
  object-fit: contain;
  border: 1px solid rgba(var(--tone-rgb), .38);
  border-radius: 22px;
  background: radial-gradient(circle, rgba(var(--tone-rgb), .17), rgba(4, 7, 14, .46) 75%);
  transition: transform .35s cubic-bezier(.2, .8, .2, 1);
}
.page-academy .academy-pricing-card__head h3 {
  margin: 0 0 7px;
  color: #fff;
  font-size: clamp(17px, 1.35vw, 21px);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -.025em;
}
.page-academy .academy-pricing-card__head p {
  margin: 0;
  color: #c4cedd;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.45;
}
.page-academy .academy-pricing-card__price {
  margin: 18px 0 25px;
  color: #dfbaff;
  font-size: clamp(36px, 2.65vw, 42px);
  font-weight: 800;
  line-height: 1.1;
  text-align: center;
  letter-spacing: -.045em;
}
.page-academy .academy-pricing-card--practice .academy-pricing-card__price { color: #ffa628; }
.page-academy .academy-pricing-card--mentor .academy-pricing-card__price { color: #3be7ef; }
.page-academy .academy-pricing-card__features {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0 0 0 32px;
  list-style: none;
}
.page-academy .academy-pricing-card__features li {
  position: relative;
  margin: 0;
  color: #e2e8f2;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.42;
}
.page-academy .academy-pricing-card__features li::before {
  content: "";
  position: absolute;
  top: 2px;
  left: -31px;
  width: 21px;
  height: 21px;
  border: 1.5px solid var(--tone);
  border-radius: 50%;
  background: rgba(var(--tone-rgb), .07);
}
.page-academy .academy-pricing-card__features li::after {
  content: "";
  position: absolute;
  top: 7px;
  left: -25px;
  width: 9px;
  height: 6px;
  border-left: 1.6px solid var(--tone);
  border-bottom: 1.6px solid var(--tone);
  transform: rotate(-45deg);
}
.page-academy .academy-pricing-card__bottom {
  margin-top: auto;
  padding-top: 26px;
}
.page-academy .academy-pricing-card__button,
.page-academy .academy-pricing-private__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border-radius: 999px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.25;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.page-academy .academy-pricing-card__button {
  width: 100%;
  min-height: 50px;
  padding: 10px 16px;
  border: 1.5px solid var(--tone);
  background: rgba(2, 6, 12, .7);
  color: #fff;
  box-shadow: inset 0 0 16px rgba(var(--tone-rgb), .07);
}
.page-academy .academy-pricing-card--practice .academy-pricing-card__button {
  border-color: #ffbd55;
  background: linear-gradient(180deg, #ffc253, #ff9518);
  color: #140b04;
  box-shadow: 0 8px 24px rgba(255, 133, 15, .23);
}
.page-academy .academy-pricing-card__button span,
.page-academy .academy-pricing-private__button span {
  font-size: 22px;
  line-height: 0;
}
.page-academy .academy-pricing-card__button:hover,
.page-academy .academy-pricing-private__button:hover {
  transform: translateY(-2px);
  box-shadow: 0 7px 24px rgba(255, 153, 36, .32);
}
.page-academy .academy-pricing-card__button:focus-visible,
.page-academy .academy-pricing-private__button:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}
.page-academy .academy-pricing-card__note {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 82px;
  margin: 17px -25px 0;
  padding: 12px 14px;
  border-top: 1px solid rgba(var(--tone-rgb), .48);
  border-radius: 0 0 19px 19px;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(var(--tone-rgb), .2), transparent 72%),
    linear-gradient(180deg, rgba(var(--tone-rgb), .12), rgba(var(--tone-rgb), .045));
  box-shadow: inset 0 10px 27px rgba(var(--tone-rgb), .08);
  color: var(--tone);
  text-align: center;
}
.page-academy .academy-pricing-card__note-title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
}
.page-academy .academy-pricing-card__note strong {
  display: block;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: .12em;
}
.page-academy .academy-pricing-card__note small {
  display: block;
  margin-top: 5px;
  color: #dae0ec;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: .07em;
}
.page-academy .academy-pricing-card__laurel {
  flex: 0 0 20px;
  width: 20px;
  height: 28px;
  color: var(--tone);
  opacity: .9;
}
.page-academy .academy-pricing-card__laurel:last-child { transform: scaleX(-1); }
.page-academy .academy-pricing-private {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) 130px minmax(0, 1fr) 246px;
  align-items: center;
  gap: 22px;
  width: 100%;
  min-height: 162px;
  margin: 27px auto 0;
  padding: 22px 28px;
  border: 1px solid rgba(255, 166, 43, .85);
  border-radius: 20px;
  background:
    radial-gradient(ellipse at 9% 50%, rgba(255, 156, 26, .13), transparent 48%),
    linear-gradient(105deg, #1b130e, #0c0d11 60%, #21140b);
  box-shadow: 0 16px 42px rgba(0, 0, 0, .34), 0 0 23px rgba(255, 147, 20, .15), inset 0 0 24px rgba(255, 138, 16, .05);
  transition: transform .35s cubic-bezier(.2, .8, .2, 1), box-shadow .35s ease;
}
.page-academy .academy-pricing-private__identity,
.page-academy .academy-pricing-private__places,
.page-academy .academy-pricing-private__price {
  display: flex;
  align-items: center;
  min-width: 0;
}
.page-academy .academy-pricing-private__identity { gap: 20px; }
.page-academy .academy-pricing-private__symbol {
  display: grid;
  flex: 0 0 104px;
  width: 104px;
  height: 104px;
  place-items: center;
  border: 1px solid rgba(255, 166, 43, .35);
  border-radius: 24px;
  background: radial-gradient(circle, rgba(255, 146, 17, .15), rgba(24, 14, 7, .65) 75%);
}
.page-academy .academy-pricing-private__symbol img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.page-academy .academy-pricing-private__identity h3 {
  margin: 0 0 6px;
  color: #fff;
  font-size: 29px;
  font-weight: 800;
  line-height: 1.1;
}
.page-academy .academy-pricing-private__identity p {
  margin: 0 0 8px;
  color: #e2e8f2;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.35;
}
.page-academy .academy-pricing-private__identity small,
.page-academy .academy-pricing-private__places small,
.page-academy .academy-pricing-private__price small {
  display: block;
  color: #bbc6d5;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.4;
}
.page-academy .academy-pricing-private__places,
.page-academy .academy-pricing-private__price { gap: 12px; }
.page-academy .academy-pricing-private__price {
  padding-left: 22px;
  border-left: 1px solid rgba(255, 163, 44, .42);
}
.page-academy .academy-pricing-private__places svg,
.page-academy .academy-pricing-private__price svg {
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  color: #ffaa30;
}
.page-academy .academy-pricing-private__places strong,
.page-academy .academy-pricing-private__price strong {
  display: block;
  color: #fff;
  font-size: 21px;
  font-weight: 800;
  line-height: 1.15;
  white-space: nowrap;
}
.page-academy .academy-pricing-private__button {
  width: 100%;
  min-height: 54px;
  padding: 10px 16px;
  border: 1.5px solid #fda318;
  background: rgba(0, 0, 0, .5);
  color: #fff;
  white-space: nowrap;
}
.page-academy .academy-pricing + .academy-format-v2 {
  margin-top: 0 !important;
  padding-top: clamp(10px, 1vw, 16px) !important;
}
@media (max-width: 1180px) {
  .page-academy .academy-pricing__cards {
    max-width: 700px;
    grid-template-columns: minmax(0, 1fr);
    gap: 30px;
  }
  .page-academy .academy-pricing-card { min-height: 0; }
  .page-academy .academy-pricing-card__features {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 25px;
  }
  .page-academy .academy-pricing-private {
    max-width: 700px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .page-academy .academy-pricing-private__identity,
  .page-academy .academy-pricing-private__button { grid-column: 1 / -1; }
  .page-academy .academy-pricing-private__price {
    padding-left: 0;
    border-left: 0;
  }
}
@media (max-width: 640px) {
  .page-academy .academy-pricing { padding: 55px 16px 62px; }
  .page-academy .academy-pricing__eyebrow {
    gap: 7px;
    font-size: 10px;
    letter-spacing: .14em;
  }
  .page-academy .academy-pricing__eyebrow::before,
  .page-academy .academy-pricing__eyebrow::after { width: 29px; }
  .page-academy .academy-pricing__heading h2 {
    margin-top: 13px;
    font-size: clamp(29px, 7vw, 38px);
  }
  .page-academy .academy-pricing__heading > p { font-size: 15px; }
  .page-academy .academy-pricing__cards { gap: 27px; margin-top: 38px; }
  .page-academy .academy-pricing-card { padding: 19px 17px 0; }
  .page-academy .academy-pricing-card__head {
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 12px;
    min-height: 78px;
  }
  .page-academy .academy-pricing-card__head img { width: 76px; height: 76px; border-radius: 18px; }
  .page-academy .academy-pricing-card__head h3 { font-size: clamp(16px, 4.2vw, 20px); }
  .page-academy .academy-pricing-card__head p { font-size: 12px; }
  .page-academy .academy-pricing-card__price { margin: 17px 0 22px; font-size: 36px; }
  .page-academy .academy-pricing-card__features { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .page-academy .academy-pricing-card__features li { font-size: 15px; }
  .page-academy .academy-pricing-card__bottom { padding-top: 25px; }
  .page-academy .academy-pricing-card__button { font-size: 13px; }
  .page-academy .academy-pricing-card__note { min-height: 76px; margin-inline: -17px; }
  .page-academy .academy-pricing-card__note strong { font-size: 11px; letter-spacing: .08em; }
  .page-academy .academy-pricing-card__note small { font-size: 10px; letter-spacing: .03em; }
  .page-academy .academy-pricing-card__laurel { flex-basis: 15px; width: 15px; height: 24px; }
  .page-academy .academy-pricing-private {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 19px;
    margin-top: 27px;
    padding: 21px 17px;
  }
  .page-academy .academy-pricing-private__identity { gap: 13px; }
  .page-academy .academy-pricing-private__symbol {
    flex-basis: 76px;
    width: 76px;
    height: 76px;
    border-radius: 18px;
  }
  .page-academy .academy-pricing-private__identity h3 { font-size: 24px; }
  .page-academy .academy-pricing-private__identity p { font-size: 13px; }
  .page-academy .academy-pricing-private__identity small { font-size: 11px; }
  .page-academy .academy-pricing-private__places strong,
  .page-academy .academy-pricing-private__price strong { font-size: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .page-academy .academy-pricing-card,
  .page-academy .academy-pricing-card__head img,
  .page-academy .academy-pricing-private,
  .page-academy .academy-pricing-card__button,
  .page-academy .academy-pricing-private__button { transition: none; }
  .page-academy .academy-pricing-card:hover,
  .page-academy .academy-pricing-card:hover .academy-pricing-card__head img,
  .page-academy .academy-pricing-private:hover { transform: none; }
}
/* Mockup refinement: the site-wide SVG rule must not paint pricing icons white. */
.page-academy .academy-pricing svg { fill: none; }
.page-academy .academy-pricing-card__laurel path:first-child { fill: none; }
.page-academy .academy-pricing-card__laurel path:last-child { fill: currentColor; }
.page-academy .academy-pricing-private__places svg *,
.page-academy .academy-pricing-private__price svg * { fill: none; }

.page-academy .academy-pricing-card__price {
  --price-gradient: linear-gradient(105deg, #bd77ff 0%, #f5d7ff 23%, #fffaff 38%, #b662ff 56%, #ffe5ff 73%, #c17aff 100%);
  width: max-content;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  background: var(--price-gradient) 0 50% / 240% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 2px 8px rgba(var(--tone-rgb), .23));
  animation: academy-pricing-price-shine 5.4s ease-in-out infinite;
}
.page-academy .academy-pricing-card--practice .academy-pricing-card__price {
  --price-gradient: linear-gradient(105deg, #f98912 0%, #ffd168 22%, #fff0bd 38%, #ff9915 56%, #ffe08b 75%, #ff9819 100%);
}
.page-academy .academy-pricing-card--mentor .academy-pricing-card__price {
  --price-gradient: linear-gradient(105deg, #06c8df 0%, #82f6ff 23%, #efffff 38%, #0fd6eb 56%, #b2ffff 75%, #0ec9df 100%);
}
.page-academy .academy-pricing-private__places strong,
.page-academy .academy-pricing-private__price strong {
  width: max-content;
  max-width: 100%;
  background: linear-gradient(105deg, #fff 0%, #ffe8b4 24%, #fff 40%, #ffc35a 58%, #fff8e9 76%, #fff 100%) 0 50% / 230% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 1px 5px rgba(255, 173, 63, .18));
  animation: academy-pricing-price-shine 6.2s ease-in-out infinite;
}
@keyframes academy-pricing-price-shine {
  0%, 100% { background-position: 100% 50%; }
  50% { background-position: 0 50%; }
}
@media (prefers-reduced-motion: reduce) {
  .page-academy .academy-pricing-card__price,
  .page-academy .academy-pricing-private__places strong,
  .page-academy .academy-pricing-private__price strong {
    animation: none;
    background-position: 50% 50%;
  }
}

