/* Общий стиль блога IT-programma — бренд-токены как на лендинге */
:root { --bg:#F8F9FF; --ink:#0E1116; --muted:#5B6472; --accent:#FFB020; --accent-ink:#9A6200; --line:#E7E9EF; --radius:22px; }
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; overflow-x:hidden; max-width:100%; }
body { background:var(--bg); color:var(--ink); font-family:-apple-system,"SF Pro Display",BlinkMacSystemFont,"system-ui",sans-serif; -webkit-font-smoothing:antialiased; overflow-x:hidden; min-height:100vh; position:relative; }
.material-symbols-outlined { font-family:'Material Symbols Outlined'; font-weight:normal; font-style:normal; font-size:24px; line-height:1; display:inline-block; white-space:nowrap; direction:ltr; -webkit-font-feature-settings:'liga'; font-feature-settings:'liga'; -webkit-font-smoothing:antialiased; }
a { color:inherit; }
.wrap { max-width:1180px; margin:0 auto; padding:0 36px; position:relative; z-index:1; }

/* фон-свечение */
.aurora { position:absolute; top:0; left:0; right:0; height:520px; z-index:0; pointer-events:none;
  background:radial-gradient(42% 48% at 50% 22%, rgba(255,176,32,0.20), rgba(255,176,32,0) 66%); }

/* Шапка */
.site-header { position:fixed; top:0; left:0; right:0; z-index:100; background:transparent; transition:background .3s ease, box-shadow .3s ease; }
.site-header.scrolled { background:rgba(248,249,255,0.85); backdrop-filter:blur(14px) saturate(120%); -webkit-backdrop-filter:blur(14px) saturate(120%); box-shadow:0 6px 24px rgba(20,30,60,0.06); }
.site-header.nav-open { background:rgba(248,249,255,0.98); backdrop-filter:blur(14px) saturate(120%); -webkit-backdrop-filter:blur(14px) saturate(120%); box-shadow:0 6px 24px rgba(20,30,60,0.06); }
.header-inner { display:flex; align-items:center; justify-content:space-between; padding:15px 0; }
.logo { font-size:21px; font-weight:700; letter-spacing:-0.02em; color:var(--ink); text-decoration:none; display:inline-flex; align-items:center; }
/* Каноничный вордмарк (брендбук): amber-точка между IT и «программа» + amber-подчёркивание */
.logo .dot { width:0.32em; height:0.32em; border-radius:50%; background:var(--accent); margin:0 0.16em; flex-shrink:0; }
.logo .wm { position:relative; }
.logo .wm::after { content:""; position:absolute; left:0; right:0; bottom:-0.14em; height:0.085em; border-radius:1px; background:var(--accent); }
/* Знак из брендбука; в PNG заложено свечение, поэтому размер чуть больше текста */
.logo .mark { height:1.7em; width:auto; margin-right:0.3em; flex-shrink:0; }
nav { display:flex; align-items:center; gap:30px; }
nav a { color:var(--muted); text-decoration:none; font-size:14.5px; transition:color .2s; }
nav a:hover, nav a.active { color:var(--ink); }
.nav-cta { color:var(--ink)!important; background:var(--accent); padding:10px 18px; border-radius:11px; font-weight:600; font-size:13.5px; box-shadow:0 6px 22px rgba(255,176,32,0.3); transition:transform .2s, box-shadow .2s; }
.nav-cta:hover { transform:translateY(-1px); box-shadow:0 10px 28px rgba(255,176,32,0.4); }
.burger { display:none; position:relative; z-index:110; flex-direction:column; justify-content:center; gap:5px; width:44px; height:44px; padding:0; background:none; border:none; cursor:pointer; }
.burger span { display:block; width:24px; height:2px; background:var(--ink); border-radius:2px; transition:transform .25s ease, opacity .2s ease; }
.site-header.nav-open .burger span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.site-header.nav-open .burger span:nth-child(2){ opacity:0; }
.site-header.nav-open .burger span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* Заголовок страницы блога */
.blog-hero { text-align:center; max-width:760px; margin:0 auto; padding:150px 0 20px; }
.blog-kicker { display:inline-block; font-size:12.5px; font-weight:700; letter-spacing:0.13em; text-transform:uppercase; color:var(--accent-ink); margin-bottom:16px; }
.blog-hero h1 { font-size:clamp(30px,4vw,48px); font-weight:800; line-height:1.1; letter-spacing:-0.03em; margin-bottom:16px; }
.blog-hero p { font-size:17px; line-height:1.6; color:var(--muted); }

/* Сетка статей — 2 в ряд */
.blog-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; max-width:960px; margin:44px auto 90px; }
.blog-card { position:relative; overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:20px; padding:32px; box-shadow:0 8px 26px rgba(20,30,60,0.05); text-decoration:none; color:inherit; display:flex; flex-direction:column; transition:transform .25s, box-shadow .25s; }
.blog-card::after { content:""; position:absolute; top:0; left:0; right:0; height:2px; background:var(--accent); transform:scaleX(0); transform-origin:left; transition:transform .35s ease; }
.blog-card:hover { transform:translateY(-4px); box-shadow:0 18px 44px rgba(20,30,60,0.11); }
.blog-card:hover::after { transform:scaleX(1); }
.blog-cat { font-size:12px; font-weight:700; letter-spacing:0.05em; text-transform:uppercase; color:var(--accent-ink); margin-bottom:14px; }
.blog-card h2 { font-size:22px; font-weight:800; line-height:1.25; letter-spacing:-0.015em; margin-bottom:12px; }
.blog-card p { font-size:14.5px; line-height:1.55; color:var(--muted); margin-bottom:22px; }
.blog-meta { margin-top:auto; display:flex; align-items:center; justify-content:space-between; font-size:13px; color:var(--muted); }
.blog-meta .read { color:var(--ink); font-weight:600; display:inline-flex; align-items:center; gap:6px; }
.blog-card:hover .read .arr { transform:translateX(4px); }
.read .arr { transition:transform .25s; }

/* Статья */
.article { max-width:720px; margin:0 auto; padding:140px 0 80px; }
.article-back { display:inline-flex; align-items:center; gap:7px; font-size:14px; color:var(--muted); text-decoration:none; margin-bottom:26px; transition:color .2s; }
.article-back:hover { color:var(--ink); }
.article-cat { font-size:12.5px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--accent-ink); margin-bottom:12px; }
.article h1 { font-size:clamp(28px,3.6vw,42px); font-weight:800; line-height:1.14; letter-spacing:-0.025em; margin-bottom:14px; }
.article-info { font-size:13.5px; color:var(--muted); margin-bottom:34px; padding-bottom:26px; border-bottom:1px solid var(--line); }
.article-body h2 { font-size:22px; font-weight:800; letter-spacing:-0.015em; margin:34px 0 12px; }
.article-body p { font-size:17px; line-height:1.7; color:#2c3340; margin-bottom:18px; }
.article-body p b { color:var(--ink); }
.article-cta { margin-top:44px; padding:30px; border-radius:20px; background:radial-gradient(80% 70% at 78% 8%, rgba(255,176,32,0.16), transparent 58%), #0C0E13; color:#E7EBF2; text-align:center; }
.article-cta h3 { font-size:22px; font-weight:800; margin-bottom:8px; color:#fff; }
.article-cta p { font-size:15px; color:#C2C9D6; line-height:1.55; margin-bottom:20px; }

/* Кнопки */
.btn { display:inline-flex; align-items:center; gap:9px; font-size:15px; font-weight:600; text-decoration:none; border:none; cursor:pointer; border-radius:13px; padding:14px 24px; transition:all .2s; white-space:nowrap; }
.btn-primary { background:var(--accent); color:var(--ink); box-shadow:0 10px 30px rgba(255,176,32,0.35); }
.btn-primary:hover { filter:brightness(1.05); transform:translateY(-2px); }

/* Футер */
.site-footer { background:#0B0D12; color:#8A93A6; padding:52px 0 30px; position:relative; z-index:1; margin-top:40px; }
.foot-top { display:flex; justify-content:space-between; gap:40px; flex-wrap:wrap; padding-bottom:28px; border-bottom:1px solid rgba(255,255,255,0.08); }
.foot-brand .logo { font-size:22px; color:#F5F7FA; margin-bottom:12px; display:inline-flex; }
.foot-brand p { font-size:14px; line-height:1.55; max-width:320px; }
.foot-cols { display:flex; gap:56px; flex-wrap:wrap; }
.foot-col h5 { font-size:13px; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; color:#F5F7FA; margin-bottom:15px; }
.foot-col a { display:block; color:#8A93A6; text-decoration:none; font-size:14.5px; margin-bottom:11px; transition:color .2s; }
.foot-col a:hover { color:var(--accent); }
.foot-req { font-size:12.5px; line-height:1.65; color:#6b7384; margin:24px 0 0; padding-top:20px; border-top:1px solid rgba(255,255,255,0.08); }
.foot-bot { padding-top:18px; font-size:13px; }

@media (max-width:820px){
  .foot-top { flex-direction:column; gap:28px; }
}
@media (max-width:900px){
  .burger { display:flex; }
  nav { position:absolute; top:100%; left:0; right:0; flex-direction:column; align-items:stretch; gap:0; background:rgba(248,249,255,0.98); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); padding:6px 24px 18px; box-shadow:0 20px 44px rgba(20,30,60,0.14); transform:translateY(-10px); opacity:0; pointer-events:none; transition:opacity .22s ease, transform .22s ease; }
  .site-header.nav-open nav { opacity:1; transform:none; pointer-events:auto; }
  nav .nl { display:block; padding:15px 2px; border-bottom:1px solid var(--line); font-size:16px; }
  .nav-cta { margin-top:14px; text-align:center; }
}
@media (max-width:640px){
  .wrap { padding:0 20px; }
  .blog-grid { grid-template-columns:1fr; gap:16px; margin:32px auto 60px; }
  .blog-hero { padding:120px 0 10px; }
  .article { padding:112px 0 60px; }
  .article-body p { font-size:16px; }
}
/* Подписка + документы в подвале (как на лендинге) */
.foot-sub { display:flex; gap:8px; margin:20px 0 8px; max-width:400px; }
.foot-sub input { flex:1; min-width:0; padding:12px 14px; border:1px solid rgba(255,255,255,0.14); border-radius:11px; background:rgba(255,255,255,0.05); color:#F5F7FA; font-size:14px; font-family:inherit; transition:border-color .2s; }
.foot-sub input::placeholder { color:#7c8696; }
.foot-sub input:focus { outline:none; border-color:var(--accent); }
.foot-sub .btn { padding:12px 18px; font-size:14px; white-space:nowrap; }
.foot-sub-note { font-size:12.5px; color:#6b7384; margin-bottom:4px; max-width:400px; }
.foot-col a.legal-link { cursor:pointer; }
.foot-bot { display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; align-items:center; }
.foot-badges { display:flex; gap:16px; flex-wrap:wrap; }
.foot-badge { display:inline-flex; align-items:center; gap:7px; font-size:12.5px; color:#9aa3b2; }
.foot-badge .material-symbols-outlined { font-size:16px; color:var(--accent); }

/* Модалка захвата заявки + юридическая модалка (общие, из site-lead.js) */
.cap-back, .legal-back { position:fixed; inset:0; background:rgba(11,13,18,0.6); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); z-index:200; display:none; align-items:center; justify-content:center; padding:24px; opacity:0; transition:opacity .25s; }
.cap-back.open, .legal-back.open { display:flex; opacity:1; }
.cap-modal { background:#fff; border-radius:24px; max-width:460px; width:100%; padding:38px 34px 30px; position:relative; box-shadow:0 40px 100px rgba(0,0,0,0.4); transform:translateY(16px); transition:transform .3s; }
.cap-back.open .cap-modal { transform:none; }
.cap-close { position:absolute; top:16px; right:16px; width:36px; height:36px; border:none; background:#F0F1F5; border-radius:50%; cursor:pointer; font-size:15px; color:var(--muted); display:flex; align-items:center; justify-content:center; transition:background .2s; z-index:2; }
.cap-close:hover { background:#E2E4EA; }
.cap-head h3 { font-size:23px; font-weight:800; letter-spacing:-0.02em; margin-bottom:8px; padding-right:38px; }
.cap-head p { font-size:15px; line-height:1.55; color:var(--muted); margin-bottom:22px; }
.cap-form { display:flex; flex-direction:column; gap:12px; }
.cap-form input[type=text] { width:100%; padding:14px 16px; border:1px solid #E0E2E9; border-radius:12px; font-size:15px; font-family:inherit; background:#FAFAFB; transition:border-color .2s, box-shadow .2s; }
.cap-form input[type=text]:focus { outline:none; border-color:var(--accent); box-shadow:0 0 0 3px rgba(255,176,32,0.18); background:#fff; }
.cap-consent { display:flex; gap:10px; align-items:flex-start; font-size:12.5px; line-height:1.5; color:var(--muted); margin:4px 0 6px; cursor:pointer; }
.cap-consent input { margin-top:1px; width:16px; height:16px; accent-color:var(--accent); flex-shrink:0; }
.cap-consent a { color:var(--accent-ink); text-decoration:underline; cursor:pointer; }
.cap-submit { justify-content:center; margin-top:4px; }
.cap-submit .arr { transition:transform .25s; }
.cap-submit:hover .arr { transform:translateX(4px); }
.cap-mini { margin-top:14px; font-size:12.5px; color:var(--muted); text-align:center; }
.cap-ok { text-align:center; padding:14px 0 6px; }
.cap-ok .material-symbols-outlined { font-size:52px; color:var(--accent-ink); font-variation-settings:'FILL' 1; }
.cap-ok h3 { font-size:23px; font-weight:800; margin:10px 0 8px; }
.cap-ok p { font-size:15px; color:var(--muted); line-height:1.55; }
.legal-modal { background:#fff; border-radius:22px; max-width:680px; width:100%; max-height:86vh; overflow-y:auto; padding:40px; position:relative; box-shadow:0 40px 100px rgba(0,0,0,0.4); }
.legal-modal h3 { font-size:24px; font-weight:800; letter-spacing:-0.02em; margin:0 44px 6px 0; }
.legal-modal h4 { font-size:16px; font-weight:700; margin:22px 0 8px; }
.legal-modal p, .legal-modal li { font-size:14.5px; line-height:1.62; color:#3A4254; margin-bottom:10px; }
.legal-modal ul { padding-left:20px; }
.legal-modal .legal-meta { font-size:13px; color:var(--muted); margin-bottom:18px; }

@media (prefers-reduced-motion: reduce){ * { scroll-behavior:auto; } }

/* Cookie-баннер: неброская светлая плашка (как на лендинге) */
.cookie-bar { position:fixed; left:16px; right:16px; bottom:16px; z-index:150; max-width:440px; margin:0 auto;
  background:rgba(255,255,255,0.90); backdrop-filter:blur(12px) saturate(115%); -webkit-backdrop-filter:blur(12px) saturate(115%);
  border:1px solid var(--line); border-radius:13px; padding:11px 13px;
  box-shadow:0 6px 22px rgba(20,30,60,0.09);
  display:flex; align-items:center; gap:11px; flex-wrap:wrap;
  transform:translateY(160%); opacity:0; transition:transform .45s cubic-bezier(.22,.61,.36,1), opacity .45s; }
.cookie-bar.show { transform:none; opacity:1; }
.cookie-bar p { font-size:12px; line-height:1.45; color:var(--muted); flex:1; min-width:180px; margin:0; }
.cookie-bar a { color:var(--accent-ink); text-decoration:underline; cursor:pointer; }
.cookie-accept { flex-shrink:0; padding:7px 15px; font-size:12.5px; font-weight:600; font-family:inherit;
  border:1px solid var(--line); border-radius:9px; background:#fff; color:var(--ink); cursor:pointer;
  transition:border-color .2s, background .2s; }
.cookie-accept:hover { border-color:var(--accent); background:#FFFDF7; }
@media (max-width:600px){ .cookie-bar { left:12px; right:12px; padding:10px 12px; gap:9px; } }
