/* MIHNOF v3 — слой читаемости и новые элементы.
   Подключается последним и поднимает размеры текста, которые в studio.css слишком мелкие.
   Ориентир: основной текст 18–20 px на компьютере; отдельная компактная шкала на телефоне. */

/* ---------- Шапка ---------- */
.brand-word { font-size: 21px; }
.brand-word small { font-size: 10.5px; letter-spacing: .08em; max-width: none; white-space: nowrap; }
.nav-link { font-size: 15.5px; }
.nav-cta, .btn { font-size: 15px; }
.btn-lg { font-size: 16px; }
.nav-tg { display: inline-flex; align-items: center; gap: 8px; padding: 9px 12px; border-radius: 8px; color: rgba(251, 250, 246, .85); text-decoration: none; font-size: 15px; font-weight: 500; transition: color .2s, background .2s; }
.nav-tg .ico { width: 19px; height: 19px; color: var(--accent); }
.nav-tg:hover { color: var(--white); background: rgba(255, 255, 255, .06); }

/* Мега-меню по направлениям */
.mega { width: min(1040px, 94vw); left: -260px; }
.mega-grid-groups { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.mega-group { padding: 10px; border-radius: 12px; }
.mega-h { font-family: var(--mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--accent); margin: 4px 10px 10px; }
.mega-group .mega-link { padding: 10px; gap: 10px; }
.mega-group .mega-link .ico { width: 22px; height: 22px; }
.mega-group .mega-link b { font-size: 15px; line-height: 1.3; }
.mega-group .mega-sub { margin-left: 42px; font-size: 14px; }
.mega-foot span a { color: var(--white); }

/* ---------- Первый экран (иллюстрация Codex) ---------- */
.mm-hero .eyebrow { font-size: 12px; }
.mm-hero .lead { font-size: 19px; }
.mm-watch { font-size: 15px; }
.mm-hero-note { font-size: 13.5px; }
.mm-hero .hero-proof li { font-size: 14.5px; }
.mm-hero .hero-proof b { font-size: 16px; }
.mm-scene-top, .mm-scene-bottom { font-size: 11px; }
.mm-card-top { font-size: 11px; }
.mm-doc-content b { font-size: 16px; }
.mm-doc-content small { font-size: 11px; }
.mm-doc-foot { font-size: 10px; }
.mm-result-badge { font-size: 9.5px; }
.mm-result-row { font-size: 13px; }
.mm-result-checks { font-size: 11px; }
.mm-result-bottom { font-size: 12px; }
.mm-coordinate { font-size: 10px; }
.mm-caption { font-size: 12px; }
.mm-motion-toggle { font-size: 13px; }
.mm-strip span { font-size: 11px; }
.mm-strip b { font-size: 16px; }

/* ---------- Секции ---------- */
.kicker { font-size: 12px; }
.sec-head > p { font-size: 18px; }
.lead { font-size: clamp(18px, 1.4vw, 21px); }
.svc-row-desc { font-size: 16px; }
.svc-row-subs a { font-size: 14px; }
.svc-group { margin: 34px 0 6px; font-family: var(--mono); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--accent); }
.svc-list > .svc-group:first-child { margin-top: 0; padding-top: 18px; }
.svc-group-block + .svc-group-block { margin-top: 44px; }
.svc-group-title { font-family: var(--mono); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--accent-deep); margin-bottom: 16px; }
.svc-group-block .svc-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 330px), 1fr)); }
.svc-group-block .svc-card { min-height: 0; }
.svc-group-block .svc-num { display: none; }
.story-head > p { font-size: 16px; }
.story-step b { font-size: 20px; }
.story-step p { font-size: 15.5px; }
.bento-tile h3 { font-size: 22px; }
.bento-tile p { font-size: 16px; }
.mm-price-index { font-size: 11.5px; }
.mm-price p:not(.mm-price-value) { font-size: 15.5px; }
.mm-price ul { font-size: 15px; }
.mm-price > a { font-size: 14.5px; }
.mm-small-start { font-size: 15px; }
.mm-small-start b { font-size: 17px; }
.mm-price-disclaimer { font-size: 13.5px; }
.hs-out { font-size: 15.5px; }
.hs-step > p:not(.hs-out) { font-size: 17px; }
.contact-sec .lead { font-size: 18px; }
.card p, .ent-card p, .ind-card span, .rel-card span { font-size: 16.5px; }
.signals li { font-size: 17px; }
.pipe-step span { font-size: 15.5px; }
.tier-list, .tier-term { font-size: 16px; }
.tier-for { font-size: 16px; }
.tier-note, .price-note { font-size: 14.5px; }
.hero-facts li { font-size: 16px; }
.subnav a { font-size: 15.5px; }
.field label { font-size: 15px; }
.form-promise, .consent { font-size: 14.5px; }
.footer-grid ul { font-size: 16px; }
.footer-small, .footer-bottom { font-size: 14.5px; }
.faq-a { font-size: 17px; }
.roi-field label { font-size: 16.5px; }
.roi-note { font-size: 14.5px; }
.contact-direct li { font-size: 18px; }

/* ---------- Планшет ---------- */
@media (max-width: 1240px) {
  .nav-tg span { display: none; }
  .brand-word small { display: none; }
  .mega { left: -200px; }
}
@media (max-width: 1060px) {
  .nav-tg { padding: 18px 0; font-size: 20px; font-weight: 600; border-bottom: 1px solid var(--line-light); border-radius: 0; }
  .nav-tg span { display: inline; }
  .mega { width: 100%; left: auto; }
  .mega-grid-groups { grid-template-columns: 1fr; }
  .mega-group .mega-sub { margin-left: 42px; }
  .mm-hero .eyebrow { font-size: 11px; }
  .mm-hero .lead { font-size: 17px; }
  .mm-watch { font-size: 14px; }
  .mm-hero-note { font-size: 12.5px; }
  .mm-hero .hero-proof li { font-size: 13px; }
  .mm-hero .hero-proof b { font-size: 14px; }
  .mm-card-top, .mm-scene-top, .mm-scene-bottom { font-size: 10px; }
  .mm-doc-foot, .mm-result-checks { font-size: 9.5px; }
  .mm-result-row { font-size: 11px; }
  .mm-result-bottom { font-size: 10.5px; }
}

/* ---------- Телефон ---------- */
@media (max-width: 760px) {
  body { font-size: 17px; }
  .mm-hero .eyebrow { font-size: 11px; }
  .mm-hero .lead { font-size: 17.5px; }
  .mm-hero .hero-actions .btn { font-size: 16px; }
  .mm-watch { font-size: 15px; }
  .mm-hero-note { font-size: 13px; }
  .mm-hero .hero-proof li { font-size: 14px; }
  .mm-hero .hero-proof b { font-size: 15px; }
  .mm-strip b { font-size: 13px; }
  .mm-caption { font-size: 11px; }
  .mm-motion-toggle { font-size: 12px; }
  .sec-head > p, .story-head > p { font-size: 16.5px; }
  .mm-price-disclaimer { font-size: 13px; }
  .mm-coordinate { font-size: 9px; }
  .svc-group { margin-top: 26px; }
}
@media (max-width: 380px) {
  .mm-card-top, .mm-doc-content small, .mm-doc-foot, .mm-result-checks, .mm-result-badge { font-size: 9px; }
  .mm-result-row { font-size: 10px; }
  .mm-doc-content b { font-size: 13px; }
}

/* ---------- Подписи-метки не меньше 12 px ---------- */
.eyebrow, .mm-hero .eyebrow, .mm-caption, .mm-caption span, .mm-price-index, .hs-out span, .art-tag, .pipe-step small, .card-num { font-size: 12px; }

/* ---------- Узкие экраны: колонки сетки не шире экрана ---------- */
@media (max-width: 1060px) {
  .story-grid, .story-head, .split, .faq-grid, .contact-grid, .page-hero-grid, .sec-head { grid-template-columns: minmax(0, 1fr); }
  .story-device, .scene, .device-screen { min-width: 0; max-width: 100%; }
  .device-screen { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
  .mm-hero .hero-proof { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 400px) {
  .mm-hero .hero-proof { grid-template-columns: minmax(0, 1fr); }
  .mm-hero .hero-proof li, .mm-hero .hero-proof li:nth-child(odd) { padding: 16px 0 !important; border-top: 1px solid #ffffff12 !important; }
  .mm-hero .hero-proof li:first-child { border-top: 0 !important; }
}

/* ---------- Хаб услуг: карточки с собственной рамкой, без серых пустых ячеек ---------- */
.svc-group-block .svc-grid { background: none; border: 0; border-radius: 0; overflow: visible; gap: 16px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.svc-group-block .svc-card { border: 1px solid var(--line); border-radius: 12px; }
@media (max-width: 1060px) { .svc-group-block .svc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 680px) { .svc-group-block .svc-grid { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Финальные правки по итогам теста ---------- */
.flow-steps .out span, .toc p, .mm-strip span, .hs-hint { font-size: 12px; }
.bv-budget span { flex: 0 1 var(--w); min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mm-motion-toggle, .mm-watch { min-height: 44px; }
@media (max-width: 400px) { .bv-budget span { padding: 8px; font-size: 12px; } }

/* Финальная v3: поток Claude сохранён, подзаголовок отделён от H1. */
.hero .h1-sub { display: block; font-size: clamp(19px, 1.75vw, 25px); letter-spacing: -.015em; line-height: 1.35; margin-top: 24px; color: var(--white); font-weight: 500; max-width: 30em; }
.flow-controls { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 24px; margin-top: 24px; color: var(--muted-light); font-size: 12px; }
.flow-toggle { min-height: 44px; padding: 10px 15px; font: inherit; color: var(--white); background: rgba(255,255,255,.04); border: 1px solid var(--line-light-strong); border-radius: 999px; cursor: pointer; }
.flow-toggle:hover { border-color: var(--accent); }
.flow-toggle:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.flow-toggle:disabled { cursor: default; opacity: .75; }
.flow-toggle[hidden] { display: none; }
.flow-controls + .hero-proof { margin-top: 22px; }
.flow-paused .hero-chip, .flow-paused .live, .flow-paused .tk-new, .flow-paused .marquee-track { animation-play-state: paused !important; }
.hero-ticker > p, .tk-row time, .hero-chip, .mega-h, .brand-word small { font-size: max(12px, .7rem); }
.device-bar span, .scene-label, .doc-title, .doc-fields em, .reg-head span, .tg-head small, .bv-tag, .footer-h, .inbox-row em, .wiz-h { font-size: 12px; }
.btn { white-space: normal; text-align: center; }

@media (min-width: 1061px) and (max-height: 850px) {
  .hero { padding-top: calc(var(--header-h) + 38px); min-height: 0; }
  .hero h1 { font-size: clamp(58px, 5.65vw, 84px); }
  .hero .h1-sub { margin-top: 20px; font-size: 21px; }
  .hero .lead { margin-top: 20px; font-size: 18px; line-height: 1.5; }
  .hero .hero-actions { margin-top: 24px; gap: 10px; }
  .hero .hero-actions .btn { padding: 14px 18px; font-size: 14px; min-height: 48px; }
  .hero-visual { min-height: 470px; }
  .hero-core { top: 30%; }
  .hero-visual .chip-out { top: calc(var(--y) - 10%); }
  .hero-ticker li:nth-child(n+4) { display: none; }
}
@media (max-width: 760px) {
  .hero { padding-top: calc(var(--header-h) + 32px); }
  .hero .h1-sub { font-size: 20px; margin-top: 20px; }
  .hero .lead { margin-top: 20px; }
  .hero .hero-actions { margin-top: 24px; }
  .flow-controls { justify-content: flex-start; }
  .hero-visual { min-height: 320px; }
}
.card-num small { font-size: inherit; }
.task-choice { color: inherit; text-decoration: none; display: flex; flex-direction: column; gap: 16px; border: 1px solid var(--line); }
.task-choice p { margin: 0; }
.task-link { margin-top: auto; padding-top: 12px; color: var(--accent-deep); font-weight: 600; }
.task-choice:hover { border-color: var(--accent-deep); }
.task-choice:focus-visible { outline: 3px solid var(--accent-deep); outline-offset: 4px; }
.task-next { margin-top: 28px; }
.hero-copy { position: relative; isolation: isolate; }
.hero-copy::before { content: ''; position: absolute; z-index: -1; inset: -32px -24px; pointer-events: none; background: radial-gradient(ellipse at 45% 50%, rgba(12,17,24,.98) 30%, rgba(12,17,24,.88) 65%, transparent 100%); }
@media (min-width:1061px) and (max-width:1240px) { .task-choices { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (min-width:1061px) and (max-width:1360px) {
  .header-row { gap: 16px; }
  .nav { gap: 6px; }
  .nav-link { padding-inline: 8px; }
  .nav .nav-cta { margin-left: 4px; white-space: nowrap; flex: none; }
}

/* Компьютеры: крупнее содержание и навигация, без увеличения H1/H2 и мобильной версии. */
@media (min-width: 1061px) {
  body { font-size: 19px; }
  .nav-link, .nav-tg { font-size: 17px; }
  .nav .nav-cta { font-size: 16px; white-space: nowrap; flex: none; }
  .brand-word small { font-size: 13px; letter-spacing: .055em; }
  .btn, .btn-lg { font-size: 17px; }

  .mega { position: fixed; top: calc(var(--header-h) - 1px); left: max(24px, calc((100vw - 1200px) / 2)); width: min(1200px, calc(100vw - 48px)); max-height: calc(100dvh - var(--header-h) - 24px); overflow-y: auto; padding: 20px; }
  .mega-grid-groups { gap: 14px; }
  .mega-group { padding: 8px; }
  .mega-h { font-size: 13px; line-height: 1.5; letter-spacing: .075em; margin-bottom: 14px; }
  .mega-group .mega-link b { font-size: 18px; line-height: 1.4; }
  .mega-group .mega-sub { font-size: 16px; line-height: 1.6; padding-block: 7px; }
  .mega-foot { font-size: 16px; line-height: 1.5; padding: 18px; }

  .hero .h1-sub { font-size: 26px; line-height: 1.4; }
  .hero .lead { font-size: 22px; line-height: 1.55; }
  .hero .hero-actions .btn { font-size: 17px; min-height: 54px; }
  .hero .eyebrow { font-size: 14px; letter-spacing: .09em; }
  .hero-proof li { font-size: 17px; line-height: 1.5; }
  .hero-proof b { font-size: 18px; }
  .flow-controls { font-size: 14px; }
  .hero-chip { font-size: 14px; }
  .hero-visual .chip-src:nth-of-type(4) { left: 0; top: 32%; }
  .hero-visual .chip-src:nth-of-type(5) { left: 4%; top: 46%; }
  .hero-ticker { width: min(380px, 100%); }
  .hero-ticker > p, .tk-row time { font-size: 13px; }
  .tk-row { font-size: 14px; line-height: 1.4; }
  .hero-ticker li:nth-child(n+4) { display: none; }

  .lead, .page-hero .lead, .contact-sec .lead { font-size: 22px; line-height: 1.55; }
  .sec-head > p, .story-head > p { font-size: 20px; line-height: 1.6; }
  .card p, .ent-card p, .svc-card p, .svc-row-desc, .bento-tile p,
  .ind-card span, .rel-card span, .story-step p { font-size: 18px; line-height: 1.6; }
  .svc-row-subs a, .svc-subs a, .svc-more, .subnav a { font-size: 17px; }
  .kicker, .svc-group, .svc-group-title, .card-num, .art-tag, .footer-h { font-size: 14px; }
  .hero-facts li, .tier-list, .tier-term, .tier-for, .signals li { font-size: 18px; }
  .tier-note, .price-note, .mm-price-disclaimer, .roi-note { font-size: 16px; }
  .mm-price p:not(.mm-price-value), .mm-price ul, .mm-small-start { font-size: 18px; }
  .mm-price > a, .mm-small-start b, .hs-out { font-size: 17px; }
  .mm-price-index, .hs-out span { font-size: 14px; }
  .hs-step > p:not(.hs-out), .hs-intro > p:not(.kicker) { font-size: 19px; }
  .faq-item summary { font-size: 21px; }
  .faq-a { font-size: 19px; line-height: 1.65; }
  .field label, .roi-field label { font-size: 17px; }
  .field input, .field select, .field textarea { font-size: 18px; }
  .form-promise, .consent, .footer-small, .footer-bottom { font-size: 16px; }
  .footer-grid ul { font-size: 17px; }
}
@media (min-width: 1061px) and (max-height: 850px) {
  .hero .h1-sub { font-size: 23px; }
  .hero .lead { font-size: 20px; }
  .hero .hero-actions .btn { font-size: 16px; }
  .hero-visual { min-height: 510px; }
  .hero-visual .chip-src:nth-of-type(5) { top: 42%; }
}
@media (min-width: 1061px) and (max-width: 1240px) {
  .mega-grid-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
