@font-face{font-family:'Nunito';font-style:normal;font-weight:400 900;font-display:swap;src:url(fonts/nunito-cyrillic.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'Nunito';font-style:normal;font-weight:400 900;font-display:swap;src:url(fonts/nunito-cyrillic-ext.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
@font-face{font-family:'Nunito';font-style:normal;font-weight:400 900;font-display:swap;src:url(fonts/nunito-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Nunito';font-style:normal;font-weight:400 900;font-display:swap;src:url(fonts/nunito-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Onest';font-style:normal;font-weight:300 700;font-display:swap;src:url(fonts/onest-cyrillic.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'Onest';font-style:normal;font-weight:300 700;font-display:swap;src:url(fonts/onest-cyrillic-ext.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
@font-face{font-family:'Onest';font-style:normal;font-weight:300 700;font-display:swap;src:url(fonts/onest-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Onest';font-style:normal;font-weight:300 700;font-display:swap;src:url(fonts/onest-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Onest';font-style:normal;font-weight:300 700;font-display:swap;src:url(fonts/onest-math.woff2) format('woff2');unicode-range:U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF}
@font-face{font-family:'Onest';font-style:normal;font-weight:300 700;font-display:swap;src:url(fonts/onest-symbols.woff2) format('woff2');unicode-range:U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF}
/* ============================================================
   ДИЗАЙН-ТОКЕНЫ — вся визуальная система в одном месте.
   Меняешь значения здесь → меняется весь сайт.
   ============================================================ */
:root{
  /* 04.10: палитра «Фиолет + шафран» — выбрана владельцем */
  /* --- ЦВЕТ: акцент --- */
  --c-accent:        #7725DD;   /* основной акцент — фиолетовый с логотипа */
  --c-accent-dark:   #5A17AC;   /* тёмный оттенок акцента: ховеры, текст на светлом */
  --c-accent-light:  #C4A0F5;   /* светлый оттенок: декор, обводки */
  --c-accent-soft:   #F1E7FD;   /* фоновая заливка акцента: панели, чипы */
  /* --- ЦВЕТ: вторичные акценты --- */
  /* Вторичный цвет и CTA задаёт выбранная палитра (переключатель внизу справа).
     Имена --c-lime / --c-coral исторические: сейчас это просто
     «вторичный цвет» и «цвет кнопки». */
  --c-lime:          #FAEBC0;   /* вторичный цвет: плашки и блоки */
  --c-lime-deep:     #EED795;   /* вторичный темнее: обводки, ховер */
  --c-coral:         #C9184A;   /* CTA — главная кнопка */
  --c-coral-dark:    #A4133C;
  /* --- ЦВЕТ: границы и нейтральные --- */
  --c-border:        #E9E4DC;   /* цвет границ */
  --c-ink:           #1B1A22;   /* основной текст */
  --c-ink-2:         #504E5E;   /* второстепенный текст */
  --c-ink-3:         #8C8998;   /* подписи, мета */
  /* --- ЦВЕТ: фоны --- */
  --c-bg:            #FEFDFA;   /* фон страницы */
  --c-bg-alt:        #F6F3EE;   /* фон альтернативных секций */
  --c-surface:       #FFFFFF;   /* фон карточек */
  --c-on-accent:     #FFFFFF;   /* текст на акценте */

  /* --- ТИПОГРАФИКА --- */
  --f-display: "Nunito", "Trebuchet MS", sans-serif;  /* заголовки */
  --f-text:    "Onest", "Segoe UI", sans-serif;       /* текст */
  /* Шкала с шагом ~1.25 от базовых 17px. Соседние уровни отличаются
     заметно, но не втрое — иерархия читается без разрывов. */
  --fs-h1:    clamp(34px, 4.1vw, 54px);
  --fs-h2:    clamp(26px, 2.7vw, 38px);
  --fs-h3:    clamp(19px, 1.5vw, 23px);
  --fs-lead:  clamp(17px, 1.3vw, 20px);   /* подзаголовки и вводные абзацы */
  --fs-body:  clamp(16px, 1.05vw, 17px);
  --fs-small: clamp(14px, 0.95vw, 15px);
  --fs-micro: clamp(12px, 0.85vw, 13px);  /* подписи и мета */
  --lh-tight: 1.1;
  --lh-text:  1.6;

  /* --- ОТСТУПЫ --- */
  --sp:      8px;                        /* шаг сетки: всё кратно 8 */
  --sec-y:   clamp(48px, 5vw, 88px);     /* вертикальный ритм секций */
  --card-p:  clamp(20px, 1.8vw, 28px);   /* внутренние отступы карточек */
  --gap:     clamp(16px, 1.4vw, 24px);
  --maxw:    1240px;
  --pad-x:   clamp(16px, 3vw, 28px);     /* поля контейнера — одни на весь сайт */

  /* --- ФОРМЫ: радиусы и тени --- */
  --r-card:  28px;
  --r-sm:    18px;
  --r-btn:   999px;
  --r-field: 14px;
  --sh-1: 0 2px 10px rgba(27,26,34,.05);
  --sh-2: 0 20px 48px -20px rgba(27,26,34,.25);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--c-bg);color:var(--c-ink);font-family:var(--f-text);font-size:var(--fs-body);line-height:var(--lh-text);-webkit-font-smoothing:antialiased;text-wrap:pretty}
h1,h2,h3{font-family:var(--f-display);margin:0;line-height:var(--lh-tight);letter-spacing:-.02em}
p{margin:0}
a{color:var(--c-accent-dark);text-decoration:none}
a:hover{color:var(--c-coral)}
button{font-family:inherit;cursor:pointer}
input,textarea{font-family:inherit;font-size:inherit;color:inherit}
::placeholder{color:var(--c-ink-3)}
@keyframes floatY{from{transform:translateY(-10px) rotate(var(--rot,0deg))}to{transform:translateY(14px) rotate(var(--rot,0deg))}}
@keyframes driftX{from{transform:translateX(-16px) rotate(var(--rot,0deg))}to{transform:translateX(18px) rotate(var(--rot,0deg))}}
@keyframes pillDrop{0%{transform:translateY(-180px) rotate(var(--rot,0deg));opacity:0}55%{opacity:1}78%{transform:translateY(8px) rotate(var(--rot,0deg))}100%{transform:translateY(0) rotate(var(--rot,0deg));opacity:1}}
@keyframes spinSlow{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@media (prefers-reduced-motion: reduce){
  *{animation:none !important;transition:none !important}
  html{scroll-behavior:auto}
}

/* ============================================================
   ОБЪЁМНЫЙ ДЕКОР ПЕРВОГО ЭКРАНА.
   Одна механика на все фигуры: набор слоёв, разведённых по оси Z,
   даёт толщину; поворот берётся из --mx/--my, их пишет скрипт внизу.
   Форму задаёт data-shape, цвет — набор слоёв в разметке.
   ============================================================ */
.eu-scene{position:absolute;inset:0;perspective:1400px;perspective-origin:50% 50%;
  pointer-events:none;overflow:hidden;z-index:0}
/* сцена не растягивается на сверхширокие мониторы */
.eu-stage{position:absolute;top:0;bottom:0;left:50%;width:min(100%,1800px);
  transform:translateX(-50%);transform-style:preserve-3d}

.eu-cap{position:absolute;top:var(--y,0);left:var(--x,auto);right:var(--rx,auto);
  width:calc(var(--s,1) * var(--w,160px));height:calc(var(--s,1) * var(--h,58px));
  font:600 calc(var(--s,1) * 20px)/1 var(--f-text);
  transform-style:preserve-3d;
  animation:euRay var(--t,9s) ease-in-out infinite alternate;
  animation-delay:var(--d,0s);
  filter:drop-shadow(0 calc(var(--s,1) * 15px) calc(var(--s,1) * 20px) rgba(80,40,140,.20))}

/* Поворот заметно мягче прежнего: фигуры парят и чуть доворачиваются,
   а не переваливаются через ребро. */
.eu-cap-spin{position:absolute;inset:0;transform-style:preserve-3d;
  transform:rotateZ(var(--flip,0deg))
            rotateY(calc(var(--bry,0deg) + var(--mx,0) * 20deg * var(--k,1)))
            rotateX(calc(var(--brx,0deg) + var(--my,0) * -9deg * var(--k,1)));
  transition:transform .7s cubic-bezier(.22,.68,.3,1)}
.eu-cap-spin i{position:absolute;inset:0;transform:translateZ(var(--lz,0px));
  backface-visibility:visible}

/* формы */
.eu-cap[data-shape="pill"] i,.eu-cap-face{border-radius:999px}
.eu-cap[data-shape="ball"] i{border-radius:50%}
.eu-cap[data-shape="star"] i{clip-path:polygon(50% 0%,60% 30%,92% 31%,67% 52%,76% 84%,
  50% 65%,24% 84%,33% 52%,8% 31%,40% 30%)}
.eu-cap[data-shape="ring"] i{border-radius:50%;background:transparent !important;
  border:calc(var(--s,1) * 9px) solid var(--ring,#DCCFF5)}

.eu-cap-face{position:absolute;inset:0;
  display:grid;place-items:center;text-align:center;white-space:nowrap;
  color:var(--c-accent);letter-spacing:.01em;
  padding:0 calc(var(--s,1) * 16px);backface-visibility:hidden}
.eu-cap-face.front{transform:translateZ(.6px)}
.eu-cap-face.back{transform:translateZ(-14.6px) rotateY(180deg)}

/* Цифры в объёмных пилюлях — стоят в потоке под кнопками */
.eu-stats{display:flex;flex-wrap:wrap;justify-content:center;
  gap:clamp(12px,1.4vw,20px);margin-top:clamp(26px,3vw,42px);perspective:1400px}
.eu-stat{position:relative;flex:0 0 auto;
  width:clamp(150px,16vw,206px);height:clamp(86px,8.4vw,102px);
  transform-style:preserve-3d;
  animation:euRay var(--t,10s) ease-in-out infinite alternate;
  animation-delay:var(--d,0s);
  filter:drop-shadow(0 14px 22px rgba(80,40,140,.18))}
.eu-stat .eu-cap-spin{transition:transform .8s cubic-bezier(.22,.68,.3,1)}
/* 03.10: цифры плоские — без объёма, наклона и качания */
.eu-stat{animation:none !important;filter:none !important;transform-style:flat}
.eu-stat .eu-cap-spin{transform:none !important;transition:none}
.eu-stat-face{transform:none;border:1px solid var(--c-border);box-shadow:var(--sh-1)}
.eu-stat i{border-radius:999px}
.eu-stat-face{position:absolute;inset:0;border-radius:999px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:3px;padding:0 clamp(12px,1.2vw,18px);text-align:center;
  transform:translateZ(.6px);backface-visibility:hidden}
.eu-stat-face b{font:900 clamp(21px,2.1vw,29px)/1 var(--f-display);color:var(--c-ink)}
.eu-stat-face em{font-style:normal;font-size:clamp(11px,.85vw,12px);line-height:1.25;
  color:var(--c-ink-3);white-space:normal}

/* Капсула качается по вертикали и чуть наклоняется. */
@keyframes euRay{
  from{transform:translate3d(0,calc(var(--amp,12px) * -1),var(--z,0px)) rotate(var(--rz,0deg))}
  to  {transform:translate3d(0,var(--amp,12px),var(--z,0px)) rotate(calc(var(--rz,0deg) + 3deg))}
}
@media (prefers-reduced-motion: reduce){
  .eu-cap,.eu-stat{animation:none}
  .eu-cap-spin{transition:none}
}
/* ============================================================
   АДАПТИВ. Разметка собрана на инлайновых style="", классов у
   элементов нет — поэтому правила бьются через !important по
   меткам data-r. Проверено на 400 / 760 / 1024 / 1280 px.
   ============================================================ */
html,body{max-width:100%}
img,svg{max-width:100%;height:auto}
h1,h2,h3,p,li,td{overflow-wrap:break-word}
/* Пункты меню и кнопки не переносим: они короткие, а разрыв читается как ошибка. */
header nav a,header a[data-r="hdr-cta"]{white-space:nowrap}

/* --- планшет: шапка уже в режиме бургера, ужимаем кнопку --- */
@media (max-width:1080px){
  [data-r="hdr-cta"]{padding:11px 16px !important;font-size:14px !important}
  [data-r="hdr-logo"] svg{height:30px !important;width:auto !important}
}

/* --- узкие экраны: кнопка из шапки переезжает в бургер-меню --- */
@media (max-width:760px){
  [data-r="hdr-cta"]{display:none !important}
  /* боковые плашки первого экрана наезжали на фото — на узком их убираем */
  [data-r="hero-side"]{display:none !important}
  [data-r="hero-photo"]{width:clamp(150px,38vw,190px) !important}
  [data-r="hero-lower"]{height:clamp(200px,46vw,240px) !important}
  .eu-cap{width:calc(var(--s,1) * var(--w,160px) * .70) !important;
          height:calc(var(--s,1) * var(--h,58px) * .74) !important;
          font-size:calc(var(--s,1) * 13px) !important}
  .eu-stat{width:calc(50% - 8px) !important;height:78px !important}
  /* по бокам места нет: уводим капсулы за край, наружу торчат только
     кончики — текст остаётся чистым */
  .eu-cap[data-hide-sm]{display:none !important}
  .eu-cap[data-side="l"]{--x:-19% !important}
  .eu-cap[data-side="r"]{--rx:-19% !important}
  /* четыре цифры в столбик занимали пол-экрана — ставим в две колонки */
  [data-r="hero-stats"]{display:grid !important;grid-template-columns:1fr 1fr !important;
                        gap:12px 16px !important}
  [data-r="hero-stats"] > div > div:first-child{font-size:22px !important}
  [data-r="hero-stats"] > div > div:last-child{font-size:var(--fs-micro) !important;max-width:none !important}
  /* направления списком: на узком метки справа только мешают */
  [data-r="dir-tag"]{display:none !important}
  [data-r="dir-row"]{padding:12px 2px !important}
}

/* --- телефон --- */
@media (max-width:480px){
  :root{--card-p:18px;--r-card:22px;--r-sm:16px}
  [data-r="hdr-logo"] svg{height:26px !important}
}

/* ============================================================
   v10 (27.09.2026): меню-панель, полоса «напишите нам» вместо
   формы, мобильная версия секций.
   ============================================================ */
/* переход по якорю не прячет заголовок секции под липкую шапку:
   отступ равен высоте шапки (60–72px + граница) */
html{scroll-padding-top:73px}
@media (max-width:1153px){html{scroll-padding-top:61px}}

/* --- кнопка меню: бургер и крестик одного размера --- */
.eu-burger{width:44px;height:44px;flex:none;border:1px solid var(--c-border);background:var(--c-surface);
  border-radius:50%;display:grid;grid-template-columns:20px;place-items:center;align-content:center;justify-content:center;
  gap:4px;padding:0;color:var(--c-ink)}
.eu-burger span{display:block;width:20px;height:2px;border-radius:2px;background:currentColor}
.eu-burger span:last-child{width:14px;justify-self:end;background:var(--c-coral)}
.eu-burger svg{width:20px;height:20px}
.eu-burger[aria-expanded="true"]{background:var(--c-ink);border-color:var(--c-ink);color:var(--c-bg)}

/* --- меню: панель поверх страницы под шапкой, фон затемнён.
   Стоит вне тега шапки: у шапки backdrop-filter, внутри неё fixed
   считался бы от самой шапки. --- */
.eu-menu{position:fixed;left:0;right:0;top:61px;bottom:0;z-index:59;display:flex;flex-direction:column}
.eu-menu-bg{position:absolute;inset:0;background:rgba(27,26,34,.42);animation:euFade .2s ease}
.eu-menu-panel{position:relative;max-height:100%;overflow-y:auto;overscroll-behavior:contain;
  background:var(--c-surface);border-radius:0 0 var(--r-card) var(--r-card);box-shadow:var(--sh-2);
  padding:6px var(--pad-x) calc(20px + env(safe-area-inset-bottom,0px));
  animation:euDrop .22s cubic-bezier(.22,.68,.3,1)}
.eu-menu-in{max-width:var(--maxw);margin:0 auto}
.eu-menu-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));column-gap:28px}
.eu-menu-list a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:50px;
  padding:0 2px;border-bottom:1px solid var(--c-border);color:var(--c-ink);
  font:700 18px/1.2 var(--f-display);letter-spacing:-.01em}
.eu-menu-list a::after{content:"→";font:500 16px/1 var(--f-text);color:var(--c-ink-3)}
.eu-menu-list a:hover{color:var(--c-accent)}
.eu-menu-cta{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin-top:18px}
.eu-menu-cta a{display:flex;align-items:center;justify-content:center;min-height:54px;padding:0 18px;
  border-radius:var(--r-btn);font-weight:700;font-size:16px;text-align:center}
.eu-menu-cta a.main{background:var(--c-coral);color:var(--c-on-accent)}
.eu-menu-cta a.main:hover{background:var(--c-coral-dark);color:var(--c-on-accent)}
.eu-menu-cta a.alt{background:var(--c-accent-soft);color:var(--c-accent-dark)}
.eu-menu-cta a.alt:hover{background:var(--c-accent);color:var(--c-on-accent)}
.eu-menu-foot{display:flex;align-items:center;gap:10px;margin-top:16px;font-size:14px;color:var(--c-ink-2)}
.eu-menu-foot a{width:44px;height:44px;flex:none;border-radius:50%;display:grid;place-items:center;
  background:var(--c-accent-soft);color:var(--c-accent-dark)}
.eu-menu-foot a:hover{background:var(--c-accent);color:var(--c-on-accent)}
.eu-menu-foot span{margin-left:4px;line-height:1.35}
@keyframes euFade{from{opacity:0}to{opacity:1}}
@keyframes euDrop{from{transform:translateY(-10px);opacity:0}to{transform:none;opacity:1}}

/* --- полоса «напишите нам» + тест (вместо формы заявки) --- */
.eu-band{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr);margin-top:calc(var(--sp)*4);
  background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-card);
  overflow:hidden;box-shadow:var(--sh-1)}
.eu-talk{position:relative;padding:clamp(22px,2.4vw,36px);display:grid;gap:18px;align-content:center}
.eu-talk::after{content:"";position:absolute;top:-70px;right:-70px;width:220px;height:220px;
  border-radius:50%;background:var(--c-lime);opacity:.45;pointer-events:none}
.eu-talk > *,.eu-test > *{position:relative;z-index:1}
.eu-chip,.eu-badge{justify-self:start;background:var(--c-lime);color:var(--c-ink);border-radius:var(--r-btn);
  padding:7px 14px;font-size:13px;font-weight:700;letter-spacing:.02em;line-height:1.3}
.eu-talk h3{font-size:clamp(22px,2vw,30px);font-weight:900;max-width:14em}
.eu-talk p{font-size:15px;color:var(--c-ink-2);max-width:40em}
.eu-band-btns{display:flex;flex-wrap:wrap;gap:12px}
.eu-band-btns a{display:inline-flex;align-items:center;justify-content:center;gap:10px;flex:1 1 220px;
  min-height:58px;padding:0 22px;border-radius:var(--r-btn);font-weight:700;font-size:16px;
  transition:background .18s ease,color .18s ease,border-color .18s ease}
.eu-band-btns svg{width:20px;height:20px;flex:none}
.eu-band-btns a.tg{background:var(--c-coral);color:var(--c-on-accent);box-shadow:var(--sh-2)}
.eu-band-btns a.tg:hover{background:var(--c-coral-dark);color:var(--c-on-accent)}
.eu-band-btns a.ig{background:var(--c-accent-soft);color:var(--c-accent-dark);border:1.5px solid var(--c-accent-light)}
.eu-band-btns a.ig:hover{background:var(--c-accent);color:var(--c-on-accent);border-color:var(--c-accent)}
.eu-reply{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:14px;color:var(--c-ink-2)}
.eu-reply b{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--c-ink)}
.eu-pulse{width:9px;height:9px;border-radius:50%;background:var(--c-coral);flex:none;
  box-shadow:0 0 0 0 rgba(201,24,74,.45);animation:euPulse 2.4s ease-out infinite}
@keyframes euPulse{70%{box-shadow:0 0 0 10px rgba(201,24,74,0)}100%{box-shadow:0 0 0 0 rgba(201,24,74,0)}}
.eu-reply i{font-style:normal;color:var(--c-ink-3)}
.eu-test{position:relative;overflow:hidden;background:var(--c-accent);color:var(--c-on-accent);
  padding:clamp(22px,2.4vw,36px);display:grid;gap:14px;align-content:center}
.eu-test::after{content:"";position:absolute;bottom:-70px;left:-50px;width:200px;height:200px;
  border-radius:50%;background:rgba(255,255,255,.12);pointer-events:none}
.eu-test h3{font-size:clamp(19px,1.5vw,23px);font-weight:900}
.eu-test p{font-size:15px;opacity:.9}
.eu-test a{display:flex;align-items:center;justify-content:center;min-height:54px;background:var(--c-surface);
  color:var(--c-ink);border-radius:var(--r-btn);font-weight:700;transition:background .18s ease}
.eu-test a:hover{background:var(--c-lime);color:var(--c-ink)}
@media (max-width:820px){.eu-band{grid-template-columns:1fr}}

/* --- команда: карточки одной высоты; фото с вырезанным фоном на мягкой подложке --- */
.eu-t{flex:none;width:clamp(240px,26vw,300px);display:flex;flex-direction:column}
.eu-t-pic{position:relative;flex:none;height:clamp(300px,30vw,360px);border-radius:var(--r-card);overflow:hidden}
.eu-t-ph{position:absolute;inset:0;display:grid;place-items:center;padding-bottom:30px;
  font:900 128px/1 var(--f-display);color:var(--c-accent);opacity:.26}
.eu-t-card{flex:1;margin:-34px 12px 0;position:relative;background:var(--c-surface);border:1px solid var(--c-border);
  border-radius:var(--r-sm);padding:16px;box-shadow:var(--sh-1);display:flex;flex-direction:column;gap:4px}
.eu-t-card strong{font-family:var(--f-display);font-size:19px;line-height:1.2}
.eu-t-who{font-size:var(--fs-small);color:var(--c-ink-2);line-height:1.4}
.eu-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.eu-tags span{background:var(--c-bg-alt);color:var(--c-ink-2);border-radius:var(--r-btn);padding:5px 10px;
  font-size:13px;font-weight:600;line-height:1.25}
.eu-tags span.ex{background:var(--c-lime);color:var(--c-ink)}
/* строки тегов: каждый с новой строки; .eu-tl — несколько тегов одной строкой */
.eu-tags.lines{flex-direction:column;align-items:flex-start}
.eu-tags .eu-tl{display:flex;gap:6px;flex-wrap:nowrap}

/* --- отзывы: скриншоты сообщений из Telegram целиком, на подложке-«чате» --- */
.eu-shot{flex:none;width:clamp(290px,26vw,340px);align-self:flex-start;margin:0;display:flex;flex-direction:column;
  background:linear-gradient(165deg,var(--c-accent-soft) 0%,var(--c-lime) 100%);
  border-radius:var(--r-card);padding:12px 12px 16px;box-shadow:var(--sh-1)}
/* облако сообщения — в размер, близкий к экрану телефона: текст читается как в чате */
.eu-shot img{display:block;width:100%;height:auto;filter:drop-shadow(0 6px 14px rgba(80,40,140,.14))}
.eu-shot figcaption{display:flex;align-items:center;gap:8px;padding:4px 6px 12px;
  font-size:13px;font-weight:600;color:var(--c-accent-dark)}
/* материалы урока: лента досок одной высоты, на всю ширину — как команда и отзывы */
.eu-mat{margin-top:calc(var(--sp)*5)}
.eu-mat-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 20px;margin-bottom:16px}
.eu-mat-head strong{display:block;font:800 var(--fs-h3)/1.2 var(--f-display)}
.eu-mat-head span{display:block;margin-top:8px;font-size:var(--fs-small);line-height:1.55;color:var(--c-ink-2);max-width:52em}
.eu-mat-nav{display:flex;gap:8px}
.eu-mat-row{display:flex;align-items:flex-start;gap:var(--gap);overflow-x:auto;scroll-snap-type:x mandatory;
  scrollbar-width:none;padding:2px 0 10px}
.eu-mat-row::-webkit-scrollbar{display:none}
.eu-mat-row figure{flex:none;margin:0;display:flex;flex-direction:column;gap:8px;scroll-snap-align:start}
.eu-mat-row figure a{display:block;border-radius:var(--r-sm);overflow:hidden;border:1px solid var(--c-border);
  box-shadow:var(--sh-1);background:#fff;transition:transform .2s ease}
.eu-mat-row figure a:hover{transform:translateY(-2px)}
.eu-mat-row img{display:block;height:clamp(220px,24vw,320px);width:auto}
.eu-mat-row figcaption{width:0;min-width:100%;font-size:13px;font-weight:600;line-height:1.35;color:var(--c-ink-2)}

/* «О нас»: «ПРЕПОДАВАТЕЛЬ» не влезал в узкую карточку (3 в ряд, 150–165px) —
   кегль заголовка считается от ширины самой карточки, максимум прежний */
[data-r="about-card"]{container-type:inline-size}
[data-r="about-card"] > div:first-child{font-size:clamp(14px,10.2cqi,21px) !important}

/* 04.10: ленты листаются перетаскиванием мышью; во время перетаскивания прилипание к карточкам выключено,
   после — лента доезжает до ближайшей карточки (скрипт в конце шаблона) */
[data-drag]{cursor:grab}
.eu-mat-row figure a{cursor:zoom-in}
[data-drag].eu-dragging{scroll-snap-type:none !important;cursor:grabbing;user-select:none;-webkit-user-select:none}
[data-drag].eu-dragging *{cursor:grabbing !important}

/* 04.10: доски уроков открываются в окне поверх страницы, а не в новой вкладке */
.eu-lb{position:fixed;inset:0;z-index:10000;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:rgba(20,12,34,.97);
  color:#fff;font-family:var(--f-text);opacity:0;visibility:hidden;transition:opacity .2s ease,visibility 0s linear .2s}
.eu-lb.open{opacity:1;visibility:visible;transition:opacity .2s ease}
.eu-lb-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px}
.eu-lb-count{padding-left:6px;font-size:14px;font-weight:600;opacity:.7;font-variant-numeric:tabular-nums}
.eu-lb button{display:grid;place-items:center;width:46px;height:46px;padding:0;border-radius:50%;border:0;cursor:pointer;
  font:600 20px/1 var(--f-text);background:rgba(255,255,255,.14);color:#fff;transition:background .15s ease}
.eu-lb button:hover{background:rgba(255,255,255,.26)}
.eu-lb .eu-lb-next{background:var(--c-coral)}
.eu-lb .eu-lb-next:hover{background:var(--c-coral-dark)}
.eu-lb-prev,.eu-lb-next{position:absolute;top:50%;transform:translateY(-50%)}
.eu-lb-prev{left:16px}
.eu-lb-next{right:16px}
.eu-lb-stage{min-height:0;overflow:hidden;display:grid;grid-template:minmax(0,1fr)/minmax(0,1fr);place-items:center;padding:0 80px;touch-action:pan-y pinch-zoom}
.eu-lb-img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;border-radius:12px;background:#fff;
  box-shadow:0 24px 60px rgba(0,0,0,.45);cursor:zoom-in;user-select:none;-webkit-user-select:none}
.eu-lb.zoom .eu-lb-stage{display:flex;overflow:auto;padding:0;touch-action:auto;overscroll-behavior:contain}
.eu-lb.zoom .eu-lb-img{flex:none;margin:auto;max-width:none;max-height:none;border-radius:0;cursor:zoom-out}
.eu-lb-cap{display:grid;gap:4px;justify-items:center;padding:12px 80px 18px;text-align:center}
.eu-lb-cap b{font-size:15px;font-weight:600;line-height:1.35}
.eu-lb-hint{font-size:12.5px;opacity:.6}
@media (max-width:760px){
  .eu-lb-stage{padding:0 8px}
  .eu-lb-prev,.eu-lb-next{top:auto;bottom:16px;transform:none}
  .eu-lb-cap{min-height:78px;padding:10px 72px 16px;align-content:center}
  .eu-lb-cap b{font-size:14px}
}
@media (prefers-reduced-motion:reduce){.eu-lb,.eu-lb.open{transition:none}}

/* 04.10: «Английский для ваших целей» — чат-бот в телефоне (вариант 10 v3 с холста) */
.eu-chatsec{--ec-online:#22C55E;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:clamp(24px,4vw,56px);align-items:center}
.ec-side{display:grid;gap:16px;justify-items:start}
.ec-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;background:var(--c-lime);
  font:800 13px/1 var(--f-display);letter-spacing:.04em;color:var(--c-accent-dark)}
.ec-eyebrow b{color:var(--c-accent);font-size:15px}
.ec-lead{color:var(--c-ink-2);max-width:36em}
.ec-list{list-style:none;margin:0;padding:0;display:grid;gap:10px;color:var(--c-ink-2)}
.ec-list li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;align-items:center}
.ec-list i{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;font-style:normal;font-size:17px;
  background:var(--c-accent-soft);box-shadow:inset 0 0 0 1px rgba(119,37,221,.12)}
.ec-cta{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:4px}
.ec-btn{display:inline-flex;align-items:center;gap:9px;background:var(--c-coral);color:var(--c-on-accent);border-radius:var(--r-btn);
  padding:0 24px;height:52px;font-weight:700;text-decoration:none;transition:background .18s ease}
.ec-btn:hover{background:var(--c-coral-dark)}
.ec-btn svg{width:18px;height:18px}
.ec-reply{display:inline-flex;align-items:center;gap:9px;font-size:14px;font-weight:600;color:var(--c-ink-2)}
.ec-reply i{width:9px;height:9px;border-radius:50%;background:var(--ec-online);animation:ecPulse 1.8s infinite}
@keyframes ecPulse{0%{box-shadow:0 0 0 0 rgba(34,197,94,.5)}70%{box-shadow:0 0 0 9px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
.ec-hint{justify-self:end;position:relative;display:grid;justify-items:end;margin:6px calc(-1 * clamp(24px,4vw,56px) - 14px) 0 0;color:var(--c-accent)}
.ec-hint svg{display:block;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.ec-hint .ar-r{width:300px;height:120px}
.ec-hint .ar-d{display:none;width:110px;height:122px}
.ec-hint .cap{margin:-6px 120px 0 0;font:700 31px/1.02 "Caveat","Segoe Print",cursive;text-align:center;transform:rotate(-4deg)}
.ec-hint .cap em{font-style:normal;color:var(--c-coral)}
.ec-hint .spark{position:absolute;left:-26px;top:58px;font-size:20px;color:var(--c-lime-deep);transform:rotate(12deg)}
.ec-stage{position:relative;justify-self:center;width:100%;max-width:420px;padding:18px 10px}
.ec-blob{position:absolute;border-radius:50%;z-index:0;pointer-events:none}
.ec-blob.b1{width:250px;height:250px;right:-14px;top:-10px;background:radial-gradient(circle at 35% 35%,var(--c-lime),rgba(250,235,192,0) 70%)}
.ec-blob.b2{width:230px;height:230px;left:-40px;bottom:-20px;background:radial-gradient(circle at 60% 40%,var(--c-accent-soft),rgba(241,231,253,0) 70%)}
.ec-st{position:absolute;z-index:3;font-size:22px;color:var(--c-accent);pointer-events:none;animation:ecTwinkle 2.6s ease-in-out infinite alternate}
.ec-st.s1{right:-4px;top:40px}
.ec-st.s2{left:-6px;top:46%;font-size:16px;color:var(--c-lime-deep);animation-delay:.8s}
.ec-st.s3{right:14px;bottom:10px;font-size:14px;animation-delay:1.4s}
@keyframes ecTwinkle{from{transform:scale(.8) rotate(0);opacity:.55}to{transform:scale(1.15) rotate(20deg);opacity:1}}
.ec-phone{position:relative;z-index:1;padding:10px;border-radius:50px;background:linear-gradient(160deg,#2B2934,#14131A);
  box-shadow:0 30px 60px -24px rgba(60,24,120,.45),0 0 0 1px rgba(255,255,255,.06) inset}
.ec-phone::before{content:"";position:absolute;top:19px;left:50%;width:96px;height:24px;border-radius:14px;background:#14131A;transform:translateX(-50%);z-index:5}
.ec-tg{width:100%;height:640px;display:flex;flex-direction:column;border-radius:40px;overflow:hidden;background:var(--c-surface);color:var(--c-ink)}
.ec-status{flex:none;display:flex;justify-content:space-between;align-items:center;height:40px;padding:6px 26px 0;font:700 14px/1 var(--f-text)}
.ec-status svg{height:12px;width:auto;margin-left:5px;fill:currentColor}
.ec-head{flex:none;display:flex;align-items:center;gap:10px;padding:6px 14px 10px;border-bottom:1px solid var(--c-border)}
.ec-back{font:400 30px/1 var(--f-text);color:var(--c-accent);margin:-4px 2px 0 0}
.ec-ava{position:relative;flex:none;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:#fff;
  font:900 15px/1 var(--f-display);background:linear-gradient(135deg,#9B5CF0,var(--c-accent) 55%,var(--c-accent-dark))}
.ec-ava i{position:absolute;right:0;bottom:0;width:11px;height:11px;border-radius:50%;background:var(--ec-online);border:2px solid #fff}
.ec-name{min-width:0;display:grid}
.ec-name b{display:flex;align-items:center;gap:5px;font:800 16px/1.2 var(--f-display)}
.ec-name b svg{width:15px;height:15px;flex:none}
.ec-name span{font-size:12.5px;color:var(--c-ink-3)}
.ec-name span.typing{color:var(--c-accent);font-weight:600}
.ec-more{margin-left:auto;font-size:22px;line-height:1;color:var(--c-ink-3)}
.ec-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:12px 14px;display:flex;flex-direction:column;gap:8px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96' fill='none' stroke='%237725DD' stroke-opacity='.09' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M14 10l2.5 5 5.5.8-4 3.9.9 5.5-4.9-2.6-4.9 2.6.9-5.5-4-3.9 5.5-.8z'/%3E%3Ccircle cx='70' cy='22' r='6'/%3E%3Cpath d='M58 66h18M67 57v18'/%3E%3Cpath d='M18 64c6-8 14-8 20 0'/%3E%3Cpath d='M80 84l6-6M86 84l-6-6'/%3E%3C/svg%3E"),radial-gradient(circle at 18% 18%,#EFE3FC 0 16%,transparent 17%),
  radial-gradient(circle at 85% 70%,rgba(250,235,192,.9) 0 20%,transparent 21%),linear-gradient(165deg,#ECE0FB,#FBF1DA)}
.ec-body::before{content:"";flex:1 0 0}
.ec-date{align-self:center;padding:4px 12px;border-radius:999px;background:rgba(27,26,34,.18);color:#fff;font-size:12px;font-weight:600;margin-bottom:2px}
.ec-msg{max-width:82%;padding:8px 12px 20px;border-radius:18px;position:relative;font-size:15px;line-height:1.4;box-shadow:0 1px 1px rgba(27,26,34,.1)}
.ec-msg.in{align-self:flex-start;background:var(--c-surface);border-bottom-left-radius:4px}
.ec-msg.out{align-self:flex-end;background:#E4D2FB;border-bottom-right-radius:4px}
.ec-msg.in::before,.ec-msg.out::before{content:"";position:absolute;bottom:0;width:12px;height:14px;background:inherit}
.ec-msg.in::before{left:-7px;clip-path:path('M12 0 C12 8 9 12 0 14 L12 14 Z')}
.ec-msg.out::before{right:-7px;clip-path:path('M0 0 C0 8 3 12 12 14 L0 14 Z')}
.ec-msg.typing{padding:8px 14px;color:var(--c-ink-3);font-style:italic}
.ec-msg time{position:absolute;right:10px;bottom:4px;font-size:11px;color:var(--c-ink-3)}
.ec-msg.out time::after{content:" ✓✓";color:var(--c-accent);letter-spacing:-2px}
.ec-msg a{display:table;margin-top:6px;color:var(--c-accent-dark);font-weight:700;border-bottom:1px solid currentColor;text-decoration:none}
.ec-input{flex:none;display:flex;align-items:center;gap:10px;padding:8px 12px;border-top:1px solid var(--c-border);background:var(--c-surface);color:var(--c-ink-3);font-size:18px}
.ec-input .ph{flex:1;padding:8px 14px;border-radius:999px;background:var(--c-bg-alt);font-size:14px}
.ec-input .send{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--c-accent);color:#fff;font-size:15px}
.ec-kb{flex:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:8px 8px 6px;background:#EFE9F4}
.ec-kb button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;border-radius:11px;background:var(--c-surface);
  padding:7px 3px 8px;font:700 13px/1.15 var(--f-text);white-space:nowrap;color:var(--c-accent-dark);cursor:pointer;box-shadow:0 1px 0 rgba(27,26,34,.14);
  transition:transform .15s ease,background .15s ease,color .15s ease}
.ec-kb button i{font-style:normal;font-size:17px;line-height:1}
.ec-kb button:hover{background:var(--c-accent-soft);transform:translateY(-1px)}
.ec-kb button[aria-pressed="true"]{background:var(--c-accent);color:#fff}
.ec-kb.idle{animation:ecGlow 2.2s ease-in-out infinite}
@keyframes ecGlow{0%,100%{box-shadow:inset 0 0 0 0 rgba(119,37,221,0)}50%{box-shadow:inset 0 0 0 2px rgba(119,37,221,.55)}}
.ec-home{flex:none;height:22px;display:grid;place-items:center;background:#EFE9F4}
.ec-home::after{content:"";width:120px;height:5px;border-radius:3px;background:#1B1A22;opacity:.85}
@media (max-width:980px){
  .eu-chatsec{grid-template-columns:1fr}
  .ec-hint{justify-self:center;grid-auto-flow:column;align-items:end;margin:2px 0 -16px}
  .ec-hint .ar-r{display:none}
  .ec-hint .ar-d{display:block;order:2}
  .ec-hint .cap{margin:0 -6px 30px 0;font-size:29px}
  .ec-hint .spark{left:-18px;top:-6px}
  .ec-stage{padding:10px 0}
}
@media (max-width:760px){
  .ec-tg{height:700px}
  .ec-kb button{font-size:12px;padding:7px 2px 8px}
  .ec-kb button i{font-size:16px}
}
@media (prefers-reduced-motion:reduce){.ec-reply i,.ec-st,.ec-kb.idle{animation:none}}

/* 04.10: цифры первого экрана — «наклейки» (вариант 3 с холста), ровно в ряд, без наклона */
.eu-stats{gap:18px !important}
.eu-stat{width:clamp(150px,17vw,214px) !important;height:clamp(96px,9vw,116px) !important}
.eu-stat-face{border-radius:22px !important;border:0 !important;align-items:flex-start !important;text-align:left !important;
  padding:0 clamp(14px,1.6vw,20px) !important;gap:4px !important;box-shadow:0 14px 24px -14px rgba(80,40,140,.35) !important}
.eu-stat-face b{font-size:clamp(26px,2.5vw,34px) !important}
.eu-stat-face em{font-size:13px !important;line-height:1.3 !important;color:var(--c-ink-2) !important}
.eu-stat:nth-child(1) .eu-stat-face{background:var(--c-accent) !important}
.eu-stat:nth-child(1) .eu-stat-face b{color:#FFFFFF !important}
.eu-stat:nth-child(1) .eu-stat-face em{color:rgba(255,255,255,.85) !important}
.eu-stat:nth-child(2) .eu-stat-face{background:var(--c-lime) !important}
.eu-stat:nth-child(3) .eu-stat-face{background:#FFFFFF !important;border:1.5px solid var(--c-border) !important}
.eu-stat:nth-child(4) .eu-stat-face{background:#DFF3EC !important}
@media (max-width:760px){
  .eu-stats{gap:12px !important}
  .eu-stats .eu-stat{width:calc(50% - 6px) !important;height:104px !important}
  .eu-stats .eu-stat-face b{font-size:28px !important}
}

/* подписи шагов «Как начинается обучение» занимали 9em и ломались
   капсом в три строки — даём им всю ширину, кроме номера справа */
[data-r="step-kicker"]{max-width:calc(100% - 72px) !important}

/* тарифы: «60 мин / от 22 евро» — цвет наследуется, поэтому читается и на фиолетовой карточке */
.eu-price{margin-top:auto;position:relative;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 7px}
.eu-price strong{font:900 26px/1 var(--f-display)}
.eu-price span{font-size:var(--fs-small);opacity:.72}
.eu-price i{font:500 24px/1 var(--f-display);font-style:normal;opacity:.3;margin:0 3px}

/* --- телефон и узкий планшет --- */
@media (max-width:760px){
  /* первый экран: хештеги лежали поверх заголовка и кнопки — убираем,
     две фигуры ставим в верхние углы, над заголовком */
  [data-r="hero-inner"]{padding-top:76px !important}
  .eu-cap[data-shape="pill"]{display:none !important}
  .eu-cap[data-m="tl"]{--x:4% !important;--y:14px !important;--s:.8 !important;--amp:5px !important}
  .eu-cap[data-m="tr"]{--rx:5% !important;--y:18px !important;--s:.95 !important;--amp:5px !important}
  .eu-stat{height:84px !important}
  .eu-stat-face em{font-size:13px !important;line-height:1.25 !important}

  /* о школе: сначала заголовок, потом фото, потом текст */
  [data-r="about-wrap"]{flex-direction:column !important;flex-wrap:nowrap !important;gap:0 !important;align-items:stretch !important}
  [data-r="about-text"]{display:contents !important}
  [data-r="about-h2"]{order:-1}
  [data-r="about-photo"]{flex:none !important;min-width:0 !important;max-width:none !important;margin:24px 18px 26px 0}
  [data-r="about-img"]{height:min(340px,90vw) !important}
  [data-r="about-text"] > p:first-of-type{margin-top:8px !important}

  /* карточки без пустоты снизу; заголовок шага во всю ширину — номер выше него */
  [data-r="step"],[data-r="how-card"]{min-height:0 !important}
  [data-r="step"] h3{max-width:none !important}

  /* направления: на узком выноски вели в пустоту — метка под названием */
  [data-r="dir-row"]{display:block !important;padding:11px 2px !important}
  [data-r="dir-dots"]{display:none !important}
  [data-r="dir-tag"]{display:block !important;margin-top:2px;font-size:13px !important;white-space:normal !important}

  /* отзывы: следующая карточка выглядывает из-за края, как у команды */
  [data-r="rev-cta"]{width:78vw !important}
  .eu-shot{width:84vw}
  .eu-mat-row img{width:80vw;height:auto}

  /* подвал: ссылки в две колонки (читаются сверху вниз) и с высотой под палец */
  [data-r="ft-links"]{flex:1 1 100% !important;display:block !important;columns:2;column-gap:16px}
  [data-r="ft-links"] > div{column-span:all;margin-bottom:4px}
  [data-r="ft-links"] a{display:block;padding:11px 0;line-height:1.3;break-inside:avoid}
  [data-r="ft-contacts"]{flex:1 1 100% !important}
}
@media (max-width:480px){
  [data-r="hero-btns"] > a{flex:1 1 100% !important;justify-content:center !important;padding:0 16px !important}
  /* ник уходит на свою строку — точка-разделитель повисала в конце */
  .eu-reply i{display:none}
}

/* === статичная сборка: замены рантайма холста === */
html{scroll-behavior:smooth}
.eu-menu[hidden]{display:none}
.eu-burger svg{display:none}
.eu-burger[aria-expanded="true"] span{display:none}
.eu-burger[aria-expanded="true"] svg{display:block}
@media (min-width:1080px){.eu-burger,.eu-menu{display:none !important}}
@media (max-width:1079.98px){.eu-nav-wide{display:none !important}}
.eu-slot{display:block;position:relative;width:100%;height:100%;overflow:hidden;background:rgba(127,127,127,.08)}
.eu-slot img{display:block;width:100%;height:100%;object-fit:cover}
.eu-slot--contain img{object-fit:contain}
.eu-faq{cursor:pointer;background:var(--c-surface);color:var(--c-ink);border:1px solid var(--c-border);border-radius:var(--r-card);
  padding:clamp(18px,2vw,26px) clamp(20px,2vw,28px);transition:background .2s ease}
.eu-faq.is-open{background:var(--c-accent);color:var(--c-on-accent);border-color:var(--c-accent)}
.eu-faq-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.eu-faq-q{font-size:clamp(17px,1.4vw,22px);font-weight:700;margin:0}
.eu-faq-q button{font:inherit;color:inherit;background:none;border:0;padding:0;margin:0;text-align:left;cursor:pointer;letter-spacing:inherit}
.eu-faq-ico{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--c-accent-soft);
  color:var(--c-accent-dark);transition:transform .2s ease}
.eu-faq.is-open .eu-faq-ico{background:var(--c-surface);color:var(--c-accent);transform:rotate(90deg)}
.eu-faq-a{font-size:var(--fs-small);margin-top:0;max-width:58em;opacity:0;height:0;overflow:hidden}
.eu-faq.is-open .eu-faq-a{margin-top:12px;opacity:.92;height:auto}

/* наведение (из style-hover холста) */
.eu-hv1:hover{color:var(--c-accent) !important}
.eu-hv2:hover{background:var(--c-coral-dark) !important}
.eu-hv3:hover{background:var(--c-accent) !important;color:var(--c-on-accent) !important;border-color:var(--c-accent) !important}
.eu-hv4:hover{background:var(--c-lime-deep) !important}
.eu-hv5:hover{background:var(--c-coral) !important;color:var(--c-on-accent) !important}
.eu-hv6:hover{background:var(--c-ink) !important;color:var(--c-bg) !important}
.eu-hv7:hover{background:var(--c-lime) !important}
.eu-hv8:hover{background:var(--c-bg) !important;color:var(--c-ink) !important;opacity:1 !important}
