
:root {
  --korall: #E9705F;
  --korall-knopka: #C2503E;
  --korall-knopka-navedenie: #a83f2f;
  --korall-tyomny: #d55c4b;
  --biryuza: #3FA9A0;
  --biryuza-glubokaya: #2E7B75;
  --zhyolty: #F5C24B;
  --tekst: #3E332C;
  --krem: #FBF3E4;
  --moloko: #FFFCF6;
  --myata: #EAF5F1;
  --persik: #FDEEE3;
  --bely: #FFFFFF;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    "Helvetica Neue", Arial, sans-serif;
  color: var(--tekst);
  background: var(--moloko);
  line-height: 1.5;
}

img {
  max-width: 100%;
  display: block;
}

picture {
  display: contents;
}

:focus-visible {
  outline: 3px solid var(--korall-knopka);
  outline-offset: 3px;
  border-radius: 6px;
}

.propustit {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 200;
  background: var(--korall-knopka);
  color: var(--bely);
  font-weight: 700;
  padding: 12px 20px;
  border-radius: 0 0 12px 0;
  text-decoration: none;
}

.propustit:focus {
  left: 0;
}

.doverie h2,
.logoped h2,
.podgotovka h2,
.kursy h2,
.pedagogi h2,
.galereya h2,
.zapis h2,
.voprosy h2,
.kontakty h2 {
  font-size: 36px;
  font-weight: 800;
  text-align: center;
  margin-bottom: 12px;
}

.shapka {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255, 252, 246, 0.93);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-bottom: 1px solid rgba(62, 51, 44, 0.08);
}

.shapka-vnutri {
  max-width: 1240px;
  margin: 0 auto;
  padding: 10px 24px;
  display: flex;
  align-items: center;
  gap: 32px;
}

.logo {
  text-decoration: none;
  color: var(--tekst);
  line-height: 1.15;
  flex-shrink: 0;
}

.logo-imya {
  display: block;
  font-size: 22px;
  font-weight: 800;
  color: var(--korall-knopka);
  letter-spacing: 0.3px;
}

.logo-podpis {
  display: block;
  font-size: 12px;
  color: var(--tekst);
  opacity: 0.75;
}

.menyu {
  display: flex;
  gap: 24px;
  margin-left: auto;
}

.menyu a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  text-decoration: none;
  color: var(--tekst);
  font-size: 16px;
  font-weight: 500;
  padding: 6px 2px;
  border-bottom: 2px solid transparent;
  transition: color 0.2s, border-color 0.2s;
}

.menyu a:hover {
  color: var(--korall);
  border-bottom-color: var(--zhyolty);
}

.shapka-svyaz {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  flex-shrink: 0;
}

.shapka-telefon {
  text-decoration: none;
  color: var(--bely);
  background: var(--korall-knopka);
  font-size: 17px;
  font-weight: 700;
  padding: 12px 20px;
  border-radius: 999px;
  white-space: nowrap;
  box-shadow: 0 4px 14px rgba(233, 112, 95, 0.35);
  transition: background 0.2s, transform 0.15s;
}

.shapka-telefon:hover {
  background: var(--korall-knopka-navedenie);
  transform: translateY(-1px);
}

.shapka-chasy {
  font-size: 11px;
  opacity: 0.75;
  white-space: nowrap;
}

.pervyj-ekran {
  position: relative;
  scroll-margin-top: 96px;
  min-height: calc(100vh - 64px);
  min-height: calc(100svh - 64px);
  display: flex;
  align-items: center;
  overflow: hidden;
  border-radius: 0 0 48px 48px;
}

.pervyj-fon {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 0% 25%;
  transform: scale(1.28);
  transform-origin: 0% 35%;
}

.pervyj-zatemnenie {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg,
      rgba(46, 30, 20, 0.82) 0%,
      rgba(46, 30, 20, 0.55) 42%,
      rgba(46, 30, 20, 0.12) 70%,
      rgba(46, 30, 20, 0.05) 100%),
    linear-gradient(0deg,
      rgba(46, 30, 20, 0.45) 0%,
      rgba(46, 30, 20, 0) 30%);
}

.pervyj-vnutri {
  position: relative;
  max-width: 1240px;
  width: 100%;
  margin: 0 auto;
  padding: 72px 24px 88px;
}

.pervyj-vnutri h1 {
  color: var(--bely);
  font-size: 48px;
  line-height: 1.15;
  font-weight: 800;
  max-width: 640px;
  margin-bottom: 24px;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
}

.pervyj-plashki {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 22px;
  max-width: 640px;
}

.pervyj-plashki li {
  background: rgba(251, 243, 228, 0.16);
  border: 1px solid rgba(251, 243, 228, 0.45);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  color: var(--krem);
  font-size: 15px;
  font-weight: 600;
  padding: 8px 16px;
  border-radius: 999px;
}

.pervyj-opisanie {
  color: rgba(255, 255, 255, 0.92);
  font-size: 20px;
  max-width: 480px;
  margin-bottom: 20px;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.3);
}

.pervyj-opisanie strong {
  display: inline-block;
  margin-top: 8px;
  color: var(--bely);
  font-weight: 700;
}

.pervyj-knopki {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 40px;
}

.knopka {
  display: inline-block;
  text-decoration: none;
  font-size: 18px;
  font-weight: 700;
  padding: 16px 40px;
  border-radius: 999px;
  transition: background 0.2s, color 0.2s, transform 0.15s;
}

.knopka-korall {
  background: var(--korall-knopka);
  color: var(--bely);
  box-shadow: 0 6px 20px rgba(233, 112, 95, 0.5);
}

.knopka-korall:hover {
  background: var(--korall-knopka-navedenie);
  transform: translateY(-2px);
}

.knopka-svetlaya {
  background: rgba(251, 243, 228, 0.14);
  border: 2px solid rgba(251, 243, 228, 0.85);
  color: var(--bely);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.knopka-svetlaya:hover {
  background: var(--krem);
  color: var(--tekst);
  transform: translateY(-2px);
}

.pervyj-podpis {
  color: rgba(255, 255, 255, 0.85);
  font-size: 14.5px;
  margin-top: -26px;
  margin-bottom: 34px;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.3);
}

.pervyj-vozrast {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.vozrast-podpis {
  color: rgba(255, 255, 255, 0.85);
  font-size: 15px;
  margin-right: 4px;
}

.vozrast-chip {
  color: var(--bely);
  font-size: 15px;
  font-weight: 700;
  padding: 7px 16px;
  border-radius: 999px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
}

.chip-korall  { background: var(--korall); }
.chip-biryuza { background: var(--biryuza); }
.chip-zhyolty { background: var(--zhyolty); color: var(--tekst); }

.doverie {
  padding: 88px 24px 96px;
  scroll-margin-top: 96px;
}

.doverie-vnutri {
  max-width: 1240px;
  margin: 0 auto;
}

.doverie-podzagolovok {
  text-align: center;
  font-size: 18px;
  opacity: 0.8;
  margin-bottom: 48px;
}

.doverie-setka {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.doverie-kartochka {
  background: var(--bely);
  border-radius: 28px;
  padding: 28px;
  box-shadow: 0 18px 44px rgba(62, 51, 44, 0.08);
  transition: transform 0.2s, box-shadow 0.2s;
}

.doverie-kartochka:hover {
  transform: translateY(-4px);
  box-shadow: 0 26px 60px rgba(62, 51, 44, 0.13);
}

.doverie-ikonka {
  width: 56px;
  height: 56px;
  border-radius: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
}

.doverie-ikonka svg {
  width: 28px;
  height: 28px;
}

.ikonka-korall  { background: rgba(233, 112, 95, 0.14);  color: var(--korall); }
.ikonka-biryuza { background: rgba(63, 169, 160, 0.14);  color: var(--biryuza); }
.ikonka-zhyolty { background: rgba(245, 194, 75, 0.2);   color: #c9992a; }

.doverie-kartochka h3 {
  font-size: 19px;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 10px;
  overflow-wrap: break-word;
  hyphens: auto;
}

.doverie-kartochka p {
  font-size: 15.5px;
  line-height: 1.55;
  opacity: 0.85;
}

.doverie-zvonok {
  margin-top: 56px;
  text-align: center;
}

.doverie-zvonok p {
  font-size: 19px;
  font-weight: 600;
  margin-bottom: 18px;
}

.logoped {
  padding: 72px 24px 96px;
  background: var(--myata);
  scroll-margin-top: 96px;
}

.logoped-vnutri {
  max-width: 1240px;
  margin: 0 auto;
}

.logoped-podzagolovok {
  text-align: center;
  font-size: 18px;
  opacity: 0.8;
  margin-bottom: 48px;
}

.logoped-panel {
  display: grid;
  grid-template-columns: 1.55fr 1fr;
  gap: 40px;
  background: var(--bely);
  border-radius: 28px;
  padding: 40px;
  box-shadow: 0 18px 44px rgba(62, 51, 44, 0.08);
}

.logoped-vstuplenie {
  font-size: 17px;
  line-height: 1.6;
}

.logoped-spisok-zagolovok {
  font-size: 15.5px;
  font-weight: 700;
  margin-top: 22px;
  margin-bottom: 12px;
}

.logoped-spisok {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 24px;
}

.logoped-spisok li {
  background: rgba(63, 169, 160, 0.14);
  color: #2d7a73;
  font-size: 14.5px;
  font-weight: 600;
  padding: 8px 15px;
  border-radius: 999px;
}

.logoped-stroka {
  font-size: 14.5px;
  opacity: 0.75;
}

.logoped-diagnostika {
  margin-top: 22px;
  border: 2px solid rgba(63, 169, 160, 0.35);
  border-radius: 18px;
  padding: 20px 22px;
}

.diagnostika-zagolovok {
  font-size: 16.5px;
  font-weight: 700;
  color: #2d7a73;
  margin-bottom: 8px;
}

.diagnostika-tekst {
  font-size: 15.5px;
  line-height: 1.55;
}

.diagnostika-cena {
  font-size: 24px;
  font-weight: 800;
  margin-top: 12px;
  display: flex;
  align-items: baseline;
  gap: 10px;
}

.logoped-cena {
  background: var(--krem);
  border-radius: 20px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.logoped-cena-summa {
  font-size: 32px;
  font-weight: 800;
  line-height: 1.15;
}

.logoped-cena-poyasnenie {
  font-size: 16px;
  line-height: 1.5;
  margin-top: 6px;
}

.logoped-matkapital {
  background: rgba(245, 194, 75, 0.25);
  font-size: 14px;
  font-weight: 600;
  padding: 7px 14px;
  border-radius: 999px;
  margin-top: 16px;
}

.logoped-prizyv {
  font-size: 15.5px;
  line-height: 1.55;
  margin-top: 18px;
  margin-bottom: 20px;
}

.logoped-cena .knopka {
  align-self: stretch;
  text-align: center;
}

.podgotovka {
  padding: 72px 24px 96px;
  scroll-margin-top: 96px;
}

.podgotovka-vnutri {
  max-width: 1240px;
  margin: 0 auto;
}

.podgotovka-podzagolovok {
  text-align: center;
  font-size: 18px;
  opacity: 0.8;
  margin-bottom: 48px;
}

.podgotovka-setka {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.podgotovka-kartochka {
  background: var(--bely);
  border-radius: 28px;
  padding: 28px;
  box-shadow: 0 18px 44px rgba(62, 51, 44, 0.08);
}

.podgotovka-metka {
  display: inline-block;
  font-size: 13.5px;
  font-weight: 700;
  padding: 7px 14px;
  border-radius: 999px;
}

.metka-vecher {
  background: rgba(63, 169, 160, 0.14);
  color: #2d7a73;
}

.metka-utro {
  background: rgba(245, 194, 75, 0.25);
  color: #8a6a15;
}

.podgotovka-kartochka h3 {
  font-size: 21px;
  font-weight: 700;
  margin: 14px 0 10px;
}

.podgotovka-kartochka p {
  font-size: 15.5px;
  line-height: 1.55;
  opacity: 0.85;
}

.podgotovka-cena {
  font-size: 24px;
  font-weight: 800;
  margin-top: 14px;
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px;
}

.podgotovka-cena .cena-podpis {
  font-size: 14px;
  font-weight: 500;
  opacity: 0.75;
}

.podgotovka-zvonok {
  margin-top: 40px;
  text-align: center;
}

.podgotovka-zvonok p {
  font-size: 17px;
  font-weight: 600;
  margin-bottom: 18px;
  opacity: 0.95;
}

.kursy {
  padding: 72px 24px 88px;
  background: var(--persik);
  scroll-margin-top: 96px;
}

.kursy-vnutri {
  max-width: 1240px;
  margin: 0 auto;
}

.kursy-podzagolovok {
  text-align: center;
  font-size: 18px;
  opacity: 0.8;
  margin-bottom: 48px;
}

.kursy-setka {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px;
}

.kurs-kartochka[id] {
  scroll-margin-top: 96px;
}

@media (max-width: 900px) {
  .kurs-kartochka[id] {
    scroll-margin-top: 150px;
  }
}

.kurs-kartochka {
  width: calc((100% - 48px) / 3);
  min-width: 260px;
  background: var(--bely);
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 18px 44px rgba(62, 51, 44, 0.08);
  display: flex;
  flex-direction: column;
  transition: transform 0.2s, box-shadow 0.2s;
}

.kurs-kartochka:hover {
  transform: translateY(-4px);
  box-shadow: 0 26px 60px rgba(62, 51, 44, 0.13);
}

.kurs-foto {
  width: 100%;
  height: 300px;
  object-fit: cover;
}

.kurs-foto-levee {
  object-position: 25% 50%;
}

.kurs-foto-vyshe {
  object-position: 50% 12%;
}

.kurs-primechanie-vnutri {
  font-size: 13.5px;
  line-height: 1.5;
  opacity: 0.75;
  margin-bottom: 14px;
}

.kurs-telo {
  padding: 20px 22px 22px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.kurs-metki {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}

.kurs-metka {
  font-size: 13px;
  font-weight: 600;
  padding: 5px 12px;
  border-radius: 999px;
  background: rgba(62, 51, 44, 0.07);
}

.metka-vozrast {
  background: rgba(63, 169, 160, 0.15);
  color: #24625c;
}

.kurs-kartochka h3 {
  font-size: 21px;
  font-weight: 800;
  margin-bottom: 8px;
}

.kurs-opisanie {
  font-size: 15px;
  line-height: 1.55;
  opacity: 0.85;
  margin-bottom: 14px;
}

.kurs-stupeni {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}

.stupen {
  font-size: 13px;
  font-weight: 700;
  padding: 5px 12px;
  border-radius: 999px;
  background: rgba(245, 194, 75, 0.25);
  color: #8a6410;
}

.kurs-niz {
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.kurs-cena {
  font-size: 22px;
  font-weight: 800;
  color: var(--korall-knopka);
  white-space: nowrap;
  line-height: 1.15;
}

.cena-podpis {
  display: block;
  font-size: 12.5px;
  font-weight: 600;
  opacity: 0.7;
  color: var(--tekst);
}

.pervyj-adres {
  color: rgba(255, 255, 255, 0.88);
  font-size: 16px;
  max-width: 480px;
  margin-top: -22px;
  margin-bottom: 30px;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.35);
}

.fakty {
  padding: 8px 24px 88px;
}

.fakty h2 {
  font-size: 28px;
  font-weight: 800;
  text-align: center;
  margin-bottom: 32px;
}

.doverie .doverie-setka {
  grid-template-columns: repeat(3, 1fr);
}

.fakty .doverie-setka {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.fakty .doverie-kartochka {
  width: calc((100% - 48px) / 3);
  min-width: 260px;
}

.kurs-knopka {
  text-decoration: none;
  font-size: 14.5px;
  font-weight: 700;
  color: var(--bely);
  background: #2d7a73;
  padding: 11px 18px;
  border-radius: 999px;
  text-align: center;
  transition: background 0.2s, transform 0.15s;
}

.kurs-knopka:hover {
  background: #24625c;
  transform: translateY(-1px);
}

.kursy-primechanie {
  text-align: center;
  font-size: 14px;
  opacity: 0.8;
  margin-top: 32px;
}

.pedagogi {
  padding: 88px 24px 96px;
  background: var(--bely);
  border-radius: 48px 48px 0 0;
  scroll-margin-top: 96px;
}

.pedagogi-vnutri {
  max-width: 1240px;
  margin: 0 auto;
}

.pedagogi-podzagolovok {
  text-align: center;
  font-size: 18px;
  opacity: 0.8;
  margin-bottom: 48px;
}

.pedagogi-setka {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px;
}

.pedagog-kartochka {
  width: calc((100% - 48px) / 3);
  min-width: 260px;
  background: var(--krem);
  border-radius: 28px;
  padding: 32px 28px 28px;
  text-align: center;
  transition: transform 0.2s, box-shadow 0.2s;
}

.pedagog-kartochka:hover {
  transform: translateY(-4px);
  box-shadow: 0 26px 60px rgba(62, 51, 44, 0.13);
}

.pedagog-foto {
  width: 210px;
  height: 230px;
  border-radius: 32px;
  object-fit: cover;
  object-position: 50% 18%;
  margin: 0 auto 18px;
  border: 4px solid var(--bely);
  box-shadow: 0 6px 18px rgba(62, 51, 44, 0.15);
}

.pedagog-kartochka h3 {
  font-size: 20px;
  font-weight: 800;
  line-height: 1.25;
  margin-bottom: 6px;
}

.pedagog-dolzhnost {
  font-size: 14.5px;
  font-weight: 600;
  color: #2d7a73;
  margin-bottom: 14px;
}

.pedagog-regalii {
  list-style: none;
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.pedagog-regalii li {
  font-size: 14.5px;
  line-height: 1.45;
  opacity: 0.85;
  padding-left: 22px;
  position: relative;
}

.pedagog-regalii li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--zhyolty);
}

.citata {
  max-width: 720px;
  margin: 56px auto 0;
  text-align: center;
  position: relative;
  padding: 36px 28px 28px;
  background: var(--krem);
  border-radius: 28px;
}

.citata-kavychki {
  width: 44px;
  height: 44px;
  color: var(--korall);
  position: absolute;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--bely);
  border-radius: 50%;
  padding: 8px;
  box-shadow: 0 4px 14px rgba(62, 51, 44, 0.12);
}

.citata p {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.4;
  font-style: italic;
  margin-bottom: 12px;
}

.citata cite {
  font-style: normal;
  font-size: 15px;
  opacity: 0.75;
}

.galereya {
  padding: 88px 24px 96px;
  background: var(--bely);
  scroll-margin-top: 96px;
}

.galereya-vnutri {
  max-width: 1240px;
  margin: 0 auto;
}

.galereya-podzagolovok {
  text-align: center;
  font-size: 18px;
  opacity: 0.8;
  margin-bottom: 48px;
}

.otzyvy {
  padding: 88px 24px 96px;
  background: var(--krem);
  scroll-margin-top: 96px;
}

.otzyvy-vnutri {
  max-width: 1240px;
  margin: 0 auto;
}

.otzyvy-podzagolovok {
  text-align: center;
  font-size: 18px;
  opacity: 0.8;
  margin-bottom: 48px;
}

.otzyvy-setka {
  columns: 3;
  column-gap: 20px;
}

.otzyv {
  background: var(--bely);
  border-radius: 20px;
  padding: 28px 26px 24px;
  box-shadow: 0 3px 14px rgba(62, 51, 44, 0.07);
  position: relative;
  break-inside: avoid;
  margin-bottom: 20px;
}

.otzyv-kavychki {
  display: block;
  width: 26px;
  height: 26px;
  color: var(--zhyolty);
  margin-bottom: 12px;
}

.otzyv blockquote {
  font-size: 17px;
  line-height: 1.65;
}

.otzyv figcaption {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid rgba(62, 51, 44, 0.12);
  font-weight: 700;
  color: var(--korall-knopka);
}

.otzyv-podpis {
  display: block;
  font-weight: 400;
  font-size: 14px;
  color: var(--tekst);
  opacity: 0.65;
  margin-top: 2px;
}

.otzyvy-zvonok {
  margin-top: 48px;
  text-align: center;
}

.otzyvy-zvonok p {
  font-size: 19px;
  font-weight: 600;
  margin-bottom: 18px;
}

.galereya-setka {
  columns: 2;
  column-gap: 20px;
}

.galereya-setka picture {
  display: inline-block;
  width: 100%;
  margin-bottom: 20px;
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
}

.galereya-foto {
  width: 100%;
  height: auto;
  border-radius: 20px;
  box-shadow: 0 6px 24px rgba(62, 51, 44, 0.1);
  transition: transform 0.2s;
}

.galereya-foto:hover {
  transform: scale(1.02);
}

.zapis {
  padding: 88px 24px 96px;
  background: var(--myata);
  border-radius: 48px 48px 0 0;
  margin-top: -48px;
  scroll-margin-top: 96px;
}

.zapis-vnutri {
  max-width: 1240px;
  margin: 0 auto;
}

.zapis-podzagolovok {
  text-align: center;
  font-size: 18px;
  opacity: 0.8;
  margin-bottom: 48px;
}

.zapis-shagi {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.shag {
  background: var(--bely);
  border-radius: 28px;
  padding: 28px;
  text-align: center;
  box-shadow: 0 18px 44px rgba(62, 51, 44, 0.08);
}

.shag-nomer {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  font-size: 24px;
  font-weight: 800;
  color: var(--bely);
  margin-bottom: 16px;
}

.nomer-korall  { background: var(--korall); }
.nomer-biryuza { background: #35908A; }
.nomer-zhyolty { background: var(--zhyolty); color: var(--tekst); }

.shag h3 {
  font-size: 19px;
  font-weight: 700;
  margin-bottom: 8px;
}

.shag p {
  font-size: 15px;
  line-height: 1.55;
  opacity: 0.85;
}

.zapis-zvonok {
  margin-top: 44px;
  text-align: center;
}

.pervoe-zanyatie {
  max-width: 820px;
  margin: 44px auto 0;
  background: var(--bely);
  border-radius: 28px;
  padding: 32px 32px 28px;
  box-shadow: 0 18px 44px rgba(62, 51, 44, 0.08);
}

.pervoe-zanyatie h3 {
  font-size: 22px;
  font-weight: 800;
  margin-bottom: 14px;
}

.pervoe-zanyatie p {
  font-size: 16px;
  line-height: 1.6;
  opacity: 0.9;
  margin-bottom: 12px;
}

.pervoe-zanyatie p:last-child {
  margin-bottom: 0;
}

.voprosy {
  padding: 8px 24px 96px;
  background: var(--myata);
  scroll-margin-top: 96px;
}

.voprosy-vnutri {
  max-width: 820px;
  margin: 0 auto;
}

.voprosy-podzagolovok {
  text-align: center;
  font-size: 18px;
  opacity: 0.8;
  margin-bottom: 40px;
}

.vopros {
  background: var(--bely);
  border-radius: 20px;
  padding: 4px 24px;
  margin-bottom: 14px;
  box-shadow: 0 4px 16px rgba(62, 51, 44, 0.06);
}

.vopros summary {
  cursor: pointer;
  list-style: none;
  font-size: 17.5px;
  font-weight: 700;
  padding: 18px 34px 18px 0;
  position: relative;
}

.vopros summary::-webkit-details-marker {
  display: none;
}

.vopros summary::after {
  content: "";
  position: absolute;
  right: 4px;
  top: 50%;
  width: 14px;
  height: 14px;
  margin-top: -7px;
  background:
    linear-gradient(var(--korall-knopka), var(--korall-knopka)) center/14px 2.5px no-repeat,
    linear-gradient(var(--korall-knopka), var(--korall-knopka)) center/2.5px 14px no-repeat;
  transition: transform 0.2s;
}

.vopros[open] summary::after {
  background:
    linear-gradient(var(--korall-knopka), var(--korall-knopka)) center/14px 2.5px no-repeat;
  transform: rotate(180deg);
}

.vopros p {
  font-size: 16px;
  line-height: 1.6;
  opacity: 0.9;
  padding-bottom: 20px;
  max-width: 700px;
}

.voprosy-zvonok {
  margin-top: 36px;
  text-align: center;
}

.voprosy-zvonok p {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 16px;
}

.kontakty {
  padding: 8px 24px 96px;
  background: var(--myata);
  scroll-margin-top: 96px;
}

.kontakty-vnutri {
  max-width: 900px;
  margin: 0 auto;
}

.kontakty h2 {
  margin-bottom: 40px;
}

.kontakty-kartochka {
  background: var(--bely);
  border-radius: 28px;
  padding: 36px;
  box-shadow: 0 18px 44px rgba(62, 51, 44, 0.08);
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.kontakt-stroka {
  display: flex;
  gap: 18px;
  align-items: flex-start;
}

.kontakt-znachok {
  flex-shrink: 0;
  width: 52px;
  height: 52px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.kontakt-znachok svg {
  width: 26px;
  height: 26px;
}

.znachok-korall  { background: rgba(233, 112, 95, 0.14);  color: var(--korall); }
.znachok-biryuza { background: rgba(63, 169, 160, 0.14);  color: var(--biryuza); }
.znachok-zhyolty { background: rgba(245, 194, 75, 0.2);   color: #c9992a; }

.kontakt-zagolovok {
  font-size: 17px;
  font-weight: 700;
  margin-bottom: 4px;
}

.kontakt-stroka p {
  font-size: 15.5px;
  line-height: 1.5;
}

.kontakt-telefon {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 4px 2px;
  color: var(--tekst);
  font-size: 18px;
  font-weight: 700;
  text-decoration: none;
}

.kontakt-telefon:hover {
  color: var(--korall);
}

.kontakt-chasy {
  margin-top: 6px;
  font-size: 14.5px;
  opacity: 0.8;
}

.kontakt-ssylka {
  display: inline-block;
  margin-top: 8px;
  font-size: 14.5px;
  font-weight: 700;
  color: #2d7a73;
  text-decoration: none;
  border-bottom: 2px solid rgba(63, 169, 160, 0.35);
  transition: color 0.2s, border-color 0.2s;
}

.kontakt-ssylka:hover {
  color: #2d7a73;
  border-bottom-color: #2d7a73;
}

.knopka-vk {
  display: inline-block;
  margin-top: 12px;
  text-decoration: none;
  font-size: 14.5px;
  font-weight: 700;
  color: var(--bely);
  background: #2d7a73;
  padding: 11px 18px;
  border-radius: 999px;
  transition: background 0.2s, transform 0.15s;
}

.knopka-vk:hover {
  background: #24625c;
  transform: translateY(-1px);
}

.podval {
  background: var(--tekst);
  color: rgba(251, 243, 228, 0.85);
  text-align: center;
  padding: 28px 24px;
  font-size: 14px;
  line-height: 1.6;
}

.podval-rekvizity {
  margin-top: 8px;
  font-size: 12.5px;
  line-height: 1.7;
  opacity: 0.75;
}

.podval-znak {
  font-size: 0.7em;
  vertical-align: super;
  margin-left: 1px;
}

.podval-politika {
  margin-top: 12px;
  font-size: 13px;
}

.podval-politika a {
  color: #fbf3e4;
  opacity: 0.8;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.podval-politika a:hover {
  opacity: 1;
}

.podval-slogan {
  margin-top: 10px;
  font-weight: 700;
  color: var(--zhyolty);
}

.poyavlenie {
  opacity: 0;
  transform: translateY(26px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}

.poyavlenie.vidno {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: no-preference) {
  .pervyj-vnutri h1,
  .pervyj-plashki,
  .pervyj-opisanie,
  .pervyj-knopki,
  .pervyj-vozrast {
    animation: vsplytie 0.8s ease both;
  }

  .pervyj-plashki  { animation-delay: 0.12s; }
  .pervyj-opisanie { animation-delay: 0.24s; }
  .pervyj-knopki   { animation-delay: 0.36s; }
  .pervyj-vozrast  { animation-delay: 0.48s; }
}

@keyframes vsplytie {
  from {
    opacity: 0;
    transform: translateY(24px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

.mobilnyj-zvonok {
  display: none;
  transition: opacity 0.25s, transform 0.25s;
}

.mobilnyj-zvonok.skryta {
  opacity: 0;
  transform: translateY(120%);
  pointer-events: none;
}

@media (max-width: 900px) {
  .shapka-vnutri {
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 10px 12px;
    padding: 8px 16px 10px;
  }

  .menyu {
    order: 3;
    width: 100%;
    margin-left: 0;
    gap: 8px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .menyu::-webkit-scrollbar {
    display: none;
  }

  .menyu a {
    flex-shrink: 0;
    font-size: 14px;
    font-weight: 600;
    padding: 11px 14px;
    border-radius: 999px;
    border-bottom: none;
    background: rgba(62, 51, 44, 0.07);
  }

  .menyu a:hover {
    border-bottom: none;
  }

  .pervyj-ekran {
    min-height: calc(100vh - 138px);
    min-height: calc(100svh - 138px);
    align-items: flex-end;
    border-radius: 0 0 32px 32px;
  }

  .pervyj-fon {
    object-position: 47% 30%;
    transform: none;
  }

  .pervyj-zatemnenie {
    background:
      linear-gradient(0deg,
        rgba(46, 30, 20, 0.85) 0%,
        rgba(46, 30, 20, 0.45) 45%,
        rgba(46, 30, 20, 0.15) 75%),
      linear-gradient(90deg,
        rgba(46, 30, 20, 0.35) 0%,
        rgba(46, 30, 20, 0.1) 100%);
  }

  .pervyj-vnutri {
    align-self: flex-end;
    padding: 130px 20px 125px;
  }

  .pervyj-vnutri h1 {
    font-size: 31px;
  }

  .pervyj-opisanie {
    font-size: 17px;
    margin-bottom: 24px;
  }

  .pervyj-plashki li {
    font-size: 13px;
    padding: 6px 12px;
  }

  .pervyj-knopki {
    margin-bottom: 28px;
  }

  .pervyj-knopki .knopka {
    flex: 1 1 auto;
    text-align: center;
    padding: 15px 24px;
  }

  .vozrast-podpis {
    width: 100%;
  }

  .vozrast-chip {
    font-size: 13px;
    padding: 6px 12px;
  }

  .doverie {
    padding: 56px 20px 64px;
  }

  .doverie h2 {
    font-size: 27px;
  }

  .doverie-podzagolovok {
    font-size: 16px;
    margin-bottom: 32px;
  }

  .doverie-setka,
  .doverie .doverie-setka {
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 16px;
  }

  .fakty {
    padding: 8px 20px 56px;
  }

  .fakty h2 {
    font-size: 23px;
    margin-bottom: 24px;
  }

  .fakty .doverie-kartochka {
    width: 100%;
    min-width: 0;
  }

  .fakty .doverie-setka {
    gap: 16px;
  }

  .pervyj-adres {
    font-size: 14.5px;
    margin-top: -16px;
    margin-bottom: 22px;
  }

  .shapka-chasy {
    font-size: 11px;
    line-height: 1.2;
    white-space: nowrap;
  }

  .doverie-kartochka {
    padding: 22px;
  }

  .doverie-zvonok {
    margin-top: 40px;
    margin-bottom: 60px;
  }

  .doverie-zvonok .knopka {
    display: block;
    text-align: center;
    font-size: 16px;
    padding: 15px 10px;
    white-space: nowrap;
  }

  .pervyj-knopki .knopka-korall {
    font-size: 16px;
    padding: 15px 16px;
    white-space: nowrap;
  }

  .pervyj-podpis {
    font-size: 13.5px;
    margin-top: -14px;
    margin-bottom: 26px;
  }

  .logoped {
    padding: 48px 20px 64px;
  }

  .logoped h2 {
    font-size: 27px;
  }

  .logoped-podzagolovok {
    font-size: 16px;
    margin-bottom: 32px;
  }

  .logoped-panel {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 24px 20px;
  }

  .logoped-cena-summa {
    font-size: 28px;
  }

  .logoped-diagnostika {
    padding: 18px;
  }

  .diagnostika-cena {
    font-size: 22px;
  }

  .logoped-cena .knopka {
    font-size: 16px;
    padding: 15px 10px;
  }

  .podgotovka {
    padding: 48px 20px 64px;
  }

  .podgotovka h2 {
    font-size: 27px;
  }

  .podgotovka-podzagolovok {
    font-size: 16px;
    margin-bottom: 32px;
  }

  .podgotovka-setka {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .podgotovka-kartochka {
    padding: 22px;
  }

  .podgotovka-zvonok .knopka {
    display: block;
    text-align: center;
    font-size: 16px;
    padding: 15px 10px;
    white-space: nowrap;
  }

  .kursy {
    padding: 48px 20px 56px;
  }

  .kursy h2 {
    font-size: 27px;
  }

  .kursy-podzagolovok {
    font-size: 16px;
    margin-bottom: 32px;
  }

  .kursy-setka {
    gap: 16px;
  }

  .kurs-kartochka {
    width: 100%;
    min-width: 0;
  }

  .kurs-foto {
    height: 180px;
  }

  .pedagogi,
  .galereya,
  .zapis {
    padding: 56px 20px 64px;
  }

  .pedagogi,
  .zapis {
    border-radius: 32px 32px 0 0;
  }

  .pedagogi h2,
  .galereya h2,
  .zapis h2,
  .voprosy h2,
  .kontakty h2 {
    font-size: 27px;
  }

  .pedagogi-podzagolovok,
  .galereya-podzagolovok,
  .otzyvy-podzagolovok,
  .zapis-podzagolovok {
    font-size: 16px;
    margin-bottom: 32px;
  }

  .otzyvy {
    padding: 56px 16px 64px;
  }

  .otzyvy-setka {
    columns: 1;
    column-gap: 14px;
  }

  .otzyv {
    padding: 22px 20px 20px;
    margin-bottom: 14px;
  }

  .otzyv blockquote {
    font-size: 16px;
  }

  .pedagogi-setka {
    gap: 16px;
  }

  .pedagog-kartochka {
    width: 100%;
    min-width: 0;
    padding: 26px 22px 22px;
  }

  .citata {
    margin-top: 48px;
    padding: 32px 22px 24px;
  }

  .citata p {
    font-size: 19px;
  }

  .galereya-setka {
    columns: 1;
  }

  .galereya-setka picture {
    margin-bottom: 14px;
  }

  .zapis {
    margin-top: -32px;
  }

  .zapis-shagi {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .zapis-zvonok {
    margin-top: 32px;
  }

  .zapis-zvonok .knopka {
    display: block;
    text-align: center;
    font-size: 16px;
    padding: 15px 10px;
    white-space: nowrap;
  }

  .doverie,
  .logoped,
  .podgotovka,
  .kursy,
  .pedagogi,
  .galereya,
  .otzyvy,
  .zapis,
  .voprosy,
  .kontakty {
    scroll-margin-top: 150px;
  }

  .pervoe-zanyatie {
    margin-top: 32px;
    padding: 24px 20px 20px;
    border-radius: 20px;
  }

  .pervoe-zanyatie h3 {
    font-size: 19px;
  }

  .voprosy {
    padding: 8px 20px 64px;
  }

  .voprosy-podzagolovok {
    font-size: 16px;
    margin-bottom: 28px;
  }

  .vopros {
    padding: 2px 18px;
  }

  .vopros summary {
    font-size: 16.5px;
    padding: 16px 30px 16px 0;
  }

  .voprosy-zvonok .knopka {
    display: block;
    text-align: center;
    font-size: 16px;
    padding: 15px 10px;
    white-space: nowrap;
  }

  .kontakty {
    padding: 8px 20px 64px;
  }

  .kontakty-kartochka {
    padding: 24px 20px;
    gap: 22px;
  }

  .podval {
    padding-bottom: 96px;
  }

  .mobilnyj-zvonok {
    display: block;
    position: fixed;
    left: 16px;
    right: 16px;
    bottom: calc(16px + env(safe-area-inset-bottom));
    z-index: 100;
    text-align: center;
    text-decoration: none;
    background: var(--korall-knopka);
    color: var(--bely);
    font-size: 19px;
    font-weight: 800;
    padding: 16px;
    border-radius: 999px;
    box-shadow: 0 8px 24px rgba(233, 112, 95, 0.5);
  }
}

@media (hover: none) {
  .doverie-kartochka:hover,
  .kurs-kartochka:hover,
  .pedagog-kartochka:hover,
  .knopka:hover,
  .shapka-telefon:hover,
  .kurs-knopka:hover {
    transform: none;
    box-shadow: none;
  }

  .doverie-kartochka:hover,
  .kurs-kartochka:hover {
    box-shadow: 0 18px 44px rgba(62, 51, 44, 0.08);
  }

  .galereya-foto:hover {
    transform: none;
  }

  .shapka-telefon:hover {
    background: var(--korall-knopka);
    box-shadow: 0 4px 14px rgba(233, 112, 95, 0.35);
  }

  .kurs-knopka:hover {
    background: #2d7a73;
  }

  .knopka-korall:hover {
    background: var(--korall-knopka);
    box-shadow: 0 6px 20px rgba(233, 112, 95, 0.5);
  }

  .knopka-svetlaya:hover {
    background: rgba(251, 243, 228, 0.14);
    color: var(--bely);
  }
}

@media (max-width: 480px) {
  .shapka-telefon {
    font-size: 15px;
    padding: 11px 14px;
  }

  .shapka-chasy {
    font-size: 10.5px;
    white-space: nowrap;
    text-align: center;
    letter-spacing: -0.1px;
  }

  .logo-imya {
    font-size: 19px;
  }
}

@media (min-width: 600px) and (max-width: 900px) {
  .otzyvy-setka {
    columns: 2;
    column-gap: 16px;
  }

  .otzyv {
    margin-bottom: 16px;
  }

  .pedagogi-setka {
    gap: 16px;
  }

  .pedagog-kartochka {
    width: calc((100% - 16px) / 2);
  }

  .kursy-setka {
    gap: 16px;
  }

  .kurs-kartochka {
    width: calc((100% - 16px) / 2);
    min-width: 0;
  }

  .kurs-foto {
    height: 240px;
  }

  .galereya-setka {
    columns: 2;
  }

  .podgotovka-setka {
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }
}

.kogda-pora {
  max-width: 860px;
  margin: 0 auto 48px;
  background: var(--bely);
  border-radius: 28px;
  padding: 28px 32px;
  box-shadow: 0 18px 44px rgba(62, 51, 44, 0.08);
}

.kogda-zagolovok {
  font-size: 20px;
  font-weight: 800;
  line-height: 1.35;
  margin-bottom: 16px;
}

.kogda-spisok {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 14px;
}

.kogda-spisok li {
  background: var(--myata);
  color: #24625c;
  font-size: 14.5px;
  font-weight: 600;
  line-height: 1.35;
  padding: 9px 16px;
  border-radius: 999px;
}

.kogda-pora-biryuza .kogda-spisok li {
  background: var(--persik);
  color: #a34331;
}

.kogda-primechanie {
  font-size: 15px;
  line-height: 1.55;
  opacity: 0.8;
}

.stupeni-blok {
  margin-top: 56px;
}

.stupeni-zagolovok {
  font-size: 26px;
  font-weight: 800;
  text-align: center;
  margin-bottom: 10px;
}

.stupeni-podpis {
  text-align: center;
  font-size: 16px;
  opacity: 0.8;
  max-width: 640px;
  margin: 0 auto 40px;
}

.stupeni-setka {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  align-items: end;
  counter-reset: stupen;
}

.stupen-kartochka {
  position: relative;
  background: var(--bely);
  border-radius: 28px;
  padding: 26px 26px 24px;
  box-shadow: 0 18px 44px rgba(62, 51, 44, 0.08);
  counter-increment: stupen;
}

.stupen-2 { margin-bottom: 26px; }
.stupen-3 { margin-bottom: 52px; }

.stupen-kartochka::before {
  content: counter(stupen);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  font-size: 20px;
  font-weight: 800;
  color: var(--bely);
  margin-bottom: 14px;
}

.stupen-1::before { background: var(--zhyolty); color: var(--tekst); }
.stupen-2::before { background: #35908A; }
.stupen-3::before { background: var(--korall); }

.stupen-vozrast {
  position: absolute;
  top: 26px;
  right: 24px;
  font-size: 13.5px;
  font-weight: 700;
  padding: 6px 13px;
  border-radius: 999px;
  background: var(--myata);
  color: #24625c;
}

.stupen-imya {
  font-size: 21px;
  font-weight: 800;
  margin-bottom: 12px;
}

.stupen-spisok {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 18px;
}

.stupen-spisok li {
  font-size: 14.5px;
  line-height: 1.5;
  opacity: 0.85;
  padding-left: 20px;
  position: relative;
}

.stupen-spisok li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--biryuza);
}

.stupen-poloska {
  display: block;
  height: 10px;
  border-radius: 999px;
  background: rgba(62, 51, 44, 0.08);
  overflow: hidden;
}

.stupen-zapolnenie {
  display: block;
  height: 100%;
  border-radius: 999px;
}

.stupen-1 .stupen-zapolnenie { width: 33%; background: var(--zhyolty); }
.stupen-2 .stupen-zapolnenie { width: 66%; background: var(--biryuza); }
.stupen-3 .stupen-zapolnenie { width: 100%; background: var(--korall); }

.stupen-vzlyot {
  max-width: 860px;
  margin: 30px auto 0;
  background: rgba(245, 194, 75, 0.22);
  border-radius: 20px;
  padding: 18px 24px;
}

.stupen-vzlyot p {
  font-size: 15.5px;
  line-height: 1.55;
}

.nesad {
  padding: 72px 24px 88px;
  scroll-margin-top: 96px;
}

.nesad-vnutri {
  max-width: 1240px;
  margin: 0 auto;
}

.nesad h2 {
  font-size: 36px;
  font-weight: 800;
  text-align: center;
  margin-bottom: 40px;
}

.nesad-panel {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 40px;
  background: var(--biryuza-glubokaya);
  color: var(--bely);
  border-radius: 32px;
  padding: 44px;
  box-shadow: 0 26px 60px rgba(46, 123, 117, 0.28);
}

.nesad-panel > * {
  min-width: 0;
}

.nesad-tekst p {
  font-size: 16.5px;
  line-height: 1.65;
  margin-bottom: 16px;
  color: rgba(255, 255, 255, 0.95);
}

.nesad-tekst p:last-child {
  margin-bottom: 0;
}

.lastochki-ceny {
  background: var(--bely);
  color: var(--tekst);
  border-radius: 24px;
  padding: 28px;
  align-self: start;
}

.lastochki-ceny-zagolovok {
  font-size: 18px;
  font-weight: 800;
  margin-bottom: 12px;
}

.lastochki-tablica {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 14px;
}

.lastochki-tablica th,
.lastochki-tablica td {
  font-size: 15.5px;
  line-height: 1.4;
  text-align: left;
  padding: 10px 4px;
  border-bottom: 1px solid rgba(62, 51, 44, 0.12);
}

.lastochki-tablica th {
  font-weight: 600;
}

.lastochki-tablica td {
  text-align: right;
  font-weight: 800;
}

.lastochki-primechanie {
  font-size: 14px;
  line-height: 1.5;
  opacity: 0.8;
  margin-bottom: 18px;
}

.lastochki-ceny .knopka {
  display: block;
  text-align: center;
  font-size: 16px;
  padding: 15px 10px;
  white-space: nowrap;
}

.zapis-svyaz {
  display: grid;
  grid-template-columns: 1.25fr 1fr;
  gap: 24px;
  max-width: 1000px;
  margin: 44px auto 0;
}

.telefon-blok,
.priezd-blok {
  background: var(--bely);
  border-radius: 28px;
  padding: 30px 32px;
  box-shadow: 0 18px 44px rgba(62, 51, 44, 0.08);
}

.telefon-blok p,
.priezd-blok p {
  font-size: 15.5px;
  line-height: 1.6;
  margin-bottom: 12px;
}

.telefon-blok p:last-of-type,
.priezd-blok p:last-child {
  margin-bottom: 0;
}

.telefon-blok-zagolovok,
.priezd-zagolovok {
  font-size: 19px;
  font-weight: 800;
  margin-bottom: 12px;
}

.telefon-blok-nomer {
  margin-bottom: 0;
}

.telefon-blok-nomer a {
  font-size: 28px;
  font-weight: 800;
  color: var(--korall-knopka);
  text-decoration: none;
  white-space: nowrap;
}

.telefon-blok-chasy {
  font-size: 14px;
  opacity: 0.75;
  margin: 2px 0 14px;
}

.telefon-blok .knopka-vk {
  margin-top: 4px;
}

@media (max-width: 900px) {
  .kogda-pora {
    padding: 22px 20px;
    margin-bottom: 32px;
  }

  .kogda-zagolovok {
    font-size: 17.5px;
  }

  .kogda-spisok li {
    font-size: 13.5px;
    padding: 8px 13px;
  }

  .stupeni-blok {
    margin-top: 40px;
  }

  .stupeni-zagolovok {
    font-size: 23px;
  }

  .stupeni-podpis {
    font-size: 15px;
    margin-bottom: 28px;
  }

  .stupeni-setka {
    grid-template-columns: 1fr;
    gap: 16px;
    align-items: stretch;
  }

  .stupen-2,
  .stupen-3 {
    margin-bottom: 0;
  }

  .stupen-kartochka {
    padding: 22px 20px 20px;
  }

  .stupen-vozrast {
    top: 22px;
    right: 18px;
  }

  .stupen-vzlyot {
    margin-top: 20px;
    padding: 16px 18px;
  }

  .nesad {
    padding: 56px 20px 64px;
    scroll-margin-top: 150px;
  }

  .nesad h2 {
    font-size: 27px;
    margin-bottom: 28px;
  }

  .nesad-panel {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 26px 22px;
    border-radius: 28px;
  }

  .nesad-tekst p {
    font-size: 15.5px;
  }

  .lastochki-ceny {
    padding: 22px 20px;
  }

  .lastochki-ceny .knopka {
    white-space: normal;
    font-size: 15px;
    line-height: 1.35;
  }

  .zapis-svyaz {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 32px;
  }

  .telefon-blok,
  .priezd-blok {
    padding: 24px 20px;
  }

  .telefon-blok-nomer a {
    font-size: 24px;
  }
}

.s-dekorom {
  position: relative;
  overflow: hidden;
}

.s-dekorom > div {
  position: relative;
  z-index: 1;
}

.dekor {
  position: absolute;
  z-index: 0;
  pointer-events: none;
}

.dekor svg {
  display: block;
  width: 100%;
  height: auto;
}

.dekor-plyv {
  animation: dekor-plavanie 9s ease-in-out infinite alternate;
}

.dekor-plyv-2 {
  animation: dekor-plavanie 13s ease-in-out -4s infinite alternate;
}

.dekor-plyv-3 {
  animation: dekor-plavanie 7s ease-in-out -2.5s infinite alternate;
}

@keyframes dekor-plavanie {
  from { transform: translateY(-9px) rotate(-4deg); }
  to   { transform: translateY(11px) rotate(5deg); }
}

@media (prefers-reduced-motion: reduce) {
  .dekor-plyv,
  .dekor-plyv-2,
  .dekor-plyv-3 {
    animation: none;
  }
}

@media (max-width: 900px) {
  .dekor-pk {
    display: none;
  }
}

.naklonyaemaya {
  will-change: transform;
}

.kurs-podrobnee {
  display: inline-block;
  margin-top: 2px;
  padding: 13px 0;
  font-size: 15px;
  font-weight: 600;
  color: var(--biryuza-glubokaya);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.kurs-podrobnee:hover {
  color: var(--korall-knopka);
}

.geroj {
  padding: 44px 20px 56px;
}

.geroj-myata { background: linear-gradient(180deg, var(--myata) 0%, var(--moloko) 100%); }
.geroj-persik { background: linear-gradient(180deg, var(--persik) 0%, var(--moloko) 100%); }
.geroj-krem { background: linear-gradient(180deg, var(--krem) 0%, var(--moloko) 100%); }

.geroj-vnutri {
  max-width: 1120px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.08fr 0.92fr;
  gap: 48px;
  align-items: center;
}

.hlebnye-kroshki {
  font-size: 14px;
  margin-bottom: 18px;
  color: rgba(62, 51, 44, 0.75);
}

.hlebnye-kroshki a {
  color: var(--biryuza-glubokaya);
  text-decoration: none;
}

.hlebnye-kroshki a:hover {
  text-decoration: underline;
}

.geroj h1 {
  font-size: 38px;
  line-height: 1.15;
  margin-bottom: 16px;
}

.geroj-lid {
  font-size: 18px;
  line-height: 1.55;
  max-width: 540px;
  margin-bottom: 18px;
}

.geroj-fakty {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 22px;
}

.geroj-fakty li {
  background: var(--bely);
  border-radius: 999px;
  padding: 8px 16px;
  font-size: 14.5px;
  font-weight: 600;
  box-shadow: 0 4px 14px rgba(62, 51, 44, 0.08);
}

.geroj-cena {
  font-size: 26px;
  font-weight: 800;
  margin-bottom: 20px;
}

.geroj-cena .cena-podpis {
  display: block;
  font-size: 14.5px;
  font-weight: 400;
  color: rgba(62, 51, 44, 0.8);
  margin-top: 2px;
}

.geroj-knopki {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 12px;
}

.geroj-podpis {
  font-size: 14.5px;
  color: rgba(62, 51, 44, 0.8);
}

.geroj-foto {
  position: relative;
}

.geroj-foto img {
  width: 100%;
  height: auto;
  border-radius: 28px;
  box-shadow: 0 24px 48px rgba(62, 51, 44, 0.18);
}

.etapy-blok {
  max-width: 820px;
  margin: 0 auto;
}

.etapy {
  list-style: none;
  position: relative;
  padding-left: 30px;
}

.etapy::before {
  content: "";
  position: absolute;
  left: 9px;
  top: 8px;
  bottom: 8px;
  width: 3px;
  border-radius: 3px;
  background: linear-gradient(180deg, var(--korall), var(--zhyolty), var(--biryuza));
}

.etap {
  position: relative;
  padding: 0 0 22px;
}

.etap:last-child {
  padding-bottom: 0;
}

.etap::before {
  content: "";
  position: absolute;
  left: -28px;
  top: 6px;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: var(--bely);
  border: 4px solid var(--korall);
}

.etap:nth-child(2n)::before { border-color: var(--biryuza); }
.etap:nth-child(3n)::before { border-color: var(--zhyolty); }

.etap-zagolovok {
  font-weight: 700;
  margin-bottom: 4px;
}

.etap p {
  font-size: 15.5px;
  line-height: 1.55;
}

.razdel {
  padding: 52px 20px;
}

.razdel-vnutri {
  max-width: 1120px;
  margin: 0 auto;
}

.razdel-uzkiy {
  max-width: 820px;
}

.razdel h2 {
  font-size: 30px;
  margin-bottom: 14px;
}

.razdel-podzagolovok {
  font-size: 17px;
  margin-bottom: 28px;
  max-width: 640px;
}

.fon-myata { background: var(--myata); }
.fon-persik { background: var(--persik); }
.fon-bely { background: var(--bely); }

@media (max-width: 900px) {
  .geroj-vnutri {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .geroj h1 {
    font-size: 29px;
  }

  .geroj-lid {
    font-size: 16.5px;
  }

  .razdel {
    padding: 40px 16px;
  }

  .razdel h2 {
    font-size: 25px;
  }
}

.pervyj-fon-sloj {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.pervyj-dekor {
  position: absolute;
  z-index: 1;
  pointer-events: none;
}

.pervyj-dekor svg {
  display: block;
  width: 100%;
  height: auto;
  filter: drop-shadow(0 4px 14px rgba(0, 0, 0, 0.18));
}

.pervyj-vnutri {
  z-index: 2;
}

.pervyj-dekor-solnce    { top: 7%;  right: 6%;  width: 110px; opacity: .85; }
.pervyj-dekor-oblako    { top: 10%; right: 17%; width: 130px; opacity: .6; }
.pervyj-dekor-bukvy     { top: 46%; right: 8%;  width: 150px; opacity: .9; }
.pervyj-dekor-zvezda    { bottom: 24%; right: 30%; width: 44px; opacity: .8; }
.pervyj-dekor-karandash { bottom: 9%; right: 10%; width: 96px; opacity: .9; }

.pervyj-ekran.obyomnaya {
  will-change: transform;
}

.pervyj-ekran.obyomnaya [data-sloj] {
  will-change: transform;
}

.pervyj-ekran.obyomnaya .pervyj-fon-sloj {
  inset: -20px;
}

@media (max-width: 900px) {
  .pervyj-dekor-oblako,
  .pervyj-dekor-bukvy,
  .pervyj-dekor-zvezda {
    display: none;
  }

  .pervyj-dekor-solnce    { top: 4%; right: 4%; width: 64px; opacity: .7; }
  .pervyj-dekor-karandash { bottom: 6%; right: 5%; width: 56px; opacity: .7; }
}

.karta-blok {
  margin-top: 28px;
  background: var(--bely);
  border-radius: 28px;
  padding: 36px;
  box-shadow: 0 18px 44px rgba(62, 51, 44, 0.08);
}

.karta-zagolovok {
  font-size: 24px;
  font-weight: 800;
  margin-bottom: 20px;
}

.karta-setka {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 28px;
  align-items: center;
}

.karta-shema {
  background: linear-gradient(180deg, #FFFCF6 0%, #FBF3E4 100%);
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid rgba(62, 51, 44, 0.08);
}

.karta-shema svg {
  display: block;
  width: 100%;
  height: auto;
}

.karta-shagi {
  list-style: none;
  counter-reset: shag-karty;
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-bottom: 22px;
}

.karta-shagi li {
  counter-increment: shag-karty;
  position: relative;
  padding-left: 44px;
  font-size: 16px;
  line-height: 1.5;
}

.karta-shagi li::before {
  content: counter(shag-karty);
  position: absolute;
  left: 0;
  top: 0;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--biryuza);
  color: var(--bely);
  font-weight: 800;
  font-size: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.karta-knopki {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 14px;
}

.karta-knopki .knopka {
  font-size: 16px;
  padding: 12px 20px;
}

.karta-podpis {
  font-size: 14.5px;
  opacity: 0.8;
}

.karta-podpis a {
  color: var(--korall);
  font-weight: 700;
  text-decoration: none;
}

@media (max-width: 900px) {
  .karta-blok {
    padding: 22px;
  }

  .karta-setka {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .karta-knopki .knopka {
    width: 100%;
    text-align: center;
  }
}

.nedelya-setka {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
  margin-bottom: 24px;
}

.den-kartochka {
  background: var(--bely);
  border-radius: 20px;
  padding: 20px 18px;
  box-shadow: 0 12px 30px rgba(62, 51, 44, 0.07);
}

.den-imya {
  font-weight: 800;
  font-size: 17px;
  margin-bottom: 12px;
  padding-bottom: 10px;
  border-bottom: 3px solid var(--biryuza);
}

.den-1 .den-imya { border-color: var(--korall); }
.den-2 .den-imya { border-color: var(--biryuza); }
.den-3 .den-imya { border-color: var(--zhyolty); }
.den-4 .den-imya { border-color: var(--korall); }
.den-5 .den-imya { border-color: var(--biryuza); }

.den-spisok {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.den-spisok li {
  position: relative;
  padding-left: 18px;
  font-size: 15px;
  line-height: 1.4;
}

.den-spisok li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--zhyolty);
}

.nedelya-podpis {
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
  font-size: 15.5px;
  opacity: 0.85;
}

@media (max-width: 900px) {
  .nedelya-setka {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 480px) {
  .nedelya-setka {
    grid-template-columns: 1fr;
  }
}

.lestnica {
  display: flex;
  flex-direction: column;
  gap: 26px;
  margin-bottom: 26px;
}

.lestnica-stupen {
  background: var(--bely);
  border-radius: 24px;
  padding: 30px;
  box-shadow: 0 14px 36px rgba(62, 51, 44, 0.07);
}

.lestnica-shapka {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin-bottom: 14px;
}

.lestnica-shapka .stupen-imya {
  margin: 0;
}

.lestnica-shapka .stupen-vozrast {
  position: static;
}

.lestnica-shapka .stupen-poloska {
  flex: 1 1 160px;
  min-width: 140px;
  margin-left: auto;
}

.zapolnenie-14  { width: 14%;  background: var(--biryuza); }
.zapolnenie-38  { width: 38%;  background: var(--zhyolty); }
.zapolnenie-66  { width: 66%;  background: var(--biryuza); }
.zapolnenie-100 { width: 100%; background: var(--korall); }

.lestnica-opisanie {
  font-size: 16.5px;
  line-height: 1.55;
  max-width: 820px;
  margin-bottom: 18px;
}

.lestnica-ssylka {
  margin: 0;
}

.predmety-setka {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 14px;
}

.predmet-kartochka {
  background: var(--krem);
  border-radius: 16px;
  padding: 18px;
}

.predmet-imya {
  font-weight: 800;
  font-size: 16px;
  margin-bottom: 8px;
  color: var(--korall);
}

.predmet-kartochka p:last-child {
  font-size: 14.5px;
  line-height: 1.55;
  margin: 0;
}

@media (max-width: 900px) {
  .lestnica-stupen {
    padding: 20px;
  }

  .predmety-setka {
    grid-template-columns: 1fr;
  }
}

.stupen-tetradi {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--biryuza-glubokaya);
  margin: 10px 0 12px;
}

.stupeni-ssylka {
  text-align: center;
  margin-top: 22px;
}

.karta-knopki .knopka-svetlaya {
  background: var(--krem);
  border-color: rgba(62, 51, 44, 0.3);
  color: var(--tekst);
}

.karta-knopki .knopka-svetlaya:hover {
  background: var(--bely);
  border-color: var(--biryuza);
  color: var(--tekst);
}

.oblozhki-lenta {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 16px;
  padding: 8px 2px 12px;
}

.oblozhki-lenta figure {
  margin: 0;
}

.oblozhki-lenta img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 10px;
  box-shadow: 0 6px 18px rgba(62, 51, 44, 0.2);
  background: var(--bely);
}

.oblozhki-lenta figcaption {
  font-size: 13.5px;
  line-height: 1.35;
  color: var(--tekst-myagkiy, #6b5d52);
  margin-top: 7px;
}

.oblozhki-podpis {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--biryuza-glubokaya);
  margin: 14px 0 4px;
}

.lestnica-vstuplenie {
  display: flex;
  align-items: flex-start;
  gap: 26px;
}

.lestnica-vstuplenie .stupeni-podpis {
  flex: 1 1 auto;
}

.lestnica-darinka {
  flex: 0 0 auto;
  width: 120px;
  margin: 0;
}

.lestnica-darinka img {
  display: block;
  width: 100%;
  height: auto;
  transform-origin: 50% 100%;
  animation: darinka-pokachivanie 5s ease-in-out infinite alternate;
}

@keyframes darinka-pokachivanie {
  from { transform: translateY(0)    rotate(-1.5deg); }
  to   { transform: translateY(-6px) rotate(1.5deg); }
}

@media (prefers-reduced-motion: reduce) {
  .lestnica-darinka img { animation: none; }
}

.lestnica-darinka figcaption {
  font-size: 12px;
  text-align: center;
  color: var(--tekst-myagkiy, #6b5d52);
  margin-top: 4px;
}

@media (max-width: 700px) {
  .oblozhki-lenta { grid-template-columns: repeat(2, 1fr); }
  .lestnica-vstuplenie { gap: 14px; }
  .lestnica-darinka { width: 86px; }
}

.kniga-otkryt {
  display: block;
  margin: 8px auto 0;
  padding: 8px 14px;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  color: var(--biryuza-glubokaya);
  background: var(--bely);
  border: 2px solid var(--biryuza);
  border-radius: 999px;
  cursor: pointer;
  transition: background 0.2s, color 0.2s, transform 0.15s;
}

.kniga-otkryt:hover {
  background: var(--biryuza);
  color: var(--bely);
  transform: translateY(-2px);
}

.kniga-okno {
  position: fixed;
  inset: 0;
  z-index: 300;
  display: flex;
  overflow-y: auto;
  padding: 12px;
  background: rgba(62, 51, 44, 0.82);
}

.kniga-okno[hidden] { display: none; }

.kniga-scena {
  position: relative;
  width: min(96vw, 940px);
  margin: auto;
  background: var(--krem);
  border-radius: 22px;
  padding: 22px 22px 18px;
  --kniga-shirina: min(100%, max(460px, (100vh - 320px) * 1.414));
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
}

.kniga-zakryt {
  position: absolute;
  top: 8px;
  right: 10px;
  z-index: 5;
  width: 44px;
  height: 44px;
  font-size: 26px;
  line-height: 1;
  color: var(--tekst);
  background: var(--bely);
  border: 1px solid rgba(62, 51, 44, 0.2);
  border-radius: 50%;
  cursor: pointer;
}

.kniga-zakryt:hover { background: var(--persik); }

.kniga-3d {
  width: var(--kniga-shirina);
  margin: 6px auto 0;
  aspect-ratio: 1414 / 1000;
  position: relative;
}

.kniga {
  position: absolute;
  inset: 0;
  perspective: 2400px;
  transition: transform 0.8s ease;
}

.kniga.kniga-zakryta  { transform: translateX(-25%); }
.kniga.kniga-dochitana { transform: translateX(25%); }

.kniga-list {
  position: absolute;
  top: 0;
  left: 50%;
  width: 50%;
  height: 100%;
  transform-origin: left center;
  transform-style: preserve-3d;
  transition: transform 0.8s ease;
}

.kniga-list.perevernut { transform: rotateY(-180deg); }

.list-storona {
  position: absolute;
  inset: 0;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  background-color: var(--bely);
  background-size: cover;
  background-position: center;
  border-radius: 4px 12px 12px 4px;
  box-shadow: 0 10px 30px rgba(62, 51, 44, 0.25);
}

.list-zad {
  transform: rotateY(180deg);
  border-radius: 12px 4px 4px 12px;
}

.list-oblozhka, .mobil-oblozhka {
  background-size: contain;
  background-repeat: no-repeat;
  background-color: var(--krem);
}

.kniga-mobil { display: none; }

.kniga-final {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 8%;
  text-align: center;
  background: var(--krem);
}

.kniga-final p { margin: 0; }

.kniga-final-zagolovok {
  font-size: 22px;
  font-weight: 800;
  color: var(--korall-tyomny);
}

.kniga-final .knopka { font-size: 16px; padding: 14px 26px; white-space: nowrap; }

.kniga-podpis {
  width: var(--kniga-shirina);
  margin: 14px auto 0;
  min-height: 3.6em;
  color: var(--tekst);
}

.podpis-odna {
  max-width: 680px;
  margin: 0 auto;
  font-size: 15px;
  line-height: 1.55;
}

.podpis-dve {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
}

.podpis-dve p {
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
}

.podpis-odna[hidden], .podpis-dve[hidden] { display: none; }

.kniga-upravlenie {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin-top: 12px;
  flex-wrap: wrap;
}

.kniga-vpered {
  font-size: 16px;
  padding: 12px 26px;
  border: none;
  cursor: pointer;
  font-family: inherit;
}

.kniga-nazad {
  font: inherit;
  font-size: 15px;
  font-weight: 700;
  color: var(--tekst);
  background: none;
  border: 2px solid rgba(62, 51, 44, 0.3);
  border-radius: 999px;
  padding: 10px 20px;
  cursor: pointer;
}

.kniga-nazad:disabled { opacity: 0.35; cursor: default; }

.kniga-schet {
  font-size: 14px;
  color: rgba(62, 51, 44, 0.7);
  min-width: 120px;
  text-align: center;
}

.kniga-vpered[hidden], .kniga-nazad[hidden] { display: none; }

@media (max-width: 700px) {
  .kniga-3d { display: none; }

  .kniga-scena { padding: 16px 12px 14px; }

  .kniga-mobil {
    display: block;
    position: relative;
    width: min(100%, 45vh);
    margin: 30px auto 0;
    aspect-ratio: 707 / 1000;
  }

  /* подписи бывают на 6-7 строк - кнопки листания держим у нижнего края окна, а не под подписью */
  .kniga-upravlenie {
    position: sticky;
    bottom: 0;
    z-index: 2;
    margin-top: 8px;
    padding: 8px 0 4px;
    gap: 8px;
    flex-wrap: nowrap;
    background: var(--krem);
  }

  .kniga-schet { min-width: 0; font-size: 13px; white-space: nowrap; }
  .kniga-vpered { font-size: 15px; padding: 12px 16px; min-height: 44px; white-space: nowrap; }
  .kniga-nazad { font-size: 14px; padding: 10px 14px; min-height: 44px; white-space: nowrap; }

  .mobil-stranica {
    position: absolute;
    inset: 0;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.35s ease;
    background-color: var(--bely);
    background-size: cover;
    background-position: center;
    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(62, 51, 44, 0.25);
  }

  .mobil-stranica.vidna { opacity: 1; pointer-events: auto; }

  .kniga-podpis { margin-top: 12px; }
  .podpis-odna { font-size: 14px; }
  .kniga-final-zagolovok { font-size: 18px; }
  .kniga-final .knopka { font-size: 14px; padding: 12px 18px; }
}

@media (prefers-reduced-motion: reduce) {
  .kniga, .kniga-list, .mobil-stranica { transition: none; }
}

@media print {
  .kniga-okno { display: none !important; }
}

.mobilnyj-vk {
  display: none;
  transition: opacity 0.25s, transform 0.25s;
}

@media (max-width: 900px) {
  .mobilnyj-zvonok {
    right: 96px;
  }

  .mobilnyj-vk {
    display: block;
    position: fixed;
    right: 16px;
    bottom: calc(16px + env(safe-area-inset-bottom));
    z-index: 100;
    width: 68px;
    text-align: center;
    text-decoration: none;
    background: var(--biryuza-glubokaya);
    color: var(--bely);
    font-size: 19px;
    font-weight: 800;
    padding: 16px 0;
    border-radius: 999px;
    box-shadow: 0 8px 24px rgba(46, 123, 117, 0.5);
  }

  .menyu {
    background:
      linear-gradient(to right, rgba(255, 252, 246, 0.95) 40%, rgba(255, 252, 246, 0)) left / 36px 100% no-repeat local,
      linear-gradient(to left, rgba(255, 252, 246, 0.95) 40%, rgba(255, 252, 246, 0)) right / 36px 100% no-repeat local,
      radial-gradient(farthest-side at 0 50%, rgba(62, 51, 44, 0.26), rgba(62, 51, 44, 0)) left / 12px 100% no-repeat scroll,
      radial-gradient(farthest-side at 100% 50%, rgba(62, 51, 44, 0.26), rgba(62, 51, 44, 0)) right / 12px 100% no-repeat scroll;
  }
}

.kuki-poloska {
  position: fixed;
  left: 16px;
  right: 16px;
  bottom: 16px;
  z-index: 120;
  max-width: 620px;
  margin: 0 auto;
  background: var(--moloko);
  border: 1px solid rgba(62, 51, 44, 0.14);
  border-radius: 14px;
  box-shadow: 0 12px 36px rgba(62, 51, 44, 0.22);
  padding: 14px 16px;
}

.kuki-tekst {
  margin: 0 0 10px;
  font-size: 14px;
  line-height: 1.5;
  color: var(--tekst);
}

.kuki-tekst a {
  color: var(--korall-knopka);
}

.kuki-knopki {
  display: flex;
  gap: 10px;
}

.kuki-knopka {
  font: inherit;
  font-size: 15px;
  font-weight: 700;
  padding: 10px 18px;
  border-radius: 999px;
  cursor: pointer;
  border: 1px solid transparent;
}

.kuki-prinyat {
  background: var(--korall-knopka);
  color: var(--bely);
}

.kuki-prinyat:hover {
  background: var(--korall-knopka-navedenie);
}

.kuki-otkaz {
  background: transparent;
  color: var(--tekst);
  border-color: rgba(62, 51, 44, 0.3);
}

.kuki-otkaz:hover {
  border-color: var(--tekst);
}

@media (max-width: 900px) {
  .kuki-poloska {
    bottom: calc(84px + env(safe-area-inset-bottom));
  }
}

@media (max-width: 900px) {
  .pervyj-knopki .knopka-korall,
  .doverie-zvonok .knopka,
  .podgotovka-zvonok .knopka,
  .otzyvy-zvonok .knopka,
  .zapis-zvonok .knopka,
  .voprosy-zvonok .knopka,
  .lastochki-ceny .knopka {
    white-space: normal;
    text-align: center;
  }
}
