@import url('https://fonts.googleapis.com/css2?family=Lora:wght@400;500;600;700&family=Montserrat:wght@400;500;600;700&display=swap');

:root {
  --navy: #102b5a;
  --navy-2: #082456;
  --yellow: #ffbf18;
  --yellow-soft: #fff2c7;
  --green: #62b957;
  --green-soft: #eaf4df;
  --mint: #59bdb0;
  --mint-soft: #e8f7f4;
  --blue: #5b89da;
  --blue-soft: #e8effc;
  --pink: #f28b9e;
  --pink-soft: #fde7ea;
  --purple: #8b72d7;
  --purple-soft: #eee9fb;
  --coral: #ff6f68;
  --cream: #fffaf1;
  --cream-2: #f8f1e7;
  --white: #fff;
  --text: #243451;
  --muted: #68738a;
  --line: #e8e4dc;
  --shadow: 0 18px 50px rgba(16, 43, 90, .10);
  --shadow-soft: 0 10px 30px rgba(16, 43, 90, .07);
  --radius: 30px;
  --radius-sm: 20px;
  --container: 1220px;
  --section: clamp(76px, 8vw, 118px);
  --display: "Lora", Georgia, "Times New Roman", serif;
  --body: "Montserrat", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 82px; }
body { margin: 0; min-width: 320px; color: var(--text); background: var(--white); font-family: var(--body); font-weight: 400; line-height: 1.55; -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
img { display: block; width: 100%; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { color: var(--navy); font-family: var(--display); font-weight: 600; letter-spacing: -.025em; }
h1 { margin-bottom: 25px; font-size: clamp(46px, 5.7vw, 78px); line-height: 1.01; }
h2 { margin-bottom: 18px; font-size: clamp(34px, 4vw, 54px); line-height: 1.08; }
h3 { margin-bottom: 10px; line-height: 1.2; }
p { margin-bottom: 0; }

.container { width: min(calc(100% - 44px), var(--container)); margin-inline: auto; }
.section { padding-block: var(--section); }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.skip-link { position: fixed; z-index: 9999; left: 12px; top: 12px; padding: 10px 14px; border-radius: 10px; color: white; background: var(--navy); transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }

.kicker { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 16px; font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.kicker::before { content: ""; width: 18px; height: 3px; border-radius: 10px; background: currentColor; transform: rotate(-5deg); }
.kicker-green { color: var(--green); }
.kicker-blue { color: var(--blue); }
.kicker-coral { color: var(--coral); }
.kicker-yellow { color: var(--yellow); }

.btn { min-height: 54px; display: inline-flex; align-items: center; justify-content: center; gap: 16px; padding: 13px 27px; border: 2px solid transparent; border-radius: 999px; font-family: var(--body); font-size: 13px; font-weight: 600; letter-spacing: .01em; transition: transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease, border-color .25s ease; }
.btn:hover { transform: translateY(-3px); }
.btn:focus-visible, .tab-button:focus-visible, .gallery-photo:focus-visible, .slider-controls button:focus-visible { outline: 4px solid rgba(91,137,218,.25); outline-offset: 3px; }
.btn-yellow { color: var(--navy); background: var(--yellow); box-shadow: 0 10px 24px rgba(255,191,24,.25); }
.btn-yellow:hover { background: #f2ae00; box-shadow: 0 14px 30px rgba(255,191,24,.32); }
.btn-outline { color: var(--navy); background: transparent; border-color: var(--navy); }
.btn-outline:hover { color: var(--white); background: var(--navy); }

/* Header â€” Ð¾Ñ‚Ð´ÐµÐ»ÑŒÐ½Ñ‹Ð¹ Ð¾Ñ‚ hero-Ð±Ð»Ð¾ÐºÐ° */
.main-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  width: 100%;
  background: rgba(255,255,255,.98);
  border-bottom: 1px solid #f0ece6;
  box-shadow: 0 7px 24px rgba(16,43,90,.045);
  backdrop-filter: blur(12px);
}
.header-shell {
  width: min(calc(100% - 34px), 1440px);
  min-height: 72px;
  margin-inline: auto;
  display: flex;
  align-items: center;
  gap: 18px;
}
.header-brand {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
}
.header-brand__mark { width: 42px; height: 42px; object-fit: contain; }
.header-brand__name {
  color: #ff675f;
  font-size: 25px;
  font-weight: 600;
  letter-spacing: -.035em;
}
.header-directions { display: flex; align-items: center; gap: 14px; flex: 0 0 auto; }
.header-direction { font-size: 13px; font-weight: 600; line-height: 1.05; }
.header-direction--garden {
  padding: 9px 13px;
  border-radius: 8px;
  color: white;
  background: #79b95d;
  box-shadow: 0 5px 12px rgba(98,185,87,.18);
}
.header-direction--school { display: grid; gap: 2px; color: #4b77bd; }
.header-direction--school span { font-size: 10px; font-weight: 500; color: #8392ac; }
.header-direction--school strong { font-size: 13px; font-weight: 600; }
.header-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(18px, 2.2vw, 34px);
  margin-left: auto;
}
.header-nav a {
  position: relative;
  color: #273044;
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
  transition: color .2s ease;
}
.header-nav a::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -10px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--coral);
  opacity: 0;
  transform: translateX(-50%) scale(.65);
  transition: .2s ease;
}
.header-nav a:hover { color: var(--coral); }
.header-nav a:hover::after { opacity: 1; transform: translateX(-50%) scale(1); }
.header-cta {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 19px;
  border-radius: 14px;
  color: white;
  background: linear-gradient(135deg, #ff756c, #ff665f);
  box-shadow: 0 8px 20px rgba(255,102,95,.2);
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
  transition: transform .2s ease, box-shadow .2s ease;
}
.header-cta:hover { transform: translateY(-2px); box-shadow: 0 11px 24px rgba(255,102,95,.27); }
.header-menu-toggle {
  width: 42px;
  height: 42px;
  display: none;
  flex: 0 0 auto;
  padding: 0;
  border: 1px solid #eee7de;
  border-radius: 50%;
  background: #fffaf5;
}
.header-menu-toggle span {
  width: 18px;
  height: 2px;
  display: block;
  margin: 4px auto;
  border-radius: 3px;
  background: var(--navy);
  transition: .25s ease;
}
.header-menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.header-menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.header-menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

/* ÐŸÐµÑ€Ð²Ñ‹Ð¹ ÑÐºÑ€Ð°Ð½ */
.hero-primary {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding: clamp(48px, 5vw, 76px) 0 30px;
  background: #fff;
}
.hero-primary__inner,
.hero-primary__features {
  width: min(calc(100% - 8vw), 1480px);
  margin-inline: auto;
}
.hero-primary__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(480px, .88fr) minmax(600px, 1.12fr);
  align-items: center;
  gap: clamp(34px, 4.4vw, 78px);
}
.hero-primary__copy { position: relative; padding: 18px 0 24px; }
.hero-primary__copy::before {
  content: "";
  position: absolute;
  left: -28px;
  top: 5px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--yellow);
  box-shadow: -36px 255px 0 #8bd7cc, -66px 294px 0 #f5c23a;
}
.hero-primary h1 {
  max-width: 680px;
  margin-bottom: 24px;
  color: #0e2b4d;
  font-family: var(--display);
  font-size: clamp(52px, 4.7vw, 76px);
  font-weight: 600;
  line-height: 1.03;
  letter-spacing: -.035em;
}
.hero-primary h1 span { color: var(--coral); }
.hero-primary__lead {
  max-width: 540px;
  color: #505e71;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.55;
}
.hero-primary__stats {
  max-width: 640px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 32px;
}
.hero-info-card {
  min-height: 88px;
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 15px 16px;
  border: 1px solid #eee8e1;
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(16,43,90,.04);
}
.hero-info-card__icon {
  width: 39px;
  height: 39px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
}
.hero-info-card__icon img { width: 100%; height: 100%; object-fit: contain; }
.hero-info-card div { display: grid; align-content: center; line-height: 1.15; }
.hero-info-card strong { color: #142d50; font-size: 17px; font-weight: 600; }
.hero-info-card small { margin-top: 4px; color: #677286; font-size: 10px; font-weight: 400; }
.hero-primary__actions { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 30px; }
.hero-button {
  min-height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
  padding: 14px 27px;
  border: 1.5px solid transparent;
  border-radius: 16px;
  font-size: 13px;
  font-weight: 600;
  transition: .22s ease;
}
.hero-button img { width: 21px; height: 21px; object-fit: contain; flex: 0 0 auto; }
.hero-button--primary { min-width: 310px; color: white; background: linear-gradient(135deg,#ff756c,#ff665f); box-shadow: 0 12px 28px rgba(255,101,93,.22); }
.hero-button--primary:hover { transform: translateY(-2px); box-shadow: 0 15px 32px rgba(255,101,93,.28); }
.hero-button--outline { min-width: 290px; color: #4b79bd; background: #fff; border-color: #4b79bd; }
.hero-button--outline:hover { color: white; background: #4b79bd; }
.hero-button--outline:hover img { filter: brightness(0) invert(1); }
.hero-primary__media { position: relative; min-height: 585px; }
.hero-primary__photo {
  position: absolute;
  inset: 0 -5vw 0 0;
  width: calc(100% + 5vw);
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.hero-age-badge {
  position: absolute;
  z-index: 4;
  left: -34px;
  bottom: 72px;
  width: 134px;
  height: 134px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 7px solid white;
  border-radius: 50%;
  color: white;
  background: linear-gradient(145deg,#58a8ff,#3e90ed);
  box-shadow: 0 14px 30px rgba(61,143,238,.24);
  text-align: center;
}
.hero-age-badge img { width: 34px; height: 34px; margin-bottom: 4px; }
.hero-age-badge span { font-size: 9px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; opacity: .9; }
.hero-age-badge strong { margin-top: 2px; font-size: 18px; font-weight: 600; line-height: 1.05; }
.hero-primary__shape,
.hero-primary__leaf { position: absolute; pointer-events: none; }
.hero-primary__shape--pink { right: -74px; top: 86px; width: 160px; height: 190px; border-radius: 50% 0 0 50%; background: #f3a3ad; opacity: .85; }
.hero-primary__shape--blue { right: -38px; top: 285px; width: 92px; height: 145px; border-radius: 70% 0 0 70%; background: #9edbea; opacity: .9; }
.hero-primary__leaf { left: -20px; top: 98px; width: 80px; height: 60px; transform: rotate(-12deg); }
.hero-primary__leaf i { position: absolute; width: 58px; height: 22px; border-radius: 100% 0 100% 0; background: #59c2b7; }
.hero-primary__leaf i:nth-child(2) { left: 10px; top: 27px; width: 47px; transform: scaleX(-1); }
.hero-primary__features {
  position: relative;
  z-index: 6;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin-top: 18px;
}
.hero-feature {
  min-height: 124px;
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 19px 22px;
  border: 1px solid #eee8e1;
  border-radius: 19px;
  background: rgba(255,255,255,.98);
  box-shadow: 0 10px 25px rgba(16,43,90,.045);
}
.hero-feature__icon {
  width: 64px;
  height: 64px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  padding: 14px;
  border-radius: 50%;
}
.hero-feature__icon img { width: 100%; height: 100%; object-fit: contain; }
.hero-feature__icon--mint { background: #dff5f0; }
.hero-feature__icon--pink { background: #ffe8e9; }
.hero-feature__icon--yellow { background: #fff1ca; }
.hero-feature__icon--blue { background: #e6effd; }
.hero-feature h3 { margin: 0 0 6px; color: #192337; font-family: var(--body); font-size: 14px; font-weight: 600; letter-spacing: -.01em; }
.hero-feature p { color: #687487; font-size: 11px; line-height: 1.45; }

.intro-section { padding-top: 100px; }
.intro-grid { display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; gap: clamp(50px,8vw,100px); }
.intro-copy { max-width: 500px; }
.intro-copy h2 { font-size: clamp(38px,5vw,60px); }
.intro-copy > p { color: var(--muted); font-size: 16px; }
.hand-heart { color: var(--pink); font-family: var(--body); font-size: .85em; }
.text-link { display: inline-flex; align-items: center; gap: 18px; margin-top: 28px; padding-bottom: 5px; border-bottom: 2px solid var(--navy); color: var(--navy); font-family: var(--display); font-size: 13px; }
.intro-collage { position: relative; min-height: 480px; }
.collage-main { position: absolute; left: 0; top: 0; width: 56%; height: 410px; border-radius: 28px; box-shadow: var(--shadow-soft); }
.collage-small { position: absolute; right: 0; bottom: 0; width: 42%; height: 210px; border-radius: 24px; box-shadow: var(--shadow-soft); }
.collage-card { position: absolute; right: 0; top: 0; width: 42%; min-height: 180px; display: grid; align-content: center; padding: 28px; border-radius: 24px; background: var(--blue-soft); }
.collage-card .emoji { font-size: 46px; }
.collage-card strong { margin-top: 8px; color: var(--navy); font-family: var(--display); font-size: 18px; }
.collage-card small { margin-top: 5px; color: var(--muted); }
.rainbow { position: absolute; left: -45px; bottom: -20px; width: 100px; height: 75px; border: 8px solid var(--yellow); border-bottom: 0; border-radius: 100px 100px 0 0; opacity: .95; }
.rainbow::before,.rainbow::after { content:""; position:absolute; border:6px solid var(--yellow); border-bottom:0; border-radius:100px 100px 0 0; }
.rainbow::before{inset:14px 14px 0}.rainbow::after{inset:28px 28px 0}

.route-section {
  position: relative;
  overflow: hidden;
  background: rgb(253, 250, 249);
  padding-block: 118px;
}
.route-section::before,
.route-section::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 96px;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  pointer-events: none;
  z-index: 0;
}
.route-section::before {
  top: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 320' preserveAspectRatio='none'%3E%3Cpath fill='%23ffffff' d='M0,64L30,85.3C60,107,120,149,180,165.3C240,181,300,171,360,160C420,149,480,139,540,149.3C600,160,660,192,720,208C780,224,840,224,900,197.3C960,171,1020,117,1080,122.7C1140,128,1200,192,1260,213.3C1320,235,1380,213,1410,202.7L1440,192L1440,0L1410,0C1380,0,1320,0,1260,0C1200,0,1140,0,1080,0C1020,0,960,0,900,0C840,0,780,0,720,0C660,0,600,0,540,0C480,0,420,0,360,0C300,0,240,0,180,0C120,0,60,0,30,0L0,0Z'/%3E%3C/svg%3E");
}
.route-section::after {
  bottom: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 320' preserveAspectRatio='none'%3E%3Cpath fill='%23ffffff' d='M0,64L30,85.3C60,107,120,149,180,165.3C240,181,300,171,360,160C420,149,480,139,540,149.3C600,160,660,192,720,208C780,224,840,224,900,197.3C960,171,1020,117,1080,122.7C1140,128,1200,192,1260,213.3C1320,235,1380,213,1410,202.7L1440,192L1440,320L1410,320C1380,320,1320,320,1260,320C1200,320,1140,320,1080,320C1020,320,960,320,900,320C840,320,780,320,720,320C660,320,600,320,540,320C480,320,420,320,360,320C300,320,240,320,180,320C120,320,60,320,30,320L0,320Z'/%3E%3C/svg%3E");
}
.route-section > .container {
  position: relative;
  z-index: 1;
}
.route-panel {
  position: relative;
  padding: 10px 0;
  border-radius: 0;
  background: transparent;
}
.route-decor {
  position: absolute;
  z-index: 0;
  pointer-events: none;
  user-select: none;
}
.route-decor--plane {
  top: 86px;
  left: 8px;
  width: 252px;
}
.route-decor--leaf-top {
  top: 86px;
  right: 26px;
  width: 128px;
}
.route-decor--dots {
  right: 70px;
  bottom: 20px;
  width: 178px;
}
.route-decor--branch {
  left: 8px;
  bottom: 22px;
  width: 190px;
}
.section-heading { position: relative; z-index: 1; max-width: 800px; margin-bottom: 48px; }
.section-heading.centered { margin-inline: auto; text-align: center; }
.section-heading.centered .kicker { justify-content: center; }
.section-heading p { color: var(--muted); font-size: 17px; }
.route-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 38px 1fr 38px 1fr 38px 1fr;
  align-items: stretch;
  gap: 0;
}
.route-card {
  position: relative;
  min-height: 282px;
  padding: 34px 28px 30px;
  overflow: hidden;
  border: 1px solid rgba(16, 43, 90, .06);
  border-radius: 28px;
  background: rgba(255,255,255,.52);
  box-shadow: 0 18px 40px rgba(173, 144, 128, .08);
  backdrop-filter: blur(4px);
}
.route-card::after {
  content:"";
  position:absolute;
  right:-28px;
  bottom:-35px;
  width:112px;
  height:112px;
  border-radius:50%;
  background: rgba(255,255,255,.42);
}
.route-green{background:#eef4e4}.route-yellow{background:#f8f0cf}.route-blue{background:#e6eef9}.route-pink{background:#f8e7eb}
.route-card small {
  display: inline-block;
  margin-bottom: 16px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.route-card h3 {
  margin-top: 0;
  margin-bottom: 16px;
  font-size: 24px;
}
.route-card p {
  max-width: 220px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.8;
}
.route-arrow {
  display: grid;
  place-items: center;
  color: var(--navy);
  font-size: 24px;
}

.programs-section { background: white; overflow: hidden; }
.program-tabs { max-width: 1240px; margin-inline: auto; }
.tab-buttons { width: fit-content; display: flex; margin: 0 auto 42px; padding: 6px; border: 1px solid rgba(16,43,90,.12); border-radius: 999px; background: var(--cream); }
.tab-button { min-width: 238px; padding: 14px 24px; border: 0; border-radius: 999px; color: var(--navy); background: transparent; font-family: var(--display); font-weight: 600; transition: .25s ease; }
.tab-button.is-active { color: white; background: var(--navy); }
.program-grid { display: none; position: relative; align-items: flex-start; justify-content: center; gap: 0; }
.program-grid.is-active { display: flex; }
.program-card {
  position: relative;
  flex: 0 0 26%;
  min-width: 0;
  margin-left: -10px;
  padding: 14px;
  border: 1px solid rgba(16,43,90,.08);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 5px 10px rgba(39, 52, 89, .12);
  transition: transform .25s ease, box-shadow .25s ease;
}
.program-grid.is-active .program-card:first-child { margin-left: 0; }
.program-grid.is-active .program-card:nth-child(1) { transform: rotate(-3.4deg) translateY(14px); z-index: 1; }
.program-grid.is-active .program-card:nth-child(2) { transform: rotate(2.3deg) translateY(34px); z-index: 2; }
.program-grid.is-active .program-card:nth-child(3) { transform: rotate(-1.6deg) translateY(22px); z-index: 3; }
.program-grid.is-active .program-card:nth-child(4) { transform: rotate(4deg) translateY(28px); z-index: 1; }
.program-card:hover { box-shadow: 0 28px 62px rgba(39, 52, 89, .16); }
.program-card__photo {
  margin: 0;
  overflow: hidden;
  border-radius: 12px;
  aspect-ratio: 1.22 / 1;
  background: var(--cream);
}
.program-card__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.program-card__body { padding: 18px 10px 10px; }
.program-card h3 { margin: 0 0 12px; font-size: 20px; line-height: 1.18; }
.program-card p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.55; }

.skills-section {
  position: relative;
  overflow: hidden;
  padding-top: 118px;
  padding-bottom: 138px;
  background: var(--cream);
}
.skills-section::before,
.skills-section::after {
  content: "";
  position: absolute;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 82px;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  pointer-events: none;
}
.skills-section::before {
  top: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 320' preserveAspectRatio='none'%3E%3Cpath fill='%23ffffff' d='M0,0H1440V82C1390,120 1320,134 1250,116C1170,96 1110,48 1020,50C920,52 870,112 770,120C665,128 600,76 500,74C400,72 338,124 242,124C145,124 76,94 0,58Z'/%3E%3C/svg%3E");
}
.skills-section::after {
  bottom: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 320' preserveAspectRatio='none'%3E%3Cpath fill='%23102b5a' d='M0,262C76,226 145,196 242,196C338,196 400,248 500,246C600,244 665,192 770,200C870,208 920,268 1020,270C1110,272 1170,224 1250,204C1320,186 1390,200 1440,238V320H0Z'/%3E%3C/svg%3E");
}
.skills-section > .container { position: relative; z-index: 1; }
.skills-heading { margin-bottom: 28px; }
.skills-heading h2 { max-width: 1050px; margin-inline: auto; }
.skills-heading p { max-width: 760px; margin-inline: auto; }

.skills-switcher {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  max-width: 980px;
  margin: 0 auto 28px;
}
.skills-switcher__button {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 10px 18px;
  border: 1px solid transparent;
  border-radius: 999px;
  color: var(--navy);
  background: #f7f7f7;
  font-family: var(--display);
  font-size: 15px;
  font-weight: 600;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease, background .25s ease;
}
.skills-switcher__icon {
  width: 23px;
  height: 23px;
  flex: 0 0 23px;
  display: block;
  object-fit: contain;
}
.skills-switcher__button:hover { transform: translateY(-2px); }
.skills-switcher__button--green { background: #eef5e4; }
.skills-switcher__button--yellow { background: #fff3d4; }
.skills-switcher__button--blue { background: #e9f1ff; }
.skills-switcher__button--pink { background: #fde8ec; }
.skills-switcher__button.is-active {
  border-color: rgba(16, 43, 90, .12);
  box-shadow: 0 8px 18px rgba(16, 43, 90, .08);
}
.skills-switcher__button--green.is-active { border-color: #b9d994; }
.skills-switcher__button--yellow.is-active { border-color: #efcd75; }
.skills-switcher__button--blue.is-active { border-color: #8fb9f5; }
.skills-switcher__button--pink.is-active { border-color: #efa7b4; }

.skills-carousel {
  position: relative;
  max-width: 1120px;
  margin: 0 auto;
  min-height: 430px;
}
.skills-carousel__stage {
  position: relative;
  height: 410px;
  overflow: hidden;
}
.skills-slide {
  position: absolute;
  top: 18px;
  left: 50%;
  width: min(680px, 66vw);
  height: 340px;
  margin: 0;
  overflow: hidden;
  border-radius: 22px;
  background: #eef2f4;
  box-shadow: 0 14px 32px rgba(35, 54, 90, .12);
  opacity: 0;
  visibility: hidden;
  transform: translateX(-50%) scale(.72);
  transition: left .48s cubic-bezier(.22,.8,.24,1), transform .48s cubic-bezier(.22,.8,.24,1), opacity .35s ease, filter .35s ease;
  will-change: left, transform, opacity;
}
.skills-slide img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.skills-slide.is-current {
  left: 50%;
  z-index: 3;
  opacity: 1;
  visibility: visible;
  filter: none;
  transform: translateX(-50%) scale(1);
}
.skills-slide.is-prev,
.skills-slide.is-next {
  z-index: 1;
  opacity: .42;
  visibility: visible;
  border-radius: 26px;
  filter: saturate(.72) brightness(1.04);
}
.skills-slide.is-prev { left: 30%; transform: translateX(-50%) scale(.62); }
.skills-slide.is-next { left: 70%; transform: translateX(-50%) scale(.62); }

.skills-carousel__arrow {
  position: absolute;
  top: 164px;
  z-index: 5;
  width: 64px;
  height: 64px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  color: var(--navy);
  font-size: 31px;
  line-height: 1;
  transition: transform .22s ease, filter .22s ease;
}
.skills-carousel__arrow:hover { transform: scale(1.06); filter: brightness(.98); }
.skills-carousel__arrow--prev { left: 0; background: #e7f3d8; }
.skills-carousel__arrow--next { right: 0; background: #fff0c5; }

.skills-caption {
  position: relative;
  z-index: 4;
  max-width: 760px;
  min-height: 116px;
  display: grid;
  grid-template-columns: 108px 1fr;
  gap: 24px;
  align-items: center;
  margin: -38px auto 0;
  padding: 24px 32px;
  border: 1px solid rgba(16, 43, 90, .06);
  border-radius: 20px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 10px 28px rgba(34, 48, 82, .1);
}
.skills-caption__counter {
  align-self: stretch;
  display: flex;
  align-items: flex-start;
  gap: 5px;
  padding-top: 3px;
  padding-right: 22px;
  border-right: 1px solid rgba(16,43,90,.14);
  color: var(--muted);
}
.skills-caption__counter span { color: var(--navy); font-size: 14px; }
.skills-caption__counter small { font-size: 13px; }
.skills-caption__copy h3 { margin: 0 0 9px; font-size: 22px; }
.skills-caption__copy p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.6; }

@media (max-width: 900px) {
  .skills-switcher { grid-template-columns: 1fr 1fr; max-width: 650px; }
  .skills-carousel { min-height: 390px; }
  .skills-carousel__stage { height: 370px; }
  .skills-slide { width: min(620px, 78vw); height: 310px; }
  .skills-slide.is-prev { left: 28%; transform: translateX(-50%) scale(.56); }
  .skills-slide.is-next { left: 72%; transform: translateX(-50%) scale(.56); }
  .skills-carousel__arrow { top: 144px; width: 54px; height: 54px; font-size: 27px; }
  .skills-caption { margin-top: -32px; }
}

@media (max-width: 650px) {
  .skills-section { padding-top: 92px; padding-bottom: 104px; }
  .skills-section::before,
  .skills-section::after { height: 54px; }
  .skills-switcher { grid-template-columns: 1fr 1fr; gap: 10px; }
  .skills-switcher__button { min-height: 44px; padding: 9px 10px; font-size: 12px; }
  .skills-switcher__button span { font-size: 15px; }
  .skills-carousel { min-height: 330px; }
  .skills-carousel__stage { height: 300px; }
  .skills-slide { top: 20px; width: calc(100% - 54px); height: 240px; border-radius: 16px; }
  .skills-slide.is-prev,
  .skills-slide.is-next { opacity: 0; visibility: hidden; }
  .skills-carousel__arrow { top: 112px; width: 44px; height: 44px; font-size: 22px; }
  .skills-carousel__arrow--prev { left: -4px; }
  .skills-carousel__arrow--next { right: -4px; }
  .skills-caption { grid-template-columns: 1fr; gap: 10px; margin-top: -18px; padding: 20px; }
  .skills-caption__counter { min-height: 0; align-self: auto; padding: 0 0 10px; border-right: 0; border-bottom: 1px solid rgba(16,43,90,.12); }
  .skills-caption__copy h3 { font-size: 19px; }
  .skills-caption__copy p { font-size: 13px; }
}

.results-section { color: white; background: var(--navy); }
.results-section h2 { color: white; }
.results-heading { max-width: none; display: grid; grid-template-columns: 1fr .8fr; align-items: end; gap: 50px; }
.results-heading p { color: rgba(255,255,255,.65); }
.stats-row { display: grid; grid-template-columns: repeat(5,1fr); gap: 18px; }
.stat-tile { min-height: 150px; display: flex; flex-direction: column; justify-content: center; padding: 25px; border-radius: 24px; color: var(--navy); }
.stat-tile strong { font-family: var(--display); font-size: 42px; line-height: 1; }
.stat-tile span { margin-top: 10px; font-size: 12px; font-weight: 600; }
.stat-yellow{background:var(--yellow)}.stat-pink{background:var(--pink)}.stat-purple{background:#9c8ee1}.stat-green{background:#79c35b}.stat-blue{background:#8ab0eb}
.results-cards { display: grid; grid-template-columns: 1fr 1fr .8fr; gap: 20px; margin-top: 24px; }
.result-detail,.result-story { padding: 30px; border: 1px solid rgba(255,255,255,.12); border-radius: 28px; background: rgba(255,255,255,.07); }
.result-title { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 28px; }
.result-title span { color: rgba(255,255,255,.65); font-size: 13px; font-weight: 600; text-transform: uppercase; }
.result-title strong { color: var(--yellow); font-family: var(--display); font-size: 24px; }
.result-detail-blue .result-title strong { color: #8ab0eb; }
.progress-stack { display: grid; gap: 16px; }
.progress-stack div { display: grid; grid-template-columns: 1fr 110px; gap: 14px; align-items: center; }
.progress-stack span { height: 12px; overflow: hidden; border-radius: 999px; background: rgba(255,255,255,.12); }
.progress-stack b { display:block; width:0; height:100%; border-radius:999px; background:var(--yellow); transition:width 1.35s cubic-bezier(.22,.8,.24,1); }
.result-detail-blue .progress-stack b { background:#8ab0eb; }
.progress-stack em { color: rgba(255,255,255,.75); font-size: 12px; font-style: normal; }
.result-story { display:flex; gap:18px; align-items:center; }
.result-story-chess {
  width: 70px;
  height: auto;
  display: block;
  flex: 0 0 70px;
  position: relative;
  top: 20px;
  right: 5px;
  transform-origin: 50% 88%;
  animation: resultChessRock 3.2s ease-in-out infinite;
  filter: drop-shadow(0 10px 14px rgba(0,0,0,.14));
}
@keyframes resultChessRock {
  0%, 100% { transform: scale(1.55) rotate(-2deg) translateY(0); }
  50% { transform: scale(1.55) rotate(2deg) translateY(-3px); }
}
.result-story h3 { color:white; }
.result-story p { color:rgba(255,255,255,.65); font-size:13px; }




/* ===== Program quiz ===== */
.quiz-section {
  background: #fff;
}

.quiz {
  --quiz-green: #65b347;
  --quiz-green-soft: #eef7e8;
  --quiz-yellow: #efa91e;
  --quiz-yellow-soft: #fff6df;
  --quiz-pink: #f17f91;
  --quiz-pink-soft: #fff0f2;
  --quiz-purple: #ad8bd8;
  --quiz-purple-soft: #f6efff;
  max-width: 1160px;
  margin-inline: auto;
}

.quiz__panel {
  display: none;
}

.quiz__panel.is-active {
  display: block;
  animation: quizPanelIn .38s ease both;
}

@keyframes quizPanelIn {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.quiz-intro,
.quiz-result,
.quiz-question {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(16, 43, 90, .09);
  border-radius: 24px;
  background: #fffefa;
  box-shadow: 0 12px 32px rgba(39, 52, 89, .055);
}

.quiz-intro {
  min-height: 470px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(390px, .9fr);
}

.quiz-intro__content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 64px 48px;
  text-align: center;
}

.quiz-intro__content h2 {
  max-width: 660px;
  margin: 0;
  font-size: clamp(37px, 4.2vw, 58px);
  line-height: 1.08;
}

.quiz-intro__content p {
  max-width: 600px;
  margin: 18px auto 0;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.65;
}

.quiz-start-button {
  margin-top: 32px;
  min-width: 300px;
  background: linear-gradient(135deg, #6abb4c, #5da83f);
  border-color: transparent;
  box-shadow: 0 12px 26px rgba(93, 168, 63, .2);
}

.quiz-intro__photo {
  position: relative;
  min-height: 470px;
  margin: 0;
  overflow: hidden;
  border-radius: 48% 0 0 48% / 56% 0 0 44%;
}

.quiz-intro__photo img,
.quiz-result__photo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.quiz-intro__photo img {
  object-position: 56% center;
}

.quiz-doodle {
  position: absolute;
  z-index: 1;
  font-family: var(--display);
  line-height: 1;
  pointer-events: none;
}

.quiz-doodle--cap {
  top: 30px;
  left: 38px;
  color: #6cb75a;
  font-size: 54px;
  transform: rotate(-18deg);
}

.quiz-doodle--heart {
  left: 30px;
  bottom: 56px;
  color: var(--quiz-pink);
  font-size: 58px;
  transform: rotate(-9deg);
}

.quiz-doodle--book {
  right: 44px;
  bottom: 28px;
  color: #6cb75a;
  font-size: 56px;
  transform: rotate(5deg);
}

.quiz-question {
  padding: 26px 30px 28px;
}

.quiz-question::after {
  content: "";
  position: absolute;
  right: -50px;
  top: -60px;
  width: 170px;
  height: 170px;
  border-radius: 50%;
  background: rgba(239, 247, 232, .7);
  pointer-events: none;
}

.quiz-question__header {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 34px;
}

.quiz-step {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 62px;
  min-height: 34px;
  padding-inline: 14px;
  border-radius: 999px;
  color: #5a9e40;
  background: var(--quiz-green-soft);
  font-size: 14px;
  font-weight: 600;
}

.quiz-progress {
  width: 330px;
  max-width: calc(100% - 100px);
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0;
  align-items: center;
}

.quiz-progress i {
  position: relative;
  display: block;
  height: 4px;
  background: #e1e2e4;
}

.quiz-progress i:first-child {
  border-radius: 999px 0 0 999px;
}

.quiz-progress i:last-child {
  border-radius: 0 999px 999px 0;
}

.quiz-progress i::after {
  content: "";
  position: absolute;
  right: -3px;
  top: 50%;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  transform: translateY(-50%);
  background: #d8dadd;
  z-index: 2;
}

.quiz-progress i.is-active {
  background: var(--quiz-green);
}

.quiz-progress i.is-active::after {
  background: var(--quiz-green);
}

.quiz-question h3 {
  position: relative;
  z-index: 1;
  margin: 38px auto 28px;
  max-width: 760px;
  color: var(--navy);
  font-size: clamp(29px, 3.5vw, 44px);
  line-height: 1.12;
  text-align: center;
}

.quiz-options {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 14px;
}

.quiz-options--age {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

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

.quiz-option {
  min-height: 82px;
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 14px 18px;
  border: 1px solid rgba(16, 43, 90, .1);
  border-radius: 16px;
  background: rgba(255, 255, 255, .95);
  color: var(--navy);
  font: inherit;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.3;
  text-align: left;
  cursor: pointer;
  transition:
    border-color .2s ease,
    box-shadow .2s ease,
    transform .2s ease,
    background .2s ease;
}

.quiz-option:hover {
  transform: translateY(-2px);
  border-color: rgba(101, 179, 71, .55);
  box-shadow: 0 9px 20px rgba(39, 52, 89, .07);
}

.quiz-option.is-selected {
  border-color: var(--quiz-green);
  background: #fbfdf9;
  box-shadow: 0 0 0 2px rgba(101, 179, 71, .1);
}

.quiz-option--large {
  min-height: 170px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 14px;
}

.quiz-option--full {
  grid-column: 1 / -1;
}

.quiz-option__icon {
  min-width: 44px;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  font-family: var(--display);
  font-size: 25px;
  line-height: 1;
}

.quiz-option--large .quiz-option__icon {
  width: 66px;
  height: 66px;
  font-size: 38px;
  border-radius: 18px;
}

.quiz-option__icon img {
  width: 72%;
  height: 72%;
  display: block;
  object-fit: contain;
}

.quiz-option--large .quiz-option__icon img {
  width: 74%;
  height: 74%;
}

.quiz-options--age .quiz-option--large {
  min-height: 184px;
  padding: 24px 14px 22px;
}

.quiz-options--age .quiz-option--large > span:last-child {
  margin-top: 7px;
  color: var(--navy);
  font-size: 15px;
  font-weight: 600;
}

.quiz-options--age .quiz-option__icon {
  background: transparent;
  box-shadow: none;
  border-radius: 0;
}

.quiz-options--age .quiz-option__icon img {
  width: 64px;
  height: 64px;
}

.quiz-options--age .quiz-option.is-selected .quiz-option__icon,
.quiz-options--age .quiz-option:hover .quiz-option__icon {
  background: transparent;
  box-shadow: none;
}


.quiz-option__icon--green {
  color: var(--quiz-green);
  background: var(--quiz-green-soft);
}

.quiz-option__icon--yellow {
  color: var(--quiz-yellow);
  background: var(--quiz-yellow-soft);
}

.quiz-option__icon--pink {
  color: var(--quiz-pink);
  background: var(--quiz-pink-soft);
}

.quiz-option__icon--purple {
  color: var(--quiz-purple);
  background: var(--quiz-purple-soft);
}

.quiz-error {
  min-height: 20px;
  margin: 12px 0 0;
  color: #d65f6f;
  font-size: 13px;
  opacity: 0;
  text-align: right;
  transition: opacity .2s ease;
}

.quiz-error.is-visible {
  opacity: 1;
}

.quiz-controls {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 8px;
}

.quiz-back,
.quiz-next {
  min-height: 46px;
  padding: 0 20px;
  border-radius: 13px;
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}

.quiz-back {
  padding-left: 0;
  border: 0;
  background: transparent;
  color: #838991;
}

.quiz-back:disabled {
  opacity: .38;
  cursor: default;
}

.quiz-next {
  min-width: 130px;
  border: 1.5px solid rgba(101, 179, 71, .75);
  background: #fff;
  color: #5ca33f;
}

.quiz-next:hover {
  background: #f8fcf5;
}

.quiz-next--finish {
  color: #fff;
  border-color: transparent;
  background: linear-gradient(135deg, #6abb4c, #5da83f);
}

.quiz-result {
  min-height: 480px;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(330px, .9fr);
}

.quiz-result__content {
  position: relative;
  z-index: 2;
  padding: 54px 44px;
}

.quiz-result__content h3 {
  max-width: 600px;
  margin: 0;
  font-size: clamp(34px, 4vw, 52px);
  line-height: 1.08;
}

.quiz-result__content > p {
  max-width: 540px;
  margin: 18px 0 0;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.65;
}

.quiz-result__photo {
  min-height: 480px;
  margin: 0;
  overflow: hidden;
  border-radius: 48% 0 0 48% / 56% 0 0 44%;
}

.quiz-form {
  max-width: 530px;
  display: grid;
  gap: 12px;
  margin-top: 24px;
}

.quiz-form > input {
  width: 100%;
  min-height: 52px;
  padding: 0 16px;
  border: 1px solid rgba(16, 43, 90, .12);
  border-radius: 13px;
  outline: none;
  background: rgba(255,255,255,.95);
  color: var(--navy);
  font: inherit;
}

.quiz-form > input:focus {
  border-color: rgba(101, 179, 71, .8);
  box-shadow: 0 0 0 3px rgba(101, 179, 71, .1);
}

.quiz-form__policy {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.quiz-form__policy input {
  margin-top: 3px;
  accent-color: var(--quiz-green);
}

.quiz-form__submit {
  margin-top: 5px;
  background: linear-gradient(135deg, #6abb4c, #5da83f);
  border-color: transparent;
}

.quiz__status {
  min-height: 22px;
  margin-top: 8px;
  color: #5ca33f;
  font-size: 13px;
  text-align: center;
}

@media (max-width: 950px) {
  .quiz-intro,
  .quiz-result {
    grid-template-columns: 1fr;
  }

  .quiz-intro__photo,
  .quiz-result__photo {
    min-height: 360px;
    border-radius: 44px 44px 0 0;
    order: -1;
  }

  .quiz-intro__content {
    padding: 46px 34px;
  }

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

@media (max-width: 650px) {
  .quiz-intro,
  .quiz-result,
  .quiz-question {
    border-radius: 20px;
  }

  .quiz-intro__photo,
  .quiz-result__photo {
    min-height: 280px;
    border-radius: 20px 20px 0 0;
  }

  .quiz-intro__content,
  .quiz-result__content {
    padding: 34px 20px;
  }

  .quiz-intro__content h2 {
    font-size: 36px;
  }

  .quiz-intro__content p {
    font-size: 15px;
  }

  .quiz-start-button {
    min-width: 0;
    width: 100%;
  }

  .quiz-question {
    padding: 20px 16px;
  }

  .quiz-question__header {
    gap: 16px;
  }

  .quiz-progress {
    width: auto;
    flex: 1;
    max-width: none;
  }

  .quiz-question h3 {
    margin-top: 28px;
    font-size: 30px;
    text-align: left;
  }

  .quiz-options--age,
  .quiz-options--two {
    grid-template-columns: 1fr;
  }

  .quiz-option--large {
    min-height: 78px;
    flex-direction: row;
    justify-content: flex-start;
    text-align: left;
  }

  .quiz-option--large .quiz-option__icon {
    width: 48px;
    height: 48px;
    font-size: 27px;
    border-radius: 13px;
  }

  .quiz-option--full {
    grid-column: auto;
  }

  .quiz-controls {
    margin-top: 2px;
  }

  .quiz-next {
    min-width: 116px;
  }

  .quiz-result__content h3 {
    font-size: 34px;
  }

  .quiz-doodle {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .quiz__panel.is-active {
    animation: none;
  }
}


/* ===== Team / founder ===== */
.teachers-section {
  position: relative;
  overflow: hidden;
  background: #fff;
}

.teacher-profile {
  position: relative;
  z-index: 2;
}

.teacher-profile__heading {
  max-width: 900px;
  margin: 0 auto 46px;
  text-align: center;
}

.teacher-profile__heading .kicker {
  justify-content: center;
}

.teacher-profile__heading h2 {
  margin: 10px 0 0;
  font-size: clamp(42px, 5vw, 66px);
  line-height: .98;
}

.teacher-profile__role {
  margin: 7px 0 0;
  color: var(--navy);
  font-family: var(--display);
  font-size: clamp(28px, 3vw, 40px);
  font-weight: 600;
  line-height: 1.05;
}

.teacher-profile__lead {
  margin: 30px auto 0;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.55;
}

.teacher-profile__card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.18fr);
  max-width: 1120px;
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid rgba(16, 43, 90, .08);
  border-radius: 26px;
  background: #fff;
  box-shadow: 0 18px 50px rgba(39, 52, 89, .08);
}

.teacher-profile__photo {
  min-height: 540px;
  margin: 0;
  overflow: hidden;
  background: var(--cream);
}

.teacher-profile__photo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}

.teacher-profile__info {
  display: flex;
  flex-direction: column;
  padding: 30px 34px 28px;
}

.teacher-profile__fact {
  display: grid;
  grid-template-columns: 66px minmax(0, 1fr);
  gap: 22px;
  align-items: center;
  padding: 20px 0;
  border-bottom: 1px solid rgba(16, 43, 90, .09);
}

.teacher-profile__fact:first-child {
  padding-top: 8px;
}

.teacher-profile__fact--experience {
  grid-template-columns: 66px minmax(0, 1fr) 126px;
  border-bottom: 0;
}

.teacher-profile__fact-icon {
  width: 66px;
  height: 66px;
  display: grid;
  place-items: center;
  border-radius: 50%;
}

.teacher-profile__fact-icon img {
  width: 38px;
  height: 38px;
  object-fit: contain;
}

.teacher-profile__fact-icon--green { background: #eef6ed; }
.teacher-profile__fact-icon--yellow { background: #fff7df; }
.teacher-profile__fact-icon--pink { background: #fff0f1; }

.teacher-profile__fact h3 {
  margin: 0 0 8px;
  color: var(--navy);
  font-size: 20px;
}

.teacher-profile__fact p {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.55;
}

.teacher-experience {
  min-height: 126px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 24px;
  background: linear-gradient(145deg, #f4f8f2, #fbfcfa);
  text-align: center;
}

.teacher-experience span,
.teacher-experience small {
  color: var(--navy);
  font-family: var(--display);
}

.teacher-experience span { font-size: 15px; }

.teacher-experience strong {
  margin: 5px 0 0;
  color: #55ad48;
  font-family: var(--display);
  font-size: 46px;
  font-weight: 600;
  line-height: 1;
}

.teacher-experience small {
  margin-top: 4px;
  font-size: 13px;
}

.teacher-profile__badges {
  display: grid;
  grid-template-columns: .9fr .9fr 1.3fr;
  gap: 12px;
  margin-top: auto;
  padding-top: 18px;
}

.teacher-badge {
  min-height: 64px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 18px;
  border-radius: 16px;
  color: var(--muted);
  font-size: 14px;
  white-space: nowrap;
}

.teacher-badge img {
  width: 32px;
  height: 32px;
  flex: 0 0 auto;
  object-fit: contain;
}

.teacher-badge--green { background: #f0f6ee; }
.teacher-badge--yellow { background: #fff7e5; }
.teacher-badge--pink { background: #fff0f1; }

.teacher-decor {
  position: absolute;
  z-index: 1;
  pointer-events: none;
  user-select: none;
}

.teacher-decor--left {
  left: 16px;
  bottom: 170px;
  width: 190px;
  transform: rotate(-5deg);
}

.teacher-decor--right {
  right: 10px;
  bottom: 150px;
  width: 185px;
  transform: rotate(7deg);
}

@media (max-width: 1180px) {
  .teacher-decor {
    opacity: .55;
  }

  .teacher-profile__card {
    max-width: 1000px;
  }

  .teacher-profile__photo {
    min-height: 500px;
  }

  .teacher-profile__info {
    padding-inline: 28px;
  }

  .teacher-badge {
    padding-inline: 13px;
  }
}

@media (max-width: 900px) {
  .teacher-profile__heading {
    margin-bottom: 34px;
  }

  .teacher-profile__lead br {
    display: none;
  }

  .teacher-profile__card {
    grid-template-columns: 1fr;
    max-width: 680px;
  }

  .teacher-profile__photo {
    min-height: 0;
    aspect-ratio: 1.12 / 1;
  }

  .teacher-profile__info {
    padding: 28px;
  }

  .teacher-decor--left {
    left: -35px;
    bottom: 45%;
    width: 150px;
  }

  .teacher-decor--right {
    right: -40px;
    bottom: 20%;
    width: 145px;
  }
}

@media (max-width: 650px) {
  .teacher-profile__heading h2 {
    font-size: 39px;
  }

  .teacher-profile__role {
    font-size: 27px;
  }

  .teacher-profile__lead {
    margin-top: 22px;
    font-size: 15px;
  }

  .teacher-profile__card {
    border-radius: 22px;
  }

  .teacher-profile__photo {
    aspect-ratio: .95 / 1;
  }

  .teacher-profile__info {
    padding: 20px;
  }

  .teacher-profile__fact,
  .teacher-profile__fact--experience {
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 15px;
  }

  .teacher-profile__fact-icon {
    width: 54px;
    height: 54px;
  }

  .teacher-profile__fact-icon img {
    width: 31px;
    height: 31px;
  }

  .teacher-profile__fact h3 {
    font-size: 18px;
  }

  .teacher-profile__fact p {
    font-size: 13px;
  }

  .teacher-experience {
    grid-column: 1 / -1;
    min-height: 105px;
    margin-top: 5px;
  }

  .teacher-profile__badges {
    grid-template-columns: 1fr;
  }

  .teacher-badge {
    min-height: 58px;
  }

  .teacher-decor {
    display: none;
  }
}

.daily-section { background:var(--cream); }
.daily-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.daily-card { min-height:540px; overflow:hidden; border-radius:34px; background:white; box-shadow:var(--shadow-soft); }
.daily-routine { display:grid; grid-template-columns:1fr .65fr; }
.daily-copy { padding:42px; }
.daily-copy h2,.menu-card h2 { font-size:clamp(30px,3vw,42px); }
.daily-photo { height:100%; min-height:540px; }
.timeline { position:relative; padding:0; margin:30px 0 0; list-style:none; }
.timeline::before { content:""; position:absolute; left:7px; top:6px; bottom:6px; width:2px; background:var(--blue-soft); }
.timeline li { position:relative; display:grid; grid-template-columns:16px 1fr; gap:15px; }
.timeline li+li { margin-top:20px; }
.timeline li>span { position:relative; z-index:1; width:16px; height:16px; margin-top:4px; border:4px solid white; border-radius:50%; background:var(--blue); box-shadow:0 0 0 2px var(--blue); }
.timeline strong { color:var(--navy); }
.timeline p { margin-top:3px; color:var(--muted); font-size:12px; }
.menu-card { position:relative; display:grid; grid-template-rows:240px 1fr; padding:0 42px 42px; background:linear-gradient(180deg,var(--pink-soft),white 52%); }
.menu-illustration { position:relative; display:grid; place-items:center; }
.plate { position:relative; width:170px; height:170px; display:block; border:20px solid white; border-radius:50%; background:#f5dfb9; box-shadow:var(--shadow); }
.plate i { position:absolute; border-radius:50%; }.plate i:nth-child(1){width:48px;height:48px;left:12px;top:20px;background:#69b85a}.plate i:nth-child(2){width:60px;height:35px;right:5px;top:38px;background:#f47d67;border-radius:40px;transform:rotate(-15deg)}.plate i:nth-child(3){width:70px;height:38px;left:30px;bottom:15px;background:#f3c44d;border-radius:50% 40%}
.menu-points { display:flex; flex-wrap:wrap; gap:8px; margin-top:24px; }.menu-points span{padding:8px 12px;border-radius:999px;color:var(--navy);background:var(--cream);font-size:11px;font-weight:600}

.reviews-section { background:white; }
.reviews-heading { max-width:none; display:flex; align-items:end; justify-content:space-between; }
.slider-controls { display:flex; gap:8px; }
.slider-controls button { width:46px; height:46px; border:1px solid var(--line); border-radius:50%; color:var(--navy); background:white; font-size:20px; transition:.25s ease; }
.slider-controls button:hover { color:white; background:var(--navy); }
.review-slider { overflow:hidden; }
.review-track { display:flex; gap:18px; transition:transform .45s ease; }
.review-card { min-width:calc((100% - 36px)/3); min-height:280px; padding:30px; border-radius:28px; }
.review-blue{background:#a8b9ef}.review-purple{background:#c2b9eb}.review-green{background:#b8d8ad}
.quote { color:var(--navy); font-family:var(--display); font-size:64px; line-height:.7; }
.review-card > p { margin-top:18px; color:var(--navy); font-size:15px; }
.review-card footer { display:flex; align-items:center; gap:12px; margin-top:28px; }
.review-avatar { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; color:white; background:var(--navy); font-weight:700; }
.review-card footer div { display:grid; }.review-card footer strong{color:var(--navy);font-size:12px}.review-card footer small{color:rgba(16,43,90,.65);font-size:10px}
.video-review-link { margin-top:20px; display:grid; grid-template-columns:58px 1fr auto; align-items:center; gap:16px; padding:18px 22px; border-radius:22px; color:white; background:var(--navy); }
.video-review-link .play { width:58px;height:58px;display:grid;place-items:center;border-radius:50%;color:var(--navy);background:var(--yellow); }
.video-review-link div { display:grid; }.video-review-link small{color:rgba(255,255,255,.6)}

.gallery-section { background:var(--cream); }
.gallery-grid { display:grid; grid-template-columns:1.25fr 1fr 1fr; grid-template-rows:220px 220px; gap:16px; }
.gallery-photo { position:relative; padding:0; border:0; border-radius:26px; overflow:hidden; }
.gallery-photo::after { content:"+"; position:absolute; right:15px; bottom:15px; width:40px; height:40px; display:grid; place-items:center; border-radius:50%; color:var(--navy); background:white; font-size:24px; opacity:0; transform:translateY(8px); transition:.25s ease; }
.gallery-photo:hover::after { opacity:1; transform:translateY(0); }
.gallery-photo img { transition:transform .4s ease,filter .4s ease; }.gallery-photo:hover img{transform:scale(1.04);filter:brightness(.9)}
.g1{grid-row:span 2}.g4{grid-column:2/3}.g5{grid-column:3/4}

.building-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:70px; align-items:center; }
.building-photo { min-height:520px; border-radius:40px; box-shadow:var(--shadow); }
.building-copy > p { color:var(--muted); font-size:17px; }
.building-features { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:30px; }
.building-features div { min-height:100px; display:flex; align-items:center; gap:14px; padding:20px; border-radius:20px; background:var(--cream); }
.building-features span { width:44px;height:44px;display:grid;place-items:center;flex:0 0 auto;border-radius:14px;color:var(--navy);background:var(--yellow);font-size:22px }.building-features strong{color:var(--navy);font-size:13px}

.cta-section { padding-top:20px; }
.cta-grid { display:grid; grid-template-columns:1fr 1.35fr; gap:22px; }
.cta-review,.cta-box { min-height:260px; padding:42px; border-radius:34px; }
.cta-review { position:relative; background:var(--cream); }
.quote-mark { color:var(--yellow); font-family:var(--display); font-size:82px; line-height:.5; }
.cta-review p { max-width:470px; margin-top:25px; color:var(--navy); font-size:18px; }
.cta-dots { display:flex; gap:8px; margin-top:28px; }.cta-dots i{width:8px;height:8px;border-radius:50%;background:var(--pink)}.cta-dots i:nth-child(2){background:var(--yellow)}.cta-dots i:nth-child(3){background:var(--blue)}
.cta-box { position:relative; overflow:hidden; color:white; background:var(--navy); }
.cta-box h2 { color:white; }
.cta-box p { margin-bottom:25px; color:rgba(255,255,255,.7); }
.star-doodle { position:absolute; right:40px; top:22px; color:var(--pink); font-size:72px; transform:rotate(18deg); }
.cta-box::after { content:""; position:absolute; right:-30px; bottom:-70px; width:170px; height:170px; border-radius:50% 45% 50% 40%; background:#76c74d; transform:rotate(-20deg); }

.contacts-section { background:white; }
.contacts-grid { display:grid; grid-template-columns:.75fr 1.25fr; gap:60px; align-items:start; }
.contact-copy > p { color:var(--muted); }
.contact-list { padding:0; margin:30px 0 0; list-style:none; }
.contact-list li { display:flex; align-items:flex-start; gap:14px; }.contact-list li+li{margin-top:18px}
.contact-list li>span { width:44px;height:44px;display:grid;place-items:center;flex:0 0 auto;border-radius:14px;color:var(--navy);background:var(--yellow-soft);font-size:20px }
.contact-list small { display:block; color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.1em; }.contact-list a,.contact-list p{color:var(--navy);font-weight:600}
.contact-form { padding:34px; border-radius:30px; background:var(--cream); }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.contact-form label { display:grid; gap:8px; color:var(--navy); font-size:12px; font-weight:700; }
.contact-form label+label,.contact-form .form-row+label,.contact-form .form-row+.form-row { margin-top:16px; }
.contact-form input,.contact-form select,.contact-form textarea { width:100%; padding:14px 15px; border:1px solid #e3ddd3; border-radius:13px; color:var(--navy); background:white; outline:none; }
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus { border-color:var(--blue); box-shadow:0 0 0 4px rgba(91,137,218,.12); }
.contact-form .consent { display:flex; grid-template-columns:none; align-items:flex-start; gap:9px; margin:18px 0; color:var(--muted); font-size:11px; font-weight:500; }.consent input{width:18px;height:18px;flex:0 0 auto;accent-color:var(--navy)}
.form-status { margin-top:12px; color:var(--navy); font-size:12px; font-weight:600; }

.site-footer { padding:60px 0 18px; color:rgba(255,255,255,.65); background:#071d43; }
.footer-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:45px; }
.brand-footer .brand-copy strong { color:white; }.brand-footer .brand-copy small{color:rgba(255,255,255,.5)}
.footer-grid>div:first-child p{max-width:330px;margin-top:18px}.footer-grid>div:not(:first-child){display:flex;flex-direction:column;align-items:flex-start;gap:10px}.footer-grid>div:not(:first-child)>strong{margin-bottom:5px;color:white;font-family:var(--display)}.footer-grid a:hover{color:white}
.footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:45px; padding-top:18px; border-top:1px solid rgba(255,255,255,.12); font-size:11px; }

.lightbox { max-width:min(1000px,calc(100% - 30px)); padding:10px; border:0; border-radius:26px; background:var(--navy); box-shadow:0 30px 100px rgba(0,0,0,.4); }.lightbox::backdrop{background:rgba(3,14,34,.86);backdrop-filter:blur(8px)}.lightbox img{max-height:78vh;object-fit:contain;border-radius:18px;background:white}.lightbox p{padding:12px 10px 2px;color:white;text-align:center}.lightbox-close{position:absolute;right:18px;top:18px;z-index:2;width:44px;height:44px;border:0;border-radius:50%;color:white;background:rgba(7,29,67,.8);font-size:28px}

@media (max-width: 1120px) {
  .main-nav { gap:15px; }.header-cta{display:none}.hero-grid{grid-template-columns:1fr 1fr}.hero-feature-bar{grid-template-columns:repeat(3,1fr)}.hero-feature-bar article:nth-child(4){border-left:0}.hero-feature-bar article:nth-child(n+4){border-top:1px solid #ddd8ce;padding-top:22px}.program-grid{grid-template-columns:1fr 1fr}.stats-row{grid-template-columns:repeat(3,1fr)}.results-cards{grid-template-columns:1fr 1fr}.result-story{grid-column:1/-1}.teachers-grid{grid-template-columns:1fr 1fr}.daily-grid{grid-template-columns:1fr}.contacts-grid{grid-template-columns:1fr 1.2fr}.footer-grid{grid-template-columns:1.3fr 1fr 1fr}.footer-grid>div:last-child{grid-column:2/-1}
}

@media (max-width: 900px) {
  .header-inner{min-height:72px}.menu-toggle{display:block;margin-left:auto}.main-nav{position:fixed;inset:72px 0 auto;display:grid;gap:0;padding:12px 22px 26px;border-bottom:1px solid var(--line);background:white;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(-120%);transition:.3s ease}.main-nav.is-open{opacity:1;visibility:visible;transform:translateY(0)}.main-nav a{padding:14px 2px;border-bottom:1px solid var(--line);font-size:13px}.main-nav a::after{display:none}.hero-grid{grid-template-columns:1fr}.hero-copy{padding-bottom:30px}.hero-media{min-height:520px}.hero-photo{inset:0;border-radius:80px}.hero-blob-blue{display:none}.hero-feature-wrap{margin-top:-35px}.hero-feature-bar{grid-template-columns:1fr 1fr}.hero-feature-bar article:nth-child(n){border-left:0;border-top:1px solid #ddd8ce}.hero-feature-bar article:nth-child(1),.hero-feature-bar article:nth-child(2){border-top:0}.intro-grid,.skills-layout,.building-grid,.contacts-grid{grid-template-columns:1fr}.skills-title{position:static}.route-grid{grid-template-columns:1fr 1fr;gap:18px}.route-arrow{display:none}.results-heading{grid-template-columns:1fr}.stats-row{grid-template-columns:repeat(2,1fr)}.daily-routine{grid-template-columns:1fr}.daily-photo{min-height:300px}.review-card{min-width:calc((100% - 18px)/2)}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:260px 200px 200px}.g1{grid-row:auto;grid-column:span 2}.g4,.g5{grid-column:auto}.cta-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:last-child{grid-column:auto}
}

@media (max-width: 650px) {
  .container{width:min(calc(100% - 28px),var(--container))}.brand-copy small{display:none}.brand-mark{width:43px;height:43px}.brand-mark::before{inset:7px}.header-inner{min-height:66px}.main-nav{inset:66px 0 auto}.hero{padding-top:28px}.hero-copy{padding-top:28px}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%}.hero-mini-benefits{display:grid}.hero-media{min-height:390px}.hero-photo{border-radius:45px}.round-sticker{width:96px;height:96px;right:5px;bottom:18px;border-width:4px}.round-sticker strong{font-size:25px}.hero-feature-bar{grid-template-columns:1fr}.hero-feature-bar article:nth-child(n){border-top:1px solid #ddd8ce}.hero-feature-bar article:first-child{border-top:0}.intro-section{padding-top:76px}.intro-collage{min-height:560px}.collage-main{width:100%;height:320px}.collage-card{left:0;right:auto;top:340px;width:48%;min-height:190px}.collage-small{width:48%;height:190px}.rainbow{display:none}.route-section{padding-block:86px}.route-panel{padding:0}.route-grid{grid-template-columns:1fr}.tab-buttons{width:100%}.tab-button{min-width:0;flex:1;padding-inline:12px;font-size:11px}.program-grid,.skills-grid,.teachers-grid,.results-cards,.form-row{grid-template-columns:1fr}.stats-row{grid-template-columns:1fr 1fr}.stat-tile{min-height:125px}.result-story{grid-column:auto}.review-card{min-width:100%}.gallery-grid{grid-template-columns:1fr;grid-template-rows:repeat(5,220px)}.g1,.g4,.g5{grid-column:auto}.building-photo{min-height:360px}.building-features{grid-template-columns:1fr}.cta-review,.cta-box{padding:32px 25px}.contact-form{padding:25px}.footer-grid{grid-template-columns:1fr}.footer-bottom{align-items:flex-start;flex-direction:column}.lightbox{width:calc(100% - 18px)}
}

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

/* ===== First screen v2: reference-based responsive tuning ===== */
@media (max-width: 1320px) {
  .header-inner { width:min(calc(100% - 38px),1450px); gap:18px; }
  .school-connection { display:none; }
  .direction-switch { min-width:280px; }
  .direction-switch__item { min-width:140px; padding-inline:18px; }
  .main-nav { gap:22px; }
  .hero-grid, .hero-feature-wrap { width:min(calc(100% - 70px),1410px); }
  .hero-copy h1 { font-size:clamp(48px,5.1vw,68px); }
}

@media (max-width: 1120px) {
  .site-header, .hero { width:calc(100% - 28px); }
  .direction-switch { margin-left:auto; }
  .main-nav { position:fixed; inset:92px 28px auto; z-index:200; display:grid; gap:0; padding:14px 20px 24px; border:1px solid var(--line); border-radius:20px; background:#fff; box-shadow:var(--shadow); opacity:0; visibility:hidden; transform:translateY(-18px); transition:.25s ease; }
  .main-nav.is-open { opacity:1; visibility:visible; transform:translateY(0); }
  .main-nav a { padding:13px 2px; border-bottom:1px solid var(--line); }
  .main-nav a::after { display:none; }
  .menu-toggle { display:grid; }
  .hero-grid { grid-template-columns:1fr 1fr; gap:32px; }
  .hero-copy h1 { font-size:clamp(44px,5vw,58px); }
  .hero-rays { display:none; }
  .hero-stats { grid-template-columns:1fr 1fr; }
  .hero-stat-card:nth-child(3) { grid-column:1 / -1; }
  .hero-actions { gap:12px; }
  .btn-coral,.btn-blue-outline { min-width:0; flex:1 1 240px; }
  .hero-feature-bar { grid-template-columns:1fr 1fr; }
}

@media (max-width: 900px) {
  .site-header { margin-top:12px; border-radius:22px 22px 0 0; }
  .header-inner { min-height:78px; width:min(calc(100% - 28px),1450px); }
  .brand-beads { width:58px; height:46px; transform:scale(.85); transform-origin:left center; margin-right:-8px; }
  .brand-copy strong { font-size:25px; }
  .direction-switch { display:none; }
  .header-phone { width:46px; height:46px; }
  .menu-toggle { width:46px; height:46px; }
  .main-nav { inset:82px 22px auto; }
  .hero { border-radius:0 0 22px 22px; padding-top:25px; }
  .hero-grid { grid-template-columns:1fr; width:min(calc(100% - 48px),1410px); }
  .hero-copy { padding:25px 0 10px; }
  .hero-copy h1 { max-width:700px; font-size:clamp(48px,8vw,66px); }
  .hero-copy-dots { display:none; }
  .hero-lead { max-width:650px; }
  .hero-stats { max-width:none; grid-template-columns:repeat(3,1fr); }
  .hero-stat-card:nth-child(3) { grid-column:auto; }
  .hero-media { min-height:520px; margin-top:12px; }
  .hero-photo { inset:0; border-radius:36% 64% 48% 52% / 30% 32% 68% 70%; }
  .age-badge { left:15px; bottom:45px; }
  .hero-feature-wrap { width:min(calc(100% - 48px),1410px); margin-top:16px; }
  .hero-decoration--pink,.hero-decoration--blue { display:none; }
  .hero-decoration--flower { right:6%; top:44%; }
}

@media (max-width: 650px) {
  .site-header,.hero { width:calc(100% - 16px); }
  .site-header { margin-top:8px; }
  .header-inner { width:calc(100% - 20px); min-height:68px; gap:10px; }
  .brand { gap:6px; }
  .brand-beads { width:48px; margin-right:-14px; transform:scale(.72); }
  .brand-copy strong { font-size:21px; }
  .header-actions { gap:7px; }
  .header-phone,.menu-toggle { width:42px; height:42px; }
  .main-nav { inset:74px 14px auto; }
  .hero-grid,.hero-feature-wrap { width:calc(100% - 28px); }
  .hero-copy { padding-top:18px; }
  .hero-copy h1 { font-size:clamp(41px,12vw,55px); line-height:.97; }
  .hero-lead { font-size:15px; }
  .hero-stats { grid-template-columns:1fr; gap:10px; }
  .hero-stat-card:nth-child(3) { grid-column:auto; }
  .hero-stat-card { min-height:73px; }
  .hero-actions { flex-direction:column; }
  .btn-coral,.btn-blue-outline { width:100%; min-width:0; }
  .hero-media { min-height:390px; }
  .hero-photo { border-radius:70px 70px 90px 65px; }
  .age-badge { width:104px; height:104px; left:8px; bottom:20px; border-width:6px; }
  .age-badge strong { font-size:15px; }
  .age-badge small { font-size:8px; }
  .hero-decoration--leaf { left:-12px; top:45px; transform:scale(.75) rotate(-14deg); }
  .hero-decoration--flower { display:none; }
  .hero-decoration--petal { right:-38px; bottom:100px; transform:scale(.7) rotate(-14deg); }
  .hero-decoration--tulip { display:none; }
  .hero-feature-bar { grid-template-columns:1fr; gap:10px; }
  .hero-feature-bar article { min-height:100px; padding:17px 18px; }
  .feature-icon { width:54px; height:54px; font-size:25px; }
}

/* ÐÐ´Ð°Ð¿Ñ‚Ð¸Ð² Ð½Ð¾Ð²Ð¾Ð¹ ÑˆÐ°Ð¿ÐºÐ¸ Ð¸ Ð¿ÐµÑ€Ð²Ð¾Ð³Ð¾ ÑÐºÑ€Ð°Ð½Ð° */
@media (max-width: 1220px) {
  .header-nav { gap: 16px; }
  .header-nav a { font-size: 11px; }
  .header-cta { padding-inline: 14px; }
  .hero-primary__inner { grid-template-columns: minmax(430px,.9fr) minmax(500px,1.1fr); gap: 28px; }
  .hero-primary h1 { font-size: clamp(48px,5vw,64px); }
  .hero-primary__stats { grid-template-columns: 1fr 1fr; }
  .hero-info-card:nth-child(3) { grid-column: 1 / -1; }
}

@media (max-width: 1080px) {
  .header-shell { min-height: 70px; }
  .header-nav {
    position: fixed;
    inset: 70px 18px auto;
    z-index: 1100;
    display: grid;
    gap: 0;
    padding: 14px 20px 24px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: white;
    box-shadow: var(--shadow);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-16px);
    transition: .25s ease;
  }
  .header-nav.is-open { opacity: 1; visibility: visible; transform: translateY(0); }
  .header-nav a { padding: 13px 2px; border-bottom: 1px solid var(--line); font-size: 14px; }
  .header-nav a::after { display: none; }
  .header-menu-toggle { display: block; margin-left: auto; }
  .header-cta { margin-left: auto; }
  .hero-primary__inner { grid-template-columns: 1fr; }
  .hero-primary__copy { max-width: 800px; }
  .hero-primary h1 { max-width: 760px; font-size: clamp(52px,7vw,72px); }
  .hero-primary__lead { max-width: 660px; }
  .hero-primary__stats { max-width: 720px; grid-template-columns: repeat(3,1fr); }
  .hero-info-card:nth-child(3) { grid-column: auto; }
  .hero-primary__media { min-height: 590px; margin-top: 10px; }
  .hero-primary__photo { inset: 0; width: 100%; object-fit: contain; }
  .hero-age-badge { left: 4%; bottom: 70px; }
  .hero-primary__features { grid-template-columns: 1fr 1fr; }
  .hero-primary__shape--pink, .hero-primary__shape--blue { display: none; }
}

@media (max-width: 760px) {
  html { scroll-padding-top: 66px; }
  .header-shell { width: calc(100% - 24px); min-height: 66px; gap: 10px; }
  .header-brand__mark { width: 36px; height: 36px; }
  .header-brand__name { font-size: 21px; }
  .header-directions { gap: 8px; }
  .header-direction--garden { padding: 7px 9px; font-size: 11px; }
  .header-direction--school { font-size: 11px; }
  .header-direction--school span { display: none; }
  .header-cta { display: none; }
  .header-menu-toggle { margin-left: auto; }
  .header-nav { inset: 66px 12px auto; }
  .hero-primary { padding-top: 40px; }
  .hero-primary__inner, .hero-primary__features { width: calc(100% - 28px); }
  .hero-primary__copy::before { display: none; }
  .hero-primary h1 { font-size: clamp(42px,11vw,60px); }
  .hero-primary__lead { font-size: 15px; }
  .hero-primary__stats { grid-template-columns: 1fr; gap: 10px; }
  .hero-info-card:nth-child(3) { grid-column: auto; }
  .hero-primary__actions { flex-direction: column; gap: 12px; }
  .hero-button { width: 100%; min-width: 0; }
  .hero-primary__media { min-height: 410px; }
  .hero-age-badge { width: 108px; height: 108px; left: 8px; bottom: 44px; border-width: 5px; }
  .hero-age-badge img { width: 28px; height: 28px; }
  .hero-age-badge strong { font-size: 15px; }
  .hero-primary__leaf { transform: scale(.72) rotate(-12deg); left: -30px; top: 74px; }
  .hero-primary__features { grid-template-columns: 1fr; gap: 10px; }
  .hero-feature { min-height: 100px; padding: 16px 18px; }
  .hero-feature__icon { width: 55px; height: 55px; padding: 12px; }
}

@media (max-width: 430px) {
  .header-brand__mark { width: 32px; height: 32px; }
  .header-brand__name { font-size: 19px; }
  .header-direction--garden { padding: 6px 8px; }
  .header-direction--school strong { font-size: 11px; }
  .hero-primary h1 { font-size: clamp(38px,11.5vw,49px); }
  .hero-primary__media { min-height: 330px; }
  .hero-age-badge { width: 92px; height: 92px; bottom: 28px; }
  .hero-age-badge span { font-size: 7px; }
  .hero-age-badge strong { font-size: 13px; }
}

/* =========================================================
   ÐŸÐµÑ€Ð²Ñ‹Ð¹ ÑÐºÑ€Ð°Ð½ â€” Ð²ÐµÑ€ÑÐ¸Ñ Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒÑÐºÐ¸Ð¼ Ñ„Ð¾Ñ‚Ð¾ Ð¸ ÑÐ¼ÐµÐ½Ð½Ñ‹Ð¼Ð¸
   Ñ„Ð¾Ð½Ð¾Ð²Ñ‹Ð¼Ð¸ Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸ÑÐ¼Ð¸ Ð¿Ð¾ ÐºÑ€Ð°ÑÐ¼. Ð¨Ð°Ð¿ÐºÐ° Ð²Ñ‹ÑˆÐµ Ð½Ðµ Ð¸Ð·Ð¼ÐµÐ½ÑÐ»Ð°ÑÑŒ.
   ========================================================= */
.hero-primary__bg-art {
  position: absolute;
  z-index: 1;
  pointer-events: none;
  user-select: none;
  object-fit: contain;
}
.hero-primary__bg-art--left {
  left: 0;
  top: 70px;
  width: clamp(110px, 13vw, 240px);
  height: auto;
  transform: translateX(-32%);
}
.hero-primary__bg-art--right {
  right: 0;
  top: 74px;
  width: clamp(125px, 14vw, 260px);
  height: auto;
  transform: translateX(34%);
}
.hero-primary__media {
  min-height: 585px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.hero-primary__photo {
  position: relative;
  inset: auto;
  width: min(100%, 700px);
  height: auto;
  max-height: 585px;
  object-fit: contain;
  object-position: center;
  border-radius: 0;
}
.hero-age-badge {
  left: 0;
  bottom: 58px;
}
/* Ð¡Ñ‚Ð°Ñ€Ñ‹Ð¹ CSS-Ð´ÐµÐºÐ¾Ñ€ Ð±Ð¾Ð»ÑŒÑˆÐµ Ð½Ðµ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ÑÑ. */
.hero-primary__shape,
.hero-primary__leaf {
  display: none !important;
}

@media (max-width: 1080px) {
  .hero-primary__media {
    min-height: auto;
    margin-top: 18px;
  }
  .hero-primary__photo {
    width: min(100%, 760px);
    max-height: none;
    margin-inline: auto;
  }
  .hero-primary__bg-art--left {
    top: 95px;
    width: 150px;
    transform: translateX(-45%);
  }
  .hero-primary__bg-art--right {
    top: 40%;
    width: 165px;
    transform: translateX(48%);
  }
  .hero-age-badge {
    left: 6%;
    bottom: 8%;
  }
}

@media (max-width: 760px) {
  .hero-primary__bg-art--left {
    top: 55px;
    width: 105px;
  }
  .hero-primary__bg-art--right {
    top: 48%;
    width: 115px;
  }
  .hero-primary__photo {
    width: 100%;
  }
  .hero-age-badge {
    left: 8px;
    bottom: 28px;
  }
}

/* =========================================================
   Hero photo â€” desktop height follows only the left content.
   The media column does not set the row height; the image keeps
   its native aspect ratio and is scaled by height.
   ========================================================= */
@media (min-width: 1081px) {
  .hero-primary__inner {
    align-items: stretch;
  }

  .hero-primary__media {
    position: relative;
    min-width: 0;
    min-height: 0;
    height: auto;
    margin: 0;
    display: block;
  }

  .hero-primary__photo {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: auto;
    width: auto;
    height: 100%;
    max-width: none;
    max-height: none;
    object-fit: contain;
    object-position: right center;
  }

  .hero-age-badge {
    left: -34px;
    bottom: 58px;
  }
}

/* =========================================================
   ÐŸÐµÑ€Ð²Ñ‹Ð¹ ÑÐºÑ€Ð°Ð½ v5 â€” ÑÑ‚Ð°Ð¶ + CTA Ð¿Ð¾ ÑÐ¾Ð³Ð»Ð°ÑÐ¾Ð²Ð°Ð½Ð½Ð¾Ð¼Ñƒ Ð¿Ñ€Ð¸Ð¼ÐµÑ€Ñƒ.
   Ð¨Ð°Ð¿ÐºÐ° Ð½Ðµ Ð¼ÐµÐ½ÑÐµÑ‚ÑÑ.
   ========================================================= */
.hero-primary__stats {
  max-width: 520px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 34px;
  margin-top: 30px;
}

.hero-info-card {
  min-height: 66px;
  gap: 13px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.hero-info-card__icon {
  width: 52px;
  height: 52px;
  padding: 11px;
  border-radius: 50%;
}

.hero-info-card--garden .hero-info-card__icon {
  background: #78bd4d;
}

.hero-info-card--school .hero-info-card__icon {
  background: #61b3df;
}

.hero-info-card__icon img {
  filter: brightness(0) invert(1);
}

.hero-info-card strong {
  display: flex;
  align-items: baseline;
  gap: 5px;
  color: #69b840;
  font-size: 30px;
  font-weight: 600;
  line-height: .95;
}

.hero-info-card--school strong {
  color: #58a8d8;
}

.hero-info-card strong em {
  font-size: 17px;
  font-style: normal;
  font-weight: 600;
}

.hero-info-card small {
  margin-top: 7px;
  color: #1e2938;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.2;
}

.hero-primary__actions {
  max-width: 560px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 25px;
}

.hero-button {
  min-width: 0;
  min-height: 54px;
  gap: 0;
  padding: 13px 22px;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 600;
}

.hero-button--primary {
  color: #fff;
  background: #ff675e;
  box-shadow: 0 9px 20px rgba(255, 103, 94, .18);
}

.hero-button--primary:hover {
  background: #f85d55;
}

.hero-button--trial {
  color: #24313e;
  background: #ffc928;
  border-color: #ffc928;
  box-shadow: 0 9px 20px rgba(255, 201, 40, .18);
}

.hero-button--trial:hover {
  transform: translateY(-2px);
  background: #f7bf17;
  border-color: #f7bf17;
}

.hero-age-badge {
  display: none !important;
}

@media (max-width: 1080px) {
  .hero-primary__stats {
    max-width: 560px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .hero-primary__actions {
    max-width: 590px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .hero-primary__stats {
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }
  .hero-info-card__icon {
    width: 46px;
    height: 46px;
    padding: 10px;
  }
  .hero-info-card strong {
    font-size: 25px;
  }
  .hero-info-card strong em {
    font-size: 14px;
  }
  .hero-info-card small {
    font-size: 10px;
  }
  .hero-primary__actions {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}

/* =========================================================
   ÐŸÐµÑ€Ð²Ñ‹Ð¹ ÑÐºÑ€Ð°Ð½ v6 â€” Ð½Ð¸Ð¶Ð½Ð¸Ð¹ Ð±Ð»Ð¾Ðº Ð¿Ñ€ÐµÐ¸Ð¼ÑƒÑ‰ÐµÑÑ‚Ð² ÐºÐ°Ðº Ð² Ñ€ÐµÑ„ÐµÑ€ÐµÐ½ÑÐµ:
   ÐµÐ´Ð¸Ð½Ð°Ñ ÑÐ²ÐµÑ‚Ð»Ð°Ñ Ð¿Ð°Ð½ÐµÐ»ÑŒ, Ð²ÐµÑ€Ñ‚Ð¸ÐºÐ°Ð»ÑŒÐ½Ñ‹Ðµ Ñ€Ð°Ð·Ð´ÐµÐ»Ð¸Ñ‚ÐµÐ»Ð¸,
   ÐºÑ€ÑƒÐ³Ð»Ñ‹Ðµ Ñ†Ð²ÐµÑ‚Ð½Ñ‹Ðµ SVG-Ð¸ÐºÐ¾Ð½ÐºÐ¸ Ð¸ Ñ†ÐµÐ½Ñ‚Ñ€Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð°Ñ Ñ‚Ð¸Ð¿Ð¾Ð³Ñ€Ð°Ñ„Ð¸ÐºÐ°.
   ========================================================= */
.hero-primary__features {
  width: min(calc(100% - 4vw), 1540px);
  margin: 28px auto 0;
  padding: 24px 18px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  overflow: hidden;
  border: 1px solid #f0ece5;
  border-radius: 34px;
  background: #fffaf3;
  box-shadow: 0 10px 28px rgba(22, 45, 73, .05);
}

.hero-feature {
  position: relative;
  min-height: 176px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
  padding: 8px 34px 10px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  text-align: center;
}

.hero-feature:not(:first-child)::before {
  content: "";
  position: absolute;
  left: 0;
  top: 20px;
  bottom: 18px;
  width: 1px;
  background: #e3ddd4;
}

.hero-feature__icon {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  margin-bottom: 16px;
  padding: 13px;
  border-radius: 50%;
}

.hero-feature__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.hero-feature__icon--mint {
  background: #58b56c;
}
.hero-feature__icon--pink {
  background: #ff8991;
}
.hero-feature__icon--yellow {
  background: #f9be25;
}
.hero-feature__icon--blue {
  background: #6598dc;
}

/* SVG-Ð·Ð°Ð³Ð»ÑƒÑˆÐºÐ¸ ÑÐµÐ¹Ñ‡Ð°Ñ Ñ‚Ñ‘Ð¼Ð½Ñ‹Ðµ â€” Ð´ÐµÐ»Ð°ÐµÐ¼ Ð¸Ñ… Ð±ÐµÐ»Ñ‹Ð¼Ð¸.
   ÐŸÑ€Ð¸ Ð·Ð°Ð¼ÐµÐ½Ðµ Ð½Ð° ÑÐ¾Ð±ÑÑ‚Ð²ÐµÐ½Ð½Ñ‹Ðµ Ñ†Ð²ÐµÑ‚Ð½Ñ‹Ðµ SVG ÑÑ‚Ð¾Ñ‚ filter Ð¼Ð¾Ð¶Ð½Ð¾ ÑƒÐ´Ð°Ð»Ð¸Ñ‚ÑŒ. */
.hero-feature__icon img {
  filter: brightness(0) invert(1);
}

.hero-feature > div {
  display: grid;
  justify-items: center;
}

.hero-feature h3 {
  max-width: 170px;
  margin: 0 0 10px;
  color: #172b4b;
  font-family: var(--body);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.22;
  letter-spacing: 0;
}

.hero-feature p {
  max-width: 205px;
  margin: 0;
  color: #5f6978;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.5;
}

@media (max-width: 900px) {
  .hero-primary__features {
    width: min(calc(100% - 36px), 760px);
    grid-template-columns: 1fr 1fr;
    padding: 14px 16px;
    border-radius: 28px;
  }

  .hero-feature {
    min-height: 168px;
    padding: 20px 24px;
  }

  .hero-feature:nth-child(3)::before {
    display: none;
  }

  .hero-feature:nth-child(n+3)::after {
    content: "";
    position: absolute;
    left: 22px;
    right: 22px;
    top: 0;
    height: 1px;
    background: #e3ddd4;
  }
}

@media (max-width: 560px) {
  .hero-primary__features {
    width: calc(100% - 28px);
    grid-template-columns: 1fr;
    padding: 10px 18px;
    border-radius: 24px;
  }

  .hero-feature {
    min-height: 0;
    padding: 22px 16px 24px;
  }

  .hero-feature:not(:first-child)::before {
    left: 18px;
    right: 18px;
    top: 0;
    bottom: auto;
    width: auto;
    height: 1px;
  }

  .hero-feature:nth-child(3)::before {
    display: block;
  }

  .hero-feature:nth-child(n+3)::after {
    display: none;
  }

  .hero-feature__icon {
    width: 54px;
    height: 54px;
    margin-bottom: 13px;
    padding: 12px;
  }

  .hero-feature h3 {
    font-size: 15px;
  }
}

/* =========================================================
   ÐŸÐµÑ€Ð²Ñ‹Ð¹ ÑÐºÑ€Ð°Ð½ v7 â€” Ð¿Ñ€ÐµÐ¸Ð¼ÑƒÑ‰ÐµÑÑ‚Ð²Ð° Ð½Ð°ÑˆÐµÐ¹ ÑÑ€ÐµÐ´Ñ‹
   5 ÐºÐ°Ñ€Ñ‚Ð¾Ñ‡ÐµÐº Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒÑÐºÐ¸Ð¼Ð¸ PNG-Ð¸ÐºÐ¾Ð½ÐºÐ°Ð¼Ð¸.
   ========================================================= */
.hero-advantages {
  position: relative;
  z-index: 6;
  width: min(calc(100% - 4vw), 1540px);
  margin: 34px auto 0;
  padding: 30px 24px 32px;
  border-radius: 28px;
  background: var(--cream);
}

.hero-advantages__title {
  margin: 0 0 22px;
  color: #172b4b;
  font-family: var(--body);
  font-size: clamp(24px, 2vw, 32px);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -.02em;
  text-align: center;
}

.hero-advantages__title span {
  display: inline-block;
  margin-left: 5px;
  color: #73b84f;
  font-size: .7em;
  transform: translateY(-2px) rotate(-10deg);
}

.hero-advantages .hero-primary__features {
  width: 100%;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.hero-advantages .hero-feature {
  position: relative;
  min-height: 245px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding: 22px 18px 24px;
  border: 1.5px solid #dfe7dc;
  border-radius: 20px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 7px 20px rgba(20, 45, 75, .035);
  text-align: center;
  transition: transform .22s ease, box-shadow .22s ease;
}

.hero-advantages .hero-feature:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(20, 45, 75, .07);
}

.hero-advantages .hero-feature::before,
.hero-advantages .hero-feature::after {
  display: none !important;
}

.hero-advantages .hero-feature--green { border-color: #b9dca7; }
.hero-advantages .hero-feature--yellow { border-color: #f6d887; }
.hero-advantages .hero-feature--blue { border-color: #b9d9ef; }
.hero-advantages .hero-feature--coral { border-color: #f4b9ae; }
.hero-advantages .hero-feature--violet { border-color: #d5c4ef; }

.hero-advantages .hero-feature__icon {
  width: 210px;
  height: 122px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  margin: 0 0 15px;
  padding: 0;
  border-radius: 0;
  background: transparent !important;
}

.hero-advantages .hero-feature__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: none !important;
}

.hero-advantages .hero-feature > div {
  display: grid;
  justify-items: center;
}

.hero-advantages .hero-feature h3 {
  max-width: 220px;
  min-height: 46px;
  margin: 0 0 12px;
  color: #172b4b;
  font-family: var(--body);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.28;
  letter-spacing: 0;
}

.hero-advantages .hero-feature p {
  max-width: 220px;
  margin: 0;
  color: #5f6978;
  font-size: 11.5px;
  font-weight: 400;
  line-height: 1.52;
}


.hero-license {
  width: 58%;
  max-width: 840px;
  min-width: 680px;
  display: flex;
  align-items: center;
  gap: 26px;
  margin: 32px auto 2px;
}

.hero-license__icon {
  width: 118px;
  height: auto;
  flex: 0 0 118px;
  display: block;
  object-fit: contain;
}

.hero-license p {
  margin: 0;
  color: #172b4b;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.55;
}

.hero-license strong {
  font-weight: 600;
}

@media (max-width: 1180px) {
  .hero-advantages .hero-primary__features {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .hero-advantages .hero-feature {
    min-height: 230px;
  }
}

@media (max-width: 900px) {
  .hero-license {
    width: 82%;
    min-width: 0;
  }
}

@media (max-width: 800px) {
  .hero-advantages {
    width: min(calc(100% - 36px), 760px);
  }
  .hero-advantages .hero-primary__features {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .hero-license {
    width: 100%;
    min-width: 0;
    gap: 16px;
    margin-top: 26px;
    align-items: flex-start;
  }

  .hero-license__icon {
    width: 82px;
    flex-basis: 82px;
  }

  .hero-license p {
    font-size: 14px;
    line-height: 1.5;
  }
}

@media (max-width: 560px) {
  .hero-advantages {
    width: calc(100% - 28px);
    margin-top: 28px;
  }
  .hero-advantages__title {
    margin-bottom: 18px;
    font-size: 23px;
  }
  .hero-advantages .hero-primary__features {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .hero-advantages .hero-feature {
    min-height: 0;
    padding: 20px 18px 22px;
  }
  .hero-advantages .hero-feature__icon {
    width: 210px;
    height: 109px;
    margin-bottom: 12px;
  }
  .hero-advantages .hero-feature h3 {
    min-height: 0;
    font-size: 15px;
  }
}

/* =========================================================
   ABOUT / Ðž Ð¦Ð•ÐÐ¢Ð Ð• â€” section styled from the approved reference
   ========================================================= */
.about-story-section {
  position: relative;
  overflow: hidden;
  padding-block: clamp(86px, 8vw, 122px);
  background: #fff;
}

.about-story-grid {
  display: grid;
  grid-template-columns: minmax(340px, .78fr) minmax(650px, 1.35fr);
  align-items: center;
  gap: clamp(48px, 6vw, 88px);
}

.about-story-copy {
  position: relative;
  z-index: 2;
  max-width: 520px;
}

.about-story-copy .kicker {
  margin-bottom: 26px;
}

.about-story-copy h2 {
  max-width: 500px;
  margin-bottom: 30px;
  font-size: clamp(46px, 4.7vw, 68px);
  font-weight: 500;
  line-height: 1.06;
  letter-spacing: -.035em;
}

.about-story-heart {
  display: inline-block;
  margin-left: 4px;
  color: var(--pink);
  font-family: var(--body);
  font-size: .76em;
  font-weight: 400;
  line-height: 1;
  transform: rotate(-8deg);
}

.about-story-copy > p {
  max-width: 505px;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.9;
}

.about-story-link {
  margin-top: 30px;
  font-size: 14px;
  font-weight: 500;
}

.about-story-collage {
  position: relative;
  min-height: 605px;
}

.about-story-main,
.about-story-small {
  position: absolute;
  margin: 0;
}

.about-story-main {
  left: 0;
  top: 0;
  width: 58%;
}

.about-story-main img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

.about-story-badge {
  position: absolute;
  left: -70px;
  bottom: -22px;
  z-index: 4;
  width: 195px;
  height: auto;
  display: block;
  pointer-events: none;
}

.about-story-note {
  position: absolute;
  right: 0;
  top: 12px;
  width: 38%;
  min-height: 245px;
  padding: 34px 34px 30px;
  border-radius: 28px;
  background: linear-gradient(145deg, #edf6ff 0%, #dcecff 100%);
}

.about-story-note__icon {
  width: 58px;
  height: 58px;
  margin-bottom: 18px;
  object-fit: contain;
  mix-blend-mode: multiply;
}

.about-story-note h3 {
  margin: 0 0 13px;
  color: var(--navy);
  font-size: clamp(21px, 2vw, 28px);
  font-weight: 500;
  line-height: 1.18;
}

.about-story-note p {
  color: #70819c;
  font-size: 14px;
  line-height: 1.6;
}

.about-story-note__dot {
  position: absolute;
  right: 25px;
  bottom: 21px;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: #90bae8;
}

.about-story-small {
  right: 0;
  bottom: 16px;
  width: 39%;
  overflow: hidden;
  border: 4px solid #fff;
  border-radius: 29px;
  box-shadow: 0 15px 35px rgba(16, 43, 90, .09);
}

.about-story-small img {
  width: 100%;
  height: auto;
  aspect-ratio: 366 / 337;
  object-fit: cover;
}

.about-story-decor {
  position: absolute;
  z-index: 3;
  pointer-events: none;
}

.about-story-decor--heart {
  right: -18px;
  top: 13px;
  color: #f47f8c;
  font-size: 31px;
  transform: rotate(14deg);
}

.about-story-decor--star {
  right: -15px;
  top: 300px;
  color: var(--yellow);
  font-size: 31px;
  transform: rotate(10deg);
}

.about-story-decor--dot-one,
.about-story-decor--dot-two {
  width: 11px;
  height: 11px;
  border-radius: 50%;
}

.about-story-decor--dot-one {
  right: -30px;
  bottom: 120px;
  background: #f28b9e;
}

.about-story-decor--dot-two {
  left: 58%;
  bottom: 58px;
  background: #f7bf45;
}

@media (max-width: 1100px) {
  .about-story-grid {
    grid-template-columns: .85fr 1.15fr;
    gap: 40px;
  }
  .about-story-collage { min-height: 540px; }
  .about-story-main { width: 60%; }
  .about-story-note { width: 37%; padding: 28px; }
  .about-story-small { width: 38%; }
}

@media (max-width: 900px) {
  .about-story-grid {
    grid-template-columns: 1fr;
    gap: 48px;
  }
  .about-story-copy {
    max-width: 670px;
  }
  .about-story-copy h2 {
    max-width: 650px;
  }
  .about-story-collage {
    width: min(100%, 760px);
    min-height: 590px;
    margin-inline: auto;
  }
}

@media (max-width: 650px) {
  .about-story-section {
    padding-block: 70px;
  }
  .about-story-copy h2 {
    font-size: clamp(38px, 11vw, 52px);
  }
  .about-story-copy > p {
    font-size: 15px;
    line-height: 1.75;
  }
  .about-story-collage {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    min-height: 0;
  }
  .about-story-main,
  .about-story-note,
  .about-story-small {
    position: relative;
    inset: auto;
    width: auto;
  }
  .about-story-main {
    grid-column: 1 / -1;
  }
  .about-story-badge {
    left: 12px;
    bottom: 14px;
    width: 144px;
  }
  .about-story-note {
    min-height: 220px;
    padding: 24px;
    border-radius: 24px;
  }
  .about-story-note__icon {
    width: 48px;
    height: 48px;
  }
  .about-story-small {
    border-radius: 24px;
  }
  .about-story-decor {
    display: none;
  }
}

@media (max-width: 480px) {
  .about-story-collage {
    grid-template-columns: 1fr;
  }
  .about-story-note,
  .about-story-small {
    width: 100%;
  }
  .about-story-small img {
    aspect-ratio: 4 / 3;
  }
  .about-story-badge {
    width: 200px;
        left: -12px;
        bottom: 535px;
  }

}


@media (max-width: 900px) {
  .route-section {
    padding-block: 92px;
  }
}

@media (max-width: 650px) {
  .route-section::before,
  .route-section::after {
    height: 54px;
  }
  .route-section {
    padding-block: 70px;
  }
  .route-card {
    min-height: 0;
    padding: 28px 22px;
  }
  .route-card p {
    max-width: none;
  }
}


@media (max-width: 1200px) {
  .route-decor--plane { top: 96px; left: -10px; width: 210px; }
  .route-decor--leaf-top { top: 92px; right: -2px; width: 108px; }
  .route-decor--dots { right: 38px; bottom: 18px; width: 150px; }
  .route-decor--branch { left: 0; bottom: 18px; width: 160px; }
}

@media (max-width: 900px) {
  .route-decor--plane { top: 74px; left: 0; width: 150px; }
  .route-decor--leaf-top { top: 94px; right: 0; width: 82px; }
  .route-decor--dots { right: 16px; bottom: 10px; width: 110px; }
  .route-decor--branch { left: 0; bottom: 10px; width: 118px; }
}

@media (max-width: 650px) {
  .route-decor--plane,
  .route-decor--leaf-top,
  .route-decor--dots,
  .route-decor--branch { opacity: .95; }
  .route-decor--plane { top: 82px; left: -8px; width: 110px; }
  .route-decor--leaf-top { top: 114px; right: -6px; width: 60px; }
  .route-decor--dots { right: 6px; bottom: 6px; width: 82px; }
  .route-decor--branch { left: -8px; bottom: 8px; width: 92px; }
}


@media (max-width: 1180px) {
  .program-grid.is-active {
    flex-wrap: wrap;
    gap: 18px;
  }
  .program-card {
    flex: 0 0 calc(50% - 12px);
    margin-left: 0;
  }
  .program-grid.is-active .program-card:nth-child(1),
  .program-grid.is-active .program-card:nth-child(2),
  .program-grid.is-active .program-card:nth-child(3),
  .program-grid.is-active .program-card:nth-child(4) {
    transform: none;
  }
}

@media (max-width: 700px) {
  .tab-buttons {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    border-radius: 22px;
  }
  .tab-button { min-width: 0; width: 100%; }
  .program-grid.is-active {
    flex-direction: column;
    gap: 16px;
  }
  .program-card {
    flex: 1 1 auto;
    width: 100%;
    padding: 12px;
  }
  .program-card__body { padding: 16px 8px 8px; }
  .program-card h3 { font-size: 18px; }
  .program-card p { font-size: 13px; }
}


/* ===== Programs cards: fan-out animation ===== */
.program-card {
  margin-left: 0;
  opacity: 1;
  transition:
    margin-left .9s cubic-bezier(.2,.78,.25,1),
    transform .9s cubic-bezier(.2,.78,.25,1),
    opacity .5s ease,
    box-shadow .25s ease;
  will-change: margin-left, transform, opacity;
}

/* Before reveal the cards are gathered together toward the center. */
.program-grid.is-active:not(.is-revealed) .program-card {
  margin-left: -260px;
  opacity: 0;
  transform: rotate(0deg) translateY(24px) scale(.96);
}

.program-grid.is-active:not(.is-revealed) .program-card:nth-child(1) { transition-delay: 0s; }
.program-grid.is-active:not(.is-revealed) .program-card:nth-child(2) { transition-delay: .04s; }
.program-grid.is-active:not(.is-revealed) .program-card:nth-child(3) { transition-delay: .08s; }
.program-grid.is-active:not(.is-revealed) .program-card:nth-child(4) { transition-delay: .12s; }

.program-grid.is-active.is-revealed .program-card {
  margin-left: 0;
  opacity: 1;
}

/* Garden: angles close to the reference. */
.program-grid[data-panel="garden"].is-active.is-revealed .program-card:nth-child(1) { transform: rotate(-3.4deg) translateY(14px); z-index: 1; }
.program-grid[data-panel="garden"].is-active.is-revealed .program-card:nth-child(2) { transform: rotate(2.3deg) translateY(34px); z-index: 2; }
.program-grid[data-panel="garden"].is-active.is-revealed .program-card:nth-child(3) { transform: rotate(-1.6deg) translateY(22px); z-index: 3; }
.program-grid[data-panel="garden"].is-active.is-revealed .program-card:nth-child(4) { transform: rotate(4deg) translateY(28px); z-index: 1; }

/* School: a different fan so switching the tab feels visually distinct. */
.program-grid[data-panel="school"].is-active.is-revealed .program-card:nth-child(1) { transform: rotate(2.8deg) translateY(26px); z-index: 2; }
.program-grid[data-panel="school"].is-active.is-revealed .program-card:nth-child(2) { transform: rotate(-4.1deg) translateY(10px); z-index: 1; }
.program-grid[data-panel="school"].is-active.is-revealed .program-card:nth-child(3) { transform: rotate(3.6deg) translateY(34px); z-index: 3; }
.program-grid[data-panel="school"].is-active.is-revealed .program-card:nth-child(4) { transform: rotate(-2.6deg) translateY(18px); z-index: 2; }

/* Different title colors for the four cards. */
.program-grid .program-card:nth-child(1) h3 { color: #5d9a55; }
.program-grid .program-card:nth-child(2) h3 { color: #d39b20; }
.program-grid .program-card:nth-child(3) h3 { color: #4c83c7; }
.program-grid .program-card:nth-child(4) h3 { color: #d86f7b; }

@media (max-width: 1180px) {
  .program-grid.is-active:not(.is-revealed) .program-card {
    margin-left: 0;
    opacity: 0;
    transform: translateY(34px) scale(.97);
  }
  .program-grid.is-active.is-revealed .program-card {
    margin-left: 0;
    opacity: 1;
    transform: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .program-card,
  .program-grid.is-active:not(.is-revealed) .program-card,
  .program-grid.is-active.is-revealed .program-card {
    margin-left: 0 !important;
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}


.results-section [data-result-count] {
  font-variant-numeric: tabular-nums;
}

@media (max-width: 650px) {
  .result-story-chess {
    width: 64px;
    flex-basis: 64px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .result-story-chess {
    animation: none;
  }
  .progress-stack b {
    transition: none;
  }
}


/* ===== Quiz intro refresh (v6) ===== */
.quiz-intro {
  position: relative;
  min-height: 470px;
  grid-template-columns: minmax(0, 1.05fr) minmax(340px, 0.95fr);
  align-items: center;
  background: #fffefa;
}

.quiz-intro__content {
  align-items: flex-start;
  justify-content: center;
  padding: 64px 56px 64px 64px;
  text-align: left;
}

.quiz-intro__content h2 {
  max-width: 560px;
  margin: 0 0 18px;
  color: var(--blue-dark);
}

.quiz-intro__content p {
  max-width: 470px;
  margin: 0 0 28px;
}

.quiz-start-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 310px;
  min-height: 58px;
  padding: 16px 26px;
  border: 1px solid #ff756c;
  border-radius: 16px;
  color: #fff;
  background: linear-gradient(135deg, #ff756c, #ff665f);
  box-shadow: 0 12px 28px rgba(255, 101, 93, .22);
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}

.quiz-start-button:hover {
  transform: translateY(-2px);
  background: #f85d55;
  box-shadow: 0 16px 32px rgba(255, 101, 93, .28);
}

.quiz-intro__photo {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 28px 22px 28px 0;
  background: transparent;
}

.quiz-intro__photo img {
  width: min(150%, 550px);
  max-height: 640px;
  /* object-fit: contain; */
  /* object-position: center; */
  /* filter: none; */
}

.quiz-doodle {
  display: none;
}

.quiz-intro-decor {
  position: absolute;
  z-index: 1;
  pointer-events: none;
  user-select: none;
}

.quiz-intro-decor--cap {
  top: 18px;
  left: 538px;
  width: 153px;
}

.quiz-intro-decor--flower {
  top: 42px;
  left: 90%;
  width: 95px;
  transform: translateX(-8%);
}

.quiz-intro-decor--heart {
  left: 626px;
  bottom: 46px;
  width: 46px;
  /* transition: ro; */
  transform: rotate(25deg);
}

.quiz-intro-decor--book {
  left: 73%;
  bottom: 24px;
  width: 84px;
}

.quiz-intro-decor--star {
  right: -522px;
  bottom: 34px;
  width: 110px;
}

@media (max-width: 1100px) {
  .quiz-intro {
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.9fr);
  }

  .quiz-intro__content {
    padding: 52px 40px 52px 48px;
  }

  .quiz-intro__photo {
    padding-right: 18px;
  }

  .quiz-intro-decor--book {
    left: 41%;
  }
}

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

  .quiz-intro__content {
    align-items: center;
    padding: 52px 28px 22px;
    text-align: center;
  }

  .quiz-intro__content h2,
  .quiz-intro__content p {
    max-width: 100%;
  }

  .quiz-intro__photo {
    padding: 8px 22px 26px;
  }

  .quiz-intro__photo img {
    max-height: 360px;
  }

  .quiz-intro-decor--flower {
    left: 56%;
    top: 24px;
  }

  .quiz-intro-decor--book {
    left: 50%;
    bottom: 16px;
    transform: translateX(-50%);
  }

  .quiz-intro-decor--star {
    right: 20px;
    bottom: 26px;
  }
}

@media (max-width: 640px) {
  .quiz-start-button {
    width: 100%;
    min-width: 0;
  }

  .quiz-intro__content {
    padding: 46px 20px 18px;
  }

  .quiz-intro__photo {
    padding: 4px 14px 20px;
  }

  .quiz-intro__photo img {
    width: 100%;
    max-height: none;
  }

  .quiz-intro-decor--cap {
    top: 14px;
    left: 12px;
    width: 84px;
  }

  .quiz-intro-decor--flower {
    top: 16px;
    width: 58px;
  }

  .quiz-intro-decor--heart {
    left: 16px;
    bottom: 56px;
    width: 42px;
  }

  .quiz-intro-decor--book {
    width: 64px;
    bottom: 8px;
  }

  .quiz-intro-decor--star {
    right: 12px;
    bottom: 18px;
    width: 54px;
  }
}


/* =========================================================
   Quiz intro â€” ÑÑ‚Ð°Ð±Ð¸Ð»ÑŒÐ½Ð°Ñ Ð·ÐµÐ»Ñ‘Ð½Ð°Ñ ÐºÐ½Ð¾Ð¿ÐºÐ° Ð±ÐµÐ· ÐºÐ¾Ð½Ñ„Ð»Ð¸ÐºÑ‚Ð°
   Ñ hero-button / button-primary.
   ========================================================= */
.quiz-start-button {
  appearance: none;
  -webkit-appearance: none;
  min-width: 310px;
  min-height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 13px 24px;
  border: 1.5px solid var(--quiz-green, #65b347);
  border-radius: 13px;
  color: #fff;
  background: var(--quiz-green, #65b347);
  box-shadow: 0 9px 20px rgba(101, 179, 71, .20);
  font-family: var(--body);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  transform: translateY(0);
  transition:
    transform .22s ease,
    background-color .22s ease,
    border-color .22s ease,
    box-shadow .22s ease;
}

.quiz-start-button:hover {
  color: #fff;
  background: #5ca33f;
  border-color: #5ca33f;
  box-shadow: 0 12px 24px rgba(92, 163, 63, .25);
  transform: translateY(-2px);
}

.quiz-start-button:active {
  color: #fff;
  background: #55983a;
  border-color: #55983a;
  box-shadow: 0 6px 14px rgba(92, 163, 63, .18);
  transform: translateY(0);
}

.quiz-start-button:focus-visible {
  outline: 4px solid rgba(101, 179, 71, .20);
  outline-offset: 3px;
}

@media (max-width: 640px) {
  .quiz-start-button {
    width: 100%;
    min-width: 0;
  }
}



/* =========================================================
   Quiz step 2 â€” Ð¸ÐºÐ¾Ð½ÐºÐ¸-ÑÐ¸Ð»ÑƒÑÑ‚Ñ‹ Ð±ÐµÐ· Ñ„Ð¾Ð½Ð¾Ð²Ñ‹Ñ… Ð¿Ð»Ð°ÑˆÐµÐº
   ========================================================= */
.quiz-screen--step-2 .quiz-option__icon,
.quiz-step-2 .quiz-option__icon,
.quiz-question--importance .quiz-option__icon {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 16px;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0;
}

.quiz-screen--step-2 .quiz-option__icon img,
.quiz-step-2 .quiz-option__icon img,
.quiz-question--importance .quiz-option__icon img,
.quiz-screen--step-2 .quiz-option__icon svg,
.quiz-step-2 .quiz-option__icon svg,
.quiz-question--importance .quiz-option__icon svg {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  filter: none;
}

.quiz-screen--step-2 .quiz-option,
.quiz-step-2 .quiz-option,
.quiz-question--importance .quiz-option {
  align-items: center;
  gap: 0;
}

.quiz-screen--step-2 .quiz-option__content,
.quiz-step-2 .quiz-option__content,
.quiz-question--importance .quiz-option__content {
  display: flex;
  align-items: center;
  gap: 0;
}

.quiz-screen--step-2 .quiz-option__text,
.quiz-step-2 .quiz-option__text,
.quiz-question--importance .quiz-option__text {
  display: block;
}

.quiz-screen--step-2 .quiz-option__title,
.quiz-step-2 .quiz-option__title,
.quiz-question--importance .quiz-option__title {
  margin: 0;
}

/* Ð£Ð±Ð¸Ñ€Ð°ÐµÐ¼ Ð»ÑŽÐ±Ñ‹Ðµ Ð´ÐµÐºÐ¾Ñ€Ð°Ñ‚Ð¸Ð²Ð½Ñ‹Ðµ Ð¿Ð¾Ð´Ð»Ð¾Ð¶ÐºÐ¸-Ð¿ÑÐµÐ²Ð´Ð¾ÑÐ»ÐµÐ¼ÐµÐ½Ñ‚Ñ‹ Ñƒ Ð¸ÐºÐ¾Ð½Ð¾Ðº Ð²Ñ‚Ð¾Ñ€Ð¾Ð³Ð¾ ÑÐºÑ€Ð°Ð½Ð° */
.quiz-screen--step-2 .quiz-option__icon::before,
.quiz-screen--step-2 .quiz-option__icon::after,
.quiz-step-2 .quiz-option__icon::before,
.quiz-step-2 .quiz-option__icon::after,
.quiz-question--importance .quiz-option__icon::before,
.quiz-question--importance .quiz-option__icon::after {
  content: none !important;
}


/* =========================================================
   Quiz step 2 â€” Ñ€ÐµÐ°Ð»ÑŒÐ½Ñ‹Ðµ PNG-ÑÐ¸Ð»ÑƒÑÑ‚Ñ‹ Ð±ÐµÐ· Ð¿Ð¾Ð´Ð»Ð¾Ð¶ÐµÐº
   ========================================================= */
.quiz-question--importance {
  position: relative;
  overflow: hidden;
}

.quiz-question--importance::after {
  display: none;
}

.quiz-step2-decor {
  position: absolute;
  top: 32px;
  right: 58px;
  width: 122px;
  height: auto;
  z-index: 0;
  pointer-events: none;
  user-select: none;
}

.quiz-question--importance .quiz-question__header,
.quiz-question--importance h3,
.quiz-question--importance .quiz-options,
.quiz-question--importance .quiz-error,
.quiz-question--importance .quiz-controls {
  position: relative;
  z-index: 1;
}

.quiz-question--importance .quiz-option__icon {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 4px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none !important;
}

.quiz-question--importance .quiz-option__icon::before,
.quiz-question--importance .quiz-option__icon::after {
  content: none !important;
}

.quiz-question--importance .quiz-option__icon img {
  width: 38px;
  height: 38px;
  display: block;
  object-fit: contain;
  background: transparent;
}

.quiz-question--importance .quiz-option {
  gap: 14px;
}

.quiz-question--importance .quiz-option:hover .quiz-option__icon,
.quiz-question--importance .quiz-option.is-selected .quiz-option__icon {
  background: transparent !important;
  box-shadow: none !important;
}

@media (max-width: 760px) {
  .quiz-step2-decor {
    top: -8px;
    right: -8px;
    width: 94px;
    opacity: .8;
  }

  .quiz-question--importance .quiz-option__icon {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
  }

  .quiz-question--importance .quiz-option__icon img {
    width: 34px;
    height: 34px;
  }
}


/* =========================================================
   Quiz step 3 â€” ÑÐ¸Ð»ÑƒÑÑ‚Ñ‹ Ð±ÐµÐ· Ñ„Ð¾Ð½Ð¾Ð²Ñ‹Ñ… Ð¿Ð»Ð°ÑˆÐµÐº
   ========================================================= */
.quiz-question--development {
  position: relative;
  overflow: hidden;
}

.quiz-question--development::after {
  display: none;
}

.quiz-step3-decor {
  position: absolute;
  top: 18px;
  right: 38px;
  width: 118px;
  height: auto;
  z-index: 0;
  pointer-events: none;
  user-select: none;
}

.quiz-question--development .quiz-question__header,
.quiz-question--development h3,
.quiz-question--development .quiz-options,
.quiz-question--development .quiz-error,
.quiz-question--development .quiz-controls {
  position: relative;
  z-index: 1;
}

.quiz-question--development .quiz-option__icon {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin-right: 4px;
  border: 0;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none !important;
}

.quiz-question--development .quiz-option__icon::before,
.quiz-question--development .quiz-option__icon::after {
  content: none !important;
}

.quiz-question--development .quiz-option__icon img {
  width: 38px;
  height: 38px;
  display: block;
  object-fit: contain;
  background: transparent;
}

.quiz-question--development .quiz-option {
  gap: 14px;
}

.quiz-question--development .quiz-option:hover .quiz-option__icon,
.quiz-question--development .quiz-option.is-selected .quiz-option__icon {
  background: transparent !important;
  box-shadow: none !important;
}

@media (max-width: 760px) {
  .quiz-step3-decor {
    top: 8px;
    right: -4px;
    width: 92px;
    opacity: .82;
  }

  .quiz-question--development .quiz-option__icon {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
  }

  .quiz-question--development .quiz-option__icon img {
    width: 34px;
    height: 34px;
  }
}


/* =========================================================
   Quiz step 4 â€” ÑÐ¸Ð»ÑƒÑÑ‚Ñ‹ Ð±ÐµÐ· Ñ„Ð¾Ð½Ð¾Ð²Ñ‹Ñ… Ð¿Ð»Ð°ÑˆÐµÐº
   ========================================================= */
.quiz-question--timeline {
  position: relative;
  overflow: hidden;
}

.quiz-step4-decor {
  position: absolute;
  top: 18px;
  right: 68px;
  width: 118px;
  height: auto;
  z-index: 1;
  pointer-events: none;
  user-select: none;
}

.quiz-question--timeline .quiz-question__header,
.quiz-question--timeline h3,
.quiz-question--timeline .quiz-options,
.quiz-question--timeline .quiz-error,
.quiz-question--timeline .quiz-controls {
  position: relative;
  z-index: 1;
}

.quiz-question--timeline .quiz-option__icon {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 4px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none !important;
}

.quiz-question--timeline .quiz-option__icon::before,
.quiz-question--timeline .quiz-option__icon::after {
  content: none !important;
}

.quiz-question--timeline .quiz-option__icon img {
  width: 38px;
  height: 38px;
  display: block;
  object-fit: contain;
  background: transparent;
}

.quiz-question--timeline .quiz-option {
  gap: 14px;
}

.quiz-question--timeline .quiz-option:hover .quiz-option__icon,
.quiz-question--timeline .quiz-option.is-selected .quiz-option__icon {
  background: transparent !important;
  box-shadow: none !important;
}

@media (max-width: 760px) {
  .quiz-step4-decor {
    top: 8px;
    right: -4px;
    width: 92px;
    opacity: .82;
  }

  .quiz-question--timeline .quiz-option__icon {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
  }

  .quiz-question--timeline .quiz-option__icon img {
    width: 34px;
    height: 34px;
  }
}


/* =========================================================
   Quiz step 5 â€” clean silhouettes + stable Finish button
   ========================================================= */
.quiz-question--priority {
  position: relative;
  overflow: hidden;
}

.quiz-question--priority::after {
  display: none;
}

.quiz-step5-decor {
  position: absolute;
  right: -12px;
  bottom: -6px;
  width: 124px;
  height: auto;
  transform: rotate(168deg);
  opacity: .52;
  z-index: 0;
  pointer-events: none;
  user-select: none;
}

.quiz-question--priority .quiz-question__header,
.quiz-question--priority h3,
.quiz-question--priority .quiz-options,
.quiz-question--priority .quiz-error,
.quiz-question--priority .quiz-controls {
  position: relative;
  z-index: 1;
}

.quiz-question--priority .quiz-option__icon {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 4px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none !important;
}

.quiz-question--priority .quiz-option__icon::before,
.quiz-question--priority .quiz-option__icon::after {
  content: none !important;
}

.quiz-question--priority .quiz-option__icon img {
  width: 38px;
  height: 38px;
  display: block;
  object-fit: contain;
  background: transparent;
}

.quiz-question--priority .quiz-option {
  gap: 14px;
}

.quiz-question--priority .quiz-option:hover .quiz-option__icon,
.quiz-question--priority .quiz-option.is-selected .quiz-option__icon {
  background: transparent !important;
  box-shadow: none !important;
}

/* Specificity is intentionally higher than generic .quiz-next:hover. */
.quiz-question--priority .quiz-next--finish,
.quiz-question--priority .quiz-next--finish:visited {
  min-width: 160px;
  color: #fff !important;
  border: 1.5px solid #65b347 !important;
  background: #65b347 !important;
  box-shadow: 0 9px 20px rgba(101, 179, 71, .20);
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0);
  transition: transform .22s ease, background-color .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.quiz-question--priority .quiz-next--finish:hover,
.quiz-question--priority .quiz-next--finish:focus-visible {
  color: #fff !important;
  border-color: #579c3c !important;
  background: #579c3c !important;
  box-shadow: 0 12px 24px rgba(87, 156, 60, .26);
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(-2px);
}

.quiz-question--priority .quiz-next--finish:active {
  color: #fff !important;
  border-color: #4f9136 !important;
  background: #4f9136 !important;
  box-shadow: 0 6px 14px rgba(87, 156, 60, .18);
  opacity: 1 !important;
  transform: translateY(0);
}

@media (max-width: 760px) {
  .quiz-step5-decor {
    width: 92px;
    right: -20px;
    bottom: -8px;
  }

  .quiz-question--priority .quiz-option__icon {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
  }

  .quiz-question--priority .quiz-option__icon img {
    width: 34px;
    height: 34px;
  }
}


/* =========================================================
   Quiz result â€” "ÐŸÐ¾Ð»ÑƒÑ‡Ð¸Ñ‚ÑŒ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ñƒ" ÐºÐ°Ðº ÐºÐ½Ð¾Ð¿ÐºÐ° "Ð—Ð°Ð²ÐµÑ€ÑˆÐ¸Ñ‚ÑŒ"
   ========================================================= */
.quiz-result .quiz-form__submit,
.quiz-result .quiz-form__submit:visited {
  width: auto;
  min-width: 160px;
  min-height: 46px;
  justify-self: start;
  margin-top: 5px;
  padding: 0 24px;
  border: 1.5px solid #65b347 !important;
  border-radius: 13px;
  color: #fff !important;
  background: #65b347 !important;
  box-shadow: 0 9px 20px rgba(101, 179, 71, .20);
  font-family: var(--body);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0);
  transition:
    transform .22s ease,
    background-color .22s ease,
    border-color .22s ease,
    box-shadow .22s ease;
}

.quiz-result .quiz-form__submit:hover,
.quiz-result .quiz-form__submit:focus-visible {
  color: #fff !important;
  border-color: #579c3c !important;
  background: #579c3c !important;
  box-shadow: 0 12px 24px rgba(87, 156, 60, .26);
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(-2px);
}

.quiz-result .quiz-form__submit:active {
  color: #fff !important;
  border-color: #4f9136 !important;
  background: #4f9136 !important;
  box-shadow: 0 6px 14px rgba(87, 156, 60, .18);
  opacity: 1 !important;
  transform: translateY(0);
}

@media (max-width: 650px) {
  .quiz-result .quiz-form__submit {
    width: 100%;
    justify-self: stretch;
  }
}


/* =========================================================
   Daily rhythm â€” reference-based full-width card
   ========================================================= */
.daily-section {
  padding-block: clamp(76px, 7vw, 108px);
  background: #fffaf1;
}

.daily-rhythm-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(330px, .72fr) minmax(0, 1.18fr);
  min-height: 520px;
  overflow: hidden;
  border: 1px solid rgba(16, 43, 90, .07);
  border-radius: 30px;
  background: #fff;
  box-shadow: 0 14px 36px rgba(39, 52, 89, .07);
}

.daily-rhythm-card::before {
  content: "â™¡";
  position: absolute;
  top: 52px;
  right: 58px;
  z-index: 1;
  color: #f4a4aa;
  font-family: var(--body);
  font-size: 48px;
  font-weight: 400;
  line-height: 1;
  transform: rotate(-10deg);
  opacity: .88;
  pointer-events: none;
}

.daily-rhythm-card::after {
  content: "";
  position: absolute;
  top: 105px;
  right: 56px;
  z-index: 1;
  width: 42px;
  height: 42px;
  background-image:
    radial-gradient(circle at 8px 8px, #f8bd2d 0 2px, transparent 2.5px),
    radial-gradient(circle at 28px 10px, #f8bd2d 0 2px, transparent 2.5px),
    radial-gradient(circle at 15px 26px, #f8bd2d 0 2px, transparent 2.5px),
    radial-gradient(circle at 36px 30px, #f8bd2d 0 2px, transparent 2.5px);
  pointer-events: none;
}

.daily-rhythm-photo {
  min-height: 520px;
  margin: 0;
  overflow: hidden;
  background: #f7efe3;
}

.daily-rhythm-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.daily-rhythm-content {
  position: relative;
  z-index: 2;
  padding: 48px clamp(34px, 4.5vw, 70px) 44px;
}

.daily-rhythm-content .kicker {
  margin-bottom: 14px;
  color: #5a88d8;
}

.daily-rhythm-content h2 {
  max-width: 660px;
  margin: 0 0 32px;
  font-size: clamp(34px, 3.8vw, 51px);
  font-weight: 600;
  line-height: 1.05;
}

.daily-rhythm-list {
  position: relative;
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.daily-rhythm-list::before {
  content: "";
  position: absolute;
  top: 29px;
  bottom: 29px;
  left: 25px;
  width: 1px;
  background: #e5e5e6;
}

.daily-rhythm-list li {
  position: relative;
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  min-height: 72px;
}

.daily-rhythm-icon {
  position: relative;
  z-index: 2;
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border-radius: 50%;
}

.daily-rhythm-icon img {
  width: 28px;
  height: 28px;
  object-fit: contain;
}

.daily-rhythm-icon--yellow { background: #fff5d9; }
.daily-rhythm-icon--pink   { background: #fdecef; }
.daily-rhythm-icon--green  { background: #edf6df; }
.daily-rhythm-icon--blue   { background: #edf1ff; }

.daily-rhythm-icon--yellow img,
.daily-rhythm-icon--pink img {
  width: 30px;
  height: 30px;
}

.daily-rhythm-item {
  padding-top: 4px;
}

.daily-rhythm-item__head {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.daily-rhythm-item strong {
  color: var(--navy);
  font-size: 15px;
  font-weight: 600;
}

.daily-rhythm-time {
  display: inline-flex;
  align-items: center;
  min-height: 23px;
  padding: 3px 10px;
  border-radius: 999px;
  color: #8290a7;
  background: #fbeced;
  font-size: 10px;
  font-weight: 500;
  white-space: nowrap;
}

.daily-rhythm-item p {
  max-width: 600px;
  margin: 7px 0 0;
  color: #788399;
  font-size: 12px;
  line-height: 1.48;
}

.menu-section {
  padding-top: 0;
  background: #fffaf1;
}

.menu-section .menu-card {
  max-width: 900px;
  margin-inline: auto;
}

@media (max-width: 960px) {
  .daily-rhythm-card {
    grid-template-columns: 1fr;
  }

  .daily-rhythm-photo {
    min-height: 420px;
    max-height: 520px;
  }

  .daily-rhythm-content {
    padding: 42px 34px 44px;
  }

  .daily-rhythm-card::before {
    top: 470px;
  }

  .daily-rhythm-card::after {
    top: 520px;
  }
}

@media (max-width: 620px) {
  .daily-section {
    padding-block: 64px;
  }

  .daily-rhythm-card {
    border-radius: 24px;
  }

  .daily-rhythm-photo {
    min-height: 320px;
  }

  .daily-rhythm-content {
    padding: 32px 20px 34px;
  }

  .daily-rhythm-content h2 {
    margin-bottom: 26px;
    font-size: 34px;
  }

  .daily-rhythm-list li {
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 14px;
  }

  .daily-rhythm-list::before {
    left: 22px;
  }

  .daily-rhythm-icon {
    width: 46px;
    height: 46px;
  }

  .daily-rhythm-icon img {
    width: 25px;
    height: 25px;
  }

  .daily-rhythm-item__head {
    gap: 8px;
  }

  .daily-rhythm-item strong {
    font-size: 14px;
  }

  .daily-rhythm-item p {
    font-size: 11px;
  }

  .daily-rhythm-card::before,
  .daily-rhythm-card::after {
    display: none;
  }
}

/* --- Menu section v3 --- */
.menu-section {
  padding-top: 0;
  background: #fffaf1;
}

.menu-feature-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  align-items: stretch;
  overflow: hidden;
  border-radius: 34px;
  background: #fff;
  box-shadow: var(--shadow-soft);
}

.menu-feature-card__content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 52px 34px 48px 48px;
}

.menu-feature-card__content h2 {
  margin-top: 14px;
  font-size: clamp(34px, 3.5vw, 54px);
  line-height: 0.98;
}

.menu-feature-card__content p {
  max-width: 470px;
  margin-top: 22px;
  color: #74829c;
  font-size: 18px;
  line-height: 1.55;
}

.menu-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px;
}

.menu-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 8px 14px;
  border-radius: 999px;
  background: #fff8ee;
  color: var(--navy);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  box-shadow: inset 0 0 0 1px rgba(219, 224, 233, 0.72);
}

.menu-badge i {
  width: 24px;
  height: 24px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 24px;
  border-radius: 50%;
  font-style: normal;
  font-size: 14px;
  line-height: 1;
}

.menu-badge--green i {
  color: #75ba65;
  background: #eef8e7;
}

.menu-badge--pink i {
  color: #f58b92;
  background: #fff0f2;
}

.menu-badge--lime i {
  color: #8aba4d;
  background: #f3fae6;
}

.menu-feature-card__media {
  position: relative;
  min-height: 440px;
  margin: 0;
}

.menu-feature-card__media::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(255,255,255,0) 72%, rgba(255,255,255,0.03) 100%);
  z-index: 1;
  pointer-events: none;
}

.menu-feature-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.menu-heart {
  position: absolute;
  z-index: 2;
  color: #ff9ca8;
  font-size: 56px;
  line-height: 1;
  font-weight: 400;
  pointer-events: none;
}

.menu-heart--one {
  top: 422px;
  left: calc(48% - 180px);
  transform: rotate(-12deg);
}

.menu-heart--two {
  top: 405px;
  left: calc(48% + -132px);
  font-size: 46px;
  transform: rotate(10deg);
}

.menu-sprinkles {
  position: absolute;
  left: 26px;
  bottom: 34px;
  width: 54px;
  height: 36px;
  background-image:
    radial-gradient(circle at 5px 8px, #f2b13d 0 2px, transparent 2.5px),
    radial-gradient(circle at 19px 3px, #f2b13d 0 2px, transparent 2.5px),
    radial-gradient(circle at 13px 19px, #f2b13d 0 2px, transparent 2.5px),
    radial-gradient(circle at 33px 8px, #f2b13d 0 2px, transparent 2.5px),
    radial-gradient(circle at 39px 20px, #f2b13d 0 2px, transparent 2.5px),
    radial-gradient(circle at 6px 30px, #f2b13d 0 2px, transparent 2.5px);
  pointer-events: none;
}

@media (max-width: 1080px) {
  .menu-feature-card__content {
    padding: 44px 28px 40px 34px;
  }

  .menu-feature-card__content p {
    font-size: 17px;
  }

  .menu-badge {
    font-size: 13px;
  }
}

@media (max-width: 860px) {
  .menu-feature-card {
    grid-template-columns: 1fr;
  }

  .menu-feature-card__media {
    order: -1;
    min-height: 320px;
  }

  .menu-feature-card__content {
    padding: 30px 22px 34px;
  }

  .menu-feature-card__content p {
    max-width: none;
    margin-top: 18px;
    font-size: 16px;
  }

  .menu-heart--one,
  .menu-heart--two {
    display: none;
  }

  .menu-sprinkles {
    left: 20px;
    bottom: 20px;
  }
}

@media (max-width: 560px) {
  .menu-feature-card {
    border-radius: 24px;
  }

  .menu-feature-card__media {
    min-height: 240px;
  }

  .menu-feature-card__content h2 {
    font-size: 34px;
  }

  .menu-badges {
    gap: 10px;
  }

  .menu-badge {
    width: 100%;
    justify-content: flex-start;
  }
}

/* =========================================================
   Ð”ÐµÑ‚ÑÐºÐ¾Ðµ Ð¼ÐµÐ½ÑŽ â€” Ð±ÐµÐ»Ñ‹Ð¹ Ñ„Ð¾Ð½ Ð¸ ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ñ‹Ðµ Ð¾Ñ‚ÑÑ‚ÑƒÐ¿Ñ‹ ÑÐµÐºÑ†Ð¸Ð¹
   ========================================================= */
.menu-section {
  padding-block: var(--section);
  background: var(--white);
}


/* =========================================================
   Ð”ÐµÑ‚ÑÐºÐ¾Ðµ Ð¼ÐµÐ½ÑŽ â€” Ð¿Ð¾ÑÐ»ÐµÐ´Ð½Ð¸Ðµ ÑÐ¾Ð³Ð»Ð°ÑÐ¾Ð²Ð°Ð½Ð½Ñ‹Ðµ Ð¿Ñ€Ð°Ð²ÐºÐ¸
   ========================================================= */
.menu-section {
  padding-block: var(--section);
  background: var(--white);
}

.menu-badge i {
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}


/* =========================================================
   ÐžÑ‚Ð·Ñ‹Ð²Ñ‹ Ñ€Ð¾Ð´Ð¸Ñ‚ÐµÐ»ÐµÐ¹
   ========================================================= */
.reviews-section--family {
  position: relative;
  overflow: hidden;
  background: #fffaf1;
}

.reviews-family-heading {
  margin-bottom: 46px;
  text-align: center;
}

.reviews-family-heading h2 {
  margin-top: 12px;
  font-size: clamp(42px, 5vw, 72px);
  line-height: 1;
}

.reviews-family-layout {
  position: relative;
  display: grid;
  grid-template-columns: 60px minmax(0, 1fr) 60px minmax(320px, .9fr);
  gap: 22px;
  align-items: center;
}

.reviews-family-slider {
  min-width: 0;
  overflow: hidden;
}

.reviews-family-track {
  display: flex;
  gap: 22px;
  transition: transform .45s ease;
  will-change: transform;
}

.family-review-card {
  flex: 0 0 calc((100% - 22px) / 2);
  min-height: 420px;
  display: flex;
  flex-direction: column;
  padding: 34px;
  border: 1px solid rgba(24, 52, 101, .08);
  border-radius: 28px;
  box-shadow: 0 10px 30px rgba(31, 51, 85, .08);
}

.family-review-card--blue {
  background: linear-gradient(145deg, #edf6ff, #e4eefc);
}

.family-review-card--purple {
  background: linear-gradient(145deg, #f4efff, #eee8fb);
}

.family-review-card--pink {
  background: linear-gradient(145deg, #fff0f2, #fbe8ed);
}

.family-review-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.family-review-quote {
  color: rgba(105, 137, 192, .34);
  font-family: Georgia, serif;
  font-size: 82px;
  line-height: .7;
}

.family-review-stars {
  color: #f4b535;
  font-size: 20px;
  letter-spacing: 2px;
}

.family-review-card > p {
  margin-top: 24px;
  color: var(--navy);
  font-size: 17px;
  line-height: 1.55;
}

.family-review-card footer {
  margin-top: auto;
  padding-top: 28px;
  display: flex;
  align-items: center;
  gap: 16px;
}

.family-review-card footer img,
.family-video-review__author img {
  width: 68px;
  height: 68px;
  flex: 0 0 68px;
  border: 4px solid #fff;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 5px 16px rgba(23, 44, 80, .12);
}

.family-review-card footer strong {
  color: var(--navy);
  font-family: var(--heading);
  font-size: 19px;
  font-weight: 600;
}

.reviews-family-arrow {
  width: 60px;
  height: 60px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: #fff;
  color: var(--navy);
  box-shadow: 0 8px 22px rgba(31, 51, 85, .12);
  font-size: 30px;
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease;
}

.reviews-family-arrow:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 26px rgba(31, 51, 85, .16);
}

.family-video-review {
  align-self: stretch;
  min-height: 420px;
  padding: 24px;
  border: 1px solid rgba(238, 181, 55, .32);
  border-radius: 28px;
  background: linear-gradient(145deg, #fff9e9, #fff5dc);
  box-shadow: 0 10px 30px rgba(31, 51, 85, .07);
}

.family-video-review__title {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--navy);
  font-size: 18px;
}

.family-video-review__icon {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 2px solid #efb327;
  border-radius: 8px;
  color: #efb327;
}

.family-video-review__media {
  margin-top: 24px;
  overflow: hidden;
  border-radius: 22px;
  background: #f2ead8;
}

.family-video-review__media video {
  width: 100%;
  aspect-ratio: 16 / 10;
  display: block;
  object-fit: cover;
  background: #efe8da;
}

.family-video-review__author {
  margin-top: 20px;
  display: flex;
  align-items: center;
  gap: 14px;
}

.family-video-review__author div {
  display: grid;
  gap: 3px;
}

.family-video-review__author strong {
  color: var(--navy);
  font-family: var(--heading);
  font-size: 18px;
  font-weight: 600;
}

.family-video-review__author span {
  color: #73809a;
  font-size: 13px;
}

.reviews-decor {
  position: absolute;
  pointer-events: none;
  opacity: .45;
}

.reviews-decor--left {
  top: 45px;
  left: 34px;
  width: 150px;
  height: 110px;
  border-top: 3px solid #b7c98c;
  border-radius: 50%;
  transform: rotate(-20deg);
}

.reviews-decor--right {
  right: 40px;
  bottom: 38px;
  width: 150px;
  height: 90px;
  border-bottom: 3px dashed #d1bdf0;
  border-radius: 50%;
  transform: rotate(-12deg);
}

@media (max-width: 1180px) {
  .reviews-family-layout {
    grid-template-columns: 50px minmax(0, 1fr) 50px;
  }

  .family-video-review {
    grid-column: 2 / 3;
  }

  .reviews-family-arrow {
    width: 50px;
    height: 50px;
  }
}

@media (max-width: 820px) {
  .reviews-family-layout {
    grid-template-columns: 42px minmax(0, 1fr) 42px;
    gap: 12px;
  }

  .family-review-card {
    flex-basis: 100%;
    min-height: 390px;
  }

  .family-video-review {
    grid-column: 1 / -1;
  }

  .reviews-family-arrow {
    width: 42px;
    height: 42px;
    font-size: 23px;
  }
}

@media (max-width: 560px) {
  .reviews-family-layout {
    grid-template-columns: 1fr;
  }

  .reviews-family-slider,
  .family-video-review {
    grid-column: 1;
  }

  .reviews-family-arrow {
    position: absolute;
    z-index: 3;
    top: 190px;
  }

  .reviews-family-arrow--prev {
    left: -5px;
  }

  .reviews-family-arrow--next {
    right: -5px;
  }

  .family-review-card {
    padding: 28px 24px;
  }

  .family-review-card > p {
    font-size: 16px;
  }
}


/* =========================================================
   ÐžÑ‚Ð·Ñ‹Ð²Ñ‹ â€” Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ð°Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ð°/Ð²Ñ‹ÑÐ¾Ñ‚Ð° ÐºÐ°Ñ€Ñ‚Ð¾Ñ‡ÐµÐº + Ð²Ð¸Ð´ÐµÐ¾ Ð±ÐµÐ· crop
   ========================================================= */

@media (min-width: 1181px) {
  .reviews-family-layout {
    grid-template-columns:
      60px
      minmax(0, 2fr)
      60px
      minmax(0, 1fr);
    align-items: stretch;
  }

  .reviews-family-slider {
    height: 100%;
    align-self: stretch;
  }

  .reviews-family-track {
    height: 100%;
    align-items: stretch;
  }

  .family-review-card {
    height: 100%;
    min-height: 0;
  }

  .family-video-review {
    height: 100%;
    min-height: 0;
    align-self: stretch;
    display: flex;
    flex-direction: column;
  }

  .family-video-review__author {
    margin-top: auto;
    padding-top: 20px;
  }
}

/* Ð’Ð¸Ð´ÐµÐ¾ Ð¿Ð¾ÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÐ¼ Ñ†ÐµÐ»Ð¸ÐºÐ¾Ð¼, Ð±ÐµÐ· Ð¾Ð±Ñ€ÐµÐ·ÐºÐ¸ ÐºÐ°Ð´Ñ€Ð° */
.family-video-review__media {
  background: #111;
}

.family-video-review__media video {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 10;
  display: block;
  object-fit: contain !important;
  object-position: center center;
  background: #111;
}

/* Ð’ Ð¿Ð¾Ð»Ð½Ð¾ÑÐºÑ€Ð°Ð½Ð½Ð¾Ð¼ Ñ€ÐµÐ¶Ð¸Ð¼Ðµ Ð½Ð¸ÐºÐ°ÐºÐ¸Ñ… Ð¿Ñ€Ð¸Ð½ÑƒÐ´Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ñ‹Ñ… Ð¿Ñ€Ð¾Ð¿Ð¾Ñ€Ñ†Ð¸Ð¹ Ð¸ crop */
.family-video-review__media video:fullscreen {
  width: 100vw !important;
  height: 100vh !important;
  max-width: none !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #000 !important;
}

.family-video-review__media video:-webkit-full-screen {
  width: 100vw !important;
  height: 100vh !important;
  max-width: none !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #000 !important;
}

/* ÐŸÐ»Ð°Ð½ÑˆÐµÑ‚: Ð²Ð¸Ð´ÐµÐ¾ Ñ‚Ð°ÐºÐ¶Ðµ Ð½Ðµ Ð¾Ð±Ñ€ÐµÐ·Ð°ÐµÑ‚ÑÑ */
@media (max-width: 1180px) {
  .family-video-review__media video {
    object-fit: contain !important;
  }
}


/* =========================================================
   ÐžÑ‚Ð·Ñ‹Ð²Ñ‹ v3 â€” Ñ†ÐµÐ½Ñ‚Ñ€ ÑÑ‚Ñ€ÐµÐ»Ð¾Ðº Ð¸ Ð²ÐµÑ€Ñ‚Ð¸ÐºÐ°Ð»ÑŒÐ½Ñ‹Ð¹ Ð²Ð¸Ð´ÐµÐ¾Ð¾Ñ‚Ð·Ñ‹Ð²
   ========================================================= */

/* Ð¡Ñ‚Ñ€ÐµÐ»ÐºÐ¸ ÑÑ‚Ñ€Ð¾Ð³Ð¾ Ð¿Ð¾ Ð²ÐµÑ€Ñ‚Ð¸ÐºÐ°Ð»ÑŒÐ½Ð¾Ð¼Ñƒ Ñ†ÐµÐ½Ñ‚Ñ€Ñƒ Ñ€ÑÐ´Ð° Ñ ÐºÐ°Ñ€Ñ‚Ð¾Ñ‡ÐºÐ°Ð¼Ð¸ */
.reviews-family-arrow {
  align-self: center !important;
}

/* ÐŸÐ¾ÑÐ»Ðµ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° Ð²Ð¸Ð´ÐµÐ¾ Ð½Ð°Ñ‡Ð¸Ð½Ð°ÐµÑ‚ÑÑ ÑÑ€Ð°Ð·Ñƒ ÑÐ²ÐµÑ€Ñ…Ñƒ */
.family-video-review__media {
  margin-top: 0 !important;
}

/* Ð’ÐµÑ€Ñ‚Ð¸ÐºÐ°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ€Ð¾Ð»Ð¸Ðº Ð¿Ð¾ÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÐ¼ Ñ†ÐµÐ»Ð¸ÐºÐ¾Ð¼ */
.family-video-review__media video {
  width: 100%;
  height: auto;
  aspect-ratio: 7 / 10 !important;
  display: block;
  object-fit: contain !important;
  object-position: center center !important;
  background: #111 !important;
}

/* ÐšÐ°Ñ€Ñ‚Ð¾Ñ‡ÐºÐ° Ð²Ð¸Ð´ÐµÐ¾ Ð¾ÑÑ‚Ð°Ñ‘Ñ‚ÑÑ Ñ‚Ð¾Ð¹ Ð¶Ðµ Ð²Ñ‹ÑÐ¾Ñ‚Ñ‹, Ñ‡Ñ‚Ð¾ Ñ‚ÐµÐºÑÑ‚Ð¾Ð²Ñ‹Ðµ */
@media (min-width: 1181px) {
  .family-video-review {
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
  }

  .family-video-review__author {
    margin-top: auto;
    padding-top: 20px;
  }
}

/* ÐÐ° Ð²ÐµÑÑŒ ÑÐºÑ€Ð°Ð½ Ñ€Ð¾Ð»Ð¸Ðº Ð²ÑÐµÐ³Ð´Ð° Ñ†ÐµÐ»Ð¸ÐºÐ¾Ð¼ */
.family-video-review__media video:fullscreen,
.family-video-review__media video:-webkit-full-screen {
  width: 100vw !important;
  height: 100vh !important;
  max-width: none !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #000 !important;
}


/* =========================================================
   Ð¤Ð¾Ñ‚Ð¾Ð³Ð°Ð»ÐµÑ€ÐµÑ â€” Ñ€ÐµÐ°Ð»ÑŒÐ½Ñ‹Ðµ Ñ„Ð¾Ñ‚Ð¾Ð³Ñ€Ð°Ñ„Ð¸Ð¸ Ð¸Ð· Ð°Ñ€Ñ…Ð¸Ð²Ð° ÐºÐ»Ð¸ÐµÐ½Ñ‚Ð°
   ========================================================= */
.gallery-photo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}

/* =========================================================
   ÐÐ°ÑˆÐµ Ð¿Ñ€Ð¾ÑÑ‚Ñ€Ð°Ð½ÑÑ‚Ð²Ð¾ â€” Ñ€ÐµÑ„ÐµÑ€ÐµÐ½ÑÐ½Ð°Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ°
   ========================================================= */
.space-showcase-section {
  background: #fff;
}

.space-showcase {
  display: grid;
  grid-template-columns: minmax(0, .98fr) minmax(0, 1.02fr);
  gap: 42px;
  align-items: center;
  padding: 34px;
  border: 1px solid rgba(26, 53, 99, .10);
  border-radius: 32px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(33, 49, 83, .06);
}

.space-showcase__media {
  margin: 0;
  min-width: 0;
}

.space-showcase__media img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.space-showcase__content {
  min-width: 0;
  padding: 10px 10px 10px 0;
}

.space-showcase__content h2 {
  max-width: 650px;
  margin-top: 16px;
  font-size: clamp(42px, 4.1vw, 64px);
  line-height: 1.02;
}

.space-showcase__content > p {
  max-width: 690px;
  margin-top: 24px;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.65;
}

.space-showcase__features {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 34px;
}

.space-showcase__features article {
  min-height: 104px;
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 20px;
  border-radius: 20px;
  background: linear-gradient(135deg, #fffaf1, #fffdf9);
}

.space-feature-icon {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  flex: 0 0 54px;
  border-radius: 14px;
  color: var(--navy);
  background: #ffc63a;
}

.space-feature-icon svg {
  width: 28px;
  height: 28px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.space-showcase__features strong {
  color: var(--navy);
  font-size: 15px;
  line-height: 1.35;
  font-weight: 600;
}

@media (max-width: 1050px) {
  .space-showcase {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .space-showcase__media {
    max-width: 720px;
    margin-inline: auto;
  }

  .space-showcase__content {
    padding: 0 10px 12px;
  }
}

@media (max-width: 650px) {
  .space-showcase {
    padding: 18px;
    border-radius: 24px;
  }

  .space-showcase__content h2 {
    font-size: 36px;
  }

  .space-showcase__content > p {
    font-size: 15px;
  }

  .space-showcase__features {
    grid-template-columns: 1fr;
  }
}


/* =========================================================
   ÐÐ°ÑˆÐµ Ð¿Ñ€Ð¾ÑÑ‚Ñ€Ð°Ð½ÑÑ‚Ð²Ð¾ v6 â€” Ð°ÐºÐºÑƒÑ€Ð°Ñ‚Ð½Ð°Ñ ÑÐµÑ‚ÐºÐ° Ð±ÐµÐ· Ñ€Ð°Ð¼Ð¾Ðº
   ========================================================= */
.space-showcase-section {
  background: #fff;
}

.space-showcase {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.space-showcase__top {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
  gap: 56px;
  align-items: center;
}

.space-showcase__gallery {
  min-width: 0;
}

.space-photo {
  margin: 0;
  overflow: hidden;
  border: 0;
  border-radius: 22px;
  background: transparent;
  box-shadow: none;
}

.space-photo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}

.space-photo--main {
  aspect-ratio: 16 / 9;
}

.space-showcase__gallery-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}

.space-showcase__gallery-row .space-photo {
  aspect-ratio: 4 / 3;
}

.space-showcase__content {
  min-width: 0;
  padding: 0;
}

.space-showcase__content h2 {
  max-width: 680px;
  margin-top: 16px;
  font-size: clamp(42px, 4.1vw, 64px);
  line-height: 1.02;
}

.space-showcase__content > p {
  max-width: 680px;
  margin-top: 24px;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.7;
}

/* Ð§ÐµÑ‚Ñ‹Ñ€Ðµ Ð¿Ñ€ÐµÐ¸Ð¼ÑƒÑ‰ÐµÑÑ‚Ð²Ð° â€” Ð¾Ð´Ð¸Ð½ Ñ€ÑÐ´ Ð½Ð° Ð²ÑÑŽ ÑˆÐ¸Ñ€Ð¸Ð½Ñƒ ÑÐµÐºÑ†Ð¸Ð¸ */
.space-showcase__features {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  width: 100%;
  margin-top: 40px;
}

.space-showcase__features article {
  min-width: 0;
  min-height: 112px;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px 18px;
  border: 0;
  border-radius: 20px;
  background: #fff7df;
  box-shadow: none;
}

.space-feature-icon {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  flex: 0 0 54px;
  border-radius: 14px;
  color: var(--navy);
  background: #ffc63a;
}

.space-feature-icon svg {
  width: 28px;
  height: 28px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.space-showcase__features strong {
  color: var(--navy);
  font-size: 15px;
  line-height: 1.35;
  font-weight: 600;
}

@media (max-width: 1100px) {
  .space-showcase__top {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .space-showcase__content {
    max-width: 800px;
  }

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

@media (max-width: 680px) {
  .space-showcase__gallery-row {
    grid-template-columns: 1fr 1fr;
  }

  .space-showcase__gallery-row .space-photo:last-child {
    grid-column: 1 / -1;
    aspect-ratio: 16 / 8;
  }

  .space-showcase__content h2 {
    font-size: 36px;
  }

  .space-showcase__content > p {
    font-size: 15px;
  }

  .space-showcase__features {
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 28px;
  }

  .space-showcase__features article {
    min-height: 94px;
  }
}


/* =========================================================
   FIX: ÐÐ°ÑˆÐµ Ð¿Ñ€Ð¾ÑÑ‚Ñ€Ð°Ð½ÑÑ‚Ð²Ð¾ â€” ÑÐ±Ñ€Ð¾Ñ ÑÑ‚Ð°Ñ€Ð¾Ð¹ grid-Ñ€Ð°Ð·Ð¼ÐµÑ‚ÐºÐ¸
   ========================================================= */
.space-showcase {
  display: block !important;
  grid-template-columns: none !important;
  gap: 0 !important;
  align-items: initial !important;
  width: 100%;
}

.space-showcase__top {
  width: 100%;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
}

.space-showcase__gallery,
.space-showcase__content {
  width: 100%;
  min-width: 0;
}

.space-showcase__features {
  width: 100%;
  grid-column: auto !important;
}

@media (max-width: 1100px) {
  .space-showcase__top {
    grid-template-columns: 1fr;
  }
}


/* =========================================================
   ÐÐ°ÑˆÐµ Ð¿Ñ€Ð¾ÑÑ‚Ñ€Ð°Ð½ÑÑ‚Ð²Ð¾ v8 â€” Ð½Ð¾Ð²Ñ‹Ðµ PNG-Ð¸ÐºÐ¾Ð½ÐºÐ¸ Ð±ÐµÐ· Ð¿Ð¾Ð´Ð»Ð¾Ð¶ÐºÐ¸
   ========================================================= */
.space-showcase__features article {
  gap: 14px;
}

.space-feature-icon {
  width: 76px !important;
  height: 68px !important;
  flex: 0 0 76px !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.space-feature-icon img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  object-position: center;
  background: transparent;
}

.space-feature-icon svg {
  display: none !important;
}

@media (max-width: 680px) {
  .space-feature-icon {
    width: 64px !important;
    height: 58px !important;
    flex-basis: 64px !important;
  }
}


/* =========================================================
   ÐœÐ¾Ð´Ð°Ð»ÑŒÐ½Ð°Ñ Ñ„Ð¾Ñ€Ð¼Ð° Ð·Ð°ÑÐ²ÐºÐ¸
   ========================================================= */
.contact-modal {
  width: min(760px, calc(100% - 32px));
  max-height: min(92vh, 900px);
  margin: auto;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 30px;
  background: transparent;
  box-shadow: none;
}

.contact-modal::backdrop {
  background: rgba(11, 32, 68, .58);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}

.contact-modal__inner {
  position: relative;
  max-height: 92vh;
  overflow: auto;
  padding: 42px;
  border: 1px solid rgba(26, 58, 105, .08);
  border-radius: 30px;
  background: #fffdf9;
  box-shadow: 0 28px 80px rgba(16, 38, 76, .22);
}

.contact-modal__close {
  position: absolute;
  top: 18px;
  right: 18px;
  z-index: 3;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(26, 58, 105, .10);
  border-radius: 50%;
  color: var(--navy);
  background: #fff;
  box-shadow: 0 7px 18px rgba(26, 58, 105, .10);
  font: inherit;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.contact-modal__close:hover {
  transform: rotate(5deg) scale(1.04);
  background: #fff8ee;
  box-shadow: 0 10px 22px rgba(26, 58, 105, .14);
}

.contact-modal__head {
  padding-right: 44px;
}

.contact-modal__head h2 {
  max-width: 610px;
  margin-top: 10px;
  font-size: clamp(34px, 4.4vw, 50px);
  line-height: 1.02;
}

.contact-modal__head p {
  max-width: 610px;
  margin-top: 14px;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.55;
}

.contact-form--modal {
  margin-top: 28px;
}

.contact-form--modal .btn {
  margin-top: 4px;
}

.contact-modal[open] {
  animation: contactModalFade .22s ease both;
}

.contact-modal[open] .contact-modal__inner {
  animation: contactModalIn .28s cubic-bezier(.2,.75,.25,1) both;
}

@keyframes contactModalFade {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes contactModalIn {
  from {
    opacity: 0;
    transform: translateY(18px) scale(.985);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@media (max-width: 650px) {
  .contact-modal {
    width: calc(100% - 20px);
    max-height: 94vh;
  }

  .contact-modal__inner {
    max-height: 94vh;
    padding: 30px 18px 24px;
    border-radius: 24px;
  }

  .contact-modal__close {
    top: 12px;
    right: 12px;
    width: 38px;
    height: 38px;
  }

  .contact-modal__head {
    padding-right: 36px;
  }

  .contact-modal__head h2 {
    font-size: 32px;
  }

  .contact-form--modal .form-row {
    grid-template-columns: 1fr;
  }
}


/* =========================================================
   ÐœÐ¾Ð´Ð°Ð»ÑŒÐ½Ð°Ñ Ñ„Ð¾Ñ€Ð¼Ð° v10 â€” ÑÐºÑ€Ð¾Ð»Ð» Ð²Ð½ÑƒÑ‚Ñ€Ð¸ + Ñ€Ð¾Ð²Ð½Ñ‹Ðµ Ð¿Ð¾Ð»Ñ
   ========================================================= */

/* Ð¡Ð°Ð¼ dialog Ð½Ð¸Ñ‡ÐµÐ³Ð¾ Ð½Ðµ Ð¿Ñ€Ð¾ÐºÑ€ÑƒÑ‡Ð¸Ð²Ð°ÐµÑ‚ Ð¸ Ð¾Ð±Ñ€ÐµÐ·Ð°ÐµÑ‚ ÑÐ¾Ð´ÐµÑ€Ð¶Ð¸Ð¼Ð¾Ðµ Ð¿Ð¾ Ñ€Ð°Ð´Ð¸ÑƒÑÑƒ */
.contact-modal {
  max-height: none !important;
  overflow: hidden !important;
  border-radius: 30px !important;
}

/* ÐŸÑ€Ð¾ÐºÑ€ÑƒÑ‡Ð¸Ð²Ð°ÐµÑ‚ÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½ÑÑ Ð±ÐµÐ»Ð°Ñ Ð¿Ð°Ð½ÐµÐ»ÑŒ */
.contact-modal__inner {
  box-sizing: border-box;
  width: 100%;
  max-height: calc(100dvh - 32px) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  scrollbar-color: rgba(21, 52, 103, .34) transparent;
}

/* Ð¢Ð¾Ð½ÐºÐ¸Ð¹ scrollbar Chrome / Edge / Safari */
.contact-modal__inner::-webkit-scrollbar {
  width: 6px;
}

.contact-modal__inner::-webkit-scrollbar-track {
  background: transparent;
  margin-block: 22px;
}

.contact-modal__inner::-webkit-scrollbar-thumb {
  min-height: 42px;
  border-radius: 999px;
  background: rgba(21, 52, 103, .30);
}

.contact-modal__inner::-webkit-scrollbar-thumb:hover {
  background: rgba(21, 52, 103, .48);
}

/* Ð’ ÑÑ‚Ñ€Ð¾ÐºÐ°Ñ… Ð¼Ð¾Ð´Ð°Ð»ÑŒÐ½Ð¾Ð¹ Ñ„Ð¾Ñ€Ð¼Ñ‹ Ð¾Ð±Ð° label Ð½Ð°Ñ‡Ð¸Ð½Ð°ÑŽÑ‚ÑÑ ÑÑ‚Ñ€Ð¾Ð³Ð¾ Ð½Ð° Ð¾Ð´Ð½Ð¾Ð¹ Ð²Ñ‹ÑÐ¾Ñ‚Ðµ */
.contact-form--modal .form-row {
  align-items: start;
}

.contact-form--modal .form-row > label {
  margin-top: 0 !important;
  align-self: start;
}

/* Ð£Ð±Ð¸Ñ€Ð°ÐµÐ¼ Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ñ‹Ð¹ label + label Ð¾Ñ‚ÑÑ‚ÑƒÐ¿ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð²Ð½ÑƒÑ‚Ñ€Ð¸ Ð¿Ð°Ñ€Ñ‹ Ð¿Ð¾Ð»ÐµÐ¹ */
.contact-form--modal .form-row > label + label {
  margin-top: 0 !important;
}

/* ÐžÐ´Ð¸Ð½Ð°ÐºÐ¾Ð²Ð°Ñ Ñ‚Ð¸Ð¿Ð¾Ð³Ñ€Ð°Ñ„Ð¸ÐºÐ° Ð¿Ð¾Ð´Ð¿Ð¸ÑÐµÐ¹ */
.contact-form--modal label {
  line-height: 1.25;
}

/* Input Ð¸ select â€” Ð°Ð±ÑÐ¾Ð»ÑŽÑ‚Ð½Ð¾ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ð°Ñ Ð²Ñ‹ÑÐ¾Ñ‚Ð° */
.contact-form--modal input:not([type="checkbox"]),
.contact-form--modal select {
  box-sizing: border-box;
  height: 56px;
  min-height: 56px;
  padding: 0 15px;
  line-height: 54px;
}

/* select Ð»ÑƒÑ‡ÑˆÐµ Ñ†ÐµÐ½Ñ‚Ñ€Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ð½Ð°Ñ‚Ð¸Ð²Ð½Ð¾, Ð±ÐµÐ· line-height */
.contact-form--modal select {
  line-height: normal;
}

/* ÐšÐ¾Ð¼Ð¼ÐµÐ½Ñ‚Ð°Ñ€Ð¸Ð¹ Ð¾ÑÑ‚Ð°Ñ‘Ñ‚ÑÑ Ð²Ñ‹ÑˆÐµ Ð¾ÑÑ‚Ð°Ð»ÑŒÐ½Ñ‹Ñ… Ð¿Ð¾Ð»ÐµÐ¹ */
.contact-form--modal textarea {
  box-sizing: border-box;
  min-height: 96px;
  resize: vertical;
}

/* ÐœÐµÐ¶Ð´Ñƒ Ñ€ÑÐ´Ð°Ð¼Ð¸ Ñ„Ð¾Ñ€Ð¼Ñ‹ ÑÐ¾Ñ…Ñ€Ð°Ð½ÑÐµÐ¼ ÐµÐ´Ð¸Ð½Ñ‹Ð¹ Ð²ÐµÑ€Ñ‚Ð¸ÐºÐ°Ð»ÑŒÐ½Ñ‹Ð¹ Ñ€Ð¸Ñ‚Ð¼ */
.contact-form--modal .form-row + .form-row,
.contact-form--modal .form-row + label {
  margin-top: 16px;
}

@media (max-width: 650px) {
  .contact-modal {
    border-radius: 24px !important;
  }

  .contact-modal__inner {
    max-height: calc(100dvh - 20px) !important;
  }

  .contact-modal__inner::-webkit-scrollbar-track {
    margin-block: 16px;
  }
}


/* =========================================================
   ÐšÐ¾Ð½Ñ‚Ð°ÐºÑ‚Ñ‹ v11 â€” Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ðµ Ð½Ð¸Ð¶Ð½ÐµÐ¹ Ñ„Ð¾Ñ€Ð¼Ñ‹ + Ð½Ð¾Ð²Ñ‹Ðµ SVG-Ð¸ÐºÐ¾Ð½ÐºÐ¸
   ========================================================= */

/* ÐÐ¸Ð¶Ð½ÑÑ Ñ„Ð¾Ñ€Ð¼Ð°: Ð¿Ð°Ñ€Ñ‹ Ð¿Ð¾Ð»ÐµÐ¹ Ð½Ð°Ñ‡Ð¸Ð½Ð°ÑŽÑ‚ÑÑ ÑÑ‚Ñ€Ð¾Ð³Ð¾ Ð½Ð° Ð¾Ð´Ð½Ð¾Ð¹ Ð²Ñ‹ÑÐ¾Ñ‚Ðµ */
#contacts .contact-form .form-row {
  align-items: start;
}

#contacts .contact-form .form-row > label,
#contacts .contact-form .form-row > label + label {
  margin-top: 0 !important;
  align-self: start;
}

/* ÐžÐ´Ð¸Ð½Ð°ÐºÐ¾Ð²Ð°Ñ Ð²Ñ‹ÑÐ¾Ñ‚Ð° Ð¾Ð±Ñ‹Ñ‡Ð½Ñ‹Ñ… Ð¿Ð¾Ð»ÐµÐ¹ Ð¸ select */
#contacts .contact-form input:not([type="checkbox"]),
#contacts .contact-form select {
  box-sizing: border-box;
  height: 56px;
  min-height: 56px;
  padding: 0 15px;
}

#contacts .contact-form select {
  line-height: normal;
}

/* ÐšÐ¾Ð¼Ð¼ÐµÐ½Ñ‚Ð°Ñ€Ð¸Ð¹ Ð¾ÑÑ‚Ð°Ñ‘Ñ‚ÑÑ Ð¾Ñ‚Ð´ÐµÐ»ÑŒÐ½Ñ‹Ð¼ Ð±Ð¾Ð»ÐµÐµ Ð²Ñ‹ÑÐ¾ÐºÐ¸Ð¼ Ð¿Ð¾Ð»ÐµÐ¼ */
#contacts .contact-form textarea {
  box-sizing: border-box;
  min-height: 112px;
  resize: vertical;
}

/* Ð•Ð´Ð¸Ð½Ñ‹Ðµ Ð¸Ð½Ñ‚ÐµÑ€Ð²Ð°Ð»Ñ‹ Ð¼ÐµÐ¶Ð´Ñƒ Ñ€ÑÐ´Ð°Ð¼Ð¸ */
#contacts .contact-form .form-row + .form-row,
#contacts .contact-form .form-row + label {
  margin-top: 16px;
}

/* ÐÐ¾Ð²Ñ‹Ðµ Ð¸ÐºÐ¾Ð½ÐºÐ¸ ÐºÐ¾Ð½Ñ‚Ð°ÐºÑ‚Ð¾Ð² */
.contact-list li > .contact-list__icon {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  flex: 0 0 44px;
  padding: 10px;
  border-radius: 14px;
  background: var(--yellow-soft);
}

.contact-list__icon img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}

.contact-list li:nth-child(1) .contact-list__icon img {
  width: 23px;
  height: 23px;
}

.contact-list li:nth-child(2) .contact-list__icon img {
  width: 24px;
  height: 20px;
}

.contact-list li:nth-child(3) .contact-list__icon img {
  width: 20px;
  height: 26px;
}

@media (max-width: 650px) {
  #contacts .contact-form input:not([type="checkbox"]),
  #contacts .contact-form select {
    height: 54px;
    min-height: 54px;
  }
}


/* =========================================================
   Ð›Ð¾Ð³Ð¾Ñ‚Ð¸Ð¿Ñ‹ v12
   ========================================================= */
.header-brand {
  line-height: 0;
}

.header-brand__logo {
  display: block;
  width: 150px;
  height: auto;
  object-fit: contain;
}

.brand-footer {
  display: inline-flex;
  line-height: 0;
}

.footer-brand__logo {
  display: block;
  width: 180px;
  height: auto;
  object-fit: contain;
}

@media (max-width: 1280px) {
  .header-brand__logo {
    width: 138px;
  }
}

@media (max-width: 760px) {
  .header-brand__logo {
    width: 128px;
  }

  .footer-brand__logo {
    width: 165px;
  }
}


/* =========================================================
   Brand palette v13 â€” Ð±Ð»Ð¸Ð¶Ðµ Ðº Ð¾ÑÐ½Ð¾Ð²Ð½Ð¾Ð¼Ñƒ businki74.ru
   Ð“Ð»Ð°Ð²Ð½Ñ‹Ð¹ Ñ„Ð¸Ñ€Ð¼ÐµÐ½Ð½Ñ‹Ð¹ Ð±Ð¸Ñ€ÑŽÐ·Ð¾Ð²Ñ‹Ð¹: #47B7B0
   ========================================================= */
:root {
  --navy: #183f3c;
  --navy-2: #103330;

  --mint: #47b7b0;
  --mint-soft: #e7f4f2;

  --green: #79ad7b;
  --green-soft: #eaf3e8;

  --blue: #6ea9ad;
  --blue-soft: #e8f2f2;

  --yellow: #dfc45f;
  --yellow-soft: #f6f0d8;

  --pink: #dca3a5;
  --pink-soft: #f5eaea;

  --purple: #9c92aa;
  --purple-soft: #efedf2;

  --coral: #cc867d;

  --cream: #f4f9f7;
  --cream-2: #ecf4f1;
  --white: #fff;

  --text: #314947;
  --muted: #72827f;
  --line: #dfe9e6;

  --shadow: 0 18px 50px rgba(24, 63, 60, .10);
  --shadow-soft: 0 10px 30px rgba(24, 63, 60, .07);
}

/* ÐžÐ±Ñ‰Ð°Ñ Ñ‚Ð¸Ð¿Ð¾Ð³Ñ€Ð°Ñ„Ð¸ÐºÐ° Ð¸ Ð¸Ð½Ñ‚ÐµÑ€Ð°ÐºÑ‚Ð¸Ð²Ð½Ñ‹Ðµ ÑÐ¾ÑÑ‚Ð¾ÑÐ½Ð¸Ñ */
body {
  color: var(--text);
}

h1, h2, h3 {
  color: var(--navy);
}

.btn:focus-visible,
.tab-button:focus-visible,
.gallery-photo:focus-visible,
.slider-controls button:focus-visible {
  outline-color: rgba(71, 183, 176, .27);
}

/* ÐžÑÐ½Ð¾Ð²Ð½Ñ‹Ðµ CTA Ð±Ð¾Ð»ÑŒÑˆÐµ Ð½Ðµ Ð¶Ñ‘Ð»Ñ‚Ñ‹Ðµ/ÐºÐ¾Ñ€Ð°Ð»Ð»Ð¾Ð²Ñ‹Ðµ â€” Ñ„Ð¸Ñ€Ð¼ÐµÐ½Ð½Ñ‹Ð¹ Ð±Ð¸Ñ€ÑŽÐ·Ð¾Ð²Ñ‹Ð¹ */
.btn-yellow {
  color: #fff;
  background: var(--mint);
  box-shadow: 0 10px 24px rgba(71, 183, 176, .22);
}

.btn-yellow:hover {
  color: #fff;
  background: #389f99;
  box-shadow: 0 14px 30px rgba(71, 183, 176, .28);
}

.btn-outline {
  color: var(--navy);
  border-color: var(--mint);
}

.btn-outline:hover {
  color: #fff;
  background: var(--mint);
  border-color: var(--mint);
}

/* Ð¨Ð°Ð¿ÐºÐ° */
.main-header {
  border-bottom-color: #e4ece9;
  box-shadow: 0 7px 24px rgba(24, 63, 60, .045);
}

.header-directions--quiet {
  gap: 6px;
  margin-left: 2px;
  padding-left: 15px;
  border-left: 1px solid #dbe6e3;
  color: #647774;
  font-size: 11px;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
}

.header-directions--quiet b {
  color: #8ca19e;
  font-size: 10px;
  font-weight: 500;
}

.header-directions--quiet span:last-child {
  color: #536b68;
}

.header-nav a:hover {
  color: var(--mint);
}

.header-nav a::after {
  background: var(--mint);
}

.header-cta {
  color: #fff;
  background: var(--mint);
  box-shadow: 0 8px 20px rgba(71, 183, 176, .20);
}

.header-cta:hover {
  background: #389f99;
  box-shadow: 0 11px 24px rgba(71, 183, 176, .27);
}

/* ÐŸÐµÑ€Ð²Ñ‹Ð¹ ÑÐºÑ€Ð°Ð½ */
.hero-primary h1 span {
  color: var(--mint);
}

.hero-primary__leaf i {
  background: var(--mint);
}

.hero-primary__shape--pink {
  background: #dcb5b3;
}

.hero-primary__shape--blue {
  background: #a9d9d6;
}

.hero-info-card--garden .hero-info-card__icon {
  background: #78ad7a;
}

.hero-info-card--school .hero-info-card__icon {
  background: #63aaa9;
}

.hero-info-card strong {
  color: #6fa370;
}

.hero-info-card--school strong {
  color: #5b9f9e;
}

.hero-button--primary {
  color: #fff;
  background: var(--mint);
  border-color: var(--mint);
  box-shadow: 0 9px 20px rgba(71, 183, 176, .20);
}

.hero-button--primary:hover {
  background: #389f99;
  border-color: #389f99;
}

.hero-button--trial {
  color: var(--navy);
  background: var(--mint-soft);
  border-color: rgba(71, 183, 176, .58);
  box-shadow: 0 9px 20px rgba(71, 183, 176, .10);
}

.hero-button--trial:hover {
  color: #fff;
  background: var(--mint);
  border-color: var(--mint);
}

/* ÐšÐ¾Ð½Ñ‚Ð°ÐºÑ‚Ñ‹ */
.contact-list li > .contact-list__icon {
  background: var(--mint-soft);
}

/* ÐŸÐ¾Ð´Ð²Ð°Ð» â€” ÐºÐ°Ðº Ñƒ Ð¸ÑÑ…Ð¾Ð´Ð½Ð¾Ð³Ð¾ ÑÐ°Ð¹Ñ‚Ð°: Ð³Ð»ÑƒÐ±Ð¾ÐºÐ¸Ð¹ Ð·ÐµÐ»Ñ‘Ð½Ð¾-Ð±Ð¸Ñ€ÑŽÐ·Ð¾Ð²Ñ‹Ð¹ */
.site-footer {
  background: var(--navy-2);
}

/* Ð§ÑƒÑ‚ÑŒ ÑÐ¿Ð¾ÐºÐ¾Ð¹Ð½ÐµÐµ Ð¿Ð¾Ð´Ð»Ð¾Ð¶ÐºÐ¸ ÐºÐ°Ñ€Ñ‚Ð¾Ñ‡ÐµÐº, Ñ‡Ñ‚Ð¾Ð±Ñ‹ Ð±Ð¸Ñ€ÑŽÐ·Ð¾Ð²Ñ‹Ð¹ Ð±Ñ‹Ð» Ð³Ð»Ð°Ð²Ð½Ñ‹Ð¼ */
.kicker-blue,
.kicker-green {
  color: var(--mint);
}

.kicker-coral {
  color: #bf8078;
}

/* ÐœÐ¾Ð´Ð°Ð»ÑŒÐ½Ð°Ñ Ñ„Ð¾Ñ€Ð¼Ð° */
.contact-modal::backdrop {
  background: rgba(16, 51, 48, .56);
}

.contact-modal__inner {
  border-color: rgba(71, 183, 176, .12);
}

/* ÐÐ° Ð¼Ð¾Ð±Ð¸Ð»ÑŒÐ½Ð¾Ð¼ Ð´Ð»Ð¸Ð½Ð½Ð°Ñ Ð¿Ð¾ÑÑÐ½ÑÑŽÑ‰Ð°Ñ Ð¿Ð¾Ð´Ð¿Ð¸ÑÑŒ Ð½Ðµ Ð¼ÐµÑˆÐ°ÐµÑ‚ ÑˆÐ°Ð¿ÐºÐµ */
@media (max-width: 640px) {
  .header-directions--quiet {
    display: none;
  }
}


/* =========================================================
   v14 â€” Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´ Ð¿Ð¾ÑÐ»Ðµ skills + Ñ„Ð¸Ñ€Ð¼ÐµÐ½Ð½Ð°Ñ Ð¿Ð°Ð»Ð¸Ñ‚Ñ€Ð° ÐºÐ²Ð¸Ð·Ð°
   ========================================================= */

/* ÐŸÐ¾ ÑÐ¾Ð³Ð»Ð°ÑÐ¾Ð²Ð°Ð½Ð½Ð¾Ð¹ Ð¿Ñ€Ð°Ð²ÐºÐµ */
.skills-section::after {
  background: var(--navy);
}

/* ÐšÐ²Ð¸Ð· Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ Ñ‚Ñƒ Ð¶Ðµ Ð¿Ð°Ð»Ð¸Ñ‚Ñ€Ñƒ, Ñ‡Ñ‚Ð¾ Ð¸ Ð²ÐµÑÑŒ Ð»ÐµÐ½Ð´Ð¸Ð½Ð³ */
.quiz {
  --quiz-green: var(--mint);
  --quiz-green-soft: var(--mint-soft);
  --quiz-yellow: var(--yellow);
  --quiz-yellow-soft: var(--yellow-soft);
  --quiz-pink: var(--pink);
  --quiz-pink-soft: var(--pink-soft);
  --quiz-purple: var(--purple);
  --quiz-purple-soft: var(--purple-soft);
}

/* ÐÐ¾Ð¼ÐµÑ€ ÑˆÐ°Ð³Ð° Ð¸ Ð¿Ñ€Ð¾Ð³Ñ€ÐµÑÑ */
.quiz-step {
  color: #348f8a;
  background: var(--mint-soft);
}

.quiz-progress i.is-active,
.quiz-progress i.is-active::after {
  background: var(--mint);
}

/* Ð’ÑÐµ Ð²Ð°Ñ€Ð¸Ð°Ð½Ñ‚Ñ‹ Ð¾Ñ‚Ð²ÐµÑ‚Ð° */
.quiz-option {
  border-color: var(--line);
}

.quiz-option:hover {
  border-color: rgba(71, 183, 176, .65);
  background: #fff;
  box-shadow: 0 9px 20px rgba(24, 63, 60, .07);
}

.quiz-option.is-selected {
  border-color: var(--mint);
  background: var(--mint-soft);
  box-shadow: 0 0 0 2px rgba(71, 183, 176, .10);
}

/* Ð¡Ð»ÐµÐ´ÑƒÑŽÑ‰Ð°Ñ / Ð”Ð°Ð»ÐµÐµ */
.quiz-next {
  color: #348f8a;
  border-color: rgba(71, 183, 176, .78);
  background: #fff;
}

.quiz-next:hover,
.quiz-next:focus-visible {
  color: #287d78;
  border-color: var(--mint);
  background: var(--mint-soft);
}

/* ÐšÐ½Ð¾Ð¿ÐºÐ° ÑÑ‚Ð°Ñ€Ñ‚Ð° */
.quiz-start-button,
.quiz-start-button:visited {
  color: #fff !important;
  border-color: var(--mint) !important;
  background: var(--mint) !important;
  box-shadow: 0 9px 20px rgba(71, 183, 176, .20);
}

.quiz-start-button:hover,
.quiz-start-button:focus-visible {
  color: #fff !important;
  border-color: #389f99 !important;
  background: #389f99 !important;
  box-shadow: 0 12px 24px rgba(71, 183, 176, .27);
}

.quiz-start-button:active {
  color: #fff !important;
  border-color: #318c87 !important;
  background: #318c87 !important;
  box-shadow: 0 6px 14px rgba(71, 183, 176, .18);
}

.quiz-start-button:focus-visible {
  outline: 4px solid rgba(71, 183, 176, .18);
  outline-offset: 3px;
}

/* Ð—Ð°Ð²ÐµÑ€ÑˆÐ¸Ñ‚ÑŒ */
.quiz-question--priority .quiz-next--finish,
.quiz-question--priority .quiz-next--finish:visited {
  color: #fff !important;
  border-color: var(--mint) !important;
  background: var(--mint) !important;
  box-shadow: 0 9px 20px rgba(71, 183, 176, .20);
}

.quiz-question--priority .quiz-next--finish:hover,
.quiz-question--priority .quiz-next--finish:focus-visible {
  color: #fff !important;
  border-color: #389f99 !important;
  background: #389f99 !important;
  box-shadow: 0 12px 24px rgba(71, 183, 176, .27);
}

.quiz-question--priority .quiz-next--finish:active {
  color: #fff !important;
  border-color: #318c87 !important;
  background: #318c87 !important;
  box-shadow: 0 6px 14px rgba(71, 183, 176, .18);
}

/* ÐŸÐ¾Ð»ÑƒÑ‡Ð¸Ñ‚ÑŒ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ñƒ */
.quiz-result .quiz-form__submit,
.quiz-result .quiz-form__submit:visited {
  color: #fff !important;
  border-color: var(--mint) !important;
  background: var(--mint) !important;
  box-shadow: 0 9px 20px rgba(71, 183, 176, .20);
}

.quiz-result .quiz-form__submit:hover,
.quiz-result .quiz-form__submit:focus-visible {
  color: #fff !important;
  border-color: #389f99 !important;
  background: #389f99 !important;
  box-shadow: 0 12px 24px rgba(71, 183, 176, .27);
}

.quiz-result .quiz-form__submit:active {
  color: #fff !important;
  border-color: #318c87 !important;
  background: #318c87 !important;
  box-shadow: 0 6px 14px rgba(71, 183, 176, .18);
}

/* ÐŸÐ¾Ð»Ñ Ð½Ð° Ñ„Ð¸Ð½Ð°Ð»ÑŒÐ½Ð¾Ð¼ ÑÐºÑ€Ð°Ð½Ðµ ÐºÐ²Ð¸Ð·Ð° */
.quiz-form > input:focus {
  border-color: var(--mint);
  box-shadow: 0 0 0 3px rgba(71, 183, 176, .10);
}

.quiz-form__policy input {
  accent-color: var(--mint);
}

.quiz__status {
  color: #348f8a;
}


/* =========================================================
   v16 â€” Ñ‚Ð¾Ñ‡Ð½Ð¾Ðµ ÐºÐ°Ð´Ñ€Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ðµ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼ Ð¸ Ð¼ÑÐ³ÐºÐ¸Ñ… Ð½Ð°Ð²Ñ‹ÐºÐ¾Ð²
   ========================================================= */

/* Â«Ð¢Ð²Ð¾Ñ€Ñ‡ÐµÑÑ‚Ð²Ð¾ Ð¸ Ð¾Ð±Ñ‰ÐµÐ½Ð¸ÐµÂ» â€” 4-Ñ ÐºÐ°Ñ€Ñ‚Ð¾Ñ‡ÐºÐ° Ð² ÑÑÐ»Ð¸-ÑÐ°Ð´Ñƒ */
.program-grid[data-panel="garden"] .program-card:nth-child(4) .program-card__photo img {
  object-position: center 100%;
}

/* Â«ÐšÐ¾Ð½Ñ„ÐµÑ€ÐµÐ½Ñ†Ð¸Ð¸ Ð¸ ÑˆÐ°Ñ…Ð¼Ð°Ñ‚Ñ‹Â» â€” 4-Ñ ÐºÐ°Ñ€Ñ‚Ð¾Ñ‡ÐºÐ° ÑˆÐºÐ¾Ð»Ñ‹ */
.program-grid[data-panel="school"] .program-card:nth-child(4) .program-card__photo img {
  object-position: center 28%;
}

/* Â«ÐŸÐ¸Ñ†Ñ†Ð° Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¾Ð¼Â» */
.skills-slide[data-title="ÐŸÐ¸Ñ†Ñ†Ð° Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¾Ð¼"] img {
  object-position: center 67%;
}


/* Restored wave separators for Results 2026 section */
.skills-section {
  position: relative;
  overflow: visible;
  isolation: isolate;
}

.skills-section::before,
.skills-section::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: clamp(44px, 6vw, 78px);
  pointer-events: none;
  z-index: 2;
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100' preserveAspectRatio='none'><path d='M0,56 C120,96 240,16 360,44 C480,72 600,100 720,72 C840,44 960,12 1080,28 C1200,44 1320,92 1440,52 L1440,100 L0,100 Z' fill='black'/></svg>");
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100' preserveAspectRatio='none'><path d='M0,56 C120,96 240,16 360,44 C480,72 600,100 720,72 C840,44 960,12 1080,28 C1200,44 1320,92 1440,52 L1440,100 L0,100 Z' fill='black'/></svg>");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-position: center;
  mask-position: center;
}

.skills-section::before {
  top: calc(clamp(44px, 6vw, 78px) * -1 + 1px);
  background: var(--cream, #f7f1e8);
}

.skills-section::after {
  /* bottom: calc(clamp(44px, 6vw, 78px) * -1 + 1px); */
  /* transform: scaleY(-1); */
  /* background: var(--navy, #213b73); */
}


/* Reviews: restore Semeyina avatar + make video preview fill the block */
.family-video-review__media,
.reviews-video-card__media,
.reviews-card--video .reviews-card__media,
.family-reviews__video,
.review-video-card__media {
  overflow: hidden;
  border-radius: inherit;
}

.family-video-review__media video,
.family-video-review__media img,
.reviews-video-card__media video,
.reviews-video-card__media img,
.reviews-card--video .reviews-card__media video,
.reviews-card--video .reviews-card__media img,
.family-reviews__video video,
.family-reviews__video img,
.review-video-card__media video,
.review-video-card__media img {
  width: 100% !important;
  height: 100% !important;
  display: block;
  object-fit: cover !important;
  object-position: center center !important;
  background: transparent !important;
}


/* =========================================================
   v21 â€” Ñ„Ð¸Ð½Ð°Ð»ÑŒÐ½Ñ‹Ðµ Ð¿Ñ€Ð°Ð²ÐºÐ¸: Ð¾Ñ‚Ð·Ñ‹Ð²Ñ‹ + Ð²Ð¾Ð»Ð½Ñ‹ Results 2026
   ========================================================= */

/* Ð’Ð¾Ð»Ð½Ð° Ð¼ÐµÐ¶Ð´Ñƒ Â«ÐœÑÐ³ÐºÐ¸Ðµ Ð½Ð°Ð²Ñ‹ÐºÐ¸Â» Ð¸ Â«Ð ÐµÐ·ÑƒÐ»ÑŒÑ‚Ð°Ñ‚Ñ‹ 2026Â» */
.skills-section::after {
  /* bottom: calc(clamp(44px, 6vw, 78px) * -1 + 1px); */
  /* transform: scaleY(-1); */
  /* background: var(--navy); */
}

/* Ð’Ð¸Ð´ÐµÐ¾-Ð¿Ñ€ÐµÐ²ÑŒÑŽ: Ð±ÐµÐ· Ñ‡Ñ‘Ñ€Ð½Ñ‹Ñ… Ð¿Ð¾Ð»Ð¾Ñ, Ð¿Ð¾ÑÑ‚ÐµÑ€ Ð·Ð°Ð½Ð¸Ð¼Ð°ÐµÑ‚ Ð²ÐµÑÑŒ Ð±Ð»Ð¾Ðº */
.family-video-review__media {
  position: relative;
  overflow: hidden;
  border-radius: 22px;
  background: transparent !important;
}

.family-video-review__media video {
  width: 100% !important;
  height: 100% !important;
  min-height: 0;
  aspect-ratio: 7 / 10 !important;
  display: block;
  object-fit: cover !important;
  object-position: center center !important;
  background: transparent !important;
}

/* Ð’ Ð¿Ð¾Ð»Ð½Ð¾ÑÐºÑ€Ð°Ð½Ð½Ð¾Ð¼ Ñ€ÐµÐ¶Ð¸Ð¼Ðµ ÑÐ°Ð¼ Ñ€Ð¾Ð»Ð¸Ðº Ð¿Ð¾ÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÐ¼ Ñ†ÐµÐ»Ð¸ÐºÐ¾Ð¼ */
.family-video-review__media video:fullscreen,
.family-video-review__media video:-webkit-full-screen {
  width: 100vw !important;
  height: 100vh !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  background: #000 !important;
}

/* ÐÐ²Ð°Ñ‚Ð°Ñ€ Ð°Ð²Ñ‚Ð¾Ñ€Ð° Ð¾ÑÑ‚Ð°Ñ‘Ñ‚ÑÑ Ð¾Ñ‚Ð´ÐµÐ»ÑŒÐ½Ð¾Ð¹ ÐºÐ°Ñ€Ñ‚Ð¸Ð½ÐºÐ¾Ð¹ */
.family-video-review__author img {
  object-fit: cover;
  object-position: center;
}

/* ÐÐ¸Ð¶Ð½ÑÑ Ð²Ð¾Ð»Ð½Ð° ÑÐµÐºÑ†Ð¸Ð¸ Â«Ð ÐµÐ·ÑƒÐ»ÑŒÑ‚Ð°Ñ‚Ñ‹ 2026Â».
   Ð¡Ð»ÐµÐ´ÑƒÑŽÑ‰Ð°Ñ ÑÐµÐºÑ†Ð¸Ñ (#quiz) Ð¸Ð¼ÐµÐµÑ‚ Ð±ÐµÐ»Ñ‹Ð¹ Ñ„Ð¾Ð½, Ð¿Ð¾ÑÑ‚Ð¾Ð¼Ñƒ Ð²Ð¾Ð»Ð½Ð° Ð±ÐµÐ»Ð°Ñ. */
.results-section {
  position: relative;
  overflow: hidden;
  padding-bottom: calc(var(--section) + 72px);
}

.results-section::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  z-index: 1;
  width: 100%;
  height: clamp(54px, 7vw, 92px);
  pointer-events: none;
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 100% 100%;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cpath fill='%23ffffff' d='M0,70C110,108 220,28 350,47C480,66 570,110 700,86C830,62 915,20 1045,37C1175,54 1315,108 1440,66V120H0Z'/%3E%3C/svg%3E");
}

.results-section > .container {
  position: relative;
  z-index: 2;
}

@media (max-width: 650px) {
  .results-section {
    padding-bottom: calc(var(--section) + 46px);
  }

  .results-section::after {
    height: 58px;
  }
}


/* =========================================================
   v22 â€” Ñ‚Ñ€ÐµÑ‚Ð¸Ð¹ Ð¿Ð¾ÐºÐ°Ð·Ð°Ñ‚ÐµÐ»ÑŒ Ð½Ð° Ð¿ÐµÑ€Ð²Ð¾Ð¼ ÑÐºÑ€Ð°Ð½Ðµ: Ñ€ÐµÐ¹Ñ‚Ð¸Ð½Ð³ Ð¯Ð½Ð´ÐµÐºÑÐ°
   ========================================================= */
.hero-primary__stats {
  max-width: 760px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.hero-info-card--rating .hero-info-card__icon {
  background: var(--mint);
}

.hero-info-card--rating .hero-info-card__icon img {
  filter: none;
}

.hero-info-card--rating strong {
  color: var(--mint);
}

.hero-info-card--rating small {
  white-space: nowrap;
}

@media (max-width: 1080px) {
  .hero-primary__stats {
    max-width: 760px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .hero-primary__stats {
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }

  .hero-info-card--rating {
    grid-column: 1 / -1;
    max-width: calc(50% - 8px);
  }
}

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

  .hero-info-card--rating {
    grid-column: auto;
    max-width: none;
  }

}


/* =========================================================
   Joomla 6 integration
   ========================================================= */
.header-nav--joomla .mod-menu,
.header-nav--joomla ul {
  display: flex;
  align-items: center;
  gap: inherit;
  margin: 0;
  padding: 0;
  list-style: none;
}
.header-nav--joomla li { margin: 0; padding: 0; }
.header-nav--joomla .mod-menu__sub { display: none; }

.joomla-component-page {
  min-height: 60vh;
  padding: clamp(92px, 9vw, 140px) 0 var(--section);
  background: #fff;
}
.joomla-component-page__inner {
  max-width: 1180px;
  margin: 0 auto;
}
.joomla-component-page img { max-width: 100%; height: auto; }
.joomla-component-page h1,
.joomla-component-page h2,
.joomla-component-page h3 { color: var(--navy); }
.joomla-component-page a { color: var(--mint); }
.joomla-component-page .page-header h1,
.joomla-component-page .page-header h2 {
  margin-bottom: 24px;
  font-family: 'Lora', serif;
}
.joomla-component-page .item-page,
.joomla-component-page .blog,
.joomla-component-page .com-content-article {
  line-height: 1.7;
}
.joomla-component-page table { width: 100%; border-collapse: collapse; }
.joomla-component-page th,
.joomla-component-page td { padding: 12px 14px; border: 1px solid var(--line); }

/* Joomla system messages */
#system-message-container { margin-bottom: 24px; }
#system-message-container .alert {
  padding: 14px 18px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--mint-soft);
  color: var(--navy);
}

@media (max-width: 1080px) {
  .header-nav--joomla .mod-menu,
  .header-nav--joomla ul {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }
  .header-nav--joomla li,
  .header-nav--joomla a { width: 100%; }
}


/* RadicalForm integration */
.joomla-messages-wrap {
  position: fixed;
  top: 88px;
  left: 50%;
  z-index: 9999;
  width: min(720px, calc(100% - 32px));
  transform: translateX(-50%);
  pointer-events: none;
}
.joomla-messages-wrap .alert,
.joomla-messages-wrap .joomla-alert {
  pointer-events: auto;
  border-radius: 16px;
  box-shadow: 0 14px 40px rgba(24, 63, 60, .16);
}
.rf-form .rf-invalid,
.rf-form .uk-form-danger,
.rf-form .is-invalid {
  border-color: #d35d5d !important;
  box-shadow: 0 0 0 3px rgba(211, 93, 93, .10) !important;
}
.rf-form input:invalid:not(:placeholder-shown),
.rf-form select:invalid:focus,
.rf-form textarea:invalid:not(:placeholder-shown) {
  border-color: #d35d5d;
}

/* =========================================================
   RadicalForm â€” Ð¼Ð¾Ð´Ð°Ð»ÑŒÐ½Ð¾Ðµ Ð¾ÐºÐ½Ð¾ Â«Ð¡Ð¿Ð°ÑÐ¸Ð±Ð¾Â»
   ========================================================= */
.thanks-modal {
  width: min(560px, calc(100% - 32px));
  max-width: 560px;
  margin: auto;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 30px;
  background: transparent;
  box-shadow: none;
}

.thanks-modal::backdrop {
  background: rgba(16, 51, 48, .58);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}

.thanks-modal__inner {
  position: relative;
  overflow: hidden;
  padding: 50px 44px 42px;
  border: 1px solid rgba(71, 183, 176, .16);
  border-radius: 30px;
  background:
    radial-gradient(circle at 8% 10%, rgba(71, 183, 176, .10), transparent 26%),
    radial-gradient(circle at 92% 88%, rgba(223, 196, 95, .12), transparent 28%),
    #fffdf9;
  box-shadow: 0 28px 80px rgba(16, 51, 48, .22);
}

.thanks-modal__close {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 2;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(24, 63, 60, .10);
  border-radius: 50%;
  color: var(--navy);
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 8px 20px rgba(24, 63, 60, .09);
  font: inherit;
  font-size: 25px;
  line-height: 1;
  cursor: pointer;
  transition: transform .2s ease, background-color .2s ease;
}

.thanks-modal__close:hover {
  transform: rotate(6deg) scale(1.04);
  background: #fff;
}

.thanks-page {
  max-width: 430px;
  margin: 0 auto;
  text-align: center;
}

.thanks-page__icon {
  width: 86px;
  height: 86px;
  display: grid;
  place-items: center;
  margin: 0 auto 22px;
  border-radius: 50%;
  background: var(--mint-soft);
  box-shadow: 0 12px 30px rgba(71, 183, 176, .14);
}

.thanks-page__icon svg {
  width: 58px;
  height: 58px;
  fill: none;
  stroke: var(--mint);
  stroke-width: 4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.thanks-page__kicker {
  display: block;
  margin-bottom: 10px;
  color: var(--mint);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.thanks-page h2 {
  margin: 0;
  color: var(--navy);
  font-size: clamp(42px, 6vw, 58px);
  line-height: 1;
}

.thanks-page p {
  max-width: 410px;
  margin: 20px auto 0;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.65;
}

.thanks-page__button {
  min-width: 170px;
  margin-top: 30px;
  padding: 14px 28px;
  border: 1px solid var(--mint);
  border-radius: 14px;
  color: #fff;
  background: var(--mint);
  box-shadow: 0 10px 24px rgba(71, 183, 176, .20);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
  transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease;
}

.thanks-page__button:hover {
  transform: translateY(-1px);
  background: #389f99;
  box-shadow: 0 14px 28px rgba(71, 183, 176, .26);
}

.thanks-modal[open] {
  animation: thanksModalFade .2s ease both;
}

.thanks-modal[open] .thanks-modal__inner {
  animation: thanksModalIn .28s cubic-bezier(.2,.75,.25,1) both;
}

@keyframes thanksModalFade {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes thanksModalIn {
  from {
    opacity: 0;
    transform: translateY(14px) scale(.985);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@media (max-width: 600px) {
  .thanks-modal {
    width: calc(100% - 20px);
  }

  .thanks-modal__inner {
    padding: 46px 22px 32px;
    border-radius: 24px;
  }

  .thanks-modal__close {
    top: 12px;
    right: 12px;
    width: 38px;
    height: 38px;
  }

  .thanks-page p {
    font-size: 16px;
  }
}


/* =========================================================
   Privacy policy: checkbox alignment + modal
   ========================================================= */
.contact-form .consent,
.quiz-form__policy {
  align-items: center !important;
}

.contact-form .consent input[type="checkbox"],
.quiz-form__policy input[type="checkbox"] {
  margin: 0 !important;
  align-self: center;
}

.contact-form .consent > span,
.quiz-form__policy > span {
  display: block;
  line-height: 1.45;
}

.privacy-link {
  color: var(--navy);
  font: inherit;
  font-weight: 600;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  transition: color .2s ease, text-decoration-color .2s ease;
}

.privacy-link:hover,
.privacy-link:focus-visible {
  color: var(--mint);
}

.privacy-modal {
  width: min(920px, calc(100vw - 32px));
  max-width: none;
  max-height: none;
  margin: auto;
  padding: 0;
  border: 0;
  border-radius: 26px;
  background: transparent;
  color: var(--navy);
  overflow: visible;
}

.privacy-modal::backdrop {
  background: rgba(16, 51, 48, .58);
  backdrop-filter: blur(4px);
}

.privacy-modal__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  max-height: min(86vh, 900px);
  border-radius: 26px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(16, 51, 48, .24);
  overflow: hidden;
}

.privacy-modal__close {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 3;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--mint-soft);
  color: var(--navy);
  font: 400 30px/1 Arial, sans-serif;
  cursor: pointer;
  transition: transform .2s ease, background .2s ease;
}

.privacy-modal__close:hover {
  transform: rotate(4deg) scale(1.04);
  background: #d9efec;
}

.privacy-modal__content {
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(24, 63, 60, .32) transparent;
}

.privacy-modal__content::-webkit-scrollbar {
  width: 8px;
}

.privacy-modal__content::-webkit-scrollbar-thumb {
  border: 2px solid transparent;
  border-radius: 999px;
  background: rgba(24, 63, 60, .28);
  background-clip: padding-box;
}

.privacy-page {
  padding: 38px 52px 46px;
}

.privacy-page__head {
  padding-right: 54px;
  margin-bottom: 28px;
}

.privacy-page__kicker {
  display: inline-block;
  margin-bottom: 10px;
  color: var(--mint);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.privacy-page h2 {
  margin: 0 0 10px;
  color: var(--navy);
  font-size: clamp(26px, 4vw, 40px);
  line-height: 1.08;
}

.privacy-page__lead {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.6;
}

.privacy-page section + section {
  margin-top: 28px;
  padding-top: 26px;
  border-top: 1px solid rgba(24, 63, 60, .10);
}

.privacy-page h3 {
  margin: 0 0 12px;
  color: var(--navy);
  font-size: 18px;
  line-height: 1.3;
}

.privacy-page p,
.privacy-page li {
  color: #536966;
  font-size: 13px;
  line-height: 1.7;
}

.privacy-page p {
  margin: 0 0 10px;
}

.privacy-page ul {
  margin: 8px 0 12px;
  padding-left: 20px;
}

.privacy-page a {
  color: var(--mint);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.privacy-page__operator {
  padding: 16px 18px;
  border-radius: 16px;
  background: var(--mint-soft);
}

.privacy-modal__loading,
.privacy-modal__error {
  padding: 56px 52px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.6;
}

@media (max-width: 640px) {
  .privacy-modal {
    width: calc(100vw - 18px);
    border-radius: 20px;
  }

  .privacy-modal__inner {
    max-height: 90vh;
    border-radius: 20px;
  }

  .privacy-page {
    padding: 30px 22px 34px;
  }

  .privacy-page__head {
    padding-right: 42px;
  }

  .privacy-modal__close {
    top: 12px;
    right: 12px;
    width: 38px;
    height: 38px;
  }
}

/* =========================================================
   v15 â€” Ð¿Ð¾Ð»Ð½Ð¾Ñ†ÐµÐ½Ð½Ð°Ñ Ð°Ð´Ð°Ð¿Ñ‚Ð¸Ð²Ð½Ð¾ÑÑ‚ÑŒ: laptop / tablet / mobile
   Ð”Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¾ Ð¿Ð¾ÑÐ»ÐµÐ´Ð½Ð¸Ð¼ Ð±Ð»Ð¾ÐºÐ¾Ð¼, Ñ‡Ñ‚Ð¾Ð±Ñ‹ Ð¿ÐµÑ€ÐµÐºÑ€Ñ‹Ñ‚ÑŒ ÑÑ‚Ð°Ñ€Ñ‹Ðµ Ð¿Ñ€Ð°Ð²Ð¸Ð»Ð°.
   ========================================================= */

html,
body {
  max-width: 100%;
  overflow-x: clip;
}

/* ---------- ÐÐ¾ÑƒÑ‚Ð±ÑƒÐºÐ¸: 1181â€“1366 ---------- */
@media (max-width: 1366px) {
  :root {
    --container: 1160px;
    --section: clamp(70px, 6.6vw, 94px);
  }

  .container {
    width: min(calc(100% - 48px), var(--container));
  }

  .header-shell {
    width: min(calc(100% - 28px), 1320px);
    gap: 14px;
  }

  .header-brand__logo {
    width: 132px;
  }

  .header-directions--quiet {
    padding-left: 12px;
    font-size: 10px;
  }

  .header-nav {
    gap: 14px;
  }

  .header-nav a {
    font-size: 11px;
  }

  .header-cta {
    padding-inline: 15px;
  }

  .hero-primary {
    padding-top: 44px;
  }

  .hero-primary__inner,
  .hero-primary__features {
    width: min(calc(100% - 56px), 1320px);
  }

  .hero-primary__inner {
    grid-template-columns: minmax(420px, .92fr) minmax(480px, 1.08fr);
    gap: 34px;
  }

  .hero-primary h1 {
    font-size: clamp(48px, 4.7vw, 64px);
  }

  .hero-primary__stats {
    gap: 14px;
  }

  .hero-info-card {
    padding: 15px 16px;
  }

  .hero-info-card__icon {
    width: 50px;
    height: 50px;
    flex-basis: 50px;
  }

  .hero-primary__media {
    min-width: 0;
  }

  .about-story-grid,
  .space-showcase__top,
  .contacts-grid {
    gap: 42px;
  }

  .route-card {
    padding-inline: 22px;
  }

  .route-decor--plane {
    width: 210px;
  }

  .route-decor--leaf-top {
    width: 106px;
  }

  .skills-slide {
    max-width: 620px;
  }

  .stats-row,
  .results-cards {
    gap: 14px;
  }

  .family-review-card {
    padding: 30px;
  }

  .space-showcase__features article {
    padding-inline: 14px;
  }
}

/* ---------- ÐÐµÐ±Ð¾Ð»ÑŒÑˆÐ¸Ðµ Ð½Ð¾ÑƒÑ‚Ð±ÑƒÐºÐ¸ / Ð³Ð¾Ñ€Ð¸Ð·Ð¾Ð½Ñ‚Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ð¿Ð»Ð°Ð½ÑˆÐµÑ‚ ---------- */
@media (max-width: 1180px) {
  .container {
    width: min(calc(100% - 40px), 1060px);
  }

  .hero-primary__inner,
  .hero-primary__features {
    width: min(calc(100% - 40px), 1080px);
  }

  .hero-primary__inner {
    grid-template-columns: minmax(390px, .9fr) minmax(430px, 1.1fr);
    gap: 28px;
  }

  .hero-primary h1 {
    font-size: clamp(44px, 4.8vw, 58px);
  }

  .hero-primary__lead {
    font-size: 15px;
  }

  .hero-info-card strong {
    font-size: 25px;
  }

  .hero-info-card small {
    font-size: 10px;
  }

  .route-grid {
    grid-template-columns: 1fr 1fr;
    gap: 18px;
  }

  .route-arrow {
    display: none;
  }

  .route-card {
    min-height: 245px;
  }

  .program-grid.is-active {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
    max-width: 900px;
    margin-inline: auto;
  }

  .program-grid.is-active .program-card {
    width: 100%;
    max-width: none;
    margin: 0 !important;
    transform: none !important;
    flex: none;
  }

  .program-card__photo {
    aspect-ratio: 1.35 / 1;
  }

  .results-heading {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .stats-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .results-cards {
    grid-template-columns: 1fr 1fr;
  }

  .result-story {
    grid-column: 1 / -1;
  }

  .reviews-family-layout {
    align-items: start;
  }

  .family-video-review {
    width: min(100%, 720px);
    justify-self: center;
  }

  .gallery-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 260px 210px 210px;
  }

  .gallery-grid .g1 {
    grid-column: 1 / -1;
    grid-row: auto;
  }

  .footer-grid {
    grid-template-columns: 1.25fr 1fr 1fr;
    gap: 32px;
  }
}

/* ---------- ÐŸÐ»Ð°Ð½ÑˆÐµÑ‚Ñ‹: Ð´Ð¾ 1024 ---------- */
@media (max-width: 1080px) {
  :root {
    --section: 76px;
  }

  .header-shell {
    width: calc(100% - 28px);
  }

  .header-nav {
    max-height: calc(100dvh - 88px);
    overflow-y: auto;
  }

  .hero-primary {
    padding-top: 34px;
  }

  .hero-primary__copy {
    max-width: 780px;
    margin-inline: auto;
    text-align: left;
  }

  .hero-primary__stats {
    width: 100%;
    max-width: 760px;
  }

  .hero-primary__actions {
    margin-top: 24px;
  }

  .hero-primary__media {
    width: min(100%, 760px);
    margin-inline: auto;
  }

  .hero-primary__photo {
    max-width: 760px;
  }

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

  .about-story-grid {
    gap: 36px;
  }

  .route-section {
    padding-block: 96px;
  }

  .skills-switcher {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 720px;
  }

  .skills-carousel {
    min-height: 390px;
  }

  .skills-carousel__stage {
    height: 355px;
  }

  .skills-slide {
    width: min(620px, 74vw);
    height: 300px;
  }

  .quiz-intro,
  .quiz-result {
    min-height: 0;
  }

  .quiz-intro__content,
  .quiz-result__content {
    padding-inline: clamp(28px, 4vw, 46px);
  }

  .daily-rhythm-card {
    grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr);
  }

  .daily-rhythm-content {
    padding: 42px 34px;
  }

  .teacher-profile__card {
    gap: 34px;
  }

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

/* ---------- ÐŸÐ»Ð°Ð½ÑˆÐµÑ‚Ñ‹ Ð²ÐµÑ€Ñ‚Ð¸ÐºÐ°Ð»ÑŒÐ½Ð¾: Ð´Ð¾ 900 ---------- */
@media (max-width: 900px) {
  :root {
    --section: 68px;
  }

  .container {
    width: min(calc(100% - 36px), 820px);
  }

  h2 {
    font-size: clamp(34px, 6vw, 48px);
  }

  .section-heading {
    margin-bottom: 36px;
  }

  .section-heading p {
    font-size: 16px;
  }

  .hero-primary__inner,
  .hero-primary__features {
    width: calc(100% - 36px);
  }

  .hero-primary h1 {
    font-size: clamp(46px, 7.2vw, 64px);
  }

  .hero-primary__media {
    max-width: 720px;
  }

  .route-grid {
    grid-template-columns: 1fr 1fr;
  }

  .route-card {
    min-height: 230px;
  }

  .program-tabs {
    width: 100%;
  }

  .tab-buttons {
    max-width: 620px;
  }

  .skills-slide {
    width: min(600px, 78vw);
  }

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

  .results-cards {
    grid-template-columns: 1fr;
  }

  .result-story {
    grid-column: auto;
  }

  .daily-rhythm-card {
    grid-template-columns: 1fr;
  }

  .daily-rhythm-photo {
    min-height: 0;
    aspect-ratio: 16 / 8.5;
  }

  .daily-rhythm-content {
    padding: 36px 34px 40px;
  }

  .menu-feature-card {
    grid-template-columns: 1fr;
  }

  .menu-feature-card__media {
    order: -1;
    min-height: 0;
    aspect-ratio: 16 / 8.5;
  }

  .teacher-profile__card {
    grid-template-columns: 1fr;
  }

  .teacher-profile__photo {
    width: min(100%, 560px);
    margin-inline: auto;
  }

  .contacts-grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .contact-copy {
    max-width: 660px;
  }

  .cta-grid {
    grid-template-columns: 1fr;
  }

  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 30px 40px;
  }

  .footer-grid > div:last-child {
    grid-column: auto;
  }

  .footer-bottom {
    flex-wrap: wrap;
    justify-content: flex-start;
  }

  .privacy-modal {
    width: min(820px, calc(100vw - 28px));
  }

  .privacy-page {
    padding-inline: 38px;
  }
}

/* ---------- ÐœÐ¾Ð±Ð¸Ð»ÑŒÐ½Ñ‹Ðµ: Ð´Ð¾ 680 ---------- */
@media (max-width: 680px) {
  :root {
    --section: 58px;
  }

  html {
    scroll-padding-top: 66px;
  }

  .container {
    width: calc(100% - 28px);
  }

  .section-heading {
    margin-bottom: 28px;
  }

  .section-heading p {
    font-size: 15px;
  }

  .kicker {
    margin-bottom: 12px;
  }

  .header-shell {
    width: calc(100% - 20px);
    min-height: 64px;
  }

  .header-brand__logo {
    width: 116px;
  }

  .header-menu-toggle {
    width: 40px;
    height: 40px;
  }

  .header-nav {
    inset: 64px 10px auto;
    padding: 10px 16px 18px;
    border-radius: 16px;
  }

  .header-nav a {
    padding: 12px 2px;
    font-size: 13px;
  }

  .hero-primary {
    padding: 28px 0 22px;
  }

  .hero-primary__inner,
  .hero-primary__features {
    width: calc(100% - 28px);
  }

  .hero-primary__copy {
    padding-top: 8px;
  }

  .hero-primary h1 {
    margin-bottom: 18px;
    font-size: clamp(39px, 11.2vw, 52px);
    line-height: .99;
  }

  .hero-primary__lead {
    font-size: 14px;
    line-height: 1.65;
  }

  .hero-primary__stats {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }

  .hero-info-card {
    min-height: 76px;
    padding: 12px;
    gap: 10px;
  }

  .hero-info-card__icon {
    width: 44px;
    height: 44px;
    flex-basis: 44px;
  }

  .hero-info-card strong {
    font-size: 22px;
  }

  .hero-info-card small {
    white-space: normal !important;
    font-size: 9px;
    line-height: 1.35;
  }

  .hero-info-card--rating {
    grid-column: 1 / -1;
    width: 100%;
    max-width: none;
  }

  .hero-primary__actions {
    flex-direction: column;
    gap: 10px;
    margin-top: 22px;
  }

  .hero-button {
    width: 100%;
    min-width: 0;
    min-height: 52px;
    padding-inline: 18px;
  }

  .hero-primary__media {
    width: 100%;
    margin-top: 12px;
  }

  .hero-primary__bg-art--left,
  .hero-primary__bg-art--right {
    opacity: .55;
  }

  .hero-primary__features {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .hero-feature {
    min-height: 0;
  }

  .about-story-section {
    padding-block: var(--section);
  }

  .about-story-grid {
    gap: 30px;
  }

  .about-story-copy h2 {
    font-size: clamp(36px, 10.5vw, 48px);
  }

  .about-story-collage {
    gap: 12px;
  }

  .route-section {
    padding-block: 78px;
  }

  .route-section::before,
  .route-section::after {
    height: 60px;
  }

  .route-decor {
    opacity: .55;
  }

  .route-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .route-card {
    min-height: 0;
    padding: 26px 24px;
    border-radius: 22px;
  }

  .route-card p {
    max-width: none;
  }

  .tab-buttons {
    width: 100%;
    margin-bottom: 28px;
    padding: 4px;
  }

  .tab-button {
    min-width: 0;
    flex: 1 1 50%;
    padding: 12px 9px;
    font-size: 11px;
    line-height: 1.3;
  }

  .program-grid.is-active {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .program-card {
    padding: 11px;
    border-radius: 16px;
  }

  .program-card__photo {
    aspect-ratio: 16 / 10;
  }

  .program-card__body {
    padding: 15px 7px 8px;
  }

  .skills-section {
    padding-top: 80px;
    padding-bottom: 88px;
  }

  .skills-switcher {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }

  .skills-switcher__button {
    min-width: 0;
    min-height: 48px;
    padding: 9px 8px;
    font-size: 11px;
  }

  .skills-switcher__icon {
    width: 34px;
    height: 34px;
  }

  .skills-carousel {
    min-height: 320px;
  }

  .skills-carousel__stage {
    height: 285px;
  }

  .skills-slide {
    top: 18px;
    width: calc(100% - 48px);
    height: 230px;
    border-radius: 16px;
  }

  .skills-carousel__arrow {
    top: 105px;
    width: 42px;
    height: 42px;
  }

  .skills-caption {
    grid-template-columns: 1fr;
    margin-top: -16px;
    padding: 18px;
  }

  .skills-caption__counter {
    border-right: 0;
    border-bottom: 1px solid rgba(24,63,60,.12);
    padding-bottom: 9px;
  }

  .results-section {
    padding-bottom: calc(var(--section) + 44px);
  }

  .stats-row {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }

  .stat-tile {
    min-height: 116px;
    padding: 18px;
    border-radius: 18px;
  }

  .stat-tile strong {
    font-size: 34px;
  }

  .result-detail,
  .result-story {
    padding: 22px;
    border-radius: 20px;
  }

  .quiz-section {
    padding-block: 58px;
  }

  .quiz-intro,
  .quiz-result,
  .quiz-question {
    border-radius: 24px;
  }

  .quiz-intro__content,
  .quiz-result__content,
  .quiz-question {
    padding-left: 20px;
    padding-right: 20px;
  }

  .quiz-question__header {
    gap: 12px;
  }

  .quiz-question h3 {
    font-size: clamp(27px, 8vw, 36px);
  }

  .quiz-controls {
    gap: 10px;
  }

  .quiz-back,
  .quiz-next {
    min-height: 46px;
    padding-inline: 16px;
  }

  .quiz-form > input {
    min-height: 52px;
  }

  .daily-rhythm-card {
    border-radius: 24px;
  }

  .daily-rhythm-photo {
    aspect-ratio: 16 / 10;
  }

  .daily-rhythm-content {
    padding: 30px 20px 34px;
  }

  .daily-rhythm-content h2 {
    font-size: clamp(34px, 9.5vw, 44px);
  }

  .daily-rhythm-list {
    gap: 20px;
  }

  .daily-rhythm-list li {
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 12px;
  }

  .daily-rhythm-icon {
    width: 46px;
    height: 46px;
  }

  .daily-rhythm-item__head {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  .menu-feature-card {
    border-radius: 24px;
  }

  .menu-feature-card__media {
    aspect-ratio: 16 / 10;
  }

  .menu-feature-card__content {
    padding: 28px 20px 32px;
  }

  .menu-feature-card__content h2 {
    font-size: clamp(34px, 9.5vw, 44px);
  }

  .menu-badges {
    display: grid;
    grid-template-columns: 1fr;
  }

  .menu-badge {
    width: 100%;
    justify-content: flex-start;
  }

  .reviews-family-heading {
    margin-bottom: 30px;
  }

  .reviews-family-heading h2 {
    font-size: clamp(38px, 10vw, 52px);
  }

  .reviews-family-layout {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .family-review-card {
    min-height: 360px;
    padding: 24px 20px;
    border-radius: 22px;
  }

  .family-review-quote {
    font-size: 68px;
  }

  .family-review-stars {
    font-size: 17px;
    letter-spacing: 1px;
  }

  .family-review-card > p {
    margin-top: 18px;
    font-size: 15px;
  }

  .family-review-card footer img,
  .family-video-review__author img {
    width: 58px;
    height: 58px;
    flex-basis: 58px;
  }

  .reviews-family-arrow {
    top: 165px;
  }

  .family-video-review {
    width: 100%;
    min-height: 0;
    padding: 18px;
    border-radius: 22px;
  }

  .gallery-grid {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    gap: 12px;
  }

  .gallery-photo,
  .gallery-grid .g1,
  .gallery-grid .g2,
  .gallery-grid .g3,
  .gallery-grid .g4,
  .gallery-grid .g5 {
    grid-column: auto;
    grid-row: auto;
    min-height: 220px;
    aspect-ratio: 16 / 10;
  }

  .teacher-profile__heading {
    margin-bottom: 30px;
  }

  .teacher-profile__lead br {
    display: none;
  }

  .teacher-profile__card {
    border-radius: 24px;
  }

  .teacher-profile__info {
    padding-inline: 0;
  }

  .teacher-profile__fact {
    gap: 14px;
  }

  .teacher-experience {
    position: static;
    margin-top: 14px;
  }

  .teacher-profile__badges {
    grid-template-columns: 1fr;
  }

  .space-showcase__gallery-row {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 10px;
  }

  .space-showcase__gallery-row .space-photo:last-child {
    grid-column: 1 / -1;
  }

  .space-showcase__content h2 {
    font-size: clamp(35px, 9.5vw, 46px);
  }

  .space-showcase__features {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .space-showcase__features article {
    min-height: 88px;
    padding: 14px 16px;
  }

  .space-feature-icon {
    width: 60px !important;
    height: 54px !important;
    flex-basis: 60px !important;
  }

  .cta-review,
  .cta-box {
    min-height: 0;
    padding: 30px 22px;
    border-radius: 24px;
  }

  .contact-form {
    padding: 22px 18px;
    border-radius: 24px;
  }

  .contact-form .form-row,
  .contact-form--modal .form-row {
    grid-template-columns: 1fr;
  }

  .contact-form .form-row > label + label,
  .contact-form--modal .form-row > label + label {
    margin-top: 14px !important;
  }

  .contact-form .consent,
  .quiz-form__policy {
    align-items: flex-start !important;
  }

  .contact-form .consent input[type="checkbox"],
  .quiz-form__policy input[type="checkbox"] {
    margin-top: 2px !important;
    align-self: flex-start;
  }

  .site-footer {
    padding-top: 46px;
  }

  .footer-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .footer-grid > div:last-child {
    grid-column: auto;
  }

  .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    margin-top: 34px;
  }

  .contact-modal {
    width: calc(100% - 18px);
    border-radius: 22px !important;
  }

  .contact-modal__inner {
    max-height: calc(100dvh - 18px) !important;
    padding: 28px 18px 22px;
    border-radius: 22px;
  }

  .contact-modal__head h2 {
    font-size: clamp(30px, 8vw, 38px);
  }

  .privacy-modal {
    width: calc(100vw - 16px);
  }

  .privacy-modal__inner {
    max-height: calc(100dvh - 16px);
  }

  .privacy-page {
    padding: 28px 20px 32px;
  }

  .privacy-modal__loading,
  .privacy-modal__error {
    padding: 50px 22px;
  }
}

/* ---------- Ð£Ð·ÐºÐ¸Ðµ Ñ‚ÐµÐ»ÐµÑ„Ð¾Ð½Ñ‹: Ð´Ð¾ 420 ---------- */
@media (max-width: 420px) {
  .container,
  .hero-primary__inner,
  .hero-primary__features {
    width: calc(100% - 22px);
  }

  .header-brand__logo {
    width: 108px;
  }

  .hero-primary h1 {
    font-size: clamp(36px, 11.4vw, 45px);
  }

  .hero-primary__stats {
    grid-template-columns: 1fr;
  }

  .hero-info-card--rating {
    grid-column: auto;
  }

  .hero-primary__bg-art--left,
  .hero-primary__bg-art--right {
    display: none;
  }

  .hero-primary__media {
    margin-top: 6px;
  }

  .tab-button {
    font-size: 10px;
    padding-inline: 6px;
  }

  .skills-switcher {
    grid-template-columns: 1fr;
  }

  .stats-row {
    grid-template-columns: 1fr;
  }

  .quiz-controls {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .quiz-back,
  .quiz-next {
    width: 100%;
  }

  .gallery-photo,
  .gallery-grid .g1,
  .gallery-grid .g2,
  .gallery-grid .g3,
  .gallery-grid .g4,
  .gallery-grid .g5 {
    min-height: 190px;
  }

  .family-review-card {
    min-height: 390px;
  }

  .family-review-card footer {
    align-items: flex-start;
  }

  .contact-modal__head {
    padding-right: 32px;
  }

  .thanks-modal__inner {
    padding-inline: 18px;
  }
  
        .family-review-card {
        padding: 24px 40px;
    }
    
    .site-footer {
        text-align: center;
}


.footer-grid>div:not(:first-child) {
        align-items: center;
}

.footer-bottom {
        flex-direction: column;
        align-items: center;
}

.footer-grid>div:first-child p {
    max-width: none;
}
    
}


/* =========================================================
   ÐÐ¾ÑƒÑ‚Ð±ÑƒÐº â€” Ð¿Ñ€ÐµÐ¸Ð¼ÑƒÑ‰ÐµÑÑ‚Ð²Ð°: 3 ÐºÐ°Ñ€Ñ‚Ð¾Ñ‡ÐºÐ¸ ÑÐ²ÐµÑ€Ñ…Ñƒ, 2 Ð¿Ð¾ Ñ†ÐµÐ½Ñ‚Ñ€Ñƒ ÑÐ½Ð¸Ð·Ñƒ
   Flex Ð¿Ñ€Ð¸Ð¼ÐµÐ½ÑÐµÑ‚ÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ Ð½Ð¾ÑƒÑ‚Ð±ÑƒÑ‡Ð½Ð¾Ð³Ð¾ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð°.
   ========================================================= */
@media (min-width: 901px) and (max-width: 1180px) {
  .hero-advantages .hero-primary__features {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    gap: 16px;
  }

  .hero-advantages .hero-feature {
    flex: 0 0 calc((100% - 32px) / 3);
    width: calc((100% - 32px) / 3);
    max-width: calc((100% - 32px) / 3);
  }
}

/* =========================================================
   Fix: daily rhythm top-right doodle
   Avoid Unicode glyph in content to prevent mojibake on server.
   ========================================================= */
.daily-rhythm-card::before {
  content: "";
  top: 48px;
  right: 54px;
  width: 72px;
  height: 54px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 70'%3E%3Cpath d='M50 61C42 53 16 38 16 21C16 10 29 5 38 12C43 16 47 21 50 26C53 21 57 16 62 12C71 5 84 10 84 21C84 38 58 53 50 61Z' fill='none' stroke='%23f4a4aa' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  color: transparent;
  font-size: 0;
  transform: rotate(-10deg);
  opacity: .88;
}


/* =========================================================
   ÐžÑ‚Ð·Ñ‹Ð²Ñ‹ â€” Ð½Ð¾ÑƒÑ‚Ð±ÑƒÐº Ð¸ Ð¿Ð»Ð°Ð½ÑˆÐµÑ‚:
   1 Ñ‚ÐµÐºÑÑ‚Ð¾Ð²Ñ‹Ð¹ Ð¾Ñ‚Ð·Ñ‹Ð² + 1 Ð²Ð¸Ð´ÐµÐ¾Ð¾Ñ‚Ð·Ñ‹Ð² Ð² Ð¾Ð´Ð½Ð¾Ð¼ Ñ€ÑÐ´Ñƒ
   ========================================================= */
@media (min-width: 681px) and (max-width: 1180px) {
  .reviews-family-layout {
    display: grid;
    grid-template-columns:
      46px
      minmax(0, 1fr)
      46px
      minmax(280px, .92fr);
    gap: 14px;
    align-items: stretch;
  }

  .reviews-family-slider {
    min-width: 0;
    width: 100%;
    height: 100%;
    align-self: stretch;
    overflow: hidden;
  }

  .reviews-family-track {
    height: 100%;
    align-items: stretch;
  }

  /* ÐÐ° ÑÑ‚Ð¸Ñ… Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸ÑÑ… Ð² ÑÐ»Ð°Ð¹Ð´ÐµÑ€Ðµ Ð²Ð¸Ð´Ð½Ð° Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð¾Ð´Ð½Ð° ÐºÐ°Ñ€Ñ‚Ð¾Ñ‡ÐºÐ° */
  .family-review-card {
    flex: 0 0 100%;
    width: 100%;
    min-width: 100%;
    height: 100%;
    min-height: 430px;
  }

  .reviews-family-arrow {
    align-self: center !important;
    justify-self: center;
    width: 46px;
    height: 46px;
  }

  .family-video-review {
    grid-column: auto;
    grid-row: auto;
    width: 100%;
    min-width: 0;
    min-height: 430px;
    height: 100%;
    justify-self: stretch;
    align-self: stretch;
    display: flex;
    flex-direction: column;
  }

  .family-video-review__media {
    width: 100%;
    flex: 1 1 auto;
  }

  .family-video-review__media video {
    width: 100%;
    height: 100% !important;
    min-height: 0;
    aspect-ratio: 7 / 10 !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  .family-video-review__author {
    margin-top: auto;
    padding-top: 16px;
  }
}

/* Ð§ÑƒÑ‚ÑŒ ÐºÐ¾Ð¼Ð¿Ð°ÐºÑ‚Ð½ÐµÐµ Ð½Ð° Ð¿Ð»Ð°Ð½ÑˆÐµÑ‚Ð°Ñ… */
@media (min-width: 681px) and (max-width: 900px) {
  .reviews-family-layout {
    grid-template-columns:
      38px
      minmax(0, 1fr)
      38px
      minmax(245px, .9fr);
    gap: 10px;
  }

  .reviews-family-arrow {
    width: 38px;
    height: 38px;
    font-size: 21px;
  }

  .family-review-card {
    min-height: 410px;
    padding: 24px 22px;
  }

  .family-review-card > p {
    font-size: 15px;
    line-height: 1.5;
  }

  .family-video-review {
    min-height: 410px;
    padding: 16px;
  }
}


/* =========================================================
   v18 â€” Ð½Ð¾ÑƒÑ‚Ð±ÑƒÐº / Ð¿Ð»Ð°Ð½ÑˆÐµÑ‚: Ñ‚Ð¾Ñ‡ÐµÑ‡Ð½Ñ‹Ðµ Ð¸ÑÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ 14.08.2026
   ========================================================= */

/* 1. ÐœÐ¾Ð±Ð¸Ð»ÑŒÐ½Ð¾Ðµ Ð¼ÐµÐ½ÑŽ Ð½Ðµ Ð´Ð¾Ð»Ð¶Ð½Ð¾ Ð»Ð¾Ð¼Ð°Ñ‚ÑŒ sticky-ÑˆÐ°Ð¿ÐºÑƒ.
   JS Ð±Ð¾Ð»ÑŒÑˆÐµ Ð½Ðµ Ð±Ð»Ð¾ÐºÐ¸Ñ€ÑƒÐµÑ‚ body, Ð½Ð¾ Ð¾ÑÑ‚Ð°Ð²Ð»ÑÐµÐ¼ ÑÑ‚Ñ€Ð°Ñ…Ð¾Ð²Ð¾Ñ‡Ð½Ñ‹Ð¹ override. */
body.menu-open {
  overflow-x: clip !important;
  overflow-y: auto !important;
}

@media (max-width: 1080px) {
  .main-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 3000 !important;
  }

  .header-nav {
    z-index: 3100 !important;
  }
}

/* 2. Ð”ÐµÐºÐ¾Ñ€Ð°Ñ‚Ð¸Ð²Ð½Ð°Ñ ÐºÐ½Ð¸Ð³Ð° Ð² ÑÑ‚Ð°Ñ€Ñ‚Ð¾Ð²Ð¾Ð¼ ÑÐºÑ€Ð°Ð½Ðµ ÐºÐ²Ð¸Ð·Ð° */
@media (max-width: 1100px) {
  .quiz-intro-decor--book {
    left: 86% !important;
  }
}

/* 3. Ð¤Ð¾Ñ‚Ð¾Ð³Ð°Ð»ÐµÑ€ÐµÑ: ÑƒÐ±Ð¸Ñ€Ð°ÐµÐ¼ Ð·Ð°Ñ€Ð°Ð½ÐµÐµ Ð·Ð°Ð´Ð°Ð½Ð½ÑƒÑŽ Ð¿ÑƒÑÑ‚ÑƒÑŽ Ñ‚Ñ€ÐµÑ‚ÑŒÑŽ ÑÑ‚Ñ€Ð¾ÐºÑƒ.
   Ð”Ð»Ñ Ð½Ð¾ÑƒÑ‚Ð±ÑƒÐºÐ°/Ð¿Ð»Ð°Ð½ÑˆÐµÑ‚Ð° â€” ÐºÐ¾Ð¼Ð¿Ð°ÐºÑ‚Ð½Ð°Ñ ÑÐµÑ‚ÐºÐ° Ð² 3 ÐºÐ¾Ð»Ð¾Ð½ÐºÐ¸, ÑÑ‚Ñ€Ð¾ÐºÐ¸ ÑÐ¾Ð·Ð´Ð°ÑŽÑ‚ÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð¿Ð¾Ð´ Ñ„Ð¾Ñ‚Ð¾. */
@media (min-width: 681px) and (max-width: 1180px) {
  .gallery-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(2, 210px) !important;
    grid-auto-rows: 210px !important;
    gap: 16px !important;
  }

  .gallery-grid .g1,
  .gallery-grid .g2,
  .gallery-grid .g3,
  .gallery-grid .g4,
  .gallery-grid .g5,
  .gallery-grid .g6,
  .gallery-grid .gallery-photo {
    grid-column: auto !important;
    grid-row: auto !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
  }
}

/* 4. ÐšÐ¾Ð¼Ð°Ð½Ð´Ð°: ÑƒÐ¼ÐµÐ½ÑŒÑˆÐ°ÐµÐ¼ Ñ„Ð¾Ñ‚Ð¾ Ð¿Ñ€Ð¸Ð¼ÐµÑ€Ð½Ð¾ Ð½Ð° 30% Ð¾Ñ‚Ð½Ð¾ÑÐ¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾ Ð¿Ñ€ÐµÐ¶Ð½ÐµÐ¹ Ð´Ð¾Ð»Ð¸
   Ð¸ Ð¾Ñ‚Ð´Ð°Ñ‘Ð¼ Ð±Ð¾Ð»ÑŒÑˆÐµ Ð¼ÐµÑÑ‚Ð° Ñ‚ÐµÐºÑÑ‚Ð¾Ð²Ð¾Ð¹ Ñ‡Ð°ÑÑ‚Ð¸. */
@media (min-width: 681px) and (max-width: 1180px) {
  .teacher-profile__card {
    grid-template-columns: minmax(205px, 32%) minmax(0, 68%) !important;
    max-width: 100% !important;
    align-items: stretch;
  }

  .teacher-profile__photo {
    min-height: 0 !important;
    height: 100% !important;
    aspect-ratio: auto !important;
  }

  .teacher-profile__photo img {
    height: 100% !important;
    object-fit: cover;
    object-position: center center;
  }

  .teacher-profile__info {
    min-width: 0;
    padding: 22px 18px 22px 22px !important;
  }

  .teacher-profile__fact,
  .teacher-profile__fact--experience {
    gap: 14px !important;
    padding-block: 14px !important;
  }

  .teacher-profile__fact {
    grid-template-columns: 56px minmax(0, 1fr) !important;
  }

  .teacher-profile__fact--experience {
    grid-template-columns: 56px minmax(0, 1fr) 104px !important;
  }

  .teacher-profile__fact-icon {
    width: 56px;
    height: 56px;
  }

  .teacher-profile__fact-icon img {
    width: 32px;
    height: 32px;
  }

  .teacher-profile__fact h3 {
    font-size: 18px;
  }

  .teacher-profile__fact p {
    font-size: 14px;
    line-height: 1.5;
  }

  .teacher-experience {
    min-height: 104px;
    border-radius: 20px;
  }

  .teacher-experience strong {
    font-size: 38px;
  }

  .teacher-profile__badges {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    padding-top: 14px;
  }

  .teacher-badge {
    min-width: 0;
    min-height: 58px;
    gap: 8px;
    padding: 10px 9px !important;
    font-size: 12px;
    line-height: 1.25;
    white-space: normal !important;
  }

  .teacher-badge img {
    width: 27px;
    height: 27px;
  }
}

/* 5. Ð¤ÑƒÑ‚ÐµÑ€: Ð½Ð° Ð½Ð¾ÑƒÑ‚Ð±ÑƒÐºÐµ Ð¸ Ð¿Ð»Ð°Ð½ÑˆÐµÑ‚Ðµ Ð²ÑÐµ Ñ‡ÐµÑ‚Ñ‹Ñ€Ðµ ÐºÐ¾Ð»Ð¾Ð½ÐºÐ¸ Ð¾ÑÑ‚Ð°ÑŽÑ‚ÑÑ Ð² Ð¾Ð´Ð½Ð¾Ð¼ Ñ€ÑÐ´Ñƒ. */
@media (min-width: 681px) and (max-width: 1120px) {
  .footer-grid {
    grid-template-columns: minmax(185px, 1.2fr) minmax(120px, .82fr) minmax(145px, .95fr) minmax(155px, .95fr) !important;
    gap: clamp(16px, 2.3vw, 30px) !important;
    align-items: start;
  }

  .footer-grid > div:last-child {
    grid-column: auto !important;
  }

  .footer-grid > div:first-child p {
    max-width: 240px;
    font-size: 13px;
    line-height: 1.6;
  }

  .footer-grid > div:not(:first-child) {
    min-width: 0;
  }

  .footer-grid > div:not(:first-child) > strong {
    font-size: 15px;
  }

  .footer-grid a {
    font-size: 13px;
  }
}

/* 6. Ð¡Ð¾Ñ†ÑÐµÑ‚Ð¸ Ð² ÐºÐ¾Ð½Ñ‚Ð°ÐºÑ‚Ð½Ð¾Ð¹ ÐºÐ¾Ð»Ð¾Ð½ÐºÐµ Ñ„ÑƒÑ‚ÐµÑ€Ð° */
.footer-socials {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 9px;
}

.footer-socials a {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: grid !important;
  place-items: center;
  padding: 7px !important;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 50%;
  background: rgba(255, 255, 255, .06);
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
}

.footer-socials a:hover {
  background: rgba(71, 183, 176, .28);
  border-color: rgba(255, 255, 255, .55);
  transform: translateY(-2px);
}

.footer-socials img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

@media (max-width: 680px) {
  .footer-socials {
    margin-top: 8px;
  }
}


/* =========================================================
   ÐšÐ¾Ð¼Ð°Ð½Ð´Ð° â€” Ð½Ð¾ÑƒÑ‚Ð±ÑƒÐº / Ð¿Ð»Ð°Ð½ÑˆÐµÑ‚:
   Ñ‚Ð¾Ñ‡Ð½ÐµÐµ Ð¾Ñ‚ÐºÑ€Ñ‹Ð²Ð°ÐµÐ¼ Ð»Ð¸Ñ†Ð¾ Ð¸ Ñ„Ð¸ÐºÑÐ¸Ñ€ÑƒÐµÐ¼ ÑˆÐ¸Ñ€Ð¸Ð½Ñƒ Ñ„Ð¾Ñ‚Ð¾
   ========================================================= */
@media (min-width: 681px) and (max-width: 1180px) {
  .teacher-profile__card {
    grid-template-columns: 320px minmax(0, 1fr) !important;
  }

  .teacher-profile__photo {
    width: 287px !important;
    position: relative;
    max-width: 320px !important;
    left: -19px;
  }

  .teacher-profile__photo img {
    object-position: 35% center !important;
  }
}


/* =========================================================
   Ð’Ñ‹Ð¿Ð°Ð´Ð°ÑŽÑ‰ÐµÐµ Ð¼ÐµÐ½ÑŽ â€” Ð½Ð¾ÑƒÑ‚Ð±ÑƒÐº / Ð¿Ð»Ð°Ð½ÑˆÐµÑ‚
   ÐŸÐ°Ð½ÐµÐ»ÑŒ ~300px + ÑÐ¾Ñ†ÑÐµÑ‚Ð¸ Ð¿Ð¾ÑÐ»Ðµ Ð¿ÑƒÐ½ÐºÑ‚Ð¾Ð² Ð¼ÐµÐ½ÑŽ
   ========================================================= */

/* Ð¡Ð¾Ñ†ÑÐµÑ‚Ð¸ Ð¼ÐµÐ½ÑŽ ÑÐºÑ€Ñ‹Ñ‚Ñ‹ Ð²Ð½Ðµ Ð²Ñ‹Ð¿Ð°Ð´Ð°ÑŽÑ‰ÐµÐ³Ð¾ Ñ€ÐµÐ¶Ð¸Ð¼Ð° */
.header-menu-socials {
  display: none;
}

@media (min-width: 681px) and (max-width: 1180px) {
  /* ÐÐ° Ð½Ð¾ÑƒÑ‚Ð±ÑƒÐºÐµ/Ð¿Ð»Ð°Ð½ÑˆÐµÑ‚Ðµ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÐµÐ¼ Ð±ÑƒÑ€Ð³ÐµÑ€ Ð¸ ÐºÐ¾Ð¼Ð¿Ð°ÐºÑ‚Ð½ÑƒÑŽ Ð¿Ð°Ð½ÐµÐ»ÑŒ */
  .header-menu-toggle {
    display: block !important;
    margin-left: auto;
  }

  .header-nav {
    position: fixed !important;
    top: 70px !important;
    right: 18px !important;
    bottom: auto !important;
    left: auto !important;

    width: 300px !important;
    max-width: calc(100vw - 36px) !important;
    max-height: calc(100dvh - 88px);

    z-index: 3100 !important;
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 0 !important;

    padding: 12px 18px 16px !important;
    overflow-y: auto;

    border: 1px solid var(--line);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 20px 55px rgba(24, 63, 60, .16);

    opacity: 0;
    visibility: hidden;
    transform: translateY(-12px);
    pointer-events: none;
    transition:
      opacity .22s ease,
      transform .22s ease,
      visibility .22s ease;
  }

  .header-nav.is-open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
  }

  .header-nav > a,
  .header-nav--joomla li > a {
    width: 100%;
    padding: 12px 2px !important;
    border-bottom: 1px solid var(--line);
    font-size: 13px !important;
    line-height: 1.35;
  }

  .header-nav a::after {
    display: none !important;
  }

  .header-nav--joomla .mod-menu,
  .header-nav--joomla ul {
    width: 100%;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
  }

  .header-nav--joomla li {
    width: 100%;
  }

  .header-menu-socials {
    display: flex !important;
    align-items: center;
    gap: 10px;
    margin-top: 12px;
    padding-top: 14px;
    border-top: 1px solid var(--line);
  }

  .header-menu-socials a {
    width: 40px !important;
    height: 40px !important;
    flex: 0 0 40px;
    display: block !important;
    padding: 0 !important;
    overflow: hidden;
    border: 0 !important;
    border-radius: 11px;
    background: transparent;
    transition: transform .2s ease, opacity .2s ease;
  }

  .header-menu-socials a:hover {
    transform: translateY(-2px);
    opacity: .88;
  }

  .header-menu-socials img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: inherit;
  }
}

/* ÐÐ° Ð¼Ð¾Ð±Ð¸Ð»ÑŒÐ½Ð¾Ð¼ ÑÐ¾Ñ…Ñ€Ð°Ð½ÑÐµÐ¼ ÑÑƒÑ‰ÐµÑÑ‚Ð²ÑƒÑŽÑ‰ÑƒÑŽ ÑˆÐ¸Ñ€Ð¾ÐºÑƒÑŽ Ð¿Ð°Ð½ÐµÐ»ÑŒ */
@media (max-width: 680px) {
  .header-menu-socials {
    display: none !important;
  }
}


/* =========================================================
   Ð¢Ð¾Ñ‡ÐµÑ‡Ð½Ñ‹Ðµ Ð¿Ñ€Ð°Ð²ÐºÐ¸: Ð¼Ð¾Ð±Ð¸Ð»ÑŒÐ½Ð¾Ðµ Ð¼ÐµÐ½ÑŽ / Ð¿Ð»Ð°Ð½ÑˆÐµÑ‚ / ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°
   ========================================================= */

/* 1. ÐœÐ¾Ð±Ð¸Ð»ÑŒÐ½Ð¾Ðµ Ð¼ÐµÐ½ÑŽ â€” Ñ‚Ð°ÐºÐ°Ñ Ð¶Ðµ ÐºÐ¾Ð¼Ð¿Ð°ÐºÑ‚Ð½Ð°Ñ Ð¿Ð°Ð½ÐµÐ»ÑŒ + Ð’Ðš / MAX */
@media (max-width: 680px) {
  .header-nav {
    position: fixed !important;
    top: 64px !important;
    right: 10px !important;
    bottom: auto !important;
    left: auto !important;
    inset: auto 10px auto auto !important;

    width: 300px !important;
    max-width: calc(100vw - 20px) !important;
    max-height: calc(100dvh - 78px);

    z-index: 3100 !important;
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 0 !important;

    padding: 12px 18px 16px !important;
    overflow-y: auto;

    border: 1px solid var(--line);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 20px 55px rgba(24, 63, 60, .16);

    opacity: 0;
    visibility: hidden;
    transform: translateY(-12px);
    pointer-events: none;
  }

  .header-nav.is-open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
  }

  .header-nav > a,
  .header-nav--joomla li > a {
    width: 100%;
    padding: 12px 2px !important;
    border-bottom: 1px solid var(--line);
    font-size: 13px !important;
    line-height: 1.35;
  }

  .header-nav--joomla .mod-menu,
  .header-nav--joomla ul {
    width: 100%;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
  }

  .header-nav--joomla li {
    width: 100%;
  }

  .header-menu-socials {
    display: flex !important;
    align-items: center;
    gap: 10px;
    margin-top: 12px;
    padding-top: 14px;
    border-top: 1px solid var(--line);
  }

  .header-menu-socials a {
    width: 40px !important;
    height: 40px !important;
    flex: 0 0 40px;
    display: block !important;
    padding: 0 !important;
    overflow: hidden;
    border: 0 !important;
    border-radius: 11px;
    background: transparent;
  }

  .header-menu-socials img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: inherit;
  }
}

/* 2. ÐŸÐ¾Ð»Ð¸Ñ‚Ð¸ÐºÐ° â€” Ð½Ð°ÑÐ»ÐµÐ´ÑƒÐµÑ‚ Ñ†Ð²ÐµÑ‚ Ð¾ÐºÑ€ÑƒÐ¶Ð°ÑŽÑ‰ÐµÐ³Ð¾ Ñ‚ÐµÐºÑÑ‚Ð° */
.privacy-link {
  color: inherit !important;
}

/* 3. ÐŸÐµÑ€Ð²Ñ‹Ð¹ ÑÐºÑ€Ð°Ð½ â€” Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ðµ Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð´Ð¾ 900px */
@media (max-width: 900px) {
  .hero-primary__media {
    max-width: 720px !important;
    top: -80px !important;
    right: -40px !important;
  }
}

/* 4. Ðž Ñ†ÐµÐ½Ñ‚Ñ€Ðµ â€” Ð¿Ð»Ð°Ð½ÑˆÐµÑ‚: Ñ‚ÐµÐºÑÑ‚ Ð¿Ð¾ Ñ†ÐµÐ½Ñ‚Ñ€Ñƒ + Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ðµ Ð±ÐµÐ¹Ð´Ð¶Ð° */
@media (min-width: 681px) and (max-width: 900px) {
  .about-story-copy {
    margin-inline: auto;
    text-align: center;
  }

  .about-story-copy .kicker,
  .about-story-copy h2,
  .about-story-copy > p,
  .about-story-link {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }

  .about-story-note {
    text-align: center;
  }

  .about-story-note__icon {
    margin-left: auto;
    margin-right: auto;
  }

  .about-story-badge {
    left: -10px !important;
  }
}

/* 5. ÐšÐ²Ð¸Ð· â€” Ð¿Ð»Ð°Ð½ÑˆÐµÑ‚Ð½Ñ‹Ðµ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¸ Ð´ÐµÐºÐ¾Ñ€Ð°Ñ‚Ð¸Ð²Ð¾Ð² */
@media (min-width: 681px) and (max-width: 900px) {
  .quiz-intro-decor--cap {
    top: -142px !important;
  }

  .quiz-intro-decor--flower {
    left: 6% !important;
    top: -386px !important;
  }

  .quiz-intro-decor--heart {
    bottom: 326px !important;
  }
}

@media (max-width: 1100px) {
  .quiz-intro-decor--book {
    left: 82% !important;
  }
}

/* 6. ÐšÐ¾Ð¼Ð°Ð½Ð´Ð° â€” Ð¿Ð»Ð°Ð½ÑˆÐµÑ‚ / Ð½Ð¾ÑƒÑ‚Ð±ÑƒÐº:
   Ð´Ð²Ð¸Ð³Ð°ÐµÐ¼ Ð²ÑÑŽ Ñ‚ÐµÐºÑÑ‚Ð¾Ð²ÑƒÑŽ Ñ‡Ð°ÑÑ‚ÑŒ Ð²Ð»ÐµÐ²Ð¾ Ð¸ Ð´Ð°Ñ‘Ð¼ ÐµÐ¹ Ñ‡ÑƒÑ‚ÑŒ Ð±Ð¾Ð»ÑŒÑˆÐµ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð¾Ð¹ ÑˆÐ¸Ñ€Ð¸Ð½Ñ‹ */
@media (min-width: 681px) and (max-width: 1180px) {
  .teacher-profile__info {
    width: calc(100% + 55px) !important;
    min-width: 0;
    padding-left: 10px !important;
    padding-right: 10px !important;
    transform: translateX(-60px);
  }

  .teacher-profile__badges {
    gap: 6px !important;
  }

  .teacher-badge {
    min-width: 0 !important;
    padding-left: 7px !important;
    padding-right: 7px !important;
  }

  .teacher-badge span {
    min-width: 0;
    overflow: visible;
  }
}

/* =========================================================
   MOBILE v2 â€” Ñ‚Ð¾Ñ‡ÐµÑ‡Ð½Ñ‹Ðµ Ð¿Ñ€Ð°Ð²ÐºÐ¸ Ð¼Ð¾Ð±Ð¸Ð»ÑŒÐ½Ð¾Ð¹ Ð²ÐµÑ€ÑÐ¸Ð¸
   ========================================================= */
@media (max-width: 680px) {
  /* 1. ÐœÐµÐ½ÑŽ: Ñ„Ð¸ÐºÑÐ¸Ñ€ÑƒÐµÐ¼ Ð¿Ð°Ð½ÐµÐ»ÑŒ Ð¿Ð¾Ð´ ÑˆÐ°Ð¿ÐºÐ¾Ð¹ Ð¸ Ð½Ðµ Ð´Ð°Ñ‘Ð¼ ÑÑ‚Ñ€Ð°Ð½Ð¸Ñ†Ðµ Ð¿Ñ€Ñ‹Ð³Ð°Ñ‚ÑŒ Ð²Ð²ÐµÑ€Ñ… */
  body.menu-open {
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }

  .header-nav {
    position: fixed !important;
    inset: 66px 10px auto auto !important;
    top: 66px !important;
    right: 10px !important;
    bottom: auto !important;
    left: auto !important;
    transform: translateY(-10px);
  }

  .header-nav.is-open {
    top: 66px !important;
    transform: translateY(0) !important;
  }

  /* 2. ÐŸÐµÑ€ÐµÐºÐ»ÑŽÑ‡Ð°Ñ‚ÐµÐ»ÑŒ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼ â€” Ð´Ð²Ðµ ÐºÐ½Ð¾Ð¿ÐºÐ¸ Ð² Ð¾Ð´Ð¸Ð½ Ñ€ÑÐ´ */
  .tab-buttons {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    width: 100% !important;
  }

  .tab-button {
    width: auto !important;
    min-width: 0 !important;
    flex: 1 1 0 !important;
  }

  /* 3â€“6. Ð”ÐµÐºÐ¾Ñ€ Ð¿ÐµÑ€Ð²Ð¾Ð³Ð¾ ÑÐºÑ€Ð°Ð½Ð° ÐºÐ²Ð¸Ð·Ð° */
  .quiz-intro-decor--flower {
    left: 72% !important;
    top: -94px !important;
    width: 79px !important;
  }

  .quiz-intro-decor--heart {
    left: 16px !important;
    bottom: 86px !important;
  }

  .quiz-intro-decor--star {
    right: 303px !important;
    bottom: 700px !important;
    width: 54px !important;
  }

  .quiz-intro-decor--book {
    left: 82% !important;
    bottom: 80px !important;
  }

  /* 7. Ð’Ð¾Ð¿Ñ€Ð¾ÑÑ‹ ÐºÐ²Ð¸Ð·Ð° â€” ÑƒÐ¼ÐµÐ½ÑŒÑˆÐ°ÐµÐ¼ Ð¿ÑƒÑÑ‚Ð¾Ñ‚Ñ‹ Ð²Ð¾ÐºÑ€ÑƒÐ³ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° Ð²Ð¾Ð¿Ñ€Ð¾ÑÐ° */
  .quiz-question {
    padding-top: 14px !important;
    padding-bottom: 16px !important;
  }

  .quiz-question h3 {
    margin-top: 18px !important;
    margin-bottom: 16px !important;
  }

  /* 8. Ð Ð¸Ñ‚Ð¼ Ð´Ð½Ñ â€” ÐºÐ°Ð´Ñ€Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ðµ Ñ„Ð¾Ñ‚Ð¾ */
  .daily-rhythm-photo img {
    object-position: center 30% !important;
  }

  /* 9. ÐšÐ¾Ð¼Ð°Ð½Ð´Ð° â€” Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‰Ð°ÐµÐ¼ Ð³Ð¾Ñ€Ð¸Ð·Ð¾Ð½Ñ‚Ð°Ð»ÑŒÐ½Ñ‹Ðµ Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ð¸Ðµ Ð¾Ñ‚ÑÑ‚ÑƒÐ¿Ñ‹ */
  .teacher-profile__info {
    padding-inline: 20px !important;
  }

  /* 10. CTA â€” ÑƒÐ¼ÐµÐ½ÑŒÑˆÐ°ÐµÐ¼ Ð´ÐµÐºÐ¾Ñ€Ð°Ñ‚Ð¸Ð²Ð½Ñ‹Ð¹ ÑÐ»ÐµÐ¼ÐµÐ½Ñ‚ */
  .cta-box::after {
    width: 120px !important;
    height: 150px !important;
  }
}


/* =========================================================
   Карта — последняя секция перед футером
   ========================================================= */
.map-section {
  padding: 0 0 var(--section);
  background: #fff;
}

.map-section__frame {
  width: 100%;
  height: 447px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 30px;
  background: var(--cream);
  box-shadow: var(--shadow-soft);
}

.map-section__frame iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

@media (max-width: 900px) {
  .map-section__frame {
    height: 400px;
    border-radius: 24px;
  }
}

@media (max-width: 650px) {
  .map-section {
    padding-bottom: 56px;
  }

  .map-section__frame {
    height: 340px;
    border-radius: 20px;
  }
}


@media (max-width: 375px) {
    .hero-primary h1 {
        font-size: clamp(36px, 9.4vw, 45px);
}

.hero-primary__copy {
        max-width: 350px;
        margin-inline: initial;
        text-align: left;
}

.hero-primary__stats {
        grid-template-columns: 1fr 1fr;
}

.about-story-badge {
        width: 172px;
        left: -12px;
        bottom: 505px;
}

.stats-row {
        grid-template-columns: 1fr 1fr;
}

.family-review-card {
        padding: 24px 40px;
}

.star-doodle {
        right: 30px;
        top: -19px;
}

.cta-box::after {
        right: -70px;
        bottom: -50px;
}

.site-footer {
        text-align: center;
}


.footer-grid>div:not(:first-child) {
        align-items: center;
}

.footer-bottom {
        flex-direction: column;
        align-items: center;
}
    
}