/* CAL-209: журнал Калькуты /blog/ — пробник, одобренный владельцем 17.10.2026.
   Все правила под корнем .bj; язык — как у .cl (/contract/) и .pl (/partners/). */
.bj { color-scheme: light; --slate: #1E293B; --slate-2: #0F172A; --teal: #14B8A6; --teal-ink: #06231F; --teal-soft: #CCFBF1; --paper: #FFFFFF; --ground: #F7F9FB; --line: #E2E8F0; --line-2: #C0C8D0; --muted: #64748B; --muted-2: #94A3B8; --news: #C2410C; --useful: #4F46E5; --f-ui: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif; --f-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace; }
.bj { font-family: var(--f-ui); color: var(--slate); line-height: 1.6; -webkit-font-smoothing: antialiased; background: var(--paper); }
.bj *, .bj *::before, .bj *::after { box-sizing: border-box; }
.bj h1, .bj h2 { margin: 0; text-wrap: balance; }
.bj p { margin: 0; }
.bj a { color: inherit; }
.bj :focus-visible { outline: 2px solid var(--teal); outline-offset: 3px; }
.bj .wrap { max-width: 1180px; margin: 0 auto; padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px)); }
.bj .meta { font: 600 12px var(--f-mono); color: var(--muted); letter-spacing: .02em; }
.bj .rub-news { --rc: var(--news); }
.bj .rub-release { --rc: var(--teal); }
.bj .rub-useful { --rc: var(--useful); }

/* Шапка в одну строку: заголовок слева, описание справа. */
.bj .jhead { padding-block: clamp(28px, 4vw, 48px) 16px; display: grid; gap: 10px 32px; grid-template-columns: minmax(0, 1fr); align-items: end; }
@media (min-width: 900px) { .bj .jhead { grid-template-columns: auto minmax(0, 1fr); } }
.bj .jhead h1 { font-size: clamp(36px, 5.6vw, 68px); font-weight: 800; letter-spacing: -.04em; line-height: 1; }
@media (min-width: 521px) { .bj .jhead h1 { white-space: nowrap; } }
.bj .jhead p { color: var(--muted); font-size: 16px; max-width: 52ch; }
@media (min-width: 900px) { .bj .jhead p { justify-self: end; text-align: right; } }

/* Рубрики — фирменный сегментный переключатель (как .seg на /partners/). */
.bj .sections-row { border-bottom: 1px solid var(--line); padding-bottom: 18px; }
.bj .sections { display: inline-flex; flex-wrap: wrap; gap: 4px; padding: 4px; border-radius: 12px; background: var(--ground); border: 1px solid var(--line); max-width: 100%; }
.bj .sections a { padding: 8px 14px; border-radius: 9px; display: inline-flex; align-items: center; gap: 8px; font-weight: 600; font-size: 14.5px; color: var(--muted); text-decoration: none; transition: color .15s, background .15s, box-shadow .15s; }
.bj .sections a:hover { color: var(--slate); }
.bj .sections a[aria-current="page"] { background: var(--paper); color: var(--slate); box-shadow: 0 1px 3px rgba(15,23,42,.15); }
.bj .sections .cnt { font: 600 12px var(--f-mono); color: var(--muted-2); background: var(--paper); border: 1px solid var(--line); border-radius: 6px; padding: 0 6px; }
.bj .sections a[aria-current="page"] .cnt { background: var(--teal-soft); border-color: transparent; color: var(--teal-ink); }
.bj .sections .dot { width: 9px; height: 9px; border-radius: 3px; background: var(--rc); }

/* CAL-216: темы внутри раздела «Новости ВЭД» — ряд круглых вкладок под
   переключателем разделов. */
.bj .topics { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.bj .topics a { display: inline-flex; align-items: center; gap: 7px; padding: 5px 12px; border: 1px solid var(--line); border-radius: 999px; background: var(--paper); font-size: 13.5px; font-weight: 600; color: var(--muted); text-decoration: none; transition: color .15s, border-color .15s, background .15s; }
.bj .topics a:hover { color: var(--slate); border-color: var(--line-2); }
.bj .topics a[aria-current="page"] { color: var(--slate); border-color: var(--news); background: #FFF7ED; }
.bj .topics .cnt { font: 600 11px var(--f-mono); color: var(--muted-2); }
.bj .topics a[aria-current="page"] .cnt { color: var(--news); }

/* Верх: обложка и «Свежее» одной высоты. */
.bj .top-grid { display: grid; gap: 22px; grid-template-columns: minmax(0, 1fr); padding-block: 26px 36px; align-items: stretch; }
@media (min-width: 980px) { .bj .top-grid { grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); } }
.bj .side { display: grid; align-content: stretch; }
@media (min-width: 980px) { .bj .side { grid-template-rows: auto repeat(4, minmax(0, 1fr)); } }
.bj .side .lbl { font: 700 12px var(--f-ui); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.bj .srow { position: relative; display: grid; align-content: center; gap: 4px; padding: 12px 0 12px 16px; border-bottom: 1px solid var(--line); text-decoration: none; }
.bj .srow::before { content: ""; position: absolute; left: 0; top: 14px; bottom: 14px; width: 4px; border-radius: 2px; background: var(--rc); }
.bj .srow b { font-size: 16px; line-height: 1.3; }
.bj .srow:hover b { text-decoration: underline; text-decoration-color: var(--teal); text-underline-offset: 3px; }

/* Обложка: целое слово, кегль от длины слова и ширины карточки. */
.bj .cov { container-type: inline-size; position: relative; display: grid; align-content: space-between; gap: 18px; border-radius: 12px; padding: 22px; min-height: 230px; overflow: hidden; text-decoration: none; background: var(--bgc); color: var(--fgc); transition: transform .25s; }
.bj .cov:hover { transform: translateY(-3px); }
.bj .cov.has-img { background: linear-gradient(180deg, rgba(15,23,42,.35), rgba(15,23,42,.85)), var(--img) center / cover no-repeat; color: #fff; }
.bj .cov > * { position: relative; }
.bj .cov .ring { position: absolute; right: -40px; top: -40px; width: 170px; height: 170px; border-radius: 50%; border: 20px solid currentColor; opacity: .12; }
.bj .cov .rub { justify-self: start; font: 700 11px var(--f-ui); letter-spacing: .08em; text-transform: uppercase; border: 1px solid currentColor; border-radius: 999px; padding: 3px 10px; opacity: .85; }
.bj .cov .big { font-size: min(84px, 26cqi, calc(150cqi / var(--len))); font-weight: 800; letter-spacing: -.045em; line-height: .9; white-space: nowrap; }
.bj .lead-cov .big { font-size: min(120px, 26cqi, calc(150cqi / var(--len))); }
.bj .cov .txt { display: grid; gap: 10px; }
.bj .cov .h { font-size: clamp(22px, 2.6vw, 30px); font-weight: 800; letter-spacing: -.015em; line-height: 1.15; }
.bj .cov .h3 { font-size: 17px; font-weight: 800; letter-spacing: -.01em; line-height: 1.25; }
.bj .cov .p { opacity: .8; font-size: 15px; max-width: 56ch; }
.bj .cov .meta { color: inherit; opacity: .75; }
.bj .lead-cov { min-height: 440px; height: 100%; }

/* Месяцы и архив. */
.bj .month { padding-top: 30px; border-top: 1px solid var(--line); }
.bj .month-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 6px 14px; }
.bj .month-head h2 { font-size: 24px; font-weight: 800; letter-spacing: -.015em; }
.bj .month-head h2 small { font: 700 12px var(--f-ui); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); display: block; margin-bottom: 4px; }
.bj .cards { display: grid; gap: 14px; grid-template-columns: minmax(0, 1fr); padding-block: 16px 34px; }
@media (min-width: 720px) { .bj .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1040px) { .bj .cards { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.bj .arch { display: grid; grid-template-columns: minmax(0, 1fr); padding-block: 8px 48px; }
.bj .arow { display: grid; grid-template-columns: 150px minmax(0, 1fr) auto; gap: 16px; align-items: baseline; padding: 14px 0; border-bottom: 1px solid var(--line); text-decoration: none; }
.bj .arow b { font-size: 16px; }
.bj .arow:hover b { text-decoration: underline; text-decoration-color: var(--teal); text-underline-offset: 3px; }
.bj .arow .rb { font-size: 12px; font-weight: 700; color: var(--rc); white-space: nowrap; }
@media (max-width: 640px) { .bj .arow { grid-template-columns: minmax(0, 1fr); gap: 2px; } }
.bj .empty-journal { margin-block: 26px 48px; }

/* Призыв посчитать — закрывающая полоса. */
.bj .sub-band { background: var(--slate-2); color: #fff; margin-top: 24px; }
.bj .sub-band .wrap { padding-block: 34px; display: flex; flex-wrap: wrap; gap: 14px 24px; align-items: center; justify-content: space-between; }
.bj .sub-band b { font-size: 20px; letter-spacing: -.01em; }
.bj .sub-band p { color: var(--muted-2); max-width: 52ch; }
.bj .btn { display: inline-flex; align-items: center; border-radius: 12px; padding: 13px 22px; font-weight: 700; text-decoration: none; font-size: 15px; white-space: nowrap; }
.bj .btn-primary { background: var(--teal); color: var(--teal-ink); box-shadow: 0 10px 30px -12px rgba(20,184,166,.8); }

@media (prefers-reduced-motion: reduce) { .bj *, .bj *::before, .bj *::after { transition: none !important; } }

/* CAL-233: шапка страницы записи — обложка из ленты во всю ширину
   (вариант A, выбран владельцем 23.10.2026). Справа колонка: возврат в
   журнал и под ним оглавление записи; на узком экране колонка уходит под
   текст обложки. */
.bj .pcov-wrap { padding-block: 22px 0; }
.bj .pcov { position: relative; overflow: hidden; display: grid; gap: 22px 40px; grid-template-columns: minmax(0, 1fr); border-radius: 12px; padding: clamp(20px, 3vw, 34px); background: var(--bgc); color: var(--fgc); }
@media (min-width: 900px) { .bj .pcov { grid-template-columns: minmax(0, 1fr) minmax(220px, 290px); } }
.bj .pcov.has-img { background: linear-gradient(180deg, rgba(15,23,42,.35), rgba(15,23,42,.85)), var(--img) center / cover no-repeat; color: #fff; }
.bj .pcov .ring { position: absolute; right: -60px; top: -60px; width: 260px; height: 260px; border-radius: 50%; border: 30px solid currentColor; opacity: .12; }
.bj .pcov > * { position: relative; }
.bj .pcov-main { container-type: inline-size; display: grid; gap: 18px; align-content: start; min-width: 0; }
.bj .pcov-row { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; }
.bj .pcov .rub { font: 700 11px var(--f-ui); letter-spacing: .08em; text-transform: uppercase; border: 1px solid currentColor; border-radius: 999px; padding: 3px 10px; opacity: .85; }
.bj .pcov-topic { font: 600 12px var(--f-mono); opacity: .8; }
.bj .pcov .big { font-size: min(150px, 28cqi, calc(150cqi / var(--len))); font-weight: 800; letter-spacing: -.05em; line-height: .86; white-space: nowrap; }
.bj .pcov h1 { font-size: clamp(24px, 4.4cqi, 38px); font-weight: 800; letter-spacing: -.025em; line-height: 1.12; max-width: 26ch; }
.bj .pcov-lead { font-size: 16px; line-height: 1.55; max-width: 62ch; opacity: .85; }
.bj .pcov-meta { display: flex; flex-wrap: wrap; gap: 4px 16px; font: 600 12px var(--f-mono); letter-spacing: .02em; opacity: .8; font-variant-numeric: tabular-nums; }

.bj .pcov-side { display: grid; gap: 18px; align-content: start; min-width: 0; }
.bj .pcov-back { justify-self: start; font: 700 13px var(--f-ui); text-decoration: none; border: 1px solid currentColor; border-radius: 999px; padding: 6px 14px; }
.bj .pcov-back:hover { background: var(--fgc); color: var(--bgc); }
.bj .pcov.has-img .pcov-back:hover { background: #fff; color: var(--slate); }
.bj .pcov-toc { display: grid; gap: 6px; }
.bj .pcov-toc-lbl { font: 700 11px var(--f-ui); letter-spacing: .08em; text-transform: uppercase; opacity: .7; }
.bj .pcov-toc ol { list-style: none; margin: 0; padding: 0; display: grid; }
.bj .pcov-toc li { border-top: 1px solid color-mix(in srgb, currentColor 22%, transparent); }
.bj .pcov-toc a { display: block; padding: 8px 0; font-size: 14px; font-weight: 600; line-height: 1.35; text-decoration: none; }
.bj .pcov-toc a:hover { text-decoration: underline; text-underline-offset: 3px; }
.bj .pcov-toc a.is-calc { font-weight: 800; }
.bj .pcov-toc a.is-calc::after { content: " \2193"; }
@media (max-width: 899px) {
  .bj .pcov-side { padding-top: 18px; border-top: 1px solid color-mix(in srgb, currentColor 22%, transparent); }
}
/* Шапка сайта прилипает к верху — подзаголовок по ссылке из оглавления
   не должен уходить под неё. */
.cc-rich--article h4, .cc-gloss h4 { scroll-margin-top: 84px; }
