<!doctype html>
<html lang="ru">
<head>
<meta charset="utf-8" />
<!-- Resource hints: DNS prefetch for all third-party origins -->
<link rel="dns-prefetch" href="https://mc.yandex.ru" />
<link rel="dns-prefetch" href="https://yandex.ru" />
<link rel="dns-prefetch" href="https://www.googletagmanager.com" />
<link rel="dns-prefetch" href="https://www.google-analytics.com" />
<link rel="dns-prefetch" href="https://fonts.googleapis.com" />
<link rel="dns-prefetch" href="https://fonts.gstatic.com" />
<link rel="preconnect" href="https://mc.yandex.ru" crossorigin />
<!-- Google Tag Manager: загружается после согласия на cookies (loadGTM) -->
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
<meta name="theme-color" content="#0ABAB5" />
<!-- Security headers as meta equivalents -->
<meta http-equiv="X-Content-Type-Options" content="nosniff" />
<meta http-equiv="X-Frame-Options" content="SAMEORIGIN" />
<meta http-equiv="Referrer-Policy" content="strict-origin-when-cross-origin" />
<!-- Robots: index all, follow all links -->
<meta name="robots" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1" />
<!-- Preload critical font subset to improve LCP -->
<link rel="preload" as="style" href="https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Manrope:wght@300;400;500;600;700;800&family=Caveat:wght@400;600;700&display=swap" />
<link rel="preload" as="image" href="hero-bg.jpg" fetchpriority="high" />
<title>Танцы для детей 3–14 лет · Суханово · Видное · Татьянин День — Топ-100 в России</title>
<meta name="description" content="Детский театр танца «Татьянин День» в ЖК «Суханово Парк» (Ленинский округ, Видное). Эстрадные танцы, классика, акробатика, умный фитнес. Дети 3–14 лет. Топ-100 лучших хореографических коллективов России. Первый урок бесплатно — записывайтесь!" />
<meta property="og:title" content="Танцы для детей 3–14 лет · Татьянин День · Суханово Парк" />
<meta property="og:description" content="Топ-100 лучших хореографических коллективов России. Эстрадный танец, классика, акробатика для детей. Первый урок — бесплатно." />
<meta property="og:image" content="https://tatianinden.ru/hero-bg.jpg" />
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />
<meta property="og:url" content="https://tatianinden.ru/" />
<meta property="og:type" content="website" />
<meta property="og:locale" content="ru_RU" />
<meta property="og:site_name" content="Татьянин День" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="Танцы для детей 3–14 лет · Татьянин День · Суханово Парк" />
<meta name="twitter:description" content="Топ-100 лучших хореографических коллективов России. Эстрадный танец, классика, акробатика для детей. Первый урок — бесплатно." />
<meta name="twitter:image" content="https://tatianinden.ru/hero-bg.jpg" />
<meta property="og:image:type" content="image/jpeg" />
<meta property="og:image:alt" content="Воспитанницы детского театра танца «Татьянин День» на сцене" />
<link rel="canonical" href="https://tatianinden.ru/" />
<link rel="alternate" hreflang="ru" href="https://tatianinden.ru/" />
<link rel="alternate" hreflang="x-default" href="https://tatianinden.ru/" />

<!-- «Аналитика и SEO — чеклист подключения.md» в этой же папке.    -->
<!-- Яндекс.Вебмастер: вставьте <meta name="yandex-verification" content="КОД" /> -->
<!-- Google Search Console: вставьте <meta name="google-site-verification" content="КОД" /> -->
<!-- Mail.ru / VK Аналитика: код подтверждения, если будете подключать -->
<!-- <meta name="mailru-verification" content="ВАШ_КОД" /> -->

<!-- Favicon (положите файлы в корень) -->
<link rel="icon" type="image/x-icon" href="/favicon.ico" />
<link rel="apple-touch-icon" href="/apple-touch-icon.png" />

<!-- Sitemap для краулеров -->
<link rel="sitemap" type="application/xml" href="/sitemap.xml" />

<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<!-- font-display:swap is set in the Google Fonts URL via &display=swap -->
<link href="https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Manrope:wght@300;400;500;600;700;800&family=Caveat:wght@400;600;700&display=swap" rel="stylesheet" />

<!-- Schema.org structured data: DanceSchool organization -->
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "DanceSchool",
  "name": "Детский театр танца «Татьянин День»",
  "alternateName": "Татьянин День",
  "description": "Детский театр танца для детей 3–14 лет в ЖК «Суханово Парк» (Ленинский округ, Видное). Эстрадный танец, классика, современная хореография, акробатика, умный фитнес для взрослых. Топ-100 лучших хореографических коллективов России.",
  "image": [
    "https://tatianinden.ru/logo.jpg",
    "https://tatianinden.ru/hero-bg.jpg",
    "https://tatianinden.ru/zvezda1.jpeg",
    "https://tatianinden.ru/zvezda2.jpg"
  ],
  "logo": {
    "@type": "ImageObject",
    "url": "https://tatianinden.ru/logo.jpg",
    "width": 512,
    "height": 512
  },
  "telephone": "+7-963-671-99-83",
  "url": "https://tatianinden.ru/",
  "priceRange": "₽₽",
  "currenciesAccepted": "RUB",
  "paymentAccepted": "Cash, Bank Transfer",
  "knowsLanguage": "ru",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "ЖК «Суханово Парк»",
    "addressLocality": "Суханово",
    "addressRegion": "Московская область",
    "postalCode": "142702",
    "addressCountry": "RU"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 55.555,
    "longitude": 37.609
  },
  "hasMap": "https://yandex.ru/profile/108175150878",
  "areaServed": [
    {"@type":"City","name":"Видное"},
    {"@type":"City","name":"Суханово"},
    {"@type":"Place","name":"Ленинский городской округ"},
    {"@type":"Place","name":"Развилка"},
    {"@type":"Place","name":"Расторгуево"},
    {"@type":"Place","name":"Бутово"},
    {"@type":"Place","name":"Дроздово"}
  ],
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.5",
    "reviewCount": "11",
    "bestRating": "5",
    "worstRating": "1"
  },
  "openingHoursSpecification": [{
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],
    "opens": "16:00",
    "closes": "21:00"
  }],
  "sameAs": [
    "https://yandex.ru/profile/108175150878",
    "https://t.me/+79636719983",
    "https://max.ru/u/f9LHodD0cOICny7_4ueVCXgFmHiWYBfMGbfaAM8uDY3EgFRawpyVXuzBn3Y",
    "https://rutube.ru/channel/38794454/"
  ],
  "founder": {
    "@type": "Person",
    "name": "Гурьянова Татьяна Ивановна",
    "jobTitle": "Художественный руководитель и основатель"
  },
  "employee": [
    {
      "@type": "Person",
      "name": "Гурьянова Анжелика Вадимовна",
      "jobTitle": "Хореограф-постановщик"
    },
    {
      "@type": "Person",
      "name": "Симонова Варвара Георгиевна",
      "jobTitle": "Хореограф-педагог"
    },
    {
      "@type": "Person",
      "name": "Потапова Дарья Владимировна",
      "jobTitle": "Хореограф-педагог"
    }
  ],
  "foundingDate": "2014",
  "award": [
    "Топ-100 лучших хореографических коллективов России",
    "Неоднократные обладатели премии Гран-при международных и отечественных хореографических конкурсов и фестивалей",
    "Многократные лауреаты первой степени всероссийских и международных хореографических конкурсов"
  ]
}
</script>

<!-- Schema.org structured data: FAQ -->
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Есть ли пробное занятие?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Да, первое занятие — бесплатное. Это знакомство с педагогом, залом и коллективом, без обязательств. Записаться можно через форму на сайте, по телефону или в Telegram."
      }
    },
    {
      "@type": "Question",
      "name": "С какого возраста можно отдавать ребёнка на танцы?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Наши группы рассчитаны на детей 3–14 лет. Для каждого возраста — своя нагрузка, формат, длительность и программа. Для взрослых есть направление «Умный фитнес»."
      }
    },
    {
      "@type": "Question",
      "name": "Берёте ли детей без подготовки?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Конечно! В любую группу можно прийти «с нуля». Мы поэтапно развиваем технику, гибкость и физические данные — каждый ребёнок раскрывается в своём темпе."
      }
    },
    {
      "@type": "Question",
      "name": "В чём приходить на занятие?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Подойдёт любая спортивная одежда и носки. Волосы лучше собрать, чтобы не мешали. По мере занятий педагог подскажет, какая танцевальная форма понадобится дальше."
      }
    },
    {
      "@type": "Question",
      "name": "Сколько стоят занятия?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Единая стоимость на все виды детских групп — 9 000 рублей в месяц (группы «Звёздочки», «Премьера», «Бенефис»). Умный фитнес для взрослых — 8 500 рублей в месяц. Первое занятие — бесплатно. Есть подарочные сертификаты. Оплата производится ежемесячно в соответствии с договором об оказании платных образовательных услуг."
      }
    },
    {
      "@type": "Question",
      "name": "Где проходят отчётные концерты?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Наши воспитанники выступают на всероссийских и международных хореографических конкурсах и фестивалях — «Гордость Страны», «Танцевальный Олимп», «Звёздный дождь» и других. Помимо конкурсной деятельности, большие отчётные концерты проходят на профессиональных концертных площадках Ленинского округа."
      }
    },
    {
      "@type": "Question",
      "name": "Есть ли подарочные сертификаты?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Да, можно подарить ребёнку или другу абонемент на занятия — отличный подарок на день рождения или праздник."
      }
    }
  ]
}
</script>

<style>
  :root{
    /* Brand palette */
    --tiffany:        #0ABAB5;
    --tiffany-light:  #7FE0DC;
    --tiffany-soft:   #D7F5F3;
    --tiffany-deep:   #06877F;

    --pink:           #FF6FA9;
    --pink-soft:      #FFD6E8;
    --pink-cloud:     #FFEAF3;
    --pink-deep:      #D44A85;

    --gold:           #C9A961;
    --gold-light:     #E8CF8E;
    --gold-deep:      #9A7E3D;

    --white:          #FFFFFF;
    --cream:          #FFFBF6;
    --paper:          #FBF7F2;

    --ink:            #1B1B2E;
    --ink-soft:       #4A4A5E;
    --ink-mute:       #8A8A9C;

    /* Type */
    --display: "Cormorant Garamond", "Times New Roman", serif;
    --body:    "Manrope", -apple-system, "Segoe UI", sans-serif;
    --script:  "Caveat", "Brush Script MT", cursive;

    /* Layout */
    --container: 1440px;
    --radius-sm: 12px;
    --radius:    20px;
    --radius-lg: 32px;

    /* Shadows */
    --shadow-soft: 0 10px 30px -12px rgba(10,186,181,.18), 0 6px 18px -10px rgba(255,111,169,.12);
    --shadow-md:   0 20px 50px -20px rgba(27,27,46,.18);
    --shadow-gold: 0 18px 40px -18px rgba(201,169,97,.45);
  }

  /* ==================== ACCESSIBILITY ==================== */
  .skip-link {
    position: absolute;
    top: -100px;
    left: 16px;
    background: var(--tiffany);
    color: #fff;
    padding: 10px 18px;
    border-radius: 0 0 8px 8px;
    font-weight: 700;
    font-size: 15px;
    z-index: 9999;
    transition: top 0.2s;
    text-decoration: none;
  }
  .skip-link:focus {
    top: 0;
    outline: 3px solid var(--gold);
    outline-offset: 2px;
  }
  /* Focus-visible styles for keyboard navigation */
  :focus-visible {
    outline: 3px solid var(--tiffany);
    outline-offset: 3px;
    border-radius: 4px;
  }

  /* ==================== PERFORMANCE ==================== */
  /* content-visibility: auto defers rendering of off-screen sections,
     improving LCP and FID by reducing initial render work */
  .video-section, .about, .advantages, .programs, .teachers, .disciplines,
  .summer, .fitness, .achievements, .gallery, .reviews,
  .faq, .cta-block, .blog-teaser, .contacts {
    content-visibility: auto;
    contain-intrinsic-size: 0 600px;
  }
  /* GPU-accelerate animated elements only — not all transforms */
  .hero-bg-img { will-change: transform; }
  .btn-primary, .adv-card, .prog-card, .teacher-card { will-change: transform; }
  /* Smooth image rendering */
  img { image-rendering: -webkit-optimize-contrast; }

  *{box-sizing:border-box}
  html{scroll-behavior:smooth; scroll-padding-top:110px}
  @media (max-width:960px){html{scroll-padding-top:90px}}
  body{
    margin:0;
    font-family:var(--body);
    color:var(--ink);
    background:var(--cream);
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
    overflow-x:hidden;
  }
  img{max-width:100%; display:block}
  a{color:inherit; text-decoration:none}
  button{font-family:inherit; cursor:pointer; border:none; background:none}

  .container{
    width:min(100% - 40px, var(--container));
    margin-inline:auto;
    position:relative;
    z-index:2;
  }

  /* ==================== TYPOGRAPHY ==================== */
  .eyebrow{
    display:inline-flex; align-items:center; gap:10px;
    font-family:var(--body);
    font-weight:600;
    font-size:13px;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:var(--tiffany-deep);
  }
  .eyebrow::before{
    content:""; width:32px; height:1px;
    background:linear-gradient(90deg, transparent, var(--gold));
  }
  .eyebrow.center::before, .eyebrow.center::after{
    content:""; width:32px; height:1px;
    background:linear-gradient(90deg, transparent, var(--gold), transparent);
  }
  .eyebrow.center{justify-content:center}

  h1, h2, h3{
    font-family:var(--display);
    font-weight:500;
    line-height:1.05;
    letter-spacing:-.01em;
    margin:0 0 24px;
    color:var(--ink);
  }
  h1{font-size:clamp(48px, 7vw, 92px); font-weight:500}
  h2{font-size:clamp(34px, 4.5vw, 56px); font-weight:500}
  h3{font-size:clamp(22px, 2.4vw, 30px); font-weight:600; line-height:1.2}
  h2 em, h1 em{
    font-style:italic;
    font-family:var(--display);
    background:linear-gradient(120deg, var(--pink) 0%, var(--gold) 60%, var(--tiffany) 100%);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
    font-weight:500;
  }
  .script{
    font-family:var(--script);
    font-weight:600;
    color:var(--pink-deep);
    font-size:1.4em;
    line-height:1;
  }
  p{line-height:1.65; color:var(--ink-soft); margin:0 0 16px; font-size:17px}
  .lead{font-size:19px; color:var(--ink-soft)}

  /* ==================== BUTTONS ==================== */
  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:10px;
    padding:16px 28px;
    min-height:48px; /* WCAG 2.5.5 touch target minimum */
    border-radius:999px;
    font-weight:600;
    font-size:15px;
    letter-spacing:.01em;
    transition:all .35s cubic-bezier(.2,.7,.3,1);
    white-space:nowrap;
    position:relative;
    overflow:hidden;
  }
  .btn-primary{
    background:linear-gradient(135deg, var(--tiffany) 0%, var(--pink) 110%);
    color:#fff;
    box-shadow:0 14px 30px -12px rgba(10,186,181,.55), 0 8px 20px -10px rgba(255,111,169,.5);
  }
  .btn-primary:hover{transform:translateY(-2px); box-shadow:0 20px 40px -14px rgba(10,186,181,.7), 0 12px 24px -10px rgba(255,111,169,.6)}
  .btn-primary::after{
    content:""; position:absolute; inset:0;
    background:linear-gradient(120deg, transparent 30%, rgba(255,255,255,.35) 50%, transparent 70%);
    transform:translateX(-100%);
    transition:transform .8s cubic-bezier(.2,.7,.3,1);
  }
  .btn-primary:hover::after{transform:translateX(100%)}

  .btn-ghost{
    background:transparent;
    color:var(--ink);
    border:1.5px solid rgba(27,27,46,.18);
    backdrop-filter:blur(8px);
  }
  .btn-ghost:hover{border-color:var(--tiffany); color:var(--tiffany-deep); background:var(--tiffany-soft)}

  .btn-gold{
    background:linear-gradient(135deg, #E8CF8E 0%, #C9A961 100%);
    color:#fff;
    box-shadow:var(--shadow-gold);
  }
  .btn-gold:hover{transform:translateY(-2px)}

  .btn-rutube{
    background:linear-gradient(135deg, #1F1B2E 0%, #2E2D45 100%);
    color:#fff;
    box-shadow:0 14px 30px -12px rgba(27,27,46,.6);
    border:1px solid rgba(201,169,97,.25);
  }
  .btn-rutube:hover{
    transform:translateY(-2px);
    box-shadow:0 18px 36px -12px rgba(27,27,46,.75);
  }
  .btn-rutube svg{color:#FF4F4F}

  .about-cta{display:flex; gap:14px; flex-wrap:wrap; align-items:center}

  .btn-lg{padding:20px 36px; font-size:16px}

  /* ==================== HEADER ==================== */
  header.nav{
    position:fixed; top:0; left:0; right:0; z-index:50;
    padding:10px 0;
    background:#FFFFFF;
    border-bottom:1px solid rgba(27,27,46,.06);
    box-shadow:0 2px 16px -10px rgba(27,27,46,.15);
    transition:padding .3s ease, box-shadow .3s ease;
  }
  header.nav.scrolled{
    padding:8px 0;
    box-shadow:0 6px 24px -14px rgba(27,27,46,.2);
  }
  .nav-row{
    display:flex; align-items:center; justify-content:space-between; gap:24px;
    min-height:88px;
  }
  .logo{
    display:flex; align-items:center; gap:18px;
    color:var(--ink);
    line-height:1.1;
  }
  .logo-img{
    width:88px; height:88px;
    object-fit:contain;
    object-position:center 38%;
    border-radius:50%;
    transition:transform .4s ease;
  }
  .logo:hover .logo-img{transform:rotate(-4deg) scale(1.05)}
  .logo-text{display:flex; flex-direction:column; gap:3px}
  .logo-text strong{
    font-family:var(--display);
    font-size:28px;
    font-weight:600;
    color:#1B2A4E;
    line-height:1;
    letter-spacing:.005em;
  }
  .logo-text small{
    font-family:var(--body);
    font-size:12px;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:var(--ink-mute);
    font-weight:500;
    margin-top:6px;
  }
  @media (max-width:960px){
    .logo-img{width:64px; height:64px}
    .logo-text strong{font-size:22px}
    .logo-text small{font-size:11px}
    .nav-row{min-height:72px}
  }
  @media (max-width:560px){
    .logo-img{width:52px; height:52px}
    .logo-text strong{font-size:18px}
    .logo-text small{font-size:10px}
  }

  nav.menu{display:flex; gap:28px; align-items:center; white-space:nowrap}
  nav.menu a{
    font-size:15.5px;
    font-weight:600;
    color:var(--ink-soft);
    transition:color .25s;
    position:relative;
    padding:6px 2px;
    white-space:nowrap;
  }
  nav.menu a:hover{color:var(--tiffany-deep)}
  nav.menu a::after{
    content:""; position:absolute; left:0; right:0; bottom:-6px;
    height:2px; background:var(--gold); border-radius:2px;
    transform:scaleX(0); transform-origin:left;
    transition:transform .3s;
  }
  nav.menu a:hover::after{transform:scaleX(1)}
  nav.menu a.nav-blog{
    color:var(--gold-deep);
    font-weight:700;
    position:relative;
  }
  nav.menu a.nav-blog::before{
    content:"✦";
    color:var(--gold);
    margin-right:5px;
    font-size:.85em;
  }

  .nav-actions{display:flex; align-items:center; gap:18px; white-space:nowrap}
  .nav-phone{font-weight:700; font-size:16px; color:var(--ink); letter-spacing:.01em; white-space:nowrap; min-height:44px; display:inline-flex; align-items:center; padding:4px 8px; border-radius:8px;}
  .nav-phone:hover{color:var(--tiffany-deep)}

  .burger{display:none; width:40px; height:40px; border-radius:50%; background:var(--white); box-shadow:var(--shadow-soft)}
  .burger span{display:block; width:18px; height:1.5px; background:var(--ink); margin:4px auto; transition:all .3s}

  @media (max-width:1300px){
    nav.menu{gap:22px}
    nav.menu a{font-size:14px}
  }
  @media (max-width:1100px){
    nav.menu{display:none}
    .nav-actions .nav-phone{display:none}
    .burger{display:block}
    nav.menu.open{
      display:flex; flex-direction:column;
      position:fixed; top:96px; left:16px; right:16px;
      background:var(--white);
      padding:22px 24px;
      border-radius:22px;
      box-shadow:var(--shadow-md);
      gap:16px; align-items:flex-start;
      max-height:calc(100vh - 120px);
      overflow-y:auto;
    }
    nav.menu.open a{font-size:17px; padding:8px 0}
  }

  /* ==================== HERO ==================== */
  .hero{
    position:relative;
    padding:160px 0 120px;
    overflow:hidden;
    isolation:isolate;
    background:linear-gradient(180deg, var(--cream) 0%, var(--paper) 100%);
  }
  @media (max-width:960px){
    .hero{padding:130px 0 80px}
  }
  @media (max-width:560px){
    .hero{padding:110px 0 80px}
  }
  /* Layered background image (set on .hero-bg-img) */
  .hero-bg-img{
    position:absolute;
    inset:0;
    z-index:-2;
    background-image:url("https://avatars.mds.yandex.net/get-altay/16457969/2a0000019bcb663ded5634513018c55517a4/XXL_height");
    background-size:cover;
    background-position:center 45%;
    background-repeat:no-repeat;
    opacity:.55;
    filter:saturate(1.08) contrast(1.02);
    animation:heroZoom 28s ease-in-out infinite alternate;
  }
  /* Asymmetric overlay: heavy cream wash on the left (text), photo shines on the right */
  .hero-bg-overlay{
    position:absolute;
    inset:0;
    z-index:-1;
    background:
      linear-gradient(95deg, rgba(255,251,246,.96) 0%, rgba(255,251,246,.88) 35%, rgba(255,251,246,.55) 55%, rgba(255,251,246,.18) 75%, transparent 100%),
      radial-gradient(ellipse at 85% 10%, var(--pink-cloud) 0%, transparent 35%),
      radial-gradient(ellipse at 90% 95%, var(--tiffany-soft) 0%, transparent 40%);
  }
  /* Soft vignette so edges fade to the page background */
  .hero::before{
    content:""; position:absolute; inset:0; z-index:-1;
    pointer-events:none;
    background:linear-gradient(180deg, transparent 0%, transparent 85%, var(--paper) 100%);
  }
  @keyframes heroZoom{
    0%{transform:scale(1.0) translateY(0)}
    100%{transform:scale(1.08) translateY(-14px)}
  }
  @media (max-width:960px){
    .hero-bg-img{opacity:.35; background-position:center 55%}
    .hero-bg-overlay{
      background:
        radial-gradient(ellipse at 85% 15%, var(--pink-cloud) 0%, transparent 45%),
        radial-gradient(ellipse at 12% 85%, var(--tiffany-soft) 0%, transparent 50%),
        linear-gradient(180deg, rgba(255,251,246,.85) 0%, rgba(255,251,246,.78) 60%, rgba(255,251,246,.7) 100%);
    }
  }
  .hero-grid{
    display:grid;
    grid-template-columns: 1.05fr .95fr;
    gap:70px;
    align-items:center;
  }
  .hero-tags{
    display:flex; gap:10px; flex-wrap:wrap;
    margin-bottom:22px;
  }
  .tag{
    display:inline-flex; align-items:center; gap:8px;
    padding:8px 16px;
    border-radius:999px;
    background:rgba(255,255,255,.92);
    backdrop-filter:blur(10px);
    border:1px solid rgba(10,186,181,.25);
    font-size:13px;
    font-weight:600;
    color:#1B2A4E;
    box-shadow:0 4px 14px -8px rgba(27,27,46,.25);
  }
  .tag-dot{width:6px; height:6px; border-radius:50%; background:var(--gold)}

  .hero h1{margin-bottom:28px}
  .hero-kicker{
    display:inline-flex;
    align-items:center;
    gap:18px;
    font-family:var(--display);
    font-style:italic;
    font-size:clamp(28px, 3.4vw, 44px);
    font-weight:600;
    line-height:1.1;
    letter-spacing:.01em;
    text-transform:none;
    color:#1B2A4E;
    margin-bottom:18px;
    text-shadow:0 2px 12px rgba(255,255,255,.85);
  }
  .hero-kicker::before,
  .hero-kicker::after{
    content:"";
    flex:0 0 auto;
    width:36px; height:1px;
    background:linear-gradient(90deg, transparent, var(--gold));
  }
  .hero-kicker::after{background:linear-gradient(90deg, var(--gold), transparent)}
  @media (max-width:640px){
    .hero-kicker{display:block; font-size:24px}
    .hero-kicker::before, .hero-kicker::after{display:none}
  }
  .hero-brand{
    font-family:var(--display);
    font-weight:700;
    font-size:clamp(72px, 11vw, 148px);
    line-height:.88;
    letter-spacing:-.02em;
    text-transform:uppercase;
    margin:0 0 18px;
  }
  .hero-brand em{
    font-style:italic;
    font-weight:700;
    color:#1B2A4E;
    display:inline-block;
    text-shadow:
      0 2px 4px rgba(255,255,255,.9),
      0 4px 24px rgba(255,255,255,.7),
      0 8px 32px rgba(255,255,255,.4);
  }
  .hero-loc{
    display:inline-block;
    font-family:var(--display);
    font-style:italic;
    font-size:clamp(20px, 2.2vw, 28px);
    font-weight:600;
    color:#1B2A4E;
    margin-bottom:22px;
    padding:8px 22px;
    border:1.5px solid var(--gold);
    border-radius:999px;
    background:rgba(255,255,255,.92);
    backdrop-filter:blur(8px);
    box-shadow:0 6px 18px -10px rgba(27,27,46,.2);
  }
  .hero-slogan{
    font-family:var(--script);
    font-size:clamp(36px, 5vw, 64px);
    line-height:.95;
    color:var(--pink-deep);
    margin:0 0 16px;
    transform:rotate(-2deg);
    display:inline-block;
    text-shadow:0 2px 12px rgba(255,255,255,.85);
  }
  .hero-slogan .gold{color:var(--gold-deep)}

  .hero-sub{
    font-size:19px;
    line-height:1.55;
    color:var(--ink);
    max-width:520px;
    margin:0 0 36px;
    text-shadow:0 1px 8px rgba(255,255,255,.7);
  }
  .hero-sub strong{color:#1B2A4E; font-weight:700}

  .hero-cta{display:flex; gap:14px; flex-wrap:wrap; align-items:center}
  .hero-trust{
    display:flex; gap:24px;
    margin-top:48px;
    padding-top:28px;
    border-top:1px solid rgba(27,27,46,.08);
    flex-wrap:wrap;
  }
  .trust-item{display:flex; flex-direction:column; gap:4px}
  .trust-num{
    font-family:var(--display);
    font-size:38px;
    font-weight:700;
    line-height:1;
    color:#1B2A4E;
    text-shadow:0 2px 8px rgba(255,255,255,.85);
  }
  .trust-label{font-size:13.5px; color:var(--ink); letter-spacing:.04em; font-weight:500; text-shadow:0 1px 6px rgba(255,255,255,.7)}
  .hero-trust{border-top-color:rgba(27,27,46,.18)}

  /* Hero visual */
  .hero-visual{
    position:relative;
    aspect-ratio: 4/5;
    border-radius:var(--radius-lg);
    overflow:visible;
  }
  .hero-photo{
    position:absolute; inset:0;
    border-radius:var(--radius-lg);
    overflow:hidden;
    box-shadow:0 40px 80px -30px rgba(27,27,46,.4), 0 20px 40px -20px rgba(255,111,169,.3);
    background:linear-gradient(135deg, var(--pink-soft), var(--tiffany-soft));
  }
  .hero-photo img{width:100%; height:100%; object-fit:cover; transform:scale(1); transition:transform 6s ease-out}
  .hero-photo:hover img{transform:scale(1.05)}
  .hero-photo::after{
    content:""; position:absolute; inset:0;
    background:linear-gradient(180deg, transparent 50%, rgba(27,27,46,.25) 100%);
  }

  .hero-badge{
    position:absolute;
    background:var(--white);
    border-radius:24px;
    padding:18px 22px;
    box-shadow:var(--shadow-md);
    display:flex; align-items:center; gap:14px;
    z-index:2;
    border:1px solid rgba(201,169,97,.18);
  }
  .hero-badge.b1{top:-20px; left:-30px}
  .hero-badge.b2{bottom:30px; right:-32px; flex-direction:column; align-items:flex-start; gap:6px}
  .hero-badge .num{font-family:var(--display); font-size:30px; font-weight:600; color:var(--tiffany-deep); line-height:1}
  .hero-badge .lbl{font-size:12px; color:var(--ink-mute); line-height:1.3; letter-spacing:.02em}
  .hero-badge.gold-rim{border:1px solid var(--gold-light)}
  .hero-stars{display:flex; gap:2px; color:var(--gold)}

  .hero-deco{
    position:absolute;
    pointer-events:none;
  }
  .hero-deco svg{width:100%; height:100%}
  .deco-1{top:8%; right:6%; width:120px; height:120px; opacity:.5}
  .deco-2{bottom:14%; left:4%; width:80px; height:80px; opacity:.4}

  @media (max-width:960px){
    .hero-grid{grid-template-columns:1fr; gap:60px}
    .hero-visual{max-width:480px; margin-inline:auto; width:100%}
    .hero-badge.b1{left:-10px}
    .hero-badge.b2{right:-10px}
  }

  /* ==================== SECTIONS ==================== */
  section{padding:110px 0; position:relative}
  .section-head{max-width:760px; margin-bottom:64px}
  .section-head.center{margin-inline:auto; text-align:center}

  /* Video — RuTube embed */
  .video-section{
    background:linear-gradient(180deg, #FFFFFF 0%, #F4FBFA 100%);
    padding:80px 0;
  }
  .video-grid{
    display:grid;
    grid-template-columns:1.4fr 1fr;
    gap:32px;
    align-items:start;
    max-width:1100px;
    margin-inline:auto;
  }
  .video-embed{
    position:relative;
    border-radius:var(--radius-lg);
    overflow:hidden;
    border:1px solid rgba(201,169,97,.25);
    box-shadow:var(--shadow-md);
    aspect-ratio:16/9;
    background:#1B2A4E;
  }
  .video-embed iframe{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:0;
  }
  .video-side p{margin:0 0 16px; color:var(--ink-soft); font-size:16px; line-height:1.6}
  .video-side .btn{margin-top:8px}
  @media (max-width:900px){
    .video-grid{grid-template-columns:1fr}
    .video-section{padding:60px 0}
  }

  /* About — Tiffany mist with soft diagonal light */
  .about{
    background:
      radial-gradient(ellipse at 0% 100%, var(--tiffany-soft) 0%, transparent 50%),
      radial-gradient(ellipse at 100% 0%, rgba(255,231,168,.35) 0%, transparent 45%),
      linear-gradient(180deg, #F4FBFA 0%, #FFFFFF 100%);
    position:relative;
    overflow:hidden;
  }
  .about::before{
    content:""; position:absolute; top:0; left:0; right:0; height:1px;
    background:linear-gradient(90deg, transparent, var(--gold-light), transparent);
    opacity:.5;
  }
  .about-grid{display:grid; grid-template-columns:1fr 1.1fr; gap:80px; align-items:center; position:relative}
  .about-photos{
    display:grid;
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto auto;
    gap:18px;
    position:relative;
  }
  .about-photo{
    border-radius:var(--radius);
    overflow:hidden;
    aspect-ratio:3/4;
    box-shadow:var(--shadow-soft);
    background:linear-gradient(135deg, var(--pink-soft), var(--tiffany-soft));
  }
  .about-photo img{width:100%; height:100%; object-fit:cover}
  .about-photo:nth-child(1){margin-top:30px}
  .about-photo:nth-child(2){margin-top:0; aspect-ratio:3/4}
  .about-stat{
    position:absolute;
    bottom:-30px; right:-20px;
    background:var(--white);
    border-radius:20px;
    padding:22px 26px;
    box-shadow:var(--shadow-md);
    border:1px solid var(--gold-light);
    display:flex; flex-direction:column; gap:4px;
    z-index:2;
  }
  .about-stat .big{font-family:var(--display); font-style:italic; font-size:48px; font-weight:600; line-height:1; color:var(--gold)}
  .about-text p{font-size:18px}

  @media (max-width:960px){
    .about-grid{grid-template-columns:1fr; gap:60px}
  }

  /* Advantages */
  /* Advantages — champagne pearl with tiffany glint */
  .advantages{
    background:
      radial-gradient(ellipse at 100% 0%, rgba(10,186,181,.06) 0%, transparent 45%),
      radial-gradient(ellipse at 0% 100%, rgba(201,169,97,.08) 0%, transparent 50%),
      linear-gradient(180deg, #FCFAF5 0%, #FFFBF2 100%);
    position:relative;
    overflow:hidden;
  }
  .advantages::before{
    content:""; position:absolute; top:-220px; right:-180px; width:520px; height:520px;
    background:radial-gradient(circle, var(--pink-cloud), transparent 70%);
    opacity:.6;
    pointer-events:none;
  }
  .advantages::after{
    content:""; position:absolute; bottom:-150px; left:-120px; width:400px; height:400px;
    background:radial-gradient(circle, var(--tiffany-soft), transparent 70%);
    opacity:.55;
    pointer-events:none;
  }
  .adv-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:24px;
  }
  .adv-card{
    background:var(--white);
    border-radius:var(--radius);
    padding:36px 30px;
    box-shadow:var(--shadow-soft);
    border:1px solid rgba(27,27,46,.04);
    transition:all .4s cubic-bezier(.2,.7,.3,1);
    position:relative;
    overflow:hidden;
  }
  .adv-card::before{
    content:""; position:absolute; top:0; left:0; width:100%; height:3px;
    background:linear-gradient(90deg, var(--tiffany), var(--pink), var(--gold));
    transform:scaleX(0); transform-origin:left;
    transition:transform .5s ease;
  }
  .adv-card:hover{transform:translateY(-6px); box-shadow:var(--shadow-md)}
  .adv-card:hover::before{transform:scaleX(1)}
  .adv-icon{
    width:64px; height:64px;
    border-radius:18px;
    display:grid; place-items:center;
    margin-bottom:24px;
    background:linear-gradient(135deg, var(--tiffany-soft), var(--pink-cloud));
    color:var(--tiffany-deep);
  }
  .adv-icon svg{width:30px; height:30px}
  .adv-card h3{margin-bottom:12px; font-family:var(--display); font-size:24px; font-weight:600}
  .adv-card p{margin:0; font-size:15.5px; line-height:1.6}

  @media (max-width:960px){.adv-grid{grid-template-columns:1fr 1fr}}
  @media (max-width:640px){.adv-grid{grid-template-columns:1fr}}

  /* Programs — rose mist with tiffany breath */
  .programs{
    background:
      radial-gradient(ellipse at 50% 0%, rgba(255,214,232,.4) 0%, transparent 55%),
      radial-gradient(ellipse at 100% 100%, rgba(10,186,181,.08) 0%, transparent 50%),
      linear-gradient(180deg, #FFFFFF 0%, #FFFAFB 100%);
    position:relative;
    overflow:hidden;
  }
  .programs::before{
    content:""; position:absolute; top:40%; right:-100px; width:300px; height:300px;
    background:radial-gradient(circle, rgba(10,186,181,.1), transparent 70%);
    pointer-events:none;
  }
  .programs-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:28px;
  }
  .prog-card{
    border-radius:var(--radius-lg);
    overflow:hidden;
    background:var(--white);
    border:1px solid rgba(27,27,46,.06);
    transition:all .45s cubic-bezier(.2,.7,.3,1);
    position:relative;
  }
  .prog-card:hover{transform:translateY(-8px); box-shadow:var(--shadow-md); border-color:transparent}
  .prog-img{
    aspect-ratio:5/4;
    overflow:hidden;
    position:relative;
    background:linear-gradient(135deg, var(--pink-soft), var(--tiffany-soft));
  }
  .prog-img img{width:100%; height:100%; object-fit:cover; transition:transform .9s}
  .prog-card:hover .prog-img img{transform:scale(1.06)}
  .prog-img::after{
    content:""; position:absolute; inset:0;
    background:linear-gradient(180deg, transparent 55%, rgba(27,27,46,.55));
  }
  .prog-age{
    position:absolute; top:18px; left:18px;
    background:var(--white);
    color:var(--ink);
    font-family:var(--display);
    font-style:italic;
    font-weight:600;
    font-size:18px;
    padding:8px 16px;
    border-radius:999px;
    z-index:2;
    box-shadow:var(--shadow-soft);
  }
  .prog-body{padding:30px}
  .prog-body h3{font-family:var(--display); font-size:26px; margin-bottom:14px; line-height:1.15}
  .prog-sub{
    display:inline-block;
    font-family:var(--body);
    font-style:normal;
    font-size:12px;
    font-weight:600;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--ink-mute);
    padding:4px 10px;
    border-radius:999px;
    background:rgba(10,186,181,.08);
    margin-left:6px;
    vertical-align:middle;
  }
  .prog-list{list-style:none; padding:0; margin:0 0 22px}
  .prog-list li{
    padding:10px 0;
    border-bottom:1px dashed rgba(27,27,46,.1);
    display:flex; align-items:flex-start; gap:10px;
    font-size:15px;
    color:var(--ink-soft);
  }
  .prog-list li::before{
    content:""; width:6px; height:6px;
    background:var(--gold); border-radius:50%;
    margin-top:8px; flex:0 0 6px;
  }
  .prog-meta{display:flex; gap:8px; flex-wrap:wrap; align-items:center}
  .pill{
    padding:6px 12px;
    background:var(--tiffany-soft);
    color:var(--tiffany-deep);
    font-size:12.5px;
    font-weight:600;
    border-radius:999px;
    letter-spacing:.02em;
  }
  .pill.pink{background:var(--pink-cloud); color:var(--pink-deep)}
  .pill.gold{background:#FAF1DC; color:var(--gold-deep)}

  .prog-schedule{
    margin-top:16px;
    padding:14px 18px;
    background:linear-gradient(135deg, var(--tiffany-soft) 0%, var(--pink-cloud) 100%);
    border:1px solid rgba(201,169,97,.25);
    border-radius:14px;
    display:flex; flex-direction:column; gap:2px;
  }
  .prog-schedule strong{
    font-family:var(--body);
    font-size:13.5px;
    font-weight:700;
    letter-spacing:.06em;
    color:#1B2A4E;
  }
  .prog-schedule span{
    font-family:var(--display);
    font-style:italic;
    font-size:18px;
    font-weight:600;
    color:var(--tiffany-deep);
  }
  .prog-schedule-note{
    grid-column:1 / -1;
    text-align:center;
    margin:30px auto 0;
    font-size:14.5px;
    color:var(--ink-soft);
    max-width:680px;
  }
  .prog-schedule-note a{color:var(--tiffany-deep); font-weight:600; text-decoration:underline}

  .prog-price-block{
    grid-column:1 / -1;
    margin:18px auto 0;
    display:flex; align-items:center; justify-content:center; gap:18px; flex-wrap:wrap;
    padding:20px 32px;
    background:linear-gradient(135deg, var(--pink-cloud) 0%, var(--tiffany-soft) 100%);
    border:1.5px solid rgba(201,169,97,.35);
    border-radius:var(--radius);
    text-align:center;
  }
  .prog-price-amount{
    font-family:var(--display);
    font-size:clamp(32px,3.5vw,46px);
    font-weight:700;
    color:var(--ink);
    line-height:1;
  }
  .prog-price-amount span{
    font-size:.55em;
    color:var(--ink-mute);
    font-weight:400;
    display:block;
    margin-top:4px;
    font-style:italic;
  }
  .prog-price-note{
    font-size:14px;
    color:var(--ink-soft);
    max-width:340px;
    line-height:1.5;
  }
  .prog-price-note strong{color:var(--tiffany-deep)}

  /* Fitness price badge */
  .fitness-price-badge{
    display:inline-flex; align-items:center; gap:12px;
    background:linear-gradient(135deg, var(--tiffany-soft) 0%, var(--pink-cloud) 100%);
    border:1.5px solid rgba(201,169,97,.4);
    border-radius:var(--radius);
    padding:18px 28px;
    margin-top:24px;
  }
  .fitness-price-badge .fpb-amount{
    font-family:var(--display);
    font-size:clamp(28px,3vw,40px);
    font-weight:700;
    color:var(--ink);
    line-height:1;
  }
  .fitness-price-badge .fpb-label{
    font-size:13.5px;
    color:var(--ink-soft);
    line-height:1.45;
  }
  .fitness-price-badge .fpb-label strong{display:block; font-size:15px; color:var(--ink)}

  @media (max-width:960px){.programs-grid{grid-template-columns:1fr; max-width:520px; margin-inline:auto}}

  /* Teachers — editorial monochrome with champagne underglow */
  .teachers{
    background:
      radial-gradient(ellipse at 50% 0%, rgba(201,169,97,.08) 0%, transparent 50%),
      radial-gradient(ellipse at 100% 100%, rgba(10,186,181,.06) 0%, transparent 50%),
      linear-gradient(180deg, #FCFBF7 0%, #FFFFFF 60%, #FAF9F5 100%);
    position:relative;
    overflow:hidden;
  }
  .teachers::before{
    content:""; position:absolute; top:0; left:50%; transform:translateX(-50%);
    width:80px; height:1px;
    background:linear-gradient(90deg, transparent, var(--gold), transparent);
  }
  .teachers-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:28px;
  }
  .teacher-card{
    background:#fff;
    border-radius:var(--radius-lg);
    overflow:hidden;
    border:1px solid rgba(27,27,46,.05);
    transition:transform .5s cubic-bezier(.2,.7,.3,1), box-shadow .5s, border-color .5s;
    position:relative;
    display:flex; flex-direction:column;
  }
  .teacher-card:hover{
    transform:translateY(-8px);
    box-shadow:var(--shadow-md);
    border-color:transparent;
  }
  .teacher-photo{
    position:relative;
    aspect-ratio:3/4;
    overflow:hidden;
    background:#F2EFE9;
  }
  .teacher-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 20%;
    filter:grayscale(100%) contrast(1.04);
    transition:transform .9s ease, filter .5s ease;
  }
  .teacher-photo img[alt*="Анжелика"]{
    object-position:center top;
    filter:grayscale(40%) contrast(1.05);
  }
  .teacher-card:hover .teacher-photo img{
    transform:scale(1.06);
    filter:grayscale(80%) contrast(1.06);
  }
  .teacher-card:hover .teacher-photo img[alt*="Анжелика"]{
    filter:grayscale(15%) contrast(1.06);
  }
  .teacher-photo::after{
    content:""; position:absolute; left:0; right:0; bottom:0; height:60px;
    background:linear-gradient(180deg, transparent, rgba(27,27,46,.18));
    pointer-events:none;
  }
  .teacher-badge{
    position:absolute;
    top:16px;
    left:16px;
    z-index:2;
    background:linear-gradient(135deg, var(--gold) 0%, var(--gold-light) 100%);
    color:#fff;
    font-family:var(--display);
    font-style:italic;
    font-weight:600;
    font-size:13.5px;
    padding:6px 14px;
    border-radius:999px;
    box-shadow:var(--shadow-gold);
    letter-spacing:.02em;
  }
  .teacher-info{
    padding:26px 24px 28px;
    display:flex; flex-direction:column;
    flex:1;
  }
  .teacher-info h3{
    font-family:var(--display);
    font-size:21px;
    font-weight:600;
    line-height:1.18;
    margin:0 0 10px;
    color:#1B2A4E;
    letter-spacing:-.005em;
  }
  .teacher-role{
    display:block;
    font-family:var(--body);
    font-size:11.5px;
    font-weight:700;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--tiffany-deep);
    margin-bottom:14px;
    position:relative;
    padding-bottom:14px;
  }
  .teacher-role::after{
    content:""; position:absolute; left:0; bottom:0;
    width:34px; height:1px;
    background:var(--gold);
  }
  .teacher-bio{
    font-size:14.5px;
    line-height:1.55;
    margin:0 0 18px;
    color:var(--ink-soft);
    flex:1;
  }
  .teacher-bio strong{color:var(--ink); font-weight:700}
  .teacher-tags{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    list-style:none;
    padding:0;
    margin:0;
  }
  .teacher-tags li{
    font-size:11.5px;
    font-weight:600;
    padding:5px 11px;
    background:var(--tiffany-soft);
    color:var(--tiffany-deep);
    border-radius:999px;
    letter-spacing:.01em;
  }

  @media (max-width:1100px){
    .teachers-grid{grid-template-columns:repeat(2,1fr); gap:24px}
  }
  @media (max-width:560px){
    .teachers-grid{grid-template-columns:1fr; max-width:380px; margin-inline:auto}
  }

  /* Disciplines — Tiffany pool with opposite light direction */
  .disciplines{
    background:
      radial-gradient(ellipse at 100% 0%, var(--tiffany-soft) 0%, transparent 50%),
      radial-gradient(ellipse at 0% 100%, rgba(255,214,232,.3) 0%, transparent 55%),
      linear-gradient(180deg, #F0FAF9 0%, #F8FFFE 100%);
    position:relative;
    overflow:hidden;
  }
  .disciplines::before{
    content:""; position:absolute; top:20%; left:-150px; width:380px; height:380px;
    background:radial-gradient(circle, rgba(255,231,168,.25), transparent 70%);
    pointer-events:none;
  }
  .disc-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:18px;
  }
  .disc-card{
    background:var(--white);
    border-radius:var(--radius);
    padding:28px 24px;
    border:1px solid rgba(27,27,46,.05);
    transition:all .35s ease;
    position:relative;
  }
  .disc-card:hover{
    transform:translateY(-4px);
    border-color:var(--tiffany-light);
    box-shadow:var(--shadow-soft);
  }
  .disc-num{
    font-family:var(--display);
    font-style:italic;
    font-size:38px;
    color:var(--gold);
    line-height:.9;
    margin-bottom:14px;
    opacity:.85;
  }
  .disc-card h4{
    font-family:var(--display);
    font-size:21px;
    font-weight:600;
    margin:0 0 10px;
    color:var(--ink);
    line-height:1.2;
  }
  .disc-card p{font-size:14.5px; line-height:1.55; margin:0}

  @media (max-width:960px){.disc-grid{grid-template-columns:1fr 1fr}}
  @media (max-width:480px){.disc-grid{grid-template-columns:1fr}}

  /* Achievements (stats) */
  .achievements{
    padding:90px 0;
    background:linear-gradient(135deg, var(--tiffany-deep) 0%, #075f5b 60%, var(--pink-deep) 130%);
    color:#fff;
    position:relative;
    overflow:hidden;
  }
  .achievements::before, .achievements::after{
    content:""; position:absolute; pointer-events:none;
    background:radial-gradient(circle, rgba(201,169,97,.25), transparent 70%);
  }
  .achievements::before{top:-100px; left:-100px; width:400px; height:400px}
  .achievements::after{bottom:-150px; right:-50px; width:500px; height:500px; background:radial-gradient(circle, rgba(255,111,169,.22), transparent 70%)}
  .achievements .container{position:relative; z-index:1}
  .achievements .eyebrow{color:var(--gold-light)}
  .achievements .eyebrow::before{background:linear-gradient(90deg, transparent, var(--gold-light))}
  .achievements h2{color:#fff; max-width:720px}
  .achievements h2 em{
    background:linear-gradient(120deg, var(--gold-light), var(--pink-soft));
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
  }
  .stats-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:32px;
    margin-top:50px;
  }
  .stat{
    border-top:1px solid rgba(255,255,255,.18);
    padding-top:24px;
  }
  .stat .num{
    font-family:var(--display);
    font-size:64px;
    font-weight:600;
    line-height:1;
    color:#fff;
    margin-bottom:10px;
  }
  .stat .num span{color:var(--gold-light); font-style:italic; font-size:.85em}
  .stat p{color:rgba(255,255,255,.85); font-size:15px; margin:0; line-height:1.5}

  @media (max-width:760px){.stats-grid{grid-template-columns:1fr 1fr}}

  /* Gallery — clean white breathing space after dark achievements */
  .gallery{
    background:
      radial-gradient(ellipse at 50% 0%, rgba(10,186,181,.05) 0%, transparent 40%),
      #FFFFFF;
    padding:110px 0 90px;
    position:relative;
  }
  /* Rectangle bento — 8 photos arranged into a 3:2 horizontal rectangle */
  .gallery-grid{
    display:grid;
    grid-template-columns:repeat(6, 1fr);
    grid-template-rows:repeat(4, 1fr);
    aspect-ratio:3/2;
    gap:14px;
    max-width:1320px;
    margin-inline:auto;
    grid-template-areas:
      "a a b c c d"
      "a a b c c d"
      "e f f g h h"
      "e f f g h h";
  }
  .gal-item{
    overflow:hidden;
    border-radius:var(--radius);
    background:linear-gradient(135deg, var(--pink-soft), var(--tiffany-soft));
    cursor:pointer;
    position:relative;
    transition:all .4s ease;
  }
  .gal-item img{
    width:100%; height:100%;
    object-fit:cover;
    transition:transform .8s;
    display:block;
  }
  .gal-item:hover img{transform:scale(1.06)}
  .gal-item::after{
    content:""; position:absolute; inset:0;
    background:linear-gradient(180deg, transparent 60%, rgba(27,27,46,.3));
    opacity:0; transition:opacity .3s;
  }
  .gal-item:hover::after{opacity:1}
  .gal-item:nth-child(1){grid-area:a}
  .gal-item:nth-child(2){grid-area:b}
  .gal-item:nth-child(3){grid-area:c}
  .gal-item:nth-child(4){grid-area:d}
  .gal-item:nth-child(5){grid-area:e}
  .gal-item:nth-child(6){grid-area:f}
  .gal-item:nth-child(7){grid-area:g}
  .gal-item:nth-child(8){grid-area:h}

  @media (max-width:960px){
    .gallery-grid{
      grid-template-columns:repeat(4, 1fr);
      grid-template-rows:repeat(4, 1fr);
      aspect-ratio:1/1;
      grid-template-areas:
        "a b b c"
        "a d d c"
        "e e f g"
        "h h f g";
    }
  }
  @media (max-width:560px){
    .gallery-grid{
      grid-template-columns:repeat(2, 1fr);
      grid-template-rows:repeat(4, 1fr);
      aspect-ratio:1/2;
      gap:10px;
      grid-template-areas:
        "a b"
        "c d"
        "e f"
        "g h";
    }
  }

  /* Yandex official rating badge widget (auto-updates from Yandex) */
  .yandex-widget-wrap{
    display:flex; flex-direction:column; align-items:flex-end; gap:6px;
  }
  .yandex-rating-iframe{
    border:0;
    display:block;
    background:#fff;
    border-radius:12px;
    box-shadow:0 6px 18px -10px rgba(27,27,46,.2);
    overflow:hidden;
  }
  .yandex-widget-link{
    font-size:13px;
    color:var(--tiffany-deep);
    font-weight:600;
    text-decoration:none;
    border-bottom:1px solid rgba(10,186,181,.3);
    padding-bottom:1px;
    transition:.25s;
  }
  .yandex-widget-link:hover{color:var(--pink-deep); border-color:var(--pink-deep)}

  .hero-yandex-badge{
    padding:8px !important;
    text-decoration:none;
    overflow:hidden;
  }
  .hero-yandex-iframe{
    border:0;
    display:block;
    pointer-events:none;
  }

  /* Reviews — warm pink-cream like reading by lamp light */
  .reviews{
    background:
      radial-gradient(ellipse at 100% 0%, rgba(255,231,168,.25) 0%, transparent 50%),
      radial-gradient(ellipse at 0% 100%, var(--pink-cloud) 0%, transparent 55%),
      linear-gradient(180deg, #FFFAF5 0%, #FFF5F0 100%);
    position:relative;
    overflow:hidden;
  }
  .reviews::before{
    content:""; position:absolute; top:30%; right:5%; width:280px; height:280px;
    background:radial-gradient(circle, rgba(10,186,181,.07), transparent 70%);
    pointer-events:none;
  }
  .reviews-head{display:flex; justify-content:space-between; align-items:flex-end; gap:32px; flex-wrap:wrap; margin-bottom:50px}
  .yandex-rating{
    display:flex; gap:14px; align-items:center;
    background:var(--white);
    padding:14px 20px;
    border-radius:14px;
    box-shadow:var(--shadow-soft);
  }
  .yandex-logo{
    width:38px; height:38px;
    background:#FFCC00;
    border-radius:50%;
    display:grid; place-items:center;
    font-weight:800;
    color:#000;
    font-family:var(--body);
    font-size:22px;
  }
  .yandex-rating .stars{color:var(--gold); font-size:18px; letter-spacing:2px}
  .yandex-rating strong{font-size:20px}
  .yandex-rating small{color:var(--ink-mute); font-size:13px}

  .reviews-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:24px;
  }
  .rev-card{
    background:var(--white);
    border-radius:var(--radius);
    padding:36px 32px;
    box-shadow:var(--shadow-soft);
    position:relative;
    border:1px solid rgba(27,27,46,.04);
    transition:all .35s ease;
  }
  .rev-card:hover{transform:translateY(-4px); box-shadow:var(--shadow-md)}
  .rev-card::before{
    content:"\201C";
    position:absolute;
    top:14px; left:24px;
    font-family:var(--display);
    font-size:90px;
    line-height:1;
    color:var(--tiffany-light);
    opacity:.6;
  }
  .rev-stars{color:var(--gold); margin-bottom:14px; letter-spacing:2px; position:relative}
  .rev-text{
    font-size:16px;
    line-height:1.65;
    color:var(--ink);
    margin:0 0 24px;
    position:relative;
  }
  .rev-author{
    display:flex; align-items:center; gap:14px;
    border-top:1px solid rgba(27,27,46,.07);
    padding-top:20px;
  }
  .rev-avatar{
    width:46px; height:46px;
    border-radius:50%;
    background:linear-gradient(135deg, var(--tiffany) 0%, var(--pink) 100%);
    display:grid; place-items:center;
    color:#fff;
    font-weight:700;
    font-size:17px;
    flex:0 0 46px;
  }
  .rev-author-info{display:flex; flex-direction:column}
  .rev-author-info strong{font-size:15px}
  .rev-author-info small{color:var(--ink-mute); font-size:13px}

  @media (max-width:960px){.reviews-grid{grid-template-columns:1fr}}

  /* FAQ — calm Tiffany pearl */
  .faq{
    background:
      radial-gradient(ellipse at 0% 0%, var(--tiffany-soft) 0%, transparent 55%),
      radial-gradient(ellipse at 100% 100%, rgba(255,231,168,.2) 0%, transparent 50%),
      linear-gradient(180deg, #F8FCFB 0%, #FFFFFF 100%);
    position:relative;
    overflow:hidden;
  }
  .faq::before{
    content:""; position:absolute; bottom:0; left:0; right:0; height:1px;
    background:linear-gradient(90deg, transparent, var(--tiffany-light), transparent);
    opacity:.5;
  }
  .faq-grid{display:grid; grid-template-columns:.9fr 1.1fr; gap:80px; align-items:start}
  .faq-list{display:flex; flex-direction:column; gap:14px}
  .faq-item{
    background:var(--paper);
    border-radius:var(--radius);
    overflow:hidden;
    border:1px solid rgba(27,27,46,.04);
    transition:all .3s;
  }
  .faq-item[open]{
    background:var(--white);
    box-shadow:var(--shadow-soft);
    border-color:var(--tiffany-soft);
  }
  .faq-q{
    padding:22px 26px;
    cursor:pointer;
    list-style:none;
    display:flex; justify-content:space-between; align-items:center; gap:16px;
    font-family:var(--display);
    font-size:20px;
    font-weight:600;
    color:var(--ink);
    line-height:1.3;
  }
  .faq-q::-webkit-details-marker{display:none}
  .faq-icon{
    flex:0 0 32px;
    width:32px; height:32px;
    border-radius:50%;
    background:var(--tiffany-soft);
    color:var(--tiffany-deep);
    display:grid; place-items:center;
    font-size:18px; font-weight:300;
    transition:all .3s;
  }
  .faq-item[open] .faq-icon{
    background:var(--gold); color:#fff; transform:rotate(45deg);
  }
  .faq-a{padding:0 26px 24px; color:var(--ink-soft); font-size:15.5px; line-height:1.65}
  .faq-a p{margin:0}
  @media (max-width:900px){.faq-grid{grid-template-columns:1fr; gap:50px}}

  /* CTA / Form */
  .cta-block{
    padding:90px 0;
    background:
      radial-gradient(circle at 80% 10%, var(--pink-cloud), transparent 50%),
      radial-gradient(circle at 10% 90%, var(--tiffany-soft), transparent 50%),
      var(--cream);
  }
  .cta-card{
    background:var(--white);
    border-radius:var(--radius-lg);
    padding:60px;
    display:grid;
    grid-template-columns:1fr 1.1fr;
    gap:60px;
    align-items:center;
    box-shadow:var(--shadow-md);
    border:1px solid var(--gold-light);
    position:relative;
    overflow:hidden;
  }
  .cta-card::before{
    content:""; position:absolute; top:-50%; right:-30%;
    width:500px; height:500px;
    background:radial-gradient(circle, var(--pink-cloud), transparent 60%);
    pointer-events:none;
  }
  .cta-card h2{margin-bottom:18px}
  .cta-perks{
    list-style:none; padding:0; margin:24px 0 0;
    display:flex; flex-direction:column; gap:12px;
  }
  .cta-perks li{
    display:flex; gap:12px; align-items:flex-start;
    font-size:15px; color:var(--ink-soft);
  }
  .cta-perks svg{flex:0 0 22px; color:var(--tiffany)}

  .cta-form{
    background:linear-gradient(135deg, var(--tiffany-soft) 0%, var(--pink-cloud) 100%);
    border-radius:var(--radius);
    padding:36px;
    position:relative; z-index:2;
    border:1px solid rgba(255,255,255,.6);
  }
  .cta-form h3{font-family:var(--display); font-size:26px; margin-bottom:6px}
  .cta-form p.small{font-size:14px; margin-bottom:24px; color:var(--ink-soft)}
  .input{
    width:100%;
    padding:15px 20px;
    border-radius:14px;
    border:1.5px solid rgba(27,27,46,.08);
    background:var(--white);
    font-family:var(--body);
    font-size:15px;
    color:var(--ink);
    margin-bottom:14px;
    transition:all .25s;
  }
  .input:focus{outline:none; border-color:var(--tiffany); box-shadow:0 0 0 4px rgba(10,186,181,.15)}
  .cta-form .btn{width:100%; margin-top:6px}
  .form-hint{font-size:12px; color:var(--ink-mute); margin-top:14px; line-height:1.5; text-align:center}
  .form-hint a{color:var(--tiffany-deep); text-decoration:underline}

  /* 152-ФЗ consent checkbox */
  .consent{
    display:flex; align-items:flex-start; gap:11px;
    margin:6px 0 14px;
    cursor:pointer;
    user-select:none;
  }
  .consent input[type="checkbox"]{
    flex:0 0 20px;
    width:20px; height:20px;
    margin:1px 0 0;
    accent-color:var(--tiffany-deep);
    cursor:pointer;
  }
  .consent-text{
    font-size:13px;
    line-height:1.45;
    color:var(--ink-soft);
  }
  .consent-text a{color:var(--tiffany-deep); text-decoration:underline; font-weight:600}
  .btn-msg:disabled,
  .btn-msg[disabled]{
    opacity:.45;
    cursor:not-allowed;
    filter:grayscale(.3);
    pointer-events:none;
  }

  /* Contact choice (Telegram + Max + phone) */
  .msg-choice{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:10px;
    margin-top:8px;
  }
  .btn-msg{
    width:100%;
    padding:14px 10px;
    color:#fff;
    font-weight:600;
    font-size:13px;
    border-radius:14px;
    transition:transform .25s ease, box-shadow .3s ease, filter .25s;
    overflow:hidden;
    position:relative;
  }
  .btn-msg svg{flex:0 0 20px}
  .btn-msg::after{
    content:""; position:absolute; inset:0;
    background:linear-gradient(120deg, transparent 30%, rgba(255,255,255,.3) 50%, transparent 70%);
    transform:translateX(-100%);
    transition:transform .8s cubic-bezier(.2,.7,.3,1);
  }
  .btn-msg:hover{transform:translateY(-2px); filter:brightness(1.05)}
  .btn-msg:hover::after{transform:translateX(100%)}
  .btn-tg{
    background:linear-gradient(135deg, #2AABEE 0%, #229ED9 100%);
    box-shadow:0 12px 28px -12px rgba(42,171,238,.65);
  }
  .btn-call{
    background:linear-gradient(135deg, var(--ink) 0%, #2E2D45 100%);
    box-shadow:0 12px 28px -12px rgba(27,27,46,.55);
    text-decoration:none;
  }
  .btn-mx{
    background:linear-gradient(135deg, #4F7FFF 0%, #7B4FFF 100%);
    box-shadow:0 12px 28px -12px rgba(127,79,255,.65);
  }
  @media (max-width:480px){
    .msg-choice{grid-template-columns:1fr}
  }

  @media (max-width:900px){
    .cta-card{grid-template-columns:1fr; padding:36px 28px; gap:40px}
  }

  /* Blog teaser — soft pearl background, editorial feel */
  .blog-teaser{
    background:
      radial-gradient(ellipse at 100% 0%, rgba(255,231,168,.18) 0%, transparent 50%),
      radial-gradient(ellipse at 0% 100%, var(--tiffany-soft) 0%, transparent 45%),
      linear-gradient(180deg, #FFFBF6 0%, #FFFFFF 100%);
    position:relative;
    overflow:hidden;
  }
  .blog-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
    max-width:1100px;
    margin-inline:auto;
  }
  @media (max-width:820px){.blog-grid{grid-template-columns:1fr; max-width:600px}}
  .blog-card{
    display:grid;
    grid-template-columns:1fr;
    background:#fff;
    border-radius:var(--radius-lg);
    overflow:hidden;
    border:1px solid rgba(27,27,46,.05);
    box-shadow:var(--shadow-soft);
    text-decoration:none;
    color:inherit;
    transition:transform .45s cubic-bezier(.2,.7,.3,1), box-shadow .45s, border-color .45s;
  }
  .blog-card:hover{
    transform:translateY(-4px);
    box-shadow:var(--shadow-md);
    border-color:var(--gold-light);
  }
  .blog-card-img{
    position:relative;
    overflow:hidden;
    aspect-ratio:16/9;
    background:linear-gradient(135deg, var(--pink-soft), var(--tiffany-soft));
  }
  .blog-card-img img{
    width:100%; height:100%;
    object-fit:cover;
    transition:transform .9s ease;
  }
  .blog-card:hover .blog-card-img img{transform:scale(1.06)}
  .blog-card-tag{
    position:absolute; top:14px; left:14px;
    padding:6px 14px; border-radius:999px;
    background:linear-gradient(135deg, var(--gold) 0%, var(--gold-light) 100%);
    color:#fff;
    font-family:var(--body);
    font-size:11.5px; font-weight:700;
    letter-spacing:.08em; text-transform:uppercase;
    box-shadow:var(--shadow-gold);
  }
  .blog-card-body{padding:30px 28px; display:flex; flex-direction:column; justify-content:center}
  .blog-card-body h3{
    font-family:var(--display);
    font-size:24px;
    font-weight:600;
    color:#1B2A4E;
    margin:0 0 12px;
    line-height:1.2;
  }
  .blog-card-body p{
    font-size:15.5px; line-height:1.55;
    margin:0 0 14px;
    color:var(--ink-soft);
  }
  .blog-card-meta{
    font-size:13px; color:var(--ink-mute);
    font-style:italic;
  }
  @media (max-width:760px){
    .blog-card{grid-template-columns:1fr}
    .blog-card-img{aspect-ratio:16/10}
    .blog-card-body{padding:24px 22px}
    .blog-card-body h3{font-size:21px}
  }

  /* Contacts */
  .contacts{background:var(--ink); color:#fff; padding:90px 0 70px}
  .contacts h2{color:#fff}
  .contacts h2 em{
    background:linear-gradient(120deg, var(--gold-light), var(--pink-soft));
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
  }
  .contacts .eyebrow{color:var(--gold-light)}
  .contacts .eyebrow::before{background:linear-gradient(90deg, transparent, var(--gold-light))}
  .contacts-grid{display:grid; grid-template-columns:1fr 1.4fr; gap:60px; margin-top:30px}
  .contact-list{display:flex; flex-direction:column; gap:24px}
  .contact-item{display:flex; gap:18px; align-items:flex-start}
  .contact-icon{
    width:48px; height:48px; flex:0 0 48px;
    border-radius:14px;
    background:rgba(255,255,255,.08);
    display:grid; place-items:center;
    color:var(--gold-light);
  }
  .contact-item small{color:rgba(255,255,255,.55); font-size:13px; letter-spacing:.04em}
  .contact-item strong{display:block; font-size:17px; font-weight:600; margin-top:2px}
  .contact-item a{color:#fff}
  .contact-item a:hover{color:var(--gold-light)}
  .map-frame{
    border-radius:var(--radius);
    overflow:hidden;
    border:1px solid rgba(255,255,255,.12);
    height:380px;
    background:rgba(255,255,255,.04);
  }
  .map-frame iframe{width:100%; height:100%; border:0}

  .socials{display:flex; gap:12px; margin-top:8px}
  .social-btn{
    width:44px; height:44px;
    border-radius:50%;
    background:rgba(255,255,255,.08);
    display:grid; place-items:center;
    color:#fff;
    transition:all .25s;
  }
  .social-btn:hover{background:var(--gold); color:var(--ink)}
  .social-yandex{
    background:#FFCC00 !important;
    color:#000 !important;
  }
  .social-yandex:hover{background:#FFD63A !important; transform:translateY(-2px)}
  .social-yandex .ya-letter{
    font-weight:800;
    font-size:20px;
    font-family:var(--body);
    color:#000;
    line-height:1;
  }

  /* Yandex contact card */
  .contact-yandex{
    display:flex; gap:18px; align-items:flex-start;
    background:linear-gradient(135deg, rgba(255,204,0,.08), rgba(255,255,255,.04));
    padding:16px;
    border-radius:14px;
    border:1px solid rgba(255,204,0,.18);
    transition:all .3s ease;
    text-decoration:none;
    color:#fff;
    margin-top:4px;
  }
  .contact-yandex:hover{
    background:linear-gradient(135deg, rgba(255,204,0,.14), rgba(255,255,255,.06));
    border-color:rgba(255,204,0,.4);
    transform:translateY(-2px);
  }
  .contact-yandex strong{display:block}
  .contact-yandex .ya-stars{
    color:var(--gold-light);
    letter-spacing:2px;
    margin-right:6px;
  }
  .contact-yandex .ya-arrow{
    display:block;
    margin-top:6px;
    color:var(--gold-light);
    font-size:13px;
    font-weight:600;
    letter-spacing:.02em;
    transition:transform .3s;
  }
  .contact-yandex:hover .ya-arrow{
    color:#FFCC00;
    transform:translateX(4px);
  }

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

  /* Geo strip (above footer) — local SEO + community trust */
  .geo-strip{
    background:linear-gradient(135deg, #15182a 0%, #1B1B2E 100%);
    color:rgba(255,255,255,.78);
    padding:18px 0;
    border-top:1px solid rgba(232,207,142,.18);
    font-size:14px;
    text-align:center;
  }
  .geo-strip-label{
    font-family:var(--display);
    font-style:italic;
    color:var(--gold-light);
    margin-right:12px;
    font-size:16px;
  }
  .geo-strip-list a{
    color:rgba(255,255,255,.85);
    margin:0 2px;
    text-decoration:none;
    border-bottom:1px dotted rgba(255,255,255,.25);
    transition:color .25s;
  }
  .geo-strip-list a:hover{color:var(--gold-light); border-color:var(--gold-light)}

  /* Footer */
  footer{background:var(--ink); color:rgba(255,255,255,.6); padding:30px 0; border-top:1px solid rgba(255,255,255,.08); font-size:13.5px}
  .foot-row{display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px}
  footer a:hover{color:var(--gold-light)}

  /* Floating contact buttons (Telegram + Call) */
  .float-cta{
    position:fixed;
    right:24px; bottom:24px;
    z-index:40;
    width:60px; height:60px;
    border-radius:50%;
    background:linear-gradient(135deg, #2AABEE, #229ED9);
    display:grid; place-items:center;
    color:#fff;
    box-shadow:0 14px 30px -8px rgba(42,171,238,.55);
    animation:pulse 2.4s ease-out infinite;
    transition:transform .25s ease;
  }
  .float-cta:hover{transform:scale(1.05)}
  .float-call{
    right:96px;
    background:linear-gradient(135deg, var(--gold) 0%, var(--gold-light) 100%);
    box-shadow:0 14px 30px -8px rgba(201,169,97,.55);
    animation:pulseGold 2.6s ease-out infinite;
  }
  .float-max{
    right:168px;
    background:transparent;
    box-shadow:0 14px 30px -8px rgba(127,79,255,.55);
    animation:pulseMax 2.8s ease-out infinite;
    border-radius:14px;
    padding:0;
  }
  .float-max svg{width:60px; height:60px; border-radius:14px; overflow:hidden}
  @keyframes pulseMax{
    0%{box-shadow:0 0 0 0 rgba(127,79,255,.5), 0 14px 30px -8px rgba(127,79,255,.55)}
    70%{box-shadow:0 0 0 18px rgba(127,79,255,0), 0 14px 30px -8px rgba(127,79,255,.55)}
    100%{box-shadow:0 0 0 0 rgba(127,79,255,0), 0 14px 30px -8px rgba(127,79,255,.55)}
  }
  /* Max button (contacts section) */
  .btn-max{
    background:linear-gradient(135deg, #4F7FFF, #7B4FFF);
    color:#fff;
    box-shadow:0 14px 30px -12px rgba(127,79,255,.55);
  }
  .btn-max:hover{transform:translateY(-2px); box-shadow:0 20px 40px -14px rgba(127,79,255,.7)}
  /* Max icon in socials — SVG already has its own bg, remove extra */
  .social-max{background:transparent !important; padding:0 !important}
  .max-letter{font-weight:800; font-size:16px; font-family:var(--body); line-height:1}
  @keyframes pulseGold{
    0%{box-shadow:0 0 0 0 rgba(201,169,97,.5), 0 14px 30px -8px rgba(201,169,97,.55)}
    70%{box-shadow:0 0 0 18px rgba(201,169,97,0), 0 14px 30px -8px rgba(201,169,97,.55)}
    100%{box-shadow:0 0 0 0 rgba(201,169,97,0), 0 14px 30px -8px rgba(201,169,97,.55)}
  }
  @keyframes pulse{
    0%{box-shadow:0 0 0 0 rgba(42,171,238,.5), 0 14px 30px -8px rgba(42,171,238,.55)}
    70%{box-shadow:0 0 0 18px rgba(42,171,238,0), 0 14px 30px -8px rgba(42,171,238,.55)}
    100%{box-shadow:0 0 0 0 rgba(42,171,238,0), 0 14px 30px -8px rgba(42,171,238,.55)}
  }

  /* Modal */
  .modal-bg{
    position:fixed; inset:0; z-index:100;
    background:rgba(27,27,46,.55);
    backdrop-filter:blur(8px);
    display:none;
    align-items:center; justify-content:center;
    padding:20px;
    animation:fadeIn .3s ease;
  }
  .modal-bg.open{display:flex}
  .modal{
    background:var(--white);
    border-radius:var(--radius-lg);
    padding:44px 40px;
    max-width:520px; width:100%;
    box-shadow:var(--shadow-md);
    position:relative;
    animation:slideUp .4s cubic-bezier(.2,.7,.3,1);
  }
  .modal-close{
    position:absolute; top:16px; right:16px;
    width:36px; height:36px; border-radius:50%;
    background:var(--paper);
    display:grid; place-items:center;
    font-size:18px; color:var(--ink-soft);
  }
  .modal h3{font-family:var(--display); font-size:30px; margin-bottom:8px}
  .modal p.small{font-size:14.5px; color:var(--ink-soft); margin-bottom:24px}
  @keyframes fadeIn{from{opacity:0}to{opacity:1}}
  @keyframes slideUp{from{transform:translateY(20px); opacity:0}to{transform:translateY(0); opacity:1}}

  /* Privacy policy modal — taller, scrollable */
  .privacy-modal{max-width:680px; max-height:88vh; display:flex; flex-direction:column}
  .privacy-modal .privacy-body{
    overflow-y:auto;
    margin-top:18px;
    padding-right:8px;
    flex:1;
  }
  .privacy-modal h4{
    font-family:var(--display);
    font-size:18px;
    font-weight:700;
    color:#1B2A4E;
    margin:18px 0 6px;
  }
  .privacy-modal h4:first-child{margin-top:0}
  .privacy-modal .privacy-body p{font-size:14px; line-height:1.55; margin:0 0 6px; color:var(--ink-soft)}
  .privacy-modal .privacy-body a{color:var(--tiffany-deep); text-decoration:underline}

  /* Cookie consent banner — 152-ФЗ compliance */
  .cookie-banner{
    position:fixed; left:16px; right:16px; bottom:16px;
    z-index:80;
    background:rgba(255,255,255,.98);
    -webkit-backdrop-filter:saturate(180%) blur(20px);
    backdrop-filter:saturate(180%) blur(20px);
    border:1px solid rgba(201,169,97,.25);
    border-radius:18px;
    box-shadow:0 20px 50px -12px rgba(27,27,46,.25), 0 8px 22px -10px rgba(10,186,181,.18);
    padding:18px 22px;
    max-width:680px;
    margin-inline:auto;
    transform:translateY(calc(100% + 32px));
    opacity:0;
    transition:transform .6s cubic-bezier(.2,.7,.3,1), opacity .5s ease;
    pointer-events:none;
  }
  .cookie-banner.show{transform:translateY(0); opacity:1; pointer-events:auto}
  .cookie-content{
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:18px;
    align-items:center;
  }
  .cookie-icon{
    font-size:30px;
    line-height:1;
    flex-shrink:0;
  }
  .cookie-text{
    font-family:var(--body);
    font-size:13.5px;
    line-height:1.5;
    color:var(--ink-soft);
  }
  .cookie-text strong{
    display:block;
    font-family:var(--display);
    font-size:18px;
    color:#1B2A4E;
    margin-bottom:4px;
    font-weight:600;
  }
  .cookie-text p{margin:0}
  .cookie-text a{
    color:var(--tiffany-deep);
    font-weight:600;
    text-decoration:underline;
  }
  .cookie-actions{
    display:flex;
    flex-direction:column;
    gap:8px;
    flex-shrink:0;
  }
  .cookie-btn{
    padding:10px 18px;
    border-radius:999px;
    font-family:var(--body);
    font-size:13px;
    font-weight:600;
    cursor:pointer;
    border:none;
    transition:transform .25s ease, box-shadow .25s ease;
    white-space:nowrap;
  }
  .cookie-btn:hover{transform:translateY(-2px)}
  .cookie-btn-primary{
    background:linear-gradient(135deg, var(--tiffany), var(--pink));
    color:#fff;
    box-shadow:0 6px 18px -6px rgba(10,186,181,.55);
  }
  .cookie-btn-primary:hover{box-shadow:0 10px 24px -6px rgba(10,186,181,.65)}
  .cookie-btn-ghost{
    background:transparent;
    color:var(--ink-soft);
    border:1px solid rgba(27,27,46,.15);
  }
  .cookie-btn-ghost:hover{background:rgba(27,27,46,.04)}
  @media (max-width:640px){
    .cookie-banner{left:10px; right:10px; bottom:10px; padding:14px 16px}
    .cookie-content{grid-template-columns:1fr; gap:12px}
    .cookie-icon{display:none}
    .cookie-actions{flex-direction:row; justify-content:flex-end}
    .cookie-btn{flex:1; max-width:160px; text-align:center}
  }

  /* Reveal animations */
  .reveal{opacity:0; transform:translateY(24px); transition:opacity .8s ease, transform .8s cubic-bezier(.2,.7,.3,1)}
  .reveal.in{opacity:1; transform:translateY(0)}

  /* ==================== SECTION MARK (logo stamp in corner of each chapter) ==================== */
  .section-mark{
    position:absolute;
    top:32px;
    right:32px;
    width:204px;
    height:204px;
    z-index:1;
    pointer-events:none;
    background:#FFFFFF;
    border-radius:50%;
    padding:5px;
    box-shadow:0 8px 22px -10px rgba(27,27,46,.22), 0 0 0 1px rgba(201,169,97,.25);
    opacity:.88;
    transition:opacity .4s ease, transform .5s cubic-bezier(.2,.7,.3,1);
  }
  .section-mark::after{
    content:""; position:absolute; inset:-3px;
    border-radius:50%;
    border:1px dashed rgba(201,169,97,.45);
    pointer-events:none;
  }
  .section-mark img{
    width:100%; height:100%;
    object-fit:contain;
    object-position:center;
    display:block;
  }
  .section-mark{border-radius:18px}
  .section-mark::after{border-radius:18px}
  section:hover > .section-mark{opacity:1; transform:rotate(-3deg) scale(1.04)}
  /* Dark sections — keep the mark visible against dark bg */
  .achievements > .section-mark,
  .contacts > .section-mark{
    box-shadow:0 8px 22px -8px rgba(0,0,0,.4), 0 0 0 1px rgba(232,207,142,.5);
  }
  @media (max-width:960px){
    .section-mark{top:20px; right:20px; width:140px; height:140px; padding:8px}
  }
  @media (max-width:560px){
    .section-mark{width:96px; height:96px; padding:6px; top:14px; right:14px}
  }

  /* Decorative SVG sparkle */
  .sparkle{
    position:absolute; pointer-events:none;
    color:var(--gold);
    opacity:.6;
    animation:twinkle 3.5s ease-in-out infinite, drift 14s ease-in-out infinite;
  }
  @keyframes twinkle{
    0%,100%{opacity:.3; transform:scale(.9) rotate(0deg)}
    50%{opacity:.85; transform:scale(1.15) rotate(180deg)}
  }
  @keyframes drift{
    0%,100%{translate:0 0}
    50%{translate:8px -14px}
  }

  /* Logo breathe */
  .logo-mark{
    animation:breathe 5s ease-in-out infinite;
  }
  @keyframes breathe{
    0%,100%{box-shadow:0 6px 18px -6px rgba(10,186,181,.5)}
    50%{box-shadow:0 10px 28px -6px rgba(255,111,169,.7)}
  }

  /* Hero photo subtle parallax */
  .hero-photo img{
    animation:floatY 8s ease-in-out infinite;
  }
  @keyframes floatY{
    0%,100%{transform:scale(1.02) translateY(0)}
    50%{transform:scale(1.02) translateY(-12px)}
  }

  /* Hero badges floating */
  .hero-badge.b1{animation:floatBadge 6s ease-in-out infinite}
  .hero-badge.b2{animation:floatBadge 7s ease-in-out infinite reverse}
  @keyframes floatBadge{
    0%,100%{transform:translateY(0)}
    50%{transform:translateY(-8px)}
  }

  /* Gradient breathing on hero bg */
  .hero{background-size:200% 200%; animation:gradientShift 18s ease-in-out infinite}
  @keyframes gradientShift{
    0%,100%{background-position:0% 0%, 100% 100%, 0% 0%}
    50%{background-position:5% 10%, 95% 90%, 0% 0%}
  }

  /* Stat counter pop */
  .stat .num{display:flex; align-items:baseline; gap:2px}

  /* ==================== MARQUEE STRIP ==================== */
  .marquee-wrap{
    margin-top:64px;
    border-top:1px solid rgba(255,255,255,.18);
    border-bottom:1px solid rgba(255,255,255,.18);
    padding:18px 0;
    overflow:hidden;
    position:relative;
    mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
    -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  }
  .marquee{
    display:flex;
    gap:0;
    width:max-content;
    animation:scrollLeft 38s linear infinite;
  }
  .marquee span{
    font-family:var(--display);
    font-style:italic;
    font-size:24px;
    color:rgba(255,255,255,.85);
    white-space:nowrap;
    padding-right:24px;
  }
  @keyframes scrollLeft{
    from{transform:translateX(0)}
    to{transform:translateX(-50%)}
  }

  /* ==================== SUMMER INTENSIVE ==================== */
  .summer{
    padding:120px 0;
    background:
      radial-gradient(ellipse at top right, #FFF3D4 0%, transparent 50%),
      radial-gradient(ellipse at bottom left, var(--pink-cloud) 0%, transparent 55%),
      linear-gradient(180deg, var(--cream) 0%, #FFF8EC 100%);
    position:relative;
    overflow:hidden;
  }
  .summer-bg{position:absolute; inset:0; pointer-events:none; overflow:hidden}
  .summer-sun{
    position:absolute; top:-60px; right:-60px;
    width:280px; height:280px;
    border-radius:50%;
    background:radial-gradient(circle, #FFE7A8 0%, #FFD37A 40%, transparent 70%);
    animation:sunPulse 6s ease-in-out infinite;
  }
  @keyframes sunPulse{
    0%,100%{transform:scale(1); opacity:.8}
    50%{transform:scale(1.08); opacity:1}
  }
  .summer-shape{
    position:absolute; border-radius:50%;
    background:linear-gradient(135deg, var(--pink) 0%, var(--gold) 100%);
    opacity:.18;
    filter:blur(40px);
    animation:floatShape 12s ease-in-out infinite;
  }
  .s1{width:200px; height:200px; top:30%; left:-50px; animation-delay:0s}
  .s2{width:140px; height:140px; bottom:10%; right:20%; animation-delay:3s; background:linear-gradient(135deg, var(--tiffany) 0%, var(--pink) 100%)}
  .s3{width:100px; height:100px; top:15%; left:40%; animation-delay:6s; background:linear-gradient(135deg, var(--gold) 0%, var(--tiffany) 100%)}
  @keyframes floatShape{
    0%,100%{transform:translate(0,0) scale(1)}
    33%{transform:translate(40px,-30px) scale(1.1)}
    66%{transform:translate(-20px,30px) scale(.95)}
  }

  .summer-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:center;
    position:relative; z-index:1;
  }

  .summer-eyebrow{font-size:15px !important; letter-spacing:.16em}
  .summer-title{font-size:clamp(40px, 5.5vw, 68px) !important; line-height:1; margin-bottom:18px}
  .summer-slogan{
    display:inline-block;
    font-family:var(--script);
    font-weight:700;
    font-size:clamp(40px, 5vw, 62px);
    line-height:.95;
    color:var(--pink-deep);
    transform:rotate(-2deg);
    margin-bottom:24px;
  }
  .summer-lead{
    font-size:clamp(18px, 1.6vw, 22px);
    line-height:1.55;
    color:var(--ink);
    margin-bottom:32px;
  }
  .summer-lead strong{color:var(--pink-deep); font-weight:700}
  .summer-h3{
    font-family:var(--display);
    font-size:clamp(26px, 2.6vw, 34px);
    font-weight:700;
    margin:8px 0 14px;
    color:var(--ink);
  }

  .summer-schedule{
    display:flex; flex-wrap:wrap; gap:14px;
    margin-bottom:32px;
    padding:24px;
    background:rgba(255,255,255,.7);
    border:1px solid var(--gold-light);
    border-radius:var(--radius);
    backdrop-filter:blur(8px);
  }
  .ss-item{display:flex; gap:12px; align-items:center; flex:1 1 180px}
  .ss-icon{font-size:30px; line-height:1}
  .ss-item strong{display:block; font-family:var(--display); font-weight:700; font-size:20px; color:var(--ink); line-height:1.1}
  .ss-item small{display:block; font-size:13px; color:var(--ink-mute); margin-top:2px}

  .summer-list{
    list-style:none; padding:0; margin:0 0 28px;
    display:flex; flex-direction:column; gap:14px;
  }
  .summer-list li{
    display:flex; gap:16px; align-items:center;
    font-size:clamp(17px, 1.5vw, 20px);
    line-height:1.4;
    color:var(--ink);
    font-weight:500;
  }
  .summer-tick{
    flex:0 0 40px;
    width:40px; height:40px;
    border-radius:50%;
    background:linear-gradient(135deg, var(--gold) 0%, var(--pink) 100%);
    color:#fff;
    display:grid; place-items:center;
    font-size:16px;
    box-shadow:0 6px 14px -4px rgba(201,169,97,.5);
  }

  .summer-quote{
    font-family:var(--display);
    font-style:italic;
    font-size:clamp(20px, 2vw, 26px);
    line-height:1.4;
    color:var(--ink);
    padding:20px 24px;
    border-left:4px solid var(--gold);
    background:rgba(255,231,168,.3);
    border-radius:0 var(--radius) var(--radius) 0;
    margin:28px 0;
  }

  .summer-tags{display:flex; flex-wrap:wrap; gap:12px; margin:18px 0 24px}
  .summer-tag{
    display:inline-flex; align-items:center; gap:8px;
    font-size:18px;
    font-weight:600;
    padding:10px 20px;
    border-radius:999px;
    background:linear-gradient(135deg, var(--pink-cloud) 0%, var(--tiffany-soft) 100%);
    border:1px solid rgba(201,169,97,.35);
    color:var(--ink);
  }
  .summer-tag b{font-size:22px; line-height:1; font-weight:400}

  .summer-final{
    font-family:var(--display);
    font-style:italic;
    font-size:clamp(22px, 2.2vw, 28px);
    color:var(--gold-deep);
    line-height:1.35;
    font-weight:600;
    margin:24px 0 0;
  }

  .summer-visual{
    position:relative;
    aspect-ratio:1/1.05;
  }
  .summer-card{
    position:absolute;
    border-radius:var(--radius-lg);
    overflow:hidden;
    box-shadow:var(--shadow-md);
    background:#fff;
    transition:all .5s cubic-bezier(.2,.7,.3,1);
  }
  .summer-card img{width:100%; height:100%; object-fit:cover}
  .summer-card.sc1{top:0; left:0; width:62%; height:62%; transform:rotate(-3deg); z-index:1}
  .summer-card.sc2{bottom:6%; right:0; width:50%; height:48%; transform:rotate(4deg); z-index:2}
  .summer-card.sc3{top:8%; right:8%; width:40%; height:38%; transform:rotate(-2deg); z-index:0}
  .summer-card:hover{transform:rotate(0deg) scale(1.02); z-index:5}
  .summer-badge{
    position:absolute; top:-14px; left:-14px;
    background:linear-gradient(135deg, var(--gold) 0%, var(--gold-light) 100%);
    color:#fff;
    width:84px; height:84px;
    border-radius:50%;
    display:grid; place-items:center;
    font-family:var(--display);
    font-style:italic;
    font-size:14px;
    line-height:1.1;
    text-align:center;
    box-shadow:var(--shadow-gold);
    animation:spinSlow 18s linear infinite;
    z-index:6;
  }
  @keyframes spinSlow{
    0%{transform:rotate(0)}
    100%{transform:rotate(360deg)}
  }
  .summer-floating{
    position:absolute;
    bottom:-20px; left:30%;
    background:#fff;
    padding:18px 22px;
    border-radius:18px;
    display:flex; align-items:center; gap:14px;
    box-shadow:var(--shadow-md);
    border:1px solid var(--gold-light);
    z-index:5;
    animation:floatBadge 5s ease-in-out infinite;
  }
  .sf-num{font-family:var(--display); font-size:32px; font-weight:600; color:var(--gold); line-height:1; white-space:nowrap}
  .sf-num small{font-family:var(--body); font-style:normal; font-size:13px; font-weight:600; color:var(--ink); letter-spacing:.02em}
  .sf-lbl{font-size:12px; color:var(--ink-mute); line-height:1.3; letter-spacing:.04em}

  @media (max-width:960px){
    .summer-grid{grid-template-columns:1fr; gap:80px}
    .summer-visual{max-width:480px; margin-inline:auto; width:100%; aspect-ratio:1/1}
  }

  /* ==================== SMART FITNESS ==================== */
  .fitness{
    padding:120px 0;
    background:linear-gradient(135deg, #F0FCFB 0%, #FFF5F9 100%);
    position:relative;
    overflow:hidden;
  }
  .fitness::before{
    content:""; position:absolute;
    top:-100px; left:-100px;
    width:400px; height:400px;
    background:radial-gradient(circle, var(--tiffany-soft), transparent 70%);
    pointer-events:none;
  }
  .fitness::after{
    content:""; position:absolute;
    bottom:-150px; right:-100px;
    width:500px; height:500px;
    background:radial-gradient(circle, var(--pink-cloud), transparent 70%);
    pointer-events:none;
  }
  .fitness-grid{
    display:grid;
    grid-template-columns:1fr 1.1fr;
    gap:80px;
    align-items:center;
    position:relative; z-index:1;
  }
  .fitness-visual{position:relative; aspect-ratio:4/5}
  .fitness-photo{
    position:absolute; inset:0;
    border-radius:var(--radius-lg);
    overflow:hidden;
    box-shadow:0 40px 80px -30px rgba(27,27,46,.4);
    background:linear-gradient(135deg, var(--tiffany-soft), var(--pink-cloud));
  }
  .fitness-photo img{width:100%; height:100%; object-fit:cover; transition:transform 6s}
  .fitness-photo:hover img{transform:scale(1.06)}
  .fitness-badge{
    position:absolute;
    background:#fff;
    padding:18px 22px;
    border-radius:18px;
    display:flex; align-items:center; gap:14px;
    box-shadow:var(--shadow-md);
    z-index:2;
  }
  .fitness-badge.fb-online{
    top:-16px; right:-24px;
    border:1px solid var(--tiffany-light);
    animation:floatBadge 5s ease-in-out infinite;
  }
  .fitness-badge.fb-online svg{color:var(--tiffany-deep); flex:0 0 22px}
  .fitness-badge.fb-online strong{display:block; font-size:14px}
  .fitness-badge.fb-online small{color:var(--ink-mute); font-size:12px}
  .fitness-badge.fb-care{
    bottom:30px; left:-26px;
    border:1px solid var(--gold-light);
    flex-direction:column; align-items:flex-start; gap:2px;
    animation:floatBadge 6s ease-in-out infinite reverse;
  }
  .fitness-badge.fb-care strong{font-family:var(--display); font-style:italic; font-size:22px; color:var(--gold-deep)}
  .fitness-badge.fb-care small{font-size:12px; color:var(--ink-mute)}

  /* Big Smart Fitness heading */
  .fitness-kicker{
    display:block;
    font-family:var(--body);
    font-size:14px;
    font-weight:700;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:var(--tiffany-deep);
    margin-bottom:14px;
  }
  .fitness-h2{
    font-family:var(--display);
    font-size:clamp(60px, 9vw, 120px) !important;
    line-height:.88 !important;
    font-weight:700;
    letter-spacing:-.02em;
    margin:0 0 14px !important;
    text-transform:uppercase;
  }
  .fitness-h2 em{
    font-style:italic;
    font-weight:600;
    background:linear-gradient(120deg, var(--tiffany) 0%, var(--pink) 55%, var(--gold) 100%);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
    display:inline-block;
    animation:fitnessGlow 5s ease-in-out infinite;
  }
  @keyframes fitnessGlow{
    0%,100%{filter:drop-shadow(0 6px 18px rgba(10,186,181,.25))}
    50%{filter:drop-shadow(0 8px 24px rgba(255,111,169,.4))}
  }
  .fitness-sub{
    font-family:var(--display);
    font-style:italic;
    font-size:clamp(20px, 2.2vw, 28px);
    color:var(--ink-soft);
    margin:0 0 24px;
    line-height:1.3;
  }

  /* Fitness goal block */
  .fitness-goal{
    margin-top:28px;
    padding:24px 26px;
    background:linear-gradient(135deg, var(--tiffany-soft) 0%, var(--pink-cloud) 100%);
    border-radius:var(--radius);
    border:1px solid rgba(201,169,97,.3);
  }
  .fg-mark{
    display:inline-block;
    font-family:var(--display);
    font-style:italic;
    font-size:18px;
    font-weight:700;
    color:var(--gold-deep);
    margin-bottom:8px;
  }
  .fitness-goal p{font-size:16.5px; line-height:1.55; margin:0; color:var(--ink)}

  .fitness-badge.fb-method{
    bottom:30px; right:-26px;
    border:1px solid var(--tiffany-light);
    animation:floatBadge 6.5s ease-in-out infinite;
  }
  .fitness-badge.fb-method svg{color:var(--tiffany-deep); flex:0 0 22px}
  .fitness-badge.fb-method strong{display:block; font-size:14px}
  .fitness-badge.fb-method small{color:var(--ink-mute); font-size:12px}

  /* Online subsection */
  .fitness-online{
    margin-top:90px;
    padding:60px 50px;
    background:linear-gradient(135deg, #FFF 0%, var(--tiffany-soft) 60%, var(--pink-cloud) 130%);
    border-radius:var(--radius-lg);
    border:1px solid rgba(10,186,181,.18);
    box-shadow:var(--shadow-soft);
    position:relative;
    overflow:hidden;
  }
  .fitness-online::before{
    content:""; position:absolute; top:-150px; right:-150px;
    width:400px; height:400px;
    background:radial-gradient(circle, rgba(42,171,238,.18), transparent 70%);
    pointer-events:none;
  }
  .fo-header{
    text-align:center;
    max-width:780px;
    margin:0 auto 50px;
    position:relative; z-index:1;
  }
  .fo-badge{
    display:inline-flex; align-items:center; gap:10px;
    padding:8px 18px;
    border-radius:999px;
    background:#fff;
    border:1px solid var(--tiffany-light);
    font-size:14px;
    font-weight:600;
    letter-spacing:.06em;
    color:var(--tiffany-deep);
    margin-bottom:18px;
    box-shadow:var(--shadow-soft);
  }
  .fo-header h2{margin-bottom:18px}
  .fo-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:18px;
    position:relative; z-index:1;
  }
  .fo-card{
    background:#fff;
    border-radius:var(--radius);
    padding:28px 24px;
    border:1px solid rgba(27,27,46,.05);
    transition:all .35s ease;
    position:relative;
  }
  .fo-card:hover{transform:translateY(-4px); box-shadow:var(--shadow-soft); border-color:var(--tiffany-light)}
  .fo-card-wide{grid-column:span 4; display:grid; grid-template-columns:auto 1fr; gap:0 24px; align-items:start}
  .fo-card-wide .fo-num{grid-row:1 / span 2}
  .fo-card-wide h4{grid-column:2; margin-top:0}
  .fo-card-wide p{grid-column:2}
  .fo-num{
    font-family:var(--display);
    font-style:italic;
    font-size:36px;
    font-weight:600;
    line-height:1;
    background:linear-gradient(135deg, var(--tiffany) 0%, var(--pink) 100%);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
    margin-bottom:14px;
  }
  .fo-card h4{
    font-family:var(--display);
    font-size:21px;
    font-weight:600;
    margin:0 0 10px;
    line-height:1.2;
    color:var(--ink);
  }
  .fo-card p{font-size:14.5px; line-height:1.55; margin:0; color:var(--ink-soft)}

  .fo-cta{
    margin-top:40px;
    text-align:center;
    position:relative; z-index:1;
  }
  .fo-quote{
    font-family:var(--display);
    font-style:italic;
    font-size:clamp(20px, 2vw, 26px);
    line-height:1.45;
    color:var(--gold-deep);
    max-width:760px;
    margin:0 auto 24px;
  }

  @media (max-width:960px){
    .fo-grid{grid-template-columns:1fr 1fr}
    .fo-card-wide{grid-column:span 2}
    .fitness-online{padding:40px 24px}
  }
  @media (max-width:640px){
    .fo-grid{grid-template-columns:1fr}
    .fo-card-wide{grid-column:span 1}
  }

  .online-pill{
    display:inline-block;
    padding:3px 9px;
    border-radius:999px;
    background:linear-gradient(135deg, var(--tiffany), var(--pink));
    color:#fff;
    font-family:var(--body);
    font-size:10px;
    font-weight:700;
    letter-spacing:.08em;
    vertical-align:middle;
  }

  @media (max-width:960px){
    .fitness-grid{grid-template-columns:1fr; gap:80px}
    .fitness-visual{max-width:420px; margin-inline:auto; width:100%}
    .fitness-badge.fb-method{right:-10px}
    .fitness-badge.fb-care{left:-10px; bottom:50px}
  }

  /* ==================== EXTRA ANIMATIONS ==================== */
  /* Card hover lift on disciplines */
  .disc-card{transform-origin:center; transition:transform .4s cubic-bezier(.2,.7,.3,1), box-shadow .4s, border-color .4s}
  .disc-card:hover .disc-num{
    color:var(--pink-deep);
    transform:scale(1.1) rotate(-3deg);
  }
  .disc-num{transition:all .4s ease}

  /* Program card image zoom + tilt */
  .prog-card{transform-origin:center; transition:transform .5s cubic-bezier(.2,.7,.3,1), box-shadow .5s}
  .prog-card:hover{transform:translateY(-8px) scale(1.01)}

  /* Trust counters subtle pop */
  .trust-num, .stat .num{transition:transform .6s cubic-bezier(.2,.7,.3,1)}

  /* Reduced motion */
  @media (prefers-reduced-motion: reduce){
    *, *::before, *::after{
      animation-duration:.01ms !important;
      animation-iteration-count:1 !important;
      transition-duration:.01ms !important;
    }
  }

  /* ============================================
     MOBILE — comprehensive tuning, no info loss
     ============================================ */
  @media (max-width:760px){
    /* Tighten container gutter */
    .container{width:min(100% - 28px, var(--container))}

    /* Compact section padding (sections currently 110-120px, way too much on mobile) */
    section{padding:64px 0}
    .achievements, .summer, .fitness, .cta-block, .contacts, .teachers{padding:64px 0}
    .gallery{padding:64px 0 56px}

    /* Section heads tighter */
    .section-head{margin-bottom:38px}
    .section-head.center{margin-bottom:38px}

    /* Section-mark logo stamp: don't overlap content */
    .section-mark{width:74px; height:74px; padding:5px; top:12px; right:12px}

    /* Hero — keep huge brand readable, scale down responsibly */
    .hero{padding:120px 0 70px}
    .hero-grid{gap:48px}
    .hero-kicker{font-size:22px; margin-bottom:14px}
    .hero-brand{font-size:64px !important; line-height:.95}
    .hero-loc{font-size:18px; padding:7px 18px; margin-bottom:18px}
    .hero-slogan{font-size:42px}
    .hero-sub{font-size:16.5px; margin-bottom:28px}
    .hero-cta{gap:10px}
    .hero-cta .btn{flex:1 1 auto; min-width:0}
    .hero-trust{
      display:grid !important;
      grid-template-columns:1fr 1fr;
      gap:20px 24px;
      margin-top:36px;
      padding-top:22px;
    }
    .trust-num{font-size:30px}
    .trust-label{font-size:12.5px}
    .hero-tags{gap:7px}
    .tag{font-size:12px; padding:6px 12px}

    /* Hero photo — hide outer badges that bleed past edge on tiny screens */
    .hero-badge.b1{left:8px; top:-10px; padding:12px 14px}
    .hero-badge.b2{right:8px; padding:12px 14px}
    .hero-badge .num{font-size:22px}
    .hero-badge .lbl{font-size:11px}

    /* Sparkles smaller and fewer visible */
    .sparkle{display:none}

    /* About */
    .about-grid{gap:50px}
    .about-stat{bottom:-18px; right:-8px; padding:16px 20px}
    .about-stat .big{font-size:38px}
    .about-text p{font-size:16px}
    .about-cta{gap:10px}
    .about-cta .btn{width:100%; justify-content:center}

    /* Achievements — make stats stack 1 column for full readability */
    .stats-grid{grid-template-columns:1fr 1fr !important; gap:22px}
    .stat .num{font-size:46px}
    .stat p{font-size:14px}
    .marquee-wrap{margin-top:44px; padding:14px 0}
    .marquee{animation-duration:26s}
    .marquee span{font-size:18px}

    /* Programs */
    .programs-grid{gap:22px}
    .prog-body{padding:24px 22px}
    .prog-body h3{font-size:22px}
    .prog-sub{font-size:11px; margin-left:0; margin-top:6px; display:inline-block}
    .prog-list li{font-size:14.5px}
    .prog-img{aspect-ratio:4/3}

    /* Teachers */
    .teachers-grid{gap:18px}
    .teacher-info{padding:20px 18px 22px}
    .teacher-info h3{font-size:19px}
    .teacher-info h3 br{display:none}
    .teacher-bio{font-size:14px; margin-bottom:14px}
    .teacher-tags li{font-size:11px; padding:4px 9px}

    /* Disciplines */
    .disc-card{padding:22px 18px}
    .disc-num{font-size:30px; margin-bottom:10px}
    .disc-card h4{font-size:18px}
    .disc-card p{font-size:13.5px}

    /* Summer intensive — compact but keep all info */
    .summer-grid{gap:50px}
    .summer-title{font-size:38px !important; line-height:1.02}
    .summer-slogan{font-size:34px}
    .summer-lead{font-size:16.5px; margin-bottom:24px}
    .summer-h3{font-size:22px; margin:6px 0 12px}
    .summer-schedule{padding:18px; gap:14px; margin-bottom:24px}
    .ss-item{flex:1 1 100%; gap:10px}
    .ss-icon{font-size:26px}
    .ss-item strong{font-size:17px}
    .ss-item small{font-size:12px}
    .summer-list li{font-size:15.5px; gap:12px}
    .summer-tick{flex:0 0 32px; width:32px; height:32px; font-size:14px}
    .summer-quote{font-size:17px; padding:16px 18px; margin:22px 0}
    .summer-tag{font-size:15px; padding:8px 16px}
    .summer-tag b{font-size:18px}
    .summer-final{font-size:18px; margin-top:18px}
    .summer-floating{padding:14px 18px; bottom:-12px; left:auto; right:10px}
    .sf-num{font-size:24px}

    /* Fitness — keep huge heading but bring it into screen */
    .fitness-grid{gap:50px}
    .fitness-kicker{font-size:12px; margin-bottom:10px}
    .fitness-h2{font-size:54px !important; line-height:.95}
    .fitness-sub{font-size:18px; margin-bottom:18px}
    .fitness-goal{padding:18px 20px; margin-top:22px}
    .fitness-goal p{font-size:15px}
    .fitness-online{margin-top:64px; padding:36px 22px}
    .fo-header{margin-bottom:34px}
    .fo-grid{grid-template-columns:1fr; gap:14px}
    .fo-card{padding:22px 20px}
    .fo-card-wide{grid-column:span 1}
    .fo-num{font-size:28px; margin-bottom:8px}
    .fo-card h4{font-size:18px}
    .fo-card p{font-size:14px}
    .fo-quote{font-size:17px; margin-bottom:18px}

    /* Reviews */
    .reviews-head{flex-direction:column; align-items:flex-start; gap:18px}
    .yandex-rating{align-self:flex-start}
    .rev-card{padding:26px 22px}
    .rev-text{font-size:15px}
    .rev-card::before{font-size:64px; top:8px; left:18px}

    /* FAQ */
    .faq-grid{gap:38px}
    .faq-q{padding:18px 20px; font-size:17px; gap:12px}
    .faq-icon{flex:0 0 28px; width:28px; height:28px; font-size:16px}
    .faq-a{padding:0 20px 20px; font-size:14.5px}

    /* CTA block — form full width, perks compact */
    .cta-card{padding:30px 22px; gap:32px}
    .cta-form{padding:26px 22px}
    .cta-form h3{font-size:23px}
    .cta-perks li{font-size:14px}
    .msg-choice{grid-template-columns:1fr; gap:10px}

    /* Contacts */
    .contacts-grid{gap:40px}
    .contact-yandex{padding:14px}
    .map-frame{height:280px}

    /* Footer */
    footer{font-size:12.5px}
    .foot-row{flex-direction:column; align-items:flex-start; gap:8px}

    /* Floating WhatsApp/Telegram button (smaller, doesn't crowd) */
    .float-cta{width:54px; height:54px; right:16px; bottom:16px}
    .float-call{right:80px}
    .float-max{right:144px}
    .float-cta svg{width:24px; height:24px}

    /* Modal */
    .modal{padding:32px 24px}
    .modal h3{font-size:24px}

    /* Headings tighter */
    h2{font-size:32px !important; line-height:1.1}
    h3{font-size:21px}
    .lead{font-size:16px}
    p{font-size:15.5px}
  }

  /* Tiny phones — extra tight (≤380px) */
  @media (max-width:380px){
    .hero-brand{font-size:54px !important}
    .hero-loc{font-size:16px}
    .hero-slogan{font-size:36px}
    h2{font-size:28px !important}
    .summer-title{font-size:32px !important}
    .fitness-h2{font-size:46px !important}
    .section-mark{width:60px; height:60px; padding:4px; top:10px; right:10px}
    .hero-trust{grid-template-columns:1fr 1fr; gap:16px}
    .trust-num{font-size:26px}
  }
</style>
<!-- Schema.org: Individual reviews -->
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "ItemList",
  "name": "Отзывы о детском театре танца «Татьянин День»",
  "itemListElement": [
    {
      "@type": "Review",
      "position": 1,
      "author": {"@type": "Person", "name": "Анна К."},
      "reviewRating": {"@type": "Rating", "ratingValue": "5", "bestRating": "5"},
      "reviewBody": "Просто вау! Самый крутой коллектив из всех, которых я видела. Они даже были на конкурсе «Гордость Страны», где 100 лучших коллективов со всей России!",
      "itemReviewed": {"@type": "DanceSchool", "name": "Детский театр танца «Татьянин День»"}
    },
    {
      "@type": "Review",
      "position": 2,
      "author": {"@type": "Person", "name": "Ольга Чижова"},
      "reviewRating": {"@type": "Rating", "ratingValue": "5", "bestRating": "5"},
      "reviewBody": "Случайно попала на международный хореографический конкурс «Свой стиль». Выступление юных артистов «Татьянин День» заворожило! Артистичность, пластика, постановка, костюмы произвели наилучшее впечатление.",
      "itemReviewed": {"@type": "DanceSchool", "name": "Детский театр танца «Татьянин День»"}
    },
    {
      "@type": "Review",
      "position": 3,
      "author": {"@type": "Person", "name": "Александр"},
      "reviewRating": {"@type": "Rating", "ratingValue": "4", "bestRating": "5"},
      "reviewBody": "Хорошая школа. Преподавательский состав и программы вполне устраивают. Разные возрастные группы. Дети с удовольствием ходят на занятия и показывают результат на сцене.",
      "itemReviewed": {"@type": "DanceSchool", "name": "Детский театр танца «Татьянин День»"}
    }
  ]
}
</script>

<!-- Schema.org: Courses / Programs -->
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "ItemList",
  "name": "Программы детского театра танца «Татьянин День»",
  "itemListElement": [
    {
      "@type": "Course",
      "position": 1,
      "name": "Звёздочки — детский танец для детей 3–5 лет",
      "description": "Ритмика и танцевальная азбука в игровой форме для детей 3–5 лет. Развитие гибкости, координации, осанки. Первые выступления и конкурсный состав.",
      "provider": {"@type": "DanceSchool", "name": "Детский театр танца «Татьянин День»", "url": "https://tatianinden.ru/"},
      "courseSchedule": {"@type": "Schedule", "repeatFrequency": "P1W", "byDay": ["Monday","Wednesday","Friday"], "startTime": "17:00", "endTime": "18:00"},
      "typicalAgeRange": "3-5",
      "offers": {
        "@type": "Offer",
        "url": "https://tatianinden.ru/prices.html",
        "priceCurrency": "RUB",
        "price": "9000",
        "availability": "https://schema.org/InStock",
        "description": "Абонемент на любые виды групп — 9 000 рублей в месяц. Первое занятие — бесплатно.",
        "priceSpecification": {
          "@type": "UnitPriceSpecification",
          "@type": "PriceSpecification",
          "price": "9000",
          "priceCurrency": "RUB",
          "referenceQuantity": {"@type": "QuantitativeValue", "value": "1", "unitCode": "MON"},
          "valueAddedTaxIncluded": true
        }
      }
    },
    {
      "@type": "Course",
      "position": 2,
      "name": "Премьера — хореография для детей 6–9 лет",
      "description": "Современная хореография, классический и эстрадный танец, акробатика, постановки номеров для детей 6–9 лет.",
      "provider": {"@type": "DanceSchool", "name": "Детский театр танца «Татьянин День»", "url": "https://tatianinden.ru/"},
      "courseSchedule": {"@type": "Schedule", "repeatFrequency": "P1W", "byDay": ["Monday","Thursday","Saturday"], "startTime": "18:00", "endTime": "20:00"},
      "typicalAgeRange": "6-9",
      "offers": {
        "@type": "Offer",
        "url": "https://tatianinden.ru/prices.html",
        "priceCurrency": "RUB",
        "price": "9000",
        "availability": "https://schema.org/InStock",
        "description": "Абонемент на любые виды групп — 9 000 рублей в месяц. Первое занятие — бесплатно."
      }
    },
    {
      "@type": "Course",
      "position": 3,
      "name": "Бенефис — профессиональная хореография для детей 10–14 лет",
      "description": "Углублённое изучение современного и эстрадного танца, актёрское мастерство, сольные и групповые номера, международные фестивали для детей 10–14 лет.",
      "provider": {"@type": "DanceSchool", "name": "Детский театр танца «Татьянин День»", "url": "https://tatianinden.ru/"},
      "courseSchedule": {"@type": "Schedule", "repeatFrequency": "P1W", "byDay": ["Tuesday","Friday","Saturday"], "startTime": "18:00", "endTime": "20:30"},
      "typicalAgeRange": "10-14",
      "offers": {
        "@type": "Offer",
        "url": "https://tatianinden.ru/prices.html",
        "priceCurrency": "RUB",
        "price": "9000",
        "availability": "https://schema.org/InStock",
        "description": "Абонемент на любые виды групп — 9 000 рублей в месяц. Первое занятие — бесплатно."
      }
    },
    {
      "@type": "Course",
      "position": 4,
      "name": "Умный фитнес — групповые тренировки для взрослых",
      "description": "Умный фитнес — осознанный подход к тренировочному процессу: работа с двигательными паттернами, осанкой, дыханием. Офлайн и онлайн форматы.",
      "provider": {"@type": "DanceSchool", "name": "Детский театр танца «Татьянин День»", "url": "https://tatianinden.ru/"},
      "audience": {"@type": "Audience", "audienceType": "Взрослые"},
      "availableOnline": true,
      "offers": {
        "@type": "Offer",
        "url": "https://tatianinden.ru/prices.html",
        "priceCurrency": "RUB",
        "price": "8500",
        "availability": "https://schema.org/InStock",
        "description": "Умный фитнес для взрослых — 8 500 рублей в месяц. Офлайн и онлайн форматы."
      }
    }
  ]
}
</script>

<!-- Schema.org: BreadcrumbList -->
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "name": "Главная",
      "item": "https://tatianinden.ru/"
    }
  ]
}
</script>
</head>
<body>
<!-- Google Tag Manager (noscript) — must be first element in body -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-NG4GMMWB"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->

<!-- Skip navigation for keyboard/screen-reader users -->
<a class="skip-link" href="#main-content">Перейти к основному содержанию</a>

<!-- ============ HEADER ============ -->
<header class="nav" id="nav" role="banner">
  <div class="container nav-row">
    <a href="#" class="logo" aria-label="Татьянин День — Детский театр танца">
      <img class="logo-img" src="logo.jpg" alt="Татьянин День — детский театр танца" width="88" height="88" loading="eager" fetchpriority="high" />
      <span class="logo-text">
        <strong>Татьянин День</strong>
        <small>ЖК «Суханово Парк»</small>
      </span>
    </a>
    <nav class="menu" id="menu" aria-label="Основная навигация">
      <a href="#about">О коллективе</a>
      <a href="#programs">Группы</a>
      <a href="#teachers">Педагоги</a>
      <a href="#disciplines">Дисциплины</a>
      <a href="#summer">Интенсив</a>
      <a href="#fitness">Умный фитнес</a>
      <a href="blog/" class="nav-blog">Блог</a>
      <a href="prices.html">Цены</a>
      <a href="#contacts">Контакты</a>
    </nav>
    <div class="nav-actions">
      <a href="tel:+79636719983" class="nav-phone" data-goal="cta_call_header">+7 (963) 671-99-83</a>
      <a class="btn btn-primary" href="#" onclick="openModal();return false;" data-goal="cta_open_form_header">Записаться</a>
      <button class="burger" id="burger" aria-label="Открыть меню" aria-expanded="false" aria-controls="menu" type="button">
        <span></span><span></span><span></span>
      </button>
    </div>
  </div>
</header>

<main id="main-content">
<!-- ============ HERO ============ -->
<section class="hero" id="hero">
  <div class="hero-bg-img" aria-hidden="true"></div>
  <div class="hero-bg-overlay" aria-hidden="true"></div>
  <svg class="sparkle" style="top:18%; left:7%; width:24px;" viewBox="0 0 24 24" fill="currentColor"><path d="M12 0l2.5 9.5L24 12l-9.5 2.5L12 24l-2.5-9.5L0 12l9.5-2.5z"/></svg>
  <svg class="sparkle" style="top:62%; left:48%; width:14px; animation-delay:.8s;" viewBox="0 0 24 24" fill="currentColor"><path d="M12 0l2.5 9.5L24 12l-9.5 2.5L12 24l-2.5-9.5L0 12l9.5-2.5z"/></svg>
  <svg class="sparkle" style="top:30%; right:48%; width:18px; animation-delay:1.6s;" viewBox="0 0 24 24" fill="currentColor"><path d="M12 0l2.5 9.5L24 12l-9.5 2.5L12 24l-2.5-9.5L0 12l9.5-2.5z"/></svg>

  <div class="container">
    <div class="hero-grid">
      <div class="hero-text reveal">
        <div class="hero-tags">
          <span class="tag"><span class="tag-dot"></span> Топ-100 лучших коллективов России</span>
          <span class="tag"><span class="tag-dot" style="background:var(--tiffany)"></span> 10 лет на сцене</span>
          <span class="tag"><span class="tag-dot" style="background:var(--pink)"></span> 4,5 на Яндексе</span>
        </div>

        <span class="hero-kicker">Детский театр танца</span>
        <h1 class="hero-brand">
          <em>Татьянин<br/>День</em>
        </h1>
        <span class="hero-loc">в&nbsp;ЖК «Суханово&nbsp;Парк»</span>

        <span class="hero-slogan">Танцуй ярко.<br /><span class="gold">Сияй на сцене.</span></span>

        <p class="hero-sub">
          Детский театр танца «Татьянин День» — творческий коллектив, где детство превращается в&nbsp;яркие выступления, конкурсные победы и&nbsp;дружбу на&nbsp;всю жизнь. Группы для детей <strong>3–14&nbsp;лет</strong>, умный фитнес для&nbsp;взрослых и&nbsp;летний танцевальный интенсив.
        </p>

        <div class="hero-cta">
          <a class="btn btn-primary btn-lg" href="#" onclick="openModal();return false;" data-goal="cta_open_form_hero">
            Записаться на первый урок
            <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 5l7 7-7 7"/></svg>
          </a>
          <a class="btn btn-ghost btn-lg" href="#programs">Смотреть программы</a>
        </div>

        <div class="hero-trust">
          <div class="trust-item">
            <span class="trust-num" data-count="10">0</span>
            <span class="trust-label">лет творчества</span>
          </div>
          <div class="trust-item">
            <span class="trust-num" data-count="100" data-suffix="+">0</span>
            <span class="trust-label">воспитанников</span>
          </div>
          <div class="trust-item">
            <span class="trust-num">4,5</span>
            <span class="trust-label">★ на Яндексе</span>
          </div>
          <div class="trust-item">
            <span class="trust-num">Топ-100</span>
            <span class="trust-label">коллектив России</span>
          </div>
        </div>
      </div>

      <div class="hero-visual reveal">
        <div class="hero-photo">
          <img
            src="hero-bg.jpg"
            onerror="this.onerror=null;this.src='https://avatars.mds.yandex.net/get-altay/16457969/2a0000019bcb663ded5634513018c55517a4/XXL_height'; this.onerror=function(){this.src='https://images.unsplash.com/photo-1518834107812-67b0b7c58434?auto=format&fit=crop&w=900&q=80'};"
            alt="Воспитанницы детского театра танца «Татьянин День» на сцене"
            width="900" height="1125"
            fetchpriority="high"
            decoding="async"
          />
        </div>
        <a class="hero-badge b1 gold-rim hero-yandex-badge" href="https://yandex.ru/profile/108175150878" target="_blank" rel="noopener noreferrer" aria-label="Рейтинг на Яндекс Картах" data-goal="cta_yandex_badge">
          <iframe
            class="hero-yandex-iframe"
            src="https://yandex.ru/sprav/widget/rating-badge/108175150878?type=rating"
            width="140" height="50"
            frameborder="0"
            scrolling="no"
            loading="lazy"
            title="Рейтинг на Яндекс Картах"
            aria-hidden="true"></iframe>
        </a>
        <div class="hero-badge b2">
          <div class="num">60+</div>
          <div class="lbl">наград и&nbsp;Гран-при<br/>на конкурсах</div>
        </div>
      </div>
    </div>
  </div>
</section>

<!-- ============ ABOUT ============ -->
<section class="about" id="about" aria-labelledby="heading-about">
  <div class="container">
    <div class="about-grid">
      <div class="about-photos reveal">
        <div class="about-photo">
          <img src="zvezda1.jpeg" alt="Выступление коллектива «Татьянин День»" loading="lazy" width="400" height="533" decoding="async"/>
        </div>
        <div class="about-photo">
          <img src="zvezda2.jpg" alt="Награждение коллектива на конкурсе" loading="lazy" width="400" height="533" decoding="async"/>
        </div>
        <div class="about-stat">
          <span class="big">10</span>
          <small style="font-size:13px; color:var(--ink-mute); letter-spacing:.04em; line-height:1.3">лет<br/>дарим сцену</small>
        </div>
      </div>

      <div class="about-text reveal">
        <span class="eyebrow">О коллективе</span>
        <h2 id="heading-about">Здесь рождаются <em>звёзды</em> сцены</h2>
        <p>
          Детский театр танца «Татьянин День» — творческий коллектив с&nbsp;историей в&nbsp;десять лет, базирующийся в&nbsp;<strong>ЖК «Суханово Парк»</strong>. Мы&nbsp;готовим не&nbsp;просто танцоров, а&nbsp;маленьких артистов, влюблённых в&nbsp;сцену: артистичных, дисциплинированных и&nbsp;уверенных в&nbsp;себе.
        </p>
        <p>
          Наши воспитанники — <strong>неоднократные обладатели премии Гран-при международных и&nbsp;отечественных хореографических конкурсов и&nbsp;фестивалей</strong> и&nbsp;<strong>многократные лауреаты первой&nbsp;степени</strong>, финалисты <strong>«Гордости Страны»</strong>, входим в&nbsp;<strong>Топ-100&nbsp;лучших хореографических коллективов России</strong>. Каждый ребёнок — от&nbsp;3&nbsp;до&nbsp;14&nbsp;лет — проходит путь от&nbsp;первого занятия до&nbsp;большой профессиональной сцены.
        </p>
        <p style="margin-bottom:32px">
          В&nbsp;мае 2026&nbsp;мы празднуем юбилей — <strong>10&nbsp;лет на&nbsp;сцене</strong>. Большой концерт «Нам&nbsp;10&nbsp;лет!» состоится 30&nbsp;мая на&nbsp;профессиональной концертной площадке.
        </p>
        <div class="about-cta">
          <a class="btn btn-gold" href="#programs">
            Узнать о расписании занятий
            <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 5l7 7-7 7"/></svg>
          </a>
          <a class="btn btn-rutube" href="https://rutube.ru/channel/38794454/" target="_blank" rel="noopener noreferrer" data-goal="cta_rutube">
            <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M21.5 6.2a3 3 0 0 0-2.1-2.1C17.5 3.5 12 3.5 12 3.5s-5.5 0-7.4.6A3 3 0 0 0 2.5 6.2C2 8.1 2 12 2 12s0 3.9.5 5.8a3 3 0 0 0 2.1 2.1c1.9.6 7.4.6 7.4.6s5.5 0 7.4-.6a3 3 0 0 0 2.1-2.1c.5-1.9.5-5.8.5-5.8s0-3.9-.5-5.8zM10 15.5v-7l6 3.5-6 3.5z"/></svg>
            Смотреть выступления на RuTube
          </a>
        </div>
      </div>
    </div>
  </div>
</section>

<!-- ============ VIDEO ============ -->
<section class="video-section" id="video" aria-labelledby="heading-video">
  <div class="container">
    <div class="section-head center reveal">
      <span class="eyebrow center">Выступления</span>
      <h2 id="heading-video">Смотрите, как <em>танцуют наши звёзды</em></h2>
      <p class="lead">Отчётный концерт и&nbsp;занятия в&nbsp;коллективе — чтобы почувствовать атмосферу до&nbsp;первого визита.</p>
    </div>
    <div class="video-grid reveal">
      <div class="video-embed">
        <iframe
          src="https://rutube.ru/play/embed/39bd120fd23be2a050a0888c21aa752b"
          title="Отчётный концерт «Татьянин День» 2025"
          allow="clipboard-write; autoplay"
          allowfullscreen
          loading="lazy"></iframe>
      </div>
      <div class="video-side">
        <p>На&nbsp;канале RuTube — выступления, репетиции и&nbsp;летний интенсив. Подпишитесь, чтобы не&nbsp;пропустить юбилейный концерт <strong>30&nbsp;мая&nbsp;2026</strong>.</p>
        <a class="btn btn-rutube" href="https://rutube.ru/channel/38794454/" target="_blank" rel="noopener noreferrer" data-goal="cta_rutube_video">
          <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M21.5 6.2a3 3 0 0 0-2.1-2.1C17.5 3.5 12 3.5 12 3.5s-5.5 0-7.4.6A3 3 0 0 0 2.5 6.2C2 8.1 2 12 2 12s0 3.9.5 5.8a3 3 0 0 0 2.1 2.1c1.9.6 7.4.6 7.4.6s5.5 0 7.4-.6a3 3 0 0 0 2.1-2.1c.5-1.9.5-5.8.5-5.8s0-3.9-.5-5.8zM10 15.5v-7l6 3.5-6 3.5z"/></svg>
          Все видео на RuTube
        </a>
        <a class="btn btn-primary" href="#" onclick="openModal();return false;" data-goal="cta_open_form_video" style="margin-left:8px">Записаться на пробное</a>
      </div>
    </div>
  </div>
</section>

<!-- ============ ADVANTAGES ============ -->
<section class="advantages" id="advantages" aria-labelledby="heading-advantages">
  <div class="container">
    <div class="section-head center reveal">
      <span class="eyebrow center">Почему мы</span>
      <h2 id="heading-advantages">Почему родители выбирают <em>наш коллектив</em></h2>
      <p class="lead">Мы создаём пространство, где ребёнок раскрывает талант через танец, дружбу и&nbsp;поддержку. Каждый шаг — к&nbsp;сцене и&nbsp;к&nbsp;уверенности в&nbsp;себе.</p>
    </div>

    <div class="adv-grid">
      <div class="adv-card reveal">
        <div class="adv-icon">
          <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2l2.4 7.2H22l-6.2 4.5 2.4 7.3L12 16.6l-6.2 4.4 2.4-7.3L2 9.2h7.6z"/></svg>
        </div>
        <h3>Авторская методика</h3>
        <p>Программа от&nbsp;простого к&nbsp;сложному с&nbsp;учётом возраста и&nbsp;характера ребёнка. Танец «для&nbsp;себя» или путь к&nbsp;конкурсам — выбор за&nbsp;вами.</p>
      </div>

      <div class="adv-card reveal" style="transition-delay:.05s">
        <div class="adv-icon" style="background:linear-gradient(135deg, var(--pink-cloud), #FAF1DC); color:var(--pink-deep)">
          <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="8" r="6"/><path d="M8.5 13.5L7 22l5-3 5 3-1.5-8.5"/></svg>
        </div>
        <h3>Призовые конкурсы</h3>
        <p>Неоднократные обладатели премии&nbsp;Гран-при международных и&nbsp;отечественных хореографических конкурсов и&nbsp;фестивалей и&nbsp;многократные лауреаты первой&nbsp;степени. Десятки наград, регулярные фестивали и&nbsp;концерты.</p>
      </div>

      <div class="adv-card reveal" style="transition-delay:.1s">
        <div class="adv-icon" style="background:linear-gradient(135deg, #FAF1DC, var(--tiffany-soft)); color:var(--gold-deep)">
          <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15a4 4 0 0 1-4 4H7l-4 4V7a4 4 0 0 1 4-4h10a4 4 0 0 1 4 4z"/></svg>
        </div>
        <h3>Тёплая атмосфера</h3>
        <p>Дружный коллектив, заботливые педагоги, регулярные совместные мероприятия. Ребёнок идёт на&nbsp;занятие как&nbsp;к&nbsp;друзьям.</p>
      </div>

      <div class="adv-card reveal">
        <div class="adv-icon">
          <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="M12 8v4l3 2"/></svg>
        </div>
        <h3>Прозрачная система</h3>
        <p>Открытые уроки, отчётные концерты, фото и&nbsp;видео в&nbsp;родительских чатах. Вы всегда в&nbsp;курсе успехов ребёнка.</p>
      </div>

      <div class="adv-card reveal" style="transition-delay:.05s">
        <div class="adv-icon" style="background:linear-gradient(135deg, var(--pink-cloud), var(--tiffany-soft)); color:var(--pink-deep)">
          <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v20M2 12h20"/><circle cx="12" cy="12" r="9"/></svg>
        </div>
        <h3>Комплексный подход</h3>
        <p>Современная хореография, классический танец, эстрадный танец, танцевальная акробатика, актёрское мастерство и&nbsp;постановочный материал — всё в&nbsp;одном расписании.</p>
      </div>

      <div class="adv-card reveal" style="transition-delay:.1s">
        <div class="adv-icon" style="background:linear-gradient(135deg, var(--tiffany-soft), #FAF1DC); color:var(--tiffany-deep)">
          <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg>
        </div>
        <h3>Первый урок бесплатно</h3>
        <p>Приходите познакомиться без&nbsp;обязательств. Подарочные сертификаты — отличный способ подарить ребёнку мечту.</p>
      </div>
    </div>
  </div>
</section>

<!-- ============ PROGRAMS ============ -->
<section class="programs" id="programs" aria-labelledby="heading-programs">
  <div class="container">
    <div class="section-head center reveal">
      <span class="eyebrow center">Группы по возрастам</span>
      <h2 id="heading-programs">Группы, в&nbsp;которых <em>становятся звёздами</em></h2>
      <p class="lead">Подбираем нагрузку, темп и&nbsp;стиль занятий в&nbsp;зависимости от&nbsp;возраста и&nbsp;характера ребёнка. <strong>В&nbsp;каждой группе</strong> есть конкурсный состав и&nbsp;участие в&nbsp;конкурсах&nbsp;— от&nbsp;первых открытых уроков до&nbsp;международных фестивалей.</p>
    </div>

    <div class="programs-grid">
      <article class="prog-card reveal" itemscope itemtype="https://schema.org/Course">
        <div class="prog-img">
          <span class="prog-age">3–5 лет</span>
          <img src="zvezdochki.jpg" alt="Младшая группа «Звёздочки»" loading="lazy" width="600" height="450" decoding="async"/>
        </div>
        <div class="prog-body">
          <h3>«Звёздочки» <span class="prog-sub">младшая группа</span></h3>
          <ul class="prog-list">
            <li>Ритмика и&nbsp;танцевальная азбука в&nbsp;игровой форме</li>
            <li>Основы танца по&nbsp;возрасту <em>(детский танец)</em></li>
            <li>Развитие гибкости, координации и&nbsp;осанки</li>
            <li>Первые выступления и&nbsp;конкурсный состав</li>
          </ul>
          <div class="prog-meta">
            <span class="pill">3 раза в неделю</span>
            <span class="pill pink">по 60 минут</span>
            <span class="pill gold">конкурсы</span>
          </div>
          <div class="prog-schedule">
            <strong>Пн · Ср · Пт</strong>
            <span>17:00&nbsp;— 18:00</span>
          </div>
        </div>
      </article>

      <article class="prog-card reveal" style="transition-delay:.08s">
        <div class="prog-img">
          <span class="prog-age">6–9 лет</span>
          <img src="premier.jpg" alt="Средняя группа «Премьера»" loading="lazy" width="600" height="450" decoding="async"/>
        </div>
        <div class="prog-body">
          <h3>«Премьера» <span class="prog-sub">средняя группа</span></h3>
          <ul class="prog-list">
            <li>Современная хореография, основы классического танца, эстрадный танец</li>
            <li>Танцевальная акробатика, партерная гимнастика и&nbsp;ОФП</li>
            <li>Танцы народов мира и&nbsp;стилизация</li>
            <li>Постановки номеров, конкурсы, фестивали</li>
          </ul>
          <div class="prog-meta">
            <span class="pill">3 раза в неделю</span>
            <span class="pill pink">по 120 минут</span>
            <span class="pill gold">конкурсы</span>
          </div>
          <div class="prog-schedule">
            <strong>Пн · Чт · Сб</strong>
            <span>18:00&nbsp;— 20:00</span>
          </div>
        </div>
      </article>

      <article class="prog-card reveal" style="transition-delay:.16s">
        <div class="prog-img">
          <span class="prog-age">10–14 лет</span>
          <img src="benifis.jpg" alt="Старшая группа «Бенефис»" loading="lazy" width="600" height="450" decoding="async"/>
        </div>
        <div class="prog-body">
          <h3>«Бенефис» <span class="prog-sub">старшая группа</span></h3>
          <ul class="prog-list">
            <li>Углублённое изучение современного и&nbsp;эстрадного танцев</li>
            <li>Импровизация и&nbsp;актёрское мастерство</li>
            <li>Сольные и&nbsp;групповые номера конкурсного уровня</li>
            <li>Всероссийские и&nbsp;международные хореографические конкурсы и&nbsp;фестивали</li>
          </ul>
          <div class="prog-meta">
            <span class="pill">3 раза в неделю</span>
            <span class="pill pink">по 120 минут</span>
            <span class="pill gold">конкурсы</span>
          </div>
          <div class="prog-schedule">
            <strong>Вт · Пт · Сб</strong>
            <span>18:00&nbsp;— 20:30</span>
          </div>
        </div>
      </article>
    </div>
    <p class="prog-schedule-note">⏱ <a href="prices.html">Тарифы и абонементы</a> · уточнить расписание и&nbsp;записаться: <a href="tel:+79636719983" data-goal="cta_call_programs">+7&nbsp;(963)&nbsp;671-99-83</a> или&nbsp;<a href="https://t.me/+79636719983" target="_blank" rel="noopener noreferrer" data-goal="cta_telegram_programs">Telegram</a></p>

    <div class="prog-price-block reveal">
      <div class="prog-price-amount">
        9&nbsp;000&nbsp;₽
        <span>в&nbsp;месяц</span>
      </div>
      <div class="prog-price-note">
        <strong>Единая стоимость</strong> на&nbsp;все виды детских групп:<br/>
        «Звёздочки» (3–5 лет) · «Премьера» (6–9 лет) · «Бенефис» (10–14 лет).<br/>
        Первое пробное занятие — <strong>бесплатно</strong>. Оплата — ежемесячно.<br/>
        <a href="prices.html" style="color:var(--tiffany-deep); font-weight:600; text-decoration:underline">Подробнее о тарифах и абонементах →</a>
      </div>
    </div>
  </div>
</section>

<!-- ============ TEACHERS ============ -->
<section class="teachers" id="teachers" aria-labelledby="heading-teachers">
  <div class="container">
    <div class="section-head center reveal">
      <span class="eyebrow center">Наша команда</span>
      <h2 id="heading-teachers">Педагоги, которые <em>зажигают</em></h2>
      <p class="lead">Опытные хореографы-постановщики с&nbsp;авторскими методиками, любовью к&nbsp;танцу и&nbsp;вниманием к&nbsp;каждому ребёнку.</p>
    </div>

    <div class="teachers-grid">
      <article class="teacher-card reveal">
        <div class="teacher-photo">
          <span class="teacher-badge">Основатель</span>
          <img src="TatianaIvanovna.jpg" alt="Гурьянова Татьяна Ивановна — художественный руководитель" loading="lazy" width="480" height="600" decoding="async"/>
        </div>
        <div class="teacher-info">
          <h3>Гурьянова<br/>Татьяна&nbsp;Ивановна</h3>
          <span class="teacher-role">Художественный руководитель</span>
          <p class="teacher-bio">Основатель Детского театра танца «Татьянин День». Хореограф-постановщик. Более <strong>30&nbsp;лет</strong> опыта руководства хореографическими коллективами.</p>
          <ul class="teacher-tags">
            <li>Авторская методика</li>
            <li>Постановки</li>
            <li>Руководство</li>
          </ul>
        </div>
      </article>

      <article class="teacher-card reveal" style="transition-delay:.08s">
        <div class="teacher-photo">
          <img src="Angelika.PNG" alt="Гурьянова Анжелика Вадимовна — хореограф-постановщик" loading="lazy" width="480" height="600" decoding="async"/>
        </div>
        <div class="teacher-info">
          <h3>Гурьянова<br/>Анжелика&nbsp;Вадимовна</h3>
          <span class="teacher-role">Хореограф-постановщик</span>
          <p class="teacher-bio">Авторская методика преподавания. Работает с&nbsp;танцевальной акробатикой, классическим и&nbsp;эстрадным танцем, ведёт умный фитнес.</p>
          <ul class="teacher-tags">
            <li>Акробатика</li>
            <li>Умный фитнес</li>
            <li>Классика</li>
            <li>Эстрада</li>
          </ul>
        </div>
      </article>

      <article class="teacher-card reveal" style="transition-delay:.16s">
        <div class="teacher-photo">
          <img src="Varya.WEBP" alt="Симонова Варвара Георгиевна — хореограф-педагог" loading="lazy" width="480" height="600" decoding="async"/>
        </div>
        <div class="teacher-info">
          <h3>Симонова<br/>Варвара&nbsp;Георгиевна</h3>
          <span class="teacher-role">Хореограф-педагог</span>
          <p class="teacher-bio">Авторская методика. Преподаёт современную хореографию и&nbsp;стилизацию народного танца. Помогает детям найти свой стиль через движение.</p>
          <ul class="teacher-tags">
            <li>Современная хореография</li>
            <li>Стилизация народного</li>
            <li>Классика</li>
          </ul>
        </div>
      </article>

      <article class="teacher-card reveal" style="transition-delay:.24s">
        <div class="teacher-photo">
          <img src="Darya.JPG" alt="Потапова Дарья Владимировна — хореограф-педагог" loading="lazy" width="480" height="600" decoding="async"/>
        </div>
        <div class="teacher-info">
          <h3>Потапова<br/>Дарья&nbsp;Владимировна</h3>
          <span class="teacher-role">Хореограф-педагог</span>
          <p class="teacher-bio">Авторская программа для&nbsp;самых юных артистов. Ведёт детский танец и&nbsp;балетную гимнастику — заботливо и&nbsp;по&nbsp;возрасту.</p>
          <ul class="teacher-tags">
            <li>Детский танец</li>
            <li>Балетная гимнастика</li>
          </ul>
        </div>
      </article>
    </div>
  </div>
</section>

<!-- ============ DISCIPLINES ============ -->
<section class="disciplines" id="disciplines">
  <div class="container">
    <div class="section-head center reveal">
      <span class="eyebrow center">Программа театра</span>
      <h2>Что изучают <em>на&nbsp;занятиях</em></h2>
      <p class="lead">Комплексная программа из&nbsp;восьми направлений: всё, что&nbsp;нужно для&nbsp;уверенного выступления на&nbsp;большой сцене и&nbsp;для&nbsp;здоровья тела.</p>
    </div>

    <div class="disc-grid">
      <div class="disc-card reveal"><div class="disc-num">01</div><h4>Основы классического танца</h4><p>Балетная база: позиции, экзерсис у&nbsp;станка, постановка корпуса и&nbsp;благородство движений.</p></div>
      <div class="disc-card reveal" style="transition-delay:.05s"><div class="disc-num">02</div><h4>Основы современной хореографии</h4><p>Modern, contemporary, jazz-funk, lyrical: пластика, выразительность и&nbsp;актуальный сценический язык.</p></div>
      <div class="disc-card reveal" style="transition-delay:.1s"><div class="disc-num">03</div><h4>Танцы народов мира</h4><p>Знакомство с&nbsp;культурой народов через движение и&nbsp;музыку.</p></div>
      <div class="disc-card reveal" style="transition-delay:.15s"><div class="disc-num">04</div><h4>Эстрадный танец</h4><p>Сценическая хореография для&nbsp;ярких номеров: техника, образ, артистизм и&nbsp;«сценический» характер.</p></div>
      <div class="disc-card reveal"><div class="disc-num">05</div><h4>Стилизация народного танца</h4><p>Современное прочтение фольклора: русские, кавказские, славянские мотивы в&nbsp;эстрадной обработке.</p></div>
      <div class="disc-card reveal" style="transition-delay:.05s"><div class="disc-num">06</div><h4>Акробатика + Партер + ОФП</h4><p>Танцевальная акробатика, партерная гимнастика и&nbsp;общая физическая подготовка в&nbsp;одном блоке.</p></div>
      <div class="disc-card reveal" style="transition-delay:.1s"><div class="disc-num">07</div><h4>Постановки + Импровизация + Актёрское</h4><p>Создание номеров, свобода движения и&nbsp;работа с&nbsp;образом — всё, что&nbsp;делает танец живым.</p></div>
      <div class="disc-card reveal" style="transition-delay:.15s"><div class="disc-num">08</div><h4>Умный фитнес для&nbsp;взрослых</h4><p>Авторский метод для&nbsp;осанки, гибкости и&nbsp;тонуса. Бережно к&nbsp;спине и&nbsp;суставам. Доступно онлайн.</p></div>
    </div>
  </div>
</section>

<!-- ============ SUMMER INTENSIVE ============ -->
<section class="summer" id="summer">
  <div class="summer-bg" aria-hidden="true">
    <span class="summer-sun"></span>
    <span class="summer-shape s1"></span>
    <span class="summer-shape s2"></span>
    <span class="summer-shape s3"></span>
  </div>
  <div class="container">
    <div class="summer-grid">
      <div class="summer-text reveal">
        <span class="eyebrow summer-eyebrow">Летний интенсив · 6–14&nbsp;лет</span>
        <h2 class="summer-title">Активное, яркое и&nbsp;<em>полезное лето</em></h2>
        <span class="summer-slogan">Танцуй всё&nbsp;лето!</span>
        <p class="summer-lead">Детский театр танца «Татьянин День» приглашает детей <strong>6–14&nbsp;лет</strong> провести лето в&nbsp;движении&nbsp;— с&nbsp;тренировками на&nbsp;свежем воздухе, новыми навыками и&nbsp;командной атмосферой.</p>

        <div class="summer-schedule">
          <div class="ss-item">
            <span class="ss-icon">📅</span>
            <div><strong>Июнь и&nbsp;август</strong><small>две полноценные смены за&nbsp;лето</small></div>
          </div>
          <div class="ss-item">
            <span class="ss-icon">⏰</span>
            <div><strong>Понедельник — пятница</strong><small>пять занятий в&nbsp;неделю</small></div>
          </div>
          <div class="ss-item">
            <span class="ss-icon">🕕</span>
            <div><strong>18:00 — 20:00</strong><small>удобное вечернее время</small></div>
          </div>
        </div>

        <h3 class="summer-h3">🔥 В&nbsp;программе</h3>
        <ul class="summer-list">
          <li><span class="summer-tick">★</span><div>Тренировки на&nbsp;свежем воздухе</div></li>
          <li><span class="summer-tick">★</span><div>Работа на&nbsp;песке для&nbsp;силы и&nbsp;выносливости</div></li>
          <li><span class="summer-tick">★</span><div>Акробатика и&nbsp;растяжка</div></li>
          <li><span class="summer-tick">★</span><div>Упражнения на&nbsp;координацию и&nbsp;ОФП</div></li>
          <li><span class="summer-tick">★</span><div>Спортивные игры и&nbsp;командные задания</div></li>
          <li><span class="summer-tick">★</span><div>Развитие пластики, дисциплины и&nbsp;уверенности в&nbsp;себе</div></li>
        </ul>

        <p class="summer-quote">Каждое занятие — это энергия, движение, новые навыки и&nbsp;море положительных эмоций&nbsp;✨</p>

        <div class="summer-tags">
          <span class="summer-tag"><b>🌊</b> Весело</span>
          <span class="summer-tag"><b>🔥</b> Активно</span>
          <span class="summer-tag"><b>✨</b> Продуктивно</span>
        </div>

        <p class="summer-final">Лето в&nbsp;«Татьянин День» — это движение к&nbsp;результату и&nbsp;любовь к&nbsp;танцу.</p>

        <div class="hero-cta" style="margin-top:32px">
          <a class="btn btn-gold btn-lg" href="#" onclick="openModal('intensiv');return false;" data-goal="cta_open_form_intensiv">
            Записаться на интенсив
            <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 5l7 7-7 7"/></svg>
          </a>
          <a class="btn btn-ghost btn-lg" href="tel:+79636719983" data-goal="cta_call_intensiv">Позвонить нам</a>
        </div>
      </div>

      <div class="summer-visual reveal">
        <div class="summer-card sc1">
          <img src="intensiv0.jpg" alt="Летний танцевальный интенсив на свежем воздухе" loading="lazy" width="600" height="600" decoding="async"/>
          <span class="summer-badge">Летний<br/>интенсив</span>
        </div>
        <div class="summer-card sc2">
          <img src="intensiv1.jpg" alt="Растяжка и&nbsp;тренировки на&nbsp;свежем воздухе" loading="lazy" width="400" height="400" decoding="async"/>
        </div>
        <div class="summer-card sc3">
          <img src="intensiv3.jpg" alt="Тренировка на&nbsp;стадионе" loading="lazy" width="400" height="400" decoding="async"/>
        </div>
        <div class="summer-floating">
          <div class="sf-num">120<small>&nbsp;минут</small></div>
          <div class="sf-lbl">каждый<br/>будний день</div>
        </div>
      </div>
    </div>
  </div>
</section>

<!-- ============ SMART FITNESS ============ -->
<section class="fitness" id="fitness">
  <div class="container">
    <!-- Часть 1: Что такое умный фитнес -->
    <div class="fitness-grid">
      <div class="fitness-visual reveal">
        <div class="fitness-photo">
          <img src="umniy_fitness.jpg" alt="Умный фитнес для взрослых" loading="lazy" width="480" height="600" decoding="async"/>
        </div>
        <div class="fitness-badge fb-care">
          <strong>Бережно</strong>
          <small>к&nbsp;спине и&nbsp;суставам</small>
        </div>
        <div class="fitness-badge fb-method">
          <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="3"/><path d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 1 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 1 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 1 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 1 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z"/></svg>
          <div>
            <strong>Авторская методика</strong>
            <small>осознанный подход</small>
          </div>
        </div>
      </div>

      <div class="fitness-text reveal">
        <span class="fitness-kicker">Для взрослых</span>
        <h2 class="fitness-h2"><em>Умный<br/>Фитнес</em></h2>
        <p class="fitness-sub">Тренировки, которые возвращают тело</p>
        <p class="lead">Умный фитнес — это современный и&nbsp;осознанный подход к&nbsp;тренировочному процессу, направленный не&nbsp;только на&nbsp;развитие физических качеств, но&nbsp;и&nbsp;на&nbsp;улучшение общего самочувствия, качества движения и&nbsp;здоровья организма в&nbsp;целом.</p>
        <p>В&nbsp;основе метода — работа с&nbsp;правильными двигательными паттернами, осанкой, дыханием и&nbsp;функциональностью тела. Такой подход гармонично развивает <strong>силу, выносливость, гибкость и&nbsp;координацию</strong>, снижая риск травм и&nbsp;перенапряжения.</p>
        <p>Программа учитывает индивидуальные особенности человека, уровень подготовки и&nbsp;состояние здоровья, делая тренировки эффективными, безопасными и&nbsp;комфортными.</p>

        <div class="fitness-goal">
          <span class="fg-mark">Главная цель</span>
          <p>не&nbsp;максимальная нагрузка любой ценой, а&nbsp;<strong>сильное, подвижное и&nbsp;сбалансированное тело</strong>, которое уверенно функционирует в&nbsp;повседневной жизни.</p>
        </div>

        <div class="fitness-price-badge">
          <div class="fpb-amount">8&nbsp;500&nbsp;₽</div>
          <div class="fpb-label">
            <strong>Умный фитнес для взрослых</strong>
            в&nbsp;месяц · офлайн и&nbsp;онлайн-формат<br/>
            <a href="prices.html" style="color:var(--tiffany-deep); font-weight:600; font-size:13px; text-decoration:underline">Подробнее о тарифах →</a>
          </div>
        </div>

        <div class="hero-cta" style="margin-top:32px">
          <a class="btn btn-primary btn-lg" href="#" onclick="openModal('trial');return false;" data-goal="cta_open_form_trial">
            Записаться на пробное
          </a>
          <a class="btn btn-ghost btn-lg" href="tel:+79636719983" data-goal="cta_call_fitness">Узнать подробнее</a>
        </div>
      </div>
    </div>

    <!-- Часть 2: Онлайн-формат -->
    <div class="fitness-online reveal" id="fitness-online">
      <div class="fo-header">
        <span class="fo-badge"><span class="online-pill">NEW</span> Онлайн-формат</span>
        <h2>Теперь Умный&nbsp;фитнес — <em>и&nbsp;онлайн</em></h2>
        <p class="lead">Театр танца «Татьянин День» продолжает движение вперёд. Мы&nbsp;запустили <strong>онлайн-формат групповых занятий «Умный фитнес»</strong>&nbsp;— чтобы каждый мог тренироваться у&nbsp;нас, где&nbsp;бы&nbsp;ни&nbsp;находился.</p>
      </div>

      <div class="fo-grid">
        <div class="fo-card">
          <div class="fo-num">01</div>
          <h4>Совместное расписание</h4>
          <p>Вы&nbsp;занимаетесь в&nbsp;то&nbsp;же&nbsp;время, что и&nbsp;офлайн-группа в&nbsp;зале&nbsp;— не&nbsp;пропуская ни&nbsp;одного занятия.</p>
        </div>
        <div class="fo-card">
          <div class="fo-num">02</div>
          <h4>Педагог всегда с&nbsp;вами</h4>
          <p>Инструктор видит вас и&nbsp;контролирует правильность движений, чтобы каждое упражнение было эффективным и&nbsp;безопасным.</p>
        </div>
        <div class="fo-card">
          <div class="fo-num">03</div>
          <h4>Реальные результаты</h4>
          <p>Программа помогает уйти от&nbsp;болей, вернуть активность и&nbsp;лёгкость движения. Боль&nbsp;— это сигнал; мы&nbsp;находим и&nbsp;устраняем её&nbsp;причину.</p>
        </div>
        <div class="fo-card">
          <div class="fo-num">04</div>
          <h4>Экономия времени</h4>
          <p>Не&nbsp;нужно тратить часы на&nbsp;дорогу — занимайтесь дома, в&nbsp;удобной обстановке, без&nbsp;потери качества тренировки.</p>
        </div>
        <div class="fo-card fo-card-wide">
          <div class="fo-num">05</div>
          <h4>Бонусы и&nbsp;поощрения</h4>
          <p>Приятные подарки и&nbsp;поощрения для&nbsp;участников в&nbsp;конце каждого месяца&nbsp;— дополнительная мотивация продолжать.</p>
        </div>
      </div>

      <div class="fo-cta">
        <p class="fo-quote">Начните менять свою жизнь уже сегодня. Здоровье, энергия и&nbsp;хорошее настроение реальны — если начать с&nbsp;правильных движений.</p>
        <a class="btn btn-primary btn-lg" href="#" onclick="openModal('online');return false;" data-goal="cta_open_form_online">
          Записаться на онлайн-занятие
          <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 5l7 7-7 7"/></svg>
        </a>
      </div>
    </div>
  </div>
</section>

<!-- ============ ACHIEVEMENTS ============ -->
<section class="achievements" id="achievements">
  <div class="container">
    <span class="eyebrow">Наша гордость</span>
    <h2>Каждый ребёнок у&nbsp;нас — <em>звезда сцены</em></h2>
    <div class="stats-grid">
      <div class="stat reveal">
        <div class="num"><span style="color:var(--gold-light); font-style:italic">Топ</span>-<span class="counter" data-count="100">0</span></div>
        <p>лучших хореографических коллективов России по&nbsp;версии конкурса «Гордость&nbsp;Страны»</p>
      </div>
      <div class="stat reveal" style="transition-delay:.08s">
        <div class="num"><span class="counter" data-count="60">0</span><span>+</span></div>
        <p>наград, Гран-при и&nbsp;дипломов лауреатов 1&nbsp;степени</p>
      </div>
      <div class="stat reveal" style="transition-delay:.16s">
        <div class="num"><span class="counter" data-count="100">0</span><span>+</span></div>
        <p>воспитанников, влюблённых в&nbsp;танец и&nbsp;сцену</p>
      </div>
      <div class="stat reveal" style="transition-delay:.24s">
        <div class="num"><span class="counter" data-count="10">0</span><span> лет</span></div>
        <p>на&nbsp;сцене и&nbsp;в&nbsp;сердцах семей Ленинского округа</p>
      </div>
    </div>

    <!-- Marquee strip -->
    <div class="marquee-wrap">
      <div class="marquee">
        <span>★ Гордость Страны ★ Топ-100 лучших хореографических коллективов России ★ Неоднократные обладатели Гран-при ★ Многократные лауреаты первой степени ★ Всероссийские и международные хореографические конкурсы ★ Международные фестивали ★ Юбилей 10 лет ★&nbsp;</span>
        <span>★ Гордость Страны ★ Топ-100 лучших хореографических коллективов России ★ Неоднократные обладатели Гран-при ★ Многократные лауреаты первой степени ★ Всероссийские и международные хореографические конкурсы ★ Международные фестивали ★ Юбилей 10 лет ★&nbsp;</span>
      </div>
    </div>
  </div>
</section>

<!-- ============ GALLERY ============ -->
<section class="gallery" id="gallery">
  <div class="container">
    <div class="section-head center reveal">
      <span class="eyebrow center">Моменты со сцены</span>
      <h2>Галерея <em>выступлений</em></h2>
    </div>
    <div class="gallery-grid">
      <div class="gal-item reveal"><img src="galary7.jpeg" alt="Сценическая постановка" loading="lazy" width="400" height="400" decoding="async"/></div>
      <div class="gal-item reveal"><img src="galary3.JPG" alt="Белорусский народный танец" loading="lazy" width="400" height="400" decoding="async"/></div>
      <div class="gal-item reveal"><img src="galary8.jpg" alt="Корейский танец" loading="lazy" width="400" height="400" decoding="async"/></div>
      <div class="gal-item reveal"><img src="galary9.jpg" alt="Награды «Гордость Страны» 2026" loading="lazy" width="400" height="400" decoding="async"/></div>
      <div class="gal-item reveal"><img src="galary4.JPG" alt="Сценическое выступление в народных костюмах" loading="lazy" width="400" height="400" decoding="async"/></div>
      <div class="gal-item reveal"><img src="galary11.jpg" alt="Сольная партия в русском народном костюме" loading="lazy" width="400" height="400" decoding="async"/></div>
      <div class="gal-item reveal"><img src="galary10.jpg" alt="Гордость Страны — Москва" loading="lazy" width="400" height="400" decoding="async"/></div>
      <div class="gal-item reveal"><img src="galary6.jpg" alt="Репетиция в зале" loading="lazy" width="400" height="400" decoding="async"/></div>
    </div>
  </div>
</section>

<!-- ============ REVIEWS ============ -->
<section class="reviews" id="reviews" aria-labelledby="heading-reviews">
  <div class="container">
    <div class="reviews-head reveal">
      <div>
        <span class="eyebrow">Отзывы родителей и&nbsp;зрителей</span>
        <h2 id="heading-reviews">Что говорят <em>о нас</em></h2>
      </div>
      <div class="yandex-widget-wrap">
        <iframe
          class="yandex-rating-iframe"
          src="https://yandex.ru/sprav/widget/rating-badge/108175150878?type=rating"
          width="150" height="50"
          frameborder="0"
          loading="lazy"
          title="Рейтинг на Яндекс Картах"></iframe>
        <a class="yandex-widget-link" href="https://yandex.ru/profile/108175150878" target="_blank" rel="noopener noreferrer" data-goal="cta_yandex_reviews_widget">Открыть все отзывы →</a>
      </div>
    </div>

    <div class="reviews-grid">
      <article class="rev-card reveal" itemscope itemtype="https://schema.org/Review">
        <div class="rev-stars" itemprop="reviewRating" itemscope itemtype="https://schema.org/Rating">
          <meta itemprop="ratingValue" content="5" />
          <meta itemprop="bestRating" content="5" />
          ★★★★★</div>
        <p class="rev-text" itemprop="reviewBody">«Просто вау! Самый крутой коллектив из&nbsp;всех, которых я&nbsp;видела. Они даже были на&nbsp;конкурсе «Гордость Страны», где 100&nbsp;лучших коллективов со&nbsp;всей России!»</p>
        <div class="rev-author" itemprop="author" itemscope itemtype="https://schema.org/Person">
          <div class="rev-avatar">А</div>
          <div class="rev-author-info">
            <strong itemprop="name">Анна К.</strong>
            <small>25 марта · Знаток города 3&nbsp;уровня</small>
          </div>
        </div>
      </article>

      <article class="rev-card reveal" style="transition-delay:.1s" itemscope itemtype="https://schema.org/Review">
        <div class="rev-stars" itemprop="reviewRating" itemscope itemtype="https://schema.org/Rating">
          <meta itemprop="ratingValue" content="5" />
          <meta itemprop="bestRating" content="5" />
          ★★★★★</div>
        <p class="rev-text" itemprop="reviewBody">«Случайно попала на&nbsp;международный хореографический конкурс «Свой стиль». Выступление юных артистов «Татьянин День» заворожило! Артистичность, пластика, постановка, костюмы произвели наилучшее впечатление. Спасибо за&nbsp;подаренное удовольствие!»</p>
        <div class="rev-author" itemprop="author" itemscope itemtype="https://schema.org/Person">
          <div class="rev-avatar" style="background:linear-gradient(135deg, var(--gold), var(--pink))">О</div>
          <div class="rev-author-info">
            <strong itemprop="name">Ольга Чижова</strong>
            <small>Знаток города 11&nbsp;уровня</small>
          </div>
        </div>
      </article>

      <article class="rev-card reveal" style="transition-delay:.2s" itemscope itemtype="https://schema.org/Review">
        <div class="rev-stars" itemprop="reviewRating" itemscope itemtype="https://schema.org/Rating">
          <meta itemprop="ratingValue" content="4" />
          <meta itemprop="bestRating" content="5" />
          ★★★★<span style="opacity:.5">★</span></div>
        <p class="rev-text" itemprop="reviewBody">«Хорошая школа. Преподавательский состав и&nbsp;программы вполне устраивают. Разные возрастные группы. Дети с&nbsp;удовольствием ходят на&nbsp;занятия и&nbsp;показывают результат на&nbsp;сцене.»</p>
        <div class="rev-author" itemprop="author" itemscope itemtype="https://schema.org/Person">
          <div class="rev-avatar" style="background:linear-gradient(135deg, var(--tiffany), var(--gold))">А</div>
          <div class="rev-author-info">
            <strong itemprop="name">Александр</strong>
            <small>Знаток города 10&nbsp;уровня</small>
          </div>
        </div>
      </article>
    </div>

    <div style="text-align:center; margin-top:40px" class="reveal">
      <a class="btn btn-ghost" href="https://yandex.ru/profile/108175150878" target="_blank" rel="noopener noreferrer" data-goal="cta_yandex_all_reviews">Все отзывы на Яндексе →</a>
    </div>
  </div>
</section>

<!-- ============ FAQ ============ -->
<section class="faq" id="faq" aria-labelledby="heading-faq">
  <div class="container">
    <div class="faq-grid">
      <div class="faq-side reveal">
        <span class="eyebrow">Частые вопросы</span>
        <h2 id="heading-faq">Ответы на&nbsp;<em>важное</em></h2>
        <p>Не нашли ответ? Напишите нам в&nbsp;Telegram или Max&nbsp;— ответим в&nbsp;течение часа.</p>
        <div style="display:flex; gap:10px; flex-wrap:wrap; margin-top:14px">
          <a class="btn btn-primary" href="https://t.me/+79636719983" target="_blank" rel="noopener noreferrer" data-goal="cta_telegram_faq">
            <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M22 2.5L2.5 9.7c-1.4.5-1.3 1.3-.2 1.7l5 1.5 1.9 5.7c.2.7.6.9 1.3.5l3-2.2 4.5 3.3c.8.5 1.4.2 1.6-.7l3-14c.3-1.1-.4-1.6-1.6-1z"/></svg>
            Написать в Telegram
          </a>
          <a class="btn btn-primary" style="background:linear-gradient(135deg,#4F7FFF,#7B4FFF); box-shadow:0 14px 30px -12px rgba(127,79,255,.55)" href="https://max.ru/u/f9LHodD0cOICny7_4ueVCXgFmHiWYBfMGbfaAM8uDY3EgFRawpyVXuzBn3Y" target="_blank" rel="noopener noreferrer" data-goal="cta_max_faq">
            <svg width="18" height="18" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><defs><linearGradient id="mg_faq" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" stop-color="#ffffff" stop-opacity="0.9"/><stop offset="100%" stop-color="#ffffff" stop-opacity="0.7"/></linearGradient></defs><rect width="40" height="40" rx="10" fill="rgba(255,255,255,0.25)"/><path d="M9 12.5C9 10.6 10.6 9 12.5 9h15C29.4 9 31 10.6 31 12.5v10C31 24.4 29.4 26 27.5 26H22l-5 5v-5h-4.5C10.6 26 9 24.4 9 22.5v-10z" fill="white"/></svg>
            Написать в Max
          </a>
        </div>
      </div>

      <div class="faq-list reveal">
        <details class="faq-item" open>
          <summary class="faq-q">Есть ли пробное занятие? <span class="faq-icon">+</span></summary>
          <div class="faq-a"><p>Да, первое занятие — бесплатное. Это знакомство с&nbsp;педагогом, залом и&nbsp;коллективом, без&nbsp;обязательств. Записаться можно через форму на&nbsp;сайте, по&nbsp;телефону или в&nbsp;Telegram.</p></div>
        </details>
        <details class="faq-item">
          <summary class="faq-q">С какого возраста принимаете детей? <span class="faq-icon">+</span></summary>
          <div class="faq-a"><p>Наши группы рассчитаны на&nbsp;детей <strong>3–14&nbsp;лет</strong>. Для&nbsp;каждого возраста — своя нагрузка, формат, длительность и&nbsp;программа. Для&nbsp;взрослых есть направление «Умный фитнес».</p></div>
        </details>
        <details class="faq-item">
          <summary class="faq-q">Берёте ли детей без подготовки? <span class="faq-icon">+</span></summary>
          <div class="faq-a"><p>Конечно! В&nbsp;любую группу можно прийти «с&nbsp;нуля». Мы&nbsp;поэтапно развиваем технику, гибкость и&nbsp;физические данные — каждый ребёнок раскрывается в&nbsp;своём темпе.</p></div>
        </details>
        <details class="faq-item">
          <summary class="faq-q">В чём приходить на занятие? <span class="faq-icon">+</span></summary>
          <div class="faq-a"><p>Подойдёт любая спортивная одежда и&nbsp;носки. Волосы лучше собрать, чтобы&nbsp;не&nbsp;мешали. По&nbsp;мере занятий педагог подскажет, какая танцевальная форма понадобится дальше.</p></div>
        </details>
        <details class="faq-item">
          <summary class="faq-q">Сколько стоят занятия? <span class="faq-icon">+</span></summary>
          <div class="faq-a"><p>Единая стоимость на&nbsp;все виды детских групп — <strong>9&nbsp;000&nbsp;₽ в&nbsp;месяц</strong> (группы «Звёздочки», «Премьера», «Бенефис»). Умный фитнес для взрослых — <strong>8&nbsp;500&nbsp;₽ в&nbsp;месяц</strong>. Первое занятие — <strong>бесплатно</strong>. Оплата ежемесячно согласно договору. Есть <a href="certificates.html">подарочные сертификаты</a>. Подробнее — на&nbsp;<a href="prices.html">странице «Цены и тарифы»</a>.</p></div>
        </details>
        <details class="faq-item">
          <summary class="faq-q">Где проходят отчётные концерты? <span class="faq-icon">+</span></summary>
          <div class="faq-a"><p>Наши воспитанники выступают на&nbsp;<strong>всероссийских и&nbsp;международных хореографических конкурсах и&nbsp;фестивалях</strong> — «Гордость Страны», «Танцевальный Олимп», «Звёздный дождь» и&nbsp;других. Большие отчётные концерты проходят на&nbsp;профессиональных концертных площадках Ленинского округа. 30&nbsp;мая&nbsp;2026 у&nbsp;нас юбилейный концерт «Нам&nbsp;10&nbsp;лет!».</p></div>
        </details>
        <details class="faq-item">
          <summary class="faq-q">Есть ли подарочные сертификаты? <span class="faq-icon">+</span></summary>
          <div class="faq-a"><p>Да, можно подарить ребёнку или&nbsp;другу абонемент на&nbsp;занятия — отличный подарок на&nbsp;день рождения или&nbsp;праздник.</p></div>
        </details>
      </div>
    </div>
  </div>
</section>

<!-- ============ CTA ============ -->
<section class="cta-block" id="signup">
  <div class="container">
    <div class="cta-card reveal">
      <div>
        <span class="eyebrow">Запись на первый урок</span>
        <h2>Подарите ребёнку <em>сцену</em> — приходите на&nbsp;первое занятие бесплатно</h2>
        <p class="lead">Мы свяжемся с&nbsp;вами в&nbsp;течение рабочего дня, подберём удобное время и&nbsp;группу по&nbsp;возрасту.</p>
        <ul class="cta-perks">
          <li>
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg>
            Первое занятие&nbsp;— бесплатно, без&nbsp;обязательств
          </li>
          <li>
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg>
            Подберём группу по&nbsp;возрасту и&nbsp;уровню ребёнка
          </li>
          <li>
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg>
            Опытные педагоги, призёры конкурсов
          </li>
          <li>
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg>
            Светлый просторный зал в&nbsp;Суханово
          </li>
        </ul>
      </div>

      <form class="cta-form" id="signupForm" onsubmit="return submitForm(event, 'telegram')">
        <h3>Записаться на пробное</h3>
        <p class="small">Заполните форму&nbsp;— и&nbsp;готовая заявка откроется в&nbsp;Telegram. Или просто позвоните по&nbsp;телефону.</p>
        <input class="input" type="text" name="name" id="field_name" placeholder="Ваше имя" required autocomplete="name" aria-label="Ваше имя" />
        <input class="input" type="tel" name="phone" id="field_phone" placeholder="+7 (___) ___-__-__" required autocomplete="tel" inputmode="tel" aria-label="Номер телефона" />
        <input class="input" type="number" name="age" id="field_age" min="3" max="18" placeholder="Возраст ребёнка" required autocomplete="off" inputmode="numeric" aria-label="Возраст ребёнка в годах" />

        <label class="consent">
          <input type="checkbox" name="consent" id="consentCheckbox" required />
          <span class="consent-text">Я даю согласие на&nbsp;обработку моих персональных данных в&nbsp;соответствии с&nbsp;<a href="#" onclick="openPrivacy();return false;">Политикой обработки персональных данных</a> (обязательно)</span>
        </label>
        <label class="consent">
          <input type="checkbox" name="ads_consent" id="adsConsentCheckbox" />
          <span class="consent-text">Согласен(-на) на&nbsp;получение информационных и&nbsp;рекламных сообщений о&nbsp;занятиях, концертах и&nbsp;акциях школы по&nbsp;телефону, SMS&nbsp;и&nbsp;в&nbsp;мессенджерах (ч.&nbsp;1 ст.&nbsp;18 ФЗ-38 «О&nbsp;рекламе»). Отозвать согласие можно в&nbsp;любой момент сообщением «СТОП».</span>
        </label>

        <div class="msg-choice">
          <button type="submit" class="btn btn-msg btn-tg" id="submitBtn" disabled>
            <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M22 2.5L2.5 9.7c-1.4.5-1.3 1.3-.2 1.7l5 1.5 1.9 5.7c.2.7.6.9 1.3.5l3-2.2 4.5 3.3c.8.5 1.4.2 1.6-.7l3-14c.3-1.1-.4-1.6-1.6-1z"/></svg>
            Отправить в Telegram
          </button>
          <button type="button" class="btn btn-msg btn-mx" id="submitBtnMax" disabled onclick="return submitForm(event, 'max')">
            <svg width="20" height="20" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><defs><linearGradient id="mg1" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" stop-color="#4F7FFF"/><stop offset="100%" stop-color="#7B4FFF"/></linearGradient></defs><rect width="40" height="40" rx="10" fill="url(#mg1)"/><path d="M9 12.5C9 10.6 10.6 9 12.5 9h15C29.4 9 31 10.6 31 12.5v10C31 24.4 29.4 26 27.5 26H22l-5 5v-5h-4.5C10.6 26 9 24.4 9 22.5v-10z" fill="white"/></svg>
            Написать в Max
          </button>
          <a class="btn btn-msg btn-call" href="tel:+79636719983" data-goal="cta_call_form">
            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z"/></svg>
            Позвонить
          </a>
        </div>

        <p class="form-hint">Поставьте галочку и&nbsp;нажмите «Отправить» — заявка откроется в&nbsp;Telegram или Max с&nbsp;готовым сообщением.</p>
      </form>
    </div>
  </div>
</section>

<!-- ============ BLOG TEASER ============ -->
<section class="blog-teaser" id="blog">
  <div class="container">
    <div class="section-head center reveal">
      <span class="eyebrow center">Полезные статьи</span>
      <h2>Родителям <em>о&nbsp;танцах</em></h2>
      <p class="lead">Для&nbsp;мам девочек 4–14&nbsp;лет: когда начинать, как выбрать группу и&nbsp;что даёт ребёнку серьёзная хореография. Делимся&nbsp;10&nbsp;годами опыта.</p>
    </div>

    <div class="blog-grid">
      <a class="blog-card reveal" href="blog/vo-skolko-let-otdavat-rebenka-na-tancy.html">
        <div class="blog-card-img">
          <img src="zvezda1.jpeg" alt="Танцы для детей разных возрастов" loading="lazy" width="600" height="400" decoding="async"/>
          <span class="blog-card-tag">Гид для родителей</span>
        </div>
        <div class="blog-card-body">
          <h3>Во сколько лет отдавать ребёнка на&nbsp;танцы?</h3>
          <p>Возрастной гид: что развивают занятия в&nbsp;3, 4, 5, 6 и&nbsp;7&nbsp;лет. Какие стили подходят. Как выбрать первую группу.</p>
          <span class="blog-card-meta">8&nbsp;минут чтения · Татьяна&nbsp;Ивановна Гурьянова</span>
        </div>
      </a>

      <a class="blog-card reveal" href="blog/tancy-dlya-podrostkov-10-14-let.html" style="transition-delay:.08s">
        <div class="blog-card-img">
          <img src="benifis.jpg" alt="Старшая группа Бенефис — 10–14 лет на всероссийских конкурсах" loading="lazy" width="600" height="400" decoding="async"/>
          <span class="blog-card-tag" style="background:linear-gradient(135deg,var(--gold),var(--pink))">10–14 лет</span>
        </div>
        <div class="blog-card-body">
          <h3>Танцы для подростков 10–14 лет: углублённый курс и&nbsp;большая сцена</h3>
          <p>Как старшая группа «Бенефис» готовит детей к&nbsp;всероссийским и&nbsp;международным хореографическим конкурсам. Импровизация, актёрство, сольные номера.</p>
          <span class="blog-card-meta">6&nbsp;минут чтения · Татьяна&nbsp;Ивановна Гурьянова</span>
        </div>
      </a>
    </div>
    <div style="text-align:center; margin-top:32px" class="reveal">
      <a class="btn btn-ghost" href="blog/">Все статьи блога&nbsp;→</a>
    </div>
  </div>
</section>

<!-- ============ CONTACTS ============ -->
<section class="contacts" id="contacts" aria-labelledby="heading-contacts">
  <div class="container">
    <span class="eyebrow">Контакты</span>
    <h2 id="heading-contacts">Ждём вас в&nbsp;<em>«Татьянин День»</em></h2>

    <div class="contacts-grid">
      <div class="contact-list">
        <div class="contact-item">
          <div class="contact-icon">
            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M21 10c0 7-9 13-9 13S3 17 3 10a9 9 0 1 1 18 0z"/><circle cx="12" cy="10" r="3"/></svg>
          </div>
          <div>
            <small>Адрес</small>
            <strong>Московская область, Ленинский&nbsp;г.о.,<br/>деревня Суханово</strong>
          </div>
        </div>

        <div class="contact-item">
          <div class="contact-icon">
            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z"/></svg>
          </div>
          <div>
            <small>Телефон</small>
            <strong><a href="tel:+79636719983" data-goal="cta_call_contacts">+7 (963) 671-99-83</a></strong>
          </div>
        </div>

        <div class="contact-item">
          <div class="contact-icon">
            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/></svg>
          </div>
          <div>
            <small>Часы работы</small>
            <strong>Открыто до 21:00<br/>Ежедневно по&nbsp;расписанию занятий</strong>
          </div>
        </div>

        <a class="contact-item contact-yandex" href="https://yandex.ru/profile/108175150878?lang=ru" target="_blank" rel="noopener noreferrer" data-goal="cta_yandex_contacts">
          <div class="contact-icon" style="background:#FFCC00; color:#000">
            <span style="font-weight:800; font-size:18px; font-family:var(--body)">Я</span>
          </div>
          <div>
            <small>Профиль на&nbsp;Яндекс Картах</small>
            <strong>
              <span class="ya-stars">★★★★<span style="opacity:.5">★</span></span> 4,5 · много отзывов
            </strong>
            <span class="ya-arrow">Открыть на Яндексе →</span>
          </div>
        </a>

        <div class="contact-item">
          <div class="contact-icon">
            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M22 2L11 13"/><path d="M22 2l-7 20-4-9-9-4 20-7z"/></svg>
          </div>
          <div>
            <small>Соцсети и мессенджеры</small>
            <div class="socials">
              <a class="social-btn" href="https://t.me/+79636719983" target="_blank" rel="noopener noreferrer" aria-label="Telegram" data-goal="cta_telegram_social">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"><path d="M22 2.5L2.5 9.7c-1.4.5-1.3 1.3-.2 1.7l5 1.5 1.9 5.7c.2.7.6.9 1.3.5l3-2.2 4.5 3.3c.8.5 1.4.2 1.6-.7l3-14c.3-1.1-.4-1.6-1.6-1z"/></svg>
              </a>
              <a class="social-btn social-max" href="https://max.ru/u/f9LHodD0cOICny7_4ueVCXgFmHiWYBfMGbfaAM8uDY3EgFRawpyVXuzBn3Y" target="_blank" rel="noopener noreferrer" aria-label="Написать в Max" data-goal="cta_max_social">
                <svg width="20" height="20" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><defs><linearGradient id="mg2" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" stop-color="#4F7FFF"/><stop offset="100%" stop-color="#7B4FFF"/></linearGradient></defs><rect width="40" height="40" rx="10" fill="url(#mg2)"/><path d="M9 12.5C9 10.6 10.6 9 12.5 9h15C29.4 9 31 10.6 31 12.5v10C31 24.4 29.4 26 27.5 26H22l-5 5v-5h-4.5C10.6 26 9 24.4 9 22.5v-10z" fill="white"/></svg>
              </a>
              <a class="social-btn social-yandex" href="https://yandex.ru/profile/108175150878?lang=ru" target="_blank" rel="noopener noreferrer" aria-label="Профиль на Яндекс Картах" data-goal="cta_yandex_maps">
                <span class="ya-letter">Я</span>
              </a>
            </div>
          </div>
        </div>

        <a class="btn btn-gold btn-lg" href="https://t.me/+79636719983" target="_blank" rel="noopener noreferrer" style="margin-top:8px" data-goal="cta_telegram_contacts">
          Написать в Telegram
          <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 5l7 7-7 7"/></svg>
        </a>
        <a class="btn btn-max btn-lg" href="https://max.ru/u/f9LHodD0cOICny7_4ueVCXgFmHiWYBfMGbfaAM8uDY3EgFRawpyVXuzBn3Y" target="_blank" rel="noopener noreferrer" style="margin-top:8px" data-goal="cta_max_contacts">
          <svg width="22" height="22" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><defs><linearGradient id="mg3" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" stop-color="#4F7FFF"/><stop offset="100%" stop-color="#7B4FFF"/></linearGradient></defs><rect width="40" height="40" rx="10" fill="url(#mg3)"/><path d="M9 12.5C9 10.6 10.6 9 12.5 9h15C29.4 9 31 10.6 31 12.5v10C31 24.4 29.4 26 27.5 26H22l-5 5v-5h-4.5C10.6 26 9 24.4 9 22.5v-10z" fill="white"/></svg>
          Написать в Max
          <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 5l7 7-7 7"/></svg>
        </a>
      </div>

      <div class="map-frame">
        <iframe
          src="https://yandex.ru/map-widget/v1/?ll=37.611%2C55.560&z=13&pt=37.611%2C55.560%2Cpm2rdm&mode=search&text=Татьянин%20день%20Суханово"
          allowfullscreen
          title="Карта проезда"
          loading="lazy"
        ></iframe>
      </div>
    </div>
  </div>
</section>

<!-- ============ FOOTER ============ -->
</main>
<div class="geo-strip">
  <div class="container">
    <span class="geo-strip-label">Возим детей из:</span>
    <span class="geo-strip-list">
      <a href="#contacts">Видное</a> ·
      <a href="#contacts">Развилка</a> ·
      <a href="#contacts">Расторгуево</a> ·
      <a href="#contacts">Бутово</a> ·
      <a href="#contacts">Дроздово</a> ·
      <a href="#contacts">Молоково</a> ·
      <a href="#contacts">Суханово</a> ·
      <a href="#contacts">Ленинский&nbsp;округ</a>
    </span>
  </div>
</div>

<footer role="contentinfo">
  <div class="container foot-row">
    <div itemscope itemtype="https://schema.org/DanceSchool">
      <meta itemprop="name" content="Детский театр танца «Татьянин День»" />
      <span itemprop="address" itemscope itemtype="https://schema.org/PostalAddress">
        © 2014–2026 Детский театр танца «Татьянин День»,
        <span itemprop="addressLocality">ЖК «Суханово&nbsp;Парк»</span>,
        <span itemprop="addressRegion">Московская область</span>.
      </span> Все права защищены.
    </div>
    <div><a href="#about">О коллективе</a> · <a href="#programs">Группы</a> · <a href="prices.html">Цены</a> · <a href="blog/">Блог</a> · <a href="#contacts">Контакты</a> · <a href="akciya/">Акции</a> · <a href="#" onclick="openPrivacy();return false;">Политика обработки персональных данных</a></div>
  </div>
</footer>

<!-- Floating contact cluster -->
<a class="float-cta float-call" href="tel:+79636719983" aria-label="Позвонить в Татьянин День" data-goal="cta_call_float">
  <svg width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z"/></svg>
</a>
<!-- Floating Telegram -->
<a class="float-cta" href="https://t.me/+79636719983" target="_blank" rel="noopener noreferrer" aria-label="Написать в Telegram" data-goal="cta_telegram_float">
  <svg width="28" height="28" viewBox="0 0 24 24" fill="currentColor"><path d="M22 2.5L2.5 9.7c-1.4.5-1.3 1.3-.2 1.7l5 1.5 1.9 5.7c.2.7.6.9 1.3.5l3-2.2 4.5 3.3c.8.5 1.4.2 1.6-.7l3-14c.3-1.1-.4-1.6-1.6-1z"/></svg>
</a>
<!-- Floating Max -->
<a class="float-cta float-max" href="https://max.ru/u/f9LHodD0cOICny7_4ueVCXgFmHiWYBfMGbfaAM8uDY3EgFRawpyVXuzBn3Y" target="_blank" rel="noopener noreferrer" aria-label="Написать в Max" data-goal="cta_max_float">
  <svg width="34" height="34" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><defs><linearGradient id="mg4" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" stop-color="#4F7FFF"/><stop offset="100%" stop-color="#7B4FFF"/></linearGradient></defs><rect width="40" height="40" rx="10" fill="url(#mg4)"/><path d="M9 12.5C9 10.6 10.6 9 12.5 9h15C29.4 9 31 10.6 31 12.5v10C31 24.4 29.4 26 27.5 26H22l-5 5v-5h-4.5C10.6 26 9 24.4 9 22.5v-10z" fill="white"/></svg>
</a>

<!-- Privacy Policy Modal -->
<div class="modal-bg" id="privacyModal" onclick="if(event.target===this) closePrivacy()" role="dialog" aria-modal="true" aria-label="Политика обработки персональных данных">
  <div class="modal privacy-modal">
    <button class="modal-close" onclick="closePrivacy()" aria-label="Закрыть">×</button>
    <span class="eyebrow">Документ</span>
    <h3>Политика обработки персональных данных</h3>
    <p class="small">Актуальная редакция: 17 мая 2026 г.</p>

    <div class="privacy-body">
      <h4>1. Общие положения</h4>
      <p>Настоящая Политика обработки персональных данных (далее — «Политика») определяет порядок обработки и&nbsp;защиты персональных данных пользователей сайта детского театра танца «Татьянин День» (далее — «Оператор», «Мы»). Политика разработана в&nbsp;соответствии с&nbsp;Конституцией РФ, Федеральным законом от&nbsp;27.07.2006 №&nbsp;152-ФЗ «О&nbsp;персональных данных», Федеральным законом от&nbsp;13.03.2006 №&nbsp;38-ФЗ «О&nbsp;рекламе» и&nbsp;иными нормативными актами РФ в&nbsp;области защиты персональных данных.</p>

      <h4>2. Оператор персональных данных</h4>
      <p>Гурьянова Татьяна Ивановна, физическое лицо, применяющее специальный налоговый режим «Налог на&nbsp;профессиональный доход» (самозанятая) на&nbsp;основании Федерального закона от&nbsp;27.11.2018 №&nbsp;422-ФЗ; художественный руководитель детского театра танца «Татьянин День».<br/>
      ИНН: <em>[указать ИНН]</em><br/>
      Фактический адрес: Московская область, Ленинский&nbsp;г.о., ЖК&nbsp;«Суханово&nbsp;Парк».<br/>
      Контакты: +7&nbsp;(963)&nbsp;671-99-83, <a href="https://t.me/+79636719983" target="_blank" rel="noopener noreferrer">Telegram</a>, <a href="https://max.ru/u/f9LHodD0cOICny7_4ueVCXgFmHiWYBfMGbfaAM8uDY3EgFRawpyVXuzBn3Y" target="_blank" rel="noopener noreferrer">Max</a>.</p>

      <h4>3. Категории субъектов персональных данных</h4>
      <p>Оператор обрабатывает персональные данные следующих категорий лиц: родителей и&nbsp;законных представителей несовершеннолетних обучающихся в&nbsp;возрасте 3–14&nbsp;лет; самих несовершеннолетних обучающихся (ФИО, возраст) — с&nbsp;согласия их&nbsp;законных представителей в&nbsp;порядке ч.&nbsp;4 ст.&nbsp;9 ФЗ-152; посетителей сайта tatianinden.ru.</p>

      <h4>4. Состав обрабатываемых персональных данных</h4>
      <p>При заполнении формы записи на&nbsp;пробное занятие Оператор собирает: имя родителя (законного представителя), номер телефона, возраст ребёнка. Передача данных осуществляется через мессенджер, который пользователь открывает добровольно.</p>
      <p>При посещении сайта могут собираться технические данные через сторонние сервисы, размещённые на&nbsp;сайте (виджеты Яндекс.Карт и&nbsp;Яндекс.Профиля), а&nbsp;также через системы веб-аналитики (Яндекс.Метрика — при подключении): IP-адрес, тип браузера и&nbsp;операционной системы, источник перехода, страницы сайта, время посещения, идентификатор сессии (cookies). Сбор cookies используется для&nbsp;корректной работы виджетов, статистики и&nbsp;улучшения сайта. Загрузка скриптов аналитики, не&nbsp;являющихся необходимыми для&nbsp;работы сайта, осуществляется только после получения согласия пользователя через cookie-уведомление. Пользователь может отключить cookies в&nbsp;настройках своего браузера или&nbsp;нажав «Только необходимые» в&nbsp;cookie-уведомлении.</p>

      <h4>5. Цели и&nbsp;правовые основания обработки</h4>
      <p>Цели обработки: связь с&nbsp;пользователем по&nbsp;заявке на&nbsp;пробное занятие; согласование времени и&nbsp;условий участия в&nbsp;занятиях; информирование о&nbsp;расписании, наборе групп, отчётных концертах и&nbsp;мероприятиях коллектива; ведение учёта обучающихся; улучшение работы сайта.</p>
      <p>Правовые основания обработки: п.&nbsp;1 ч.&nbsp;1 ст.&nbsp;6 ФЗ-152 (согласие субъекта персональных данных), п.&nbsp;5 ч.&nbsp;1 ст.&nbsp;6 ФЗ-152 (обработка необходима для&nbsp;исполнения договора, стороной которого является субъект персональных данных), ч.&nbsp;4 ст.&nbsp;9 ФЗ-152 (согласие законного представителя — для&nbsp;данных несовершеннолетнего).</p>

      <h4>6. Способы и&nbsp;сроки обработки</h4>
      <p>Обработка осуществляется как с&nbsp;использованием средств автоматизации, так и&nbsp;без них (смешанная обработка). Персональные данные хранятся не&nbsp;дольше, чем этого требуют цели обработки, и&nbsp;уничтожаются по&nbsp;письменному запросу субъекта либо&nbsp;по&nbsp;истечении 1&nbsp;года с&nbsp;момента последнего взаимодействия Оператора и&nbsp;субъекта. Данные, обработанные системами веб-аналитики, хранятся в&nbsp;течение сроков, установленных провайдером соответствующего сервиса.</p>

      <h4>7. Передача третьим лицам. Трансграничная передача</h4>
      <p>Оператор не&nbsp;передаёт персональные данные третьим лицам без&nbsp;согласия субъекта, за&nbsp;исключением случаев, прямо предусмотренных законодательством РФ (запросы уполномоченных государственных органов). Оператор не&nbsp;осуществляет трансграничную передачу персональных данных.</p>
      <p>Сообщения, передаваемые через мессенджеры (Telegram, WhatsApp), обрабатываются Оператором после их&nbsp;получения; передача через мессенджеры производится по&nbsp;добровольной инициативе пользователя.</p>

      <h4>8. Согласие на&nbsp;обработку и&nbsp;его отзыв</h4>
      <p>Согласие на&nbsp;обработку персональных данных предоставляется пользователем добровольно путём проставления отметки в&nbsp;чекбоксе под формой записи. Согласие может быть отозвано в&nbsp;любой момент письменным уведомлением Оператора по&nbsp;телефону +7&nbsp;(963)&nbsp;671-99-83 или сообщением в&nbsp;Telegram. По&nbsp;получении отзыва Оператор прекращает обработку в&nbsp;течение 30&nbsp;дней и&nbsp;уничтожает данные, если их&nbsp;дальнейшее хранение не&nbsp;требуется по&nbsp;закону.</p>
      <p>Отдельное согласие на&nbsp;получение информационных и&nbsp;рекламных сообщений (в&nbsp;соответствии с&nbsp;ч.&nbsp;1 ст.&nbsp;18 ФЗ-38 «О&nbsp;рекламе») запрашивается дополнительно при первом контакте Оператора с&nbsp;пользователем.</p>

      <h4>9. Защита персональных данных</h4>
      <p>Оператор принимает необходимые правовые, организационные и&nbsp;технические меры для&nbsp;защиты персональных данных от&nbsp;неправомерного или&nbsp;случайного доступа, уничтожения, изменения, блокирования, копирования, распространения, а&nbsp;также от&nbsp;иных неправомерных действий.</p>

      <h4>10. Права субъекта персональных данных</h4>
      <p>Субъект имеет право: получать сведения об&nbsp;обработке своих персональных данных; требовать их&nbsp;уточнения, блокирования или&nbsp;уничтожения в&nbsp;случае их&nbsp;неполноты, неактуальности или&nbsp;неправомерности обработки; отзывать согласие; обжаловать действия Оператора в&nbsp;Федеральную службу по&nbsp;надзору в&nbsp;сфере связи, информационных технологий и&nbsp;массовых коммуникаций (Роскомнадзор) или&nbsp;в&nbsp;судебном порядке.</p>

      <h4>11. Контакты для&nbsp;запросов по&nbsp;персональным данным</h4>
      <p>По&nbsp;всем вопросам обработки персональных данных, отзыва согласия и&nbsp;реализации прав субъекта обращайтесь:<br/>
      Телефон: +7&nbsp;(963)&nbsp;671-99-83<br/>
      Telegram: <a href="https://t.me/+79636719983" target="_blank" rel="noopener noreferrer">t.me/+79636719983</a><br/>
      Ответ на&nbsp;запрос направляется не&nbsp;позднее 10&nbsp;рабочих дней с&nbsp;даты получения запроса.</p>
    </div>

    <button class="btn btn-primary btn-lg" style="width:100%; margin-top:18px" onclick="closePrivacy()">Понятно, закрыть</button>
  </div>
</div>

<!-- Cookie info modal -->
<div class="modal-bg" id="cookieInfoModal" onclick="if(event.target===this) closeCookieInfo()" role="dialog" aria-modal="true" aria-label="Информация о куках">
  <div class="modal" style="max-width:600px;max-height:85vh;overflow-y:auto">
    <button class="modal-close" onclick="closeCookieInfo()" aria-label="Закрыть">×</button>
    <span class="eyebrow">Политика куков</span>
    <h3 style="margin-bottom:18px">Какие куки мы используем</h3>
    <div style="font-size:15px;line-height:1.7;color:var(--ink)">
      <p>Куки (cookies) — небольшие текстовые файлы, которые сайт сохраняет в вашем браузере. Они помогают сайту работать корректно и позволяют нам понимать, как вы им пользуетесь.</p>
      <h4 style="margin:20px 0 8px;font-size:16px">🔧 Необходимые куки</h4>
      <p>Эти куки нужны для работы самого сайта. Без них сайт не сможет правильно функционировать. Они не собирают личную информацию и не используются для рекламы.</p>
      <ul style="padding-left:20px;margin:8px 0">
        <li><strong>cookieChoice</strong> — запоминает ваш выбор согласия на куки, чтобы не показывать баннер повторно.</li>
        <li><strong>cookieChoiceDate</strong> — дата, когда вы сделали этот выбор.</li>
      </ul>
      <h4 style="margin:20px 0 8px;font-size:16px">📊 Аналитические куки</h4>
      <p>Устанавливаются только если вы нажали «Принять». Помогают нам понять, как посетители взаимодействуют с сайтом: какие страницы смотрят, откуда приходят, как долго остаются. Эти данные используются исключительно для улучшения сайта.</p>
      <ul style="padding-left:20px;margin:8px 0">
        <li><strong>Яндекс.Метрика</strong> — анализ посещаемости, карта кликов, вебвизор. Данные хранятся на серверах Яндекса. <a href="https://yandex.ru/legal/metrika_termsofuse/" target="_blank" rel="noopener noreferrer" style="color:var(--accent)">Условия Яндекс.Метрики →</a></li>
        <li><strong>Google Analytics (GA4)</strong> — статистика посещений и поведения пользователей. IP-адрес анонимизируется. <a href="https://policies.google.com/privacy" target="_blank" rel="noopener noreferrer" style="color:var(--accent)">Политика Google →</a></li>
      </ul>
      <h4 style="margin:20px 0 8px;font-size:16px">🗺 Куки сторонних сервисов</h4>
      <p>При отображении Яндекс.Карт и Яндекс.Профиля Яндекс может устанавливать собственные куки в соответствии со своей политикой конфиденциальности.</p>
      <h4 style="margin:20px 0 8px;font-size:16px">⚙️ Управление куками</h4>
      <p>Вы можете в любой момент:</p>
      <ul style="padding-left:20px;margin:8px 0">
        <li>Удалить куки через настройки браузера.</li>
        <li>Запретить сохранение куков в настройках браузера.</li>
        <li>Отозвать согласие на аналитику, очистив куки сайта — баннер появится снова.</li>
      </ul>
      <p style="margin-top:18px;font-size:13px;color:#888">Если у вас есть вопросы — напишите нам в <a href="https://t.me/+79636719983" target="_blank" rel="noopener noreferrer" style="color:var(--accent)">Telegram</a> или позвоните: +7&nbsp;(963)&nbsp;671-99-83.</p>
    </div>
    <button class="btn btn-primary btn-lg" style="width:100%;margin-top:20px" onclick="closeCookieInfo()">Понятно, закрыть</button>
  </div>
</div>

<!-- Cookie consent banner (152-ФЗ) -->
<div id="cookieBanner" class="cookie-banner" role="dialog" aria-label="Cookie-уведомление">
  <div class="cookie-content">
    <span class="cookie-icon" aria-hidden="true">🍪</span>
    <div class="cookie-text">
      <strong>Мы используем cookies</strong>
      <p>Для работы виджетов Яндекс.Карт и&nbsp;Яндекс.Профиля, а&nbsp;также для&nbsp;аналитики посещений. <a href="#" onclick="openCookieInfo();return false;" style="color:inherit;text-decoration:underline;font-weight:600;">Подробнее о&nbsp;куках&nbsp;→</a></p>
    </div>
    <div class="cookie-actions">
      <button type="button" onclick="acceptCookies()" class="cookie-btn cookie-btn-primary">Принять</button>
      <button type="button" onclick="rejectCookies()" class="cookie-btn cookie-btn-ghost">Только необходимые</button>
    </div>
  </div>
</div>

<!-- Modal -->
<div class="modal-bg" id="modal" onclick="if(event.target===this) closeModal()" role="dialog" aria-modal="true" aria-labelledby="modalTitle">
  <div class="modal">
    <button class="modal-close" onclick="closeModal()" aria-label="Закрыть">×</button>
    <span class="eyebrow" id="modalEyebrow">Запись на первый урок</span>
    <h3 id="modalTitle">Танцуй ярко. Сияй на&nbsp;сцене.</h3>
    <p class="small" id="modalSubtitle">Напишите нам в&nbsp;Telegram или Max, или позвоните&nbsp;— ответим сразу и&nbsp;подберём время для&nbsp;пробного занятия.</p>
    <div style="display:grid; gap:12px">
      <a class="btn btn-primary btn-lg" style="background:linear-gradient(135deg,#2AABEE,#229ED9)" href="https://t.me/+79636719983" target="_blank" rel="noopener noreferrer" data-goal="cta_telegram_modal">
        <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"><path d="M22 2.5L2.5 9.7c-1.4.5-1.3 1.3-.2 1.7l5 1.5 1.9 5.7c.2.7.6.9 1.3.5l3-2.2 4.5 3.3c.8.5 1.4.2 1.6-.7l3-14c.3-1.1-.4-1.6-1.6-1z"/></svg>
        Написать в Telegram
      </a>
      <a class="btn btn-primary btn-lg" style="background:linear-gradient(135deg,#4F7FFF,#7B4FFF); box-shadow:0 14px 30px -12px rgba(127,79,255,.55)" href="https://max.ru/u/f9LHodD0cOICny7_4ueVCXgFmHiWYBfMGbfaAM8uDY3EgFRawpyVXuzBn3Y" target="_blank" rel="noopener noreferrer" data-goal="cta_max_modal">
        <svg width="22" height="22" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><defs><linearGradient id="mg_modal" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" stop-color="#4F7FFF"/><stop offset="100%" stop-color="#7B4FFF"/></linearGradient></defs><rect width="40" height="40" rx="10" fill="rgba(255,255,255,0.25)"/><path d="M9 12.5C9 10.6 10.6 9 12.5 9h15C29.4 9 31 10.6 31 12.5v10C31 24.4 29.4 26 27.5 26H22l-5 5v-5h-4.5C10.6 26 9 24.4 9 22.5v-10z" fill="white"/></svg>
        Написать в Max
      </a>
      <a class="btn btn-primary btn-lg" style="background:linear-gradient(135deg, var(--ink) 0%, #2E2D45 100%)" href="tel:+79636719983" data-goal="cta_call_modal">
        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z"/></svg>
        Позвонить +7 (963) 671-99-83
      </a>
    </div>
  </div>
</div>

<script>
  // Inject elegant logo stamp into the top-right of every section (except hero, where the logo is already prominent)
  document.querySelectorAll('section').forEach(s => {
    if (s.id === 'hero' || s.id === 'about') return;
    const mark = document.createElement('div');
    mark.className = 'section-mark';
    mark.setAttribute('aria-hidden', 'true');
    const img = document.createElement('img');
    img.src = 'logo.jpg';
    img.alt = '';
    img.loading = 'lazy';
    img.decoding = 'async';
    img.width = 80;
    img.height = 80;
    mark.appendChild(img);
    s.appendChild(mark);
  });

  // Sticky nav
  const nav = document.getElementById('nav');
  const onScroll = () => nav.classList.toggle('scrolled', window.scrollY > 30);
  window.addEventListener('scroll', onScroll, { passive: true });
  onScroll();

  // Burger menu
  const burger = document.getElementById('burger');
  const menu = document.getElementById('menu');
  burger?.addEventListener('click', () => {
    const isOpen = menu.classList.toggle('open');
    burger.setAttribute('aria-expanded', isOpen ? 'true' : 'false');
    burger.setAttribute('aria-label', isOpen ? 'Закрыть меню' : 'Открыть меню');
  });
  menu?.querySelectorAll('a').forEach(a => a.addEventListener('click', () => {
    menu.classList.remove('open');
    burger?.setAttribute('aria-expanded', 'false');
    burger?.setAttribute('aria-label', 'Открыть меню');
  }));

  // Reveal on scroll
  const io = new IntersectionObserver((entries) => {
    entries.forEach(e => {
      if (e.isIntersecting) {
        e.target.classList.add('in');
        io.unobserve(e.target);
      }
    });
  }, { threshold: 0.12, rootMargin: '0px 0px -40px 0px' });
  document.querySelectorAll('.reveal').forEach(el => io.observe(el));

  // Animated counters
  const animateCount = (el) => {
    const target = parseInt(el.dataset.count, 10);
    const suffix = el.dataset.suffix || '';
    const duration = 1600;
    const start = performance.now();
    const tick = (now) => {
      const t = Math.min(1, (now - start) / duration);
      const eased = 1 - Math.pow(1 - t, 3);
      const value = Math.round(target * eased);
      el.textContent = value + suffix;
      if (t < 1) requestAnimationFrame(tick);
    };
    requestAnimationFrame(tick);
  };
  const counterIO = new IntersectionObserver((entries) => {
    entries.forEach(e => {
      if (e.isIntersecting) {
        animateCount(e.target);
        counterIO.unobserve(e.target);
      }
    });
  }, { threshold: 0.5 });
  document.querySelectorAll('[data-count]').forEach(el => counterIO.observe(el));

  // Subtle parallax on hero photo when mouse moves over hero
  const hero = document.getElementById('hero');
  const heroPhoto = document.querySelector('.hero-photo');
  if (hero && heroPhoto && window.matchMedia('(hover: hover)').matches){
    hero.addEventListener('mousemove', (e) => {
      const rect = hero.getBoundingClientRect();
      const cx = (e.clientX - rect.left) / rect.width - 0.5;
      const cy = (e.clientY - rect.top) / rect.height - 0.5;
      heroPhoto.style.transform = `translate(${cx*-10}px, ${cy*-10}px)`;
    });
    hero.addEventListener('mouseleave', () => heroPhoto.style.transform = '');
  }

  // Modal
  function openModal(topic) {
    var titles = {
      intensiv: {
        eyebrow: 'Летний интенсив',
        title: 'Запишитесь на&nbsp;летний интенсив',
        sub: 'Напишите нам в&nbsp;Telegram или Max, или позвоните&nbsp;— расскажем всё о&nbsp;программе и&nbsp;запишем ребёнка.'
      },
      trial: {
        eyebrow: 'Пробное занятие',
        title: 'Первое занятие&nbsp;— бесплатно',
        sub: 'Напишите нам в&nbsp;Telegram или Max, или позвоните&nbsp;— подберём группу и&nbsp;время для&nbsp;пробного урока.'
      },
      online: {
        eyebrow: 'Онлайн-занятие',
        title: 'Умный фитнес онлайн',
        sub: 'Напишите нам в&nbsp;Telegram или Max, или позвоните&nbsp;— расскажем расписание и&nbsp;запишем на&nbsp;первое занятие.'
      },
      default: {
        eyebrow: 'Запись на первый урок',
        title: 'Танцуй ярко. Сияй на&nbsp;сцене.',
        sub: 'Напишите нам в&nbsp;Telegram или Max, или позвоните&nbsp;— ответим сразу и&nbsp;подберём время для&nbsp;пробного занятия.'
      }
    };
    var t = titles[topic] || titles.default;
    document.getElementById('modalEyebrow').textContent = t.eyebrow;
    document.getElementById('modalTitle').innerHTML = t.title;
    document.getElementById('modalSubtitle').innerHTML = t.sub;
    document.getElementById('modal').classList.add('open');
    document.body.style.overflow = 'hidden';
  }
  function closeModal() {
    document.getElementById('modal').classList.remove('open');
    document.body.style.overflow = '';
  }
  // Privacy modal
  function openPrivacy() {
    document.getElementById('privacyModal').classList.add('open');
    document.body.style.overflow = 'hidden';
  }
  function closePrivacy() {
    document.getElementById('privacyModal').classList.remove('open');
    document.body.style.overflow = '';
  }

  // Cookie info modal
  function openCookieInfo() {
    document.getElementById('cookieInfoModal').classList.add('open');
    document.body.style.overflow = 'hidden';
  }
  function closeCookieInfo() {
    document.getElementById('cookieInfoModal').classList.remove('open');
    document.body.style.overflow = '';
  }

  // ============ Cookie consent (152-ФЗ) ============
  function showCookieBanner(){
    try{ if(localStorage.getItem('cookieChoice')) return; }catch(e){}
    setTimeout(()=>{
      const el = document.getElementById('cookieBanner');
      if(el) el.classList.add('show');
    }, 900);
  }
  function setCookieChoice(choice){
    try{ localStorage.setItem('cookieChoice', choice); localStorage.setItem('cookieChoiceDate', new Date().toISOString()); }catch(e){}
    const el = document.getElementById('cookieBanner');
    if(el){
      el.classList.remove('show');
      setTimeout(()=>{ el.style.display='none'; }, 700);
    }
    if(choice === 'accepted') loadAnalytics();
  }
  function acceptCookies(){ setCookieChoice('accepted'); }
  function rejectCookies(){ setCookieChoice('rejected'); }
  // ============================================================
  // Аналитика грузится ТОЛЬКО после согласия (152-ФЗ + GDPR-like).
  // Чтобы активировать: замените YM_COUNTER_ID и CLARITY_ID на реальные.
  // Инструкция: см. «Аналитика и SEO — чеклист подключения.md»
  // ============================================================
  var YM_COUNTER_ID  = 89391976;  // Татьянин День — metrika.yandex.ru/dashboard?id=89391976
  var CLARITY_ID     = null;  // например: "abcd1234ef"  (получить на clarity.microsoft.com)
  var GA4_ID         = 'G-31FPXBHXEV';
  var GTM_ID         = 'GTM-NG4GMMWB';
  // var VK_PIXEL_ID = null;  // например: "VK-RTRG-000000-XXXXX"  (для рекламы ВКонтакте)

  function loadYandexMetrika(){
    if(!YM_COUNTER_ID) return;
    (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
      m[i].l=1*new Date();
      for (var j = 0; j < document.scripts.length; j++) {if (document.scripts[j].src === r) { return; }}
      k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})
      (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
    ym(YM_COUNTER_ID, "init", {
      clickmap: true,
      trackLinks: true,
      accurateTrackBounce: true,
      webvisor: true,
      ecommerce: "dataLayer"
    });
    // <noscript> fallback
    var ns = document.createElement('noscript');
    ns.innerHTML = '<div><img src="https://mc.yandex.ru/watch/' + YM_COUNTER_ID + '" style="position:absolute; left:-9999px;" alt="" /></div>';
    document.body.appendChild(ns);
  }

  function loadMicrosoftClarity(){
    if(!CLARITY_ID) return;
    (function(c,l,a,r,i,t,y){
      c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
      t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
      y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
    })(window, document, "clarity", "script", CLARITY_ID);
  }

  function loadGTM(){
    if(!GTM_ID || window.__gtmLoaded) return;
    window.__gtmLoaded = true;
    window.dataLayer = window.dataLayer || [];
    window.dataLayer.push({'gtm.start': new Date().getTime(), event: 'gtm.js'});
    var s = document.createElement('script');
    s.async = true;
    s.src = 'https://www.googletagmanager.com/gtm.js?id=' + GTM_ID;
    document.head.appendChild(s);
  }

  function loadGA4(){
    if(!GA4_ID || window.__ga4Loaded) return;
    window.__ga4Loaded = true;
    var s = document.createElement('script');
    s.async = true;
    s.src = 'https://www.googletagmanager.com/gtag/js?id=' + GA4_ID;
    document.head.appendChild(s);
    window.dataLayer = window.dataLayer || [];
    function gtag(){dataLayer.push(arguments);}
    window.gtag = gtag;
    gtag('js', new Date());
    gtag('config', GA4_ID, { anonymize_ip: true });
  }

  function loadAnalytics(){
    try { loadGTM(); } catch(e) { console.warn('GTM load failed', e); }
    try { loadGA4(); } catch(e) { console.warn('GA4 load failed', e); }
    try { loadYandexMetrika(); } catch(e) { console.warn('YM load failed', e); }
    try { loadMicrosoftClarity(); } catch(e) { console.warn('Clarity load failed', e); }
  }

  // ============================================================
  // Цели для Метрики — вызываются с кнопок/ссылок через data-goal.
  // В Метрике заведите цели типа "JavaScript-событие" с теми же id.
  // ============================================================
  function reachGoal(goalId, params){
    try {
      if (window.ym && YM_COUNTER_ID) ym(YM_COUNTER_ID, 'reachGoal', goalId, params || {});
      if (window.clarity) clarity('set', 'goal', goalId);
      if (window.gtag) gtag('event', goalId, params || {});
      if (window.dataLayer) dataLayer.push({ event: goalId, goalParams: params || {} });
    } catch(e) { /* analytics not loaded yet */ }
  }

  // Scroll depth tracking — fires at 25%, 50%, 75%, 90%
  (function(){
    var depths = [25, 50, 75, 90], fired = {};
    window.addEventListener('scroll', function(){
      var pct = Math.round((window.scrollY / (document.body.scrollHeight - window.innerHeight)) * 100);
      depths.forEach(function(d){
        if (!fired[d] && pct >= d) { fired[d] = true; reachGoal('scroll_depth_' + d); }
      });
    }, { passive: true });
  })();

  // Engagement time — fire at 30s and 90s on page
  (function(){
    var checkpoints = { 30: false, 90: false };
    var start = Date.now();
    setInterval(function(){
      var elapsed = Math.round((Date.now() - start) / 1000);
      if (!checkpoints[30] && elapsed >= 30) { checkpoints[30] = true; reachGoal('time_on_page_30s'); }
      if (!checkpoints[90] && elapsed >= 90) { checkpoints[90] = true; reachGoal('time_on_page_90s'); }
    }, 5000);
  })();
  // Делегированный обработчик: любой элемент с data-goal="..." считается целью.
  document.addEventListener('click', function(e){
    var el = e.target.closest('[data-goal]');
    if (!el) return;
    reachGoal(el.getAttribute('data-goal'));
  }, { passive: true });
  document.addEventListener('DOMContentLoaded', function(){
    showCookieBanner();
    try{ if(localStorage.getItem('cookieChoice') === 'accepted') loadAnalytics(); }catch(e){}
  });
  document.addEventListener('keydown', (e) => {
    if (e.key === 'Escape') { closeModal(); closePrivacy(); closeCookieInfo(); }
  });

  // 152-ФЗ: enable submit button only when consent is checked
  const consentBox = document.getElementById('consentCheckbox');
  const submitBtn = document.getElementById('submitBtn');
  const submitBtnMax = document.getElementById('submitBtnMax');
  if (consentBox && submitBtn){
    const sync = () => {
      submitBtn.disabled = !consentBox.checked;
      if (submitBtnMax) submitBtnMax.disabled = !consentBox.checked;
    };
    consentBox.addEventListener('change', sync);
    sync();
  }

  // Form submit -> copy ready-made message to clipboard and open Telegram chat
  function submitForm(e, target) {
    if (e && e.preventDefault) e.preventDefault();
    const form = document.getElementById('signupForm');
    if (!form) return false;
    if (!form.reportValidity()) return false;
    // 152-ФЗ: hard-block submit if consent not given
    const cb = document.getElementById('consentCheckbox');
    if (cb && !cb.checked){
      showFormToast('Поставьте галочку согласия на обработку данных');
      return false;
    }

    const fd = new FormData(form);
    const name  = (fd.get('name')  || '').toString().trim();
    const phone = (fd.get('phone') || '').toString().trim();
    const age   = (fd.get('age')   || '').toString().trim();

    const message =
      'Здравствуйте! Хочу записать ребёнка на пробный урок в детский театр танцев «Татьянин День».\n\n' +
      'Имя родителя: ' + name + '\n' +
      'Телефон: ' + phone + '\n' +
      'Возраст ребёнка: ' + age + ' лет';

    // Telegram doesn't accept prefilled text via t.me chat link, so we copy the
    // ready-made message to the clipboard and open the chat for one-tap paste.
    try { navigator.clipboard && navigator.clipboard.writeText(message); } catch (_) {}
    if (target === 'max') {
      showFormToast('Сообщение скопировано — вставьте его в Max');
      reachGoal('form_submit_max', { age: age });
      window.open('https://max.ru/u/f9LHodD0cOICny7_4ueVCXgFmHiWYBfMGbfaAM8uDY3EgFRawpyVXuzBn3Y', '_blank', 'noopener');
    } else {
      showFormToast('Сообщение скопировано — вставьте его в Telegram');
      reachGoal('trial_form_submit', { age: age });
      reachGoal('form_submit', { age: age });
      window.open('https://t.me/+79636719983', '_blank', 'noopener');
    }
    return false;
  }

  // Lightweight toast for the Telegram path
  function showFormToast(text){
    let t = document.getElementById('formToast');
    if (!t){
      t = document.createElement('div');
      t.id = 'formToast';
      t.style.cssText = 'position:fixed;left:50%;bottom:32px;transform:translateX(-50%);background:#1B1B2E;color:#fff;padding:14px 22px;border-radius:14px;font-size:14px;font-weight:500;box-shadow:0 16px 40px -12px rgba(0,0,0,.4);z-index:200;opacity:0;transition:opacity .3s, transform .3s;pointer-events:none;max-width:90vw;text-align:center';
      document.body.appendChild(t);
    }
    t.textContent = text;
    requestAnimationFrame(() => { t.style.opacity = '1'; t.style.transform = 'translateX(-50%) translateY(0)'; });
    clearTimeout(window.__toastTimer);
    window.__toastTimer = setTimeout(() => { t.style.opacity = '0'; }, 3200);
  }
</script>
</body>
</html>
