:root{
  --r1:#7cc243;--r2:#48c5fd;--r3:#3949ab;--r4:#8e24aa;--r5:#fb8c00;
  --primary:#40781d;--on-primary:#fff;--primary-container:#c7f0a0;--on-primary-container:#123500;
  --secondary:#f57c00;--on-secondary:#2f1500;--secondary-container:#ffdcbe;--on-secondary-container:#2f1500;
  --tertiary:#3949ab;--tertiary-container:#dee0ff;--on-tertiary-container:#00105c;
  --background:#ffffff;--on-background:#1f1f1f;--surface:#ffffff;
  --surface-container-low:#f6f7f8;--surface-container:#eceef1;--surface-container-high:#e3e6ea;
  --on-surface:#1f1f1f;--on-surface-variant:#5f6368;--outline:#9aa0a6;--outline-variant:#dadce0;
  --e1:0 1px 3px rgba(0,0,0,.10),0 1px 2px rgba(0,0,0,.06);
  --e2:0 4px 10px rgba(0,0,0,.10),0 2px 4px rgba(0,0,0,.06);
  --e3:0 12px 28px rgba(0,0,0,.14),0 4px 10px rgba(0,0,0,.08);
  --r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:28px;--r-full:999px;--ease:cubic-bezier(.2,0,0,1);--d1:150ms;--d2:300ms;
}
/* Тёмная тема (переключатель в подвале). По умолчанию светлая; тёмная только по выбору пользователя. */
:root[data-theme="dark"]{
  --background:#10130e;--on-background:#e8eae3;--surface:#161a12;
  --surface-container-low:#1b1f16;--surface-container:#22271d;--surface-container-high:#2b3024;
  --on-surface:#e8eae3;--on-surface-variant:#b3b9ac;--outline:#79806f;--outline-variant:#333a2c;
  --primary:#8ed455;--on-primary:#0f2600;--primary-container:#2e4c14;--on-primary-container:#c7f0a0;
  --secondary:#ffb968;--on-secondary:#3a1c00;--secondary-container:#5a3410;--on-secondary-container:#ffdcbe;
  --tertiary:#aeb6ff;--tertiary-container:#2b357a;--on-tertiary-container:#dee0ff;
  --e1:0 1px 3px rgba(0,0,0,.5);--e2:0 4px 12px rgba(0,0,0,.55);--e3:0 16px 36px rgba(0,0,0,.6);
}
:root[data-theme="dark"] .util{border-bottom:1px solid var(--outline-variant)}
/* тёмный текст логотипа не читается на тёмной шапке — показываем белую версию */
:root[data-theme="dark"] .logo img,:root[data-theme="dark"] .d-head img{content:url("/assets/img/logo_bel.png")}
/* Сайт всегда в светлой теме. Тёмной темы нет. */
/* ===== Версия для слабовидящих ===== */
/* Масштаб шрифта: сайт свёрстан в px, поэтому меняем zoom всей страницы (реально увеличивает текст) */
:root[data-a11y="1"][data-a11y-size="2"] body{zoom:1.15}
:root[data-a11y="1"][data-a11y-size="3"] body{zoom:1.35}
/* панель НЕ должна расти вместе с zoom страницы — компенсируем обратным zoom */
:root[data-a11y="1"][data-a11y-size="2"] .a11y-panel{zoom:.87}
:root[data-a11y="1"][data-a11y-size="3"] .a11y-panel{zoom:.741}
/* схема по умолчанию: чёрным по белому */
:root[data-a11y="1"]{--background:#fff;--on-background:#000;--surface:#fff;--surface-container-low:#f2f2f2;--surface-container:#e6e6e6;--surface-container-high:#d8d8d8;--on-surface:#000;--on-surface-variant:#1a1a1a;--outline:#000;--outline-variant:#000;--primary:#0a5300;--on-primary:#fff;--secondary:#8a3a00;--on-secondary:#fff}
/* белым по чёрному */
:root[data-a11y="1"][data-a11y-scheme="bw"]{--background:#000;--on-background:#fff;--surface:#000;--surface-container-low:#0d0d0d;--surface-container:#161616;--surface-container-high:#222;--on-surface:#fff;--on-surface-variant:#f0f0f0;--outline:#fff;--outline-variant:#fff;--primary:#9be06f;--on-primary:#000;--secondary:#ffc27a;--on-secondary:#000}
/* тёмно-синим по голубому */
:root[data-a11y="1"][data-a11y-scheme="bl"]{--background:#a9d8ff;--on-background:#052440;--surface:#a9d8ff;--surface-container-low:#bee2ff;--surface-container:#9ccefb;--surface-container-high:#8bc4f4;--on-surface:#052440;--on-surface-variant:#0a3059;--outline:#052440;--outline-variant:#2f6396;--primary:#052440;--on-primary:#d7ecff;--secondary:#0a3059;--on-secondary:#d7ecff}
/* убираем декор и «шум», повышаем читаемость */
:root[data-a11y="1"] .rainbow,:root[data-a11y="1"] .tri,:root[data-a11y="1"] .cx-hero-grid,:root[data-a11y="1"] .cx-hero-glow,:root[data-a11y="1"] .info-robot,:root[data-a11y="1"] .cx-hero-bg{display:none!important}
:root[data-a11y="1"] *{box-shadow:none!important;text-shadow:none!important}
:root[data-a11y="1"] .nav{background:var(--surface-container-high)!important}
:root[data-a11y="1"] .nav-in a.item,:root[data-a11y="1"] .nav-in button.item{color:var(--on-surface)!important}
:root[data-a11y="1"] .cx-hero,:root[data-a11y="1"] .home-cta{background:var(--surface-container-low)!important;color:var(--on-surface)!important}
:root[data-a11y="1"] .cx-hero h1,:root[data-a11y="1"] .cx-lead,:root[data-a11y="1"] .home-cta h2,:root[data-a11y="1"] .home-cta p,:root[data-a11y="1"] .cx-crumbs,:root[data-a11y="1"] .cx-crumbs a,:root[data-a11y="1"] .cx-kicker{color:var(--on-surface)!important}
:root[data-a11y="1"] .tile{background:var(--surface-container)!important;border:2px solid var(--outline)!important;color:var(--on-surface)!important}
:root[data-a11y="1"] .tile *{color:var(--on-surface)!important}
:root[data-a11y="1"] a{text-decoration:underline}
/* картинки: ч/б и выкл */
:root[data-a11y="1"][data-a11y-img="gray"] img{filter:grayscale(1)!important}
:root[data-a11y="1"][data-a11y-img="gray"] [style*="background-image"]{filter:grayscale(1)!important}
:root[data-a11y="1"][data-a11y-img="off"] img{display:none!important}
:root[data-a11y="1"][data-a11y-img="off"] [style*="background-image"]{background-image:none!important}
/* панель настроек — оформленная, по образцу гос-панели для слабовидящих */
.a11y-panel{position:sticky;top:0;z-index:60;background:var(--surface);border-bottom:2px solid var(--outline,#000)}
.a11y-panel .a11y-in{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:center;gap:12px 30px;padding-top:20px;padding-bottom:22px;font-size:13px}
.a11y-title{display:flex;align-items:center;gap:7px;font-family:'Montserrat';font-weight:800;font-size:14px;margin-right:2px}
.a11y-title .material-symbols-outlined{font-size:20px;color:var(--primary)}
.a11y-group{display:flex;flex-direction:column;align-items:center;gap:8px}
.a11y-cap{color:var(--on-surface);font-weight:700;font-size:13px;white-space:nowrap;text-align:center}
.a11y-seg{display:inline-flex;align-items:center;gap:2px;background:var(--surface-container-low);border:1px solid var(--outline-variant);border-radius:var(--r-full);padding:3px}
.a11y-seg button{font-family:'Montserrat';font-weight:700;font-size:13px;border:0;background:transparent;color:var(--on-surface);border-radius:var(--r-full);padding:6px 12px;cursor:pointer;line-height:1;display:inline-flex;align-items:center;gap:5px;transition:background var(--d1),color var(--d1)}
.a11y-seg button:hover{background:var(--surface-container)}
.a11y-seg button.on{background:var(--primary);color:var(--on-primary)}
.a11y-fslvl{min-width:42px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums;color:var(--on-surface-variant)}
.a11y-seg .sw-wb,.a11y-seg .sw-bw,.a11y-seg .sw-bl{width:30px;height:26px;padding:0;justify-content:center;font-size:12px}
.a11y-seg .sw-wb{background:#fff;color:#000;box-shadow:inset 0 0 0 1px #bbb}
.a11y-seg .sw-bw{background:#000;color:#fff}
.a11y-seg .sw-bl{background:#a9d8ff;color:#052440}
.a11y-seg .sw-wb.on,.a11y-seg .sw-bw.on,.a11y-seg .sw-bl.on{box-shadow:inset 0 0 0 2px var(--primary),0 0 0 2px var(--primary)}
.a11y-btn{display:inline-flex;align-items:center;gap:6px;font-family:'Montserrat';font-weight:700;font-size:13px;border:1px solid var(--outline-variant);background:var(--surface-container-low);color:var(--on-surface);border-radius:var(--r-full);padding:7px 14px;cursor:pointer;transition:background var(--d1)}
.a11y-btn:hover{background:var(--surface-container)}
.a11y-btn.on{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}
.a11y-btn .material-symbols-outlined{font-size:18px}
.a11y-exit{display:inline-flex;align-items:center;gap:6px;font-family:'Montserrat';font-weight:700;font-size:13px;border:2px solid var(--outline,#888);background:var(--surface);color:var(--on-surface);border-radius:var(--r-full);padding:7px 15px;cursor:pointer}
.a11y-exit:hover{background:var(--surface-container-low)}
.a11y-exit .material-symbols-outlined{font-size:18px}
.a11y-panel button:focus{outline:none}
.a11y-panel button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
@media(max-width:820px){.a11y-in{gap:9px 12px}.a11y-title{width:100%;justify-content:center}}
:root[data-a11y="1"] header{position:static}

*{box-sizing:border-box}
html{}
body{margin:0;background:var(--background);color:var(--on-background);font-family:'Roboto',system-ui,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
footer{margin-top:auto}   /* подвал прилипает к низу на коротких страницах */
/* мягкое появление при прокрутке (класс навешивает site.js; видимое сразу не мигает) */
.rvl{opacity:0;transform:translateY(20px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.rvl.vis{opacity:1;transform:none}
/* переключатель темы в подвале */
.theme-toggle{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.08);color:#e7ebe0;border:1px solid rgba(255,255,255,.18);border-radius:var(--r-full);padding:7px 14px;font-family:'Montserrat';font-weight:700;font-size:13px;cursor:pointer;transition:background var(--d1) var(--ease),transform var(--d1) var(--ease)}
.theme-toggle:hover{background:rgba(255,255,255,.16);transform:translateY(-1px)}
.foot-appbtn{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.08);color:#e7ebe0;border:1px solid rgba(255,255,255,.18);border-radius:var(--r-full);padding:7px 14px;font-family:'Montserrat';font-weight:700;font-size:13px;text-decoration:none;transition:background var(--d1) var(--ease),transform var(--d1) var(--ease)}
.foot-appbtn:hover{background:rgba(255,255,255,.16);color:#fff;transform:translateY(-1px)}
.foot-appbtn .material-symbols-outlined{font-size:19px}
.theme-toggle .material-symbols-outlined{font-size:19px}
.theme-toggle .ic-moon,.theme-toggle .tt-dark{display:none}
:root[data-theme="dark"] .theme-toggle .ic-sun,:root[data-theme="dark"] .theme-toggle .tt-light{display:none}
:root[data-theme="dark"] .theme-toggle .ic-moon,:root[data-theme="dark"] .theme-toggle .tt-dark{display:inline}
@media (prefers-reduced-motion:reduce){.rvl{opacity:1!important;transform:none!important;transition:none}}
h1,h2,h3{font-family:'Montserrat',sans-serif;margin:0;text-wrap:balance}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}
.material-symbols-outlined{font-size:22px;line-height:1;vertical-align:middle;user-select:none}
.wrap{max-width:1360px;margin:0 auto;padding:0 clamp(14px,3vw,32px)}

header{position:sticky;top:0;z-index:50;transition:transform .28s var(--ease)}
header.shrunk{transform:translateY(calc(-1 * var(--util-h,64px)));box-shadow:0 6px 20px -10px rgba(0,0,0,.45)}
.util{background:var(--surface)}
.util-in{max-width:1360px;margin:0 auto;padding:14px clamp(14px,3vw,40px);display:flex;align-items:center;gap:clamp(16px,2.5vw,36px)}
.logo{flex:0 0 auto;display:flex;align-items:center}
.logo img{height:64px;width:auto;display:block}
.contacts{display:flex;flex-direction:column;gap:2px;line-height:1.3;text-align:center}
.contacts .phone{font-family:'Montserrat';font-weight:800;font-size:clamp(18px,1.7vw,23px);color:var(--on-surface);letter-spacing:.3px;white-space:nowrap}
.contacts .addr{font-size:13px;color:var(--on-surface-variant);white-space:nowrap}
.contacts .addr a{border-bottom:1px dotted var(--outline)}
.util-spacer{flex:1}
.actions{display:flex;align-items:center;gap:10px}
.act{display:inline-flex;align-items:center;gap:11px;height:56px;padding:0 20px 0 12px;border-radius:var(--r-full);
  font-family:'Montserrat';font-size:14px;font-weight:600;line-height:1.1;white-space:nowrap;border:none;
  transition:box-shadow var(--d1) var(--ease),background var(--d1) var(--ease),transform var(--d1) var(--ease)}
.act .ic{width:38px;height:38px;border-radius:var(--r-full);display:grid;place-items:center;flex:0 0 auto}
.act .ic .material-symbols-outlined{font-size:22px}
.act .lbl{display:flex;flex-direction:column;text-align:left}
.act:active{transform:translateY(1px)}
.act:focus-visible{outline:3px solid var(--primary);outline-offset:2px}
.act-signup{background:var(--secondary-container);color:var(--on-secondary-container)}
.act-signup .ic{background:var(--secondary);color:#fff}
.act-signup:hover{box-shadow:var(--e2)}
.act-pay{background:var(--primary-container);color:var(--on-primary-container)}
.act-pay .ic{background:var(--primary);color:#fff}
.act-pay:hover{box-shadow:var(--e2)}
.act-cab{background:var(--surface-container);color:var(--on-surface)}
.act-cab .ic{background:var(--surface-container-high);color:var(--on-surface)}
.act-cab:hover{box-shadow:var(--e1)}
.iconbtn{width:42px;height:42px;border-radius:var(--r-full);display:grid;place-items:center;
  background:var(--surface-container);color:var(--on-surface);border:1px solid var(--outline-variant);
  transition:background var(--d1) var(--ease);font-weight:600}
.iconbtn:hover{background:var(--surface-container-high)}
.iconbtn:focus-visible{outline:3px solid var(--primary);outline-offset:2px}

/* сочная радужная полоса меню — насыщенные тона, белый текст читаем */
.nav{position:relative;z-index:2;background:linear-gradient(90deg,#4f9426 0%,#2f7bbf 27%,#3a3f9e 50%,#7a2f9c 73%,#dd6a0a 100%)}
:root[data-a11y="1"] .nav{background:#000;border-top:2px solid #ffe500;border-bottom:2px solid #ffe500}
.nav-in{max-width:1360px;margin:0 auto;padding:0 clamp(14px,3vw,40px);display:flex;align-items:stretch;gap:2px}
.nav-in a.item,.nav-in button.item{position:relative;display:inline-flex;align-items:center;gap:9px;padding:0 16px;height:58px;white-space:nowrap;
  font-family:'Montserrat';font-weight:700;font-size:15.5px;color:#fff;background:none;border:none;cursor:pointer;
  text-shadow:0 1px 4px rgba(0,0,0,.5);transition:background var(--d1) var(--ease)}
.nav-in .item .material-symbols-outlined{font-size:22px}
.nav-in .item:hover{background:rgba(255,255,255,.18)}
.nav-in .item.active{background:rgba(0,0,0,.14)}
.nav-in .item .chev{transition:transform var(--d2) var(--ease);font-size:22px}
.nav-in .item[aria-expanded="true"] .chev{transform:rotate(180deg)}
.nav-in .item.hamburger{display:none}
/* быстрые иконки в цветной полосе меню — только на мобильном (заполняют пустую полосу, дублируют оплату/кабинет) */
.nav-actions{display:none;margin-left:auto;align-items:center;gap:6px}
.nav-act{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--r-full);color:#fff;background:rgba(255,255,255,.18);text-decoration:none;transition:background var(--d1) var(--ease),transform var(--d1) var(--ease)}
.nav-act:hover{background:rgba(255,255,255,.3);transform:translateY(-1px)}
.nav-act .material-symbols-outlined{font-size:22px}
.nav-act.na-signup{background:#fb8c00}
.nav-act.na-signup:hover{background:#e07d00}
.mega{position:absolute;left:0;right:0;top:100%;background:var(--surface);box-shadow:var(--e3);border-top:1px solid var(--outline-variant);border-bottom:1px solid var(--outline-variant);
  padding:22px clamp(14px,3vw,32px);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity var(--d2) var(--ease),transform var(--d2) var(--ease),visibility var(--d2);z-index:40}
.mega.open{opacity:1;visibility:visible;transform:translateY(0)}
.mega-in{max-width:1360px;margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr;gap:28px}
.mega h3{font-size:12.5px;text-transform:uppercase;letter-spacing:1.2px;color:var(--on-surface-variant);font-weight:700;margin-bottom:12px}
.mega-cats{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mcat{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--r-md);border:1px solid var(--outline-variant);background:var(--surface);transition:border-color var(--d1) var(--ease),background var(--d1) var(--ease),transform var(--d1) var(--ease)}
.mcat:hover{background:var(--surface-container-low);border-color:color-mix(in srgb,var(--c,var(--r1)) 55%,var(--outline-variant));transform:translateY(-1px)}
.mcat-ic{width:40px;height:40px;flex:0 0 auto;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--c,var(--r1)) 16%,transparent);color:var(--c,var(--r1))}
.mcat-ic .material-symbols-outlined{font-size:22px}
.mcat-t{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.mcat-t b{font-size:14.5px;font-weight:600;color:var(--on-surface)}
.mcat-t i{font-style:normal;font-size:12.5px;color:var(--on-surface-variant);margin-top:2px}
.mega-feature{position:relative;overflow:hidden;border-radius:var(--r-lg);padding:22px;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;min-height:190px;background:linear-gradient(135deg,var(--r5),var(--secondary));isolation:isolate}
.mega-feature.has-img::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.36))}
.mega-feature .mf-bg{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center}
.mega-feature .mf-eyebrow{font-size:11.5px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;opacity:.92;margin-bottom:6px}
.mega-feature .material-symbols-outlined{font-size:28px}
.mega-feature h4{font-family:'Montserrat';font-weight:700;font-size:20px;margin:2px 0 6px;color:#fff;line-height:1.15}
.mega-feature p{margin:0;font-size:13px;opacity:.94;line-height:1.45}
.mega-feature .mf-go{display:inline-flex;align-items:center;gap:5px;margin-top:12px;font-size:13.5px;font-weight:600}
.mega-feature .mf-go .material-symbols-outlined{font-size:18px;transition:transform var(--d1) var(--ease)}
.mega-feature:hover .mf-go .material-symbols-outlined{transform:translateX(4px)}

/* ===== КАРУСЕЛЬ БАННЕРОВ (компактная тройка, чтобы плитки были в первом экране) ===== */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.banners{padding:clamp(18px,2.4vw,30px) 0 clamp(8px,1.5vw,14px);position:relative;overflow:hidden;background:var(--surface)}
/* редактируемое уведомление-кнопка на главной (Главная → TV «Кнопка-уведомление») */
.home-notice{background:var(--surface);padding:clamp(14px,2vw,22px) 0 clamp(6px,1vw,10px)}
.home-notice-in{display:flex;justify-content:center;padding:0 clamp(12px,3vw,24px)}
.hn-btn{display:inline-flex;align-items:center;gap:10px;max-width:100%;background:color-mix(in srgb,var(--primary) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--primary) 32%,transparent);color:var(--on-surface);border-radius:var(--r-full);padding:11px 20px;font-weight:600;font-size:15px;text-decoration:none;box-shadow:var(--e1);transition:background var(--d1) var(--ease),transform var(--d1) var(--ease),box-shadow var(--d1) var(--ease)}
.hn-btn:hover{background:color-mix(in srgb,var(--primary) 20%,var(--surface));transform:translateY(-2px);box-shadow:var(--e2)}
.hn-btn .material-symbols-outlined{font-size:22px;color:var(--primary);flex:0 0 auto}
.hn-btn b{font-weight:700}
.hn-btn .hn-arr{margin-left:2px;color:var(--primary);font-size:20px}
/* яркий (accent) вариант — голубой, с привлекающей анимацией */
.hn-btn.hn-accent{background:linear-gradient(135deg,#4bc3e8,#2f9fc9);border-color:transparent;color:#fff;font-weight:700;padding:13px 24px;animation:hnPulse 2.4s var(--ease) infinite}
.hn-btn.hn-accent .material-symbols-outlined,.hn-btn.hn-accent .hn-arr{color:#fff}
.hn-btn.hn-accent .material-symbols-outlined{animation:hnRing 2.4s ease infinite;transform-origin:50% 20%}
.hn-btn.hn-accent:hover{background:linear-gradient(135deg,#3cb6dd,#2890ba);transform:translateY(-2px);animation-play-state:paused}
@keyframes hnPulse{0%,100%{box-shadow:0 4px 14px rgba(47,159,201,.35)}50%{box-shadow:0 8px 30px rgba(47,159,201,.62)}}
@keyframes hnRing{0%,88%,100%{transform:rotate(0)}91%{transform:rotate(-13deg)}94%{transform:rotate(11deg)}97%{transform:rotate(-6deg)}}
@media(prefers-reduced-motion:reduce){.hn-btn.hn-accent,.hn-btn.hn-accent .material-symbols-outlined{animation:none}}
@media(max-width:520px){.hn-btn{font-size:13.5px;padding:10px 15px}.hn-btn.hn-accent{padding:11px 18px}}
.dirs{position:relative}
.tri{position:absolute;z-index:0;pointer-events:none;filter:drop-shadow(0 6px 10px rgba(0,0,0,.12));animation:float 9s ease-in-out infinite}
.tri.tl1{top:12%;left:calc(50% - 725px);width:56px;animation-delay:0s}
.tri.tr1{top:12%;right:calc(50% - 725px);width:56px;animation-delay:-2.2s}
.tri.tl2{bottom:14%;left:calc(50% - 700px);width:38px;animation-delay:-4.4s}
.tri.tr2{bottom:14%;right:calc(50% - 700px);width:38px;animation-delay:-6.6s}
@media(max-width:1500px){.tri{display:none}}
@keyframes float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-12px) rotate(7deg)}}
:root[data-a11y="1"] .tri{display:none}
.b-wrap{max-width:1440px;margin:0 auto;padding:0 clamp(14px,3vw,40px);position:relative;z-index:1}
.b-featured{position:relative;height:clamp(250px,33vw,500px);margin:0 auto;perspective:1700px}
.b-fslide{position:absolute;top:50%;left:50%;height:84%;opacity:0;cursor:pointer;
  transition:transform .55s var(--ease),opacity .55s var(--ease);will-change:transform,opacity;pointer-events:auto}
.b-fslide img{height:100%;width:auto;max-width:none;aspect-ratio:1200/626;object-fit:cover;
  border-radius:var(--r-lg);box-shadow:var(--e3);display:block}
.b-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:20;width:58px;height:58px;border-radius:var(--r-full);
  border:1px solid var(--outline-variant);background:var(--surface);color:var(--primary);box-shadow:var(--e3);
  display:grid;place-items:center;transition:background var(--d1) var(--ease),transform var(--d1) var(--ease)}
.b-arrow .material-symbols-outlined{font-size:32px;font-weight:700;position:relative;z-index:1}
.b-arrow:hover{background:var(--primary);color:#fff;transform:translateY(-50%) scale(1.06)}
.b-arrow.prev{left:clamp(6px,2vw,24px)} .b-arrow.next{right:clamp(6px,2vw,24px)}
.b-arrow:focus-visible{outline:3px solid var(--primary);outline-offset:2px}
.b-arrow .ring{position:absolute;top:-4px;left:-4px;width:66px;height:66px;transform:rotate(-90deg);pointer-events:none}
.b-arrow .ring .rtrack{fill:none;stroke:var(--outline-variant);stroke-width:3}
.b-arrow .ring .rprog{fill:none;stroke:var(--primary);stroke-width:4;stroke-linecap:round;
  stroke-dasharray:188;stroke-dashoffset:188;animation:ring 5s linear forwards}
@keyframes ring{from{stroke-dashoffset:188}to{stroke-dashoffset:0}}
:root[data-a11y="1"] .b-arrow .rprog{display:none}
/* лента миниатюр всех активных баннеров */
.b-thumbs{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:16px}
.b-thumb{width:132px;aspect-ratio:1200/626;padding:0;border:2.5px solid transparent;border-radius:10px;overflow:hidden;
  cursor:pointer;opacity:.62;background:none;transition:opacity var(--d1) var(--ease),border-color var(--d1) var(--ease),transform var(--d1) var(--ease)}
.b-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.b-thumb:hover{opacity:1;transform:translateY(-2px)}
.b-thumb.active{opacity:1;border-color:var(--primary)}
.b-thumb:focus-visible{outline:3px solid var(--primary);outline-offset:2px}
/* Мобильный слайдер: обычный слайд во всю ширину, баннер целиком, без 3D-coverflow */
@media (max-width:640px){
  .b-featured{height:auto;aspect-ratio:1200/626;perspective:none;overflow:hidden;border-radius:var(--r-lg);box-shadow:var(--e3)}
  .b-fslide{top:0;left:0;height:100%;width:100%}
  .b-fslide img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;border-radius:0;box-shadow:none}
  .b-arrow{width:38px;height:38px}
  .b-arrow .material-symbols-outlined{font-size:22px}
  .b-arrow .ring{display:none}
  .b-arrow.prev{left:8px} .b-arrow.next{right:8px}
}

/* ===== ПЛАШКИ НАПРАВЛЕНИЙ ===== */
.dirs{padding:clamp(16px,2.2vw,26px) 0 clamp(36px,5vw,60px);position:relative}
.tiles{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}
.tiles>.tile{flex:0 1 calc(25% - 12px)}
@media (max-width:560px){.tiles>.tile{flex:0 1 100%}}
.tile{position:relative;border-radius:var(--r-xl);padding:24px 22px;min-height:150px;display:flex;flex-direction:column;justify-content:flex-end;
  color:#fff;overflow:hidden;box-shadow:var(--e1);transition:transform var(--d2) var(--ease),box-shadow var(--d2) var(--ease)}
.tile:hover{transform:translateY(-6px);box-shadow:var(--e3)}
.tile:hover .tile-icon{animation-play-state:paused;transform:rotate(-10deg) scale(1.16)}
.tile:focus-visible{outline:3px solid var(--tertiary);outline-offset:2px}
.g-orange{background:linear-gradient(140deg,#ffa733,#ef6c00)}
.g-green{background:linear-gradient(140deg,#8ed336,#5fa02c)}
.g-blue{background:linear-gradient(140deg,#48c5fd,#3949ab)}
.g-purple{background:linear-gradient(140deg,#b44bd0,#8e24aa)}
.tile-icon{position:absolute;top:16px;right:16px;width:58px;height:58px;opacity:.95;filter:brightness(0) invert(1);
  transition:transform var(--d2) var(--ease);animation:tileIcon 4.5s ease-in-out infinite}
@keyframes tileIcon{0%,100%{transform:translateY(0) rotate(0)}25%{transform:translateY(-5px) rotate(-5deg)}60%{transform:translateY(-2px) rotate(4deg)}}
.tiles .tile:nth-child(2) .tile-icon{animation-delay:-.7s}
.tiles .tile:nth-child(3) .tile-icon{animation-delay:-1.4s}
.tiles .tile:nth-child(4) .tile-icon{animation-delay:-2.1s}
.tiles .tile:nth-child(5) .tile-icon{animation-delay:-2.8s}
.tiles .tile:nth-child(6) .tile-icon{animation-delay:-.4s}
.tiles .tile:nth-child(7) .tile-icon{animation-delay:-1.9s}
.tiles .tile:nth-child(8) .tile-icon{animation-delay:-3.2s}
.tile-title{font-family:'Montserrat';font-weight:700;font-size:clamp(17px,1.4vw,20px);line-height:1.18;z-index:2;text-shadow:0 1px 3px rgba(0,0,0,.22)}
.tile-title span{display:block;font-weight:600;font-size:14px;opacity:.94;margin-top:2px}
.tile-badge{position:absolute;top:12px;left:12px;display:inline-flex;align-items:center;gap:5px;
  background:#fff;color:#b3261e;font-size:11.5px;font-weight:700;padding:4px 9px;border-radius:var(--r-full);box-shadow:var(--e1);z-index:3}
.tile-badge .material-symbols-outlined{font-size:15px}

/* ===== БОЛЬШОЙ ПОДВАЛ (тёмный, как на текущем сайте) ===== */
footer{background:#1c1e17;color:#cfd3c6;--f-accent:#8ed336}
:root[data-a11y="1"] footer{background:#000;color:#ffe500;border-top:2px solid #ffe500}
.foot-top{max-width:1360px;margin:0 auto;padding:clamp(34px,5vw,56px) clamp(14px,3vw,32px) 0;
  display:flex;flex-wrap:wrap;align-items:center;gap:18px 28px}
.foot-top img.flogo{height:52px;width:auto}
.foot-policy{display:inline-flex;align-items:center;gap:8px;color:#cfd3c6;font-size:14px}
.foot-policy .material-symbols-outlined{color:var(--f-accent);font-size:20px}
.foot-policy:hover{color:#fff}
.foot-socials{margin-left:auto;display:flex;align-items:center;gap:12px}
.foot-socials a{display:block;line-height:0;transition:transform var(--d1) var(--ease),filter var(--d1) var(--ease)}
.foot-socials a:hover{transform:translateY(-3px) scale(1.06);filter:brightness(1.08)}
.foot-socials img{width:42px;height:42px;display:block;border-radius:11px}
.foot-cols{max-width:1360px;margin:0 auto;padding:34px clamp(14px,3vw,32px) 8px;
  display:grid;gap:26px 32px;grid-template-columns:repeat(4,1fr)}
.fcol h4{font-family:'Montserrat';font-weight:700;font-size:16px;color:#fff;margin-bottom:12px}
.fcol .row{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.5;margin-bottom:9px;color:#cfd3c6}
.fcol .row .material-symbols-outlined{font-size:19px;color:var(--f-accent);flex:0 0 auto;margin-top:1px}
.fcol a.row:hover{color:#fff}
.fcol .phone{font-family:'Montserrat';font-weight:700;font-size:16px;color:#fff}
.foot-bottom{border-top:1px solid rgba(255,255,255,.10);margin-top:14px}
.foot-bottom .in{max-width:1360px;margin:0 auto;padding:18px clamp(14px,3vw,32px);
  display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;font-size:13px;color:#9aa08d}
.foot-bottom .sep{flex:1}
.foot-bottom a{color:#cfd3c6}.foot-bottom a:hover{color:#fff}

/* ===== СТАТЬЯ НОВОСТИ ===== */
.news-article{padding-bottom:64px}
.news-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:34px;align-items:start;margin-top:8px}
.news-main{min-width:0}
.news-main h1{margin:0 0 20px}
.news-aside{display:flex;flex-direction:column;gap:14px}
.news-cover{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--e1);border:1px solid var(--outline-variant)}
.news-cover img{width:100%;display:block}
.news-infocard{background:var(--surface-container-low);border:1px solid var(--outline-variant);border-radius:var(--r-md);padding:16px 18px;display:flex;flex-direction:column;gap:12px}
.news-info-row{display:flex;align-items:center;gap:10px;font-size:14.5px;color:var(--on-surface)}
.news-info-row .material-symbols-outlined{font-size:20px;color:var(--primary);flex:0 0 auto}
.news-info-cap{font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--on-surface-variant);display:block;margin-bottom:2px}
@media(max-width:820px){.news-layout{grid-template-columns:1fr;gap:22px}.news-aside{position:static;order:-1;flex-direction:row;flex-wrap:wrap}.news-cover{flex:1 1 260px}.news-infocard{flex:1 1 200px}}
.news-chip{display:inline-flex;align-items:center;gap:6px;background:var(--surface-container);color:var(--on-surface-variant);
  font-size:14px;font-weight:500;padding:7px 14px;border-radius:var(--r-full)}
.news-chip .material-symbols-outlined{font-size:18px;color:var(--primary)}
.news-related{margin-top:44px;padding-top:32px;border-top:1px solid var(--outline-variant)}
.news-related>.news-h{margin-bottom:20px}
.news-back{display:inline-flex;align-items:center;gap:6px;color:var(--primary);font-family:'Montserrat';font-weight:600;font-size:14px;margin-bottom:18px}
.news-back .material-symbols-outlined{font-size:20px}
.news-back:hover{text-decoration:underline}
.news-article h1{font-size:clamp(26px,4vw,40px);font-weight:800;line-height:1.12;margin:0 0 12px}
.news-meta{display:inline-flex;align-items:center;gap:6px;color:var(--on-surface-variant);font-size:14px;margin-bottom:26px}
.news-meta .material-symbols-outlined{font-size:19px}
.news-block{margin:0 0 30px}
.news-h{font-family:'Montserrat';font-weight:700;font-size:clamp(20px,2.4vw,26px);margin:0 0 14px;color:var(--on-surface)}
.news-rich{font-size:17px;line-height:1.7;color:var(--on-surface);overflow-wrap:break-word}
.news-rich>*:first-child{margin-top:0}
.news-rich p{margin:0 0 16px}
.news-rich a{color:var(--primary);text-decoration:underline;text-underline-offset:2px}
.news-rich a:hover{color:var(--secondary)}
.news-rich img{max-width:100%;height:auto;border-radius:var(--r-md)}
.news-rich strong,.news-rich b{font-weight:700}
.news-rich em,.news-rich i{font-style:italic}
/* подзаголовки */
.news-rich h2,.news-rich h3,.news-rich h4,.news-rich h5{font-family:'Montserrat';font-weight:800;line-height:1.25;margin:34px 0 13px;text-wrap:balance}
.news-rich h2{font-size:clamp(21px,2.4vw,27px);padding-bottom:9px;border-bottom:2px solid color-mix(in srgb,var(--primary) 30%,transparent)}
.news-rich h3{font-size:clamp(19px,2vw,22px);color:var(--primary)}
.news-rich h4,.news-rich h5{font-size:17.5px;color:var(--secondary)}
/* списки с фирменными маркерами */
.news-rich ul,.news-rich ol{margin:0 0 16px;padding-left:2px;list-style:none}
.news-rich ol{counter-reset:nr}
.news-rich li{position:relative;margin:0 0 9px;padding-left:30px}
.news-rich ul>li::before{content:"";position:absolute;left:7px;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--primary)}
.news-rich ol>li{counter-increment:nr}
.news-rich ol>li::before{content:counter(nr);position:absolute;left:0;top:.02em;width:23px;height:23px;border-radius:50%;background:color-mix(in srgb,var(--primary) 14%,transparent);color:var(--primary);font-family:'Montserrat';font-weight:700;font-size:12.5px;display:grid;place-items:center}
.news-rich li>ul,.news-rich li>ol{margin-top:9px}
/* цитата */
.news-rich blockquote{margin:22px 0;padding:16px 22px;border-left:4px solid var(--secondary);background:color-mix(in srgb,var(--secondary) 7%,var(--surface));border-radius:0 var(--r-md) var(--r-md) 0;font-size:17.5px;line-height:1.6}
.news-rich blockquote p:last-child{margin-bottom:0}
.news-rich hr{border:0;border-top:1px solid var(--outline-variant);margin:28px 0}
/* таблицы */
.news-rich table{width:100%;border-collapse:collapse;margin:0 0 20px;font-size:15.5px}
.news-rich th,.news-rich td{border:1px solid var(--outline-variant);padding:10px 14px;text-align:left;vertical-align:top}
.news-rich th{background:var(--surface-container-low);font-family:'Montserrat';font-weight:700}
.news-rich tr:nth-child(even) td{background:color-mix(in srgb,var(--surface-container-low) 55%,transparent)}
.news-imagetext .news-it-in{display:flex;gap:22px;align-items:flex-start}
.news-side-img{width:42%;max-width:360px;flex:0 0 auto;border-radius:var(--r-md);box-shadow:var(--e1)}
.news-video{position:relative;aspect-ratio:16/9;border-radius:var(--r-md);overflow:hidden;box-shadow:var(--e1)}
.news-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.news-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.news-gitem{border-radius:var(--r-md);overflow:hidden;display:block;box-shadow:var(--e1)}
.news-gitem img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform var(--d2) var(--ease)}
.news-gitem:hover img{transform:scale(1.05)}
@media(max-width:640px){.news-imagetext .news-it-in{flex-direction:column}.news-side-img{width:100%;max-width:none}}

/* ===== СПИСОК НОВОСТЕЙ ===== */
.news-list{padding-bottom:64px}
.news-list h1{font-size:clamp(26px,4vw,40px);font-weight:800;margin-bottom:20px}
.news-toolbar{display:flex;align-items:center;gap:14px;margin-bottom:24px;flex-wrap:wrap}
.news-filter{display:flex;flex-wrap:wrap;gap:10px;flex:1;min-width:0}
.nchip{font-family:'Roboto';font-size:13px;font-weight:500;padding:6px 13px;border-radius:var(--r-full);border:1px solid var(--outline-variant);background:var(--surface-container);color:var(--on-surface-variant);cursor:pointer;transition:background var(--d1) var(--ease)}
.nchip:hover{background:var(--surface-container-high)}
.nchip.on{background:var(--primary);color:var(--on-primary);border-color:transparent}
/* поиск внутри раздела (новости, педагоги, мероприятия, документы, СМИ) */
.sec-search-wrap{display:flex;align-items:center;gap:9px;background:var(--surface-container);border:1px solid var(--outline);border-radius:var(--r-full);padding:0 8px 0 16px;height:46px;max-width:440px;margin:0 0 22px;transition:border-color var(--d1) var(--ease)}
.sec-search-wrap:focus-within{border-color:var(--primary)}
.sec-search-wrap>.material-symbols-outlined{font-size:21px;color:var(--on-surface-variant)}
.sec-search{flex:1;min-width:0;border:none;background:none;outline:none;font-family:'Roboto';font-size:15px;color:var(--on-surface)}
.sec-search::-webkit-search-cancel-button{display:none}
.sec-search-wrap .clr{display:none;align-items:center;justify-content:center;width:30px;height:30px;border:none;background:none;color:var(--on-surface-variant);cursor:pointer;border-radius:50%}
.sec-search-wrap .clr:hover{background:var(--surface-container-high);color:var(--on-surface)}
.sec-search-wrap .clr .material-symbols-outlined{font-size:19px}
.sec-noresult{display:none;color:var(--on-surface-variant);padding:16px 2px;font-size:15px}
.news-range{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.news-range .nr-label{font-size:14px;font-weight:600;color:var(--on-surface-variant)}
.news-range .nr-dash{color:var(--on-surface-variant)}
.news-range{flex-wrap:nowrap}
.news-range .cat-select{height:44px}
.news-toolbar .sec-search-wrap{margin:0;height:44px}
@media(max-width:640px){.news-range{flex-wrap:wrap}.news-toolbar{gap:10px}}
/* СМИ/документы: аккордеон слева (ширина как есть), панель поиск+источник — в правом свободном месте */
.doc-controls{display:flex;gap:12px;margin:0}
.doc-layout{display:flex;gap:clamp(20px,3vw,44px);align-items:flex-start}
.doc-layout .docs-acc{flex:0 1 900px}
.doc-aside{flex:1 1 260px;min-width:0;max-width:360px;position:sticky;top:calc(var(--hdr-h,124px) + 14px)}
.doc-aside .doc-controls{flex-direction:column;align-items:stretch;gap:12px}
.doc-aside .sec-search-wrap{width:100%;max-width:none;flex:none;margin:0}
.doc-aside .doc-src-filter{width:100%;max-width:none;height:46px;margin:0}
@media(max-width:900px){.doc-layout{flex-direction:column}.doc-aside{position:static;order:-1;max-width:none;width:100%;flex:none;margin-bottom:16px}.doc-aside .doc-controls{flex-direction:row;flex-wrap:wrap}.doc-aside .sec-search-wrap{flex:1 1 240px;width:auto}.doc-aside .doc-src-filter{flex:0 0 auto;width:auto;max-width:260px}}
.view-toggle{display:inline-flex;gap:4px;background:var(--surface-container);border:1px solid var(--outline-variant);border-radius:var(--r-full);padding:4px;flex:0 0 auto}
.view-toggle button{width:38px;height:38px;border:none;background:none;border-radius:var(--r-full);color:var(--on-surface-variant);cursor:pointer;display:grid;place-items:center;transition:background var(--d1) var(--ease)}
.view-toggle button:hover{background:var(--surface-container-high)}
.view-toggle button.on{background:var(--primary);color:var(--on-primary)}
.view-toggle .material-symbols-outlined{font-size:22px}
/* вид «список» */
.news-grid.list-view{grid-template-columns:1fr;gap:14px}
.news-grid.list-view .ncard{flex-direction:row;align-items:stretch}
.news-grid.list-view .ncard-cover{width:clamp(220px,30%,340px);flex:0 0 auto;align-self:flex-start}
.news-grid.list-view .ncard-body{justify-content:center;padding:16px 22px}
.news-grid.list-view .ncard-title{font-size:20px}

/* ===== КАТАЛОГ КУРСОВ ===== */
.course-catalog{padding-top:32px;padding-bottom:64px}
.course-catalog h1{font-size:clamp(26px,4vw,40px);font-weight:800;margin-bottom:20px}
.cat-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:22px}
.cat-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cat-search-wrap{display:inline-flex;align-items:center;gap:8px;background:var(--surface-container);border:1px solid var(--outline);border-radius:var(--r-full);padding:0 14px;height:42px}
.cat-search-wrap .material-symbols-outlined{font-size:20px;color:var(--on-surface-variant)}
.cat-search{border:none;background:none;outline:none;font-family:'Roboto';font-size:14px;color:var(--on-surface);width:210px;max-width:44vw}
.cat-select{font-family:'Roboto';font-size:14px;font-weight:500;height:42px;padding:0 38px 0 16px;border-radius:var(--r-full);border:1px solid var(--outline);color:var(--on-surface);cursor:pointer;background-color:var(--surface-container);appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
.cat-select:hover{background:var(--surface-container-high)}
.stog{font-family:'Roboto';font-size:13.5px;font-weight:500;height:42px;padding:0 16px;border-radius:var(--r-full);border:1px solid var(--outline-variant);background:var(--surface-container);color:var(--on-surface-variant);cursor:pointer;transition:background var(--d1) var(--ease)}
.stog:hover{background:var(--surface-container-high)}
.stog.on{background:var(--secondary);color:#fff;border-color:transparent}
.cat-reset{display:inline-flex;align-items:center;gap:5px;height:42px;padding:0 14px;border-radius:var(--r-full);border:1px solid transparent;background:none;color:var(--on-surface-variant);font-size:14px;cursor:pointer}
.cat-reset .material-symbols-outlined{font-size:18px}
.cat-reset:hover{background:var(--surface-container)}
.cat-right{display:flex;align-items:center;gap:16px;flex:0 0 auto}
.cat-count{font-size:14px;color:var(--on-surface-variant);white-space:nowrap}
.course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.ccard{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--outline-variant);border-radius:var(--r-lg);overflow:hidden;transition:border-color var(--d2) var(--ease),transform var(--d2) var(--ease)}
.ccard:hover{border-color:color-mix(in srgb,var(--primary) 40%,var(--outline-variant));transform:translateY(-3px)}
.ccard-cover{aspect-ratio:1200/626;background:linear-gradient(135deg,var(--r1),var(--r3));background-size:cover;background-position:center;position:relative;overflow:hidden}
.ccard-ph{position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.9);font-size:60px;font-variation-settings:'wght' 300}
.ccard:hover .ccard-ph{transform:scale(1.08);transition:transform var(--d2) var(--ease)}
.ccard-badges{position:absolute;top:10px;left:10px;display:flex;flex-wrap:wrap;gap:6px;z-index:2}
.ccard-tags{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.cbadge{font-size:12px;font-weight:600;padding:3px 9px;border-radius:var(--r-full)}
.cbadge-new{background:var(--tertiary);color:#fff}
.cbadge-rec{background:#ef6c00;color:#fff}
.cbadge-arch{background:var(--surface-container-high);color:var(--on-surface-variant)}
.ccard-body{padding:14px 18px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.ccard-ages{display:flex;flex-wrap:wrap;gap:6px}
.cage{font-size:12px;font-weight:500;padding:3px 9px;border-radius:var(--r-full);background:var(--primary-container);color:var(--on-primary-container)}
.ccard-title{font-family:'Montserrat';font-weight:700;font-size:18px;line-height:1.25;color:var(--on-surface)}
.ccard:hover .ccard-title{color:var(--primary)}
.ccard-intro{font-size:14px;color:var(--on-surface-variant);line-height:1.5;margin:0}
.ccard-foot{margin-top:auto;padding-top:8px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.ccard-price{font-family:'Montserrat';font-weight:700;font-size:15px;color:var(--on-surface)}
.ccard-more{display:inline-flex;align-items:center;gap:3px;font-size:13.5px;font-weight:600;color:var(--primary)}
.ccard-more .material-symbols-outlined{font-size:18px}
.cat-empty{color:var(--on-surface-variant);padding:24px 0}
/* курсы — вид «список»: компактные строки без обложек, чтобы влезало больше */
.course-grid.list-view{grid-template-columns:1fr;gap:8px}
.course-grid.list-view .ccard{flex-direction:row;align-items:center}
.course-grid.list-view .ccard-cover{display:none}
.course-grid.list-view .ccard-body{flex-direction:row;align-items:center;gap:16px;padding:11px 18px;width:100%}
.course-grid.list-view .ccard-tags{order:2;flex:0 0 auto}
.course-grid.list-view .ccard-title{order:1;flex:1;min-width:0;font-size:16px}
.course-grid.list-view .ccard-intro{display:none}
.course-grid.list-view .ccard-foot{order:3;margin:0;padding:0;flex:0 0 auto;gap:18px}
.course-grid.list-view .ccard-price{white-space:nowrap}
@media(max-width:640px){.course-grid.list-view .ccard-body{flex-wrap:wrap;gap:6px 12px}.course-grid.list-view .ccard-title{flex-basis:100%}.course-grid.list-view .ccard-foot{width:100%;justify-content:space-between}}

/* ===== СТРАНИЦА КУРСА (edtech hero + tabs) ===== */
.course-page{padding-bottom:72px}
.course-arch-note{display:flex;align-items:center;gap:10px;background:var(--surface-container-high);border:1px solid var(--outline-variant);border-radius:var(--r-md);padding:14px 18px;margin:20px 0;color:var(--on-surface-variant);font-size:14.5px}
.course-arch-note .material-symbols-outlined{color:var(--secondary)}
.course-arch-note a{color:var(--primary);text-decoration:underline}
/* ---- Отзывы ---- */
.rv-block{margin-top:8px}
.rv-tabs{display:inline-flex;gap:6px;background:var(--surface-container-low);border:1px solid var(--outline-variant);border-radius:var(--r-full);padding:4px;margin:4px 0 22px}
.rv-tab{border:0;background:transparent;font-family:'Montserrat';font-weight:700;font-size:14px;color:var(--on-surface-variant);border-radius:var(--r-full);padding:9px 20px;cursor:pointer;transition:background var(--d1),color var(--d1)}
.rv-tab.on{background:var(--primary);color:#fff}
.rv-summary{display:flex;align-items:center;gap:8px;font-size:15px;color:var(--on-surface-variant);margin-bottom:18px}
.rv-summary b{color:var(--on-surface);font-family:'Montserrat';font-size:18px}
.rv-stars{display:inline-flex;vertical-align:middle}
.rv-stars .material-symbols-outlined{font-size:19px;color:var(--outline-variant);font-variation-settings:'FILL' 0}
.rv-stars .material-symbols-outlined.f{color:#f5a623;font-variation-settings:'FILL' 1}
.rv-list{display:grid;gap:14px}
.rv-card{border:1px solid var(--outline-variant);border-radius:var(--r-lg);padding:18px 20px;background:var(--surface)}
.rv-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:6px}
.rv-author{font-family:'Montserrat';font-weight:700;font-size:15.5px;color:var(--on-surface)}
.rv-date{color:var(--on-surface-variant);font-size:13px;white-space:nowrap}
.rv-text{margin:8px 0 0;color:var(--on-surface);line-height:1.6}
.rv-empty{color:var(--on-surface-variant);font-size:15px;padding:8px 0}
.rv-form{max-width:560px;display:grid;gap:18px}
.rv-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0}
.rv-rate{display:flex;align-items:center;gap:12px}
.rv-rate-cap{font-weight:600;color:var(--on-surface-variant);font-size:14px}
.rv-stars-input{display:inline-flex;gap:2px}
.rv-stars-input button{border:0;background:transparent;font-size:28px;line-height:1;cursor:pointer;color:var(--outline-variant);padding:0 1px;transition:color var(--d1)}
.rv-stars-input button.on{color:#f5a623}
.rv-field{position:relative}
.rv-field input,.rv-field textarea{width:100%;border:0;border-bottom:2px solid var(--outline-variant);background:transparent;font:inherit;font-size:16px;padding:8px 2px;color:var(--on-surface);resize:vertical;transition:border-color var(--d1)}
.rv-field input:focus,.rv-field textarea:focus{outline:none;border-color:var(--primary)}
.rv-field label{position:absolute;left:2px;top:8px;color:var(--on-surface-variant);pointer-events:none;transition:transform var(--d1),font-size var(--d1),color var(--d1);transform-origin:left}
.rv-field input:focus+label,.rv-field input:not(:placeholder-shown)+label,.rv-field textarea:focus+label,.rv-field textarea:not(:placeholder-shown)+label{transform:translateY(-20px) scale(.82);color:var(--primary)}
.rv-check{display:flex;gap:9px;align-items:flex-start;font-size:14px;color:var(--on-surface-variant);line-height:1.4;cursor:pointer}
.rv-check input{margin-top:2px;flex:0 0 auto;width:17px;height:17px;accent-color:var(--primary)}
.rv-check a{color:var(--primary);text-decoration:underline}
.rv-submit{justify-self:start;background:var(--secondary);color:#fff;border:0;font-family:'Montserrat';font-weight:700;font-size:15px;border-radius:var(--r-full);padding:13px 30px;cursor:pointer;transition:filter var(--d1)}
.rv-submit:hover{filter:brightness(1.06)}
.rv-msg{border-radius:var(--r-md);padding:14px 18px;font-size:15px;line-height:1.5;margin-bottom:18px}
.rv-msg.ok{background:color-mix(in srgb,var(--primary) 12%,var(--surface));color:var(--on-surface);border:1px solid color-mix(in srgb,var(--primary) 40%,transparent)}
.rv-msg.err{background:color-mix(in srgb,var(--error,#ba1a1a) 10%,var(--surface));color:var(--error,#ba1a1a);border:1px solid color-mix(in srgb,var(--error,#ba1a1a) 35%,transparent)}
.rv-confirm{max-width:520px;margin:20px auto;text-align:center;padding:34px 26px;border:1px solid var(--outline-variant);border-radius:var(--r-xl);background:var(--surface)}
.rv-confirm .material-symbols-outlined{font-size:52px}
.rv-confirm.ok .material-symbols-outlined{color:var(--primary)}
.rv-confirm.err .material-symbols-outlined{color:var(--error,#ba1a1a)}
.rv-confirm h2{font-family:'Montserrat';margin:10px 0 6px}
.rv-confirm p{color:var(--on-surface-variant);margin:0 0 8px}
/* ---- Конференции ---- */
.conf-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:6px 0 44px}
@media(max-width:820px){.conf-grid{grid-template-columns:1fr}}
.conf-card{display:flex;flex-direction:column;border:1px solid var(--outline-variant);border-radius:var(--r-xl);overflow:hidden;background:var(--surface);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.conf-card:hover{transform:translateY(-4px);box-shadow:var(--e2)}
.conf-head{padding:26px 26px 22px;color:#fff}
.conf-card.ito .conf-head{background:linear-gradient(135deg,#2f7bbf,#3a3f9e)}
.conf-card.um .conf-head{background:linear-gradient(135deg,#f58b1f,#e0532a)}
.conf-eyebrow{font-family:'Montserrat';font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;opacity:.92}
.conf-name{font-family:'Montserrat';font-weight:800;font-size:clamp(22px,2.4vw,28px);margin:6px 0 6px;line-height:1.1;text-wrap:balance}
.conf-full{font-size:14.5px;opacity:.96;line-height:1.4}
.conf-when{display:inline-flex;align-items:center;gap:7px;margin-top:16px;font-weight:600;font-size:13.5px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.30);border-radius:var(--r-full);padding:6px 14px}
.conf-when .material-symbols-outlined{font-size:18px}
.conf-body{padding:22px 26px 26px;display:flex;flex-direction:column;gap:18px;flex:1}
.conf-stats{display:flex;flex-wrap:wrap;gap:10px}
.conf-stat{flex:1 1 0;min-width:76px;text-align:center;background:var(--surface-container-low);border:1px solid var(--outline-variant);border-radius:var(--r-md);padding:11px 8px}
.conf-stat b{display:block;font-family:'Montserrat';font-weight:800;font-size:19px;line-height:1.1}
.conf-card.ito .conf-stat b{color:#2f7bbf}.conf-card.um .conf-stat b{color:#e0532a}
.conf-stat span{font-size:11.5px;color:var(--on-surface-variant);margin-top:2px;display:block}
.conf-desc{color:var(--on-surface);line-height:1.62;font-size:15px}
.conf-link{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:8px;font-family:'Montserrat';font-weight:700;font-size:15px;border-radius:var(--r-full);padding:12px 24px;color:#fff;text-decoration:none;transition:filter var(--d1)}
.conf-card.ito .conf-link{background:#2f7bbf}.conf-card.um .conf-link{background:#e0532a}
.conf-link:hover{filter:brightness(1.08)}
.conf-link .material-symbols-outlined{font-size:19px}
/* --- HERO --- */
.cx-hero{position:relative;overflow:hidden;color:#fff;isolation:isolate;background:linear-gradient(120deg,#357016 0%,#4f9a28 46%,#79bd3d 100%)}
.cx-hero-bg{display:none}
.cx-hero-tint{display:none}
.cx-hero-glow{position:absolute;inset:0;background:radial-gradient(72% 120% at 92% 6%,rgba(255,183,73,.42),transparent 58%),radial-gradient(60% 95% at 2% 104%,rgba(255,255,255,.20),transparent 60%)}
.cx-hero-grid{position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='1500'%20height='1500'%20viewBox='0%200%201500%201500'%3E%3Cg%20fill='%23ffffff'%20transform='translate(250%20250)'%3E%3Cpath%20d='M482.8,0c172.3,0,344.7,0,517,0c0,1.4,0.1,2.8,0.1,4.2c0,164.9,0,329.7,0,494.6c0,23-1.5,45.8-4.5,68.6%20c-4.4,32.6-11.9,64.5-22.7,95.5c-43.7,126-135.5,229.2-255.9,287.3c-59.2,28.6-121.8,44.6-187.5,48.3c-1.1,0.1-2.2,0.4-3.3,0.6%20c-16.7,0-33.5,0-50.2,0c-1.2-0.2-2.5-0.5-3.7-0.6c-20-1-39.9-3.4-59.6-6.9c-48.3-8.5-94.4-23.9-138.1-46.2%20C150.3,882.2,58.7,771.3,20.1,637.7c-9.7-33.6-15.7-67.8-18-102.7c-0.6-8.7-1-17.4-1.5-26.2c0-0.8-0.4-1.6-0.7-2.5%20c0-4.3,0-8.6,0-12.9c0.2-1.2,0.6-2.4,0.7-3.6c1.3-16.5,2.1-33.1,3.8-49.6c2.9-27.6,8.6-54.7,16.5-81.4%20c24.7-83.4,68.1-155.6,130.3-216.3c65-63.5,141.7-106.1,229.9-128c32.2-8,64.9-12.5,98-13.9C480.4,0.6,481.6,0.2,482.8,0z%20M177.1,825c-0.1-0.2,0,0,0.1,0.2c0.2,0.3,0.5,0.6,0.8,0.8c59,57.3,128.5,95.5,208.6,114.5c34,8.1,68.5,12.4,103.4,14%20c33.9,1.6,67.6-0.1,101-6.2c42.7-7.8,83.3-21.9,122-41.3c1-0.5,1.8-1.1,3-1.9c-59.9-59.9-119.6-119.6-179.5-179.5%20c39-38.6,77.8-77.1,116.7-115.7c-11.5-11.9-22.8-23.5-33.8-34.9c-19,11.4-38.3,5.1-48-7.7c-10.1-13.4-9.3-32.5,2.1-44.8%20c11.7-12.6,30.4-15,44.7-5.7c7.1,4.6,11.9,10.9,14.4,19c3.2,10.6,1.5,20.5-4,29.4c14.5,15,28.7,29.7,43.2,44.7%20c-38.5,38.5-77.3,77.2-115.5,115.4c57.8,57.8,115.3,115.3,173,173c77.2-43.3,139.2-103.1,186.4-179.1%20C810,613.5,704.4,507.9,599.2,402.5c-49.1,49-97.8,97.4-146.1,145.6c16,16,32.1,32.1,48.3,48.3c20.9-11.3,39.1-1.4,47,10%20c9.5,13.8,7.9,32.8-3.9,44.7c-11.9,11.9-30.8,13.7-44.6,4c-6.9-4.8-11.6-11.3-13.8-19.4c-2.8-10.6-1-20.6,4.6-28.9%20c-16.3-16.3-32.3-32.3-47.9-47.9C392.3,609.3,341.4,660,290.2,711c15.9,16.1,31.8,32.1,47.5,48.1c19.2-11.6,37.9-5,47.4,6.9%20c10.5,13.1,10.2,31.8-0.7,44.5c-11,12.9-29.6,16.1-44.2,7.6c-7.3-4.3-12.4-10.3-15.3-18.3c-3.9-11.1-2.3-21.6,3.3-30.9%20c-16.3-16.3-32.2-32.2-47.6-47.6C246.5,755.6,211.9,790.2,177.1,825z%20M991,9.5c-64.4,64.1-128.5,127.9-192.2,191.3%20c17,17,33.2,33.2,49.6,49.6c18.5-10.6,37.2-3.6,46.4,8.5c10.1,13.3,9.4,32.1-1.7,44.5c-11.2,12.5-29.7,15.3-44,6.7%20c-7.1-4.3-12.1-10.3-14.9-18.1c-4-11.2-2.2-21.9,3.6-31.2c-16.5-16.5-32.7-32.7-48.4-48.4c-24,23.9-48.2,48.1-72.2,72%20c37.6,37.6,75.4,75.4,113.4,113.4c12.8-7.6,26-7.5,39.3,0.7c10.4-10.4,20.8-20.8,31.2-31.2c10.4-10.4,20.9-20.9,31.4-31.4%20c18.5,18.5,36.7,36.7,55.1,55.1C990,378.7,993.2,25.2,991,9.5z%20M608.7,392.5c104.7,104.7,209.4,209.4,314.3,314.3%20c0.4-0.7,1.1-1.7,1.7-2.8c29-51.8,48.3-106.9,56.5-165.9c0.4-2.6-0.3-4.2-2-5.9c-13.6-13.5-27.1-27-40.6-40.6%20c-0.9-0.9-1.8-1.7-2.9-2.7c-23.9,23.9-47.7,47.7-72,72C792.8,490,722.3,419.6,652,349.3C637.5,363.8,622.9,378.3,608.7,392.5z%20M864.5,541.6c23.6-23.6,47.3-47.3,71.3-71.3c4,4,8,8,11.9,11.9c3.9,3.9,7.7,7.7,11.6,11.6c3.9,3.9,7.9,7.9,11.8,11.8%20c3.9,3.9,7.7,7.8,12.4,12.3c0.4-6.2,1-11.3,1.1-16.5c1-29.4,1.9-58.7,3-88.1c0.1-2.7-0.7-4.5-2.6-6.3%20c-16.6-16.5-33.2-33.1-49.8-49.7c-0.9-0.9-1.8-1.7-2.5-2.3c-17.9,17.9-35.6,35.6-53.6,53.6c4.4,6.9,6.1,15,5,23.6%20c-1.2,8.8-5.3,16.1-12.1,21.8c-12,10.1-29.1,11-42,2.2c-6.5-4.4-11.1-10.3-13.5-17.8c-3.5-10.9-1.9-21.2,3.6-30.1%20C782,370,744.2,332.2,706.8,294.8c-14.7,14.7-29.7,29.7-44.6,44.6C729.3,406.4,796.6,473.7,864.5,541.6z'/%3E%3Cpath%20d='M468.5,726c27.4,27.4,54.6,54.6,82.1,82.1c9-5.6,19-7.4,29.6-4.2c8,2.4,14.4,7.3,19,14.3%20c9.2,14.1,7,32.8-5.2,44.5c-12.3,11.7-31.3,12.8-45,2.6c-12.4-9.2-19.5-28.3-8.5-47c-27.4-27.4-54.7-54.7-82.3-82.3%20c-9.2,5.4-19.5,7.1-30.4,3.3c-8-2.8-14.1-7.9-18.4-15.1c-8.6-14.3-5.6-33,6.8-44c12.8-11.2,31.5-11.7,44.8-1.4%20C472.1,687.5,480.5,706,468.5,726z'/%3E%3Cpath%20d='M651.9,721.5c19.5,0,34.9,15.6,34.8,35.1c-0.1,19.2-15.8,34.8-35,34.7c-19.1-0.1-34.8-15.8-34.9-34.9%20C616.7,737.2,632.5,721.5,651.9,721.5z'/%3E%3C/g%3E%3C/svg%3E");background-size:22px 22px;opacity:.09;animation:cxdrift 60s linear infinite}
@keyframes cxdrift{to{background-position:22px 22px}}
.cx-hero-in{position:relative;z-index:2;padding-top:22px;padding-bottom:40px}
.cx-back{display:inline-flex;align-items:center;gap:7px;color:rgba(255,255,255,.82);font-weight:600;font-size:14px;text-decoration:none;margin-bottom:22px;transition:color var(--d1) var(--ease)}
.cx-back:hover{color:#fff}
.cx-cols{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:40px;align-items:center}
.cx-kicker{display:inline-flex;align-items:center;gap:8px;font-family:'Montserrat';font-weight:700;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb,var(--secondary) 70%,white);margin-bottom:14px}
.cx-kicker::before{content:'</>';font-family:ui-monospace,Menlo,monospace;letter-spacing:0;color:color-mix(in srgb,var(--primary) 60%,white);font-size:14px}
/* Кикер на зелёной подложке hero — светлый, без кислотного жёлто-оранжевого */
.cx-hero .cx-kicker{display:inline-flex;color:#fff;opacity:.92;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);padding:5px 13px;border-radius:var(--r-full);backdrop-filter:blur(4px)}
.cx-hero .cx-kicker::before{color:rgba(255,255,255,.85)}
.cx-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.cx-hero h1{font-family:'Montserrat';font-weight:800;font-size:clamp(28px,4.4vw,50px);line-height:1.05;letter-spacing:-.01em;margin:0 0 12px;text-wrap:balance}
.cx-id{display:inline-flex;align-items:center;gap:8px;margin:0;padding:9px 15px 9px 12px;border-radius:var(--r-full);
  background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(6px);color:#fff;font:inherit;
  font-size:14px;font-weight:600;cursor:pointer;transition:background .18s var(--ease)}
.cx-id:hover{background:rgba(255,255,255,.18)}
.cx-id b{font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.cx-id .material-symbols-outlined{font-size:16px;opacity:.8}
.cx-id.copied{background:rgba(143,211,54,.4);border-color:rgba(143,211,54,.7)}
.cx-lead{font-size:clamp(15px,1.5vw,18px);line-height:1.55;color:rgba(255,255,255,.85);margin:0 0 22px;max-width:640px}
.cx-chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px}
.cx-chip{display:inline-flex;align-items:center;gap:8px;padding:9px 15px 9px 12px;border-radius:var(--r-full);background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(6px);font-size:14px;font-weight:600;color:#fff}
.cx-chip .material-symbols-outlined{font-size:19px;color:color-mix(in srgb,var(--primary) 55%,white)}
.cx-chip b{font-family:'Montserrat';font-weight:700}
.cx-cta{display:flex;flex-wrap:wrap;gap:12px}
.cx-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:54px;padding:0 26px;border-radius:var(--r-full);font-family:'Montserrat';font-weight:700;font-size:16px;text-decoration:none;border:none;cursor:pointer;transition:transform var(--d1) var(--ease),box-shadow var(--d1) var(--ease)}
.cx-btn .material-symbols-outlined{font-size:22px}
.cx-btn-1{background:#fff;color:var(--brand-ink,#2c5511)}
.cx-btn-1 .material-symbols-outlined{color:var(--secondary)}
.cx-btn-1:hover{transform:translateY(-2px);box-shadow:0 6px 18px -8px rgba(0,0,0,.35)}
.cx-btn-2{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.28);color:#fff}
.cx-btn-2:hover{background:rgba(255,255,255,.18);transform:translateY(-2px)}
/* карточка-обложка в герое */
.cx-card{position:relative;border-radius:20px;overflow:hidden;aspect-ratio:1200/626;box-shadow:0 30px 60px -20px rgba(0,0,0,.6);border:6px solid #fff;background-clip:padding-box;background:linear-gradient(135deg,var(--r1),var(--r3));background-size:cover;background-position:center;transform:perspective(1000px) rotateY(-6deg) rotateX(2deg)}
.cx-card .ph{position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.92);font-size:76px}
.cx-card[style] .ph{display:none}
.cx-card::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.28))}
/* --- ТАБЫ (sticky) --- */
.course-nav{position:sticky;top:var(--hdr-h,116px);z-index:30;display:flex;gap:8px;overflow-x:auto;padding:8px 0;margin-bottom:8px;background:var(--background);border-bottom:1px solid var(--outline-variant);scrollbar-width:none;transition:top .28s var(--ease)}
.course-nav::-webkit-scrollbar{display:none}
.course-nav a{flex:0 0 auto;padding:9px 17px;border-radius:var(--r-full);font-family:'Montserrat';font-size:14px;font-weight:600;color:var(--on-surface-variant);text-decoration:none;white-space:nowrap;border:1px solid transparent;transition:background var(--d1) var(--ease),color var(--d1) var(--ease),border-color var(--d1) var(--ease)}
.course-nav a:hover{background:var(--surface-container);color:var(--on-surface)}
.course-nav a.on{background:var(--primary);color:#fff;border-color:transparent}
.course-nav a{scroll-snap-align:start}
/* на мобильном подсказываем, что список табов прокручивается вбок (затухание справа) */
@media(max-width:720px){
  .course-nav{scroll-snap-type:x proximity;-webkit-mask-image:linear-gradient(90deg,#000 82%,transparent);mask-image:linear-gradient(90deg,#000 82%,transparent)}
}
/* --- Раскладка тела --- */
.course-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:38px;align-items:start;padding-top:14px}
.course-main{min-width:0}
.course-infocard{background:var(--surface);border:1px solid var(--outline-variant);border-radius:var(--r-lg);padding:22px;display:flex;flex-direction:column;gap:15px;position:relative;overflow:hidden}

.cinfo-title{font-family:'Montserrat';font-weight:800;font-size:17px;margin:2px 0 2px}
.cinfo-row{display:flex;align-items:flex-start;gap:12px;font-size:15px;color:var(--on-surface)}
.cinfo-row .material-symbols-outlined{font-size:22px;color:var(--primary);flex:0 0 auto}
.cinfo-cap{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--on-surface-variant);margin-bottom:2px}
.cinfo-price{font-family:'Montserrat';font-weight:700;font-size:20px;color:var(--on-surface)}
.cinfo-cta{margin-top:4px;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;border-radius:var(--r-full);background:linear-gradient(135deg,var(--secondary),color-mix(in srgb,var(--secondary) 72%,#ff8a3d));color:#fff;font-family:'Montserrat';font-weight:700;font-size:16px;text-decoration:none;transition:transform var(--d1) var(--ease),box-shadow var(--d1) var(--ease)}
.cinfo-cta:hover{transform:translateY(-2px);filter:brightness(1.04)}
.cinfo-note{font-size:12.5px;color:var(--on-surface-variant);text-align:center;display:flex;align-items:center;justify-content:center;gap:6px}
.cinfo-note .material-symbols-outlined{font-size:16px;color:var(--primary)}
/* --- Секции --- */
.course-sec{scroll-margin-top:16px;margin-top:44px}
.course-sec>h2{font-family:'Montserrat';font-weight:700;font-size:clamp(20px,2.6vw,28px);margin:0 0 20px;display:flex;align-items:center;gap:12px;letter-spacing:-.01em}
.course-sec>h2 .cx-ico{width:42px;height:42px;flex:0 0 auto;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--primary) 14%,transparent);color:var(--primary)}
.course-sec>h2 .cx-ico .material-symbols-outlined{font-size:24px}
/* reveal on scroll — аддитивная анимация (контент виден по умолчанию) */
@keyframes cxrise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.reveal.in{animation:cxrise .6s var(--ease)}
@media (prefers-reduced-motion:reduce){.reveal.in{animation:none}}
/* --- Программа: таймлайн с нумерацией --- */
.course-program{position:relative;counter-reset:cp}
.cprog-item{position:relative;border:1px solid var(--outline-variant);border-radius:var(--r-md);margin-bottom:12px;overflow:hidden;background:var(--surface-container-low);transition:border-color var(--d1) var(--ease),box-shadow var(--d1) var(--ease)}
.cprog-item.open{border-color:color-mix(in srgb,var(--primary) 40%,var(--outline-variant));box-shadow:var(--e1)}
.cprog-head{width:100%;display:flex;align-items:center;gap:14px;padding:16px 18px;background:none;border:none;cursor:pointer;font-family:'Montserrat';font-weight:700;font-size:16px;color:var(--on-surface);text-align:left}
.cprog-head::before{counter-increment:cp;content:counter(cp);width:30px;height:30px;flex:0 0 auto;border-radius:9px;display:grid;place-items:center;font-family:'Montserrat';font-size:13px;font-weight:700;background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 55%,var(--secondary)));color:var(--on-primary)}
.cprog-head:hover{background:var(--surface-container)}
.cprog-ic{margin-left:auto;transition:transform var(--d2) var(--ease);color:var(--primary)}
.cprog-item.open .cprog-ic{transform:rotate(180deg)}
.cprog-body{max-height:0;overflow:hidden;transition:max-height var(--d2) var(--ease)}
.cprog-body .news-rich{padding:2px 18px 18px 62px;font-size:15.5px}
/* --- Липкая колонка --- */
.course-aside{position:sticky;top:96px}
/* --- Стоимость: премиум-тарифы --- */
.cprice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px}
.cprice{position:relative;border:1px solid var(--outline-variant);border-radius:var(--r-lg);padding:24px 22px;background:var(--surface);display:flex;flex-direction:column;gap:7px;transition:transform var(--d2) var(--ease),border-color var(--d2) var(--ease)}
.cprice:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--primary) 40%,var(--outline-variant))}
.cprice.hl{border:0;background:color-mix(in srgb,var(--primary) 8%,var(--surface));box-shadow:0 0 0 2px var(--primary)}
.cprice-name{font-weight:700;font-size:15px;color:var(--on-surface-variant)}
.cprice-val{font-family:'Montserrat';font-weight:700;font-size:27px;color:var(--on-surface);line-height:1.05}
.cprice.hl .cprice-val{color:var(--primary)}
.cprice-note{font-size:13.5px;color:var(--on-surface-variant);line-height:1.45}
.cprice-badge{position:absolute;top:-11px;right:16px;background:var(--secondary);color:#fff;font-family:'Montserrat';font-size:11px;font-weight:700;padding:4px 12px;border-radius:var(--r-full)}
/* --- Расписание --- */
.csched{border:1px solid var(--outline-variant);border-radius:var(--r-lg);padding:22px 24px;background:var(--surface-container-low);font-size:15.5px;line-height:1.65;color:var(--on-surface);white-space:pre-line;position:relative;padding-left:26px}
.csched::before{content:'';position:absolute;left:0;top:16px;bottom:16px;width:4px;border-radius:4px;background:linear-gradient(var(--primary),var(--secondary))}
.csched-hint{margin-top:12px;font-size:13px;color:var(--on-surface-variant);display:flex;align-items:center;gap:7px}
.csched-hint .material-symbols-outlined{font-size:18px;color:var(--secondary)}
/* галерея — masonry + лайтбокс */
.cgallery{columns:3 220px;column-gap:12px}
.cgallery a{display:block;margin:0 0 12px;border-radius:var(--r-md);overflow:hidden;break-inside:avoid;border:1px solid var(--outline-variant);cursor:zoom-in;position:relative}
.cgallery img{display:block;width:100%;height:auto;transition:transform var(--d2) var(--ease)}
.cgallery a:hover img{transform:scale(1.04)}
@media(max-width:560px){.cgallery{columns:2 130px}}
.cgallery--cert a{background:#fff}
.cgallery--cert img{padding:2px}
.lb{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.9);display:none;align-items:center;justify-content:center;padding:24px}
.lb.on{display:flex}
.lb img{max-width:94vw;max-height:90vh;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.lb-btn{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border:none;border-radius:var(--r-full);background:rgba(255,255,255,.15);color:#fff;font-size:30px;cursor:pointer;display:grid;place-items:center;transition:background var(--d1) var(--ease)}
.lb-btn:hover{background:rgba(255,255,255,.28)}
.lb-prev{left:18px}.lb-next{right:18px}
.lb-close{top:18px;right:18px;transform:none}
@media(max-width:560px){.lb-prev{left:6px}.lb-next{right:6px}}
/* отзывы */
.creviews{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.creview{border:1px solid var(--outline-variant);border-radius:var(--r-lg);padding:20px 22px;background:var(--surface);display:flex;flex-direction:column;gap:12px}
.creview-text{font-size:15px;line-height:1.6;color:var(--on-surface);position:relative}
.creview-text::before{content:'\201C';font-family:'Montserrat',serif;font-size:40px;color:var(--primary);opacity:.3;position:absolute;top:-18px;left:-6px}
.creview-foot{display:flex;align-items:center;gap:12px;margin-top:auto}
.creview-ava{width:44px;height:44px;border-radius:var(--r-full);object-fit:cover;flex:0 0 auto;background:var(--surface-container-high)}
.creview-ava.ph{display:grid;place-items:center;color:var(--primary);font-weight:700;font-family:'Montserrat';font-size:18px}
.creview-who{font-weight:700;font-size:14.5px;color:var(--on-surface)}
.creview-meta{font-size:13px;color:var(--on-surface-variant)}
/* преподаватели — карусель карточек с круглым фото в градиентном кольце */
.cteach-carousel{position:relative;margin:0 -4px}
.cteachers{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:6px 4px 10px;scrollbar-width:none}
.cteachers::-webkit-scrollbar{display:none}
.cteacher{flex:0 0 210px;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;text-align:center;text-decoration:none;background:var(--surface);border:1px solid var(--outline-variant);border-radius:var(--r-lg);padding:22px 16px 18px;transition:transform var(--d2) var(--ease),border-color var(--d2) var(--ease)}
.cteacher:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--primary) 40%,var(--outline-variant))}
.cteacher-photo{width:118px;height:118px;border-radius:50%;background:linear-gradient(135deg,var(--r2),var(--r4));background-size:cover;background-position:center top;position:relative;padding:0;box-shadow:0 0 0 4px var(--surface-container-low),0 0 0 7px color-mix(in srgb,var(--primary) 45%,transparent);transition:box-shadow var(--d2) var(--ease)}
.cteacher:hover .cteacher-photo{box-shadow:0 0 0 4px var(--surface-container-low),0 0 0 7px var(--secondary)}
.cteacher-photo .ph{position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.92);font-size:46px}
.cteacher-body{padding:14px 0 0;display:flex;flex-direction:column;gap:5px}
.cteacher-name{font-family:'Montserrat';font-weight:700;font-size:15.5px;color:var(--on-surface);line-height:1.3}
.cteacher:hover .cteacher-name{color:var(--primary)}
.cteacher-pos{font-size:12.5px;color:var(--on-surface-variant);line-height:1.4}
.cteach-nav{position:absolute;top:calc(50% - 12px);transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:1px solid var(--outline-variant);background:var(--surface);color:var(--on-surface);box-shadow:var(--e2);display:grid;place-items:center;cursor:pointer;z-index:3;transition:background var(--d1) var(--ease),opacity var(--d1) var(--ease)}
.cteach-nav:hover{background:var(--surface-container-high)}
.cteach-nav .material-symbols-outlined{font-size:26px}
.cteach-nav.prev{left:-14px}.cteach-nav.next{right:-14px}
.cteach-nav[hidden]{display:none}
@media(max-width:640px){.cteach-nav{display:none}.cteacher{flex-basis:170px}}
/* хлебные крошки в тёмном герое */
.cx-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;font-size:13.5px;color:rgba(255,255,255,.72)}
.cx-crumbs a{color:rgba(255,255,255,.72);text-decoration:none;transition:color var(--d1) var(--ease)}
.cx-crumbs a:hover{color:#fff}
.cx-crumbs .sep{opacity:.5}
.cx-crumbs .cur{color:#fff;font-weight:600}
/* плоский кикер (без код-глифа) — для не-IT разделов */
.cx-kicker--plain::before{content:none}
/* сетка команды (страница «Наша команда») */
.team-page{padding-bottom:72px}
.cteachers.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(196px,1fr));overflow:visible;scroll-snap-type:none;padding:6px 0}
.cteachers.grid .cteacher{flex-basis:auto}
/* ===== ИНСТИТУЦИОНАЛЬНЫЕ СТРАНИЦЫ (О нас / Контакты / Мероприятия) ===== */
.info-page{padding-bottom:88px}
.page-head{background:var(--surface);border-bottom:1px solid var(--outline-variant);padding:40px 0 40px;margin-bottom:36px}
.ph-in{display:flex;gap:18px;align-items:flex-start}
.ph-badge{flex:0 0 auto;width:58px;height:58px;border-radius:16px;background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary);display:grid;place-items:center;margin-top:3px}
.ph-badge .material-symbols-outlined{font-size:31px}
.ph-text{min-width:0;flex:1 1 auto}
.ph-count{flex:0 0 auto;align-self:center;text-align:right;padding-left:12px}
.ph-count .n{font-family:'Montserrat';font-weight:800;font-size:clamp(28px,4vw,40px);color:var(--primary);line-height:1;font-variant-numeric:tabular-nums}
.ph-count .l{font-size:12px;color:var(--on-surface-variant);text-transform:uppercase;letter-spacing:.5px;font-weight:700;margin-top:3px}
@media(max-width:600px){.ph-badge{width:46px;height:46px;border-radius:13px}.ph-badge .material-symbols-outlined{font-size:26px}.ph-count{display:none}}
.crumbs-l{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13.5px;color:var(--on-surface-variant);margin-bottom:12px}
.crumbs-l a{color:var(--on-surface-variant);text-decoration:none}
.crumbs-l a:hover{color:var(--primary)}
.crumbs-l .sep{opacity:.5}.crumbs-l .cur{color:var(--on-surface);font-weight:600}
.page-head h1{font-family:'Montserrat';font-weight:800;font-size:clamp(25px,4vw,40px);margin:0;letter-spacing:-.01em}
.page-head .lead{color:var(--on-surface-variant);font-size:clamp(15px,1.6vw,18px);margin:12px 0 0;max-width:66ch}
.page-head .page-date{display:inline-flex;align-items:center;gap:7px;color:var(--on-surface-variant);font-size:14.5px;margin:12px 0 0;font-weight:600}
.page-head .page-date .material-symbols-outlined{font-size:19px;color:var(--primary)}
/* факты-цифры */
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:16px;margin:6px 0 30px}
.fact{position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--outline-variant);border-radius:var(--r-lg);padding:24px 20px 20px;transition:transform var(--d2) var(--ease),border-color var(--d2) var(--ease)}
.home-about .facts{grid-template-columns:repeat(2,1fr)}
.fact:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--primary) 40%,var(--outline-variant))}
.fact::before{content:'';position:absolute;top:0;left:0;right:0;height:5px;background:var(--primary)}
.facts .fact:nth-child(4n+1)::before{background:linear-gradient(90deg,#4f9426,#7cc243)}
.facts .fact:nth-child(4n+2)::before{background:linear-gradient(90deg,#2f7bbf,#4aa3e0)}
.facts .fact:nth-child(4n+3)::before{background:linear-gradient(90deg,#f57c00,#ffab40)}
.facts .fact:nth-child(4n+4)::before{background:linear-gradient(90deg,#7a2f9c,#b25fd6)}
.fact-n{font-family:'Montserrat';font-weight:700;font-size:clamp(25px,3vw,33px);line-height:1;color:var(--on-surface)}
.fact-l{font-size:13.5px;color:var(--on-surface-variant);margin-top:8px;line-height:1.4}
/* чипы-направления в блоке «О центре» — нейтральные, контрастные (android-стиль) */
.home-chips{display:flex;flex-wrap:wrap;gap:9px;margin:2px 0 22px}
.home-chips span{font-family:'Montserrat';font-size:13.5px;font-weight:600;padding:7px 15px;border-radius:var(--r-full);white-space:nowrap;color:var(--on-surface);background:var(--surface-container);border:1px solid var(--outline-variant);transition:background var(--d1) var(--ease)}
.home-chips span:hover{background:var(--surface-container-high)}
.info-cols{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:34px;align-items:start}
@media(max-width:820px){.info-cols{grid-template-columns:1fr;gap:22px}.info-cols .info-aside{order:-1}}
.info-aside .box{background:var(--surface-container-low);border:1px solid var(--outline-variant);border-radius:var(--r-lg);padding:20px;display:flex;flex-direction:column;gap:12px}

.info-aside h3{font-family:'Montserrat';font-weight:800;font-size:16px;margin:2px 0 12px}
.info-cta{display:inline-flex;align-items:center;justify-content:center;gap:9px;width:100%;height:48px;border-radius:var(--r-full);font-family:'Montserrat';font-weight:700;font-size:15px;text-decoration:none;transition:transform var(--d1) var(--ease),box-shadow var(--d1) var(--ease)}
.info-cta.p{background:linear-gradient(135deg,var(--secondary),color-mix(in srgb,var(--secondary) 72%,#ff8a3d));color:#fff}
.info-cta.s{background:var(--surface-container-high);color:var(--on-surface);border:1px solid var(--outline-variant)}
.info-cta:hover{transform:translateY(-2px);box-shadow:var(--e2)}
blockquote.mission{margin:26px 0 0;padding:20px 24px;border-left:4px solid var(--primary);background:color-mix(in srgb,var(--primary) 8%,transparent);border-radius:0 var(--r-md) var(--r-md) 0;font-size:16.5px;line-height:1.6;color:var(--on-surface)}
blockquote.mission b{font-family:'Montserrat'}
/* контакты */
.contacts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px;margin-bottom:28px}
.contact-card{background:var(--surface-container-low);border:1px solid var(--outline-variant);border-radius:var(--r-lg);padding:22px;box-shadow:var(--e1);display:flex;flex-direction:column;gap:12px;transition:box-shadow var(--d2) var(--ease),transform var(--d2) var(--ease)}
.contact-card:hover{box-shadow:var(--e3);transform:translateY(-3px)}
.contact-card h3{font-family:'Montserrat';font-weight:800;font-size:17px;margin:0;display:flex;align-items:center;gap:9px}
.contact-card h3 .pin{width:30px;height:30px;flex:0 0 auto;border-radius:9px;display:grid;place-items:center;background:color-mix(in srgb,var(--primary) 15%,transparent);color:var(--primary)}
.contact-card h3 .pin .material-symbols-outlined{font-size:19px}
.crow{display:flex;align-items:flex-start;gap:11px;font-size:14.5px;color:var(--on-surface)}
.crow .material-symbols-outlined{font-size:20px;color:var(--primary);flex:0 0 auto}
.crow a{color:var(--on-surface);text-decoration:none}.crow a:hover{color:var(--primary)}
.map-wrap{border:1px solid var(--outline-variant);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--e1)}
.map-wrap iframe{display:block;width:100%;height:360px;border:0;filter:saturate(.9)}
/* мероприятия */
/* Карточки «Байтик — это» и т.п. (простые плитки с иконкой) */
.ev-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}
.ev-card{background:var(--surface);border:1px solid var(--outline-variant);border-radius:var(--r-lg);padding:22px;transition:border-color var(--d2) var(--ease),transform var(--d2) var(--ease)}
.ev-card:hover{border-color:color-mix(in srgb,var(--primary) 40%,var(--outline-variant));transform:translateY(-3px)}
.ev-ic{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;margin-bottom:14px;background:color-mix(in srgb,var(--primary) 14%,transparent);color:var(--primary)}
.ev-ic .material-symbols-outlined{font-size:26px}
.ev-card h3{font-family:'Montserrat';font-weight:700;font-size:17px;margin:0 0 7px}
.ev-card p{margin:0;font-size:14.5px;line-height:1.55;color:var(--on-surface-variant)}
.ev-note{margin-top:24px;display:flex;align-items:center;gap:10px;background:var(--surface-container-high);border:1px solid var(--outline-variant);border-radius:var(--r-md);padding:14px 18px;font-size:14.5px;color:var(--on-surface-variant)}
.ev-note .material-symbols-outlined{color:var(--secondary)}
/* Документы — аккордеон */
.docs-acc{display:flex;flex-direction:column;gap:12px;max-width:900px}
.doc-group{background:var(--surface);border:1px solid var(--outline-variant);border-radius:var(--r-lg);overflow:hidden}
.doc-group>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:16px 20px;font-family:'Montserrat';font-weight:700;font-size:16px;color:var(--on-surface);user-select:none}
.doc-group>summary::-webkit-details-marker{display:none}
.doc-group>summary:hover{background:var(--surface-container-low)}
.doc-sum-t{flex:1 1 auto}
.doc-count{flex:0 0 auto;font-family:'Montserrat';font-size:13px;font-weight:700;color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,transparent);border-radius:var(--r-full);padding:2px 10px;font-variant-numeric:tabular-nums}
.doc-chev{flex:0 0 auto;color:var(--on-surface-variant);transition:transform var(--d2) var(--ease)}
.doc-group[open]>summary .doc-chev{transform:rotate(180deg)}
.doc-list{display:flex;flex-direction:column;border-top:1px solid var(--outline-variant)}
.doc-item{display:flex;align-items:center;gap:12px;padding:13px 20px;border-bottom:1px solid var(--outline-variant);color:var(--on-surface);transition:background var(--d1) var(--ease)}
.doc-item:last-child{border-bottom:0}
.doc-item:hover{background:var(--surface-container-low)}
.doc-ic{flex:0 0 auto;font-size:24px;color:var(--secondary)}
.doc-t{flex:1 1 auto;font-size:15px;line-height:1.4}
.doc-date{flex:0 0 auto;font-size:12.5px;color:var(--on-surface-variant);font-variant-numeric:tabular-nums}
.doc-ext{flex:0 0 auto;font-size:11px;font-weight:700;letter-spacing:.5px;color:var(--on-surface-variant);border:1px solid var(--outline-variant);border-radius:6px;padding:2px 7px}
.smi-acc .doc-t{font-weight:500;display:flex;flex-direction:column;gap:3px}
.doc-src{font-size:12.5px;font-weight:600;color:var(--secondary);display:inline-flex;align-items:center;gap:4px}
.doc-src::before{content:"tag";font-family:'Material Symbols Outlined';font-size:14px}
.doc-dl{flex:0 0 auto;font-size:20px;color:var(--primary);opacity:.7}
.doc-item:hover .doc-dl{opacity:1}
/* Документ + кнопка «Электронная подпись» */
.doc-row{display:flex;align-items:stretch;border-bottom:1px solid var(--outline-variant);transition:background var(--d1) var(--ease)}
.doc-row:last-child{border-bottom:0}
.doc-row:hover{background:var(--surface-container-low)}
.doc-row .doc-item{flex:1 1 auto;min-width:0;border-bottom:0}
.doc-row .doc-item:hover{background:transparent}
.doc-sign{flex:0 0 auto;align-self:center;margin:0 16px 0 0;display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 13px 0 10px;border:1px solid color-mix(in srgb,var(--primary) 38%,var(--outline-variant));background:color-mix(in srgb,var(--primary) 9%,transparent);color:var(--primary);border-radius:var(--r-full);font:700 12.5px/1 'Montserrat',sans-serif;cursor:pointer;white-space:nowrap;transition:background var(--d1) var(--ease),color var(--d1) var(--ease),border-color var(--d1) var(--ease)}
.doc-sign .material-symbols-outlined{font-size:18px;font-variation-settings:'FILL' 1}
.doc-sign:hover{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}
.doc-sign:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.doc-sign-long{display:none}
@media(min-width:720px){.doc-sign-long{display:inline}.doc-sign-short{display:none}}
@media(max-width:520px){.doc-row .doc-item{padding-left:14px;padding-right:6px}.doc-row .doc-ext{display:none}.doc-sign{margin-right:12px}}
/* Окно со сведениями об электронной подписи */
.esign{border:0;padding:0;background:transparent;color:var(--on-surface);width:calc(100vw - 32px);max-width:480px;overflow:visible}
.esign::backdrop{background:rgba(15,25,10,.55);backdrop-filter:blur(3px)}
.esign[open]{animation:esignIn var(--d2) var(--ease)}
@keyframes esignIn{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.esign-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--outline-variant);border-radius:var(--r-xl);padding:28px 28px 24px;box-shadow:0 24px 60px rgba(0,0,0,.3)}
.esign-ic{align-self:flex-start;width:52px;height:52px;border-radius:var(--r-full);display:grid;place-items:center;background:var(--primary-container);color:var(--on-primary-container);font-size:28px;font-variation-settings:'FILL' 1;margin-bottom:14px}
.esign-card h2{font-family:'Montserrat';font-weight:800;font-size:20px;line-height:1.25;margin:0 0 6px;text-wrap:balance}
.esign-doc{margin:0 0 16px;font-size:14px;line-height:1.45;color:var(--on-surface-variant)}
.esign-dl{margin:0;border-top:1px solid var(--outline-variant)}
.esign-dl>div{display:grid;grid-template-columns:132px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--outline-variant)}
.esign-dl dt{font-size:13px;line-height:1.5;color:var(--on-surface-variant)}
.esign-dl dd{margin:0;font-size:14.5px;line-height:1.45;font-weight:500;overflow-wrap:anywhere}
.esign-dl dd.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;letter-spacing:.2px}
.esign-ok{align-self:flex-end;margin-top:20px;border:0;border-radius:var(--r-full);background:var(--primary);color:var(--on-primary);font:700 14px/1 'Montserrat',sans-serif;padding:13px 30px;cursor:pointer;transition:filter var(--d1) var(--ease)}
.esign-ok:hover{filter:brightness(1.1)}
.esign-ok:focus-visible{outline:2px solid var(--primary);outline-offset:3px}
@media(max-width:520px){.esign-card{padding:22px 18px 18px}.esign-dl>div{grid-template-columns:1fr;gap:2px}.esign-ok{align-self:stretch}}
@media(prefers-reduced-motion:reduce){.esign[open]{animation:none}}
/* Хронология «О нас» */
.chrono{margin:8px 0 4px}
.chrono-controls{display:flex;gap:16px;justify-content:flex-end;margin-bottom:12px}
.chrono-all{background:none;border:0;font:inherit;font-size:13.5px;font-weight:600;color:var(--primary);cursor:pointer;padding:4px 2px}
.chrono-all:hover{text-decoration:underline}
.chrono-group{border-left:2px solid var(--outline-variant);margin-left:6px}
.chrono-group>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:13px 14px 13px 18px;position:relative;user-select:none;border-bottom:1px solid var(--outline-variant);border-radius:10px;transition:background var(--d1) var(--ease)}
.chrono-group>summary:hover{background:var(--surface-container-low)}
.chrono-group:last-child>summary:not([open]),.chrono-group:last-child:not([open])>summary{border-bottom-color:transparent}
.chrono-group>summary::-webkit-details-marker{display:none}
.chrono-group>summary::before{content:"";position:absolute;box-sizing:border-box;left:-8px;top:18px;width:14px;height:14px;border-radius:50%;background:var(--surface);border:2px solid var(--primary)}
.chrono-group[open]>summary::before{background:var(--primary)}
.chrono-year{font-family:'Montserrat';font-weight:800;font-size:19px;color:var(--on-surface);letter-spacing:-.01em;min-width:96px}
.chrono-count{font-size:12.5px;font-weight:600;color:var(--on-surface-variant);background:var(--surface-container-low);border:1px solid var(--outline-variant);border-radius:var(--r-full);padding:2px 10px}
.chrono-chev{margin-left:auto;color:var(--on-surface-variant);width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;background:var(--surface-container-low);transition:transform var(--d2) var(--ease),background var(--d1) var(--ease)}
.chrono-group>summary:hover .chrono-chev{background:var(--surface-container-high)}
.chrono-group[open]>summary .chrono-chev{transform:rotate(180deg)}
.chrono-list{list-style:none;margin:0 0 8px;padding:0 8px 6px 18px;display:flex;flex-direction:column;gap:10px}
.chrono-list li{display:flex;gap:10px;font-size:15px;line-height:1.55;color:var(--on-surface)}
.chrono-iy{flex:0 0 auto;font-family:'Montserrat';font-weight:700;font-size:13px;color:var(--primary);min-width:42px;padding-top:1px;font-variant-numeric:tabular-nums}
.chrono-ev{flex:1 1 auto}
.chrono-ev b,.chrono-ev strong{color:var(--on-surface)}
.chrono-text{padding:2px 8px 10px 18px;font-size:15px;line-height:1.6;color:var(--on-surface)}
.chrono-text p{margin:0 0 10px}.chrono-text p:last-child{margin-bottom:0}
.chrono-text b,.chrono-text strong{color:var(--on-surface)}
/* Наша история */
.story-intro{margin-bottom:22px}
.story-intro>.story-hero{display:block;width:100%;height:auto;border-radius:14px;margin:0 0 16px}
.story-intro hr{border:0;border-top:1px solid var(--outline-variant);margin:22px 0}
.story-intro figure{margin:0}
.story-intro figcaption{font-size:13px;color:var(--on-surface-variant);line-height:1.4;margin-top:7px;font-style:italic}
/* акты — 2 колонки */
.story-figs{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0}
.story-figs img{width:100%;height:auto;border-radius:10px;border:1px solid var(--outline-variant);background:#fff}
/* фото-ряд */
.story-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}
.story-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;border:1px solid var(--outline-variant)}
.story-gallery figcaption{font-size:12px}
@media(max-width:720px){.story-gallery{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.story-figs{grid-template-columns:1fr}}
.story-audio{display:flex;flex-direction:column;gap:12px;background:var(--surface-container-low);border:1px solid var(--outline-variant);border-radius:var(--r-lg);padding:16px 18px;margin:0 0 26px}
.story-audio-h{display:flex;align-items:center;gap:12px}
.story-audio-h .material-symbols-outlined{font-size:30px;color:var(--primary)}
.story-audio-h b{font-family:'Montserrat';font-size:15px;display:block}
.story-audio-h span{font-size:13px;color:var(--on-surface-variant)}
.story-audio audio{width:100%;height:40px}
.story-periods{}
/* Способы оплаты */
.pay-methods{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin:6px 0 8px}
.pay-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--outline-variant);border-radius:var(--r-lg);padding:22px}
.pay-ic{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary);margin-bottom:14px}
.pay-ic.material-symbols-outlined{font-size:28px}
.pay-card h3{font-family:'Montserrat';font-weight:700;font-size:18px;margin:0 0 10px}
.pay-card p{margin:0 0 10px;font-size:14.5px;line-height:1.55;color:var(--on-surface-variant)}
.pay-card a:not(.pay-btn){color:var(--primary);font-weight:600}
.pay-steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px;font-size:14.5px;line-height:1.5;color:var(--on-surface-variant)}
.pay-steps b{color:var(--on-surface)}
.pay-btn{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--primary);color:#fff;border-radius:var(--r-full);padding:12px 20px;font-weight:600;font-size:15px}
.pay-btn .material-symbols-outlined{font-size:19px}
.pay-btn:hover{background:color-mix(in srgb,var(--primary) 88%,#000)}
.pay-req{display:flex;flex-wrap:wrap;gap:18px;align-items:flex-start;justify-content:space-between}
.pay-req-list{list-style:none;margin:0;padding:0;flex:1 1 420px;display:grid;grid-template-columns:1fr 1fr;gap:10px 24px}
.pay-req-list li{display:flex;flex-direction:column;gap:2px;font-size:14px;border-bottom:1px solid var(--outline-variant);padding-bottom:8px}
.pay-req-list span{color:var(--on-surface-variant);font-size:12.5px}
.pay-req-list b{font-family:var(--mono,ui-monospace,monospace);font-size:15px;color:var(--on-surface);letter-spacing:.2px}
.pay-dl{flex:0 0 auto;align-self:flex-start;display:inline-flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--outline-variant);border-radius:var(--r-full);padding:11px 18px;font-weight:600;font-size:14.5px;color:var(--on-surface);white-space:nowrap;transition:border-color var(--d1) var(--ease),background var(--d1) var(--ease)}
.pay-dl:hover{background:var(--surface-container-low);border-color:color-mix(in srgb,var(--primary) 45%,var(--outline-variant))}
.pay-dl>.material-symbols-outlined{font-size:22px;color:var(--secondary)}
.pay-dl-badge{font-size:11px;font-weight:700;letter-spacing:.5px;color:var(--on-surface-variant);border:1px solid var(--outline-variant);border-radius:6px;padding:2px 7px}
.pay-legal{max-width:none;margin-top:8px}
@media(max-width:900px){.pay-methods{grid-template-columns:1fr}.pay-req-list{grid-template-columns:1fr}}
/* Карточки мероприятий (страница «Мероприятия») — цвет задаёт --ev */
.evt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.evt-card{--ev:var(--r4);position:relative;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--outline-variant);border-radius:var(--r-lg);overflow:hidden;cursor:pointer;text-align:left;padding:0;font:inherit;color:inherit;transition:border-color var(--d2) var(--ease),transform var(--d2) var(--ease),box-shadow var(--d2) var(--ease)}
.evt-card.c-purple{--ev:var(--r4)}.evt-card.c-green{--ev:var(--r1)}.evt-card.c-orange{--ev:var(--r5)}.evt-card.c-blue{--ev:var(--r2)}
.evt-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--ev) 55%,var(--outline-variant));box-shadow:0 10px 26px -14px color-mix(in srgb,var(--ev) 70%,transparent)}
.evt-top{position:relative;min-height:104px;padding:16px 18px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;background:linear-gradient(135deg,color-mix(in srgb,var(--ev) 82%,#000 4%),var(--ev))}
.evt-top .evt-ic{position:absolute;top:14px;right:16px;width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.18);color:#fff;margin:0}
.evt-top .evt-ic .material-symbols-outlined{font-size:30px}
.evt-type{font-size:11.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;opacity:.95;max-width:70%}
.evt-status{position:absolute;top:16px;left:16px;display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;padding:4px 10px;border-radius:var(--r-full);background:#fff;color:#1b7a2e}
.evt-status.closed{color:var(--on-surface-variant)}
.evt-status::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.evt-body{flex:1 1 auto;display:flex;flex-direction:column;padding:15px 18px 18px}
.evt-date{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--ev);margin-bottom:6px}
.evt-date .material-symbols-outlined{font-size:17px}
.evt-card .evt-title{font-family:'Montserrat';font-weight:700;font-size:16px;line-height:1.28;margin:0 0 12px;color:var(--on-surface)}
.evt-tags{margin-top:auto;display:flex;flex-wrap:wrap;gap:6px}
.evt-tag{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:500;padding:4px 9px;border-radius:var(--r-full);background:var(--surface-container-low);color:var(--on-surface-variant);border:1px solid var(--outline-variant)}
.evt-tag .material-symbols-outlined{font-size:14px}
.evt-more{margin-top:12px;font-size:13px;font-weight:600;color:var(--ev);display:inline-flex;align-items:center;gap:4px}
/* Модальное окно мероприятия */
.evm{position:fixed;inset:0;z-index:120;display:none;align-items:flex-start;justify-content:center;padding:40px 16px;overflow-y:auto}
.evm.open{display:flex}
.evm-back{position:fixed;inset:0;background:rgba(15,18,12,.55);backdrop-filter:blur(2px)}
.evm-box{--ev:var(--r4);position:relative;z-index:1;width:100%;max-width:640px;background:var(--surface);border-radius:var(--r-xl,22px);overflow:hidden;box-shadow:var(--e4,0 24px 60px -20px rgba(0,0,0,.5));animation:evmIn .28s var(--ease) both}
@keyframes evmIn{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.evm-top{position:relative;padding:22px 24px;color:#fff;background:linear-gradient(135deg,color-mix(in srgb,var(--ev) 82%,#000 4%),var(--ev))}
.evm-top .evt-type{font-size:12px}
.evm-top h3{font-family:'Montserrat';font-weight:700;font-size:22px;line-height:1.2;margin:8px 0 0;color:#fff}
.evm-close{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.2);color:#fff;cursor:pointer;display:grid;place-items:center}
.evm-close:hover{background:rgba(255,255,255,.32)}
.evm-meta{display:flex;flex-wrap:wrap;gap:8px;padding:16px 24px 0}
.evm-body{padding:16px 24px 8px;font-size:15px;line-height:1.6;color:var(--on-surface)}
.evm-body p{margin:0 0 12px}.evm-body ul{margin:0 0 12px;padding-left:20px}.evm-body li{margin:4px 0}
.evm-body hr{border:0;border-top:1px solid var(--outline-variant);margin:16px 0}
.evm-body strong{color:var(--on-surface)}
.evm-foot{position:sticky;bottom:0;display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:16px 24px 22px;background:var(--surface);border-top:1px solid var(--outline-variant)}
.evm-reg{display:inline-flex;align-items:center;gap:8px;background:var(--ev);color:#fff;border:0;border-radius:var(--r-full);padding:12px 22px;font-size:15px;font-weight:600;cursor:not-allowed;opacity:.9}
.evm-reg .material-symbols-outlined{font-size:20px}
.evm-hint{font-size:13px;color:var(--on-surface-variant)}
@media(max-width:600px){.evt-grid{grid-template-columns:1fr}.evm{padding:0}.evm-box{max-width:none;min-height:100%;border-radius:0}}
/* ===== ГЛАВНАЯ — доп. секции ===== */
.home-sec{padding:clamp(34px,5vw,60px) 0}
.home-sec--tint{background:var(--surface-container-low)}
.home-eyebrow{display:inline-block;font-family:'Montserrat';font-weight:700;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--primary);margin-bottom:10px}
.home-h{font-family:'Montserrat';font-weight:700;font-size:clamp(23px,3.2vw,34px);letter-spacing:-.01em;margin:0 0 16px;text-wrap:balance}
.home-h.center{text-align:center;margin:0 auto 30px;max-width:20ch}
.home-h-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.home-h-row .home-h{margin:0}
.home-about{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:38px;align-items:center}
.home-about p{font-size:16.5px;line-height:1.6;color:var(--on-surface-variant);margin:0 0 18px;max-width:52ch}
.home-link{display:inline-flex;align-items:center;gap:7px;font-family:'Montserrat';font-weight:700;font-size:15px;color:var(--primary);text-decoration:none;transition:gap var(--d1) var(--ease)}
.home-link:hover{gap:12px}
.home-link .material-symbols-outlined{font-size:20px}
@media(max-width:820px){.home-about{grid-template-columns:1fr;gap:22px}}
/* CTA-блок (зелёный, листовой паттерн) */
.home-cta{position:relative;overflow:hidden;color:#fff;isolation:isolate;background:linear-gradient(120deg,#357016,#4f9a28 48%,#79bd3d);margin-top:0}
.home-cta .cx-hero-glow,.home-cta .cx-hero-grid{position:absolute;inset:0}
.home-cta-in{position:relative;z-index:2;text-align:center;padding:clamp(40px,6vw,68px) 0;display:flex;flex-direction:column;align-items:center;gap:8px}
.home-cta h2{font-family:'Montserrat';font-weight:800;font-size:clamp(24px,3.6vw,38px);margin:0;text-wrap:balance}
.home-cta p{font-size:clamp(15px,1.6vw,18px);color:rgba(255,255,255,.9);margin:6px 0 22px;max-width:52ch}
.home-cta-btns{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
/* отзыв-витрина: бейдж Яндекса + карусель наших отзывов */
.rev-showcase{display:grid;grid-template-columns:280px 1fr;gap:22px;align-items:stretch}
@media(max-width:900px){.rev-showcase{grid-template-columns:1fr}}
.rev-badge{background:linear-gradient(150deg,#357016,#4f9a28 60%,#79bd3d);color:#fff;border-radius:var(--r-lg);padding:26px 24px;display:flex;flex-direction:column;justify-content:center;text-align:center;box-shadow:var(--e1)}
.rev-badge-score{font-family:'Montserrat';font-weight:800;font-size:54px;line-height:1}
.rev-badge .rev-stars{justify-content:center;margin:6px 0 10px}
.rev-badge .rev-stars .material-symbols-outlined{color:#ffd54a;font-variation-settings:'FILL' 1;font-size:22px}
.rev-badge-sub{font-size:15px;font-weight:600}
.rev-badge-src{font-size:13px;opacity:.85;margin-top:2px}
.rev-badge-btn{margin-top:16px;display:inline-flex;align-items:center;justify-content:center;gap:7px;background:#fff;color:#2c5511;font-family:'Montserrat';font-weight:700;font-size:14px;border-radius:var(--r-full);padding:11px 18px;text-decoration:none;transition:transform var(--d1)}
.rev-badge-btn:hover{transform:translateY(-2px)}
.rev-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(300px,340px);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 10px;scrollbar-width:thin}
.rev-tcard{scroll-snap-align:start;background:var(--surface);border:1px solid var(--outline-variant);border-radius:var(--r-lg);padding:20px 22px;display:flex;flex-direction:column;gap:10px}
.rev-tcard .rev-stars .material-symbols-outlined{color:#f5a623;font-variation-settings:'FILL' 1;font-size:18px}
.rev-thead{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.rev-tauthor{font-family:'Montserrat';font-weight:700;font-size:15px}
.rev-tdate{font-size:12.5px;color:var(--on-surface-variant);white-space:nowrap}
.rev-ttext{color:var(--on-surface);line-height:1.55;font-size:14.5px;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}
.rev-tfor{font-size:12.5px;color:var(--on-surface-variant);margin-top:auto;display:inline-flex;align-items:center;gap:5px}
.rev-tfor .material-symbols-outlined{font-size:15px;color:var(--primary)}
/* ---- Форма записи ---- */
.enr-form{max-width:780px;display:grid;gap:26px}
.enr-legend{font-family:'Montserrat';font-weight:700;font-size:17px;margin:4px 0 -4px;display:flex;align-items:center;gap:9px}
.enr-legend .material-symbols-outlined{color:var(--primary);font-size:22px}
.enr-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}
@media(max-width:640px){.enr-grid{grid-template-columns:1fr}}
.enr-field{display:grid;gap:6px}
.enr-field.wide{grid-column:1/-1}
.enr-field>label{font-size:13px;font-weight:600;color:var(--on-surface-variant)}
.enr-field input,.enr-field select,.enr-field textarea{width:100%;border:1px solid var(--outline-variant);border-radius:var(--r-sm);background:var(--surface);font:inherit;font-size:15px;padding:11px 12px;color:var(--on-surface);transition:border-color var(--d1)}
.enr-field input:focus,.enr-field select:focus,.enr-field textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 14%,transparent)}
.enr-field textarea{resize:vertical;min-height:90px}
.enr-hint{font-size:13.5px;color:var(--on-surface-variant);margin:2px 0 0;line-height:1.5}
.enr-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0}
/* ---- Квиз записи ---- */
.quiz{max-width:720px;margin:0 auto}
.quiz-prog{display:flex;align-items:center;gap:12px;margin-bottom:26px}
.quiz-prog-bar{flex:1;height:8px;border-radius:999px;background:var(--surface-container);overflow:hidden}
.quiz-prog-fill{height:100%;background:var(--primary);border-radius:999px;transition:width .35s var(--ease);width:20%}
.quiz-prog-txt{font-size:13px;font-weight:700;color:var(--on-surface-variant);white-space:nowrap;font-variant-numeric:tabular-nums}
.quiz-step{display:none}
.quiz-step.on{display:block;animation:quizIn .3s var(--ease)}
@keyframes quizIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.quiz-q{font-family:'Montserrat';font-weight:800;font-size:clamp(20px,2.4vw,26px);margin:0 0 6px;text-wrap:balance}
.quiz-sub{color:var(--on-surface-variant);margin:0 0 20px}
.quiz-opts{display:grid;gap:12px}
.quiz-opts.cols2{grid-template-columns:1fr 1fr}
@media(max-width:560px){.quiz-opts.cols2{grid-template-columns:1fr}}
.quiz-opt{position:relative;display:flex;align-items:center;gap:14px;border:2px solid var(--outline-variant);border-radius:var(--r-lg);padding:18px 20px;cursor:pointer;transition:border-color var(--d1),background var(--d1)}
.quiz-opt:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--outline-variant));background:var(--surface-container-low)}
.quiz-opt input{position:absolute;opacity:0;pointer-events:none}
.quiz-opt.sel{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,var(--surface))}
.quiz-opt .ic{flex:0 0 auto;width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary)}
.quiz-opt .ic .material-symbols-outlined{font-size:26px}
.quiz-opt-t b{display:block;font-family:'Montserrat';font-weight:700;font-size:16px}
.quiz-opt-t span{font-size:13.5px;color:var(--on-surface-variant)}
.quiz-nav{display:flex;align-items:center;gap:12px;margin-top:26px}
.quiz-back{background:transparent;border:2px solid var(--outline-variant);color:var(--on-surface);border-radius:var(--r-full);font-family:'Montserrat';font-weight:700;padding:12px 22px;cursor:pointer}
.quiz-back:hover{background:var(--surface-container-low)}
.quiz-next,.quiz-submit{margin-left:auto;background:var(--secondary);color:#fff;border:0;border-radius:var(--r-full);font-family:'Montserrat';font-weight:700;font-size:15px;padding:13px 30px;cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.quiz-next:hover,.quiz-submit:hover{filter:brightness(1.06)}
.quiz-err{color:var(--error,#ba1a1a);font-size:14px;margin-top:12px}
/* два промо-видео (презентация + видео о центре) */
.flyer-video{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.fv-card{display:block;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--e1);position:relative;background:var(--surface-container-low);transition:box-shadow var(--d2) var(--ease),transform var(--d2) var(--ease)}
.fv-card:hover{box-shadow:var(--e3);transform:translateY(-4px)}
.fv-card img{display:block;width:100%;height:auto}
.fv-card::after{content:'';position:absolute;inset:0;background:rgba(0,0,0,0);transition:background var(--d2) var(--ease)}
.fv-card:hover::after{background:rgba(0,0,0,.04)}
@media(max-width:700px){.flyer-video{grid-template-columns:1fr}}
/* ===== БРЕНДБУК / ЛОГОТИП ===== */
.info-page .bh{font-family:'Montserrat';font-weight:700;font-size:clamp(20px,2.6vw,26px);letter-spacing:-.01em;margin:42px 0 16px}
.brand-constructor{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:26px;align-items:start;margin-bottom:16px}
@media(max-width:820px){.brand-constructor{grid-template-columns:1fr}}
.brand-stage{position:relative;border:1px solid var(--outline-variant);border-radius:var(--r-lg);min-height:340px;display:grid;place-items:center;padding:40px;overflow:hidden;transition:background .25s var(--ease)}
.brand-stage img{max-width:80%;max-height:220px;height:auto;display:block}
.brand-stage.bg-white{background:#fff}
.brand-stage.bg-light{background:#f4f5f6}
.brand-stage.bg-green{background:linear-gradient(120deg,#357016,#4f9a28,#79bd3d)}
.brand-stage.bg-dark{background:#12140e}
.brand-stage.bg-trans{background-color:#fff;background-image:linear-gradient(45deg,#e9ecef 25%,transparent 25%),linear-gradient(-45deg,#e9ecef 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#e9ecef 75%),linear-gradient(-45deg,transparent 75%,#e9ecef 75%);background-size:22px 22px;background-position:0 0,0 11px,11px -11px,-11px 0}
.brand-controls .bc-group{margin-bottom:18px}
.brand-controls h4{font-family:'Montserrat';font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:var(--on-surface-variant);margin:0 0 9px}
.bc-opts{display:flex;flex-wrap:wrap;gap:8px}
.bc-opts button{font-family:'Montserrat';font-weight:600;font-size:13.5px;border:1px solid var(--outline-variant);background:var(--surface);color:var(--on-surface);border-radius:var(--r-full);padding:7px 14px;cursor:pointer;display:inline-flex;align-items:center;transition:border-color var(--d1) var(--ease)}
.bc-opts button.on{background:var(--primary);color:#fff;border-color:transparent}
.bc-dot{width:16px;height:16px;border-radius:4px;margin-right:7px;border:1px solid rgba(0,0,0,.15)}
.brand-dl{display:flex;gap:10px;margin-top:20px}
.brand-dl a,.brand-dl button{flex:1;text-align:center;text-decoration:none;font-family:'Montserrat';font-weight:700;border-radius:var(--r-full);padding:12px;font-size:14px;cursor:pointer;border:1px solid var(--outline-variant)}
.brand-dl .dl-svg{background:var(--primary);color:#fff;border-color:transparent}
.brand-dl .dl-png{background:var(--surface-container);color:var(--on-surface)}
.brand-note{font-size:13px;color:var(--on-surface-variant);margin-top:10px}
.brand-colors{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:14px}
.brand-color{border:1px solid var(--outline-variant);border-radius:var(--r-md);overflow:hidden;background:var(--surface)}
.brand-color .chip{height:74px}
.brand-color .cm{padding:10px 12px}
.brand-color .nm{font-weight:700;font-size:14px}
.brand-color .hex{font-family:ui-monospace,Menlo,monospace;font-size:13px;color:var(--on-surface-variant);text-transform:uppercase}
.brand-files{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}
.brand-file{border:1px solid var(--outline-variant);border-radius:var(--r-md);overflow:hidden;background:var(--surface)}
.brand-file .thumb{height:118px;display:grid;place-items:center;padding:16px;background:#f6f7f8;border-bottom:1px solid var(--outline-variant)}
.brand-file .thumb img{max-width:88%;max-height:86px}
.bf-body{padding:12px 14px}
.bf-name{font-family:'Montserrat';font-weight:700;font-size:14px;margin-bottom:8px}
.bf-links{display:flex;gap:7px}
.bf-links a{flex:1;text-align:center;font-family:'Montserrat';font-weight:700;font-size:12.5px;text-decoration:none;padding:6px 4px;border-radius:8px;background:var(--surface-container);color:var(--on-surface);border:1px solid var(--outline-variant);transition:border-color var(--d1) var(--ease)}
.bf-links a:hover{border-color:var(--primary);color:var(--primary)}
.brand-present{display:flex;flex-wrap:wrap;gap:14px;align-items:center;border:1px solid var(--outline-variant);border-radius:var(--r-md);padding:16px 18px;background:var(--surface)}
.brand-present .material-symbols-outlined{font-size:34px;color:var(--secondary)}
.brand-present .bp-t b{font-family:'Montserrat'}
.brand-present .bp-links{display:flex;gap:10px;margin-left:auto}
.brand-present .bp-links a{font-family:'Montserrat';font-weight:700;font-size:13.5px;text-decoration:none;padding:9px 16px;border-radius:var(--r-full)}
.brand-present .bp-links .p-pptx{background:var(--primary);color:#fff}
.brand-present .bp-links .p-pdf{background:var(--surface-container);color:var(--on-surface);border:1px solid var(--outline-variant)}
.brand-fonts{display:grid;gap:14px}
.brand-font{border:1px solid var(--outline-variant);border-radius:var(--r-md);padding:18px 20px}
.brand-font .fn{font-size:12px;color:var(--on-surface-variant);text-transform:uppercase;letter-spacing:.6px;font-weight:700;margin-bottom:8px}
.brand-guide{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:640px){.brand-guide{grid-template-columns:1fr}}
.brand-guide .g{border:1px solid var(--outline-variant);border-radius:var(--r-md);padding:16px 18px}
.brand-guide .g h4{margin:0 0 8px;font-family:'Montserrat';display:flex;align-items:center;gap:8px}
.brand-guide .g.ok h4{color:#2e7d32}.brand-guide .g.no h4{color:#c62828}
.brand-guide ul{margin:0;padding-left:18px;font-size:14.5px;line-height:1.6;color:var(--on-surface-variant)}
/* ===== СТРАНИЦА ПРЕПОДАВАТЕЛЯ (tech hero) ===== */
.teacher-page{padding-bottom:72px}
.tx-cols{display:grid;grid-template-columns:260px minmax(0,1fr);gap:38px;align-items:center}
.tx-photo{position:relative;aspect-ratio:3/4;border-radius:20px;overflow:hidden;background:linear-gradient(135deg,var(--r2),var(--r4));background-size:cover;background-position:center top;box-shadow:0 24px 50px -18px rgba(0,0,0,.55);border:6px solid #fff;background-clip:padding-box}
.tx-photo .ph{position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.9);font-size:76px}
.tx-photo[style] .ph{display:none}
.tx-main h1{font-family:'Montserrat';font-weight:800;font-size:clamp(26px,3.6vw,42px);line-height:1.08;margin:0 0 14px;color:#fff;text-wrap:balance}
.tx-pos{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:var(--r-full);background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(6px);font-weight:600;font-size:14.5px;color:#fff;margin-bottom:16px}
.tx-pos .material-symbols-outlined{font-size:19px;color:color-mix(in srgb,var(--primary) 55%,white)}
.tx-lead{font-size:16px;line-height:1.6;color:rgba(255,255,255,.85);max-width:640px;margin:0}
@media(max-width:700px){.tx-cols{grid-template-columns:1fr;gap:22px;justify-items:start}.tx-photo{width:200px}}
/* видео */
.cvideos{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px}
.cvideo{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--outline-variant);background:#000}
.cvideo iframe{display:block;width:100%;aspect-ratio:16/9;border:0}
.cvideo-cap{padding:10px 14px;font-size:14px;font-weight:600;color:var(--on-surface);background:var(--surface-container-low)}
@media(max-width:1024px){.cx-cols{grid-template-columns:1fr;gap:26px}.cx-card{max-width:440px;transform:none}}
@media(max-width:1024px){.course-layout{grid-template-columns:1fr;gap:24px}.course-aside{order:-1;position:static}}
@media(max-width:560px){.news-grid.list-view .ncard{flex-direction:column}.news-grid.list-view .ncard-cover{width:100%;aspect-ratio:16/9}}
.news-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.ncard{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--outline-variant);border-radius:var(--r-lg);overflow:hidden;transition:border-color var(--d2) var(--ease),transform var(--d2) var(--ease)}
.ncard:hover{border-color:color-mix(in srgb,var(--primary) 40%,var(--outline-variant));transform:translateY(-3px)}
.ncard-cover{position:relative;aspect-ratio:1200/626;background:linear-gradient(135deg,var(--r1),var(--r3));overflow:hidden}
.ncard-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
/* аккуратная заглушка для новостей без фото — фирменный знак на градиенте */
.ncard-cover:not(:has(.ncard-img))::after{content:"newspaper";font-family:'Material Symbols Outlined';font-size:56px;color:rgba(255,255,255,.32);position:absolute;inset:0;display:grid;place-items:center}
.news-more-wrap{display:flex;justify-content:center;margin:28px 0 0}
.news-more{display:inline-flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--outline-variant);color:var(--on-surface);border-radius:var(--r-full);padding:11px 24px;font:inherit;font-weight:600;font-size:15px;cursor:pointer;transition:border-color var(--d1) var(--ease),background var(--d1) var(--ease)}
.news-more:hover{background:var(--surface-container-low);border-color:color-mix(in srgb,var(--primary) 45%,var(--outline-variant))}
.news-more .material-symbols-outlined{font-size:20px;color:var(--primary)}
.ncard-body{padding:16px 18px 20px;display:flex;flex-direction:column;gap:8px}
.ncard-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.ncard-date{font-size:13px;color:var(--on-surface-variant);display:inline-flex;align-items:center;gap:5px}
.ncard-date .material-symbols-outlined{font-size:16px}
.ncard-views{font-size:13px;color:var(--on-surface-variant);display:inline-flex;align-items:center;gap:4px;font-variant-numeric:tabular-nums}
.ncard-views .material-symbols-outlined{font-size:16px;opacity:.8}
.ncard-title{font-family:'Montserrat';font-weight:700;font-size:18px;line-height:1.25;color:var(--on-surface)}
.ncard:hover .ncard-title{color:var(--primary)}
.ncard-intro{font-size:14px;color:var(--on-surface-variant);line-height:1.5;margin:0}

/* drawer */
.scrim{position:fixed;inset:0;background:rgba(0,0,0,.45);opacity:0;visibility:hidden;transition:opacity var(--d2),visibility var(--d2);z-index:60}
.scrim.open{opacity:1;visibility:visible}
.drawer{position:fixed;top:0;left:0;bottom:0;width:min(86vw,340px);background:var(--surface);z-index:70;transform:translateX(-100%);
  transition:transform var(--d2) var(--ease);box-shadow:var(--e3);display:flex;flex-direction:column;padding:18px}
.drawer.open{transform:translateX(0)}
.drawer .d-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.drawer .d-head img{height:40px}
.drawer nav{display:flex;flex-direction:column;gap:2px;margin-top:6px}
.drawer nav a{font-family:'Montserrat';font-weight:600;font-size:17px;padding:13px 12px;border-radius:var(--r-sm);color:var(--on-surface)}
.drawer nav a:hover{background:var(--surface-container)}
.drawer .d-actions{margin-top:auto;display:flex;flex-direction:column;gap:10px;padding-top:16px;border-top:1px solid var(--outline-variant)}

.note{max-width:1360px;margin:0 auto;padding:6px clamp(14px,3vw,32px) 30px;color:var(--on-surface-variant);font-size:13.5px}
.note b{color:var(--on-surface)}

@media (max-width:1080px){.contacts .addr{display:none}.b-slide{flex-basis:calc((100% - 16px)/2)}}
:root[data-a11y="1"] .nav .item{color:#ffe500;text-shadow:none}
@media (max-width:1300px){.contacts{display:none}}
@media (max-width:1040px){.tiles>.tile{flex:0 1 calc(50% - 8px)}.b-slide{flex-basis:min(64%,560px)}.foot-cols{grid-template-columns:repeat(2,1fr)}}
@media (max-width:900px){.actions .lbl{display:none}.act{padding:0;width:52px;justify-content:center}
  .logo img{height:52px}.util-in{gap:10px;padding:12px clamp(10px,2vw,20px)}
  .foot-socials{margin-left:0;width:100%}
  /* кнопки в бургере — полноширинные пилюли с видимым текстом */
  .drawer .d-actions .act{width:100%;height:52px;padding:0 18px;justify-content:center;gap:10px}
  .drawer .d-actions .act .lbl{display:flex}}
@media (max-width:600px){.b-slide{flex-basis:88%}
  .util-in{gap:6px;padding:10px 10px}
  .logo img{height:44px}
  .actions{gap:4px}
  .act{width:42px;height:42px}
  .act .ic{width:32px;height:32px}
  .act .ic .material-symbols-outlined{font-size:20px}
  .actions .act-pay,.actions .act-cab{display:none}
  .iconbtn{width:38px;height:38px}}
@media (max-width:560px){.foot-cols{grid-template-columns:1fr}.b-arrow{width:44px;height:44px}}
@media (max-width:1120px){.nav-in .item:not(.hamburger){display:none}.nav-in .item.hamburger{display:inline-flex}.mega{display:none}
  .nav-actions{display:flex}
  .actions .act-signup,.actions .act-pay,.actions .act-cab{display:none}}
/* кот-информер (маскот) */
.info-robot{position:fixed;left:16px;bottom:16px;width:110px;max-width:22vw;aspect-ratio:4/5;background:url(/assets/img/infocat.svg) center/contain no-repeat;z-index:120;cursor:grab;opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .35s var(--ease),transform .35s var(--ease);touch-action:none;-webkit-user-select:none;user-select:none}
.info-robot.show{opacity:1;visibility:visible;transform:none}
.info-robot:active{cursor:grabbing}
.info-robot:hover{transform:translateY(-3px)}
.info-robot__message{position:absolute;left:calc(100% - 6px);bottom:58%;width:210px;background:var(--surface);color:var(--on-surface);border:1px solid var(--outline-variant);border-radius:16px 16px 16px 4px;padding:12px 30px 12px 14px;font-size:13.5px;line-height:1.45;box-shadow:var(--e2);opacity:0;visibility:hidden;transform:translateY(6px) scale(.96);transform-origin:bottom left;transition:opacity .28s var(--ease),transform .28s var(--ease),visibility .28s;pointer-events:none}
.info-robot.msg .info-robot__message{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.info-robot__text{display:block;transition:opacity .18s var(--ease)}
.info-robot__message a{color:var(--primary);font-weight:700;text-decoration:none;display:inline-block;margin-top:5px}
.info-robot__message a:hover{text-decoration:underline}
.info-robot__close{position:absolute;top:3px;right:7px;border:none;background:none;font-size:19px;line-height:1;color:var(--on-surface-variant);cursor:pointer;padding:2px}
.info-robot__close:hover{color:var(--on-surface)}
@media(max-width:720px){.info-robot{width:82px;left:10px;bottom:10px}.info-robot__message{left:calc(100% - 6px);right:auto;width:min(200px,calc(100vw - 108px));border-radius:16px 16px 16px 4px;transform-origin:bottom left}}
:root[data-a11y="1"] .info-robot{display:none}
/* свёрнутый кот — закреплённая иконка для возврата */
.cat-mini{position:fixed;left:16px;bottom:16px;width:52px;height:52px;border-radius:50%;display:none;place-items:center;
  background:linear-gradient(135deg,#7cc243,var(--primary));color:#fff;border:2px solid var(--surface);box-shadow:var(--e3);cursor:pointer;z-index:120;
  transition:transform .18s var(--ease),box-shadow .18s var(--ease)}
.cat-mini.show{display:grid;animation:catPop .25s var(--ease)}
.cat-mini:hover{transform:scale(1.08)}
.cat-mini .material-symbols-outlined{font-size:26px}
@keyframes catPop{from{transform:scale(.3);opacity:0}to{transform:scale(1);opacity:1}}
@media(max-width:720px){.cat-mini{left:10px;bottom:10px;width:46px;height:46px}.cat-mini .material-symbols-outlined{font-size:23px}}
:root[data-a11y="1"] .cat-mini{display:none!important}
/* кнопка «наверх» */
.to-top{position:fixed;right:18px;bottom:18px;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;
  background:var(--primary);color:#fff;border:none;box-shadow:var(--e3);cursor:pointer;z-index:115;
  opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .25s var(--ease),transform .25s var(--ease),background .2s var(--ease)}
.to-top.show{opacity:1;visibility:visible;transform:none}
.to-top:hover{background:color-mix(in srgb,var(--primary) 86%,#000)}
.to-top .material-symbols-outlined{font-size:24px}
@media(max-width:720px){.to-top{right:12px;bottom:12px;width:44px;height:44px}}
/* --- PWA: кнопка установки и страница-инструкция --- */
.pwa-install{display:inline-flex;align-items:center;gap:8px;border:none;cursor:pointer;
  font:inherit;font-weight:700;color:#fff;background:linear-gradient(135deg,#8ed336,#4e8a2a);
  padding:12px 24px;border-radius:999px;box-shadow:var(--e2)}
.pwa-install:hover{filter:brightness(1.04)}
.pwa-install .material-symbols-outlined{font-size:20px}
.pwa-standalone .pwa-install,.pwa-standalone .pwa-hide{display:none!important}
.pwa-hero{background:linear-gradient(135deg,#eaf6df,#f4f9ee);border:1px solid var(--outline);
  border-radius:22px;padding:32px;display:flex;gap:26px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.pwa-hero img{width:104px;height:104px;flex:0 0 auto}
.pwa-hero .t{flex:1 1 260px}
.pwa-hero h2{margin:0 0 8px}
.pwa-hero p{margin:0 0 16px;color:var(--on-surface-variant)}
.pwa-steps{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin:20px 0}
.pwa-os{background:var(--surface);border:1px solid var(--outline);border-radius:18px;padding:22px 24px}
.pwa-os h3{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-size:18px}
.pwa-os h3 .material-symbols-outlined{font-size:26px;color:var(--primary)}
.pwa-os ol{margin:0;padding-left:20px;line-height:1.65}
.pwa-os ol li{margin-bottom:8px}
.pwa-os .ic{display:inline-flex;vertical-align:-5px;font-size:20px;color:var(--primary)}
.pwa-hero .pwa-install{margin-bottom:16px}
.pwa-note{background:#fff7e6;border:1px solid #ffcf99;border-radius:14px;
  padding:14px 18px;color:#7a4a00;font-size:14px;margin-top:0}
@media(max-width:520px){.pwa-hero{padding:22px;gap:18px}.pwa-hero img{width:80px;height:80px}}
@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation:none!important}}
.act .lbl b{font-weight:700;font-size:14px}
.act .lbl small{font-weight:500;font-size:12px;opacity:.82}