/* ============================================================
   THINKLIKE AI — ДИЗАЙН 2026 (беж + бордо)
   Подключается ПОСЛЕ style.css на всех страницах и переопределяет
   внешний вид. Разметка, тексты, i18n и скрипты не меняются.
   Шрифты: Literata — заголовки, Golos Text — всё остальное.
   Без тёмной темы, без моно-подписей капсом, без «стекла».
   ============================================================ */
:root{
  --paper:#EEE7DB;
  --paper-dim:#DCCFBD;
  --paper-2:#E5DBCC;
  --cream:#F6F0E6;
  --ink:#241619;
  --ink-soft:#5E4F4A;
  --line:#CDBFAC;
  --wine:#7B2233;
  --wine-2:#96324A;
  --wine-dark:#3A1119;
  --wine-night:#2A0C13;
  --rose:#E7B9A6;

  --marker:#7B2233;
  --marker-ink:#F6F0E6;
  --signal:#7B2233;
  --signal-2:#96324A;

  --display:'Literata', Georgia, serif;
  --body:'Golos Text', system-ui, sans-serif;
  --mono:'Golos Text', system-ui, sans-serif;

  --core-muted:#CDBFAC;
  --core-muted2:#E5DBCC;
  --core-line:#5A2A33;

  --r-sm:4px; --r-md:6px; --r-lg:8px; --r-pill:4px;
  --sh-1:none; --sh-2:0 1px 0 rgba(36,22,25,.06); --sh-3:0 10px 30px rgba(36,22,25,.12);
  --sh-gold:none;
  --edge:var(--line);
  --surface:var(--cream);
  color-scheme:light;
}
html, body{ background:var(--paper); color:var(--ink); }
body{ font-family:var(--body); font-size:17px; line-height:1.6; }
body::before{ display:none !important; }                 /* точечная текстура */
.theme-toggle, #themeToggle{ display:none !important; }   /* одна тема */
::selection{ background:var(--wine); color:var(--cream); }

/* ---------- типографика ---------- */
h1, h2, h3, .section-head h2{ font-family:var(--display); font-weight:600; letter-spacing:-.015em; color:inherit; }
h4, h5{ font-family:var(--body); font-weight:600; letter-spacing:0; }
.section-head{ border-bottom:1px solid var(--line); padding-bottom:18px; margin-bottom:clamp(28px,3.4vw,44px); display:flex; justify-content:space-between; align-items:flex-end; gap:24px; flex-wrap:wrap; }
.section-head h2{ font-size:clamp(30px,3.6vw,46px); line-height:1.1; margin:0; }
/* подписи, которые раньше были моно-капсом */
.section-num, .eyebrow, .ls-time, .step .n, .oc-n, .lvl-tag, .price-tag, .tag, .chip,
.filter-tab, .rev-tab, .nav-links a, .nav-cta, .float-cta, .btn-primary, .btn-ghost, .lang-btn,
.quiz-progress, .section-head .section-num{
  font-family:var(--body) !important; text-transform:none !important; letter-spacing:0 !important;
}
.section-num{ font-size:15px; color:var(--ink-soft); }
mark{ background:none; color:var(--wine); }

/* ---------- кнопки ---------- */
.btn-primary, .nav-cta, .float-cta{
  background:var(--wine) !important; color:var(--cream) !important; border:0 !important;
  border-radius:4px !important; box-shadow:none !important;
  font-weight:600 !important; font-size:15px !important; padding:14px 22px !important;
}
.btn-primary:hover, .nav-cta:hover, .float-cta:hover{ background:var(--wine-2) !important; color:var(--cream) !important; }
.btn-primary::before, .btn-primary::after, .nav-cta::before, .nav-cta::after{ display:none !important; }
.btn-ghost{
  background:none !important; border:0 !important; border-bottom:1.5px solid currentColor !important;
  border-radius:0 !important; padding:4px 0 !important; color:var(--ink) !important;
  font-weight:500 !important; font-size:15px !important; box-shadow:none !important;
}
.btn-ghost:hover{ color:var(--wine) !important; }
.float-cta{ right:16px !important; bottom:16px !important; }

/* ---------- навбар ---------- */
.nav{
  background:rgba(238,231,219,.96) !important; backdrop-filter:none !important; -webkit-backdrop-filter:none !important;
  border-bottom:1px solid var(--line) !important; box-shadow:none !important;
}
.nav-links a{ font-size:15px !important; color:var(--ink) !important; opacity:.85; }
.nav-links a:hover, .nav-links a.is-active, .nav-links a[aria-current]{ opacity:1; color:var(--wine) !important; }
.nav-links a::after{ background:var(--wine) !important; }
.nav-cta{ padding:11px 18px !important; font-size:14px !important; }
.lang-switch{ border:0 !important; background:none !important; gap:2px; }
.lang-btn{ background:none !important; color:var(--ink-soft) !important; border-radius:4px !important; font-size:14px !important; padding:6px 8px !important; }
.lang-btn.is-active{ background:var(--ink) !important; color:var(--cream) !important; }
.read-progress, .progress-bar, #readProgress{ background:var(--wine) !important; }

/* ---------- HERO: видео во весь экран, спокойная вуаль ---------- */
.hero{ min-height:min(92vh,880px); display:flex; align-items:flex-end; padding:0 0 clamp(36px,5vw,56px) !important; color:var(--cream); }
.hero .wrap{ width:100%; }
.hero-video{ filter:saturate(.8) contrast(1.03) !important; opacity:1 !important; }
.hero-scrim{
  opacity:1 !important;
  background:
    linear-gradient(90deg, rgba(42,12,19,.9) 0%, rgba(42,12,19,.66) 45%, rgba(42,12,19,.2) 100%),
    linear-gradient(0deg, rgba(42,12,19,.75), transparent 45%) !important;
}
.hero-word, .hero-prompt{ display:none !important; }
.hero .eyebrow{ color:var(--cream) !important; text-shadow:none !important; font-size:15px !important; opacity:.88; margin-bottom:18px; }
.hero .eyebrow::before{ display:none !important; }
.hero h1{
  font-family:var(--display) !important; font-weight:600 !important; color:var(--cream) !important;
  font-size:clamp(40px,6.2vw,82px) !important; line-height:1.04 !important; letter-spacing:-.02em !important;
  max-width:14ch; text-shadow:none !important; margin:0;
}
.hero h1 .accent{ color:var(--rose); }
.hero h1 .plate, .hero h1 mark{ background:none !important; color:inherit !important; padding:0 !important; box-shadow:none !important; }
.hero-sub{ color:var(--cream) !important; text-shadow:none !important; font-size:18px !important; max-width:540px; opacity:.92; margin:22px 0 30px !important; }
.hero-row{ display:flex; gap:24px; align-items:center; flex-wrap:wrap; }
.hero .btn-primary{ background:var(--cream) !important; color:var(--wine-dark) !important; }
.hero .btn-primary:hover{ background:#fff !important; }
.hero .btn-ghost{ color:var(--cream) !important; text-shadow:none !important; border-bottom-color:rgba(246,240,230,.6) !important; }
.hero-meta{
  display:grid !important; grid-template-columns:repeat(3,1fr); gap:0 !important;
  margin-top:clamp(40px,5vw,60px) !important; border-top:1px solid rgba(246,240,230,.28);
}
.hero-meta > div{
  background:none !important; border:0 !important; box-shadow:none !important; backdrop-filter:none !important; -webkit-backdrop-filter:none !important;
  border-radius:0 !important; padding:16px 16px 0 0 !important; color:var(--cream) !important;
}
.hero-meta b{ font-family:var(--body) !important; font-size:24px !important; font-weight:600 !important; color:var(--cream) !important; }
.hero-meta span{ font-family:var(--body) !important; text-transform:none !important; letter-spacing:0 !important; font-size:14px !important; color:rgba(246,240,230,.78) !important; }

/* ---------- карточки / панели: плоско, с тонкой линией ---------- */
.card, .direction, .level, .price-card, .outcome-card, .review-card, .faq-item, .step,
.icon-card, .tool-card, .format, .security, .quiz-card, .location-card, .business-band, .lesson-step{
  border-radius:6px !important; box-shadow:none !important;
}
.card:hover, .direction:hover, .price-card:hover, .tool-card:hover, .icon-card:hover{ transform:none !important; box-shadow:none !important; }

/* ---------- фильтры и вкладки ---------- */
.filter-tab, .rev-tab{ border-radius:4px !important; font-size:14px !important; padding:9px 14px !important; background:transparent !important; border:1px solid var(--line) !important; color:var(--ink) !important; }
.filter-tab.is-active, .rev-tab.is-active{ background:var(--ink) !important; color:var(--cream) !important; border-color:var(--ink) !important; }

/* ---------- философия: без «булавок», крупный номер ---------- */
#philosophy .card{ background:transparent !important; border:0 !important; border-top:2px solid var(--ink) !important; border-radius:0 !important; padding:18px 0 0 !important; }
#philosophy .card .pin{ display:none !important; }
#philosophy .card .num{ font-family:var(--display) !important; font-size:15px !important; color:var(--wine) !important; font-weight:600; }
#philosophy .card p:not(.no){ font-family:var(--display); font-size:21px; line-height:1.3; font-weight:600; margin-top:10px; }
#philosophy .card p.no{ color:var(--ink-soft); font-size:16px; margin-top:6px; }

/* ---------- манифест ---------- */
#manifesto{ background:var(--wine-dark) !important; color:var(--cream) !important; }
#manifesto *{ color:var(--cream); }
#manifesto::before, #manifesto .quote-mark{ color:var(--rose) !important; }

/* ---------- AI-тест ---------- */
.quiz-card{ background:var(--wine-dark) !important; background-image:none !important; color:var(--cream) !important; border:0 !important; }
.quiz-card .btn-primary{ background:var(--cream) !important; color:var(--wine-dark) !important; }

/* ---------- направления и уровни ---------- */
.direction-band{ display:none !important; }
.direction-head h3{ font-size:clamp(24px,2.4vw,30px) !important; }
.level{ background:var(--cream) !important; border:1px solid var(--line) !important; }
.level .tag{ background:none !important; border:0 !important; padding:0 !important; color:var(--wine) !important; font-size:14px !important; display:inline-flex; gap:8px; align-items:baseline; }
.level .tag .tag-en{ font-weight:700; letter-spacing:.02em; }
.level .tag .tag-ru{ font-style:normal; color:var(--ink-soft); }
.level .tools{ color:var(--wine) !important; }
.level.is-core{ background:var(--wine-dark) !important; border-color:var(--wine-dark) !important; color:var(--cream) !important; }
.level.is-core p, .level.is-core li, .level.is-core .who, .level.is-core .price-cur, .level.is-core .tag .tag-ru{ color:rgba(246,240,230,.82) !important; }
.level.is-core .tag, .level.is-core .tools{ color:var(--rose) !important; }
.level.is-core .price-num{ color:var(--cream) !important; }
.level.is-core li, .level.is-core .who{ border-color:rgba(246,240,230,.16) !important; }
.level.is-core .btn-primary{ background:var(--cream) !important; color:var(--wine-dark) !important; }
.price-num{ font-family:var(--display) !important; font-weight:600 !important; }
.price-free{ background:none !important; border:0 !important; padding:0 !important; color:var(--wine) !important; font-weight:600; text-transform:none !important; letter-spacing:0 !important; font-size:14px !important; }
.price-note{ border-left-color:var(--wine) !important; }
.business-band{ background:var(--paper-2) !important; background-image:none !important; border:1px solid var(--line) !important; }

/* ---------- шаги урока ---------- */
.ls-time{ background:none !important; padding:0 !important; color:var(--wine) !important; font-weight:600; font-size:14px !important; }
.lesson-step{ background:var(--cream) !important; border:1px solid var(--line) !important; }
.live-item{ background:var(--paper-dim) !important; border-radius:4px !important; }
.live-play{ background:rgba(42,12,19,.6) !important; }
.live-item:hover .live-play{ background:var(--wine) !important; border-color:var(--wine) !important; }
.outcome{ background:var(--paper-2) !important; border:1px solid var(--line) !important; }
.outcome-card{ background:var(--cream) !important; border:1px solid var(--line) !important; }
.outcome-card::before{ display:none !important; }
.oc-n{ color:var(--wine) !important; }

/* ---------- ПРЕПОДАВАТЕЛИ ---------- */
.team-list{ display:flex; flex-direction:column; gap:24px; }
.teacher{ display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(24px,4vw,64px); align-items:center;
  background:var(--cream); border:1px solid var(--line); border-radius:6px; padding:clamp(24px,4vw,56px); }
.t-photo{ position:relative; padding:18px 18px 0 0; }
.t-photo::before{ content:""; position:absolute; inset:0 0 18px 18px; background:var(--wine); border-radius:6px; transform:rotate(-3deg); opacity:.9; }
.t-frame{ position:relative; aspect-ratio:4/5; border-radius:6px; overflow:hidden; background:var(--paper-dim); }
.t-frame img{ width:100%; height:100%; object-fit:cover; }
.t-top{ display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:20px; align-items:start; margin-bottom:28px; }
.t-name h3{ font-size:clamp(24px,2.4vw,30px); line-height:1.15; margin:0 0 6px; }
.t-name p{ margin:0; color:var(--ink-soft); font-size:15px; }
.t-stat b{ display:block; font-family:var(--display); font-weight:600; font-size:clamp(32px,3.6vw,46px); line-height:1; color:var(--wine); letter-spacing:-.02em; }
.t-stat span{ display:block; margin-top:8px; font-size:15px; color:var(--ink-soft); line-height:1.35; }
.teacher h4{ font-family:var(--display); font-size:21px; margin:0 0 10px; }
.teacher .t-body > p{ margin:0 0 12px; color:var(--ink); max-width:60ch; }
.t-tools{ list-style:none; margin:20px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.t-tools li{ background:var(--paper); border:1px solid var(--line); border-radius:4px; padding:8px 12px; font-size:14px; font-weight:500; }

/* ---------- ГДЕ ПРОХОДЯТ ЗАНЯТИЯ ---------- */
.place-grid{ display:grid; grid-template-columns:repeat(6,1fr); grid-auto-rows:clamp(170px,19vw,260px); gap:14px; }
.pg{ margin:0; border-radius:6px; overflow:hidden; background:var(--paper-dim); }
.pg img{ width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.pg:hover img{ transform:scale(1.03); }
.pg-a{ grid-column:span 2; grid-row:span 2; }
.pg-b{ grid-column:span 4; grid-row:span 2; }
.pg-c{ grid-column:span 2; grid-row:span 2; }
.pg-d{ grid-column:span 2; grid-row:span 2; }
.pg-info{ grid-column:span 2; grid-row:span 2; background:var(--wine-dark); color:var(--cream); padding:clamp(20px,2.4vw,32px); display:flex; flex-direction:column; justify-content:flex-end; gap:10px; }
.pg-info h3{ font-size:clamp(22px,2vw,26px); margin:0; color:var(--cream); }
.pg-info p{ margin:0; font-size:15px; color:rgba(246,240,230,.86); }
.pg-info .pg-land{ color:rgba(246,240,230,.65); font-size:14px; }
.pg-info .btn-ghost{ color:var(--cream) !important; align-self:flex-start; margin-top:6px; }

/* ---------- отзывы, FAQ, заявка, подвал ---------- */
.rev-empty, .reviews-empty{ background:var(--cream) !important; border:1px dashed var(--line) !important; }
.faq-item, details.faq-item{ background:var(--cream) !important; border:1px solid var(--line) !important; }
.faq-item summary, .faq-q{ font-family:var(--display) !important; font-weight:600 !important; }
.apply-banner, .apply-hero, #apply .cta-band{ background:var(--wine-dark) !important; }
input, textarea, select{ border-radius:4px !important; background:var(--paper) !important; border:1px solid var(--line) !important; font-family:var(--body) !important; }
input:focus, textarea:focus, select:focus{ outline:2px solid var(--wine) !important; outline-offset:1px; border-color:var(--wine) !important; }
label, .field-label{ font-family:var(--body) !important; text-transform:none !important; letter-spacing:0 !important; font-size:14px !important; color:var(--ink-soft) !important; }
footer{ background:var(--paper-2) !important; border-top:1px solid var(--line) !important; }

/* ---------- адаптив ---------- */
@media (max-width:900px){
  .teacher{ grid-template-columns:1fr; }
  .t-photo{ max-width:420px; }
  .place-grid{ grid-template-columns:repeat(2,1fr); grid-auto-rows:180px; }
  .pg-a, .pg-c, .pg-d{ grid-column:span 1; grid-row:span 1; }
  .pg-b{ grid-column:span 2; grid-row:span 1; }
  .pg-info{ grid-column:span 2; grid-row:auto; }
  .hero-meta{ grid-template-columns:1fr 1fr !important; }
}
@media (max-width:560px){
  .t-top{ grid-template-columns:1fr 1fr; }
  .t-name{ grid-column:span 2; }
  .hero h1{ max-width:none; }
}

/* ---------- правки после просмотра ---------- */
.apply-form label > span, .ct-k{ font-family:var(--body) !important; text-transform:none !important; letter-spacing:0 !important; font-size:14px !important; color:var(--ink-soft) !important; font-weight:500 !important; }
.ct-k{ font-size:13px !important; }
.contact-tile, .contact-tile.is-primary{ background:var(--cream) !important; background-image:none !important; border:1px solid var(--line) !important; box-shadow:none !important; }
.contact-tile.is-primary{ border-color:var(--wine) !important; }
.cta{ background:var(--wine-dark) !important; background-image:none !important; color:var(--cream) !important; }
.cta *{ color:var(--cream); }
.apply-form{ background:var(--cream) !important; border:1px solid var(--line) !important; }
.foot-logo{ display:block; width:150px; aspect-ratio:1094/262; font-size:0 !important; color:transparent !important; background:var(--ink);
  -webkit-mask:url(logo-wordmark.png) left center/contain no-repeat; mask:url(logo-wordmark.png) left center/contain no-repeat; margin-bottom:12px; }
.foot-col h5, .foot-col h4, .foot-title{ font-family:var(--body) !important; text-transform:none !important; letter-spacing:0 !important; font-size:15px !important; color:var(--ink) !important; }
.outcome-card::after{ display:none !important; }
@media (max-width:700px){
  .section-head{ flex-direction:column; align-items:flex-start; gap:6px; }
  .hero{ padding-top:96px !important; min-height:auto; }
  .place-grid{ grid-auto-rows:auto; }
  .pg{ aspect-ratio:4/3; }
  .pg-a{ grid-column:span 2; aspect-ratio:16/10; }
  .pg-b{ aspect-ratio:16/9; }
  .pg-info{ aspect-ratio:auto; }
}
.page-hero{ background:none !important; }
.page-fact{ background:var(--cream) !important; border:1px solid var(--line) !important; border-radius:4px !important; font-family:var(--body) !important; text-transform:none !important; letter-spacing:0 !important; }
@media (max-width:700px){ .business-band{ gap:18px !important; min-height:0 !important; } .business-band > *{ min-height:0 !important; } }

/* ============================================================
   ЖИЗНЬ АКАДЕМИИ v2: тёмная полоса, лента вертикальных видео
   + четыре фото. Остальное — в окне «Смотреть все».
   ============================================================ */
#live{ background:var(--wine-night); color:var(--cream); }
#live .section-head{ border-bottom-color:rgba(246,240,230,.16); }
#live .section-num{ color:rgba(246,240,230,.66); }
.live-sub{
  font-family:var(--body) !important; font-size:15px; font-weight:600; letter-spacing:0;
  color:rgba(246,240,230,.8); margin:0 0 14px;
}
.live-sub-photos{ margin-top:clamp(32px,4vw,52px); }
.live-sub[hidden], .live-reel-head[hidden], .live-arrows[hidden]{ display:none !important; }
.live-reel-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:16px; }
.live-reel-head .live-sub{ margin-bottom:14px; }
.live-arrows{ display:flex; gap:8px; margin-bottom:10px; }
.live-arrow{
  width:40px; height:40px; border-radius:50%; display:grid; place-items:center; cursor:pointer;
  background:transparent; color:var(--cream); border:1px solid rgba(246,240,230,.35);
  transition:background .2s, border-color .2s, opacity .2s;
}
.live-arrow:hover:not(:disabled){ background:var(--cream); color:var(--wine-night); border-color:var(--cream); }
.live-arrow:disabled{ opacity:.3; cursor:default; }
.live-arrow svg{ width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.live-arrow:focus-visible{ outline:2px solid var(--rose); outline-offset:2px; }

/* Лента: карточки 9:16, прокрутка пальцем/колесом, прилипание к краю. */
.live-reel{
  list-style:none; margin:0; padding:0 0 4px;
  display:grid; grid-auto-flow:column; grid-auto-columns:clamp(150px,17vw,220px);
  gap:14px; overflow-x:auto; overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory; scrollbar-width:none;
}
.live-reel::-webkit-scrollbar{ display:none; }
.live-reel > li{ scroll-snap-align:start; }
.live-reel .live-item{ aspect-ratio:9/16; }

/* Фото: четыре вертикальных кадра 3:4 без обрезки лиц. */
.live-mosaic{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(4,1fr); gap:14px;
}
.live-mosaic .live-item{ aspect-ratio:3/4; }

/* Плитка */
#live .live-item, .live-item.ls-media{
  position:relative; display:block; width:100%; height:auto; padding:0; border:0; margin:0;
  border-radius:6px !important; overflow:hidden; cursor:pointer;
  background:#3A1A21 !important; color:#fff;
}
.live-item img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s ease; }
.live-item.is-video img{ filter:none; }
.live-item.is-video:hover img{ filter:none; }
.live-item:hover img{ transform:scale(1.035); }
.live-item.is-video::after{
  content:""; position:absolute; inset:auto 0 0 0; height:40%; pointer-events:none;
  background:linear-gradient(to top, rgba(20,6,10,.7), transparent);
}
/* Плашка «▶ 0:08» внизу слева вместо большого круга по центру. */
.live-play, #live .live-play{
  position:absolute; left:10px; bottom:10px; top:auto; right:auto; transform:none;
  width:auto; height:30px; padding:0 11px 0 9px; border-radius:15px; z-index:1;
  display:inline-flex; align-items:center; gap:6px;
  background:rgba(246,240,230,.92) !important; color:var(--wine-night);
  border:0 !important; backdrop-filter:none; -webkit-backdrop-filter:none;
  font:600 13px/1 var(--body);
  transition:background .2s, color .2s;
}
.live-play svg{ width:13px; height:13px; margin:0; fill:currentColor; }
.live-play .live-dur{ position:static; padding:0; background:none; color:inherit; font:inherit; border-radius:0; }
.live-item:hover .live-play{ transform:none; background:var(--wine) !important; color:var(--cream); }
.live-item:focus-visible{ outline:2px solid var(--rose); outline-offset:3px; }

#live .live-more-wrap{ margin-top:clamp(24px,3vw,36px); justify-content:flex-start; }
#live .live-more{
  color:var(--cream) !important; border:1px solid rgba(246,240,230,.4) !important; background:transparent !important;
  padding:13px 22px !important; border-radius:4px; font-weight:600; text-decoration:none !important;
}
#live .live-more:hover{ background:var(--cream) !important; color:var(--wine-night) !important; }
#live .live-more[hidden]{ display:none; }

@media (max-width:760px){
  .live-reel{ grid-auto-columns:42vw; gap:10px; margin-right:calc(-1 * var(--pad)); padding-right:var(--pad); }
  .live-arrows{ display:none; }
  .live-mosaic{ grid-template-columns:repeat(2,1fr); gap:10px; }
  #live .live-more-wrap{ justify-content:stretch; }
  #live .live-more{ width:100%; }
}
@media (prefers-reduced-motion:reduce){ .live-item img{ transition:none; } .live-item:hover img{ transform:none; } }


/* ============================================================
   ШАГИ УРОКА: светлые фото (только .ls-media, #live не меняется)
   Раньше плитка шага брала оформление ленты #live: тёмный фон
   #3A1A21 (виден, пока фото грузится), градиент ::after у видео
   и кадр 4:3, который у вертикальных фото 3:4 оставлял только
   среднюю полосу — столы и спины, а лица срезал.
   ============================================================ */
.live-item.ls-media{ aspect-ratio:1/1; background:var(--paper-dim) !important; }
.live-item.ls-media img,
.live-item.ls-media:hover img{ filter:none; object-position:50% 10%; }
.live-item.ls-media::after{ content:none; }
/* видео 9:16 — кадр ближе к центру: и лица, и руки с тетрадями */
.live-item.ls-media.is-video img{ object-position:50% 45%; }

/* ============================================================
   МОБИЛЬНАЯ ВЕРСИЯ (исправления)
   ============================================================ */

/* Подпись секции с nowrap («Ученики и владельцы бизнеса — от первого
   лица») выталкивала страницу вбок: 382px на 375, 793px на 768. */
@media (max-width:1100px){
  section:not(#live) .section-num{ white-space:normal; }
}

/* Планшет: шаги урока — фото рядом с текстом, а не квадрат на всю ширину */
@media (min-width:601px) and (max-width:860px){
  .lesson-step{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .lesson-step:nth-child(even) .ls-body{ order:2; }
}

@media (max-width:600px){
  /* Шаги урока: фото над текстом, на всю ширину карточки */
  .lesson-step{ gap:16px; }
  .lesson-step > .live-item.ls-media{
    order:-1;
    width:calc(100% + 2 * clamp(18px,2.4vw,28px));
    margin:calc(-1 * clamp(18px,2.4vw,28px)) calc(-1 * clamp(18px,2.4vw,28px)) 0;
    border-radius:5px 5px 0 0 !important;
  }
  .lesson-step:nth-child(even) .ls-body{ order:0; }
}

@media (max-width:1024px){
  /* Телефоны и планшеты (сенсорные экраны).
     Основной текст — не меньше 16px */
  #quizIntro > p,
  .tool-card > p, .tools-note,
  .icon-card > p,
  .price-note, .price-note--formats, .pay-card > p,
  .security-list .sec-r,
  .outcome-card > p,
  .pg-info > p, .pg-land,
  .reviews-honest,
  .faq-item p,
  .apply-hint,
  .foot-brand > p,
  .module .objection, .module-result > p,
  .page-cta p{ font-size:16px !important; line-height:1.55; }

  /* Нажимаемые элементы — не меньше 44px */
  /* подчёркивание остаётся прямо под текстом, запас высоты — сверху */
  .btn-ghost{ display:inline-flex; align-items:flex-end; min-height:44px; }
  .filter-tab, .rev-tab{ min-height:44px; }
  .lang-btn{ display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; }
  .nav-toggle{ width:44px !important; height:44px !important; }
  .nav-toggle span{ left:9px; }
  .nav-toggle span:nth-child(1){ top:16px; }
  .nav-toggle span:nth-child(2){ top:22px; }
  .nav-toggle span:nth-child(3){ top:28px; }
  .nav-mark, #logoLink{ display:inline-flex; align-items:center; min-height:44px; }
  .nav-contact-mobile a{ min-height:44px; }
  .crumbs a{ display:inline-flex; align-items:flex-end; min-height:44px; }
  .foot-col a{ display:flex; align-items:center; min-height:44px; margin-bottom:0; }
  .foot-apply{ display:inline-flex; align-items:center; min-height:44px; }
}

/* ============================================================
   ГДЕ ПРОХОДЯТ ЗАНЯТИЯ v2 — ровная сетка: 4 одинаковых фото
   и бордовая полоса с адресом под ними.
   ============================================================ */
#place .place-grid{ display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:auto; gap:14px; }
#place .pg{ grid-column:auto !important; grid-row:auto !important; aspect-ratio:3/4; }
#place .pg img{ object-position:50% 40%; }
#place .pg-info{
  grid-column:1 / -1 !important; aspect-ratio:auto;
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto; align-items:center; gap:10px 32px;
  padding:clamp(22px,2.6vw,34px);
}
#place .pg-info h3{ grid-row:span 2; }
#place .pg-info .btn-ghost{ grid-column:3; grid-row:1 / span 2; align-self:center; margin:0; }
@media (max-width:900px){
  #place .place-grid{ grid-template-columns:repeat(2,1fr); gap:10px; }
  #place .pg-info{ grid-template-columns:1fr; }
  #place .pg-info h3{ grid-row:auto; }
  #place .pg-info .btn-ghost{ grid-column:auto; grid-row:auto; justify-self:start; margin-top:6px; }
}

/* ЧТО ВЫ ПОЛУЧИТЕ — вводный абзац про «боль» */
.formats-lead{ max-width:760px; font-size:clamp(18px,1.6vw,21px); line-height:1.55; color:var(--ink); margin:0 0 clamp(24px,3vw,36px); }

/* ============================================================
   КОМУ ПОДОЙДЁТ + РОЛИ ВЫПУСКНИКА (#audience), метка обновления,
   подпись «= весь уровень» под ценой
   ============================================================ */
.aud-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.aud-card{ background:var(--cream); border:1px solid var(--line); border-radius:6px; padding:clamp(18px,2vw,24px); }
.aud-card h4{ font-family:var(--display); font-size:19px; line-height:1.3; margin:0 0 10px; }
.aud-card p{ margin:0; color:var(--ink-soft); font-size:15.5px; line-height:1.6; }
.aud-not{ margin:18px 0 0; padding:14px 18px; border-left:3px solid var(--wine); background:var(--paper-2); color:var(--ink); font-size:15.5px; max-width:860px; }
.aud-roles-h{ margin:clamp(36px,4.5vw,56px) 0 16px; font-size:clamp(22px,2.2vw,28px); }
.aud-roles{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.aud-role{ background:var(--wine-dark); color:var(--cream); border-radius:6px; padding:clamp(18px,2vw,24px); }
.aud-role h4{ font-family:var(--display); font-size:20px; margin:0 0 8px; color:var(--cream); }
.aud-role p{ margin:0; font-size:15px; line-height:1.55; color:rgba(246,240,230,.82); }
.aud-note{ margin:14px 0 0; font-size:14px; color:var(--ink-soft); max-width:860px; }
.prog-updated{ margin:-8px 0 18px; }
.prog-updated span{ display:inline-block; font-size:13px; font-weight:600; color:var(--wine); background:var(--paper-2); border:1px solid var(--line); border-radius:4px; padding:5px 10px; }
.price-sub{ font-size:13px; color:var(--ink-soft); margin:-4px 0 6px; }
.level.is-core .price-sub{ color:rgba(246,240,230,.7); }
@media (max-width:980px){ .aud-grid{ grid-template-columns:repeat(2,1fr); } .aud-roles{ grid-template-columns:1fr; } }
@media (max-width:560px){ .aud-grid{ grid-template-columns:1fr; } }

/* ============================================================
   ГЛАВНАЯ 2026-10 (v3): шапка с результатом, «Что вы получите»,
   «Направления и цены» в одной секции, профессии, одно фото здания
   ============================================================ */
.hero h1.hero-title--v3{ font-size:clamp(34px,4.6vw,62px) !important; line-height:1.08 !important; max-width:20ch; }
.hero-motto{ font-family:var(--display); color:var(--rose); font-size:clamp(20px,2vw,26px); font-weight:600; margin:18px 0 0; }
.hero-motto + .hero-sub{ margin-top:12px !important; }

#benefits .icon-card{ display:flex; flex-direction:column; }
.ben-link{ margin-top:12px; font-weight:600; font-size:14.5px; color:var(--wine); text-decoration:none; border-bottom:1px solid currentColor; align-self:flex-start; }
.ben-teens{ margin:18px 0 0; padding:14px 18px; border-left:3px solid var(--wine); background:var(--paper-2); color:var(--ink); font-size:15.5px; line-height:1.6; max-width:860px; }
#benefits .cert-show{ margin-top:clamp(28px,3.5vw,44px); }
#benefits .cert-text h4{ margin-bottom:14px; }

#pricing .price-note + .price-note{ margin-top:10px; }
#pricing .filter-tabs{ margin-top:clamp(20px,2.5vw,28px); }
#pricing .direction{ margin-top:clamp(18px,2.4vw,28px); }
#pricing .direction-head p{ max-width:68ch; }
#pricing .level .level-can{ margin-top:12px; color:var(--ink); font-size:15.5px; line-height:1.55; flex-grow:0; }
#pricing .level.is-core .level-can{ color:var(--cream); }
#pricing .level .price{ margin-top:auto; padding-top:14px; }
#pricing .level .who{ margin:6px 0 10px; }
#pricing .level .price-free{ margin:0 0 10px; }
.price-extras{ margin-top:clamp(20px,2.6vw,30px); display:grid; gap:6px; color:var(--ink-soft); font-size:15px; max-width:860px; }
.price-extras p{ margin:0; }
.price-extras a{ color:var(--wine); font-weight:600; }

#careers .aud-roles{ grid-template-columns:repeat(3,1fr); }
@media (max-width:980px){ #careers .aud-roles{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ #careers .aud-roles{ grid-template-columns:1fr; } }

#place .place-grid.place-one{ grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); }
#place .place-one .pg{ aspect-ratio:4/3; }
#place .place-one .pg-info{ grid-column:auto !important; display:flex; flex-direction:column; justify-content:center; gap:10px; }
#place .place-one .pg-info .btn-ghost{ align-self:flex-start; margin-top:6px; }
@media (max-width:760px){ #place .place-grid.place-one{ grid-template-columns:1fr; } }
#benefits .icon-card .icon-mark{ align-self:flex-start; }
#place .place-one .pg-info{ align-self:stretch; height:auto; aspect-ratio:auto !important; }
#place .place-one .pg-info h3{ text-align:left !important; }

/* ============================================================
   ГЛАВНАЯ, ВЕРСИЯ 2 (2026-10-21): пункты в шапке, задачи, профессии,
   инструменты, программа с раскрывающимися уровнями, закреплённая кнопка
   ============================================================ */
.hero-points{ list-style:none; margin:22px 0 30px; padding:0; display:grid; gap:10px; max-width:560px; }
.hero-points li{ color:var(--cream); font-size:18px; line-height:1.45; padding-left:22px; position:relative; }
.hero-points li::before{ content:""; position:absolute; left:0; top:.6em; width:9px; height:9px; border-radius:50%; background:var(--rose); }
.hero-points b{ font-weight:700; }

.task-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.task-card{ background:var(--cream); border:1px solid var(--line); border-radius:6px; padding:clamp(18px,2vw,24px); display:flex; flex-direction:column; gap:10px; }
.task-card h3{ font-family:var(--display); font-size:clamp(18px,1.6vw,21px); line-height:1.3; margin:0; }
.task-tag{ align-self:flex-start; font-size:12.5px; font-weight:600; color:var(--wine); background:var(--paper-2); border:1px solid var(--line); border-radius:4px; padding:3px 8px; }
@media (max-width:900px){ .task-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .task-grid{ grid-template-columns:1fr; } }

.persona-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.persona{ background:var(--wine-dark); color:var(--cream); border-radius:6px; padding:clamp(20px,2.2vw,28px); display:flex; flex-direction:column; gap:12px; }
.persona .task-tag{ background:rgba(246,240,230,.08); border-color:rgba(246,240,230,.25); color:var(--rose); }
.persona h3{ font-family:var(--display); font-size:clamp(20px,1.8vw,23px); line-height:1.3; margin:0; color:var(--cream); }
.persona-list{ list-style:none; margin:0; padding:0; display:grid; gap:9px; }
.persona-list li{ position:relative; padding-left:20px; font-size:15px; line-height:1.5; color:rgba(246,240,230,.86); }
.persona-list li::before{ content:"✓"; position:absolute; left:0; top:0; color:var(--rose); font-weight:700; }
@media (max-width:980px){ .persona-grid{ grid-template-columns:1fr; } }

.tools-lead{ max-width:760px; color:var(--ink-soft); font-size:16px; line-height:1.6; margin:0 0 18px; }
#tools .tool-chip:hover{ transform:none; }

.prog-stats{ list-style:none; margin:0 0 18px; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.prog-stats li{ font-size:14.5px; font-weight:600; color:var(--wine-dark); background:var(--paper-2); border:1px solid var(--line); border-radius:999px; padding:7px 14px; }
.prog-end{ margin:10px 0 0; font-size:14.5px; color:var(--ink-soft); }
#program .filter-tabs{ margin-top:clamp(20px,2.5vw,28px); }
#program .direction{ margin-top:clamp(18px,2.4vw,28px); }
#program .direction-head p{ max-width:68ch; }
.lvl-acc{ display:grid; gap:0; margin-top:14px; }
.lvl-item summary{ font-size:clamp(16px,1.4vw,18px); line-height:1.4; }
.lvl-item summary .lvl-code{ color:var(--wine); letter-spacing:.02em; }
.lvl-list{ margin:4px 0 10px; padding-left:20px; display:grid; gap:7px; }
.lvl-list li{ font-size:15.5px; line-height:1.55; color:var(--ink); }
.lvl-result{ margin:0 0 14px; font-size:15px; font-weight:600; color:var(--wine-dark); }

#certificate .cert-lead{ font-size:17px; line-height:1.6; color:var(--ink); margin:0 0 20px; }

#pricing .price-dir{ margin-top:clamp(16px,2vw,24px); }
#pricing .price-dir .level .price{ margin-top:10px; padding-top:0; }

/* закреплённая кнопка: телефон — полоса внизу, компьютер — кнопка справа внизу */
.sticky-cta{
  position:fixed; z-index:210; right:20px; bottom:20px;
  background:var(--wine) !important; color:var(--cream) !important; text-decoration:none;
  font-weight:600; font-size:15px; padding:14px 22px; border-radius:6px; box-shadow:0 8px 24px rgba(40,10,15,.25);
  opacity:0; transform:translateY(16px); pointer-events:none; transition:opacity .25s ease, transform .25s ease;
}
.sticky-cta.is-shown{ opacity:1; transform:none; pointer-events:auto; }
.sticky-cta:hover{ background:var(--wine-2) !important; }
@media (max-width:700px){
  .sticky-cta{ left:0; right:0; bottom:0; border-radius:0; text-align:center; padding:16px 16px calc(16px + env(safe-area-inset-bottom)); font-size:16px; }
}
@media (prefers-reduced-motion:reduce){ .sticky-cta{ transition:none; } }


/* ============================================================
   ДИЗАЙН-ПОЛИРОВКА ГЛАВНОЙ (2026-10-21): правила главной — под body.home
   ============================================================ */
/* ============================================================
   ГЛАВНАЯ — ДИЗАЙН-ПОЛИРОВКА (2026-10-21)
   Refactoring UI: ритм секций, шкала шрифтов и отступов, иерархия.
   Motion: одно спокойное появление, без него при reduced-motion.
   Бренд не меняется: беж/бордо, Literata + Golos Text.
   ============================================================ */

/* ---------- ритм страницы: секции через одну на чуть более тёмном беже ---------- */
.home #benefits, .home #tools, .home #ai-test, .home #apply, .home #place{ background:var(--paper-2); }
.home #ai-test{ padding-top:clamp(48px,5vw,72px); padding-bottom:clamp(48px,5vw,72px); }
/* ---------- заголовки h3/h4: плотная строка (было 1.6 от body) ---------- */
.home #program .direction-head h3, .home #pricing .price-dir h3, .home .icon-card h4, .home .pg-info h3{ line-height:1.25; }
.home #program .direction-head h3, .home #pricing .price-dir h3{ margin-bottom:8px; }
.home #pricing .price-dir h3{ margin-bottom:16px; }
/* ---------- шапка секции: подпись справа переносится, а не вылезает ---------- */
.home .section-head .section-num{ white-space:normal; flex:0 1 auto; min-width:0; max-width:100%; }
/* ---------- «Что вы получите»: отдельные карточки вместо рамки-сетки ---------- */
.home .icon-grid{ gap:16px; background:none; border:0; }
.home #benefits .icon-card{ border:1px solid var(--line); border-radius:6px; background:var(--cream); padding:24px; gap:8px; }
.home #benefits .icon-card h4{ font-family:var(--display); font-size:20px; margin:0; }
.home #benefits .icon-card .icon-mark{ margin-bottom:8px; }
.home #benefits .icon-card > p{ font-size:16px; line-height:1.55; color:var(--ink-soft); }
.home #benefits .icon-card .ben-link{ margin-top:auto; padding-top:8px; align-self:flex-start; }
.home .ben-teens{ margin-top:24px; background:var(--cream); border:1px solid var(--line); border-left:2px solid var(--wine); border-radius:0 6px 6px 0; padding:16px 24px; font-size:16px; }
/* ---------- «Решайте реальные задачи»: метка спокойнее, заголовок — главное ---------- */
.home .task-grid, .home .persona-grid{ gap:16px; }
.home .task-card{ padding:24px; gap:12px; }
.home .task-tag{ font-size:12px; padding:4px 8px; background:transparent; }
.home .persona .task-tag{ background:transparent; }
/* ---------- «Кем вы станете» ---------- */
.home .persona{ padding:32px 24px; gap:16px; }
.home .persona-list{ gap:8px; }
.home .persona-list li{ color:rgba(246,240,230,.9); }
.home #careers .aud-note{ margin-top:24px; font-size:14px; color:var(--ink-soft); }
/* ---------- «Инструменты»: плашки читаемого размера ---------- */
.home .tools-lead{ font-size:17px; margin-bottom:24px; max-width:65ch; }
.home #tools .tool-chip{ font-size:14px !important; font-weight:500; padding:8px 16px !important; background:var(--cream) !important; }
.home #tools .tool-chips{ gap:8px; }
/* ---------- «Программа» ---------- */
.home .prog-stats{ gap:8px; margin-bottom:24px; }
.home .prog-stats li{ font-size:14px; padding:8px 16px; background:var(--cream); }
.home #program .price-note{ margin-bottom:16px; }
.home .prog-end{ font-size:15px; margin-top:0; }
.home #program .direction{ margin-top:48px; }
.home #program .direction:first-of-type{ margin-top:32px; }
.home .lvl-acc{ gap:8px; margin-top:16px; }
.home #program .direction-more{ margin-top:24px; }
/* ---------- «Цены» ---------- */
.home #pricing .price-dir{ margin-top:48px; }
.home #pricing .price-dir:first-of-type{ margin-top:32px; }
.home #pricing .level .price-free{ text-align:left !important; align-self:flex-start; }
.home #pricing .level .price{ align-items:baseline; gap:8px; }
.home .price-num{ font-variant-numeric:tabular-nums lining-nums; }
/* ---------- «Где проходят занятия»: текст в карточке выровнен по одному краю ---------- */
.home #place .place-one .pg-info{ padding:32px; text-align:left; align-items:flex-start; }
.home #place .place-one .pg-info h3{ text-align:left !important; font-size:24px; align-self:stretch; margin:0 0 4px !important; }
/* ---------- отзывы: подпись автора всегда внизу карточки ---------- */
.home #reviews .review-card{ display:flex; flex-direction:column; }
.home #reviews .review-card figcaption{ margin-top:auto; padding-top:24px; }
/* ---------- FAQ: заголовки вопросов на шкале ---------- */
.home #faq .faq-item summary{ padding-top:20px; padding-bottom:20px; }
/* ---------- телефон ---------- */
@media (max-width:700px){
.home section[id]{ padding-top:56px; padding-bottom:56px; }
.home .section-head{ margin-bottom:24px; }
/* вкладки направлений — в одну строку, листаются пальцем */
.home #program .filter-tabs{ flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; margin-left:-16px; margin-right:-16px; padding:0 16px 4px; gap:8px; }
.home #program .filter-tabs::-webkit-scrollbar{ display:none; }
.home #program .filter-tab{ flex:0 0 auto; white-space:nowrap; }
/* шесть цифр программы — аккуратная сетка 2 × 3 вместо трёх рваных строк */
.home .prog-stats{ display:grid; grid-template-columns:1fr 1fr; }
.home .prog-stats li{ text-align:center; padding:8px; border-radius:6px; }
.home .task-card, .home #benefits .icon-card{ padding:20px; }
.home .persona{ padding:24px 20px; }
.home #program .direction{ margin-top:40px; }
.home #pricing .price-dir{ margin-top:40px; }
.home #place .place-one .pg-info{ padding:24px; }
}
/* ---------- появление при прокрутке (motion principles) ----------
   Короче и мягче прежнего: 12px, 450 мс, ease-out; задержка по очереди — не больше 4 шагов,
   чтобы длинные списки (FAQ, 14 вопросов) не «догружались» секунду. */
.home .reveal{ transform:translateY(12px); transition:opacity .45s cubic-bezier(.2,0,0,1), transform .45s cubic-bezier(.2,0,0,1); }
.home .task-grid .reveal, .home .persona-grid .reveal, .home .icon-grid .reveal{ transition-delay:calc(min(var(--i, 0), 4) * 60ms); }
.home .faq-list .reveal{ transition-delay:0ms; }
.home .task-grid > .reveal:nth-child(3n+2), .home .persona-grid > .reveal:nth-child(2), .home .icon-grid > .reveal:nth-child(2){ --i:1; }
.home .task-grid > .reveal:nth-child(3n+3), .home .persona-grid > .reveal:nth-child(3), .home .icon-grid > .reveal:nth-child(3){ --i:2; }
.home .icon-grid > .reveal:nth-child(4){ --i:3; }

/* ---------- доступность: для всех страниц ---------- */
@media (prefers-reduced-motion:reduce){
  .reveal, .reveal.in{ opacity:1 !important; transform:none !important; transition:none !important; }
}
/* ---------- фокус с клавиатуры — в цвет бренда ---------- */
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, textarea:focus-visible{
  outline:2px solid var(--wine); outline-offset:3px;
}
#live a:focus-visible, #live button:focus-visible, .persona a:focus-visible{ outline-color:var(--rose); }
