/* =====================================================================
   ZEN — тёмный «агентский» стиль: WebGL-фон, неоновый лайм, крупная типографика,
   контурные кнопки-пилюли, разреженные подписи капсом.
   Подключается ПОСЛЕ modern.css / glass.css и переопределяет их токены.
   ===================================================================== */

/* ---------- Токены: тёмная тема по умолчанию ---------- */
:root, :root[data-theme="dark"], :root:not([data-theme="light"]) {
  --bg-base: #070603;
  --paper: rgba(255,255,255,.04); --paper-2: rgba(255,255,255,.025);
  --line: rgba(255,255,255,.10); --edge: rgba(255,255,255,.08);
  --ink: #FBF8EC; --ink-2: #D6D0BC; --muted: #9A937C;
  --yellow: #FDE018; --yellow-strong: #FFE94A; --yellow-soft: rgba(253,224,24,.10);
  --dark: rgba(255,255,255,.07); --code-bg: rgba(0,0,0,.55);
  --shadow: 0 24px 50px -28px rgba(0,0,0,.85);
  --shadow-lg: 0 0 44px -14px rgba(253,224,24,.38), 0 30px 60px -26px rgba(0,0,0,.9);
  --blur: blur(16px) saturate(140%);
  --grad-a: #FFFFFF; --grad-b: #FFF0A0;
  --blob-1: rgba(253,224,24,.10); --blob-2: rgba(180,120,10,.22); --blob-3: rgba(253,224,24,.08); --blob-4: rgba(150,100,10,.20);
  --zen-border-strong: rgba(255,255,255,.30);
  --zen-display: 'Space Grotesk', 'Inter', system-ui, sans-serif;
  color-scheme: dark;
}
:root[data-theme="light"] {
  --bg-base: #FBF8EC;
  --paper: rgba(255,255,255,.66); --paper-2: rgba(255,255,255,.42);
  --line: rgba(22,19,10,.11); --edge: rgba(22,19,10,.08);
  --ink: #16130A; --ink-2: #4A4330; --muted: #7A7258;
  --yellow: #FDE018; --yellow-strong: #F5D90A; --yellow-soft: rgba(253,224,24,.28);
  --dark: #16130A; --code-bg: rgba(8,12,6,.94);
  --shadow: 0 18px 44px -26px rgba(70,55,10,.35);
  --shadow-lg: 0 0 40px -12px rgba(220,180,0,.45), 0 26px 56px -26px rgba(70,55,10,.45);
  --grad-a: #16130A; --grad-b: #7A6200;
  --blob-1: rgba(253,224,24,.30); --blob-2: rgba(230,190,60,.20); --blob-3: rgba(253,224,24,.22); --blob-4: rgba(250,225,140,.30);
  --zen-border-strong: rgba(22,19,10,.34);
  color-scheme: light;
}

/* ---------- Основа ---------- */
html { background: var(--bg-base); }
html.has-shader body::before { display: none !important; }
body { font-family: 'Inter', system-ui, sans-serif !important; background: transparent !important; color: var(--ink); }
h1, h2, h3, h4, .disp, .itf-h1, .itf-hero__title, .hero-title, .itf-course__title, .itf-brand__name, .itf-colhead { font-family: var(--zen-display) !important; }
::selection { background: var(--yellow); color: #16130A; }

/* подписи-рубрики: мелкие, разреженные, капсом */
.ribbon, .itf-ribbon, .itf-colhead, .itf-crumbs, .itf-prose .itf-out::before {
  font-family: var(--zen-display) !important; font-size: 11px !important; font-weight: 500 !important; letter-spacing: .26em !important; text-transform: uppercase; color: var(--ink-2) !important;
}
.ribbon::before, .itf-ribbon::before { width: 7px; height: 7px; border-radius: 1px !important; background: var(--yellow) !important; box-shadow: 0 0 14px 1px var(--yellow) !important; }

/* ---------- Шапка (основной сайт) ---------- */
body > div > header { background: rgba(7,6,3,.35) !important; -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur); border-bottom: 1px solid var(--line) !important; box-shadow: none !important; }
:root[data-theme="light"] body > div > header { background: rgba(251,248,236,.6) !important; }
body > div > header .wrap { height: 76px !important; }
header .disp { color: var(--yellow) !important; font-weight: 700 !important; letter-spacing: .16em !important; text-transform: uppercase; font-size: 15px !important; }
:root[data-theme="light"] header .disp { color: var(--ink) !important; }
header nav a { color: var(--ink) !important; font-size: 14.5px !important; font-weight: 500 !important; background: transparent !important; border-radius: 0 !important; padding: 6px 4px !important; margin: 0 10px; position: relative; }
header nav a::after { content: ""; position: absolute; left: 4px; right: 4px; bottom: 0; height: 1px; background: var(--yellow); transform: scaleX(0); transform-origin: left; transition: transform .25s; }
header nav a:hover { color: var(--yellow) !important; background: transparent !important; }
:root[data-theme="light"] header nav a:hover { color: var(--ink) !important; }
header nav a:hover::after { transform: scaleX(1); }
.theme-toggle { background: transparent !important; border: 1px solid var(--zen-border-strong) !important; border-radius: 999px !important; color: var(--ink) !important; }
.theme-toggle:hover { border-color: var(--yellow) !important; color: var(--yellow) !important; background: transparent !important; }
:root[data-theme="light"] .theme-toggle:hover { color: var(--ink) !important; }

/* ---------- Кнопки ---------- */
.pill, .itf-btn, .button, input[type="submit"], button.form-submit {
  border-radius: 999px !important; font-family: var(--zen-display) !important; font-weight: 600 !important; font-size: 14px !important; letter-spacing: .01em;
  padding: 13px 26px !important; transition: background .2s, color .2s, border-color .2s, box-shadow .2s, transform .15s !important;
}
.pill-solid, .itf-btn, .button, input[type="submit"], button.form-submit {
  background: var(--yellow) !important; color: #16130A !important; border: 1px solid var(--yellow) !important; box-shadow: 0 0 0 0 rgba(253,224,24,0) !important;
}
.pill-solid:hover, .itf-btn:hover, .button:hover, input[type="submit"]:hover {
  background: var(--yellow-strong) !important; color: #16130A !important; box-shadow: 0 0 34px -4px rgba(253,224,24,.75) !important; transform: translateY(-1px) !important;
}
.pill-ghost, .pill-dark, .itf-btn--ghost, .itf-btn--dark {
  background: transparent !important; color: var(--ink) !important; border: 1px solid var(--zen-border-strong) !important; box-shadow: none !important;
  -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
}
.pill-ghost:hover, .pill-dark:hover, .itf-btn--ghost:hover, .itf-btn--dark:hover {
  background: transparent !important; color: var(--yellow) !important; border-color: var(--yellow) !important; box-shadow: 0 0 28px -8px rgba(253,224,24,.6) !important;
}
:root[data-theme="light"] .pill-ghost:hover, :root[data-theme="light"] .pill-dark:hover, :root[data-theme="light"] .itf-btn--ghost:hover, :root[data-theme="light"] .itf-btn--dark:hover { color: var(--ink) !important; background: var(--yellow) !important; }
/* кнопка в шапке — контурная, как «LET'S TALK ↗» */
header .pill-solid { background: transparent !important; color: var(--yellow) !important; border: 1px solid var(--yellow) !important; padding: 11px 24px !important; }
header .pill-solid:hover { background: var(--yellow) !important; color: #16130A !important; }
:root[data-theme="light"] header .pill-solid { color: var(--ink) !important; border-color: var(--ink) !important; }
:root[data-theme="light"] header .pill-solid:hover { background: var(--yellow) !important; border-color: var(--yellow) !important; }
.itf-header .itf-btn--solid { background: transparent !important; color: var(--yellow) !important; }
.itf-header .itf-btn--solid:hover { background: var(--yellow) !important; color: #16130A !important; }

/* ---------- Главный экран ---------- */
section.hero-m { background: transparent !important; }
section.hero-m .wrap { padding-top: 104px !important; padding-bottom: 104px !important; }
.hero-title, .itf-hero__title {
  font-size: clamp(40px, 5.3vw, 78px) !important; font-weight: 700 !important; letter-spacing: -.045em !important; line-height: 1 !important;
  background: linear-gradient(120deg, var(--grad-a) 40%, var(--grad-b)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent;
}
section.hero-m .lead, .itf-lead { color: var(--ink-2) !important; font-size: 18px !important; }
section.hero-m .chip { border: 0 !important; background: none !important; padding: 0 !important; box-shadow: none !important; font-size: 11px !important; letter-spacing: .26em; text-transform: uppercase; color: var(--ink-2) !important; -webkit-backdrop-filter: none; backdrop-filter: none; }
section.hero-m .chip::before { content: "/"; color: var(--yellow); margin-right: 8px; }
section.hero-m::before { opacity: .0 !important; }
section.hero-m::after { display: none !important; }
section.hero-m div[style*="overflow:hidden; background:#fff"] { border-radius: 26px !important; padding: 8px; background: var(--paper) !important; border: 1px solid var(--line) !important; box-shadow: var(--shadow-lg) !important; }
section.hero-m img { filter: none; }

/* ---------- Карточки и блоки ---------- */
.hardcard, .faq-item, .itf-card, .itf-panel, .itf-hero__steps li, #submit-panel {
  background: var(--paper) !important; border: 1px solid var(--line) !important; border-radius: 20px !important; box-shadow: var(--shadow) !important;
  -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur);
}
.tilt-card:hover, .itf-course:hover, .itf-hero__steps li:hover { border-color: rgba(253,224,24,.55) !important; box-shadow: var(--shadow-lg) !important; transform: translateY(-4px) !important; }
.chip, .itf-chip { background: transparent !important; border: 1px solid var(--zen-border-strong) !important; border-radius: 999px !important; color: var(--ink) !important; box-shadow: none !important; font-weight: 500 !important; }
.itf-chip--beginner { color: var(--yellow) !important; border-color: rgba(253,224,24,.45) !important; }
.itf-chip--intermediate { color: #FFD166 !important; border-color: rgba(255,209,102,.45) !important; }
.itf-chip--advanced { color: #FF8A80 !important; border-color: rgba(255,138,128,.45) !important; }
:root[data-theme="light"] .itf-chip--beginner { color: #7A6200 !important; } :root[data-theme="light"] .itf-chip--intermediate { color: #8A5A00 !important; } :root[data-theme="light"] .itf-chip--advanced { color: #B3261E !important; }
#directions, section.who-m, #showcase { background: transparent !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; border-top: 1px solid var(--line) !important; border-bottom: 0 !important; }
#directions .chip { border: 1px solid var(--line) !important; background: var(--paper) !important; border-radius: 14px !important; padding: 14px 16px !important; -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur); }
#directions .chip:hover { border-color: var(--yellow) !important; color: var(--yellow) !important; background: var(--yellow-soft) !important; }
:root[data-theme="light"] #directions .chip:hover { color: var(--ink) !important; }
section h2.disp { font-size: clamp(30px, 4.4vw, 56px) !important; font-weight: 700 !important; letter-spacing: -.04em !important; line-height: 1.04 !important; }
section.who-m div[style*="border:1px solid rgba(255,255,255"] { border-radius: 20px !important; }
section.who-m .disp { color: var(--yellow) !important; }
:root[data-theme="light"] section.who-m .disp { color: var(--ink) !important; }
section.who-m .disp::before { border-radius: 1px; box-shadow: 0 0 12px 1px var(--yellow); }
div[style*="width:48px; height:48px"], div[style*="width:52px; height:52px"] { background: transparent !important; border: 1px solid rgba(253,224,24,.5) !important; box-shadow: 0 0 24px -8px rgba(253,224,24,.55) !important; border-radius: 14px !important; }
div[style*="width:48px; height:48px"] svg [stroke] { stroke: var(--yellow) !important; }
div[style*="width:48px; height:48px"] svg [fill]:not([fill="none"]) { fill: var(--yellow) !important; }
div[style*="width:52px; height:52px"] span { color: var(--yellow) !important; }
:root[data-theme="light"] div[style*="width:48px; height:48px"] svg [stroke] { stroke: var(--ink) !important; }
:root[data-theme="light"] div[style*="width:48px; height:48px"] svg [fill]:not([fill="none"]) { fill: var(--ink) !important; }
:root[data-theme="light"] div[style*="width:52px; height:52px"] span { color: var(--ink) !important; }
.faq-item:hover, .faq-item.open { border-color: rgba(253,224,24,.55) !important; background: var(--paper) !important; }
.faq-arrow path { stroke: var(--yellow) !important; }
:root[data-theme="light"] .faq-arrow path { stroke: var(--ink) !important; }
#join > .wrap { background: var(--paper); border: 1px solid var(--line); border-radius: 32px; box-shadow: var(--shadow-lg); }
#join > .wrap::before { background: radial-gradient(closest-side, rgba(253,224,24,.45), transparent); }
#join h2 { font-size: clamp(34px, 5vw, 64px) !important; }
#join .pill-dark { background: var(--yellow) !important; color: #16130A !important; border: 1px solid var(--yellow) !important; }
#join .pill-dark:hover { background: var(--yellow-strong) !important; color: #16130A !important; box-shadow: 0 0 34px -4px rgba(253,224,24,.75) !important; }
.social-btn { background: transparent !important; border: 1px solid var(--zen-border-strong) !important; border-radius: 50% !important; box-shadow: none !important; }
.social-btn:hover { border-color: var(--yellow) !important; background: var(--yellow-soft) !important; box-shadow: 0 0 22px -6px rgba(253,224,24,.7) !important; }
.social-btn svg [stroke="#131210"] { stroke: var(--ink) !important; } .social-btn svg [fill="#131210"] { fill: var(--ink) !important; }
.social-btn:hover svg [stroke="#131210"] { stroke: var(--yellow) !important; } .social-btn:hover svg [fill="#131210"] { fill: var(--yellow) !important; }
:root[data-theme="light"] .social-btn:hover svg [stroke="#131210"] { stroke: var(--ink) !important; } :root[data-theme="light"] .social-btn:hover svg [fill="#131210"] { fill: var(--ink) !important; }
footer, .itf-footer { background: transparent !important; border-top: 1px solid var(--line) !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
footer .disp { color: var(--yellow) !important; letter-spacing: .14em; text-transform: uppercase; font-size: 14px !important; }
:root[data-theme="light"] footer .disp { color: var(--ink) !important; }
#cookie-banner { background: rgba(7,6,3,.85) !important; border: 1px solid var(--line) !important; border-radius: 16px !important; }
#cookie-banner button { background: var(--yellow) !important; color: #16130A !important; border-radius: 999px !important; }
#submit-panel input, #submit-panel textarea, input[type="text"], input[type="email"], input[type="password"], input[type="number"], textarea, select { background: var(--paper-2) !important; border: 1px solid var(--line) !important; color: var(--ink) !important; border-radius: 12px !important; }
input:focus, textarea:focus, select:focus { border-color: var(--yellow) !important; outline: 0 !important; box-shadow: 0 0 0 3px rgba(253,224,24,.22) !important; }

/* ---------- Академия ---------- */
.itf-header { background: rgba(7,6,3,.35) !important; border-bottom: 1px solid var(--line) !important; box-shadow: none !important; -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur); }
:root[data-theme="light"] .itf-header { background: rgba(251,248,236,.6) !important; }
.itf-brand__name { font-weight: 700 !important; letter-spacing: .08em !important; text-transform: uppercase; font-size: 14.5px !important; color: var(--yellow) !important; }
:root[data-theme="light"] .itf-brand__name { color: var(--ink) !important; }
.itf-brand__name em { border: 1px solid var(--zen-border-strong) !important; color: var(--ink-2) !important; letter-spacing: .2em; text-transform: uppercase; font-size: 10px !important; border-radius: 999px !important; padding: 2px 10px !important; }
.itf-nav a { color: var(--ink) !important; background: transparent !important; box-shadow: none !important; border-radius: 0 !important; padding: 6px 4px !important; margin: 0 8px; }
.itf-nav a:hover, .itf-nav a.is-active { color: var(--yellow) !important; background: transparent !important; box-shadow: inset 0 -1px 0 var(--yellow) !important; }
:root[data-theme="light"] .itf-nav a:hover, :root[data-theme="light"] .itf-nav a.is-active { color: var(--ink) !important; }
.itf-theme { background: transparent !important; border: 1px solid var(--zen-border-strong) !important; border-radius: 999px !important; color: var(--ink) !important; }
.itf-theme:hover { border-color: var(--yellow) !important; color: var(--yellow) !important; background: transparent !important; }
.itf-link { color: var(--ink) !important; }
.itf-hero { background: transparent !important; }
.itf-hero::before { opacity: 0 !important; }
.itf-hero__grid { padding-top: 110px !important; padding-bottom: 110px !important; }
.itf-hero__steps b { background: transparent !important; border: 1px solid var(--yellow) !important; color: var(--yellow) !important; box-shadow: 0 0 18px -4px rgba(253,224,24,.6) !important; }
:root[data-theme="light"] .itf-hero__steps b { color: var(--ink) !important; border-color: var(--ink) !important; box-shadow: none !important; }
.itf-hl { box-shadow: inset 0 -0.14em 0 var(--yellow) !important; color: inherit !important; }
.itf-panel--yellow { background: linear-gradient(135deg, rgba(253,224,24,.10), rgba(255,255,255,.02)) !important; border: 1px solid rgba(253,224,24,.28) !important; color: var(--ink) !important; }
.itf-panel--yellow::before { background: radial-gradient(closest-side, rgba(253,224,24,.35), transparent) !important; }
.itf-panel--yellow .itf-h1, .itf-panel--compact .itf-h1 { color: var(--ink) !important; }
.itf-panel--yellow .itf-btn--dark { background: var(--yellow) !important; color: #16130A !important; border-color: var(--yellow) !important; }
.itf-panel--yellow .itf-chip { color: var(--ink) !important; background: transparent !important; }
.itf-panel--compact { border-left: 3px solid var(--yellow) !important; }
.itf-h1 { letter-spacing: -.04em !important; font-weight: 700 !important; }
.itf-course__ph { background: radial-gradient(260px 160px at 80% 10%, rgba(253,224,24,.45), transparent 65%), radial-gradient(240px 160px at 10% 100%, rgba(210,150,10,.38), transparent 65%), linear-gradient(135deg, #150F02, #070502) !important; }
.itf-course__ph b { color: var(--yellow) !important; text-shadow: 0 0 28px rgba(253,224,24,.6); }
.itf-course__ph b::before, .itf-course__ph b::after { color: #fff !important; }
.itf-course__title { letter-spacing: -.02em; }
.itf-topics__list .is-current a { background: var(--yellow-soft) !important; box-shadow: inset 2px 0 0 var(--yellow) !important; color: var(--ink) !important; }
.itf-topics__list a:hover { background: rgba(255,255,255,.05) !important; }
.itf-topics__list .is-current .itf-topics__n { background: var(--yellow) !important; color: #16130A !important; border-color: var(--yellow) !important; }
.itf-topics__list .is-done .itf-topics__n { background: transparent !important; color: var(--yellow) !important; border-color: var(--yellow) !important; }
.itf-progress { background: rgba(255,255,255,.08) !important; border: 0 !important; }
:root[data-theme="light"] .itf-progress { background: rgba(22,19,10,.10) !important; }
.itf-progress i { background: var(--yellow) !important; box-shadow: 0 0 14px rgba(253,224,24,.8) !important; }
.itf-colhead b, .itf-step__title b { background: transparent !important; border: 1px solid var(--yellow) !important; color: var(--yellow) !important; box-shadow: none !important; }
:root[data-theme="light"] .itf-colhead b, :root[data-theme="light"] .itf-step__title b { color: var(--ink) !important; border-color: var(--ink) !important; }
.itf-card--practice { background: linear-gradient(135deg, rgba(253,224,24,.12), rgba(255,255,255,.02)) !important; border-color: rgba(253,224,24,.35) !important; }
.itf-complete.is-done { background: var(--yellow-soft) !important; border-color: rgba(253,224,24,.5) !important; }
.itf-prose { color: var(--ink); }
.itf-prose code { background: rgba(255,255,255,.07) !important; color: var(--yellow) !important; border: 1px solid var(--line) !important; }
:root[data-theme="light"] .itf-prose code { background: rgba(22,19,10,.06) !important; color: #6B5A00 !important; }
.itf-prose pre { background: var(--code-bg) !important; border: 1px solid var(--line) !important; }
.itf-prose pre code { background: transparent !important; border: 0 !important; color: #E6EDF3 !important; }
.itf-prose .itf-callout { background: var(--yellow-soft) !important; border: 1px solid rgba(253,224,24,.30) !important; border-left: 3px solid var(--yellow) !important; }
.itf-prose .itf-callout--warn { background: rgba(255,90,80,.10) !important; border-color: rgba(255,90,80,.30) !important; border-left-color: #FF5A50 !important; }
.itf-prose .itf-callout--ok { background: rgba(60,220,140,.10) !important; border-color: rgba(60,220,140,.30) !important; border-left-color: #3CDC8C !important; }
.itf-prose .itf-out { background: rgba(255,255,255,.04) !important; border: 1px dashed var(--zen-border-strong) !important; }
.itf-prose .itf-recap { background: var(--paper) !important; border-left: 3px solid var(--yellow) !important; }
.itf-prose ol.itf-lines li::before { background: transparent !important; border: 1px solid var(--yellow); color: var(--yellow) !important; box-shadow: none !important; }
:root[data-theme="light"] .itf-prose ol.itf-lines li::before { color: var(--ink) !important; border-color: var(--ink); }
.itf-prose a { border-bottom-color: var(--yellow) !important; }
.itf-dashcard--cert { background: linear-gradient(135deg, rgba(253,224,24,.14), var(--paper)) !important; border-color: rgba(253,224,24,.4) !important; }
.itf-main th { background: var(--paper) !important; color: var(--muted) !important; }
.itf-lessons tr:hover, .itf-lessons li:hover { background: rgba(255,255,255,.05) !important; }
:root[data-theme="light"] .itf-prose .itf-out, :root[data-theme="light"] .itf-topics__list a:hover, :root[data-theme="light"] .itf-lessons tr:hover { background: rgba(22,19,10,.04) !important; }

/* заголовок Академии: перебиваем лиловый градиент старого слоя */
:root[data-theme="dark"] .itf-hero__title, :root[data-theme="light"] .itf-hero__title, .itf-hero__title { background-image: linear-gradient(120deg, var(--grad-a) 40%, var(--grad-b)) !important; }

/* светлая тема Академии: читаемая кнопка в шапке и код в блоках */
:root[data-theme="light"] .itf-header .itf-btn--solid { color: var(--ink) !important; border-color: var(--ink) !important; background: transparent !important; }
:root[data-theme="light"] .itf-header .itf-btn--solid:hover { background: var(--yellow) !important; border-color: var(--yellow) !important; }
:root[data-theme="light"] .itf-prose pre code, :root[data-theme="dark"] .itf-prose pre code { color: #E6EDF3 !important; background: transparent !important; border: 0 !important; }

/* =====================================================================
   AURA — «дымный» центрированный лендинг: лёгкий заголовок с градиентом, стеклянный бейдж,
   тёмные кнопки со свечением, квадратные иконки, бегущая лента с затухающими краями.
   ===================================================================== */

/* плёночное зерно поверх всего */
body::after { content: ""; position: fixed; inset: 0; z-index: 3; pointer-events: none; opacity: .06; mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>"); }
:root[data-theme="light"] body::after { opacity: .035; }
@media print { body::after { display: none; } }

/* ---------- Шапка: приглушённое меню, чистый логотип ---------- */
header .disp, .itf-brand__name { text-transform: none !important; letter-spacing: -.015em !important; font-size: 18px !important; font-weight: 600 !important; color: var(--ink) !important; }
header nav a, .itf-nav a { color: var(--muted) !important; font-weight: 500 !important; }
header nav a:hover, .itf-nav a:hover, .itf-nav a.is-active { color: var(--ink) !important; }
header .pill-solid, .itf-header .itf-btn--solid {
  background: var(--yellow) !important; color: #16130A !important; border: 1px solid var(--yellow) !important; border-radius: 12px !important;
  padding: 10px 20px !important; box-shadow: 0 0 28px -6px rgba(253,224,24,.6) !important;
}
header .pill-solid:hover, .itf-header .itf-btn--solid:hover { background: var(--yellow-strong) !important; color: #16130A !important; box-shadow: 0 0 36px -4px rgba(253,224,24,.8) !important; }
:root[data-theme="light"] header .pill-solid, :root[data-theme="light"] .itf-header .itf-btn--solid { color: #16130A !important; border-color: var(--yellow) !important; background: var(--yellow) !important; }

/* ---------- Герой по центру ---------- */
section.hero-m .wrap { grid-template-columns: 1fr !important; justify-items: center; text-align: center; gap: 64px !important; padding-top: 96px !important; padding-bottom: 72px !important; }
section.hero-m .wrap > div:first-child { align-items: center !important; max-width: 940px; }
section.hero-m .wrap > div:first-child > div { justify-content: center; }
section.hero-m .wrap > div:first-child .lead { max-width: 660px; margin-inline: auto; }
section.hero-m .wrap > div:last-child { width: 100%; max-width: 900px; }
section.hero-m .ribbon {
  padding: 9px 20px !important; border-radius: 999px !important; border: 1px solid rgba(255,255,255,.14); text-transform: none !important; letter-spacing: .01em !important; font-size: 13px !important; font-weight: 600 !important;
  color: var(--ink) !important; background: linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.02)); box-shadow: inset 0 1px 0 rgba(255,255,255,.14), 0 10px 28px -12px rgba(0,0,0,.9);
  -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur);
}
:root[data-theme="light"] section.hero-m .ribbon { border-color: rgba(22,19,10,.14); background: rgba(255,255,255,.6); box-shadow: 0 10px 28px -14px rgba(70,55,10,.4); }
.hero-title, .itf-hero__title {
  font-weight: 500 !important; letter-spacing: -.05em !important; line-height: 1.02 !important; font-size: clamp(40px, 5.6vw, 82px) !important;
  background-image: linear-gradient(180deg, #ffffff 0%, #ffffff 36%, #8d8b94 62%, var(--yellow) 100%) !important;
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent;
}
:root[data-theme="light"] .hero-title, :root[data-theme="light"] .itf-hero__title { background-image: linear-gradient(180deg, #16130A 0%, #16130A 40%, #6e6a55 68%, #b89a00 100%) !important; }
section.hero-m .lead, .itf-lead { font-size: 18px !important; color: var(--ink-2) !important; }
/* главная кнопка — тёмная, с цветной обводкой и свечением */
.hero-cta .pill-dark, .itf-hero__cta .itf-btn--dark {
  background: linear-gradient(180deg, rgba(253,224,24,.16), rgba(0,0,0,.65)) !important; color: #fff !important; border: 1px solid rgba(253,224,24,.55) !important;
  box-shadow: 0 0 44px -10px rgba(253,224,24,.55), inset 0 1px 0 rgba(255,255,255,.14) !important; border-radius: 14px !important; padding: 15px 28px !important;
}
.hero-cta .pill-dark:hover, .itf-hero__cta .itf-btn--dark:hover { color: #fff !important; background: linear-gradient(180deg, rgba(253,224,24,.26), rgba(0,0,0,.6)) !important; box-shadow: 0 0 60px -8px rgba(253,224,24,.75), inset 0 1px 0 rgba(255,255,255,.2) !important; }
.hero-cta .pill-ghost, .itf-hero__cta .itf-btn--ghost { background: rgba(0,0,0,.45) !important; border: 1px solid rgba(255,255,255,.14) !important; border-radius: 14px !important; padding: 15px 28px !important; color: var(--ink) !important; }
.hero-cta .pill-ghost:hover, .itf-hero__cta .itf-btn--ghost:hover { border-color: rgba(253,224,24,.6) !important; color: var(--ink) !important; background: rgba(0,0,0,.55) !important; }
:root[data-theme="light"] .hero-cta .pill-dark, :root[data-theme="light"] .itf-hero__cta .itf-btn--dark { background: #16130A !important; color: #fff !important; border-color: #16130A !important; box-shadow: 0 18px 40px -16px rgba(22,19,10,.6) !important; }
:root[data-theme="light"] .hero-cta .pill-ghost, :root[data-theme="light"] .itf-hero__cta .itf-btn--ghost { background: rgba(255,255,255,.6) !important; border-color: rgba(22,19,10,.2) !important; }
section.hero-m .chip { justify-content: center; }
section.hero-m div[style*="overflow:hidden; background:#fff"] { box-shadow: 0 0 90px -24px rgba(253,224,24,.5), var(--shadow-lg) !important; }

/* ---------- Бегущая лента с затухающими краями ---------- */
.strip-m { display: block !important; background: transparent !important; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 20px 0 !important;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 14%, #000 86%, transparent); mask-image: linear-gradient(90deg, transparent, #000 14%, #000 86%, transparent); }
.strip-m .marquee-track { color: var(--muted) !important; font-family: 'Inter', sans-serif !important; font-weight: 500 !important; font-size: 15px !important; letter-spacing: .04em !important; }

/* ---------- Квадратные иконки соцсетей ---------- */
.social-btn { border-radius: 12px !important; background: rgba(255,255,255,.04) !important; }
:root[data-theme="light"] .social-btn { background: rgba(255,255,255,.6) !important; }

/* ---------- Карточки: тонкий верхний блик ---------- */
.hardcard, .itf-card, .itf-course { box-shadow: inset 0 1px 0 rgba(255,255,255,.07), var(--shadow) !important; }
:root[data-theme="light"] .hardcard, :root[data-theme="light"] .itf-card, :root[data-theme="light"] .itf-course { box-shadow: var(--shadow) !important; }

/* ---------- Появление блоков при прокрутке (reveal.js) ---------- */
.js-rv .rv { opacity: 0; transform: translate3d(0, 28px, 0) scale(.985); filter: blur(8px);
  transition: opacity .9s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1), filter .9s cubic-bezier(.2,.7,.2,1);
  transition-delay: var(--d, 0ms); will-change: opacity, transform, filter; }
.js-rv .rv.in { opacity: 1; transform: none; filter: none; }
@media (prefers-reduced-motion: reduce) { .js-rv .rv { opacity: 1; transform: none; filter: none; transition: none; } }

/* ---------- Иллюстрация героя в виде монитора ---------- */
section.hero-m .wrap > div:last-child { position: relative; padding-bottom: 96px; max-width: 920px; animation: mon-float 8s ease-in-out infinite; }
@keyframes mon-float { 0%, 100% { translate: 0 0; } 50% { translate: 0 -9px; } }
section.hero-m .wrap > div:last-child > div[style*="overflow:hidden"] {
  position: relative; z-index: 1; padding: 16px 16px 30px !important; border-radius: 22px !important;
  background: linear-gradient(180deg, #1d1d20 0%, #0b0b0d 100%) !important; border: 1px solid #38383e !important;
  box-shadow: 0 0 0 2px #050505, 0 46px 90px -34px rgba(0,0,0,.95), 0 0 130px -34px rgba(253,224,24,.55), inset 0 1px 0 rgba(255,255,255,.20), inset 0 -2px 0 rgba(0,0,0,.6) !important;
  -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
}
section.hero-m .wrap > div:last-child > div[style*="overflow:hidden"] img {
  border-radius: 9px !important; display: block; width: 100%; box-shadow: 0 0 0 1px #000, 0 0 40px -6px rgba(253,224,24,.35);
}
/* блик на стекле экрана */
section.hero-m .wrap > div:last-child > div[style*="overflow:hidden"]::after {
  content: ""; position: absolute; inset: 16px 16px 30px; border-radius: 9px; pointer-events: none;
  background: linear-gradient(118deg, rgba(255,255,255,.20) 0%, rgba(255,255,255,.06) 26%, rgba(255,255,255,0) 40%), linear-gradient(0deg, rgba(0,0,0,.18), rgba(0,0,0,0) 18%);
}
/* камера и индикатор */
section.hero-m .wrap > div:last-child > div[style*="overflow:hidden"]::before {
  content: ""; position: absolute; top: 5px; left: 50%; width: 5px; height: 5px; margin-left: -2.5px; border-radius: 50%; background: #17171a; z-index: 2;
  box-shadow: 0 0 0 2px #0c0c0e, 0 0 7px rgba(110,170,255,.55);
}
/* шея и основание подставки */
section.hero-m .wrap > div:last-child::before {
  content: ""; position: absolute; left: 50%; bottom: 14px; width: 130px; height: 70px; transform: translateX(-50%); z-index: 0;
  background: linear-gradient(90deg, #202024 0%, #55555c 48%, #202024 100%); clip-path: polygon(16% 0, 84% 0, 100% 100%, 0 100%);
}
section.hero-m .wrap > div:last-child::after {
  content: ""; position: absolute; left: 50%; bottom: 0; width: min(320px, 56%); height: 16px; transform: translateX(-50%); z-index: 0;
  border-radius: 10px 10px 16px 16px; background: linear-gradient(180deg, #6a6a72 0%, #2c2c31 55%, #17171a 100%);
  box-shadow: 0 22px 44px -14px rgba(0,0,0,.9), 0 0 70px -20px rgba(253,224,24,.40), inset 0 1px 0 rgba(255,255,255,.35);
}
@media (max-width: 700px) {
  section.hero-m .wrap > div:last-child { padding-bottom: 66px; }
  section.hero-m .wrap > div:last-child > div[style*="overflow:hidden"] { padding: 10px 10px 20px !important; border-radius: 16px !important; }
  section.hero-m .wrap > div:last-child > div[style*="overflow:hidden"]::after { inset: 10px 10px 20px; }
  section.hero-m .wrap > div:last-child::before { width: 84px; height: 46px; }
}
@media (prefers-reduced-motion: reduce) { section.hero-m .wrap > div:last-child { animation: none; } }

/* ---------- Герой: текст слева, монитор справа на одном уровне ---------- */
section.hero-m .wrap { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr) !important; justify-items: stretch !important; text-align: left !important; align-items: center !important; gap: 56px !important; padding-top: 112px !important; padding-bottom: 88px !important; }
section.hero-m .wrap > div:first-child { align-items: flex-start !important; max-width: none !important; }
section.hero-m .wrap > div:first-child > div { justify-content: flex-start !important; }
section.hero-m .wrap > div:first-child .lead { margin-inline: 0 !important; max-width: 540px !important; }
section.hero-m .wrap > div:last-child { max-width: none !important; width: 100% !important; align-self: center; }
section.hero-m .hero-title { font-size: clamp(34px, 4.3vw, 66px) !important; }
@media (max-width: 960px) {
  section.hero-m .wrap { grid-template-columns: 1fr !important; justify-items: center !important; text-align: center !important; gap: 44px !important; }
  section.hero-m .wrap > div:first-child { align-items: center !important; }
  section.hero-m .wrap > div:first-child > div { justify-content: center !important; }
  section.hero-m .wrap > div:first-child .lead { margin-inline: auto !important; }
  section.hero-m .wrap > div:last-child { max-width: 760px !important; }
}

section.hero-m .hero-title { text-wrap: balance; }

/* =====================================================================
   МЕНЮ как в образце: прозрачная шапка, ссылки по центру (gap 48px) с растущим подчёркиванием,
   при прокрутке — сжатие в плавающую пилюлю, на узких экранах — бургер.
   ===================================================================== */
:root[data-theme] body > div > header, :root[data-theme] .itf-header {
  position: sticky; top: 0; z-index: 50; background: transparent !important; border-bottom: 1px solid transparent !important; box-shadow: none !important;
  -webkit-backdrop-filter: none !important; backdrop-filter: none !important; padding: 0; transition: padding .5s cubic-bezier(.4,0,.2,1);
}
:root[data-theme] body > div > header.is-scrolled, :root[data-theme] .itf-header.is-scrolled { padding-top: 10px; }
:root[data-theme] body > div > header .wrap, :root[data-theme] .itf-header__inner {
  max-width: 1400px !important; height: 80px !important; padding: 0 32px !important; margin: 0 auto; gap: 20px; border: 1px solid transparent; border-radius: 16px; background: transparent;
  transition: max-width .5s cubic-bezier(.4,0,.2,1), height .5s cubic-bezier(.4,0,.2,1), padding .5s cubic-bezier(.4,0,.2,1), background .5s, border-color .5s, box-shadow .5s;
}
:root[data-theme] body > div > header.is-scrolled .wrap, :root[data-theme] .itf-header.is-scrolled .itf-header__inner {
  max-width: 1000px !important; height: 58px !important; padding: 0 18px !important; background: rgba(10,10,10,.72); border-color: rgba(255,255,255,.09);
  box-shadow: 0 14px 44px -14px rgba(0,0,0,.7), inset 0 1px 0 rgba(255,255,255,.06); -webkit-backdrop-filter: blur(20px) saturate(160%); backdrop-filter: blur(20px) saturate(160%);
}
:root[data-theme="light"] body > div > header.is-scrolled .wrap, :root[data-theme="light"] .itf-header.is-scrolled .itf-header__inner { background: rgba(255,255,255,.78); border-color: rgba(22,19,10,.09); box-shadow: 0 14px 44px -18px rgba(70,55,10,.35); }

/* бренд */
:root[data-theme] header .disp, :root[data-theme] .itf-brand__name { font-size: 22px !important; font-weight: 500 !important; letter-spacing: -.025em !important; text-transform: none !important; transition: font-size .5s cubic-bezier(.4,0,.2,1); }
:root[data-theme] header.is-scrolled .disp, :root[data-theme] .itf-header.is-scrolled .itf-brand__name { font-size: 19px !important; }
header .brand-acc { color: var(--yellow); }
:root[data-theme="light"] header .brand-acc { color: #a98f00; }
:root[data-theme] header div[style*="width:40px; height:40px"], :root[data-theme] .itf-brand__logo { transition: width .5s cubic-bezier(.4,0,.2,1), height .5s cubic-bezier(.4,0,.2,1); }
:root[data-theme] header.is-scrolled div[style*="width:40px; height:40px"], :root[data-theme] .itf-header.is-scrolled .itf-brand__logo { width: 32px !important; height: 32px !important; }

/* ссылки по центру, подчёркивание растёт при наведении */
:root[data-theme] header nav { gap: 48px !important; }
:root[data-theme] .itf-nav ul { gap: 48px !important; }
:root[data-theme] header nav a, :root[data-theme] .itf-nav a {
  position: relative; font-size: 14px !important; font-weight: 400 !important; color: rgba(229,229,229,.7) !important; padding: 4px 0 !important; margin: 0 !important;
  background: transparent !important; box-shadow: none !important; border-radius: 0 !important; transition: color .3s;
}
:root[data-theme] header nav a::after, :root[data-theme] .itf-nav a::after {
  content: ""; display: block !important; position: absolute; left: 0; right: auto; bottom: -4px; width: 0; height: 1px; background: #fafafa; transform: none; transition: width .3s;
}
:root[data-theme] header nav a:hover, :root[data-theme] .itf-nav a:hover, :root[data-theme] .itf-nav a.is-active { color: #fafafa !important; background: transparent !important; box-shadow: none !important; }
:root[data-theme] header nav a:hover::after, :root[data-theme] .itf-nav a:hover::after, :root[data-theme] .itf-nav a.is-active::after { width: 100%; }
:root[data-theme="light"] header nav a, :root[data-theme="light"] .itf-nav a { color: rgba(51,65,85,.78) !important; }
:root[data-theme="light"] header nav a:hover, :root[data-theme="light"] .itf-nav a:hover, :root[data-theme="light"] .itf-nav a.is-active { color: #0f172a !important; }
:root[data-theme="light"] header nav a::after, :root[data-theme="light"] .itf-nav a::after { background: #0f172a; }

/* правая часть: кнопка со «звёздочкой» */
:root[data-theme] header .pill-solid, :root[data-theme] .itf-header .itf-btn--solid {
  height: 40px; padding: 0 16px !important; display: inline-flex; align-items: center; gap: 6px; font-size: 14px !important; font-weight: 600 !important; border-radius: 12px !important;
  transition: height .5s cubic-bezier(.4,0,.2,1), padding .5s, font-size .5s, background .3s, box-shadow .3s;
}
:root[data-theme] header .pill-solid::before, :root[data-theme] .itf-header .itf-btn--solid::before { content: "✦"; font-size: 12px; margin-right: 2px; }
:root[data-theme] header.is-scrolled .pill-solid, :root[data-theme] .itf-header.is-scrolled .itf-btn--solid { height: 34px; padding: 0 14px !important; font-size: 13px !important; }
:root[data-theme] .itf-auth { gap: 14px; }

/* бургер и панель */
.menu-burger { display: none; width: 40px; height: 40px; margin-left: 4px; padding: 0; border: 1px solid var(--line); border-radius: 10px; background: transparent; cursor: pointer; flex-direction: column; align-items: center; justify-content: center; gap: 5px; flex: none; transition: border-color .25s; }
.menu-burger:hover { border-color: rgba(253,224,24,.5); }
.menu-burger span { display: block; width: 18px; height: 2px; border-radius: 2px; background: var(--ink); transition: transform .3s, opacity .2s; }
.menu-open .menu-burger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.menu-open .menu-burger span:nth-child(2) { opacity: 0; }
.menu-open .menu-burger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.menu-panel { display: none; position: absolute; left: 16px; right: 16px; top: 100%; margin-top: 8px; padding: 10px; border-radius: 16px; background: rgba(10,10,10,.94); border: 1px solid rgba(255,255,255,.10);
  -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); box-shadow: 0 24px 60px -16px rgba(0,0,0,.8); }
:root[data-theme="light"] .menu-panel { background: rgba(255,255,255,.96); border-color: rgba(22,19,10,.10); box-shadow: 0 24px 60px -20px rgba(70,55,10,.4); }
.menu-open .menu-panel { display: block; animation: menu-in .3s cubic-bezier(.22,1,.36,1); }
@keyframes menu-in { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
.menu-panel a { display: block; padding: 13px 14px; border-radius: 10px; font-size: 16px; color: #e5e5e5 !important; text-decoration: none; transition: background .2s; }
:root[data-theme="light"] .menu-panel a { color: #1e293b !important; }
.menu-panel a:hover { background: rgba(255,255,255,.07); }
:root[data-theme="light"] .menu-panel a:hover { background: rgba(22,19,10,.06); }
.menu-panel .menu-panel__cta { margin-top: 6px; text-align: center; font-weight: 600; background: var(--yellow); color: #16130A !important; }
.menu-panel .menu-panel__cta:hover { background: var(--yellow-strong); }
@media (max-width: 860px) {
  .menu-burger { display: inline-flex; }
  :root[data-theme] .itf-nav { display: none !important; }
  :root[data-theme] body > div > header .wrap, :root[data-theme] .itf-header__inner { height: 68px !important; padding: 0 16px !important; }
  :root[data-theme] body > div > header.is-scrolled .wrap, :root[data-theme] .itf-header.is-scrolled .itf-header__inner { height: 54px !important; max-width: calc(100% - 24px) !important; }
  :root[data-theme] header .pill-solid { display: none; }
}
@media (max-width: 560px) { :root[data-theme] .itf-link { display: none; } }
@media (prefers-reduced-motion: reduce) { :root[data-theme] body > div > header, :root[data-theme] body > div > header .wrap, :root[data-theme] .itf-header__inner { transition: none; } }

/* меню: без переносов, пилюля чуть шире и плотнее */
:root[data-theme] header nav a, :root[data-theme] .itf-nav a, :root[data-theme] header .disp, :root[data-theme] .itf-brand__name { white-space: nowrap !important; }
:root[data-theme] body > div > header.is-scrolled .wrap, :root[data-theme] .itf-header.is-scrolled .itf-header__inner { max-width: 1120px !important; }
:root[data-theme] header.is-scrolled nav, :root[data-theme] .itf-header.is-scrolled .itf-nav ul { gap: 30px !important; }
@media (max-width: 1100px) { :root[data-theme] header nav, :root[data-theme] .itf-nav ul { gap: 28px !important; } }

/* Академия на узких экранах: в шапке остаются логотип, тема и бургер, остальное — в панели */
@media (max-width: 860px) { :root[data-theme] .itf-auth a { display: none !important; } }

/* ---------- Академия: «пилюля» сразу и везде, шире, с раскрывающимся меню курсов ---------- */
:root[data-theme] .itf-header.is-scrolled .itf-header__inner { max-width: 1280px !important; }
:root[data-theme] .itf-header .itf-nav ul { gap: 38px !important; }
:root[data-theme] .itf-nav a.has-mega::before { content: ""; display: inline-block; width: 6px; height: 6px; margin: 0 8px 3px 0; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); opacity: .7; float: right; margin-left: 8px; margin-right: 0; }
.mega-open .itf-nav a.has-mega { color: #fafafa !important; }
.mega-open .itf-nav a.has-mega::after { width: 100% !important; }
:root[data-theme="light"] .mega-open .itf-nav a.has-mega { color: #0f172a !important; }
.itf-mega { position: absolute; left: 50%; top: 100%; width: min(1060px, calc(100vw - 32px)); margin-top: 8px; padding: 18px 18px 10px; border-radius: 20px; z-index: 60;
  background: rgba(10,10,10,.95); border: 1px solid rgba(255,255,255,.10); -webkit-backdrop-filter: blur(22px) saturate(160%); backdrop-filter: blur(22px) saturate(160%);
  box-shadow: 0 34px 90px -24px rgba(0,0,0,.9), inset 0 1px 0 rgba(255,255,255,.06);
  opacity: 0; visibility: hidden; pointer-events: none; transform: translate(-50%, 8px); transition: opacity .25s cubic-bezier(.22,1,.36,1), transform .25s cubic-bezier(.22,1,.36,1), visibility .25s; }
.itf-header.mega-open .itf-mega { opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%, 0); }
:root[data-theme="light"] .itf-mega { background: rgba(255,255,255,.97); border-color: rgba(22,19,10,.10); box-shadow: 0 34px 90px -30px rgba(70,55,10,.45); }
.itf-mega__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.itf-mega__item { display: flex; align-items: center; gap: 12px; padding: 12px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.03); text-decoration: none; transition: border-color .25s, background .25s, transform .25s; }
:root[data-theme="light"] .itf-mega__item { background: rgba(22,19,10,.02); }
.itf-mega__item:hover { border-color: rgba(253,224,24,.55); background: rgba(253,224,24,.08); transform: translateY(-2px); }
.itf-mega__badge { flex: none; width: 46px; height: 46px; border-radius: 12px; display: grid; place-items: center; font-family: 'JetBrains Mono', monospace; font-size: 12px; font-weight: 600; color: var(--yellow);
  background: radial-gradient(40px 30px at 80% 10%, rgba(253,224,24,.35), transparent 70%), linear-gradient(135deg, #1a1403, #070502); border: 1px solid rgba(253,224,24,.30); }
.itf-mega__body b { display: block; font-size: 14px; font-weight: 600; line-height: 1.25; color: var(--ink); letter-spacing: -.01em; }
.itf-mega__body i { display: block; margin-top: 3px; font-style: normal; font-size: 12px; color: var(--muted); }
.itf-mega__foot { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 12px; padding: 12px 6px 4px; border-top: 1px solid var(--line); font-size: 13px; color: var(--muted); }
.itf-mega__foot a { color: var(--yellow); font-weight: 600; text-decoration: none; }
:root[data-theme="light"] .itf-mega__foot a { color: #7a6200; }
.menu-panel__sub { margin: 0 0 6px 14px; padding-left: 10px; border-left: 1px solid rgba(255,255,255,.12); }
:root[data-theme="light"] .menu-panel__sub { border-left-color: rgba(22,19,10,.14); }
.menu-panel__sub a { padding: 9px 12px !important; font-size: 14px !important; opacity: .82; }
@media (max-width: 1100px) { .itf-mega__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 860px) { .itf-mega { display: none; } }

/* Академия: пилюля на всю ширину контента (как блоки страницы) */
:root[data-theme] .itf-header.is-scrolled .itf-header__inner { max-width: min(1600px, calc(100vw - 48px)) !important; padding: 0 28px !important; }
:root[data-theme] .itf-header .itf-nav ul { gap: 56px !important; }
.itf-mega { width: min(1200px, calc(100vw - 48px)); }
@media (max-width: 860px) { :root[data-theme] .itf-header.is-scrolled .itf-header__inner { max-width: calc(100vw - 24px) !important; padding: 0 16px !important; } }

/* страница курса — та же трёхколоночная сетка, что у урока; блок «Программа курса» заменён колонкой «Темы» */
.page-course #block-itf-lessons, .page-course .itf-lessons { display: none !important; }

/* без зерна и шума */
body::after { display: none !important; content: none !important; }

/* подставка монитора: шея без зазоров — уходит под экран и под основание */
section.hero-m .wrap > div:last-child::before { bottom: 10px !important; height: 90px !important; }
@media (max-width: 700px) { section.hero-m .wrap > div:last-child::before { bottom: 10px !important; height: 60px !important; } }
