.subscriptions-page {
  --plans-paper: #faf9f6;
  --plans-card: #fffdf8;
  --plans-ink: #191714;
  --plans-muted: #625d57;
  --plans-line: #e4e0d8;
  --plans-blue: #3157e7;
  --plans-tint: #edf1ff;
  --text: var(--plans-ink);
  --header-bg: #fff;
  margin: 0;
  padding: 0;
  background: var(--plans-paper);
}
html.dark .subscriptions-page {
  --plans-paper: #25212a;
  --plans-card: #302a35;
  --plans-ink: #f8f2ea;
  --plans-muted: #d6cdd4;
  --plans-line: #504958;
  --plans-blue: #b2c0ff;
  --plans-tint: #35344e;
  --header-bg: #302a35;
}
.subscriptions-page #__next { top: 8px; left: 10px; width: calc(100% - 20px); border-radius: 16px; }
.subscriptions-page .ws-nav { min-height: 72px; box-sizing: border-box; }
.subscriptions-page .ws-left { min-width: 0; }
.subscriptions-page .ws-logo {
  display: inline-flex; align-items: center; gap: clamp(6px, 1vw, 12px); min-width: 0;
  font: 700 clamp(15px, 2vw, 27px)/1.1 "Avenir Next", Inter, system-ui, sans-serif;
}
.subscriptions-page .ws-logo img { width: clamp(40px, 4.5vw, 58px); height: auto; flex: none; margin: 0; }
.subscriptions-page .progress-container { overflow: hidden; border-radius: 0 0 16px 16px; background: transparent; }
.subscriptions {
  width: min(89%, 1280px); margin: 0 auto; padding: 140px 0 64px;
  color: var(--plans-ink); font: 18px/1.5 "Avenir Next", Inter, system-ui, sans-serif;
}
.subscriptions *, .subscriptions *::before, .subscriptions *::after { box-sizing: border-box; }
.subscriptions :is(h1,h2,h3,p,ul) { margin: 0; color: inherit; font-family: inherit; hyphens: none; }
.subscriptions :is(a,button,summary,li,span,strong) { font-family: inherit; }
.subscriptions :is(h1,h2,h3) { font-weight: 900; line-height: 1.1; letter-spacing: -.045em; hyphens: none; }
.subscriptions h1 { font-size: clamp(38px, 4.5vw, 64px); text-align: center; }
.subscriptions h2 { font-size: clamp(30px, 3vw, 42px); text-align: left; }
.subscriptions h3 { font-size: clamp(25px, 2.3vw, 32px); text-align: left; }
.subscriptions a { color: var(--plans-blue)!important; text-underline-offset: 4px; }
.subscriptions :is(a,button,summary):focus-visible { outline: 3px solid var(--plans-blue); outline-offset: 5px; }
.subscriptions [hidden] { display: none!important; }
.plans-defs { width: 0; height: 0; position: absolute; overflow: hidden; }
.plans-rollout { margin: 0 0 22px!important; padding: 14px 18px; border-left: 3px solid var(--plans-blue); background: var(--plans-tint); border-radius: 0 12px 12px 0; font-size: 16px; }
.plans-student-rate { margin-top: 22px; padding: 24px; border: 1px solid var(--plans-line); border-radius: 20px; background: var(--plans-card); }
.plans-student-rate h3 { font-size: 24px; }
.plans-student-rate p { margin-top: 10px; font-size: 16px; }
.plans-student-rate .plans-student-rate__price { font-size: 21px; font-weight: 800; }
.plans-student-rate a { display: inline-block; margin-top: 12px; font-size: 16px; }
.plans-icon { display: block; width: 22px; height: 22px; flex: none; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.plans-intro { text-align: center; margin-bottom: 44px; }
.plans-intro p { max-width: 810px; margin: 16px auto 0; font-size: clamp(18px, 1.7vw, 22px); }
.plans-apps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-bottom: 48px; }
.plans-apps a {
  display: flex; align-items: center; justify-content: center; gap: 16px; min-height: 110px; padding: 20px;
  border: 1px solid var(--plans-line); border-radius: 20px; background: var(--plans-card);
  color: var(--plans-ink)!important; font-size: clamp(18px, 1.7vw, 24px); font-weight: 800; text-decoration: none;
}
.plans-apps a:hover { border-color: var(--plans-blue); }
.plans-apps a[aria-current="true"] { border: 2px solid var(--plans-blue); padding: 19px; background: var(--plans-tint); }
.plans-apps img { width: 56px; height: 56px; margin: 0; border-radius: 14px; flex: none; object-fit: contain; }
.plans-apps span, .plans-app-heading h2 { font-family: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif; font-weight: 700; letter-spacing: -.025em; }
.plans-app-panel { scroll-margin-top: 24px; }
.plans-app-panel + .plans-app-panel { margin-top: 72px; }
.plans-enhanced .plans-app-panel + .plans-app-panel { margin-top: 0; }
.plans-app-overview { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.plans-app-overview .plans-app-heading { margin-bottom: 0; }
.plans-app-heading { display: flex; align-items: center; gap: 18px; margin-bottom: 20px; }
.plans-app-heading > img { width: 64px; height: 64px; margin: 0; border-radius: 16px; object-fit: contain; flex: none; }
.plans-app-heading p { margin-top: 6px; font-size: 20px; }
.plans-toolbar { display: flex; flex: none; flex-direction: column; align-items: flex-end; gap: 8px; }
.plans-toolbar__switches { display: flex; flex-wrap: wrap; gap: 12px; }
.plans-switch { display: inline-flex; padding: 4px; border: 1px solid var(--plans-line); border-radius: 999px; gap: 2px; background: var(--plans-card); }
.plans-switch button { border: 0; background: transparent; padding: 10px 18px; min-height: 44px; border-radius: 999px; font: 700 16px/1.2 "Avenir Next", Inter, system-ui, sans-serif; color: var(--plans-ink)!important; cursor: pointer; }
.plans-switch button[aria-pressed="true"] { background: var(--plans-blue); color: #fff!important; }
html.dark .plans-switch button[aria-pressed="true"] { color: #191714!important; }
.plans-toolbar__note { font-size: 15px; color: var(--plans-muted)!important; }
.plans-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.plans-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.plans-card { display: flex; flex-direction: column; padding: 30px; border: 1px solid var(--plans-line); border-radius: 24px; background: var(--plans-card); min-width: 0; }
.plans-card__badge { display: inline-flex; align-self: flex-start; border-radius: 999px; background: var(--plans-tint); color: var(--plans-blue)!important; padding: 6px 12px; margin-bottom: 16px; font-size: 14px; font-weight: 800; line-height: 1.2; }
.plans-price { margin-top: 16px!important; font-size: clamp(27px, 2.55vw, 36px); font-weight: 900; line-height: 1.2; letter-spacing: -.035em; }
.plans-price small { font-size: 17px; font-weight: 600; letter-spacing: -.02em; white-space: nowrap; }
.plans-price [data-price-amount] { white-space: nowrap; }
.plans-card__billing { min-height: 54px; margin-top: 8px!important; font-size: 16px; color: var(--plans-muted)!important; }
.plans-card__summary { min-height: 54px; margin-top: 22px!important; font-size: 19px; }
.plans-features { list-style: none; padding: 0; margin: 26px 0 30px!important; display: grid; gap: 22px; }
.plans-features li { display: flex; align-items: flex-start; gap: 13px; line-height: 1.45; }
.plans-features .plans-icon { color: var(--plans-blue)!important; margin-top: 3px; }
.plans-features strong { display: block; font-size: 18px; font-weight: 800; }
.plans-features p { margin-top: 3px; font-size: 17px; }
.plans-card__limit { margin: 0 0 22px!important; padding-top: 16px; border-top: 1px solid var(--plans-line); font-size: 15px; color: var(--plans-muted)!important; }
.plans-card__action { margin-top: auto; }
.plans-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 54px; padding: 13px 20px; border: 1px solid var(--plans-ink); border-radius: 12px;
  background: var(--plans-ink); color: var(--plans-paper)!important; font-size: 17px; font-weight: 800; text-decoration: none; text-align: center;
}
.subscriptions a.plans-button { color: var(--plans-paper)!important; }
.plans-card__action .plans-button { width: 100%; }
.subscriptions a.plans-button--outline { color: var(--plans-blue)!important; border-color: var(--plans-blue); background: transparent; }
.plans-button:hover { opacity: .85; }
.plans-source { margin-top: 20px!important; font-size: 14px; color: var(--plans-muted)!important; line-height: 1.6; }
.plans-details-link { display: inline-flex; align-items: center; gap: 9px; margin-top: 14px; font-weight: 700; }
.plans-students { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-top: 48px; padding: 28px; border-radius: 20px; background: var(--plans-tint); }
.plans-students h2 { font-size: 27px; }
.plans-students p { margin-top: 8px; font-size: 17px; max-width: 640px; }
.plans-students__actions { display: flex; flex-wrap: wrap; gap: 10px; flex: none; }
.plans-students .plans-button { min-height: 48px; font-size: 15px; padding: 10px 15px; }
.plans-help { text-align: center; margin-top: 28px; font-size: 15px; }
.plans-help p { margin-bottom: 10px; }
.plans-help__links { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px 28px; }
.plans-help__terms { max-width: 850px; margin: 18px auto 0!important; color: var(--plans-muted)!important; font-size: 14px; }
@media (max-width: 1000px) {
  .subscriptions { width: 90%; }
  .plans-grid--three { grid-template-columns: 1fr; }
  .plans-grid--three .plans-card__summary, .plans-grid--three .plans-card__billing { min-height: 0; }
  .plans-apps { gap: 12px; }
  .plans-apps a { gap: 10px; padding: 16px 10px; font-size: 18px; }
  .plans-apps a[aria-current="true"] { padding: 15px 9px; }
  .plans-apps img { width: 44px; height: 44px; border-radius: 11px; }
  .plans-students { align-items: flex-start; flex-direction: column; }
  .plans-app-overview { align-items: flex-start; flex-direction: column; gap: 18px; }
  .plans-toolbar { align-items: flex-start; }
}
@media (max-width: 650px) {
  .subscriptions { width: auto; margin: 0 20px; padding-top: 124px; }
  .plans-intro { margin-bottom: 28px; }
  .plans-apps { gap: 8px; margin-bottom: 32px; }
  .plans-apps a { flex-direction: column; gap: 9px; min-height: 108px; padding: 12px 5px; font-size: 14px; line-height: 1.2; text-align: center; }
  .plans-apps a[aria-current="true"] { padding: 11px 4px; }
  .plans-app-heading { align-items: flex-start; gap: 12px; }
  .plans-app-heading > img { width: 48px; height: 48px; border-radius: 12px; }
  .plans-app-heading h2 { font-size: 29px; }
  .plans-app-heading p { font-size: 17px; }
  .plans-toolbar__note { width: 100%; }
  .plans-toolbar__switches { gap: 8px; }
  .plans-switch { padding: 3px; }
  .plans-switch button { padding: 9px 12px; font-size: 14px; }
  .plans-grid { grid-template-columns: 1fr; gap: 16px; }
  .plans-card { padding: 25px; border-radius: 20px; }
  .plans-card__summary, .plans-card__billing { min-height: 0; }
  .plans-students { padding: 24px; margin-top: 36px; }
  .plans-students h2 { font-size: 25px; }
  .plans-students__actions { width: 100%; flex-direction: column; }
  .plans-students__actions .plans-button { width: 100%; }
  .plans-help__links { gap: 14px; flex-direction: column; }
}
