* { box-sizing: border-box; }
  html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
  body { margin: 0; background: #F4F4F2; color: #111214; font-family: "Golos Text", "Helvetica Neue", Helvetica, sans-serif; font-weight: 400; -webkit-font-smoothing: antialiased; text-wrap: pretty; }
  a { color: #111214; text-decoration: none; }
  a:hover { color: #1C4A3C; }
  button { font: inherit; }
  ::selection { background: #1C4A3C; color: #F4F4F2; }

  .wrap { width: 100%; max-width: 1200px; margin: 0 auto; padding-left: 22px; padding-right: 22px; }

  .btn-black { background:#111214; color:#F4F4F2; transition: background .15s ease; }
  .btn-black:hover { background:#1C4A3C; color:#F4F4F2; }

  .btn-outline { border:1px solid #C6C6C1; transition: border-color .15s ease, background .15s ease; }
  .btn-outline:hover { border-color:#111214; color:#111214; }

  .msg-label { display:flex; align-items:center; gap:8px; }
  .msg-icon { width:18px; height:18px; display:block; flex:0 0 auto; margin-right:8px; }
  .msg-label .msg-icon { margin-right:0; }

  /* ---------- Вопросы ---------- */
  .faq-list { display:flex; flex-direction:column; }
  .faq-item { border-top:1px solid #DCDCD8; }
  .faq-item:first-child { border-top:1px solid #111214; }
  .faq-item:last-child { border-bottom:1px solid #DCDCD8; }
  .faq-trigger {
    width:100%; background:none; border:none; cursor:pointer; color:#111214;
    padding:26px 0; display:grid; grid-template-columns:1fr 28px; gap:24px;
    align-items:center; text-align:left; transition: color .15s ease;
  }
  .faq-trigger:hover { color:#1C4A3C; }
  .faq-q { font-size:clamp(17px, 1.6vw, 21px); font-weight:500; letter-spacing:-0.018em; line-height:1.3; }
  .faq-sign { font-size:22px; font-weight:400; color:#6E7075; text-align:right; line-height:1; }
  .faq-trigger:hover .faq-sign { color:#1C4A3C; }
  .faq-a { margin:0; padding:0 0 30px; font-size:16px; line-height:1.65; color:#3A3D42; }

  [hidden] { display:none !important; }

  /* ---------- Шапка ---------- */
  .site-header {
    position: sticky; top: 0; z-index: 50;
    background: rgba(244,244,242,0.92);
    backdrop-filter: saturate(180%) blur(12px);
    -webkit-backdrop-filter: saturate(180%) blur(12px);
    border-bottom: 1px solid #E2E2DE;
  }
  .header-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:92px; }

  /* Логотип оптически тяжёлый снизу (цифры), поэтому текст выравнивается
     по нижней части знака, а не по геометрическому центру. */
  .brand { display:flex; align-items:flex-end; gap:13px; flex:0 0 auto; }
  .brand-logo { height:60px; width:auto; display:block; flex:0 0 auto; }
  .brand-name { display:flex; flex-direction:column; gap:4px; white-space:nowrap; padding-bottom:3px; }
  .brand-title { font-size:18px; font-weight:600; letter-spacing:-0.025em; line-height:1; }
  .brand-sub { font-size:12px; font-weight:400; color:#6E7075; line-height:1; }

  .nav-desktop { display:flex; align-items:center; gap:22px; }
  .nav-link { font-size:15px; color:#3A3D42; white-space:nowrap; transition: color .15s ease; }
  .nav-link:hover { color:#1C4A3C; }
  .nav-ctas { display:flex; align-items:center; gap:8px; margin-left:6px; }
  .nav-cta { display:flex; align-items:center; justify-content:center; min-height:46px; padding:0 16px; font-size:14px; font-weight:500; white-space:nowrap; }
  .nav-cta .msg-icon { width:16px; height:16px; margin-right:7px; }

  .burger { display:none; width:46px; height:46px; align-items:center; justify-content:center; background:none; border:1px solid #C6C6C1; cursor:pointer; flex:0 0 auto; }
  .burger span { display:block; position:relative; width:20px; height:1.5px; background:#111214; transition: background .15s ease; }
  .burger span::before, .burger span::after { content:""; position:absolute; left:0; width:20px; height:1.5px; background:#111214; transition: transform .2s ease, top .2s ease; }
  .burger span::before { top:-6px; }
  .burger span::after { top:6px; }
  .burger[aria-expanded="true"] span { background:transparent; }
  .burger[aria-expanded="true"] span::before { top:0; transform:rotate(45deg); }
  .burger[aria-expanded="true"] span::after { top:0; transform:rotate(-45deg); }

  /* Меню на весь экран: перекрывает страницу целиком, чтобы за ним
     ничего не скроллилось и не дублировались кнопки липкой панели. */
  .nav-mobile {
    position: fixed;
    top: var(--header-h, 78px);
    left: 0; right: 0; bottom: 0;
    z-index: 45;
    background: #F4F4F2;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }
  .nav-mobile > .wrap {
    min-height: 100%;
    display: flex;
    flex-direction: column;
    padding-top: 8px;
    padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px));
  }
  .nav-mobile a { display:block; padding:20px 0; border-bottom:1px solid #E2E2DE; font-size:19px; }
  .nav-mobile-ctas { display:flex; flex-direction:column; gap:10px; margin-top:auto; padding-top:28px; }
  .nav-mobile .nav-mobile-cta { display:flex; align-items:center; justify-content:center; min-height:58px; padding:0; border-bottom:none; font-size:16px; font-weight:500; }

  /* Пока меню открыто — страница под ним зафиксирована,
     а нижняя панель скрыта, иначе кнопки CTA задваиваются. */
  body.nav-open { position: fixed; left: 0; right: 0; width: 100%; overflow: hidden; }
  body.nav-open .sticky-bar { display: none; }

  @media (max-width: 900px) {
    .nav-desktop { display:none; }
    .burger { display:flex; }
    .header-inner { min-height:78px; }
    .brand-logo { height:52px; }
  }
  @media (max-width: 420px) {
    .brand-title { font-size:15px; }
    .brand-sub { font-size:10px; }
    .brand-logo { height:46px; }
  }

  /* ---------- Первый экран ---------- */
  .hero-title {
    margin: 0;
    font-size: clamp(30px, 7.4vw, 94px);
    font-weight: 600;
    line-height: 1.06;
    letter-spacing: -0.035em;
    text-transform: uppercase;
  }
  .hero-sub {
    margin: 22px 0 0;
    font-size: clamp(22px, 4.6vw, 54px);
    font-weight: 400;
    line-height: 1.02;
    letter-spacing: -0.035em;
    color: #1C4A3C;
  }
  .hero-grid {
    margin-top: clamp(40px, 6vw, 76px);
    padding-top: 26px;
    border-top: 1px solid #111214;
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
    gap: 40px 64px;
    align-items: start;
  }
  .hero-col { display: flex; flex-direction: column; }
  .hero-lead { margin: 0; font-size: clamp(16px, 1.5vw, 20px); line-height: 1.5; color: #3A3D42; max-width: 46ch; }
  .hero-sber { margin-top: 30px; display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
  .hero-sber img { height: 38px; width: auto; display: block; flex: 0 0 auto; }
  .hero-sber span { font-size: 14px; line-height: 1.5; color: #6E7075; max-width: 34ch; }
  .hero-actions { gap: 12px; }
  .hero-btn { display: flex; align-items: center; justify-content: center; min-height: 68px; font-size: 17px; font-weight: 500; letter-spacing: -0.01em; }
  .hero-btn-sec { min-height: 60px; font-size: 16px; }
  .hero-note { font-size: 13px; line-height: 1.5; color: #6E7075; margin-top: 2px; }

  @media (max-width: 860px) {
    .hero-grid { grid-template-columns: 1fr; gap: 34px; }
    .hero-title { letter-spacing: -0.04em; }
  }

  /* ---------- Общее ---------- */
  section[id] { scroll-margin-top: 108px; }

  .section-pad { padding-top: clamp(88px, 11vw, 148px); }

  /* Полоса — секция с собственным фоном, отделяет блоки без лишних линий */
  .band { background:#EDEDE9; }
  .band-light { background:#FAFAF8; }
  .band-inner { padding-top: clamp(76px, 9vw, 124px); padding-bottom: clamp(76px, 9vw, 124px); }

  .eyebrow { display:block; font-size:12px; font-weight:500; letter-spacing:0.1em; text-transform:uppercase; color:#6E7075; }
  .h2 { margin:18px 0 0; font-size:clamp(28px, 7.4vw, 56px); font-weight:500; line-height:1.05; letter-spacing:-0.03em; }

  /* ---------- Кейсы ---------- */
  .cases-grid { margin-top:48px; display:grid; grid-template-columns:repeat(auto-fit, minmax(290px, 1fr)); gap:16px; }
  .case {
    position:relative;
    padding:26px 26px 28px;
    background:#F4F4F2;
    border:1px solid #DEDEDA;
    display:flex; flex-direction:column; gap:14px;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
  }
  .case::after {
    content:""; position:absolute; left:0; right:0; top:0; height:2px;
    background:#1C4A3C; transform:scaleX(0); transform-origin:left;
    transition: transform .22s ease;
  }
  .case:hover { transform:translateY(-3px); border-color:#C2C2BC; box-shadow:0 10px 28px rgba(17,18,20,0.07); }
  .case:hover::after { transform:scaleX(1); }
  .case-top { display:flex; align-items:baseline; justify-content:space-between; gap:14px; }
  .case-sum { font-size:clamp(26px, 5vw, 33px); font-weight:500; letter-spacing:-0.035em; line-height:1; }
  .case-days {
    font-size:12px; font-weight:500; letter-spacing:0.04em; text-transform:uppercase;
    color:#1C4A3C; white-space:nowrap; padding:5px 10px; background:#E4EDE8; border-radius:999px;
  }
  .case-text { font-size:15px; line-height:1.55; color:#5C5F65; }

  /* ---------- Подвал ---------- */
  .site-footer { margin-top: clamp(88px, 11vw, 148px); background:#EDEDE9; border-top:1px solid #DEDEDA; padding: clamp(56px, 6vw, 80px) 0 44px; }
  .footer-top { display:grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 1fr); gap:44px 56px; }
  .footer-logo-link { display:flex; align-items:flex-end; gap:13px; }
  .footer-logo { height:56px; width:auto; display:block; flex:0 0 auto; }
  .footer-brand-name { display:flex; flex-direction:column; gap:4px; white-space:nowrap; padding-bottom:3px; }
  .footer-desc { margin:22px 0 0; font-size:13px; line-height:1.65; color:#6E7075; max-width:52ch; }
  .footer-btns { margin-top:24px; display:flex; gap:10px; flex-wrap:wrap; }
  .footer-btn { display:flex; align-items:center; justify-content:center; min-height:48px; padding:0 18px; font-size:14px; font-weight:500; }
  .footer-btn .msg-icon { width:16px; height:16px; margin-right:7px; }
  .footer-nav { display:flex; flex-direction:column; gap:12px; }
  .footer-col-title { font-size:12px; font-weight:500; letter-spacing:0.1em; text-transform:uppercase; color:#9A9C9F; margin-bottom:2px; }
  .footer-nav a { font-size:15px; color:#3A3D42; transition: color .15s ease; }
  .footer-nav a:hover { color:#1C4A3C; }
  .footer-bottom { margin-top:48px; padding-top:22px; border-top:1px solid #DEDEDA; display:flex; justify-content:space-between; align-items:baseline; gap:16px; flex-wrap:wrap; }
  .footer-note { font-size:12px; color:#9A9C9F; }
  @media (max-width: 860px) {
    .footer-top { grid-template-columns: 1fr 1fr; }
    .footer-brand { grid-column: 1 / -1; }
  }
  @media (max-width: 520px) {
    .footer-top { grid-template-columns: 1fr; gap:36px; }
  }

  /* ---------- Липкая панель ---------- */
  /* Нижний отступ нужен только там, где липкая панель перекрывает контент */
  .page { background:#F4F4F2; min-height:100vh; overflow-x:hidden; }
  @media (max-width: 900px) { .page { padding-bottom: 88px; } }

  .sticky-bar { position:fixed; left:0; right:0; bottom:0; z-index:40; background:rgba(244,244,242,0.96); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); border-top:1px solid #DCDCD8; padding:10px 12px 12px; }
  .sticky-bar-inner { max-width:520px; margin:0 auto; display:flex; gap:8px; }
  .sticky-bar a { flex:1 1 0; display:flex; align-items:center; justify-content:center; min-height:52px; font-size:15px; font-weight:500; }
  @media (min-width: 901px) { .sticky-bar { display:none; } }

/* ================= Блог ================= */

/* Хлебные крошки */
.crumbs { display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:13px; color:#6E7075; }
.crumbs a { color:#6E7075; transition:color .15s ease; }
.crumbs a:hover { color:#1C4A3C; }
.crumbs span[aria-current] { color:#3A3D42; }
.crumbs .sep { color:#C6C6C1; }

/* Список статей */
.blog-lead { margin:18px 0 0; font-size:clamp(16px, 4.2vw, 20px); line-height:1.5; color:#3A3D42; max-width:52ch; }
.post-list { margin-top:48px; display:grid; grid-template-columns:repeat(auto-fit, minmax(300px, 1fr)); gap:16px; }
.post-card {
  position:relative; display:flex; flex-direction:column; gap:12px;
  padding:28px 28px 30px; background:#F4F4F2; border:1px solid #DEDEDA;
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.post-card::after {
  content:""; position:absolute; left:0; right:0; top:0; height:2px;
  background:#1C4A3C; transform:scaleX(0); transform-origin:left; transition:transform .22s ease;
}
.post-card:hover { transform:translateY(-3px); border-color:#C2C2BC; box-shadow:0 10px 28px rgba(17,18,20,0.07); }
.post-card:hover::after { transform:scaleX(1); }
.post-card h2 { margin:0; font-size:21px; font-weight:500; letter-spacing:-0.02em; line-height:1.25; color:#111214; }
.post-card p { margin:0; font-size:15px; line-height:1.55; color:#5C5F65; }
.post-card .more { margin-top:auto; padding-top:6px; font-size:14px; font-weight:500; color:#1C4A3C; }

/* Текст статьи */
.article-head { padding-top:34px; }
.article-title {
  margin:20px 0 0; font-size:clamp(30px, 6.4vw, 52px); font-weight:600;
  line-height:1.1; letter-spacing:-0.035em; max-width:22ch;
}
.article-meta { display:block; margin-top:20px; font-size:13px; color:#6E7075; }
.article-body { margin-top:44px; max-width:70ch; }
.article-body p { margin:0 0 22px; font-size:17px; line-height:1.7; color:#3A3D42; }
.article-body h2 {
  margin:44px 0 16px; font-size:clamp(21px, 3.4vw, 27px); font-weight:500;
  line-height:1.25; letter-spacing:-0.025em; color:#111214;
  padding-top:22px; border-top:1px solid #DCDCD8;
}
.article-body a { color:#1C4A3C; text-decoration:underline; text-underline-offset:3px; }
.article-body a:hover { color:#111214; }

/* CTA в конце статьи */
.article-cta { margin-top:56px; padding:34px 30px 36px; background:#111214; color:#F4F4F2; }
.article-cta h2 { margin:0; font-size:clamp(22px, 4.4vw, 30px); font-weight:500; letter-spacing:-0.025em; line-height:1.2; max-width:20ch; }
.article-cta p { margin:14px 0 0; font-size:15px; line-height:1.6; color:#A7AAB0; max-width:46ch; }
.article-cta .cta-btns { margin-top:26px; display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:12px; max-width:560px; }
.article-cta .cta-btn { display:flex; align-items:center; justify-content:center; min-height:60px; font-size:16px; font-weight:500; }
.article-cta .btn-outline { border-color:#3A3D42; color:#F4F4F2; }
.article-cta .btn-outline:hover { border-color:#F4F4F2; color:#F4F4F2; }

/* Соседние статьи */
.next-read { margin-top:56px; padding-top:24px; border-top:1px solid #DCDCD8; }
.next-read a { display:block; margin-top:14px; font-size:17px; font-weight:500; letter-spacing:-0.015em; }
