@font-face {
  font-family: 'NT Somic';
  src: url('/fonts/NTSomic-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'NT Somic';
  src: url('/fonts/NTSomic-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'NT Somic';
  src: url('/fonts/NTSomic-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
:root {
  --color-accent-red: #DC5139;
  --color-text-dark: #2F2F2F;
  --color-bg-white: #FFFFFF;
  --color-bg-cream: #FFFBF7;
  --color-deco-pink: #F5CBDE;
  --color-deco-green: #92D48D;
  --color-deco-coral: #FFB09B;
  --color-deco-lavender: #B9AAD9;
  --color-deco-yellow: #F4D469;
  --color-btn-primary: #15B0EF;
  --color-btn-secondary: #DBFBFB;
  --font-main: 'NT Somic', 'Segoe UI', sans-serif;
  --fs-header-48: clamp(38px, 3.75vw, 48px);  
  --fs-header-42: clamp(33px, 3.28vw, 42px);  
  --fs-header-26: 26px;
  --fs-header-24: 24px;
  --fs-header-20: 20px;
  --fs-text-18: 18px;
  --fs-text-16: 16px;
  --fs-text-14: 14px;
  --radius-card: 30px;
  --radius-card-sm: 20px;
  --container-width: 1280px;
}
* { box-sizing: border-box; }
html, body { overflow-x: hidden; overflow-x: clip; }
body {
  margin: 0;
  font-family: var(--font-main);
  font-size: var(--fs-text-18);
  color: var(--color-text-dark);
  background: var(--color-bg-cream);
}
:root { --lh-figma: round(1.306em, 1px); }
h1, h2, h3, h4 { margin: 0 0 16px; font-weight: 700; line-height: normal; line-height: var(--lh-figma); }
h1 { font-size: var(--fs-header-48); }
h2 { font-size: var(--fs-header-42); }
h3 { font-size: var(--fs-header-24); }
p, li, a, span, button, input, textarea, label { line-height: normal; line-height: var(--lh-figma); }
p { margin: 0 0 16px; }
.lead { line-height: normal; line-height: var(--lh-figma); }
ul { padding-left: 20px; line-height: 1.6; }
img { max-width: 100%; display: block; }
.container {
  max-width: var(--container-width);
  margin: 0 auto;
  padding: 0 24px;
}
a { color: inherit; }
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 64px;
  padding: 0 32px;
  border-radius: 999px;
  font-size: var(--fs-text-16);
  font-weight: 700;  
  text-decoration: none;
  border: none;
  cursor: pointer;
  white-space: nowrap;
}
.btn-primary { background: var(--color-btn-primary); color: #fff; }
.btn-primary:hover { background: #0f9bd6; }
.btn-secondary { background: #fff; color: var(--color-text-dark); border: 1px solid var(--color-btn-primary); }
.btn-secondary:hover { background: var(--color-btn-secondary); }
.btn-outline { background: transparent; border: 1px solid var(--color-text-dark); color: var(--color-text-dark); }
.btn-row { display: flex; gap: 16px; flex-wrap: wrap; }
.header-wrap.container { padding: 35px 0 0; }
.site-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #fff;
  border-radius: var(--radius-card);
  height: 78px;  
  padding: 0 31px 0 27px;
  position: relative;
  z-index: 30;
}
.site-header .logo { display: flex; align-items: center; order: 2; flex-shrink: 0; position: relative; top: -11.5px; left: 2.5px; }  
.site-header .logo img { height: 81px; }
.site-header nav { display: flex; gap: 35px; flex: 1; }
.site-header nav.nav-left { order: 1; }
.site-header nav.nav-right { order: 3; justify-content: flex-end; }
.site-header nav a { text-decoration: none; font-size: var(--fs-text-18); line-height: var(--lh-figma); color: var(--color-text-dark); text-transform: uppercase; white-space: nowrap; transition: color 0.15s ease; }
.site-header nav a:hover { color: var(--color-accent-red); }
.burger { display: none; background: none; border: none; padding: 0; width: 36px; height: 21px; cursor: pointer; order: 4; }
.burger img { display: block; width: 36px; height: 21px; }
@media (max-width: 1200px) {
  .header-wrap.container { padding: 35px 20px 0; }
}
@media (max-width: 900px) {
  .header-wrap.container { padding: 0 0 16px; }  
  .page-events .header-wrap.container { padding-bottom: 0; }  
  .site-header { flex-wrap: nowrap; height: 60px; padding: 0 16px 0 6px; border-radius: 0; }
  .site-header .logo { top: -4.5px; left: 0; }
  .site-header .logo img { height: 39px; }
  .site-header nav { display: none; }
  .burger { display: block; }
}
.mobile-menu {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: flex;
  flex-direction: column;
  align-items: center;
  background: var(--color-bg-cream);
  padding: 52px 16px 40px;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.mobile-menu[hidden] { display: none; }
.mobile-menu__close {
  position: absolute;
  top: 10px;
  right: 7px;
  width: 43px;
  height: 43px;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
}
.mobile-menu__close img { width: 100%; height: 100%; }
.mobile-menu__logo { flex-shrink: 0; }
.mobile-menu__logo img { width: auto; height: 81px; max-width: 253px; }
.mobile-menu__nav { display: flex; flex-direction: column; align-items: center; gap: 30px; margin-top: 59px; }
.mobile-menu__nav a {
  font-size: var(--fs-header-24);
  line-height: 1;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--color-text-dark);
}
.mobile-menu__contacts { display: flex; flex-direction: column; align-items: center; gap: 16px; margin-top: 76px; }
.mobile-menu__contacts a { font-size: 20px; line-height: 1; text-decoration: none; color: var(--color-text-dark); }
.mobile-menu__social { display: flex; gap: 11px; margin-top: 41px; }
.mobile-menu__social img { width: 41px; height: 41px; }
body.menu-open { overflow: hidden; }
@media (min-width: 901px) { .mobile-menu { display: none; } }
.section { padding: 45px 0; position: relative; }  
.section-heading { max-width: 700px; }
.section-center { text-align: center; }
.section-center .section-heading { margin: 0 auto 40px; }
@media (max-width: 1200px) {
  .section { padding-top: 48px; padding-bottom: 48px; }
  .container { padding: 0 20px; }
}
@media (max-width: 1024px) {
  .section { padding-top: 40px; padding-bottom: 40px; }
}
.eyebrow { text-transform: uppercase; font-size: var(--fs-text-14); letter-spacing: 0.05em; color: var(--color-text-dark); opacity: 0.7; }
.hero { text-align: center; padding-top: 40px; }
.hero .eyebrow { font-size: var(--fs-text-18); opacity: 1; letter-spacing: 0; max-width: 384px; margin-inline: auto; }
.hero h1 { max-width: 628px; margin: 12px auto 16px; }
.hero p.lead { max-width: 405px; margin: 0 auto 28px; }
.hero .btn-row { justify-content: center; gap: 20px; margin-bottom: 40px; }
.hero-dots { position: absolute; z-index: 0; pointer-events: none; max-width: none; }
.hero-dots--desktop { left: calc(50% - min(668.5px, 46.425vw) + 4.5px); top: 19px; width: min(1337px, 92.85vw); height: auto; }  
.hero-dots--mobile { display: none; left: calc(50% - 180.5px); top: 0; width: 368px; height: 753px; }  
[data-block="home-hero"] > :not(.hero-dots) { position: relative; z-index: 1; }
@media (min-width: 901px) {
  [data-block="home-hero"] { padding: 56px 0 45px; overflow: visible; }
  [data-block="home-hero"] .eyebrow { line-height: 24px; }
  [data-block="home-hero"] h1 { margin: 20px auto 20px; }
  [data-block="home-hero"] p.lead { line-height: 24px; margin-bottom: 32px; }
  [data-block="home-hero"] .btn-row { margin-bottom: 56px; }
  [data-block="home-hero"] .hero-video { margin-top: 0; }
}
@media (max-width: 900px) {
  .hero-dots--desktop { display: none; }
  .hero-dots--mobile { display: block; }
  section[data-block="home-hero"] { padding: 94px 16px 27px; overflow: hidden; }  
  [data-block="home-hero"] .eyebrow { font-size: var(--fs-text-16); line-height: 21px; max-width: none; }
  [data-block="home-hero"] h1 { font-size: 26px; line-height: 34px; max-width: 343px; margin: 16px auto 20px; }
  [data-block="home-hero"] p.lead { font-size: var(--fs-text-16); line-height: 21px; max-width: 345px; margin-bottom: 36px; }
  [data-block="home-hero"] .btn-row { gap: 16px; margin-bottom: 36px; }
  [data-block="home-hero"] .hero-video { margin-top: 0; }
}
.hero-illustration { width: 100%; max-width: 900px; margin: 0 auto; }
.hero-video {
  position: relative;
  width: 100vw;
  max-width: none;
  aspect-ratio: 16 / 9;
  margin: 56px 0 0 calc(50% - 50vw);
  border-radius: 0;
  overflow: hidden;
  background: #171717;
}
.hero-video__media { width: 100%; height: 100%; object-fit: cover; display: block; }
.hero-video__embed { width: 100%; height: 100%; border: 0; display: block; }
.hero-video__trigger { position: absolute; inset: 0; display: block; z-index: 2; }
.hero-video__player { position: absolute; inset: 0; }
.hero-video__player iframe { width: 100%; height: 100%; border: 0; display: block; pointer-events: none; }
.hero-video__controls { position: absolute; left: 16px; right: 16px; bottom: 16px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; z-index: 3; }
.hero-video__controls button, .hero-video__quality { min-height: 44px; border: 0; border-radius: 24px; padding: 10px 18px; background: rgba(255,255,255,.94); color: var(--color-text-dark); font: inherit; }
.hero-video__controls button { cursor: pointer; }
.hero-video__quality { display: flex; align-items: center; gap: 8px; }
.hero-video__quality select { min-width: 70px; max-width: 100%; border: 0; border-radius: 4px; padding: 2px; background: transparent; color: inherit; font: inherit; cursor: pointer; }
.hero-video__quality select:disabled { cursor: wait; }
.hero-video__controls button:focus-visible, .hero-video__quality select:focus-visible { outline: 3px solid var(--color-accent-red); outline-offset: 3px; }
.hero-video__quality-status { width: 100%; padding: 8px 12px; border-radius: 12px; background: rgba(0,0,0,.7); color: #fff; font-size: 14px; }
.hero-video__status { position: absolute; left: 16px; right: 16px; bottom: 16px; z-index: 3; padding: 10px 16px; border-radius: 16px; color: #fff; background: rgba(0,0,0,.7); font-size: 14px; pointer-events: none; }
.hero-video [hidden] { display: none !important; }
.hero-video__poster { width: 100%; height: 100%; object-fit: cover; }
.hero-video__trigger .hero-video__play { pointer-events: none; }
.hero-video__trigger .hero-video__play img { width: 100%; height: 100%; }
.hero-video__trigger:focus-visible { outline: 4px solid var(--color-accent-red); outline-offset: -4px; }
.hero-video__play {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 100px;
  height: 100px;
  border: 0;
  background: none;
  padding: 0;
  cursor: pointer;
}
@media (max-width: 767px) {
  .hero-video { aspect-ratio: 16 / 9; margin-top: 32px; }
  .hero-video__play { width: 45px; height: 45px; }  
  .hero-video__controls { top: 12px; right: 12px; bottom: 12px; left: 12px; align-content: flex-end; }
  .hero-video__quality { position: absolute; top: 0; right: 0; }
}
.cards-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.cards-grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.cards-grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
@media (max-width: 900px) { .cards-grid, .cards-grid-2, .cards-grid-4 { grid-template-columns: 1fr; } }
.card {
  border-radius: var(--radius-card);
  padding: 28px;
}
.card h3 { font-size: var(--fs-header-20); margin-bottom: 8px; }
.card p { font-size: var(--fs-text-16); margin-bottom: 0; }
.card-sm { border-radius: var(--radius-card-sm); padding: 24px; min-height: 280px; text-align: center; }
.card-sm h3 { font-size: var(--fs-header-20); margin-bottom: 8px; }
.card-sm p { font-size: var(--fs-text-16); margin-bottom: 0; }
.card-sm:not(:has(.card-icon)) {
  min-height: 300px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.card-sm:not(:has(.card-icon)) h3 { font-size: 23px; margin-bottom: 20px; }
.outline-pill {
  background: #fff; border-radius: 60px; border: 2px solid var(--pill-color, var(--color-deco-yellow));
  padding: 16px 28px; text-align: center; font-weight: 700;
}
.hero-banner.hero-banner-split { display: flex; align-items: center; gap: 24px; text-align: left; position: relative; overflow: hidden; }
.br-mobile { display: none; }
.hero-banner.hero-banner-split .btn-row { justify-content: flex-start; gap: 20px; margin: 0; }
.hero-split-text { flex: 1 1 600px; position: relative; z-index: 2; }
.hero-split-text h1, .hero-split-text .lead { max-width: none; margin-left: 0; margin-right: 0; }
@media (min-width: 901px) {
  .hero-banner.hero-banner-split { max-width: 1277px; margin-left: 3px; min-height: 621px; padding: 52px 24px 52px 68px; justify-content: space-between; gap: 0; }  
  .hero-banner.hero-banner-split--about { padding-right: 58px; }
  .hero-split-text { flex: 1 1 617px; max-width: 670px; }
  .hero-split-text h1 { margin: 0 0 28px; line-height: 1.31; }  
  .hero-split-text .lead { max-width: 617px; margin: 0 0 48px; line-height: 24px; }  
  .hero-banner-split--about .hero-split-photo-wrap { align-self: flex-start; margin-top: 4px; }
}
@media (min-width: 768px) {
  .hero-banner-split h1 { font-size: var(--fs-header-42); }
}
.text-white { color: #fff; }
.hero-split-photo-wrap { display: block; flex-shrink: 0; position: relative; z-index: 2; }
.hero-split-photo { width: 417px; max-width: 35vw; aspect-ratio: 417/513; object-fit: cover; border-radius: var(--radius-card); flex-shrink: 0; position: relative; z-index: 2; }
.hero-split-circle { position: absolute; z-index: 1; aspect-ratio: 1; }
.hero-split-circle img { width: 100%; height: 100%; }
.hero-split-circle--css { border-radius: 50%; background: rgba(132, 199, 127, 0.7); }
.hero-split-circle--a1 { left: 55.83%; top: 391px; width: 17.54%; }
.hero-split-circle--a2 { left: 87.78%; top: -14px; width: 17.54%; }
@media (max-width: 900px) {
  .hero-banner-split { flex-direction: column; }
  .hero-split-photo { width: 100%; max-width: 320px; }
  .hero-split-circle { display: none; }
  .br-mobile { display: inline; }
  .hero-banner.hero-banner-split--about { padding: 60px 20px; align-items: stretch; gap: 0; }
  .hero-banner-split--about .hero-split-text { flex: 0 0 auto; }  
  .hero-banner-split--about .hero-split-text h1 { font-size: 24px; line-height: 31px; width: 311px; max-width: none; margin: 0 0 20px; }
  .hero-banner-split--about .hero-split-text .lead { font-size: var(--fs-text-14); line-height: var(--lh-figma); width: 312px; max-width: none; margin: 0 0 28px; }
  .hero-banner.hero-banner-split--about .btn-row { flex-direction: column; align-items: center; gap: 16px; }
  .hero-banner-split--about .hero-split-photo-wrap { align-self: center; margin-top: 46px; }
  .hero-banner-split--about .hero-split-photo { width: 291px; max-width: 100%; aspect-ratio: 291 / 360; }
  .hero-banner-split--about .hero-split-circle--css { display: block; }
  .hero-split-circle--a1 { left: -29px; top: 880px; width: 183px; }
  .hero-split-circle--a2 { left: 188px; top: -19px; width: 201px; }
}
.section-heading-dots { position: relative; }
.section-dots-wrap { position: relative; }
.section-dots-pattern { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; z-index: 0; }
.about-intro-text { font-size: 28px; font-weight: 500; line-height: var(--lh-figma); max-width: 716px; margin: 0 auto; }
.about-intro-text + .about-intro-text { margin-top: 37px; }  
@media (min-width: 901px) {
  .about-intro-wrap { position: relative; margin: -40px 0 -37px 1px; padding: 40px 0 0; }  
  .section-center .about-intro-heading { margin-bottom: 0; }
  .about-intro-pattern { position: absolute; left: 0; top: 0; width: 1249px; height: 407px; max-width: none; object-fit: fill; z-index: 0; pointer-events: none; }
  .about-intro-heading { position: relative; z-index: 1; margin: 0 0 0 283px; max-width: 716px; }
  [data-block="about-intro"] { z-index: 2; }  
}
.card-icon { width: 130px; height: 130px; object-fit: contain; margin: 0 auto 12px; }
.section-center .about-stages-heading { max-width: 733px; margin: 0 auto 28px; }
.about-stages-heading h2 { margin-bottom: 28px; }
.about-stages-heading p { max-width: 650px; margin: 0 auto 28px; }
.about-stages-sub { font-size: 28px; font-weight: 500; max-width: 688px; margin-bottom: 0 !important; }
.about-stages-pills { gap: 20px; }
.about-stages-pills .solid-pill { display: inline-flex; align-items: center; gap: 5px; height: 42px; padding: 0 26px; font-size: var(--fs-text-14); font-weight: 500; }
.about-stages-pills .solid-pill::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--pill-dot, var(--color-deco-lavender)); flex-shrink: 0; }
@media (min-width: 901px) {
  .section-center .programs-gallery-heading { max-width: 621px; margin: 0 auto 48px; }
  .programs-gallery-heading h2 { max-width: 590px; margin: 0 auto 28px; }
  .programs-gallery-heading p { margin: 0 auto; }
}
.team-how-graphics { position: absolute; right: -129px; top: -1px; z-index: 0; pointer-events: none; }  
.team-how-circle { position: absolute; left: -152px; top: 518px; width: 143px; height: 143px; border-radius: 50%; border: 2px solid var(--color-deco-lavender); box-sizing: border-box; z-index: 0; }  
[data-block="team-how"] > :not(.team-how-graphics):not(.team-how-circle) { position: relative; z-index: 1; }
@media (min-width: 901px) {
  .team-how-heading { margin: 0 0 48px 6px; max-width: 544px; }
  .team-how-heading h2 { margin-bottom: 28px; }
  .team-how-heading p { max-width: 457px; margin: 0; }
  .team-how-cards { display: block; position: relative; height: 300px; }
  .team-how-card { position: absolute; top: 0; width: 305px; height: 300px; min-height: 0; padding: 0; border-radius: 20px; }
  .team-how-card:nth-child(1) { left: -8px; }
  .team-how-card:nth-child(2) { left: 326px; top: -1px; }
  .team-how-card:nth-child(3) { left: 650px; }
  .team-how-card:nth-child(4) { left: 975px; top: -1px; }
  .team-how-cards .team-how-card h3 { position: absolute; left: 12px; right: 12px; top: 91px; margin: 0; font-size: 23px; font-weight: 500; }
  .team-how-cards .team-how-card p { position: absolute; left: 26px; right: 26px; top: 149px; margin: 0; }
}
@media (max-width: 900px) { .team-how-graphics, .team-how-circle { display: none; } }
.about-gallery-circle { width: 156px; height: 156px; left: 1239px; top: 532px; background: var(--color-btn-primary); z-index: 0; }
@media (min-width: 901px) {
  .section-center .about-gallery-heading { max-width: 590px; margin: 0 auto 48px; }
  .atmosphere-photo-wrap { margin-left: 2px; max-width: 1277px; overflow: visible; }
}
@media (max-width: 900px) { .about-gallery-circle { display: none; } }
@media (min-width: 901px) {
  .section-center.about-adv-heading { max-width: 571px; margin: 0 auto 48px; }
  .about-adv-card { position: relative; height: 300px; min-height: 0; padding: 0; border-radius: 20px; }
  .about-adv-card .card-icon { position: absolute; margin: 0; object-fit: cover; }
  .about-adv-card h3 { position: absolute; left: 0; right: 0; margin: 0 auto; width: 289px; font-size: 23px; font-weight: 500; }
  .about-adv-card p { position: absolute; left: 0; right: 0; margin: 0 auto; }
  .about-adv-card:nth-child(1) .card-icon { left: 92px; top: 15px; width: 123px; height: 123px; }
  .about-adv-card:nth-child(1) h3 { top: 133px; }
  .about-adv-card:nth-child(1) p { top: 187px; width: 302px; }
  .about-adv-card:nth-child(2) .card-icon { left: 84px; top: 11px; width: 131px; height: 131px; }
  .about-adv-card:nth-child(2) h3 { top: 136px; }
  .about-adv-card:nth-child(2) p { top: 190px; width: 255px; }
  .about-adv-card:nth-child(3) .card-icon { left: 61px; top: 0; width: 186px; height: 172px; object-position: 50% 100%; }  
  .about-adv-card:nth-child(3) h3 { top: 142px; }
  .about-adv-card:nth-child(3) p { top: 197px; width: 234px; }
  .about-adv-card:nth-child(4) .card-icon { left: 81px; top: 0; width: 142px; height: 142px; }
  .about-adv-card:nth-child(4) h3 { top: 142px; }
  .about-adv-card:nth-child(4) p { top: 196px; width: 234px; }
}
.pill-scatter-precise { position: relative; }
.pill-scatter-item { position: absolute; text-align: center; white-space: nowrap; }
.pill-scatter-text { position: absolute; margin: 0 !important; text-align: center; }
.pill-scatter-graphic { position: absolute; height: auto; }
.pill-scatter-graphic { top: auto !important; bottom: 0; }
@media (min-width: 901px) {
  .about-points-stage { width: 1333px; height: 389px; margin: 0 0 -55px -92px; max-width: none; }  
  .about-points-stage .pill-scatter-item { width: 233px; height: 42px; padding: 0; display: inline-flex; align-items: center; justify-content: center; font-size: var(--fs-text-18); font-weight: 400; }
  .about-points-stage .pill-scatter-text { left: 388px; top: 128px; width: 688px; max-width: none; font-size: 28px; font-weight: 500; }
  .about-points-stage .pill-scatter-graphic { left: 0; top: 276px !important; bottom: auto; width: 108px; height: 113px; }
}
@media (max-width: 900px) {
  .pill-scatter-precise {
    aspect-ratio: auto !important;
    max-width: 100% !important;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
  }
  .pill-scatter-item { position: static !important; width: auto !important; margin: 0 !important; }
  .pill-scatter-precise > span:nth-of-type(-n + 3) { order: 1; }
  .pill-scatter-text {
    order: 2;
    flex: 0 0 100%;
    position: static !important;
    width: 100% !important;
    margin: 12px 0 !important;
  }
  .pill-scatter-precise > span:nth-of-type(n + 4) { order: 3; }
  .pill-scatter-graphic { display: none; }
}
.atmosphere-photo-wrap { position: relative; }
.atmosphere-photo { width: 100%; max-height: 460px; object-fit: cover; border-radius: var(--radius-card); }
.interior-photo-card { position: relative; border-radius: var(--radius-card); overflow: hidden; aspect-ratio: 4/3; }
.interior-photo-card img { width: 100%; height: 100%; object-fit: cover; }
.interior-photo-card .tag-badge { position: absolute; left: 12px; bottom: 12px; }
.solid-pill {
  background: var(--pill-color, var(--color-deco-yellow)); border-radius: 60px;
  padding: 16px 28px; font-weight: 700;
}
.tag-badge {
  display: inline-block; background: var(--pill-color, var(--color-deco-yellow)); border-radius: 15px;
  padding: 10px 16px; font-size: var(--fs-text-14); color: var(--color-text-dark);
}
.hero-banner { background: var(--color-deco-green); border-radius: var(--radius-card); padding: 48px; text-align: center; }
.hero-banner .btn-row { justify-content: center; }
.hero-photo-duo { display: flex; align-items: center; justify-content: center; gap: 24px; }
.hero-photo-duo img { width: 160px; height: 160px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.hero-photo-duo-dots { position: relative; overflow: visible; }
.events-hero-section { padding: 0; background: var(--color-bg-cream); }
.events-hero { position: relative; max-width: 1440px; margin: 0 auto; aspect-ratio: 1440 / 800; overflow: visible; }
.events-hero-stage { position: absolute; inset: 0; }
.events-hero-decor { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.events-hero-decor--dots { z-index: 0; }
.events-hero-decor--graphics { z-index: 2; }
.events-hero-decor--dots-mobile, .events-hero-decor--graphics-mobile, .events-hero-garland { display: none; }
.events-hero-photo { position: absolute; aspect-ratio: 1; border-radius: 50%; overflow: hidden; z-index: 1; }
.events-hero-photo img { position: absolute; max-width: none; height: auto; }
.events-hero-photo-left { left: 5.347%; top: 21%; width: 20.49%; }
.events-hero-photo-left img { width: 145.76%; left: -27.12%; top: 0; }
.events-hero-photo-right { left: 74.44%; top: 51%; width: 21.67%; }
.events-hero-photo-right img { width: 158.65%; left: -30.77%; top: -2.24%; }
.events-hero-text { position: absolute; left: 50%; top: 39.625%; transform: translateX(-50%); width: 48%; max-width: 709px; text-align: center; z-index: 3; }
.events-hero-text h1 { text-transform: uppercase; margin: 0 0 28px; max-width: 709px; margin-inline: auto; }
.events-hero-text .lead { margin: 0 auto 28px; line-height: 24px; }
@media (min-width: 901px) {
  .page-events .header-wrap { position: absolute; top: 0; left: 0; right: 0; z-index: 30; }
  .page-events [data-block="events-formats"] { padding-top: 90px; }
  .page-events [data-block="events-formats"] { padding-bottom: 0; }
  .page-events [data-block="events-themed"] { padding: 20px 0 0; }
  .page-events [data-block="events-package"] { padding-top: 20px; }
}
@media (min-width: 1280px) {
  .events-hero-text { width: 709px; max-width: 709px; }
  .events-hero-text .lead { max-width: 571px; }
}
@media (min-width: 901px) and (max-width: 1279px) {
  .events-hero-text h1 br { display: none; }
}
@media (max-width: 900px) {
  .events-hero { aspect-ratio: auto; max-width: none; padding-top: 27px; }
  .events-hero-garland { display: block; width: 144px; height: 47px; margin: 0 auto 15px; }
  .events-hero-text { position: static; transform: none; width: 100%; max-width: 100%; padding: 0; }
  .events-hero-text h1 { font-size: 24px; width: 352px; max-width: 100%; margin: 0 auto 16px; position: relative; left: -4.5px; }
  .events-hero-text .lead { font-size: 16px; line-height: 21px; max-width: 330px; margin: 0 auto 46px; }
  .events-hero-text .btn { width: 292px; max-width: 100%; }
  .events-hero-stage { position: relative; inset: auto; width: 375px; max-width: 100%; height: 482px; margin: 18px auto 0; overflow: hidden; }
  .events-hero-decor--dots, .events-hero-decor--graphics { display: none; }
  .events-hero-decor--dots-mobile { display: block; z-index: 0; }
  .events-hero-decor--graphics-mobile { display: block; z-index: 2; }
  .events-hero-photo-left { left: 16px; top: 18px; width: 222px; }
  .events-hero-photo-left img { width: 154.95%; left: -27.48%; top: 0; }
  .events-hero-photo-right { left: 130px; top: 138px; width: 229px; }
  .events-hero-photo-right img { width: 170.31%; left: -39.74%; top: -7.42%; }
  .page-events [data-block="events-formats"] { padding-top: 70px; }
}
.package-decor-overlay { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: fill; z-index: 0; pointer-events: none; border-radius: inherit; }
@media (max-width: 900px) { .package-decor-overlay { display: none; } }
@media (max-width: 900px) { .hero-photo-duo { flex-direction: column; } .hero-photo-duo img { width: 120px; height: 120px; } .hero-photo-duo-dots .deco-dot { display: none; } }
.program-grid-decor { display: flex; align-items: center; justify-content: center; }
.program-grid-decor img { max-width: 260px; width: 100%; }
@media (max-width: 900px) { .program-grid-decor { display: none; } }
.program-cards-photo { grid-template-columns: repeat(3, 1fr); }
.program-card-photo { width: 100%; height: 234px; object-fit: cover; border-radius: var(--radius-card) var(--radius-card) 0 0; }
@media (max-width: 900px) { .program-cards-photo { grid-template-columns: 1fr; } }
.howitworks-photo { width: 100%; height: 530px; object-fit: cover; object-position: center 26%; border-radius: var(--radius-card); margin-top: 24px; }
.age-cards .card:nth-child(5) { grid-column: span 2; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.age-cards .card:nth-child(5) img { flex-shrink: 0; }
@media (max-width: 900px) { .age-cards .card:nth-child(5) { grid-column: span 1; flex-direction: column; } }
.stage-badge {
  display: inline-block; background: #fff; color: var(--color-text-dark); border-radius: 999px;
  padding: 12px 26px; line-height: 18px; font-size: var(--fs-text-14); font-weight: 400; margin-bottom: 20px;
}
.age-cards .card { padding: 36px; min-height: 260px; }
.age-cards .card h3 { font-size: 23px; font-weight: 500; line-height: var(--lh-figma); margin: 0 0 24px; max-width: 289px; }
.age-cards .card p { font-size: var(--fs-text-16); margin: 0; max-width: 302px; }
.age-cards .card:nth-child(5) { padding-top: 13px; padding-bottom: 18px; align-items: flex-start; }
.age-cards .card:nth-child(5) .card-stage-row { padding-top: 23px; }
.age-cards .card:nth-child(2) p { max-width: 332px; }  
.age-cards .card:nth-child(3) p { max-width: 283px; }  
.age-cards .card:nth-child(5) h3 { max-width: 269px; }
.age-cards .card:nth-child(5) p { max-width: 377px; }
.age-cards .card:nth-child(5) img { width: 358px; margin-right: 20px; }
[data-block="home-programs"] .section-heading { margin-bottom: 48px; }
[data-block="home-programs"] .section-heading h2 { max-width: 651px; margin-bottom: 28px; }
[data-block="home-programs"] .section-heading p { max-width: 571px; margin: 0; }
.home-programs-cta { text-align: center; margin: 48px 0 0; }
.home-programs-graphics { position: absolute; left: 1202px; top: 78px; z-index: 0; pointer-events: none; }
[data-block="home-programs"] > :not(.home-programs-graphics) { position: relative; z-index: 1; }
@media (max-width: 1200px) { .home-programs-graphics { left: auto; right: -129px; } }
@media (max-width: 900px) { .home-programs-graphics { display: none; } }
.extra-card { text-align: center; display: block; position: relative; height: 320px; padding: 189px 8px 0; }
.extra-card h3 { font-size: 23px; font-weight: 500; margin: 0 auto 24px; max-width: 289px; }
.extra-card p { font-size: var(--fs-text-16); margin: 0 auto; max-width: 302px; }
.extra-card img { position: absolute; width: auto; height: auto; max-width: none; left: 50%; transform: translateX(-50%); top: 16px; }
.extra-card[data-icon="english"] img { left: 79px; top: 22px; transform: none; }
.extra-card[data-icon="chess"] img { left: 59px; top: 4px; transform: none; }
.extra-card[data-icon="robotics"] img { left: 74px; top: 18px; transform: none; }
.extra-card[data-icon="camp"] img { left: 69px; top: 0; transform: none; }
.extra-card[data-icon="mens-club"] img, .extra-card[data-icon="carpentry"] img, .extra-card[data-icon="fitness"] img, .extra-card[data-icon="other"] img { height: 170px; }
.home-extra-cta { text-align: center; margin: 48px 0 0; }
.home-extra-graphics { position: absolute; left: -70px; top: 371px; z-index: 0; pointer-events: none; }
[data-block="home-extra"] > :not(.home-extra-graphics) { position: relative; z-index: 1; }
[data-block="home-extra"] .section-heading { margin-bottom: 48px; }
[data-block="home-extra"] .section-heading h2 { max-width: 651px; margin: 0; }
@media (max-width: 900px) { .home-extra-graphics { display: none; } }
.interest-price { margin-top: auto; font-weight: 700; }
.cards-carousel {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding-bottom: 12px;
  scrollbar-width: thin;
  scrollbar-color: var(--color-btn-primary) transparent;
}
.cards-carousel .card {
  flex: 0 0 305px;
  scroll-snap-align: start;
}
@media (max-width: 900px) {
  .cards-carousel .card { flex: 0 0 75%; min-width: 0; }
}
.course-card {
  flex: 0 0 413px;
  background: #fff;
  border-radius: 30px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 900px;  
  scroll-snap-align: start;
}
.course-card__photo { flex-shrink: 0; }
.course-cards.cards-carousel { align-items: flex-start; }  
.programs-courses-graphics { position: absolute; left: -68px; top: 208px; z-index: 0; pointer-events: none; }
[data-block="programs-courses"] > :not(.programs-courses-graphics) { position: relative; z-index: 1; }
[data-block="programs-courses"] .programs-courses-heading { margin-bottom: 48px; }
[data-block="programs-courses"] .programs-courses-heading h2 { max-width: 698px; margin: 0 0 0 2px; }
@media (max-width: 900px) { .programs-courses-graphics { display: none; } }
.course-card__photo { display: block; position: relative; overflow: hidden; width: 100%; aspect-ratio: 413 / 234; }
.course-card__photo img { position: absolute; left: 0; top: 0; width: 100%; height: 100%; object-fit: cover; max-width: none; }
.main-program-cards .course-card:nth-child(3) .course-card__result { padding-right: 48px; }
.course-card__photo--program-baby-1 img { width: 126.92%; height: auto; left: -13.27%; top: -25.6%; }
.course-card__photo--program-baby-2 img { width: 126.92%; height: auto; left: -24.41%; top: -6.53%; }
.course-card__photo--program-school img { width: 102.44%; height: auto; left: -1.03%; top: -6.65%; }
.course-card__photo--program-minisad img { width: 126.92%; height: auto; left: -5.67%; top: -26.04%; }
.course-card__photo--program-zero img { width: 102.44%; height: auto; left: -1.03%; top: -8.89%; }
.course-card__photo--course-english img { width: 100%; height: auto; top: -0.85%; }    
.course-card__photo--course-chess img { width: 100%; height: auto; top: -17.61%; }     
.course-card__photo--course-robotics img { width: 100%; height: auto; top: -7.26%; }   
.course-card__body { padding: 28px 28px 68px; display: flex; flex-direction: column; gap: 16px; flex: 1; }
.course-card__title { font-size: 23px; font-weight: 500; line-height: var(--lh-figma); margin: 0; }
.course-card p { font-size: var(--fs-text-16); line-height: var(--lh-figma); margin: 0; color: var(--color-text-dark); }
.course-card strong { font-weight: 500; }
.course-card p.course-card__result {
  background: var(--pill-color, var(--color-deco-yellow));
  border-radius: 15px;
  padding: 9px 12px 12px 18px;  
  margin: 4px -2px;
}
.course-card p.course-card__price { font-size: var(--fs-text-18); font-weight: 500; margin-top: auto; }
.course-card .btn { align-self: flex-start; margin-top: 12px; }
.course-card--main { min-height: 773px; height: 773px; }
.course-card--main .course-card__body { padding-bottom: 48px; }
.main-program-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px 20px; }  
.main-program-cards__track { display: contents; }  
.programs-main-heading { margin-bottom: 48px; }
.main-program-cards__illustration { position: relative; min-height: 454px; padding-top: 160px; }
.main-program-cards__illustration img { position: relative; z-index: 1; width: 397px; max-width: 100%; height: auto; }
.main-program-cards__circle { position: absolute; left: 150px; top: 357px; width: 339px; height: 339px; border-radius: 50%; background: var(--color-deco-pink); }
.main-program-cards .course-card__result { min-height: 82px; display: flex; align-items: center; }
.main-program-cards .course-card p.course-card__price { margin-top: 0; }    
@media (max-width: 1200px) { .main-program-cards__circle { left: auto; right: -20px; } }
@media (max-width: 900px) {
  .main-program-cards { grid-template-columns: 1fr; }
  .main-program-cards__illustration { display: none; }
}
@media (max-width: 767px) {
  .course-card { flex-basis: 343px; min-height: auto; }
  .course-card__body { padding: 26px 20px 51px 23px; }
  .course-card__title { margin-right: -14px; }
  .course-card p.course-card__result { padding: 9px 9px 9px 15px; margin-inline: -1px 0; }
  .course-card .btn-wide { width: 243px; }
}
#courses {
  scroll-margin-top: 100px;
}
.scroll-pin.is-pinned > .scroll-pin-stage {
  position: sticky;
}
.scroll-pin.is-pinned .cards-carousel {
  overflow-x: hidden;
  scroll-snap-type: none;
  padding-bottom: 0;
}
.discount-ticker {
  width: 100vw; margin-left: calc(-50vw + 50%);
  background: var(--color-deco-green); color: var(--color-text-dark); border-radius: 0;
  height: 76px; padding: 0 80px; display: flex; gap: 0; align-items: center; justify-content: flex-start; flex-wrap: nowrap; overflow: hidden;
  font-weight: 500; margin-top: 0; margin-bottom: 0; font-size: 20px; line-height: 26px; white-space: nowrap;
  text-transform: uppercase;
}
.discount-ticker > span { display: inline-flex; align-items: center; }
.discount-ticker > span:first-child .dot { display: none; }
.discount-ticker .dot { width: 10px; height: 10px; border-radius: 50%; background: var(--color-deco-yellow); display: inline-block; margin: 0 33px 0 24px; }
[data-block="programs-ticker"] { padding-bottom: 45px; }  
@media (min-width: 901px) {
  .programs-hero { padding: 31px 0 35px; overflow: visible; }
  .programs-hero__stage { position: relative; width: 1298px; height: 449px; }
  .programs-hero__dots { position: absolute; left: 0; top: 0; width: 1298px; height: 449px; max-width: none; z-index: 0; pointer-events: none; }
  .programs-hero__photo { position: absolute; border-radius: 50%; overflow: hidden; aspect-ratio: 1; z-index: 1; }
  .programs-hero__photo img { position: absolute; max-width: none; height: auto; }
  .programs-hero__photo--left { left: 6px; top: 220px; width: 212px; }
  .programs-hero__photo--left img { width: 176.9%; left: -42.45%; top: -10.85%; }
  .programs-hero__photo--right { left: 1091px; top: 11px; width: 195px; }
  .programs-hero__photo--right img { width: 183.6%; left: -19.49%; top: -8.2%; }
  .programs-hero__text { position: absolute; left: 233px; top: 49px; width: 815px; z-index: 2; text-align: center; }
  .programs-hero__text h1 { text-transform: uppercase; margin: 0 0 28px; }
  .programs-hero__text .lead { max-width: 571px; margin: 0 auto 48px; }
}
@media (max-width: 900px) {
  .programs-hero__stage { display: flex; flex-direction: column; align-items: center; gap: 24px; }
  .programs-hero__dots { display: none; }
  .programs-hero__photo { width: 212px; border-radius: 50%; overflow: hidden; aspect-ratio: 1; position: relative; }
  .programs-hero__photo img { position: absolute; max-width: none; height: auto; }
  .programs-hero__photo--left img { width: 176.9%; left: -42.45%; top: -10.85%; }
  .programs-hero__photo--right { width: 195px; order: 3; }
  .programs-hero__photo--right img { width: 183.6%; left: -19.49%; top: -8.2%; }
  .programs-hero__text { order: 2; }
  .programs-hero__text h1 { text-transform: uppercase; }
  .programs-hero__text h1 br { display: none; }
  .programs-hero__text .lead { max-width: 571px; margin: 0 auto 28px; }
}
.pill-scatter-row { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
.timeline { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; position: relative; margin-top: 40px; }
.timeline-3 { grid-template-columns: repeat(3, 1fr); }
[data-block="home-road"] .section-heading { margin-bottom: 0; margin-left: 2px; }  
[data-block="home-road"] .section-heading h2 { max-width: 733px; margin-bottom: 28px; }
[data-block="home-road"] .section-heading p { max-width: 733px; margin: 0 0 48px; }
.timeline-line { display: block; width: 1282px; max-width: 100%; height: 28px; margin: 0; }
.home-road-graphics { position: absolute; right: -54px; top: -64px; z-index: 0; pointer-events: none; }
[data-block="home-road"] > :not(.home-road-graphics) { position: relative; z-index: 1; }
@media (min-width: 901px) {
  [data-block="home-road"] .timeline { grid-template-columns: 324px 326px 324px 306px; gap: 0; margin-top: 22px; }
  [data-block="home-road"] .timeline::before, [data-block="home-road"] .timeline-step::before { display: none; }
  [data-block="home-road"] .timeline-step { padding-top: 0; }
  [data-block="home-road"] .timeline-step h3 { font-size: 23px; font-weight: 500; margin: 0 0 24px; max-width: 289px; }
  [data-block="home-road"] .timeline-step:nth-child(n + 3) h3 { max-width: 305px; }  
  [data-block="home-road"] .timeline-step p { max-width: 306px; margin-bottom: 0; }
  .home-road-graphics { right: -74px; top: -19px; }
}
@media (max-width: 900px) { .timeline-line, .home-road-graphics, .programs-road-graphics { display: none; } }
.programs-road-graphics { position: absolute; right: -129px; top: 7px; z-index: 0; pointer-events: none; }  
[data-block="programs-road"] > :not(.programs-road-graphics) { position: relative; z-index: 1; }
@media (min-width: 901px) {
  .programs-road-heading { margin: 0 0 0 2px; }
  .programs-road-heading h2 { max-width: 733px; margin-bottom: 28px; }
  .programs-road-heading p { max-width: 689px; margin: 0 0 48px; }
  [data-block="programs-road"] .timeline-3 { grid-template-columns: 433px 434px 412px; gap: 0; margin-top: 22px; }
  [data-block="programs-road"] .timeline::before, [data-block="programs-road"] .timeline-step::before { display: none; }
  [data-block="programs-road"] .timeline-step { padding-top: 0; }
  [data-block="programs-road"] .timeline-step h3 { font-size: 23px; font-weight: 500; margin: 0; max-width: 305px; }
  [data-block="programs-road"] .timeline-step:nth-child(2) h3 { max-width: 225px; }
  [data-block="programs-road"] .timeline-step:nth-child(3) h3 { max-width: 285px; }
}
.timeline::before {
  content: ""; position: absolute; top: 11px; left: 0; right: 0; height: 6px;
  background: var(--color-deco-coral); border-radius: 3px;
}
.timeline-step { position: relative; padding-top: 44px; }
.timeline-step::before {
  content: ""; position: absolute; top: 0; left: 0; width: 28px; height: 28px;
  border-radius: 50%; background: var(--color-deco-yellow);
}
.timeline-step h3 { font-size: var(--fs-header-20); }
.timeline-step p { font-size: var(--fs-text-16); }
.big-banner {
  border-radius: var(--radius-card);
  padding: 56px;
  padding-bottom: 190px;
  position: relative;
}
.big-banner .section-heading { position: relative; z-index: 2; }
.pill-tags { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 20px; }
.pill-tag {
  display: inline-flex; align-items: center; gap: 8px;
  background: #fff; border-radius: 999px; padding: 10px 18px; font-size: var(--fs-text-14);
}
.pill-tag::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--pill-color, var(--color-accent-red)); }
.pill-tag--solid {
  height: 42px;
  padding: 0 26px;
  gap: 6px;
  border-radius: 60px;
  background: var(--pill-color);
  font-size: var(--fs-text-14);
  font-weight: 400;
  color: var(--color-text-dark);
}
.pill-tag--solid::before { width: 10px; height: 10px; background: var(--pill-dot); }
@media (max-width: 900px) { .big-banner { padding-bottom: 40px; } }
.holiday-banner {
  position: relative;
  background: var(--color-deco-green);
  max-width: 1277px;
  margin-left: 2px;  
  min-height: 603px;
  padding: 148px 40px 90px;
  overflow: hidden;
}
.holiday-banner__circle { position: absolute; aspect-ratio: 1; border-radius: 50%; background: rgba(132, 199, 127, 0.7); z-index: 1; }
.holiday-banner__circle--bl { left: -42px; bottom: -47px; width: 273px; }
.holiday-banner__circle--tr { right: -24px; top: -54px; width: 243px; }
.holiday-banner__graphics { position: absolute; left: 0; top: 0; width: 1277px; max-width: none; height: 603px; z-index: 2; pointer-events: none; }
.holiday-banner .section-heading { position: relative; z-index: 3; }
.holiday-banner__text { max-width: 733px; margin: 0 auto; text-align: center; }
.holiday-banner__text h2 { margin-bottom: 28px; }
.holiday-banner__text p { max-width: 650px; margin: 0 auto 28px; }
.holiday-banner__text .pill-tags { justify-content: center; gap: 20px; margin: 0 0 28px -18px; }
.holiday-banner__text .pill-tag { height: 42px; padding: 0 26px; gap: 5px; font-weight: 500; }
.holiday-banner__text .pill-tag::before { width: 10px; height: 10px; }
.holiday-banner__text p:last-of-type { margin-bottom: 48px; }
.holiday-banner .banner-photos { position: absolute; inset: 0; z-index: 4; pointer-events: none; }
.holiday-banner .banner-photo { position: absolute; border-radius: 50%; overflow: hidden; aspect-ratio: 1; }
.holiday-banner .banner-photo img { position: absolute; max-width: none; height: auto; }
.holiday-banner .banner-photo-1 { left: 35px; top: 224px; width: 200px; }
.holiday-banner .banner-photo-1 img { width: 146%; left: -27%; top: 0; }
.holiday-banner .banner-photo-2 { left: 1029px; top: 343px; width: 200px; }
.holiday-banner .banner-photo-2 img { width: 158.5%; left: -31%; top: -2%; }
@media (max-width: 1279px) {
  .holiday-banner .banner-photo-2 { left: auto; right: 48px; }
  .holiday-banner__graphics { width: 100%; height: auto; }
}
@media (max-width: 900px) {
  .holiday-banner { min-height: 0; padding: 32px 20px; margin-left: 0; }
  .holiday-banner .banner-photos, .holiday-banner__graphics, .holiday-banner__circle { display: none; }
  .holiday-banner__text .pill-tags { margin-left: 0; }
}
.about-banner { position: relative; max-width: 1277px; margin: 0 auto; background: var(--color-deco-green); border-radius: var(--radius-card); overflow: hidden; }
.about-banner__circle { position: absolute; aspect-ratio: 1; border-radius: 50%; background: rgba(132, 199, 127, 0.7); z-index: 1; }
.about-banner__circle--bl { left: -1.723%; bottom: -81px; width: 21.378%; }
.about-banner__circle--tr { right: -1.879%; top: -54px; width: 19.029%; }
.about-banner__stage { position: absolute; inset: 0; z-index: 2; pointer-events: none; }
.about-banner__photo { position: absolute; aspect-ratio: 1; border-radius: 50%; overflow: hidden; }
.about-banner__photo img { position: absolute; max-width: none; height: auto; }
.about-banner__photo--tl { left: 5.012%; top: 62px; width: 12.451%; }
.about-banner__photo--tl img { width: 196.23%; left: -51.57%; top: -2.52%; }
.about-banner__photo--tr { right: 9.084%; top: 56px; width: 10.885%; }
.about-banner__photo--tr img { width: 160.43%; left: -29.5%; top: 0; }
.about-banner__photo--bl { left: 5.403%; bottom: 66px; width: 11.825%; }
.about-banner__photo--bl img { width: 180.79%; left: -43.05%; top: -0.66%; }
.about-banner__photo--br { right: 3.132%; bottom: 34px; width: 11.903%; }
.about-banner__photo--br img { width: 238.82%; left: -13.82%; top: -38.16%; }
.about-banner__text { position: relative; z-index: 3; padding: 93px 0 90px; text-align: center; }
.about-banner__text h2 { max-width: 733px; margin: 0 auto 28px; line-height: 55px; }  
.about-banner__lead { max-width: 650px; margin: 0 auto 28px; line-height: 24px; }
.about-banner__pills { display: flex; flex-wrap: wrap; gap: 20px; justify-content: center; margin-bottom: 48px; }
.about-banner__pills .pill-tag { height: 42px; padding: 0 26px; gap: 5px; font-weight: 500; font-size: var(--fs-text-14); background: #fff; }
.about-banner__pills .pill-tag::before { width: 10px; height: 10px; }
@media (min-width: 1280px) {
  .about-banner__pills { justify-content: flex-start; padding-left: 223px; }
}
@media (max-width: 900px) {
  .about-banner { max-width: none; width: calc(100% + 1px); }  
  .about-banner__circle--bl { left: -37px; bottom: -9px; width: 215px; }
  .about-banner__circle--tr { right: -31px; top: -33px; width: 197px; }
  .about-banner__text { padding: 70px 0 0; }
  .about-banner__text h2 { font-size: 24px; line-height: 31px; max-width: 265px; margin-bottom: 20px; }
  .about-banner__lead { font-size: var(--fs-text-16); line-height: 21px; max-width: 285px; margin-bottom: 46px; }
  .about-banner__pills { flex-direction: column; align-items: flex-start; justify-content: flex-start; padding-left: 40px; gap: 20px; margin-bottom: 46px; }
  .about-banner__pills .pill-tag:nth-child(3) { margin-left: -28px; padding: 0 12px 0 13px; }
  .about-banner__stage { position: relative; inset: auto; height: 328px; }
  .about-banner__photo--tl { left: 12px; top: 21px; width: 183px; }
  .about-banner__photo--tl img { width: 196.17%; left: -51.37%; top: -2.19%; }
  .about-banner__photo--br { left: 144px; right: auto; top: 107px; bottom: auto; width: 189px; }
  .about-banner__photo--br img { width: 238.62%; left: -13.76%; top: -38.1%; }
  .about-banner__photo--tr, .about-banner__photo--bl { display: none; }
}
.final-banner-photo { position: absolute; aspect-ratio: 1; border-radius: 50%; object-fit: cover; border: 6px solid #fff; z-index: 2; }
.final-banner-circle { position: absolute; z-index: 1; aspect-ratio: 1; }
.final-banner-circle img { width: 100%; height: 100%; }
@media (max-width: 900px) { .final-banner-photo, .final-banner-circle { display: none; } }
.cta-photo-banner { aspect-ratio: 1280 / 478; display: flex; align-items: center; }
.cta-photo-banner .section-heading { margin: 0; }
@media (min-width: 901px) {
  .cta-photo-banner { padding-left: 107px !important; }
  .cta-photo-banner .final-banner-photo { border: 0; }
}
@media (max-width: 900px) { .cta-photo-banner { aspect-ratio: auto; display: block; } }
.event-card-photo { display: block; position: relative; overflow: hidden; width: 100%; height: 220px; border-radius: var(--radius-card) var(--radius-card) 0 0; }
.event-card-photo img { position: absolute; left: 0; top: 0; width: 100%; height: auto; max-width: none; }
.event-card-photo-side { width: 550px; height: 356px; flex: 1 1 550px; border-radius: var(--radius-card) 0 0 var(--radius-card); }
@media (max-width: 900px) {
  .card.event-themed-card { flex-direction: column; gap: 26px; }
  .event-card-photo-side,
  .event-themed-card .event-card-photo-side { width: 100%; height: auto; flex-basis: auto; aspect-ratio: 297 / 145; border-radius: var(--radius-card); }
  .event-themed-card__body { max-width: none; padding-top: 0; }
}
body.page-events { background: var(--color-bg-white); }
.card.event-format-card { padding: 40px; background: var(--color-bg-cream); }
.card.event-format-card .event-card-photo { border-radius: var(--radius-card); aspect-ratio: 7 / 3; height: auto; margin-bottom: 30px; }
.card.event-format-card--turnkey .event-card-photo { width: 100%; max-width: 546px; aspect-ratio: 546 / 234; }
.card.event-format-card--turnkey .event-card-photo img { width: 116.3%; left: -16.3%; top: -175.64%; }
.card.event-format-card--rental .event-card-photo { aspect-ratio: 550 / 234; }
.card.event-format-card--rental .event-card-photo img { width: 100%; top: -2.14%; }
.card.event-format-card h3 { font-size: 22px; font-weight: 500; line-height: 29px; margin-bottom: 16px; }
.card.event-format-card p { font-size: var(--fs-text-16); line-height: 21px; margin-bottom: 30px; }
.card.event-format-card .btn { display: flex; }  
.event-format-card--turnkey p:not(.tag-badge) { max-width: 364px; }
.event-format-card--rental p:not(.tag-badge) { max-width: 367px; }
.card.event-format-card .tag-badge { display: block; padding: 9px 12px 9px 18px; font-size: var(--fs-text-16); font-weight: 700; line-height: 21px; }
.card.event-format-card--turnkey .tag-badge { max-width: 462px; padding-right: 15px; }  
.card.event-format-card--rental .tag-badge { max-width: 467px; padding-right: 0; }  
.card.event-themed-card { padding: 40px; background: var(--color-bg-cream); display: flex; align-items: flex-start; }
@media (min-width: 901px) {
  .card.event-themed-card { gap: 60px; }  
  .event-themed-card .event-card-photo-side { width: 590px; height: 356px; flex: 0 0 590px; border-radius: var(--radius-card); }
  .event-themed-card .event-card-photo-side img { width: 101.86%; left: -1.02%; top: -10.39%; }  
}
.event-themed-card__body { flex: 1 1 auto; min-width: 0; max-width: 549px; padding-top: 32px; }
.event-themed-card__title { font-size: 22px; font-weight: 500; line-height: 29px; margin: 0 0 16px; }
.event-themed-card__body p { font-size: var(--fs-text-16); line-height: 21px; margin: 0 0 30px; }
.event-themed-card__body .tag-badge { display: block; max-width: 526px; padding: 9px 0 9px 18px; font-size: var(--fs-text-16); font-weight: 700; line-height: 21px; }  
.event-themed-card__cta { margin: 0 !important; }
.btn-wide { width: 292px; max-width: 100%; font-weight: 700; }
.btn-block { width: 100%; }
.btn-sm { min-height: 47px; padding: 0 28px; }
.party-form-section { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: flex-start; }
.party-form-illustration { max-width: 320px; margin: 32px auto 0; }
.party-form-card { background: var(--color-bg-cream); border-radius: var(--radius-card); padding: 70px; }
.party-form-card form { display: flex; flex-direction: column; gap: 17px; }
@media (min-width: 901px) {
  .party-form-section { grid-template-columns: 630px 630px; gap: 20px; }
  .party-form-intro { padding-top: 56px; }
  .party-form-intro h2 { max-width: 605px; margin: 0 0 28px; }
  .party-form-intro p { max-width: 549px; margin: 0 0 19px; }
  .party-form-illustration { width: 383px; max-width: none; margin: 0 0 0 67px; }
  .party-form-card { height: 639px; }
  .party-form-card .pill-input { width: 480px; border: 0; }
  .party-form-consent { width: 452px; gap: 25px; }
  .party-form-card .btn-block { width: 472px; margin-top: 14px; }  
}
.pill-input {
  width: 100%; height: 75px; border: 1px solid #EDE6DE; border-radius: var(--radius-card); background: #fff;
  padding: 0 28px; font-family: inherit; font-size: var(--fs-text-16); color: var(--color-text-dark);
}
textarea.pill-input { padding-top: 27px; resize: none; }
.pill-input::placeholder { color: #737373; opacity: 1; }
.pill-input[type="tel"]::placeholder, .pill-input[name="phone"]::placeholder { color: #e3e3e3; }
.party-form-consent { display: flex; align-items: flex-start; gap: 12px; font-size: var(--fs-text-14); cursor: pointer; }
.party-form-consent a { color: var(--color-btn-primary); text-decoration: underline; text-underline-offset: 2px; }
.party-form-consent input[type="checkbox"] {
  width: 28px; height: 28px; flex-shrink: 0; margin-top: 2px; border-radius: 5px;
  border: 1px solid var(--color-text-dark); accent-color: var(--color-btn-primary);
}
@media (max-width: 900px) { .party-form-section { grid-template-columns: 1fr; } .party-form-card { padding: 32px; } }
.package-banner { text-align: center; }
.package-banner__eyebrow { text-transform: uppercase; font-weight: 500; font-size: 20px; margin-bottom: 4px; }
.package-banner__title { color: #fff; text-transform: uppercase; }
.package-banner__price { font-size: 20px; font-weight: 500; color: #fff; }
.package-banner__label { text-align: center; font-weight: 700; font-size: 20px; position: relative; z-index: 2; }
.package-banner__row { text-align: center; }
.package-banner__cta { text-align: center; margin-top: 32px; position: relative; z-index: 2; }
@media (min-width: 901px) {
  .package-banner { position: relative; height: 1032px; padding: 0; }
  .package-banner > * { position: absolute; left: 0; right: 0; margin: 0 !important; z-index: 2; }
  .package-banner .package-decor-wrap { inset: 0; z-index: 0; }
  .package-banner .package-decor-overlay { inset: 0; z-index: 0; }
  .package-banner__head { top: 90px; }
  .package-banner__eyebrow { line-height: 26px; width: 384px; margin: 0 auto 12px !important; }  
  .package-banner__title { font-size: 48px; line-height: 63px; margin: 0 0 19px !important; }
  .package-banner__price { display: inline-block; width: 152px; height: 48px; padding: 11px 0; line-height: 26px; border-radius: 30px; margin: 0 !important; }
  .package-banner__label { line-height: 26px; }
  .package-banner__label--includes { top: 282px; }
  .package-banner__label--extras { top: 580px; }
  .package-banner__row--includes { top: 331px; left: 379px; right: auto; }
  .package-banner__row--extras { top: 628px; left: 137px; right: auto; }
  .package-banner .package-list-card { display: grid; grid-auto-flow: column; grid-auto-columns: 242px; margin: 0; border-radius: 10px; overflow: visible; }
  .package-banner__row--includes .package-list-card { width: 484px; height: 225px; }
  .package-banner__row--extras .package-list-card { width: 968px; height: 226px; }
  .package-banner .package-list-item { position: relative; min-width: 0; padding: 0; border: 0; display: block; }
  .package-banner .package-list-item + .package-list-item::before { content: ""; position: absolute; left: 0; top: 35px; width: 1px; height: 156px; background: #ede6de; }
  .package-banner .package-list-item img { position: absolute; margin: 0; object-fit: contain; }
  .package-banner .package-list-item strong { position: absolute; left: 0; right: 0; font-size: 23px; font-weight: 500; line-height: 30px; }
  .package-banner .package-list-item span { position: absolute; left: 0; right: 0; font-size: var(--fs-text-18); line-height: 24px; opacity: 1; margin: 0; }
  .package-banner__row--includes .package-list-item strong { top: 104px; }
  .package-banner__row--includes .package-list-item span { top: 141px; padding: 0 37px; }
  .package-banner__row--includes .package-list-item:nth-child(1) img { left: 83px; top: 20px; width: 84px; height: 84px; }
  .package-banner__row--includes .package-list-item:nth-child(2) img { left: 74px; top: 0; width: 104px; height: 109px; }
  .package-banner__row--extras .package-list-item strong { top: 114px; }
  .package-banner__row--extras .package-list-item span { top: 151px; }
  .package-banner__row--extras .package-list-item:nth-child(1) img { left: 54px; top: 0; width: 153px; height: 140px; }
  .package-banner__row--extras .package-list-item:nth-child(2) img { left: 68px; top: 11px; width: 121px; height: 118px; }
  .package-banner__row--extras .package-list-item:nth-child(3) img { left: 51px; top: 18px; width: 129px; height: 100px; }
  .package-banner__row--extras .package-list-item:nth-child(4) img { left: 44px; top: 12px; width: 141px; height: 116px; }
  .package-banner__cta { top: 878px; }
}
.package-list-card { display: inline-flex; background: #fff; border-radius: var(--radius-card-sm); overflow: hidden; margin-top: 16px; max-width: 100%; vertical-align: top; position: relative; z-index: 2; }
.package-list-item { min-width: 200px; padding: 28px 24px; border-left: 1px solid #EDE6DE; display: flex; flex-direction: column; align-items: center; }
.package-list-item:first-child { border-left: none; }
.package-list-item img { width: 56px; height: 56px; object-fit: contain; margin-bottom: 12px; }
.package-list-item strong { font-size: var(--fs-header-20); }
.package-list-item span { font-size: var(--fs-text-14); opacity: 0.75; margin-top: 4px; }
@media (max-width: 700px) { .package-list-card { flex-wrap: wrap; } .package-list-item { flex: 1 1 50%; min-width: 0; border-left: none; } }
.package-icons { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; margin-top: 16px; }
.package-icon-card {
  background: #fff; border-radius: var(--radius-card-sm); padding: 16px 20px; width: 140px;
  display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; font-size: var(--fs-text-14);
}
.package-icon-card img { width: 56px; height: 56px; object-fit: contain; }
.review-card {
  background: #fff; border: 2px solid var(--review-color, var(--color-deco-green)); border-radius: 20px;
  padding: 30px; height: 242px; text-align: left; position: relative;
}
.stars { display: block; width: 116px; height: 19px; margin-bottom: 24px; }
.review-card > p { font-size: var(--fs-text-14); max-width: 360px; margin: 0; }
.review-author { position: absolute; left: 30px; bottom: 30px; display: flex; align-items: flex-start; gap: 16px; margin: 0; }
.review-avatar {
  width: 48px; height: 48px; border-radius: 50%; background: var(--review-color, var(--color-deco-lavender));
  display: flex; align-items: center; justify-content: center; font-size: var(--fs-text-14); font-weight: 500; color: #fff; flex-shrink: 0;
}
.review-meta { padding-top: 4px; }
.review-meta strong { display: block; font-size: var(--fs-text-16); }
.review-meta span { display: block; font-size: var(--fs-text-14); }
[data-block="home-reviews"] .section-heading { margin-bottom: 48px; max-width: 733px; }
[data-block="home-reviews"] .section-heading h2 { max-width: 733px; margin-bottom: 28px; }
[data-block="home-reviews"] .section-heading p { max-width: 574px; margin: 0 auto; }  
[data-block="home-reviews"] .cards-grid { grid-template-columns: 414px 414px 414px; column-gap: 19px; margin-left: -1px; }  
.badge-pill {
  display: inline-block; background: var(--color-deco-yellow); border-radius: 60px;
  padding: 12px 24px; font-weight: 500; font-size: var(--fs-text-14); line-height: 18px; margin: 0 0 28px;
}
[data-block="home-teachers"] .section-heading { margin-bottom: 48px; }
[data-block="home-teachers"] .section-heading h2 { margin-bottom: 28px; }
[data-block="home-teachers"] .section-heading p:last-child { max-width: 563px; margin: 0 auto; }
.avatar-strip { display: flex; justify-content: space-between; align-items: center; margin: 0 0 48px; flex-wrap: wrap; gap: 12px 8px; }
.avatar-strip img {
  width: 88px; height: 88px; border-radius: 50%; object-fit: cover;
}
@media (max-width: 900px) {
  .avatar-strip { justify-content: center; }
  .avatar-strip img { width: 60px; height: 60px; }
}
.final-cta {
  background: var(--color-deco-yellow); border-radius: var(--radius-card);
  display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 32px;
  padding: 48px; overflow: hidden;
}
.final-cta-photo { position: relative; display: flex; align-items: center; justify-content: center; }
.final-cta-photo img { border-radius: 50%; aspect-ratio: 1; width: 100%; max-width: 410px; height: auto; object-fit: cover; position: relative; z-index: 2; }
.final-cta-photo__circle { position: relative; z-index: 2; display: block; width: 100%; max-width: 410px; aspect-ratio: 1; border-radius: 50%; overflow: hidden; }
.final-cta-photo__circle img { position: absolute; left: -8.05%; top: 0; width: 149.8%; max-width: none; height: auto; aspect-ratio: auto; object-fit: fill; border-radius: 0; }
.final-cta-photo__circle--programs img { left: -32.93%; width: 150%; }  
.final-cta-circle { position: absolute; width: 44%; aspect-ratio: 1; border-radius: 50%; background: #edc645; left: 6%; bottom: 4%; z-index: 1; }  
@media (min-width: 901px) {
  .final-cta { grid-template-columns: minmax(0, 1fr) 410px; gap: 44px; padding: 42px 70px 26px 107px; min-height: 478px; align-items: start; }
  .final-cta > div:first-child { padding-top: 48px; }
  .final-cta h2 { max-width: 569px; margin-bottom: 28px; }
  .final-cta p { max-width: 543px; margin-bottom: 48px; }
  .final-cta--team { margin-left: -11px; }  
  .final-cta--team p { max-width: 503px; }  
  .final-cta-circle { width: 175px; left: -61px; top: 226px; bottom: auto; }
}
@media (max-width: 900px) { .final-cta { grid-template-columns: 1fr; } .final-cta-photo img { max-width: 280px; } }
.deco-dot { position: absolute; border-radius: 50%; z-index: -1; pointer-events: none; }
.deco-ring { position: absolute; border-radius: 50%; border: 2px solid var(--ring-color, var(--color-deco-pink)); z-index: -1; pointer-events: none; }
@media (max-width: 700px) { .deco-ring { display: none; } }
.hero-with-dots { position: relative; overflow: hidden; }
@media (min-width: 901px) {
  [data-block="home-hero"].hero-with-dots { overflow: visible; }
}
@media (max-width: 700px) { .hero-with-dots .deco-dot { display: none; } }
.director-quote {
  position: relative; margin: 19px 0 0 -4px; padding: 0 40px 0 54px; max-width: 874px; font-size: var(--fs-text-16); color: var(--color-text-dark);
}  
.card p.director-body__desc { max-width: 780px; }
.director-quote::before, .director-quote::after {
  content: ""; position: absolute; width: 40px; height: 40px; background: center / contain no-repeat;
}
.director-quote::before { left: 0; top: -2px; background-image: url('/images/tz-2026-09/quote-open.svg'); }
.director-quote::after { right: 0; bottom: -4px; background-image: url('/images/tz-2026-09/quote-close.svg'); }
.team-director {
  display: flex; align-items: center; gap: 42px;
  padding: 30px; margin-bottom: 20px; min-height: 285px;
  background: var(--color-bg-white); border: 0;
}
.card p.director-body__desc { font-size: var(--fs-text-16); margin: 0 0 14px; }
.director-photo { position: relative; flex-shrink: 0; width: 225px; height: 225px; }
.director-photo::before {
  content: ""; position: absolute; left: -6px; top: -6px; width: 225px; height: 225px;
  border-radius: 50%; background: var(--color-deco-yellow);
}
.director-photo img {
  position: relative; width: 225px; height: 225px; border-radius: 50%;
  object-fit: cover; border: 4px solid var(--color-bg-white);
}
.director-body { flex: 1; min-width: 260px; }
.director-body > .tag-badge { display: block; width: fit-content; margin-bottom: 14px; }
.team-list-heading { margin-bottom: 48px; max-width: 560px; }
.team-grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
@media (max-width: 900px) { .team-grid-3 { grid-template-columns: 1fr; } }
.card.team-card {
  background: var(--color-bg-white); border: 0; border-radius: var(--radius-card);
  padding: 30px; min-height: 303px; display: flex; flex-direction: column;
}
.team-card__head { display: flex; align-items: flex-start; gap: 15px; margin-bottom: 25px; }
.team-card__photo { width: 88px; height: 88px; border-radius: 50%; object-fit: cover; flex-shrink: 0; margin: 0; }
.team-card__meta { min-width: 0; }
.card .team-card__name { font-size: 23px; font-weight: 500; line-height: var(--lh-figma); margin: 0 0 4px; }
.team-card__role {
  display: block; width: fit-content; font-size: var(--fs-text-14); font-weight: 400; padding: 2px 10px;
  border-radius: 15px; min-height: 25px; margin: 0 0 4px; line-height: 21px;
}
.card p.team-card__edu { font-size: var(--fs-text-14); margin: 0; }
@media (min-width: 901px) { .card p.team-card__edu { white-space: nowrap; } }
.card p.team-card__desc { font-size: var(--fs-text-16); margin: 0; }
.team-more-btn {
  background: none; border: none; padding: 0; margin-top: auto; padding-top: 25px; cursor: pointer;
  display: inline-flex; align-items: center; gap: 9px; align-self: flex-start;
  color: var(--color-btn-primary); font-weight: 700; font-size: var(--fs-text-16);
  font-family: inherit; text-align: left;
}
.team-more-btn:hover { text-decoration: underline; }
.team-more-btn__arrow { width: 9px; height: 8px; transform: rotate(90deg); transition: transform 0.2s; }
.team-more-btn[aria-expanded='true'] .team-more-btn__arrow { transform: rotate(-90deg); }
.card p.team-more-text { font-size: var(--fs-text-16); margin: 12px 0 0; }
.team-more-text[hidden] { display: none; }
@media (max-width: 767px) {
  .card.team-card { padding: 16px; min-height: 288px; }
  .team-card__photo { width: 76px; height: 76px; }
  .team-card__head { gap: 5px; margin-bottom: 20px; }
  .card .team-card__name { font-size: var(--fs-text-16); margin-bottom: 8px; }
  .card p.team-card__desc, .card p.team-more-text { font-size: var(--fs-text-14); }
}
.modal-overlay {
  display: none; position: fixed; inset: 0; background: rgba(47, 47, 47, 0.6);
  z-index: 100; align-items: center; justify-content: center;
}
.modal-overlay.open { display: flex; }
.modal {
  background: #fff; border-radius: var(--radius-card); padding: 32px; max-width: 480px; width: 90%;
  max-height: 90vh; overflow-y: auto; position: relative;
}
.modal-close { position: absolute; top: 16px; right: 16px; background: none; border: none; font-size: 24px; cursor: pointer; }
.modal-form { max-width: 600px; padding: 40px; }
.modal-form h3 { text-align: center; font-size: var(--fs-header-26); margin-bottom: 24px; }
.modal-form form { display: flex; flex-direction: column; gap: 16px; }
.modal-form .pill-input { background: var(--color-bg-cream); border-color: #ede6de; }
.modal-form select.pill-input {
  appearance: none; -webkit-appearance: none; cursor: pointer;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="8" fill="none"><path d="M1 1l6 6 6-6" stroke="%232F2F2F" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
  background-repeat: no-repeat; background-position: right 28px center;
}
.modal-form select.pill-input:invalid { color: #8a8a8a; }
.modal-form .party-form-consent { margin: 4px 0; }
.modal-form .btn-block { margin-top: 4px; }
.modal-form [data-form-status] { margin: 0; text-align: center; }
@media (max-width: 600px) { .modal-form { padding: 28px 20px; } }
.afisha-poster-wrap { display: flex; flex-direction: column; align-items: center; gap: 20px; }
.afisha-poster-img {
  max-height: 80vh; max-width: 92vw; width: auto; height: auto;
  border-radius: 28px; box-shadow: 0 24px 70px rgba(0, 0, 0, 0.35); display: block;
}
.afisha-close {
  position: fixed; top: 24px; right: 32px; z-index: 110;
  width: 48px; height: 48px; border-radius: 50%; background: #fff; color: var(--color-text-dark);
  font-size: 28px; line-height: 1; display: flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}
@media (max-width: 767px) {
  .afisha-poster-img { max-height: 76vh; border-radius: 20px; }
  .afisha-close { top: 12px; right: 16px; width: 40px; height: 40px; font-size: 24px; }
  .afisha-poster-wrap { gap: 14px; }
}
.form-field { margin-bottom: 16px; }
.form-field label { display: block; margin-bottom: 6px; font-size: var(--fs-text-14); }
.form-field input, .form-field select, .form-field textarea {
  width: 100%; padding: 12px 16px; border-radius: 12px; border: 1px solid #ddd; font-family: inherit; font-size: var(--fs-text-16);
}
.contacts-hero__title { position: relative; left: 0.5px; max-width: 653px; margin: 0 auto 25px; }  
.contacts-hero__lead { position: relative; left: 0.5px; max-width: 571px; margin: 0 auto; }
@media (min-width: 901px) {
  [data-block="contacts-hero"] { padding: 58px 0 48px; }
  [data-block="contacts-info"] { padding: 0 0 20px; }
  [data-block="contacts-map"] { padding: 0; }
  [data-block="contacts-app"] { padding: 44px 0 45px; }  
}
.contacts-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.contacts-card { background: var(--color-bg-white); border-radius: var(--radius-card); padding: 70px 75px; }
.contacts-card__title { font-size: var(--fs-header-42); margin: 0 0 36px; }  
@media (min-width: 901px) {
  .contacts-grid > .contacts-card { height: 758px; }
  .contacts-card--info { padding-right: 70px; }  
}
.contact-row { display: flex; align-items: flex-start; gap: 18px; margin-bottom: 20px; }
.contact-row--hours { margin-bottom: 16px; }
.contact-icon { width: 71px; height: 71px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.contact-text { display: flex; flex-direction: column; padding-top: 8px; }
.contact-label { text-transform: uppercase; color: var(--color-text-dark); font-size: var(--fs-text-18); line-height: var(--lh-figma); margin-bottom: 7px; }
.contact-value { color: var(--color-text-dark); font-size: var(--fs-text-18); font-weight: 500; line-height: var(--lh-figma); }
.contact-value a { color: inherit; }
.contact-actions { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 18px; margin-top: 58px; }  
.contact-actions .btn { width: 247px; padding: 0; }
@media (min-width: 901px) {
  .contact-actions { flex-wrap: nowrap; }
  .contact-actions__call { margin-top: -2px; }
}
.contacts-card--form form { display: flex; flex-direction: column; gap: 17px; }
.contacts-card .pill-input { background: var(--color-bg-cream); border: 0; }
.contacts-card__note { font-size: var(--fs-text-14); margin: -1px 0 0; }
.contacts-card [data-form-status]:empty { display: none; }
@media (min-width: 901px) {
  .contacts-card .pill-input { width: 480px; }
  .contacts-card .party-form-consent { width: 452px; gap: 25px; }
  .contacts-card .btn-block { width: 472px; margin-top: 14px; }
  .contacts-card__note { width: 472px; }
}
.contacts-map { position: relative; }
.contacts-map__title { margin-bottom: 28px; }
.contacts-map__address { font-size: var(--fs-text-18); font-weight: 500; line-height: var(--lh-figma); margin: 0 0 48px; }
.contacts-map__route { width: 247px; padding: 0; }
@media (min-width: 901px) {
  .contacts-map__route { position: absolute; right: 75px; top: 113px; }
}
.contacts-map-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.contacts-map__photo { display: block; position: relative; overflow: hidden; border-radius: var(--radius-card); aspect-ratio: 555 / 408; }
.contacts-map__photo img { position: absolute; display: block; left: 0; top: 0; width: 100%; height: auto; max-width: none; }
.contacts-map__photo--map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; display: block; }  
.contacts-map__photo--facade img { width: 133.33%; left: -12.25%; top: -10.54%; }
@media (max-width: 900px) {
  .contacts-grid, .contacts-map-grid { grid-template-columns: 1fr; }
  .contacts-card { padding: 32px; }
  .contacts-map__route { margin-bottom: 24px; }
}
.app-promo { display: grid; grid-template-columns: minmax(0, 1fr) 567px; align-items: start; }
.app-promo__text { position: relative; z-index: 2; }
.app-promo__title { max-width: 695px; margin: 0 0 28px; }
.app-promo__lead { max-width: 617px; font-size: var(--fs-text-18); line-height: var(--lh-figma); margin: 0 0 28px; }
.app-pills-title { font-size: 28px; font-weight: 500; line-height: var(--lh-figma); margin: 0 0 26px; }
.app-promo .app-pills { display: flex; flex-wrap: wrap; gap: 20px; margin: 0 0 26px; }
.app-badges { display: flex; gap: 16px; }
.app-store-icon { display: inline-flex; width: 50px; height: 50px; border-radius: 10px; }
.app-store-icon img { width: 100%; height: 100%; object-fit: contain; }
.app-promo-img { position: relative; z-index: 1; width: 100%; max-width: 567px; aspect-ratio: 1; object-fit: cover; justify-self: end; }
@media (min-width: 901px) {
  .app-promo { grid-template-columns: 741px 567px; }
  .app-promo__text { padding-top: 46px; }
  .app-promo .app-pills { width: 765px; }
  .app-promo-img { width: 567px; height: 567px; }
}
@media (max-width: 900px) {
  .app-promo { grid-template-columns: 1fr; }
  .app-promo-img { max-width: 360px; margin: 24px auto 0; justify-self: center; }
}
@media (max-width: 767px) {
  .app-promo .app-pills { gap: 16px; }
  .app-promo h2 { font-size: var(--fs-header-24); }
  .app-promo__lead { font-size: var(--fs-text-16); }
  .app-pills-title { font-size: 20px; margin-bottom: 20px; }
  .app-promo-img { max-width: 342px; aspect-ratio: 342 / 274; }
}
.site-footer { background: var(--color-deco-lavender); padding: 0; margin-top: 45px; }
.footer-inner { position: relative; height: 274px; }
.footer-inner > * { position: absolute; margin: 0; }
.footer-brand { left: -19px; top: 35px; display: block; }
.footer-brand img { height: 81px; display: block; }
.footer-copyright { position: absolute; left: 19px; top: 104px; margin: 0; font-size: var(--fs-text-14); white-space: nowrap; }
.footer-nav { display: flex; flex-direction: column; gap: 8px; top: 90px; }
.footer-nav:nth-of-type(1) { left: 650px; }
.footer-nav:nth-of-type(2) { left: 868px; }
.footer-nav a, .footer-contacts a { text-decoration: none; font-size: 20px; line-height: 26px; white-space: nowrap; }
.footer-contacts { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; left: 1083px; top: 90px; }
.footer-social { display: flex; margin: -10px 0 0 -10px; }
.footer-social a { display: block; width: 41px; height: 41px; }
.footer-social a + a { margin-left: -5px; }
.footer-social img { width: 41px; height: 41px; }  
.footer-legal { left: 19px; top: 170px; display: flex; flex-direction: column; gap: 4px; }
.footer-legal a { font-size: 14px; line-height: 20px; text-decoration: underline; text-underline-offset: 2px; }
.legal-page { max-width: 1040px; padding-top: 60px; padding-bottom: 80px; }
.legal-page__back { display: inline-flex; margin-bottom: 24px; color: var(--color-btn-primary); text-decoration: none; font-weight: 700; }
.legal-article { padding: clamp(28px, 5vw, 64px); background: #fff; border-radius: 34px; box-shadow: 0 20px 60px rgba(35, 45, 68, .08); }
.legal-article h1 { margin: 0 0 28px; font-size: clamp(34px, 5vw, 56px); line-height: 1.05; }
.legal-article h2 { margin: 38px 0 16px; font-size: clamp(24px, 3vw, 32px); line-height: 1.2; }
.legal-article p, .legal-article li { font-size: 18px; line-height: 1.65; }
.legal-article ul { padding-left: 24px; }
.legal-article__meta { color: #666; }
@media (min-width: 901px) and (max-width: 1024px) {
  .cards-grid-4 { grid-template-columns: repeat(2, 1fr); }
  .cards-grid,
  .program-cards-photo,
  .team-grid-3 { grid-template-columns: repeat(2, 1fr); }
  .timeline,
  .timeline-3 { grid-template-columns: repeat(2, 1fr); }
  .package-list-card { overflow-x: auto; overflow-y: hidden; scrollbar-width: thin; }
}
@media (min-width: 901px) and (max-width: 1200px) {
  .event-card-photo-side,
  .event-themed-card .event-card-photo-side { flex-basis: 400px; width: 400px; height: auto; aspect-ratio: 590 / 356; }
  .card.event-themed-card { gap: 32px; }
}
@media (min-width: 901px) and (max-width: 1100px) {
  .site-header { padding: 0 20px; }
  .site-header nav { gap: 16px; }
  .site-header nav a { font-size: var(--fs-text-14); }
}
@media (min-width: 901px) and (max-width: 1200px) {
  .events-hero {
    aspect-ratio: auto;
    min-height: calc(100vw * 0.5556);  
  }
  .holiday-banner {
    aspect-ratio: auto;
    min-height: calc((100vw - 40px) * 0.4722);  
  }
  .section-dots-wrap {
    aspect-ratio: auto !important;
    min-height: calc((100vw - 40px) * 0.3259);  
  }
  .pill-scatter-precise {
    aspect-ratio: auto !important;
    min-height: calc((100vw - 40px) * 0.2918);  
  }
  .cta-photo-banner {
    aspect-ratio: auto;
    min-height: calc((100vw - 40px) * 0.3734);  
  }
}
.gallery { position: relative; max-width: 1277px; margin: 0 auto; }
.gallery-viewport { overflow: hidden; border-radius: var(--radius-card); }
.gallery-track {
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
  transition: transform 0.5s ease;
  will-change: transform;
}
.gallery-track.is-dragging { transition: none; }
.gallery-slide { flex: 0 0 100%; min-width: 0; }
.gallery-slide img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1277 / 530;
  object-fit: cover;
  border-radius: var(--radius-card);
  cursor: zoom-in;
}
.gallery-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  border: none;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.9);
  color: var(--color-text-dark);
  font-size: 30px;
  line-height: 44px;
  cursor: pointer;
  z-index: 2;
  padding: 0;
}
.gallery-arrow:hover { background: #fff; }
.gallery-arrow-prev { left: 16px; }
.gallery-arrow-next { right: 16px; }
.gallery-dots { display: flex; justify-content: center; gap: 8px; margin-top: 16px; }
@media (min-width: 901px) { .gallery-dots { position: absolute; left: 0; right: 0; bottom: 16px; margin: 0; z-index: 2; } }
.gallery-dot {
  width: 10px;
  height: 10px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: #d9d2ca;
  cursor: pointer;
}
.gallery-dot[aria-selected='true'] { background: var(--color-btn-primary); }
.gallery-lightbox {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.9);
  padding: 24px;
}
.gallery-lightbox img {
  max-width: 100%;
  max-height: 90vh;
  width: auto;
  border-radius: var(--radius-card-sm);
  object-fit: contain;
}
.gallery-lightbox-close,
.gallery-lightbox-nav {
  position: absolute;
  border: none;
  background: rgba(255, 255, 255, 0.9);
  color: var(--color-text-dark);
  border-radius: 50%;
  width: 48px;
  height: 48px;
  font-size: 28px;
  line-height: 44px;
  cursor: pointer;
  padding: 0;
}
.gallery-lightbox-close { top: 20px; right: 20px; font-size: 24px; }
.gallery-lightbox-prev { left: 20px; top: 50%; transform: translateY(-50%); }
.gallery-lightbox-next { right: 20px; top: 50%; transform: translateY(-50%); }
@media (max-width: 700px) {
  .cards-grid, .cards-grid-2, .cards-grid-4, .timeline, .team-grid-3 { grid-template-columns: 1fr !important; }
  h1 { font-size: 34px; }
  h2 { font-size: 28px; }
  .big-banner, .final-cta { padding: 28px; }
}
@media (max-width: 767px) {
  .container { padding: 0 16px; }
  .section { padding-top: 35px; padding-bottom: 35px; }
  h1 { font-size: clamp(28px, 9.07vw, 34px); }
  h2 { font-size: clamp(24px, 7.47vw, 28px); }
  .btn-row { flex-direction: column; align-items: center; }
  .btn-row .btn { width: 100%; max-width: 292px; }
  .site-footer { padding: 0; margin-top: 35px; }
  .footer-inner { height: 710px; padding: 0; }
  .footer-brand { left: -5px; top: 25px; }
  .footer-brand img { height: 81px; }
  .footer-copyright { left: 23px; top: 96px; }
  .footer-nav { gap: 16px; top: 200px; }
  .footer-nav:nth-of-type(1) { left: 16px; }
  .footer-nav:nth-of-type(2) { left: 16px; top: 340px; }
  .footer-nav a, .footer-contacts a { line-height: 24px; }
  .footer-contacts { left: 17px; top: 558px; gap: 16px; }
  .footer-social { margin: 4px 0 0 -10px; }
  .footer-legal { left: 18px; top: 150px; gap: 2px; }
  .legal-page { padding-top: 30px; padding-bottom: 45px; }
  .legal-article { border-radius: 22px; padding: 24px 18px; }
  .legal-article p, .legal-article li { font-size: 16px; }
  .hero-banner-split { overflow: hidden; }
  .hero-split-circle { display: block; }
  .hero-banner-split:not(.hero-banner-split--about) .hero-split-photo { width: 100% !important; max-width: 292px !important; }
  .hero-photo-duo img:first-of-type { width: 212px; height: 212px; }
  .hero-photo-duo img:last-of-type { width: 195px; height: 195px; }
  .hero-photo-duo-dots .deco-dot { display: block; }
  .hero-photo-duo-dots { overflow: hidden; }
  .age-cards { gap: 16px; }
  .age-cards .card { min-height: 248px; display: flex; flex-direction: column; justify-content: center; padding: 24px; }
  .age-cards .card:nth-child(5) { gap: 0; }
  .age-cards .card:nth-child(5) img { display: none; }
  .age-cards .stage-badge { margin-bottom: 12px; }
  .extra-cards-slider {
    display: flex;
    flex-wrap: nowrap;
    gap: 16px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 12px;
    scrollbar-width: thin;
  }
  .extra-cards-slider > .card { flex: 0 0 338px; min-width: 0; scroll-snap-align: start; }
  .extra-card { height: 338px; padding: 198px 8px 0; }
  .extra-card img, .extra-card[data-icon] img { left: 50%; transform: translateX(-50%); top: 33px; height: auto; }
  .extra-card[data-icon="mens-club"] img, .extra-card[data-icon="carpentry"] img, .extra-card[data-icon="fitness"] img, .extra-card[data-icon="other"] img { height: 160px; }
  .extra-card h3 { margin-bottom: 20px; }
  .timeline, .timeline-3 { grid-template-columns: 1fr; gap: 0; padding-left: 44px; margin-top: 24px; }
  .timeline::before { top: 14px; bottom: 14px; left: 11px; right: auto; width: 6px; height: auto; }
  .timeline-step { padding-top: 0; padding-bottom: 28px; }
  .timeline-step:last-child { padding-bottom: 0; }
  .timeline-step::before { top: 0; left: -44px; }
  .package-list-card { display: flex; flex-direction: column; width: 100%; max-width: 100%; }
  .package-list-item { flex: 0 0 auto; width: 100%; min-width: 0; border-left: none; border-top: 1px solid #ede6de; }
  .package-list-item:first-child { border-top: none; }
  .card.event-format-card, .card.event-themed-card { padding: 24px 24px 30px; }
  .card.event-format-card .event-card-photo { aspect-ratio: 297 / 145; margin-bottom: 26px; }
  .card.event-format-card--turnkey .event-card-photo { width: 100%; aspect-ratio: 295 / 145; }
  .card.event-format-card--turnkey .event-card-photo img { width: 119.32%; left: -18.64%; top: -152.41%; }
  .card.event-format-card--rental .event-card-photo { aspect-ratio: 297 / 145; }
  .card.event-format-card--rental .event-card-photo img { width: 100.34%; left: 0; top: -2.07%; }
  .event-themed-card .event-card-photo-side img { width: 100%; left: 0; top: -13.1%; }
  .event-format-card--turnkey p:not(.tag-badge), .event-format-card--rental p:not(.tag-badge) { max-width: none; }
  .card.event-format-card h3, .event-themed-card__title { font-size: 20px; line-height: 26px; margin-bottom: 20px; }
  .card.event-format-card p, .event-themed-card__body p { line-height: var(--lh-figma); margin-bottom: 20px; }
  .event-themed-card__body { padding-top: 0 !important; }  
  .card.event-format-card .tag-badge, .event-themed-card__body .tag-badge { font-size: var(--fs-text-14); line-height: var(--lh-figma); padding: 10px 9px 10px 18px; max-width: none; margin-bottom: 26px; }
  .about-intro-text { font-size: clamp(18px, 5.3vw, 22px); }
  .pill-scatter-row { flex-direction: column; align-items: stretch; gap: 12px; }
  .pill-scatter-row .solid-pill { text-align: center; padding: 14px 20px; }
  .cards-grid-4 { gap: 16px; }
  .card-sm:has(.card-icon) { min-height: 338px; display: flex; flex-direction: column; justify-content: center; }
  .card-icon { width: 96px; height: 96px; margin-bottom: 12px; }
  .team-grid-3 { gap: 16px; }
  .team-director { flex-direction: column; align-items: center; text-align: center; padding: 24px; gap: 16px; min-height: 0; }
  .director-photo, .director-photo::before, .director-photo img { width: 150px; height: 150px; }
  .director-body { min-width: 0; }
  .director-quote { text-align: left; padding-left: 40px; margin-top: 12px; }
  .card-sm { min-height: 300px; }
  .gallery-slide img { aspect-ratio: 343 / 230; border-radius: var(--radius-card-sm); }
  .gallery-arrow { display: none; }
  .gallery-lightbox { padding: 12px; }
  .gallery-lightbox-prev, .gallery-lightbox-next { width: 40px; height: 40px; font-size: 22px; line-height: 36px; }
  .gallery-lightbox-prev { left: 8px; }
  .gallery-lightbox-next { right: 8px; }
  .big-banner, .cta-photo-banner { overflow: hidden; }
  .final-banner-circle { display: none; }
  .final-banner-photo { display: block; position: static; width: 100% !important; margin: 16px auto 0; }
  .cta-photo-banner { display: flex; flex-direction: column; }
  .cta-photo-banner .section-heading { order: 1; }
  .cta-photo-banner .final-banner-photo { order: 2; max-width: 269px; }
  .holiday-banner { flex-direction: column; }
  .holiday-banner .banner-photos { display: flex; justify-content: center; align-items: flex-start; order: 2; margin-top: 20px; }
  .holiday-banner .banner-photo { display: block; position: static; inset: auto; width: 46%; max-width: 170px; height: auto; aspect-ratio: 1; }
  .holiday-banner .banner-photo-2 { margin-left: -16px; margin-top: 32px; }
  .avatar-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; justify-items: center; }
  .avatar-strip img { width: 100%; height: auto; aspect-ratio: 1; max-width: 110px; }
}
@media (max-width: 767px) {
  h2 { font-size: 24px; }
  .section-heading p { font-size: var(--fs-text-16); }
  [data-block="home-programs"] .section-heading { margin-bottom: 46px; }
  [data-block="home-programs"] .section-heading h2 { margin-bottom: 20px; }
  .home-programs-graphics { display: block; width: 71px; height: 59px; left: auto; right: -22px; top: 197px; }
  .age-cards { gap: 20px; }
  .age-cards .card, .age-cards .card:nth-child(5) { height: 248px; min-height: 0; padding: 36px; justify-content: flex-start; align-items: stretch; }
  .age-cards .card:nth-child(5) .card-stage-row { padding-top: 0; }
  .age-cards .card h3, .age-cards .card:nth-child(5) h3 { font-size: 20px; margin: 0 0 20px; max-width: 256px; }
  .age-cards .card p, .age-cards .card:nth-child(2) p, .age-cards .card:nth-child(3) p, .age-cards .card:nth-child(5) p { max-width: 302px; }
  .age-cards .stage-badge { width: 178px; padding-left: 0; padding-right: 0; text-align: center; margin-bottom: 20px; }
  .home-programs-cta { margin-top: 46px; }
  section[data-block="home-hero"] { padding-bottom: 62px; }
  [data-block="home-extra"] .section-heading { width: 360px; max-width: none; margin: 0 0 46px 3px; }
  .extra-cards-slider { padding-bottom: 0; }
  .home-extra-cta { margin-top: 46px; }
  [data-block="home-road"] { padding-top: 74px; }
  .home-road-graphics { display: block; width: 65px; height: 65px; right: -5px; top: 35px; }
  [data-block="home-road"] .section-heading h2 { margin-bottom: 20px; }
  [data-block="home-road"] .section-heading p { font-size: var(--fs-text-18); width: 346px; max-width: none; margin: 0; }
  .timeline-step h3, .timeline-step p { width: 305px; max-width: none; }
  .timeline, .timeline-3 { padding-left: 55px; margin-top: 46px; }
  .timeline::before { display: none; }
  .timeline-step { padding: 0 0 46px; }
  .timeline-step:last-child { padding-bottom: 0; }
  .timeline-step::before { top: 0; left: -54px; width: 24px; height: 24px; }
  .timeline-step::after { content: ""; position: absolute; left: -45px; top: 12px; bottom: -12px; width: 6px; background: var(--color-deco-coral); }
  .timeline-step:last-child::after { display: none; }
  .timeline-step h3 { font-size: 20px; margin: 0 0 20px; }
  .timeline-step p { margin: 0; }
  .holiday-banner { display: flex; flex-direction: column; align-items: center; padding: 97px 0 63px; min-height: 0; overflow: hidden; }
  .holiday-banner__circle { display: block; }
  .holiday-banner__circle--tr { right: -26px; top: -14px; width: 151px; }
  .holiday-banner__circle--bl { left: -60px; bottom: auto; top: 807px; width: 219px; }
  .holiday-banner picture { position: absolute; inset: 0; z-index: 2; pointer-events: none; }
  .holiday-banner__graphics { display: block; width: 100%; height: auto; }  
  .holiday-banner__text { display: contents; }
  .holiday-banner__text h2 { position: relative; z-index: 3; order: 1; width: 100%; margin: 0 0 20px; text-align: center; }
  .holiday-banner__text p { position: relative; z-index: 3; order: 2; max-width: 305px; margin: 0 0 46px; text-align: center; font-size: var(--fs-text-16); }
  .holiday-banner__text .pill-tags { position: relative; z-index: 3; order: 3; flex-direction: column; align-items: center; gap: 16px; margin: 0 0 46px; }
  .holiday-banner__text .pill-tag { width: 240px; justify-content: center; }
  .holiday-banner__text p:last-of-type { order: 4; max-width: 340px; margin: 0; }
  .holiday-banner__text .btn { position: relative; z-index: 3; order: 6; margin-top: 46px; }
  .holiday-banner .banner-photos { display: block; position: relative; inset: auto; order: 5; width: 343px; max-width: 100%; height: 216px; margin: 46px auto 0; }
  .holiday-banner .banner-photo { position: absolute; display: block; max-width: none; }
  .holiday-banner .banner-photo-1 { left: 21px; top: 0; width: 178px; margin: 0; }
  .holiday-banner .banner-photo-2 { left: 168px; top: 58px; width: 158px; margin: 0; }
  [data-block="home-reviews"] { display: none; }
  [data-block="home-teachers"] .section-heading { margin-bottom: 46px; }
  [data-block="home-teachers"] .section-heading h2 { margin-bottom: 20px; }
  .section-heading p.badge-pill { font-size: var(--fs-text-14); padding: 11px 24px; margin-bottom: 20px; }
  [data-block="home-teachers"] .section-heading p:last-child { max-width: 330px; }
  [data-block="home-teachers"] .section-heading h2 { position: relative; left: -4px; }
  [data-block="home-teachers"] .section-heading p.badge-pill { position: relative; left: -1px; }
  [data-block="home-teachers"] .section-heading p:last-child { position: relative; left: -3px; }
  .avatar-strip { grid-template-columns: repeat(3, 99px); justify-content: center; gap: 20px; margin: 0; }
  .avatar-strip img { width: 99px; height: 99px; max-width: none; }
  [data-block="home-teachers"] > .btn { display: none; }
  .final-cta { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 46px 0 15px; gap: 0; }
  [data-block="home-banner"] .final-cta { margin: 0 -2px 0 2px; }  
  .final-cta > div:first-child { display: flex; flex-direction: column; align-items: center; width: 100%; }
  .final-cta h2 { max-width: 200px; margin: 0 0 20px; }
  .final-cta p { max-width: 312px; margin: 0 0 46px; font-size: var(--fs-text-16); }
  .final-cta-photo { width: 269px; margin: 32px auto 0; }
  .final-cta-photo__circle { display: block; width: 269px; height: 269px; max-width: none; border-radius: 50%; overflow: hidden; }
  .final-cta-photo__circle img { max-width: none; width: 149.8%; left: -8.18%; top: 0; }  
  .final-cta-circle { width: 115px; left: -53px; top: 160px; bottom: auto; }
  section[data-block="about-hero"] { padding-top: 0; }
  .about-intro-wrap { margin: 0; padding: 0; min-height: 0; }
  .about-intro-wrap picture { position: absolute; left: calc(50% - 174.5px); top: -13px; width: 351px; height: 313px; z-index: 0; pointer-events: none; }  
  .about-intro-pattern { position: static; width: 351px; height: 313px; max-width: none; }
  .about-intro-heading, .section-center .about-intro-heading { position: relative; z-index: 1; max-width: 269px; margin: 0 auto; }
  .about-intro-text, .section-heading p.about-intro-text { font-size: 20px; }
  .about-intro-text + .about-intro-text { margin-top: 26px; }
  .section-center.about-adv-heading { max-width: 321px; margin: 0 0 46px 9px; }  
  .about-adv-heading h2 { font-size: 26px; }
  .about-adv-cards { gap: 20px; }
  .about-adv-cards .about-adv-card { display: block; position: relative; width: 338px; height: 338px; min-height: 0; padding: 0; margin: 0 auto; }
  .about-adv-card .card-icon { position: absolute; margin: 0; object-fit: cover; }
  .about-adv-card h3 { position: absolute; left: 0; right: 0; margin: 0 auto; width: 289px; font-size: 23px; font-weight: 500; }
  .about-adv-card p { position: absolute; left: 0; right: 0; margin: 0 auto; }
  .about-adv-card:nth-child(1) .card-icon { left: 88px; top: 33px; width: 142px; height: 142px; }
  .about-adv-card:nth-child(1) h3 { top: 180px; }
  .about-adv-card:nth-child(1) p { top: 230px; width: 302px; }
  .about-adv-card:nth-child(2) .card-icon { left: 89px; top: 14px; width: 155px; height: 155px; }
  .about-adv-card:nth-child(2) h3 { top: 170px; }
  .about-adv-card:nth-child(2) p { top: 220px; width: 255px; }
  .about-adv-card:nth-child(3) .card-icon { left: 59px; top: 0; width: 219px; height: 208px; object-position: 50% 100%; }
  .about-adv-card:nth-child(3) h3 { top: 169px; }
  .about-adv-card:nth-child(3) p { top: 219px; width: 255px; }
  .about-adv-card:nth-child(4) .card-icon { left: 89px; top: 18px; width: 165px; height: 165px; }
  .about-adv-card:nth-child(4) h3 { top: 181px; }
  .about-adv-card:nth-child(4) p { top: 231px; width: 248px; }
  .about-points-stage { display: block !important; width: 375px !important; max-width: none !important; height: 437px; min-height: 0 !important; margin: 0 0 0 calc((100% - 375px) / 2) !important; }  
  .about-points-stage .pill-scatter-item { position: absolute !important; width: 147px !important; height: 34px; padding: 0; display: inline-flex; align-items: center; justify-content: center; font-size: var(--fs-text-14); font-weight: 400; line-height: 18px; margin: 0 !important; }
  .about-points-stage > span:nth-of-type(1) { left: 16px !important; top: 70px !important; }
  .about-points-stage > span:nth-of-type(2) { left: 114px !important; top: 0 !important; }
  .about-points-stage > span:nth-of-type(3) { left: 16px !important; top: 333px !important; }
  .about-points-stage > span:nth-of-type(4) { left: 213px !important; top: 70px !important; }
  .about-points-stage > span:nth-of-type(5) { left: 212px !important; top: 333px !important; }
  .about-points-stage > span:nth-of-type(6) { left: 114px !important; top: 403px !important; }
  .about-points-stage .pill-scatter-text { position: absolute !important; left: 53px; top: 154px; width: 269px !important; max-width: none; margin: 0 !important; font-size: 20px; font-weight: 500; }
  .about-points-stage .pill-scatter-graphic { display: block; left: -19px; top: 201px !important; bottom: auto; width: 56px; height: 58px; }
  .section-center .about-gallery-heading { max-width: none; margin: 0 auto 48px; }
  .about-gallery-circle { display: block; width: 91px; height: 91px; left: 298px; top: 184px; }
  [data-block="about-gallery"] .gallery-dots { display: none; }
  .section-center .about-stages-heading { max-width: none; margin: 0 auto 20px; }
  .about-stages-heading h2 { margin-bottom: 20px; }
  .about-stages-heading p { max-width: 285px; margin: 0 auto 46px; }
  .about-stages-heading p.about-stages-sub { font-size: 24px; max-width: none; }
  .about-stages-pills { flex-direction: column; align-items: flex-start; gap: 20px; margin-left: 38px; }
  .about-stages-pills .solid-pill { width: 281px; height: 42px; padding: 0; justify-content: center; text-align: center; }
  .about-stages-pills .solid-pill:nth-child(4) { width: 284px; }
  section[data-block="programs-hero"] { padding: 54px 16px 35px; }
  .programs-hero__stage { display: block; position: relative; width: 343px; height: 734px; margin: 0 auto; }
  .programs-hero__text { position: absolute; left: -23px; top: 0; width: 390px; }
  .programs-hero__text h1 { font-size: 26px; line-height: 34px; margin: 0 0 20px; }
  .programs-hero__text h1 br { display: inline; }
  .programs-hero__text .lead { max-width: 297px; margin: 0 auto 46px; font-size: var(--fs-text-16); }
  .programs-hero__dots-wrap { position: absolute; left: 0; top: 334px; width: 343px; height: 400px; z-index: 0; pointer-events: none; }
  .programs-hero__dots { display: block; position: static; width: 343px; height: 400px; }
  .programs-hero__photo { position: absolute; margin: 0; }
  .programs-hero__photo--left { left: 0; top: 378px; width: 212px; }
  .programs-hero__photo--right { left: 148px; top: 466px; width: 195px; }
  [data-block="programs-ticker"] { padding-top: 35px; padding-bottom: 35px; }
  .programs-road-graphics { display: block; width: 79px; height: 74px; right: -27px; top: -22px; }
  .programs-road-heading h2 { width: 375px; max-width: none; margin: 0 0 20px; }
  .programs-road-heading p { width: 346px; max-width: none; margin: 0; }
  .timeline-3 { padding-left: 52px; }
  .timeline-3 .timeline-step h3 { width: 272px; margin-bottom: 0; }
  .programs-main-heading { margin-bottom: 46px; }
  .main-program-cards { display: block; }
  .main-program-cards__track { display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .main-program-cards__track::-webkit-scrollbar { display: none; }
  .course-card--main { flex: 0 0 343px; width: 343px; height: 778px; min-height: 0; }
  .course-card--main .course-card__body { padding: 26px 26px 52px; }
  .course-card--main .course-card__title { font-size: 20px; margin-right: 0; }
  .main-program-cards .course-card p.course-card__result { padding: 10px 18px; margin: 4px 0; min-height: 0; }
  .main-program-cards .course-card .btn-wide { width: 292px; margin-top: 10px; }
  .main-program-cards__illustration { display: block; position: relative; width: 313px; height: 343px; min-height: 0; padding: 0; margin: 46px 0 0 15px; }
  .main-program-cards__illustration img { width: 254px; }
  .main-program-cards__circle { left: 96px; right: auto; top: 126px; width: 217px; height: 217px; }
  [data-block="programs-courses"] .programs-courses-heading { margin-bottom: 46px; }
  [data-block="programs-courses"] .programs-courses-heading h2 { margin-left: 0; }
  .course-cards .course-card .btn { margin-top: 10px; }
  .course-cards.cards-carousel { padding-bottom: 0; }  
  .course-card__photo { height: 196px; aspect-ratio: auto; }
  .course-card__title { margin-bottom: 4px; }
  .section-center .programs-gallery-heading { max-width: none; margin: 0 auto 70px; }
  .programs-gallery-heading p, [data-block="programs-gallery"] .gallery-dots { display: none; }
  [data-block="programs-banner"] .final-cta { padding-bottom: 46px; }
  [data-block="programs-banner"] .final-cta h2 { max-width: 215px; }
  [data-block="programs-banner"] .final-cta-photo { margin-top: 30px; }
  [data-block="programs-banner"] .final-cta-circle { left: -51px; top: 199px; }
  .final-cta-photo__circle--programs img { left: -33.1%; width: 149.8%; }  
  .page-events .events-hero-section { padding: 0; }  
  .page-events [data-block="events-formats"] { padding-bottom: 0; }
  .page-events [data-block="events-formats"] .section-heading { margin: 0 0 46px; }
  .page-events [data-block="events-themed"] { padding-top: 20px; padding-bottom: 0; }  
  .page-events [data-block="events-package"] { padding-top: 20px; }
  .package-banner { position: relative; height: 1678px; padding: 0 !important; overflow: hidden; }
  .package-banner > * { position: absolute; left: 0; right: 0; margin: 0 !important; z-index: 2; }
  .package-banner .package-decor-wrap { inset: 0; z-index: 0; }
  .package-decor-overlay { display: block; position: static; width: 100%; height: auto; }  
  .package-banner__head { top: 91px; }
  .package-banner__eyebrow { font-size: 18px; line-height: 24px; margin: 0 0 4px !important; }
  .package-banner__title { font-size: 42px; line-height: 55px; margin: 0 0 17px !important; }
  .package-banner__price { display: inline-block; width: 152px; height: 48px; padding: 11px 0; line-height: 26px; border-radius: 30px; }
  .package-banner__label { line-height: 26px; }
  .package-banner__label--includes { top: 269px; }
  .package-banner__label--extras { top: 721px; }
  .package-banner__row--includes { top: 315px; }
  .package-banner__row--extras { top: 767px; }
  .package-banner .package-list-card { display: block; position: relative; width: 225px; margin: 0 auto !important; border-radius: 10px; overflow: visible; }  
  .package-banner__row--includes .package-list-card { height: 376px; }
  .package-banner__row--extras .package-list-card { height: 700px; }
  .package-banner .package-list-item { position: absolute; left: 0; right: 0; width: auto; min-width: 0; padding: 0; border: 0; display: block; text-align: center; }
  .package-banner .package-list-item + .package-list-item::before { content: ""; position: absolute; left: 34px; width: 157px; height: 1px; background: #ede6de; }
  .package-banner .package-list-item img { position: absolute; margin: 0; object-fit: contain; }
  .package-banner .package-list-item strong { position: absolute; left: 0; right: 0; font-size: 20px; font-weight: 500; line-height: 26px; }
  .package-banner .package-list-item span { position: absolute; left: 0; right: 0; font-size: var(--fs-text-16); line-height: 21px; opacity: 1; margin: 0; }
  .package-banner__row--includes .package-list-item:nth-child(1) { top: 0; }
  .package-banner__row--includes .package-list-item:nth-child(1) img { left: 71px; top: 13px; width: 84px; height: 84px; }
  .package-banner__row--includes .package-list-item:nth-child(1) strong { top: 97px; }
  .package-banner__row--includes .package-list-item:nth-child(1) span { top: 131px; padding: 0 29px; }
  .package-banner__row--includes .package-list-item:nth-child(2) { top: 193px; }
  .package-banner__row--includes .package-list-item:nth-child(2)::before { top: 5px; }
  .package-banner__row--includes .package-list-item:nth-child(2) img { left: 61px; top: 0; width: 104px; height: 109px; }
  .package-banner__row--includes .package-list-item:nth-child(2) strong { top: 105px; }
  .package-banner__row--includes .package-list-item:nth-child(2) span { top: 139px; }
  .package-banner__row--extras .package-list-item:nth-child(1) { top: 0; }
  .package-banner__row--extras .package-list-item:nth-child(1) img { left: 48px; top: 19px; width: 138px; height: 73px; }
  .package-banner__row--extras .package-list-item:nth-child(1) strong { top: 92px; }
  .package-banner__row--extras .package-list-item:nth-child(1) span { top: 126px; }
  .package-banner__row--extras .package-list-item:nth-child(2) { top: 163px; }
  .package-banner__row--extras .package-list-item:nth-child(2)::before { top: 10px; }
  .package-banner__row--extras .package-list-item:nth-child(2) img { left: 56px; top: 0; width: 121px; height: 118px; }
  .package-banner__row--extras .package-list-item:nth-child(2) strong { top: 102px; }
  .package-banner__row--extras .package-list-item:nth-child(2) span { top: 136px; }
  .package-banner__row--extras .package-list-item:nth-child(3) { top: 346px; }
  .package-banner__row--extras .package-list-item:nth-child(3)::before { top: 0; }
  .package-banner__row--extras .package-list-item:nth-child(3) img { left: 45px; top: 0; width: 129px; height: 100px; }
  .package-banner__row--extras .package-list-item:nth-child(3) strong { top: 88px; }
  .package-banner__row--extras .package-list-item:nth-child(3) span { top: 122px; }
  .package-banner__row--extras .package-list-item:nth-child(4) { top: 507px; }
  .package-banner__row--extras .package-list-item:nth-child(4)::before { top: 8px; }
  .package-banner__row--extras .package-list-item:nth-child(4) img { left: 39px; top: 0; width: 141px; height: 116px; }
  .package-banner__row--extras .package-list-item:nth-child(4) strong { top: 105px; }
  .package-banner__row--extras .package-list-item:nth-child(4) span { top: 139px; }
  .package-banner__cta { top: 1568px; }
  .party-form-section { display: flex; flex-direction: column; gap: 0; }
  .party-form-intro { display: contents; }
  .party-form-intro h2 { order: 1; margin: 0 0 20px; }
  .party-form-intro p { order: 2; max-width: 341px; margin: 0 0 46px; font-size: var(--fs-text-18); }  
  .party-form-card { order: 3; height: 845px; padding: 30px 20px; }
  .party-form-card form { gap: 16px; }
  .party-form-card .pill-input { width: 303px; height: 65px; padding: 0 18px; border: 0; background: #fff; }
  .party-form-card textarea.pill-input { padding-top: 22px; }
  .party-form-consent { width: 298px; gap: 16px; }
  .party-form-consent input[type="checkbox"] { width: 18px; height: 18px; margin-top: 4px; }
  .party-form-card .btn-block { width: 298px; margin-top: 30px; }
  .party-form-illustration { order: 4; position: relative; z-index: 1; width: 278px; height: 277px; max-width: none; margin: -309px 0 32px 33px; }  
  section[data-block="team-hero"] { padding-top: 0; }
  [data-block="team-hero"] .hero-banner.hero-banner-split { padding: 70px 20px 70px; gap: 0; align-items: stretch; }
  [data-block="team-hero"] .hero-split-text { flex: 0 0 auto; }
  [data-block="team-hero"] .hero-split-text h1 { font-size: 24px; line-height: 31px; width: 311px; max-width: none; margin: 0 0 20px; }
  [data-block="team-hero"] .hero-split-text .lead { font-size: var(--fs-text-16); line-height: 21px; width: 312px; max-width: none; margin: 0 0 46px; }
  [data-block="team-hero"] .hero-banner.hero-banner-split .btn-row { flex-direction: column; align-items: center; gap: 16px; }
  [data-block="team-hero"] .hero-split-photo { display: block; width: 292px !important; max-width: none !important; height: 194px; aspect-ratio: auto !important; margin: 26px auto 0; }
  [data-block="team-hero"] .hero-split-circle { display: block; }
  [data-block="team-hero"] .hero-split-circle:nth-of-type(1) { left: 216px !important; top: 604px !important; width: 175px !important; }
  [data-block="team-hero"] .hero-split-circle:nth-of-type(2) { left: -13px !important; top: -21px !important; width: 183px !important; }
  .team-how-graphics { display: block; width: 87px; height: 88px; right: -34px; top: 85px; }
  .team-how-heading { margin: 0 0 46px; max-width: none; }
  .team-how-heading h2 { margin: 0 0 23px 16px; }
  .team-how-heading p { max-width: 312px; margin: 0 0 0 7px; }
  .team-how-cards { display: grid; grid-template-columns: 1fr; gap: 20px; height: auto; }
  .team-how-cards .team-how-card { position: relative; display: block; height: 300px; min-height: 0; padding: 0; border-radius: 20px; }
  .team-how-cards .team-how-card h3 { position: absolute; left: 12px; right: 12px; top: 93px; margin: 0; font-size: 23px; font-weight: 500; }
  .team-how-cards .team-how-card p { position: absolute; left: 26px; right: 26px; top: 143px; margin: 0; }
  .team-how-card:nth-child(3) h3 { top: 104px; }
  .team-how-card:nth-child(3) p { top: 154px; }
  .team-list-heading { margin-bottom: 46px; max-width: none; }
  .team-director { display: block; position: relative; text-align: left; padding: 23px 23px 40px; min-height: 451px; margin-bottom: 20px; gap: 0; }
  .director-photo, .director-photo::before, .director-photo img { width: 116px; height: 116px; }
  .director-photo { position: absolute; left: 23px; top: 23px; }
  .director-photo::before { left: 0; top: 0; }
  .director-photo img { border: 0; }
  .director-body { padding: 31px 0 0 134px; margin-right: -23px; min-height: 116px; }  
  .card .director-body .team-card__name { font-size: var(--fs-text-16); line-height: 21px; margin: 0 0 8px; }
  .director-body > .tag-badge { margin: 0; }
  .card p.director-body__desc { font-size: var(--fs-text-14); line-height: 18px; max-width: 314px; margin: 49px 0 0 -134px; }  
  .director-quote { font-size: var(--fs-text-14); line-height: 18px; max-width: 312px; padding: 0 0 0 27px; margin: 18px 0 0 -134px; }
  .director-quote::before, .director-quote::after { width: 20px; height: 20px; }
  .director-quote::before { left: 0; top: 0; }
  .director-quote::after { right: -34px; bottom: -20px; }
  .team-grid-3 { display: flex; align-items: flex-start; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .team-grid-3::-webkit-scrollbar { display: none; }
  .card.team-card { flex: 0 0 343px; width: 343px; padding: 16px 16px 41px; min-height: 288px; scroll-snap-align: start; }
  .team-card__head { padding-top: 20px; margin-bottom: 19px; }
  .team-card__photo { margin-top: 3px; }
  .team-more-btn { padding-top: 20px; }
  .final-cta--team { padding-bottom: 36px; }
  .final-cta--team h2 { max-width: 275px; }
  .final-cta--team p { max-width: 293px; }
  .final-cta--team .final-cta-photo { margin-top: 46px; }
  .final-cta--team .final-cta-circle { left: -52px; top: 189px; }
  section[data-block="contacts-hero"] { padding: 54px 16px 46px; }
  [data-block="contacts-info"] { padding-top: 0; }
  .contacts-hero__title { left: 0; width: 362px; max-width: none; font-size: 26px; line-height: 34px; margin: 0 0 20px calc((100% - 362px) / 2 + 3.5px); }  
  .contacts-hero__lead { left: 0; width: 363px; max-width: none; font-size: var(--fs-text-16); margin: 0 0 0 calc((100% - 363px) / 2 + 1px); }  
  .contacts-grid { grid-template-columns: minmax(0, 1fr); }  
  .contacts-card { padding: 46px 33px; }
  .contacts-card--info { padding-right: 33px; }
  .contacts-card__title { font-size: 24px; margin-bottom: 20px; }
  .contact-row, .contact-row--hours { gap: 13px; margin-bottom: 20px; }
  .contact-icon { width: 60px; height: 60px; }
  .contact-value { font-size: var(--fs-text-16); line-height: 21px; }
  .contact-label { margin-bottom: 6px; }
  .contact-actions { flex-direction: column; align-items: center; gap: 20px; margin-top: 46px; }
  .contact-actions__call { margin-top: 0; }
  .contacts-card--form form { gap: 16px; }
  .contacts-card .pill-input { width: 293px; height: 65px; padding: 0 17px; }
  .contacts-card textarea.pill-input { padding-top: 22px; }
  .contacts-card .party-form-consent { width: 298px; gap: 16px; }
  .contacts-card .party-form-consent input[type="checkbox"] { width: 18px; height: 18px; margin-top: 4px; }
  .contacts-card .btn-block { width: 288px; margin-top: 4px; }
  .contacts-card__note { width: 264px; margin: 4px 0 0; }
  .contacts-map__title { margin-bottom: 20px; }
  .contacts-map__address { font-size: var(--fs-text-16); line-height: 21px; max-width: 264px; margin: 0 0 46px -2px; }
  .contacts-map-grid { gap: 20px; }
  .contacts-map__photo { width: 277px; aspect-ratio: 277 / 204; }
  .contacts-map__photo--facade { width: 276px; aspect-ratio: 276 / 203; }
  .contacts-map__photo--facade img { width: 132.9%; left: -12.3%; top: -10.3%; }  
  .contacts-map { display: flex; flex-direction: column; align-items: flex-start; }
  .contacts-map__route { display: flex; position: static; order: 10; margin: 46px auto 0; }
  .contacts-map-grid { width: 100%; }
  .app-promo__text { padding-top: 0; }
  .app-promo__title { max-width: 293px; margin-bottom: 20px; }
  .app-promo__lead { max-width: 322px; margin-bottom: 46px; }
  .app-pills-title { font-size: 20px; margin-bottom: 20px; }
  .app-promo .app-pills { gap: 16px; margin-bottom: 20px; width: auto; }
  .app-badges { gap: 16px; }
  .app-promo-img { width: 342px; max-width: none; height: 274px; aspect-ratio: auto; object-fit: cover; object-position: 50% 0; margin: -26px 0 0 1px; justify-self: start; }  
}
