/* ==========================================================================
   Статьи /guide/ — стили поверх style.css
   Подключается ПОСЛЕ style.css: разделяет токены, шрифты и русскую
   типографику, но переопределяет раскладку под длинный текст.
   ========================================================================== */

/* --- компактная шапка статьи (не полноэкранная, как на главной) --- */
.g-head{
  position:sticky;top:0;z-index:60;background:rgba(0,24,72,.94);
  backdrop-filter:blur(14px) saturate(160%);border-bottom:1px solid var(--rule-dark);
}
.g-head-in{display:flex;align-items:center;gap:22px;height:64px}
.g-back{
  display:flex;align-items:center;gap:8px;font-size:13.5px;
  color:rgba(255,255,255,.72);transition:color .24s var(--ease);
}
.g-back:hover{color:#fff}
.g-back i{font-style:normal;transition:transform .24s var(--ease)}
.g-back:hover i{transform:translateX(-3px)}
.g-logo{margin-left:auto;height:24px;width:auto}

/* --- заголовок статьи --- */
.g-hero{background:var(--ink);color:#fff;padding:64px 0 54px;position:relative;overflow:hidden}
.g-hero::after{
  content:"";position:absolute;left:50%;top:-220px;width:900px;height:460px;
  transform:translateX(-50%);pointer-events:none;
  background:radial-gradient(ellipse at center,rgba(79,195,232,.13),transparent 68%);
}
.g-hero .wrap{position:relative}
.g-meta{
  font-family:var(--mono);font-size:11px;letter-spacing:.11em;color:var(--cyan);
  text-transform:uppercase;margin-bottom:20px;
}
.g-hero h1{
  font-size:clamp(29px,3.9vw,47px);line-height:1.16;max-width:23ch;
  letter-spacing:-.006em;hyphens:none;
}
.g-lede{
  margin-top:24px;font-size:18px;line-height:1.66;color:rgba(255,255,255,.76);
  max-width:62ch;
}
.g-hr{height:1px;background:var(--rule-dark);margin:38px 0 0}

/* --- оглавление --- */
.g-toc{
  background:var(--paper-2);border:1px solid var(--rule);border-left:3px solid var(--accent);
  padding:26px 30px;margin:0 0 52px;
}
.g-toc h2{
  font-size:13px;font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;
  color:var(--accent);margin-bottom:16px;hyphens:none;
}
.g-toc ol{list-style:none;counter-reset:toc;display:grid;gap:9px}
.g-toc li{counter-increment:toc;font-size:15px;position:relative;padding-left:30px;line-height:1.5}
.g-toc li::before{
  content:counter(toc,decimal-leading-zero);position:absolute;left:0;
  font-family:var(--mono);font-size:11.5px;color:var(--text-mute);top:3px;
}
.g-toc a{color:var(--text-soft);border-bottom:1px solid transparent;transition:.22s}
.g-toc a:hover{color:var(--accent);border-bottom-color:var(--accent)}

/* --- тело статьи --- */
.g-body{max-width:none}
.g-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:70px;align-items:start}
.g-main{max-width:74ch}

.g-body h2{
  font-size:clamp(23px,2.3vw,31px);line-height:1.24;margin:64px 0 20px;
  padding-top:26px;border-top:1px solid var(--rule);letter-spacing:0;
}
.g-body h2:first-child{margin-top:0;padding-top:0;border-top:0}
.g-body h3{font-size:19.5px;line-height:1.32;margin:38px 0 14px;letter-spacing:0}
.g-body p{font-size:16.5px;line-height:1.72;color:var(--text-soft);margin:0 0 20px}
.g-body p strong,.g-body li strong{color:var(--text);font-weight:600}
.g-body a{color:var(--accent);border-bottom:1px solid rgba(226,58,30,.32);transition:.2s}
.g-body a:hover{border-bottom-color:var(--accent)}

.g-body ul,.g-body ol{margin:0 0 22px;padding-left:0;display:grid;gap:11px}
.g-body ul li,.g-body ol li{
  font-size:16.5px;line-height:1.68;color:var(--text-soft);
  position:relative;padding-left:24px;
}
.g-body ul li::before{
  content:"";position:absolute;left:2px;top:.68em;width:6px;height:6px;
  border-radius:50%;background:var(--accent);
}
.g-body ol{counter-reset:gol}
.g-body ol li{counter-increment:gol}
.g-body ol li::before{
  content:counter(gol);position:absolute;left:0;top:.1em;
  font-family:var(--mono);font-size:12.5px;color:var(--accent);font-weight:600;
}

/* --- выделенные блоки --- */
.g-note{
  background:var(--paper-2);border:1px solid var(--rule);border-left:3px solid var(--cyan);
  padding:24px 28px;margin:0 0 26px;
}
.g-note p:last-child{margin-bottom:0}
.g-note-h{
  font-family:var(--mono);font-size:11px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--cyan);font-weight:600;margin-bottom:12px;hyphens:none;
}

/* «опасный сигнал» — ключевая единица контента этих статей */
.g-flag{
  border:1px solid rgba(226,58,30,.3);background:rgba(226,58,30,.045);
  padding:24px 28px;margin:0 0 26px;
}
.g-flag .g-flag-h{
  font-family:var(--mono);font-size:11px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--accent);font-weight:600;margin-bottom:14px;hyphens:none;
}
.g-flag .g-flag-h::before{content:"⚠ ";font-size:12px}
.g-flag p{margin-bottom:0;color:var(--text-soft)}

/* --- чек-лист --- */
.g-check{
  border:1px solid var(--rule);margin:0 0 30px;counter-reset:gchk;
}
.g-check > div{
  display:grid;grid-template-columns:52px 1fr;align-items:start;
  counter-increment:gchk;border-bottom:1px solid var(--rule);
}
.g-check > div:last-child{border-bottom:0}
.g-check > div > b{
  font-family:var(--mono);font-size:12px;color:var(--accent);font-weight:600;
  padding:20px 0 20px 22px;
}
.g-check > div > b::before{content:counter(gchk,decimal-leading-zero)}
.g-check > div > div{padding:18px 22px 18px 0}
.g-check .q{font-size:16px;color:var(--text);font-weight:600;line-height:1.55;margin-bottom:9px}
.g-check .why{font-size:14.5px;color:var(--text-mute);line-height:1.62;margin:0}
.g-check .sig{
  font-size:14.5px;color:var(--accent);line-height:1.62;margin:10px 0 0;
  padding-top:10px;border-top:1px dashed rgba(226,58,30,.24);
}
.g-check .sig b{font-weight:600}

/* --- таблица --- */
.g-tbl{width:100%;border-collapse:collapse;margin:0 0 28px;font-size:15px}
.g-tbl caption{
  caption-side:top;text-align:left;font-size:13px;color:var(--text-mute);
  padding-bottom:11px;line-height:1.6;
}
.g-tbl th,.g-tbl td{
  text-align:left;padding:13px 16px;border-bottom:1px solid var(--rule);
  line-height:1.6;vertical-align:top;
}
.g-tbl th{
  font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--text-mute);font-weight:600;background:var(--paper-2);
  border-bottom:1px solid var(--rule);
}
.g-tbl td:first-child{color:var(--text);font-weight:500}
.g-tbl td{color:var(--text-soft)}

/* --- боковая колонка --- */
.g-side{position:sticky;top:92px;display:grid;gap:26px}
.g-card{border:1px solid var(--rule);padding:26px 24px;background:#fff}
.g-card.dark{background:var(--ink);border-color:var(--ink);color:#fff}
.g-card-k{
  font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--accent);font-weight:600;margin-bottom:14px;
}
.g-card.dark .g-card-k{color:var(--cyan)}
.g-card h4{font-size:16.5px;line-height:1.36;margin-bottom:12px}
.g-card p{font-size:14px;line-height:1.66;color:var(--text-soft);margin:0 0 14px}
.g-card.dark p{color:rgba(255,255,255,.68)}
.g-card p:last-child{margin-bottom:0}
.g-card .btn{width:100%;justify-content:center;padding:13px 20px;font-size:13.5px}

/* --- финальный CTA --- */
.g-cta{background:var(--ink);color:#fff;padding:78px 0}
.g-cta h2{font-size:clamp(24px,2.9vw,36px);line-height:1.2;max-width:24ch}
.g-cta p{margin-top:22px;font-size:17px;line-height:1.68;color:rgba(255,255,255,.7);max-width:60ch}
.g-cta .btn-row{display:flex;flex-wrap:wrap;gap:13px;margin-top:34px}

/* --- подвал --- */
.g-foot{background:#00102E;color:rgba(255,255,255,.52);padding:44px 0;font-size:13px}
.g-foot a{color:rgba(255,255,255,.72)}
.g-foot a:hover{color:#fff}
.g-foot-in{display:flex;flex-wrap:wrap;gap:26px;align-items:center;justify-content:space-between}

/* --- страница-хаб /guide/ --- */
.g-hub-head{background:var(--ink);color:#fff;padding:76px 0 62px}
.g-hub-head h1{font-size:clamp(30px,4.1vw,50px);line-height:1.14;max-width:20ch}
.g-hub-head .g-lede{max-width:64ch}
.g-hub-list{display:grid;gap:0;border-top:1px solid var(--rule)}
.g-hub-item{
  display:grid;grid-template-columns:64px 1fr 130px;gap:28px;align-items:baseline;
  padding:34px 0;border-bottom:1px solid var(--rule);
  transition:background .26s var(--ease);
}
.g-hub-item:hover{background:var(--paper-2)}
.g-hub-n{
  font-family:var(--mono);font-size:12px;color:var(--accent);font-weight:600;
  letter-spacing:.06em;
}
.g-hub-item h2{font-size:22px;line-height:1.3;letter-spacing:0;margin-bottom:11px}
.g-hub-item h2 a{color:var(--text);border-bottom:1px solid transparent;transition:.22s}
.g-hub-item:hover h2 a{border-bottom-color:var(--accent)}
.g-hub-item p{font-size:15px;line-height:1.68;color:var(--text-soft);max-width:66ch;margin:0}
.g-hub-tag{
  font-family:var(--mono);font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;
  color:var(--text-mute);text-align:right;line-height:1.7;
}

@media (max-width:1080px){
  .g-grid{grid-template-columns:1fr;gap:52px}
  .g-side{position:static;grid-template-columns:1fr 1fr;display:grid}
  .g-main{max-width:none}
}
@media (max-width:820px){
  .g-hub-item{grid-template-columns:44px 1fr;gap:18px}
  .g-hub-tag{display:none}
  .g-hero{padding:48px 0 42px}
  .g-check > div{grid-template-columns:40px 1fr}
  .g-check > div > b{padding:17px 0 17px 16px}
  .g-check > div > div{padding:15px 18px 15px 0}
  .g-tbl{font-size:14px}
  .g-tbl th,.g-tbl td{padding:11px 12px}
}
@media (max-width:640px){
  .g-side{grid-template-columns:1fr}
  .g-cta{padding:60px 0}
}
