.specialists-page {
  --sp-ink: #233934;
  --sp-muted: #5f716c;
  --sp-green: #4d8f76;
  --sp-green-dark: #356c59;
  --sp-mint: #e5f4ed;
  --sp-peach: #fff0e2;
  display: grid;
  width: min(100%, 1320px);
  min-width: 0;
  gap: clamp(42px, 5vw, 70px);
  margin: 0 auto;
  color: var(--sp-ink);
}

.specialists-page *,
.specialists-page *::before,
.specialists-page *::after { box-sizing: border-box; }

.specialists-page > *,
.specialists-page section > * { min-width: 0; }

.specialists-page h1,
.specialists-page h2,
.specialists-page h3,
.specialists-page p { margin-top: 0; }

.specialists-page h1,
.specialists-page h2,
.specialists-page h3 {
  color: var(--sp-ink);
  letter-spacing: -.03em;
}

.specialists-page h2 {
  margin-bottom: 15px;
  font-size: clamp(31px, 3.6vw, 46px);
  font-weight: 950;
  line-height: 1.08;
}

.specialists-page h3 { font-weight: 900; line-height: 1.2; }
.specialists-page p,
.specialists-page li { color: var(--sp-muted); line-height: 1.65; }

.specialists-eyebrow {
  margin-bottom: 12px;
  color: var(--sp-green) !important;
  font-size: 13px;
  font-weight: 950;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.specialists-section { scroll-margin-top: 32px; }
.specialists-section__heading { max-width: 850px; margin: 0 auto clamp(22px, 3vw, 34px); text-align: center; }
.specialists-section__heading > p:last-child { margin: 0 auto; font-size: clamp(16px, 1.7vw, 19px); }
.specialists-section__heading--left { max-width: none; margin: 0; text-align: left; }

.specialists-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.specialists-button {
  display: inline-flex;
  min-height: 54px;
  align-items: center;
  justify-content: center;
  border-radius: 17px;
  padding: 14px 23px;
  font-size: 16px;
  font-weight: 900;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  transform: none;
  transition: none;
}
.specialists-button--primary { border: 1px solid #47856d; background: #4f9077; color: #fff; box-shadow: 0 12px 24px rgba(70,133,107,.18); }
.specialists-button--primary:hover,
.specialists-button--primary:focus-visible { border-color: #376b58; background: #447f69; color: #fff; box-shadow: 0 12px 24px rgba(70,133,107,.18); transform: none; }
.specialists-button--secondary { border: 1px solid #bfd9cd; background: rgba(255,255,255,.9); color: var(--sp-green-dark); box-shadow: 0 10px 24px rgba(64,103,87,.08); }
.specialists-button--secondary:hover,
.specialists-button--secondary:focus-visible { border-color: #8eb7a6; background: #f3faf7; color: #244c3f; box-shadow: 0 10px 24px rgba(64,103,87,.08); transform: none; }
.specialists-page .button,
.specialists-page .button:hover,
.specialists-page .button:focus-visible { animation: none; transform: none; transition: none; }
.specialists-text-link { color: var(--sp-green-dark); font-size: 14px; font-weight: 900; text-decoration: none; }

.specialists-hero {
  overflow: hidden;
  border: 1px solid #dcece5;
  border-radius: clamp(30px, 4vw, 48px);
  padding: clamp(30px, 4vw, 54px);
  background: linear-gradient(140deg, #fffdf8 0%, #f7fcf9 56%, #edf8f3 100%);
  box-shadow: 0 28px 64px rgba(57,91,77,.1);
}
.specialists-hero .breadcrumbs { margin-bottom: 18px; }
.specialists-hero__top { display: grid; grid-template-columns: minmax(0,1.36fr) minmax(330px,.64fr); gap: clamp(24px,4vw,50px); align-items: start; }
.specialists-hero__heading { align-self: center; }
.specialists-hero__top > img { display: block; width: 100%; height: auto; align-self: start; margin-top: 12px; object-fit: contain; filter: drop-shadow(0 16px 20px rgba(50,78,66,.1)); }
.specialists-hero h1 { margin-bottom: 0; font-size: clamp(38px, 4vw, 56px); font-weight: 950; line-height: 1.04; letter-spacing: -.042em; }
.specialists-hero__body { width: 100%; margin-top: 18px; }
.specialists-hero__lead { color: #3f514c !important; font-size: clamp(17px, 1.55vw, 20px); font-weight: 750; }
.specialists-hero__body > p:not(.specialists-hero__lead, .editorial-author) { font-size: 15px; }
.specialists-hero__quick-start {
  display: grid;
  grid-template-columns: minmax(310px,.82fr) minmax(0,1.18fr);
  gap: clamp(20px,3vw,34px);
  align-items: center;
  margin-top: 22px;
  border: 1px solid #d7e8e0;
  border-radius: 24px;
  padding: 20px 22px;
  background: rgba(255,255,255,.72);
  box-shadow: 0 12px 28px rgba(55,84,72,.055);
}
.specialists-hero__cta { display: grid; gap: 13px; }
.specialists-hero__cta > strong { color: var(--sp-ink); font-size: 17px; line-height: 1.35; }
.specialists-hero__quick-start .specialists-actions { margin: 0; }
.specialists-hero__proof { display: grid; gap: 12px; }
.specialists-hero__audience-count { margin: 0; color: var(--sp-green-dark) !important; font-size: 15px; font-weight: 950; line-height: 1.4; }
.specialists-hero__proof ul { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.specialists-hero__proof li { display: grid; gap: 2px; border-left: 3px solid #76ae95; padding-left: 11px; }
.specialists-hero__proof strong { color: var(--sp-ink); font-size: 14px; line-height: 1.35; }
.specialists-hero__proof span { font-size: 12px; font-weight: 700; line-height: 1.4; }
.specialists-hero__proof .editorial-author { margin: 0; border-top: 1px solid #dfeae5; padding-top: 10px; font-size: 13px; }

.specialists-anchor-nav { position: sticky; z-index: 8; top: 10px; display: flex; width: fit-content; height: auto; min-height: 0; align-self: start; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: center; margin: -34px auto -6px; border: 1px solid rgba(197,220,210,.9); border-radius: 19px; padding: 9px; background: rgba(255,255,255,.9); box-shadow: 0 10px 28px rgba(45,74,62,.09); backdrop-filter: blur(13px); }
.specialists-anchor-nav a { height: auto; min-height: 0; align-self: center; border-radius: 12px; padding: 9px 13px; color: #47645b; font-size: 13px; font-weight: 850; text-decoration: none; }
.specialists-anchor-nav a:hover { background: var(--sp-mint); color: var(--sp-green-dark); }

.specialists-benefits__body { display: grid; grid-template-columns: minmax(270px,.68fr) minmax(0,1.32fr); gap: clamp(26px,4vw,46px); align-items: center; }
.specialists-benefits__art { border-radius: 36px; padding: 20px; background: linear-gradient(145deg,#e9f6f0,#fff6e9); }
.specialists-benefits__art img { display: block; width: 100%; height: auto; object-fit: contain; }
.specialists-benefits__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.specialists-benefits__grid article { border: 1px solid #dfeae5; border-radius: 23px; padding: 18px; background: #fffdf9; box-shadow: 0 12px 28px rgba(55,84,72,.055); }
.specialists-benefits__grid article > span { display: grid; width: 42px; height: 42px; place-items: center; margin-bottom: 14px; border-radius: 14px; background: #dff2e8; color: var(--sp-green); font-size: 12px; font-weight: 950; }
.specialists-benefits__grid article:nth-child(2n) > span { background: #fff0dc; color: #b06b3e; }
.specialists-benefits__grid h3 { margin-bottom: 7px; font-size: 19px; }
.specialists-benefits__grid p { margin: 0; font-size: 13px; }

.specialists-selections { border-radius: 36px; padding: clamp(28px,4vw,48px); background: #f3f9f6; }
.specialists-selections__list { display: grid; gap: 18px; }
.specialists-selection { border: 1px solid #dce8e2; border-radius: 26px; padding: clamp(20px,2.7vw,30px); background: #fff; box-shadow: 0 16px 38px rgba(55,88,74,.07); }
.specialists-selection__heading { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 18px; align-items: end; margin-bottom: 19px; }
.specialists-selection__heading > div { max-width: 780px; }
.specialists-selection__number { margin-bottom: 7px; color: #db8453 !important; font-size: 12px; font-weight: 950; letter-spacing: .1em; text-transform: uppercase; }
.specialists-selection__heading h3 { margin-bottom: 9px; font-size: clamp(25px,2.7vw,36px); }
.specialists-selection__heading p:last-child { margin: 0; font-size: 15px; }
.specialists-selection__heading > a { display: inline-flex; min-height: 46px; gap: 8px; align-items: center; justify-content: center; border: 1px solid #bed9cc; border-radius: 14px; padding: 11px 16px; background: #f1faf5; color: var(--sp-green-dark); font-size: 14px; font-weight: 950; text-decoration: none; }
.specialists-game-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.specialists-game-grid .game-card-shell,
.specialists-game-grid .game-card { min-width: 0; height: 100%; }
.specialists-game-grid .game-card { border-radius: 20px; padding: 0; box-shadow: 0 10px 24px rgba(51,76,67,.08); }
.specialists-game-grid .game-card__image { width: 100%; max-width: 100%; min-height: 145px; aspect-ratio: 16/10; padding: 0; }
.specialists-game-grid .game-card-body { gap: 6px; padding: 14px; }
.specialists-game-grid .game-card__title { font-size: 17px; }
.specialists-game-grid .game-card__skill { display: -webkit-box; min-height: 34px; margin: 0; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; color: #62736d; font-size: 12px; line-height: 1.38; }
.specialists-selection__empty,
.specialists-selections__empty { grid-column: 1/-1; margin: 0; border-radius: 18px; padding: 24px; background: #f6faf8; text-align: center; }

.specialists-lesson { text-align: center; }
.specialists-lesson .specialists-section__heading { max-width: 820px; margin: 0 auto 27px; text-align: center; }
.specialists-lesson__steps { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; text-align: left; }
.specialists-lesson__steps li { border: 1px solid #e1e9e5; border-radius: 21px; padding: 18px 16px; background: #fffdf9; }
.specialists-lesson__steps li > span,
.specialists-online__steps span,
.specialists-homework__benefits span { display: grid; width: 40px; height: 40px; place-items: center; margin-bottom: 15px; border-radius: 13px; background: var(--sp-green); color: #fff; font-weight: 950; }
.specialists-lesson__steps h3 { margin-bottom: 7px; font-size: 18px; }
.specialists-lesson__steps p { margin: 0; font-size: 13px; }
.specialists-callout { border-left: 4px solid #e59a68; border-radius: 0 17px 17px 0; padding: 15px 18px; background: #fff4e5; color: #465a53 !important; font-weight: 750; }
.specialists-lesson > .specialists-callout { max-width: 920px; margin: 19px auto 0; text-align: left; }

.specialists-online,
.specialists-ready,
.specialists-team { display: grid; grid-template-columns: minmax(300px,.8fr) minmax(0,1.2fr); gap: clamp(28px,4.5vw,54px); align-items: center; border: 1px solid #dbe9e3; border-radius: 36px; padding: clamp(28px,4vw,48px); background: linear-gradient(140deg,#f2faf6,#fff8ee); }
.specialists-online__art,
.specialists-ready__art { border-radius: 30px; padding: 15px; background: rgba(224,242,234,.75); }
.specialists-online__art img,
.specialists-ready__art img { display: block; width: 100%; height: auto; object-fit: contain; }
.specialists-online__steps { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin: 20px 0; padding: 0; list-style: none; }
.specialists-online__steps li { display: grid; grid-template-columns: 35px minmax(0,1fr); gap: 10px; align-items: center; border-radius: 16px; padding: 12px; background: rgba(255,255,255,.8); font-size: 13px; }
.specialists-online__steps span { width: 35px; height: 35px; margin: 0; }
.specialists-online__note { font-size: 12px; }

.specialists-homework { border-radius: 36px; padding: clamp(28px,4vw,48px); background: #f7f4fb; }
.specialists-homework__intro { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(280px,.85fr); gap: 30px; align-items: center; }
.specialists-homework__intro img { width: 100%; height: auto; object-fit: contain; }
.specialists-homework__benefits { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 13px; margin: 21px 0; }
.specialists-homework__benefits article { border-radius: 20px; padding: 20px; background: rgba(255,255,255,.82); }
.specialists-homework__benefits h3 { margin-bottom: 7px; font-size: 18px; }
.specialists-homework__benefits p { margin: 0; font-size: 13px; }
.specialists-homework .game-lists-promo {
  width: 100%;
  margin: 22px 0 0;
  transform: none;
}

.specialists-ready { grid-template-columns: minmax(300px,.75fr) minmax(0,1.25fr); }
.specialists-ready .specialists-button { margin-top: 5px; }

.specialists-prices { border-radius: 36px; padding: clamp(28px,4vw,48px); background: #eef7f3; }
.specialists-prices__heading { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(270px,.8fr); gap: 28px; align-items: center; margin-bottom: 23px; }
.specialists-prices__heading img { width: 100%; height: auto; object-fit: contain; }
.specialists-comparison { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; }
.specialists-comparison article { border: 1px solid #dde8e3; border-radius: 24px; padding: 25px; background: #fff; }
.specialists-comparison__site { border-color: #afd2c3 !important; background: #f7fffb !important; }
.specialists-comparison h3 { margin-bottom: 14px; font-size: 23px; }
.specialists-comparison ul { display: grid; gap: 7px; margin: 0; padding-left: 21px; }
.specialists-comparison li { font-size: 14px; }
.specialists-team { grid-template-columns: minmax(210px,.45fr) minmax(0,1.55fr); background: linear-gradient(135deg,#27483e,#365f50); }
.specialists-team h2,
.specialists-team p { color: #fff; }
.specialists-team .specialists-eyebrow { color: #bfe6d4 !important; }
.specialists-team__badge { display: grid; aspect-ratio: 1; place-items: center; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; background: rgba(255,255,255,.08); color: #f4cf91; font-size: clamp(24px,3vw,39px); font-weight: 950; line-height: 1.08; text-align: center; }

.specialists-faq { display: grid; grid-template-columns: minmax(270px,.65fr) minmax(0,1.35fr); gap: clamp(30px,5vw,58px); align-items: start; }
.specialists-faq__list { display: grid; gap: 10px; }
.specialists-faq details { border: 1px solid #dfe9e4; border-radius: 18px; padding: 0 20px; background: #fffdf9; }
.specialists-faq summary { cursor: pointer; padding: 19px 34px 19px 0; color: var(--sp-ink); font-weight: 900; line-height: 1.4; }
.specialists-faq details p { margin: 0; border-top: 1px solid #e6ede9; padding: 15px 0 20px; font-size: 14px; }

.specialists-final { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(300px,.8fr); gap: clamp(26px,4vw,48px); align-items: center; overflow: hidden; border-radius: 36px; padding: clamp(28px,4vw,48px); background: linear-gradient(135deg,#fff0dc,#f1f8f4); }
.specialists-final img { width: 100%; height: auto; object-fit: contain; filter: drop-shadow(0 18px 22px rgba(76,69,56,.12)); }

@media (max-width: 1080px) {
  .specialists-hero__top { grid-template-columns: minmax(0,1fr) minmax(290px,.62fr); }
  .specialists-game-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .specialists-lesson__steps { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (max-width: 820px) {
  .specialists-page { gap: 50px; }
  .specialists-hero__top,
  .specialists-hero__quick-start,
  .specialists-benefits__body,
  .specialists-online,
  .specialists-ready,
  .specialists-team,
  .specialists-faq,
  .specialists-final { grid-template-columns: 1fr; }
  .specialists-hero__top > img { width: min(100%,520px); margin: 0 auto; }
  .specialists-benefits__art,
  .specialists-online__art,
  .specialists-ready__art { max-width: 500px; margin: 0 auto; }
  .specialists-anchor-nav { position: static; margin: -30px auto -8px; }
  .specialists-homework__intro,
  .specialists-prices__heading { grid-template-columns: 1fr; }
  .specialists-homework__intro img,
  .specialists-prices__heading img { max-width: 500px; margin: 0 auto; }
  .specialists-team__badge { width: min(250px,60vw); }
  .specialists-faq .specialists-section__heading { text-align: center; }
}

@media (max-width: 620px) {
  .specialists-page { gap: 40px; }
  .specialists-page h2 { font-size: clamp(28px,8.5vw,36px); }
  .specialists-hero,
  .specialists-selections,
  .specialists-homework,
  .specialists-prices,
  .specialists-online,
  .specialists-ready,
  .specialists-team,
  .specialists-final { border-radius: 27px; padding: 24px 18px; }
  .specialists-hero h1 { font-size: clamp(34px,10vw,44px); }
  .specialists-hero__body { margin-top: 13px; }
  .specialists-actions,
  .specialists-actions .specialists-button { width: 100%; }
  .specialists-button { min-height: 50px; }
  .specialists-hero__proof ul,
  .specialists-benefits__grid,
  .specialists-online__steps,
  .specialists-homework__benefits,
  .specialists-comparison { grid-template-columns: 1fr; }
  .specialists-hero__quick-start { border-radius: 20px; padding: 17px; }
  .specialists-anchor-nav { width: 100%; max-width: 100%; justify-content: flex-start; overflow-x: auto; flex-wrap: nowrap; margin-inline: 0; padding: 7px; scrollbar-width: none; }
  .specialists-anchor-nav a { flex: 0 0 auto; }
  .specialists-selection { border-radius: 21px; padding: 18px; }
  .specialists-selection__heading { grid-template-columns: 1fr; align-items: start; }
  .specialists-selection__heading > a { justify-self: stretch; }
  .specialists-game-grid { grid-template-columns: 1fr; gap: 12px; }
  .specialists-game-grid .game-card__image { min-height: 180px; }
  .specialists-game-grid .game-card-body { padding: 14px; }
  .specialists-game-grid .game-card__title { font-size: 17px; }
  .specialists-game-grid .game-card__category { font-size: 12px; }
  .specialists-lesson__steps { grid-template-columns: 1fr; }
  .specialists-lesson__steps li { display: grid; grid-template-columns: 44px minmax(0,1fr); gap: 12px; }
  .specialists-lesson__steps li > span { margin: 0; }
  .specialists-homework .game-lists-promo { margin-top: 24px; }
  .specialists-team__badge { width: 190px; }
  .specialists-final { text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
  .specialists-page * { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

html[data-theme="dark"] .specialists-page { --sp-ink: #edf7f2; --sp-muted: #b7c7c0; }
html[data-theme="dark"] .specialists-eyebrow { color: #8fd1ae !important; }
html[data-theme="dark"] .specialists-hero__lead { color: var(--sp-muted) !important; }
html[data-theme="dark"] .specialists-hero__audience-count,
html[data-theme="dark"] .specialists-text-link { color: #a5d9c0 !important; }
html[data-theme="dark"] .specialists-game-grid .game-card__skill { color: var(--muted); }
html[data-theme="dark"] .specialists-game-grid .game-card__skill span { color: #a5d9c0; }
html[data-theme="dark"] .specialists-selection__empty,
html[data-theme="dark"] .specialists-selections__empty { color: #31463f; }
html[data-theme="dark"] .specialists-online__steps li {
  color: #31463f;
}
html[data-theme="dark"] .specialists-homework__benefits article h3,
html[data-theme="dark"] .specialists-comparison__site h3 {
  color: #233934;
}
html[data-theme="dark"] .specialists-homework__benefits article p,
html[data-theme="dark"] .specialists-comparison__site li {
  color: #5f716c;
}
html[data-theme="dark"] .specialists-hero,
html[data-theme="dark"] .specialists-online,
html[data-theme="dark"] .specialists-ready,
html[data-theme="dark"] .specialists-final { border-color: #355047; background: #20352f; }
html[data-theme="dark"] .specialists-selections,
html[data-theme="dark"] .specialists-homework,
html[data-theme="dark"] .specialists-prices { background: #1c302a; }
html[data-theme="dark"] .specialists-hero__quick-start { border-color: #355047; background: rgba(37,61,54,.72); }
html[data-theme="dark"] .specialists-hero__proof .editorial-author { border-color: #3c574e; }
html[data-theme="dark"] .specialists-selection,
html[data-theme="dark"] .specialists-benefits__grid article,
html[data-theme="dark"] .specialists-lesson__steps li,
html[data-theme="dark"] .specialists-comparison article,
html[data-theme="dark"] .specialists-faq details { border-color: #355047; background: #253d36; }
html[data-theme="dark"] .specialists-anchor-nav { border-color: #3c574e; background: rgba(30,49,43,.92); }
html[data-theme="dark"] .specialists-anchor-nav a { color: #c2d7ce; }
