﻿/* Р›РѕРєР°Р»СЊРЅС‹Рµ С€СЂРёС„С‚С‹. РЎРѕР±СЂР°РЅРѕ bin-СЃРєСЂРёРїС‚РѕРј РёР· Google Fonts, Р»РёС†РµРЅР·РёСЏ SIL OFL 1.1. */

@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/golos-text-400-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/golos-text-400-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/assets/fonts/golos-text-500-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/assets/fonts/golos-text-500-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/assets/fonts/golos-text-600-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/assets/fonts/golos-text-600-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/lora-400-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/lora-400-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/assets/fonts/lora-600-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/assets/fonts/lora-600-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/jetbrains-mono-400-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/jetbrains-mono-400-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/assets/fonts/jetbrains-mono-500-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/assets/fonts/jetbrains-mono-500-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/assets/fonts/jetbrains-mono-600-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/assets/fonts/jetbrains-mono-600-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


/* РћРЅР»РёР‘РёР·Рё вЂ” СЃС‚РёР»Рё РёР·РґР°РЅРёСЏ. РџРѕСЂС‚ С‚РѕРєРµРЅРѕРІ Рё РєРѕРјРїРѕРЅРµРЅС‚РѕРІ СЃ Tailwind РЅР° РѕР±С‹С‡РЅС‹Р№ CSS. */

:root {
  color-scheme: light;

  /* РџР°Р»РёС‚СЂР° Р±СЂРµРЅРґР° */
  --ink: #14181f;
  --paper: #faf9f6;
  --panel: #f0eee8;
  --brand: #0b6e4f;
  --action: #e8a33d;
  --rule: #e3e1da;

  --success: #1e8e5a;
  --warning: #c2410c;
  --info: #2563eb;

  --card: #ffffff;
  --muted-fg: #6b7280;

  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 10px;
  --radius-xl: 14px;

  --font-sans: 'Golos Text', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-serif: 'Lora', Georgia, 'Times New Roman', serif;
  --font-mono: 'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, monospace;

  --shadow-card: 0 1px 3px rgba(20, 24, 31, 0.06);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

* {
  margin: 0;
  padding: 0;
}

html {
  font-family: var(--font-sans);
  -webkit-text-size-adjust: 100%;
}

body {
  background: var(--paper);
  color: var(--ink);
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: 'liga' 1;
}

img,
svg {
  display: block;
  max-width: 100%;
}

img {
  height: auto;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input {
  font: inherit;
  color: inherit;
}

button {
  background: none;
  border: none;
  cursor: pointer;
}

ul,
ol {
  list-style: none;
}

table {
  border-collapse: collapse;
}

:focus-visible {
  outline: 2px solid var(--brand);
  outline-offset: 2px;
}

[hidden] {
  display: none !important;
}

/* ---------- РЈС‚РёР»РёС‚С‹ ---------- */

.tnum {
  font-variant-numeric: tabular-nums;
  font-feature-settings: 'tnum' 1;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.container {
  width: 100%;
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: 1rem;
}

.container--1000 { max-width: 1000px; }
.container--1100 { max-width: 1100px; }

@media (min-width: 768px) {
  .container { padding-inline: 1.5rem; }
}

.page {
  min-height: 100vh;
  background: var(--paper);
}

.page--money { padding-bottom: 4rem; }

.icon {
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
}

.icon--3 { width: .75rem; height: .75rem; }
.icon--3-5 { width: .875rem; height: .875rem; }
.icon--4 { width: 1rem; height: 1rem; }
.icon--5 { width: 1.25rem; height: 1.25rem; }

.eyebrow {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--brand);
}

.h2 {
  font-family: var(--font-serif);
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.3;
  color: var(--ink);
}

.h2--mb { margin-bottom: 1.5rem; }

.section { margin-top: 3.5rem; }

/* ---------- РљРЅРѕРїРєРё ---------- */

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  height: 2.75rem;
  padding-inline: 1.25rem;
  border-radius: var(--radius-lg);
  font-family: var(--font-mono);
  font-size: .875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  transition: transform .2s ease, background-color .2s ease;
}

.btn--action {
  background: var(--action);
  color: var(--ink);
}

.btn--action:hover { transform: translateY(-2px); }

.btn--sm {
  height: 2.5rem;
  padding-inline: 1rem;
  font-size: 13px;
}

.btn--lg {
  height: 3rem;
  padding-inline: 1.5rem;
}

.btn--block {
  width: 100%;
}

.icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: var(--radius-md);
  color: var(--ink);
  transition: background-color .2s ease;
}

.icon-btn:hover { background: var(--panel); }

/* ---------- РЁР°РїРєР° ---------- */

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  border-bottom: 1px solid var(--rule);
  background: rgba(250, 249, 246, .95);
  backdrop-filter: blur(8px);
}

.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  height: 4rem;
  transition: height .2s ease;
}

.site-header.is-scrolled .site-header__inner { height: 3.5rem; }

.site-header__left {
  display: flex;
  align-items: center;
  gap: .75rem;
}

.site-header__right {
  display: flex;
  align-items: center;
  gap: .5rem;
}

.logo {
  display: inline-flex;
  align-items: baseline;
  gap: .125rem;
  font-family: var(--font-serif);
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--ink);
  transition: font-size .2s ease;
}

.site-header.is-scrolled .logo { font-size: 1.25rem; }

.logo__dot { color: var(--action); }

.burger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  margin-left: -.25rem;
  border-radius: var(--radius-md);
  color: var(--ink);
}

.burger__close { display: none; }
.burger[aria-expanded='true'] .burger__open { display: none; }
.burger[aria-expanded='true'] .burger__close { display: block; }

.site-nav { display: none; }

.site-nav__link {
  font-family: var(--font-mono);
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: rgba(20, 24, 31, .8);
  transition: color .2s ease;
}

.site-nav__link:hover { color: var(--brand); }

.mobile-nav {
  border-top: 1px solid var(--rule);
  background: var(--paper);
  padding: .5rem 1rem;
}

.mobile-nav__link {
  display: block;
  padding-block: .75rem;
  border-bottom: 1px solid rgba(227, 225, 218, .6);
  font-family: var(--font-mono);
  font-size: .875rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--ink);
}

.mobile-nav__link:last-child { border-bottom: 0; }

@media (min-width: 1024px) {
  .burger,
  .mobile-nav { display: none !important; }

  .site-nav {
    display: flex;
    align-items: center;
    gap: 1.25rem;
  }
}

/* ---------- РџРѕРґРІР°Р» ---------- */

.site-footer {
  margin-top: 4rem;
  border-top: 1px solid var(--rule);
  background: var(--panel);
}

.site-footer__inner { padding-block: 3rem; }

.site-footer__grid {
  display: grid;
  gap: 2.5rem;
}

.site-footer__about { max-width: 20rem; }

.site-footer__about p {
  margin-top: .75rem;
  font-size: .875rem;
  line-height: 1.625;
  color: var(--muted-fg);
}

.site-footer__title {
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--brand);
}

.site-footer__links {
  margin-top: 1rem;
  display: flex;
  flex-direction: column;
  gap: .625rem;
}

.site-footer__links a {
  font-size: .875rem;
  color: rgba(20, 24, 31, .8);
  transition: color .2s ease;
}

.site-footer__links a:hover { color: var(--brand); }

.site-footer__bottom {
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--rule);
  display: flex;
  flex-direction: column;
  gap: .5rem;
  font-size: .75rem;
  color: var(--muted-fg);
}

@media (min-width: 640px) {
  .site-footer__bottom {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}

@media (min-width: 768px) {
  .site-footer__grid { grid-template-columns: 1.5fr 1fr 1fr 1fr; }
}

/* ---------- Р“Р»Р°РІРЅР°СЏ: РіРµСЂРѕР№ ---------- */

.hero {
  display: grid;
  gap: 2rem;
  padding-block: 2.5rem;
  border-bottom: 1px solid var(--rule);
}

.hero__title {
  margin-top: .75rem;
  font-family: var(--font-serif);
  font-size: 2.25rem;
  font-weight: 600;
  line-height: 1.08;
  text-wrap: balance;
  color: var(--ink);
}

.hero__excerpt {
  margin-top: 1rem;
  max-width: 36rem;
  font-size: 1.125rem;
  line-height: 1.625;
  color: var(--muted-fg);
}

.hero__actions {
  margin-top: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
}

.hero__byline {
  font-family: var(--font-mono);
  font-size: 13px;
  color: var(--muted-fg);
}

.hero__media {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--rule);
  border-radius: var(--radius-xl);
  background: var(--panel);
}

.hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (min-width: 768px) {
  .hero { padding-block: 3.5rem; }
  .hero__title { font-size: 3rem; }
}

@media (min-width: 1024px) {
  .hero {
    grid-template-columns: 1.15fr 1fr;
    align-items: center;
    gap: 3rem;
  }
  .hero__title { font-size: 3.5rem; }
}

/* ---------- Р“Р»Р°РІРЅР°СЏ: РІР°Р¶РЅРѕ СЃРµР№С‡Р°СЃ ---------- */

.important {
  border-bottom: 1px solid var(--rule);
  padding-block: 1.25rem;
}

.important__inner {
  display: flex;
  flex-direction: column;
  gap: .75rem;
}

.important__label {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: .5rem;
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--ink);
}

.important__icon { color: var(--action); }

.important__list {
  display: flex;
  flex-wrap: wrap;
  column-gap: 1.5rem;
  row-gap: .5rem;
}

.important__list a {
  font-size: .875rem;
  color: rgba(20, 24, 31, .9);
  text-underline-offset: 4px;
  transition: color .2s ease;
}

.important__list a:hover {
  color: var(--brand);
  text-decoration: underline;
}

@media (min-width: 768px) {
  .important__inner {
    flex-direction: row;
    align-items: center;
    gap: 1.5rem;
  }
}

/* ---------- Р“Р»Р°РІРЅР°СЏ: Р»РµРЅС‚Р° ---------- */

.feed {
  display: grid;
  gap: 2.5rem;
  padding-block: 3rem;
}

.feed__head {
  margin-bottom: 1.5rem;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
}

.feed__all {
  font-family: var(--font-mono);
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--brand);
}

.feed__all:hover { text-decoration: underline; }

.feed__grid {
  display: grid;
  column-gap: 1.5rem;
  row-gap: 2.5rem;
}

@media (min-width: 640px) {
  .feed__grid { grid-template-columns: 1fr 1fr; }
}

@media (min-width: 1024px) {
  .feed {
    grid-template-columns: 1fr 340px;
    gap: 3rem;
  }
}

/* ---------- РљР°СЂС‚РѕС‡РєР° СЃС‚Р°С‚СЊРё ---------- */

.acard {
  display: flex;
  flex-direction: column;
}

.acard__thumb {
  display: block;
  overflow: hidden;
  border: 1px solid var(--rule);
  border-radius: var(--radius-lg);
  background: var(--panel);
}

.acard__img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  background: linear-gradient(to bottom right, var(--panel), var(--rule));
  transition: transform .3s ease;
}

.acard:hover .acard__img { transform: scale(1.02); }

.acard__body {
  margin-top: .75rem;
  display: flex;
  flex-direction: column;
}

.acard__cat {
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--brand);
  transition: color .2s ease;
}

.acard:hover .acard__cat { color: var(--action); }

.acard__title {
  margin-top: .375rem;
  font-family: var(--font-serif);
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.375;
  text-wrap: pretty;
  color: var(--ink);
}

.acard__title a:hover { text-decoration: underline; }

.acard__excerpt {
  margin-top: .5rem;
  font-size: .875rem;
  line-height: 1.625;
  color: var(--muted-fg);
}

.acard__meta {
  margin-top: .5rem;
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--muted-fg);
}

/* ---------- РЎР°Р№РґР±Р°СЂ РіР»Р°РІРЅРѕР№ ---------- */

.hsidebar {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.panel {
  border: 1px solid var(--rule);
  border-radius: var(--radius-xl);
  background: var(--card);
  padding: 1.25rem;
}

.panel--action { border-left: 4px solid var(--action); }

.panel__head {
  display: flex;
  align-items: center;
  gap: .5rem;
}

.panel__icon { color: var(--brand); }

.panel__title,
.panel__kicker {
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--brand);
}

.panel__kicker { font-size: 12px; }

.panel__text {
  margin-top: .5rem;
  font-size: .875rem;
  line-height: 1.625;
  color: rgba(20, 24, 31, .9);
}

.panel__cta { margin-top: .75rem; }

.calc-list { margin-top: 1rem; }

.calc-list li + li { border-top: 1px solid var(--rule); }

.calc-list__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding-block: .75rem;
}

.calc-list__name {
  display: block;
  font-family: var(--font-serif);
  font-size: 1rem;
  font-weight: 600;
  color: var(--ink);
}

.calc-list__link:hover .calc-list__name { text-decoration: underline; }

.calc-list__desc {
  display: block;
  font-size: .875rem;
  color: var(--muted-fg);
}

.calc-list__arrow {
  color: var(--muted-fg);
  transition: transform .2s ease;
}

.calc-list__link:hover .calc-list__arrow { transform: translateX(4px); }

.digest {
  border: 1px solid var(--rule);
  border-radius: var(--radius-xl);
  background: var(--brand);
  padding: 1.25rem;
  color: var(--paper);
}

.digest__title {
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.digest__lead {
  margin-top: .75rem;
  font-family: var(--font-serif);
  font-size: 1.125rem;
  line-height: 1.375;
  text-wrap: pretty;
}

.digest__form {
  margin-top: 1rem;
  display: flex;
  flex-direction: column;
  gap: .5rem;
}

.digest__input {
  height: 2.75rem;
  padding-inline: .75rem;
  border: 1px solid rgba(250, 249, 246, .3);
  border-radius: var(--radius-lg);
  background: var(--paper);
  font-size: .875rem;
  color: var(--ink);
}

.digest__input::placeholder { color: var(--muted-fg); }

.digest__input:focus {
  outline: none;
  box-shadow: 0 0 0 2px var(--action);
}

.digest__note {
  margin-top: .5rem;
  font-size: .75rem;
  color: rgba(250, 249, 246, .7);
}

.clusters {
  margin-top: 1rem;
  display: flex;
  flex-direction: column;
  gap: .75rem;
}

.clusters li {
  display: flex;
  align-items: baseline;
  gap: .75rem;
}

.clusters__num {
  font-family: var(--font-mono);
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--rule);
}

.clusters a {
  font-size: .875rem;
  color: var(--ink);
}

.clusters a:hover { color: var(--brand); }

/* ---------- РҐР»РµР±РЅС‹Рµ РєСЂРѕС€РєРё Рё С€Р°РїРєР° СЃС‚СЂР°РЅРёС†С‹ ---------- */

.crumbs-row { padding-block: 1.5rem; }

.crumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .375rem;
  font-size: .75rem;
}

.crumbs__item {
  display: flex;
  align-items: center;
  gap: .375rem;
}

.crumbs__link,
.crumbs__current {
  font-family: var(--font-mono);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.crumbs__link {
  color: var(--muted-fg);
  transition: color .2s ease;
}

.crumbs__link:hover { color: var(--brand); }

.crumbs__current { color: var(--ink); }

.crumbs__sep { color: var(--muted-fg); }

.page-head {
  padding-bottom: 2rem;
  border-bottom: 1px solid var(--rule);
}

.page-head__title {
  margin-top: .75rem;
  font-family: var(--font-serif);
  font-size: 2.25rem;
  font-weight: 600;
  line-height: 1.1;
  text-wrap: balance;
  color: var(--ink);
}

.page-head__lead {
  margin-top: 1rem;
  max-width: 42rem;
  font-size: 1.125rem;
  line-height: 1.625;
  color: var(--muted-fg);
}

@media (min-width: 768px) {
  .page-head__title { font-size: 3rem; }
}

/* ---------- РЎС‚СЂР°РЅРёС†Р° СЃСЂР°РІРЅРµРЅРёСЏ: РєСЂР°С‚РєРёР№ РІС‹РІРѕРґ ---------- */

.summary {
  margin-block: 2rem;
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  border: 1px solid var(--rule);
  border-left: 4px solid var(--action);
  border-radius: var(--radius-xl);
  background: var(--card);
  padding: 1.25rem;
}

.summary__icon {
  margin-top: .125rem;
  color: var(--action);
}

.summary__label {
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--brand);
}

.summary__text {
  margin-top: .25rem;
  font-size: 1rem;
  line-height: 1.625;
  color: var(--ink);
}

.summary__text strong { font-weight: 600; }

.section-anchor { scroll-margin-top: 5rem; }

.dcards {
  margin-top: 1.5rem;
  display: grid;
  gap: 1.25rem;
}

@media (min-width: 768px) {
  .dcards { grid-template-columns: 1fr 1fr; }
}

@media (min-width: 1024px) {
  .dcards { grid-template-columns: repeat(3, 1fr); }
}

/* ---------- РљР°СЂС‚РѕС‡РєР° СЂРµС€РµРЅРёСЏ ---------- */

.pbadge {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: var(--radius-lg);
  background: var(--brand);
  font-family: var(--font-serif);
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--paper);
}

.dcard {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--rule);
  border-radius: var(--radius-xl);
  background: var(--card);
  padding: 1.25rem;
  box-shadow: var(--shadow-card);
  transition: transform .2s ease;
}

.dcard:hover { transform: translateY(-4px); }

.dcard__head {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
}

.dcard__name {
  font-family: var(--font-serif);
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.25;
  color: var(--ink);
}

.dcard__verdict {
  margin-top: .25rem;
  font-size: .875rem;
  line-height: 1.375;
  color: var(--muted-fg);
}

.dcard__metrics,
.icard__metrics {
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
}

.dcard__metrics {
  margin-top: 1.25rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .75rem;
  padding-block: 1rem;
}

.dcard__metrics dt,
.icard__metrics dt {
  font-family: var(--font-mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--muted-fg);
}

.dcard__metrics dd,
.icard__metrics dd {
  margin-top: .25rem;
  font-family: var(--font-mono);
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--ink);
}

@media (min-width: 768px) {
  .dcard__metrics dd { font-size: 1.25rem; }
}

.dcard__lists {
  margin-top: 1rem;
  display: grid;
  gap: .75rem;
}

@media (min-width: 640px) {
  .dcard__lists { grid-template-columns: 1fr 1fr; }
}

.plist {
  display: flex;
  flex-direction: column;
  gap: .375rem;
}

.plist li {
  display: flex;
  align-items: flex-start;
  gap: .375rem;
  font-size: .875rem;
}

.plist li .icon { margin-top: .125rem; }

.plist--pros li { color: rgba(20, 24, 31, .9); }
.plist--pros .icon { color: var(--success); }

.plist--cons li { color: var(--muted-fg); }
.plist--cons .icon { color: var(--warning); }

.dcard__bestfor {
  margin-top: 1rem;
  border-radius: var(--radius-md);
  background: var(--panel);
  padding: .5rem .75rem;
  font-size: .875rem;
  color: rgba(20, 24, 31, .9);
}

.dcard__bestfor-label {
  font-family: var(--font-mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--brand);
}

.dcard__foot {
  margin-top: auto;
  padding-top: 1.25rem;
}

.dcard__ad { margin-top: .5rem; }

.ad-marker {
  border-radius: var(--radius-sm);
  background: var(--panel);
  padding: .25rem .5rem;
  font-family: var(--font-mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--muted-fg);
}

/* ---------- РРЅР»Р°Р№РЅ-РєР°СЂС‚РѕС‡РєР° СЂРµС€РµРЅРёСЏ ---------- */

.icard {
  margin-block: 2rem;
  border: 1px solid var(--rule);
  border-radius: var(--radius-xl);
  background: var(--card);
  padding: 1.25rem;
  box-shadow: var(--shadow-card);
}

.icard__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
}

.icard__head-text {
  min-width: 0;
  flex: 1;
}

.icard__kicker {
  display: block;
  font-family: var(--font-mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--brand);
}

.icard__name {
  font-family: var(--font-serif);
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.25;
  color: var(--ink);
}

.icard__metrics {
  margin-top: 1rem;
  display: flex;
  flex-wrap: wrap;
  column-gap: 1.5rem;
  row-gap: .75rem;
  padding-block: .75rem;
}

.icard__metrics dd { margin-top: .125rem; }

.icard__verdict {
  margin-top: .75rem;
  font-size: .875rem;
  line-height: 1.625;
  color: rgba(20, 24, 31, .9);
}

.icard__actions {
  margin-top: 1rem;
  display: flex;
  flex-direction: column;
  gap: .5rem;
}

.icard__actions .btn { height: 2.5rem; }

@media (min-width: 640px) {
  .icard__actions {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}

/* ---------- РЎСЂР°РІРЅРёС‚РµР»СЊРЅР°СЏ С‚Р°Р±Р»РёС†Р° ---------- */

.ctable-wrap {
  overflow-x: auto;
  border: 1px solid var(--rule);
  border-radius: var(--radius-xl);
}

.ctable {
  width: 100%;
  min-width: 640px;
  text-align: left;
}

.ctable thead tr {
  background: var(--ink);
  color: var(--paper);
}

.ctable th,
.ctable td {
  padding: .75rem 1rem;
}

.ctable__corner {
  position: sticky;
  left: 0;
  z-index: 1;
  background: var(--ink);
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.ctable__product {
  font-family: var(--font-serif);
  font-size: 1rem;
  font-weight: 600;
}

.ctable tbody tr { background: var(--card); }
.ctable tbody tr:nth-child(even) { background: var(--panel); }

.ctable__rowhead {
  position: sticky;
  left: 0;
  z-index: 1;
  background: inherit;
  text-align: left;
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--muted-fg);
}

.ctable tbody tr:nth-child(even) .ctable__rowhead { background: var(--panel); }
.ctable tbody tr:nth-child(odd) .ctable__rowhead { background: var(--card); }

.ctable__value {
  font-family: var(--font-mono);
  font-size: 1rem;
  font-weight: 600;
  color: var(--ink);
}

.ctable__value.is-best { color: var(--brand); }

.ctable__check {
  display: inline-block;
  margin-left: .25rem;
  vertical-align: middle;
  color: var(--brand);
}

.table-note {
  margin-top: .75rem;
  font-family: var(--font-mono);
  font-size: .75rem;
  color: var(--muted-fg);
}

/* ---------- Р Р°Р·Р±РѕСЂ РІР°СЂРёР°РЅС‚РѕРІ ---------- */

.breakdown {
  margin-top: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.breakdown__item {
  padding-bottom: 2rem;
  border-bottom: 1px solid var(--rule);
}

.breakdown__item:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.breakdown__name {
  font-family: var(--font-serif);
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--ink);
}

.breakdown__lead {
  margin-top: .5rem;
  line-height: 1.625;
  color: rgba(20, 24, 31, .9);
}

.breakdown__grid {
  margin-top: 1rem;
  display: grid;
  gap: 1rem;
}

@media (min-width: 640px) {
  .breakdown__grid { grid-template-columns: 1fr 1fr; }
}

.breakdown__label {
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.breakdown__label--pros { color: var(--success); }
.breakdown__label--cons { color: var(--warning); }

.breakdown__list {
  margin-top: .5rem;
  list-style: disc inside;
  display: flex;
  flex-direction: column;
  gap: .25rem;
  font-size: .875rem;
  color: rgba(20, 24, 31, .9);
}

.breakdown__list--muted { color: var(--muted-fg); }

/* ---------- FAQ ---------- */

.faq {
  border: 1px solid var(--rule);
  border-radius: var(--radius-xl);
  background: var(--card);
}

.faq__item + .faq__item { border-top: 1px solid var(--rule); }

.faq__h { font-size: inherit; font-weight: inherit; }

.faq__btn {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.25rem;
  text-align: left;
}

.faq__q {
  font-family: var(--font-sans);
  font-size: 1rem;
  font-weight: 600;
  color: var(--ink);
}

.faq__plus { color: var(--muted-fg); }
.faq__minus { color: var(--brand); display: none; }

.faq__btn[aria-expanded='true'] .faq__plus { display: none; }
.faq__btn[aria-expanded='true'] .faq__minus { display: block; }

.faq__panel {
  padding: 0 1.25rem 1.25rem;
  font-size: .875rem;
  line-height: 1.625;
  color: var(--muted-fg);
}

/* ---------- Р›РёРїРєР°СЏ РјРёРЅРё-CTA ---------- */

.sticky-cta {
  position: fixed;
  inset-inline: 0;
  bottom: 0;
  z-index: 40;
  border-top: 1px solid var(--rule);
  background: rgba(255, 255, 255, .95);
  backdrop-filter: blur(8px);
}

.sticky-cta__inner {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding-block: .75rem;
}

.sticky-cta__label {
  min-width: 0;
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .875rem;
  color: var(--ink);
}

.sticky-cta .btn { flex-shrink: 0; }

.sticky-cta__close {
  flex-shrink: 0;
  width: 2.25rem;
  height: 2.25rem;
  color: var(--muted-fg);
}

/* ---------- РЎС‚Р°С‚СЊСЏ ---------- */

.article-layout {
  display: grid;
  gap: 2.5rem;
}

.article__title {
  margin-top: .75rem;
  font-family: var(--font-serif);
  font-size: 2.25rem;
  font-weight: 600;
  line-height: 1.1;
  text-wrap: balance;
  color: var(--ink);
}

.article__lead {
  margin-top: 1rem;
  font-size: 1.125rem;
  line-height: 1.625;
  color: var(--muted-fg);
}

@media (min-width: 768px) {
  .article__title { font-size: 2.75rem; }
}

.toc-mobile {
  margin-top: 1.5rem;
  border: 1px solid var(--rule);
  border-radius: var(--radius-lg);
  background: var(--card);
  padding: 1rem;
}

.toc-mobile summary {
  cursor: pointer;
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--brand);
}

.toc-mobile ul {
  margin-top: .75rem;
  display: flex;
  flex-direction: column;
  gap: .5rem;
}

.toc-mobile a {
  font-size: .875rem;
  color: var(--ink);
}

.toc-mobile a:hover { color: var(--brand); }

.prose {
  margin-top: 2rem;
  font-size: 1.125rem;
  line-height: 1.625;
  color: rgba(20, 24, 31, .9);
}

.prose > * + * { margin-top: 1.25rem; }

.prose h2 {
  scroll-margin-top: 6rem;
  padding-top: 1rem;
  font-family: var(--font-serif);
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.3;
  color: var(--ink);
}

.author {
  margin-top: 2.5rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  border: 1px solid var(--rule);
  border-radius: var(--radius-xl);
  background: var(--card);
  padding: 1.25rem;
}

.author__avatar {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 999px;
  background: var(--brand);
  font-family: var(--font-serif);
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--paper);
}

.author__name {
  font-family: var(--font-serif);
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--ink);
}

.author__desc {
  font-size: .875rem;
  color: var(--muted-fg);
}

.article-aside { display: none; }

.article-aside__sticky {
  position: sticky;
  top: 5rem;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.cluster-list {
  margin-top: .75rem;
  display: flex;
  flex-direction: column;
  gap: .75rem;
}

.cluster-list a {
  font-size: .875rem;
  font-weight: 500;
  line-height: 1.375;
  color: var(--ink);
}

.cluster-list a:hover { color: var(--brand); }

@media (min-width: 1024px) {
  .article-layout {
    grid-template-columns: minmax(0, 680px) 1fr;
    gap: 3.5rem;
  }
  .article-aside { display: block; }
  .toc-mobile { display: none; }
}

/* ---------- РћРіР»Р°РІР»РµРЅРёРµ ---------- */

.toc__title {
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--brand);
}

.toc__list {
  margin-top: .75rem;
  display: flex;
  flex-direction: column;
  gap: .5rem;
  border-left: 1px solid var(--rule);
}

.toc__link {
  display: block;
  margin-left: -1px;
  padding-left: .75rem;
  border-left: 2px solid transparent;
  font-size: .875rem;
  line-height: 1.375;
  color: var(--muted-fg);
  transition: color .2s ease, border-color .2s ease;
}

.toc__link:hover { color: var(--ink); }

.toc__link.is-active {
  border-left-color: var(--brand);
  font-weight: 500;
  color: var(--brand);
}

/* ---------- Р’СЂРµР·РєРё ---------- */

.callout {
  margin-block: 1.5rem;
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  border: 1px solid var(--rule);
  border-left: 4px solid var(--brand);
  border-radius: var(--radius-lg);
  background: var(--card);
  padding: 1rem;
}

.callout__icon {
  margin-top: .125rem;
  color: var(--brand);
}

.callout--deadline { border-left-color: var(--action); }
.callout--deadline .callout__icon { color: var(--action); }

.callout--penalty { border-left-color: var(--warning); }
.callout--penalty .callout__icon { color: var(--warning); }

.callout__label {
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--brand);
}

.callout__body {
  margin-top: .25rem;
  font-size: .875rem;
  line-height: 1.625;
  color: rgba(20, 24, 31, .9);
}

/* ---------- РљР°Р»СЊРєСѓР»СЏС‚РѕСЂ ---------- */

.calc-section { padding-block: 2.5rem; }

.calc {
  display: grid;
  gap: 2rem;
}

@media (min-width: 1024px) {
  .calc {
    grid-template-columns: 1fr 1.1fr;
    gap: 2.5rem;
  }
}

.calc__inputs {
  border: 1px solid var(--rule);
  border-radius: var(--radius-xl);
  background: var(--card);
  padding: 1.5rem;
}

.calc__h {
  font-family: var(--font-serif);
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--ink);
}

.calc__fieldset {
  margin-top: 1.25rem;
  border: 0;
}

.calc__legend {
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--muted-fg);
}

.calc__regimes {
  margin-top: .75rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .5rem;
}

.calc__regime {
  height: 2.75rem;
  border: 1px solid var(--rule);
  border-radius: var(--radius-lg);
  background: var(--paper);
  font-family: var(--font-mono);
  font-size: .875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--ink);
  transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}

.calc__regime:hover { border-color: var(--brand); }

.calc__regime.is-active {
  border-color: var(--brand);
  background: var(--brand);
  color: var(--paper);
}

.calc__field { margin-top: 1.25rem; }
.calc__field:first-of-type { margin-top: 1.5rem; }

.calc__label {
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--muted-fg);
}

.calc__input {
  margin-top: .5rem;
  width: 100%;
  height: 3rem;
  padding-inline: .75rem;
  border: 1px solid var(--rule);
  border-radius: var(--radius-lg);
  background: var(--paper);
  font-family: var(--font-mono);
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--ink);
}

.calc__input:focus {
  outline: none;
  border-color: var(--brand);
  box-shadow: 0 0 0 2px rgba(11, 110, 79, .3);
}

.calc__note {
  margin-top: 1.25rem;
  font-size: .75rem;
  line-height: 1.625;
  color: var(--muted-fg);
}

.calc__result {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.calc__panel {
  border: 1px solid var(--rule);
  border-radius: var(--radius-xl);
  background: var(--ink);
  padding: 1.5rem;
  color: var(--paper);
}

.calc__panel-label {
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: rgba(250, 249, 246, .6);
}

.calc__total {
  margin-top: .5rem;
  font-family: var(--font-mono);
  font-size: 3rem;
  font-weight: 600;
  line-height: 1;
}

.calc__cur {
  margin-left: .5rem;
  font-size: 1.5rem;
  color: rgba(250, 249, 246, .6);
}

@media (min-width: 768px) {
  .calc__total { font-size: 3.75rem; }
}

.calc__stats {
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(250, 249, 246, .15);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.calc__stats dt {
  font-family: var(--font-mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: rgba(250, 249, 246, .6);
}

.calc__stats dd {
  margin-top: .25rem;
  font-family: var(--font-mono);
  font-size: 1.25rem;
  font-weight: 600;
}

.calc__suggest-label {
  margin-bottom: .5rem;
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--brand);
}

/* ---------- 404 ---------- */

.notfound { padding-block: 4rem 6rem; }

.notfound__actions {
  margin-top: 2rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
}

.notfound__link {
  font-family: var(--font-mono);
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--brand);
}

.notfound__link:hover { text-decoration: underline; }

/* ---------- Р”РѕСЃС‚СѓРїРЅРѕСЃС‚СЊ ---------- */

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    transition-duration: 0.001ms !important;
  }
}

.digest__note--status {
  color: var(--paper);
  font-weight: 500;
}

/* ---------- РџР°РіРёРЅР°С†РёСЏ ---------- */

.pager {
  margin-top: 2.5rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
}

.pager__item,
.pager__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  height: 2.5rem;
  padding-inline: .5rem;
  border: 1px solid var(--rule);
  border-radius: var(--radius-md);
  background: var(--card);
  font-family: var(--font-mono);
  font-size: .875rem;
  color: var(--ink);
  transition: border-color .2s ease, background-color .2s ease;
}

.pager__item:hover,
.pager__arrow:hover { border-color: var(--brand); color: var(--brand); }

.pager__item.is-current {
  border-color: var(--brand);
  background: var(--brand);
  color: var(--paper);
}

.pager__gap { color: var(--muted-fg); padding-inline: .25rem; }

.pager__prev-icon { transform: rotate(180deg); }

/* ---------- РџСѓСЃС‚С‹Рµ СЃРѕСЃС‚РѕСЏРЅРёСЏ ---------- */

.empty {
  padding: 2rem 0;
  font-size: 1.0625rem;
  line-height: 1.625;
  color: var(--muted-fg);
}

.empty a { color: var(--brand); text-decoration: underline; text-underline-offset: 3px; }

.feed__count {
  font-family: var(--font-mono);
  font-size: 13px;
  color: var(--muted-fg);
}

/* РљР°СЂС‚РѕС‡РєР° Р±РµР· РїР°СЂС‚РЅС‘СЂСЃРєРѕР№ СЃСЃС‹Р»РєРё */
.no-partner {
  border-radius: var(--radius-md);
  background: var(--panel);
  padding: .625rem .75rem;
  font-size: .8125rem;
  line-height: 1.5;
  color: var(--muted-fg);
}

/* Р›РѕРІСѓС€РєР° РґР»СЏ Р±РѕС‚РѕРІ РІ С„РѕСЂРјРµ РїРѕРґРїРёСЃРєРё */
.trap {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  opacity: 0;
}

/* РљР°СЂС‚РёРЅРєР° РІ РєР°СЂС‚РѕС‡РєРµ СЃС‚Р°С‚СЊРё */
.acard__pic {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  transition: transform .3s ease;
}

.acard:hover .acard__pic { transform: scale(1.02); }

/* ---------- РџРѕРёСЃРє ---------- */

.searchbox {
  margin-top: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}

.searchbox__input {
  flex: 1 1 16rem;
  height: 3rem;
  padding-inline: .875rem;
  border: 1px solid var(--rule);
  border-radius: var(--radius-lg);
  background: var(--card);
  font-size: 1rem;
  color: var(--ink);
}

.searchbox__input:focus {
  outline: none;
  border-color: var(--brand);
  box-shadow: 0 0 0 2px rgba(11, 110, 79, .3);
}

.searchbox .btn { height: 3rem; }

.search-count {
  font-family: var(--font-mono);
  font-size: 13px;
  color: var(--muted-fg);
}

.search-results {
  margin-top: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 1.75rem;
}

.search-result {
  padding-bottom: 1.75rem;
  border-bottom: 1px solid var(--rule);
}

.search-result:last-child { border-bottom: 0; padding-bottom: 0; }

.search-result__cat {
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--brand);
}

.search-result__title {
  margin-top: .25rem;
  font-family: var(--font-serif);
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.3;
  color: var(--ink);
}

.search-result__title a:hover { text-decoration: underline; }

.search-result__snippet {
  margin-top: .5rem;
  font-size: .9375rem;
  line-height: 1.625;
  color: var(--muted-fg);
}

.search-result__snippet mark {
  background: rgba(232, 163, 61, .35);
  color: var(--ink);
  padding: 0 .1em;
  border-radius: 2px;
}

.search-result__meta {
  margin-top: .5rem;
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--muted-fg);
}

/* ---------- РђРІС‚РѕСЂС‹ ---------- */

.author-head {
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
}

.author-head__avatar {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 4.5rem;
  height: 4.5rem;
  border-radius: 999px;
  background: var(--brand);
  font-family: var(--font-serif);
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--paper);
}

.author-grid {
  display: grid;
  gap: 1.25rem;
}

@media (min-width: 768px) {
  .author-grid { grid-template-columns: 1fr 1fr; }
}

.author-card {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  border: 1px solid var(--rule);
  border-radius: var(--radius-xl);
  background: var(--card);
  padding: 1.25rem;
}

.author-card__name {
  font-family: var(--font-serif);
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--ink);
}

.author-card__name a:hover { color: var(--brand); }

.author-card__role {
  margin-top: .125rem;
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--brand);
}

.author-card__bio {
  margin-top: .5rem;
  font-size: .875rem;
  line-height: 1.625;
  color: var(--muted-fg);
}

.author-card__count {
  margin-top: .5rem;
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--muted-fg);
}

.author__name a:hover { color: var(--brand); }

/* ---------- РљР°СЂС‚РѕС‡РєРё РёРЅСЃС‚СЂСѓРјРµРЅС‚РѕРІ ---------- */

.tool-grid {
  display: grid;
  gap: 1.25rem;
}

@media (min-width: 640px) {
  .tool-grid { grid-template-columns: repeat(3, 1fr); }
}

.tool-card {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--rule);
  border-radius: var(--radius-xl);
  background: var(--card);
  padding: 1.5rem;
  box-shadow: var(--shadow-card);
  transition: transform .2s ease, border-color .2s ease;
}

.tool-card:hover { transform: translateY(-4px); border-color: var(--brand); }

.tool-card__icon { color: var(--brand); }

.tool-card__title {
  margin-top: .875rem;
  font-family: var(--font-serif);
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--ink);
}

.tool-card__desc {
  margin-top: .375rem;
  font-size: .875rem;
  line-height: 1.625;
  color: var(--muted-fg);
}

.tool-card__go {
  margin-top: auto;
  padding-top: 1.25rem;
  display: inline-flex;
  align-items: center;
  gap: .375rem;
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--brand);
}

/* ---------- РљР°Р»СЊРєСѓР»СЏС‚РѕСЂ: РґРѕРїРѕР»РЅРёС‚РµР»СЊРЅС‹Рµ Р±Р»РѕРєРё ---------- */

.calc__row {
  display: grid;
  gap: 1rem;
}

@media (min-width: 480px) {
  .calc__row { grid-template-columns: 1fr 1fr; }
}

.calc__row .calc__field { margin-top: 1.25rem; }

.calc__breakdown {
  border: 1px solid var(--rule);
  border-radius: var(--radius-xl);
  background: var(--card);
  padding: 1.25rem;
}

.calc__lines {
  display: flex;
  flex-direction: column;
}

.calc__lines > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  padding-block: .625rem;
  border-bottom: 1px solid var(--rule);
}

.calc__lines > div:last-child { border-bottom: 0; }

.calc__lines dt {
  font-size: .875rem;
  color: var(--muted-fg);
}

.calc__lines dd {
  font-family: var(--font-mono);
  font-size: 1rem;
  font-weight: 600;
  color: var(--ink);
}

.calc__warn {
  margin-top: .75rem;
  border-radius: var(--radius-md);
  background: rgba(194, 65, 12, .08);
  padding: .625rem .75rem;
  font-size: .8125rem;
  line-height: 1.5;
  color: var(--warning);
}

.calc.is-loss .calc__total { color: #ffb4a2; }

/* ---------- РўРµРєСЃС‚ СЃС‚Р°С‚СЊРё: РјРµР»РѕС‡Рё ---------- */

.callout__body > * + * { margin-top: .5rem; }

.prose a {
  color: var(--brand);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.prose a:hover { color: var(--ink); }

.prose ul,
.prose ol {
  padding-left: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: .5rem;
}

.prose ul { list-style: disc; }
.prose ol { list-style: decimal; }

.prose li::marker { color: var(--muted-fg); }

.prose h3 {
  padding-top: .5rem;
  font-family: var(--font-serif);
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--ink);
}

.prose strong { font-weight: 600; color: var(--ink); }

.prose--static {
  max-width: 42rem;
  font-size: 1.0625rem;
}

.prose--pillar { font-size: 1.0625rem; }

.summary__text > * + * { margin-top: .5rem; }

/* ---------- РЎСЃС‹Р»РєР° В«Рє СЃРѕРґРµСЂР¶РёРјРѕРјСѓВ» РґР»СЏ РєР»Р°РІРёР°С‚СѓСЂС‹ ---------- */

.skip-link {
  position: absolute;
  left: -9999px;
  z-index: 100;
  padding: .75rem 1.25rem;
  border-radius: 0 0 var(--radius-md) 0;
  background: var(--brand);
  font-family: var(--font-mono);
  font-size: .875rem;
  color: var(--paper);
}

.skip-link:focus {
  left: 0;
  top: 0;
}

/* ---------- РџРѕРґРїРёСЃСЊ РїСЂРѕ РіРѕРґ СЃС‚Р°РІРѕРє ---------- */

.rates-note {
  margin-top: 1rem;
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--muted-fg);
}

.rates-note__warn {
  display: inline-block;
  margin-left: .25rem;
  padding: .125rem .5rem;
  border-radius: var(--radius-sm);
  background: rgba(232, 163, 61, .2);
  color: var(--ink);
}

/* ---------- РљР°Р»СЊРєСѓР»СЏС‚РѕСЂ: РЅРѕРІС‹Рµ СЌР»РµРјРµРЅС‚С‹ ---------- */

.calc--wide { grid-template-columns: 1fr; }

@media (min-width: 1024px) {
  .calc--wide { grid-template-columns: 1fr 1.2fr; }
}

.calc__hint {
  margin-top: .375rem;
  font-size: .75rem;
  line-height: 1.5;
  color: var(--muted-fg);
}

.calc__check {
  display: flex;
  align-items: flex-start;
  gap: .5rem;
  margin-top: .75rem;
  font-size: .875rem;
  line-height: 1.4;
  color: var(--ink);
  cursor: pointer;
}

.calc__check--row { margin-top: 1.25rem; }

.calc__check input {
  margin-top: .15rem;
  width: 1rem;
  height: 1rem;
  accent-color: var(--brand);
  flex-shrink: 0;
}

.calc__linkout {
  margin-top: .875rem;
  padding-top: .875rem;
  border-top: 1px solid var(--rule);
  font-size: .8125rem;
  line-height: 1.6;
  color: var(--muted-fg);
}

.calc__linkout a {
  color: var(--brand);
  font-weight: 500;
}

.calc__linkout a:hover { text-decoration: underline; }

.calc__ratio {
  margin-top: .875rem;
  padding-top: .875rem;
  border-top: 1px solid var(--rule);
  font-size: .875rem;
  line-height: 1.6;
  color: var(--ink);
}

.calc__ratio strong {
  font-family: var(--font-mono);
  font-weight: 600;
  color: var(--brand);
}

/* ---------- РЎСЂР°РІРЅРµРЅРёРµ РЅР°Р»РѕРіРѕРІС‹С… СЂРµР¶РёРјРѕРІ ---------- */

.modes {
  display: grid;
  gap: .875rem;
}

@media (min-width: 560px) {
  .modes { grid-template-columns: 1fr 1fr; }
}

.mode {
  border: 1px solid var(--rule);
  border-radius: var(--radius-xl);
  background: var(--card);
  padding: 1.125rem;
  transition: border-color .2s ease;
}

.mode.is-best {
  border-color: var(--brand);
  box-shadow: 0 0 0 1px var(--brand);
}

.mode.is-off {
  opacity: .55;
  background: var(--panel);
}

.mode__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: .5rem;
  min-height: 1.25rem;
}

.mode__title {
  font-family: var(--font-serif);
  font-size: 1.0625rem;
  font-weight: 600;
  color: var(--ink);
}

.mode__badge:not(:empty) {
  padding: .125rem .5rem;
  border-radius: var(--radius-sm);
  background: var(--brand);
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--paper);
  white-space: nowrap;
}

.mode__total {
  margin-top: .5rem;
  font-family: var(--font-mono);
  font-size: 1.625rem;
  font-weight: 600;
  line-height: 1.1;
  color: var(--ink);
}

.mode.is-best .mode__total { color: var(--brand); }

.mode__split {
  margin-top: .75rem;
  padding-top: .625rem;
  border-top: 1px solid var(--rule);
  display: flex;
  gap: 1.25rem;
}

.mode__split dt {
  font-family: var(--font-mono);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--muted-fg);
}

.mode__split dd {
  margin-top: .125rem;
  font-family: var(--font-mono);
  font-size: .875rem;
  font-weight: 600;
  color: var(--ink);
}

.mode__note {
  margin-top: .625rem;
  font-size: .75rem;
  line-height: 1.5;
  color: var(--muted-fg);
}

/* Р’Р°СЂРёР°РЅС‚С‹ РєР°Р»СЊРєСѓР»СЏС‚РѕСЂРѕРІ РЅР° РґРІРµ Рё РѕРґРЅСѓ РєРѕР»РѕРЅРєСѓ */
.modes--two { grid-template-columns: 1fr; }

@media (min-width: 560px) {
  .modes--two { grid-template-columns: 1fr 1fr; }
}

.modes--single { grid-template-columns: 1fr; }

.mode__split--wrap {
  flex-wrap: wrap;
  row-gap: .625rem;
}

.mode__cta { margin-top: .875rem; }

.calc__h--sub {
  margin-top: 1.75rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--rule);
  font-size: 1.0625rem;
}

.calc__hint a {
  color: var(--brand);
  text-decoration: underline;
}

/* ---------- РќР°Р»РѕРіРѕРІС‹Р№ РєР°Р»РµРЅРґР°СЂСЊ ---------- */

.cal-filter {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 1rem;
  margin-top: 1.5rem;
  padding: 1.25rem;
  border: 1px solid var(--rule);
  border-radius: var(--radius-xl);
  background: var(--card);
}

.cal-filter__field {
  flex: 1 1 16rem;
  display: flex;
  flex-direction: column;
  gap: .5rem;
}

.cal-filter__select {
  height: 3rem;
  padding-inline: .75rem;
  border: 1px solid var(--rule);
  border-radius: var(--radius-lg);
  background: var(--paper);
  font-size: 1rem;
  color: var(--ink);
}

.cal-filter__select:focus {
  outline: none;
  border-color: var(--brand);
  box-shadow: 0 0 0 2px rgba(11, 110, 79, .3);
}

.cal-filter__check { margin-top: 0; }
.cal-filter .btn { height: 3rem; }

.cal-next {
  display: flex;
  align-items: flex-start;
  gap: .875rem;
  margin-top: 1.5rem;
  padding: 1.25rem;
  border: 1px solid var(--rule);
  border-left: 4px solid var(--action);
  border-radius: var(--radius-xl);
  background: var(--card);
}

.cal-next__icon { color: var(--action); margin-top: .125rem; }

.cal-next__label {
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--brand);
}

.cal-next__title {
  margin-top: .25rem;
  font-family: var(--font-serif);
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--ink);
}

.cal-next__date {
  margin-top: .125rem;
  font-size: .875rem;
  color: var(--muted-fg);
}

.cal-month {
  margin-top: 2rem;
  margin-bottom: .75rem;
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--brand);
}

.cal-list {
  border: 1px solid var(--rule);
  border-radius: var(--radius-xl);
  background: var(--card);
  overflow: hidden;
}

.cal-item {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid var(--rule);
  border-left: 3px solid transparent;
}

.cal-item:last-child { border-bottom: 0; }

.cal-item--tax { border-left-color: var(--brand); }
.cal-item--report { border-left-color: var(--info); }
.cal-item--contribution { border-left-color: var(--action); }

.cal-item__date {
  flex-shrink: 0;
  width: 2rem;
  font-family: var(--font-mono);
  font-size: 1.375rem;
  font-weight: 600;
  line-height: 1.2;
  color: var(--ink);
}

.cal-item__body { flex: 1; min-width: 0; }

.cal-item__title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--ink);
}

.cal-item__note {
  margin-top: .25rem;
  font-size: .8125rem;
  line-height: 1.5;
  color: var(--muted-fg);
}

.cal-item__source {
  margin-top: .25rem;
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--rule);
}

.cal-item__kind {
  flex-shrink: 0;
  font-family: var(--font-mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--muted-fg);
}

.cal-help {
  border: 1px solid var(--rule);
  border-radius: var(--radius-xl);
  background: var(--panel);
  padding: 1.5rem;
}

.cal-help p {
  margin-top: .75rem;
  font-size: .9375rem;
  line-height: 1.7;
  color: rgba(20, 24, 31, .9);
}

.cal-help a { color: var(--brand); text-decoration: underline; }

/* ---------- Р§РµРє-Р»РёСЃС‚С‹ ---------- */

.chk {
  border: 1px solid var(--rule);
  border-radius: var(--radius-xl);
  background: var(--card);
  padding: 1.5rem;
}

.chk__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.chk__progress {
  font-family: var(--font-mono);
  font-size: 13px;
  color: var(--muted-fg);
}

.chk__reset {
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--muted-fg);
  text-decoration: underline;
}

.chk__reset:hover { color: var(--warning); }

.chk__bar {
  margin-top: .625rem;
  height: 4px;
  border-radius: 999px;
  background: var(--panel);
  overflow: hidden;
}

.chk__bar-fill {
  display: block;
  height: 100%;
  background: var(--brand);
  transition: width .3s ease;
}

.chk__list {
  margin-top: 1.25rem;
  display: flex;
  flex-direction: column;
}

.chk__item { border-bottom: 1px solid var(--rule); }
.chk__item:last-child { border-bottom: 0; }

.chk__label {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  padding-block: .875rem;
  cursor: pointer;
}

.chk__box {
  margin-top: .2rem;
  width: 1.125rem;
  height: 1.125rem;
  flex-shrink: 0;
  accent-color: var(--brand);
}

.chk__title {
  display: block;
  font-size: 1rem;
  font-weight: 600;
  color: var(--ink);
}

.chk__note {
  display: block;
  margin-top: .25rem;
  font-size: .8125rem;
  line-height: 1.55;
  color: var(--muted-fg);
}

.chk__item.is-done .chk__title {
  text-decoration: line-through;
  color: var(--muted-fg);
}

.chk__done {
  margin-top: 1.25rem;
  padding: .875rem 1rem;
  border-radius: var(--radius-md);
  background: rgba(30, 142, 90, .1);
  font-size: .9375rem;
  color: var(--ink);
}

.chk__done a { color: var(--brand); text-decoration: underline; }

/* ---------- РЎС‡С‘С‚ РЅР° РѕРїР»Р°С‚Сѓ ---------- */

.invoice {
  display: grid;
  gap: 2rem;
  padding-block: 2.5rem;
}

@media (min-width: 1024px) {
  .invoice { grid-template-columns: 1fr 1.15fr; align-items: start; }
}

.invoice__form {
  border: 1px solid var(--rule);
  border-radius: var(--radius-xl);
  background: var(--card);
  padding: 1.5rem;
}

.calc__input--text { font-family: var(--font-sans); font-weight: 400; font-size: 1rem; }

.inv-row {
  display: grid;
  grid-template-columns: 1fr 4rem 3.5rem 6rem 1.75rem;
  gap: .5rem;
  margin-top: .5rem;
  align-items: center;
}

.inv-row .calc__input { margin-top: 0; height: 2.5rem; font-size: .875rem; }

.inv-row__del {
  height: 2.5rem;
  border-radius: var(--radius-md);
  font-size: 1.25rem;
  line-height: 1;
  color: var(--muted-fg);
}

.inv-row__del:hover { color: var(--warning); background: var(--panel); }

.invoice__add { margin-top: .875rem; }

.invoice__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--rule);
}

.invoice__reset {
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--muted-fg);
  text-decoration: underline;
}

.invoice__reset:hover { color: var(--warning); }

.invoice__doc {
  border: 1px solid var(--rule);
  border-radius: var(--radius-xl);
  background: #fff;
  padding: 1.75rem;
  font-size: .8125rem;
  color: var(--ink);
}

.inv-bank {
  width: 100%;
  border: 1px solid var(--ink);
}

.inv-bank td {
  border: 1px solid var(--ink);
  padding: .3rem .5rem;
  font-size: .75rem;
  vertical-align: top;
}

.inv-bank__label { color: var(--muted-fg); width: 30%; }
.inv-bank__label--sm { width: 12%; }
.inv-bank__value { font-weight: 600; }

.inv-title {
  margin-top: 1.25rem;
  font-family: var(--font-serif);
  font-size: 1.25rem;
  font-weight: 600;
  border-bottom: 2px solid var(--ink);
  padding-bottom: .5rem;
}

.inv-parties { margin-top: 1rem; }

.inv-parties > div {
  display: flex;
  gap: .75rem;
  padding-block: .35rem;
}

.inv-parties dt {
  flex-shrink: 0;
  width: 6rem;
  color: var(--muted-fg);
}

.inv-items {
  width: 100%;
  margin-top: 1.25rem;
  border-collapse: collapse;
}

.inv-items th,
.inv-items td {
  border: 1px solid var(--rule);
  padding: .4rem .5rem;
  text-align: left;
  font-size: .75rem;
}

.inv-items th {
  background: var(--panel);
  font-family: var(--font-mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  font-weight: 500;
}

.inv-total {
  margin-top: .875rem;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: .25rem;
}

.inv-total > div {
  display: flex;
  gap: 1.5rem;
  justify-content: flex-end;
  min-width: 14rem;
}

.inv-total dt { color: var(--muted-fg); }
.inv-total dd { font-weight: 600; min-width: 6rem; text-align: right; }

.inv-total__grand dt,
.inv-total__grand dd {
  font-size: 1rem;
  font-weight: 600;
  color: var(--ink);
}

.inv-words { margin-top: .875rem; font-size: .75rem; color: var(--muted-fg); }
.inv-words__sum { font-weight: 600; color: var(--ink); font-size: .8125rem; }

.inv-sign {
  margin-top: 2.5rem;
  display: flex;
  gap: 2.5rem;
}

.inv-sign > div { flex: 1; }

.inv-sign__line {
  display: block;
  border-bottom: 1px solid var(--ink);
  height: 1.5rem;
}

.inv-sign__label {
  display: block;
  margin-top: .25rem;
  font-size: .7rem;
  color: var(--muted-fg);
}

/* ---------- РџРµС‡Р°С‚СЊ: РЅР° Р±СѓРјР°РіСѓ СѓС…РѕРґРёС‚ С‚РѕР»СЊРєРѕ СЃР°Рј СЃС‡С‘С‚ ---------- */

@media print {
  .site-header,
  .site-footer,
  .sticky-cta,
  .skip-link,
  .no-print,
  .invoice__form { display: none !important; }

  body { background: #fff; }

  .invoice { display: block; padding: 0; }

  .invoice__doc {
    border: 0;
    border-radius: 0;
    padding: 0;
    font-size: 11pt;
  }

  .container { max-width: none; padding: 0; }

  @page { margin: 15mm; }
}

/* ---------- РЎС‡С‘С‚ РЅР° СѓР·РєРёС… СЌРєСЂР°РЅР°С… ---------- */

@media (max-width: 720px) {
  /* РџРѕР»СЏ РїРѕР·РёС†РёРё РїРµСЂРµСЃС‚СЂР°РёРІР°РµРј РІ РґРІР° СЂСЏРґР°: РІ РѕРґРЅСѓ СЃС‚СЂРѕРєСѓ РѕРЅРё РЅРµ РїРѕРјРµС‰Р°СЋС‚СЃСЏ. */
  .inv-row {
    grid-template-columns: 1fr 1fr 2rem;
    gap: .375rem;
  }

  .inv-row [data-row='title'] { grid-column: 1 / 3; }
  .inv-row__del { grid-row: 1; grid-column: 3; }

  /* РЎР°Рј РґРѕРєСѓРјРµРЅС‚ вЂ” РІС‘СЂСЃС‚РєР° РїРѕРґ Рђ4, РїРѕСЌС‚РѕРјСѓ РґР°С‘Рј РµРјСѓ РїСЂРѕРєСЂСѓС‚РєСѓ РІРјРµСЃС‚Рѕ СЃР¶Р°С‚РёСЏ. */
  .invoice__preview {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .invoice__doc {
    min-width: 34rem;
    padding: 1.25rem;
  }
}

@media print {
  .invoice__preview { overflow: visible; }
  .invoice__doc { min-width: 0; }
}

/* РЎРѕРіР»Р°СЃРёРµ РЅР° РѕР±СЂР°Р±РѕС‚РєСѓ РґР°РЅРЅС‹С… РІ С„РѕСЂРјРµ РїРѕРґРїРёСЃРєРё */
.digest__consent {
  display: flex;
  align-items: flex-start;
  gap: .5rem;
  margin-top: .25rem;
  font-size: .75rem;
  line-height: 1.45;
  color: rgba(250, 249, 246, .85);
  cursor: pointer;
}

.digest__consent input {
  margin-top: .1rem;
  width: .875rem;
  height: .875rem;
  flex-shrink: 0;
  accent-color: var(--action);
}

.digest__consent a {
  color: var(--paper);
  text-decoration: underline;
}

/* ---------- РЎР»Р°Р№РґРµСЂ РІ С€Р°РїРєРµ РіР»Р°РІРЅРѕР№ ---------- */

.hero-slider {
  border-bottom: 1px solid var(--rule);
}

/* Р’С‹СЃРѕС‚Р° Р·Р°РґР°РЅР° Р·РґРµСЃСЊ, Р° РЅРµ СЃРѕРґРµСЂР¶РёРјС‹Рј: РёРЅР°С‡Рµ РїСЂРё СЃРјРµРЅРµ СЃР»Р°Р№РґР° СЃС‚СЂР°РЅРёС†Р°
   РґС‘СЂРіР°РµС‚СЃСЏ РЅР° СЂР°Р·РЅРёС†Сѓ РІ РґР»РёРЅРµ Р·Р°РіРѕР»РѕРІРєР°. */
.hero-slider__viewport {
  position: relative;
  min-height: 21rem;
}

@media (min-width: 640px) {
  .hero-slider__viewport { min-height: 23rem; }
}

@media (min-width: 1024px) {
  .hero-slider__viewport { min-height: 24rem; }
}

.hero-slider .hero {
  border-bottom: 0;
  padding-block: 2.5rem 1.5rem;
}

@media (min-width: 768px) {
  .hero-slider .hero { padding-block: 3.25rem 1.75rem; }
}

/* РџРѕСЏРІР»РµРЅРёРµ РЅРѕРІРѕРіРѕ СЃР»Р°Р№РґР°: РєРѕСЂРѕС‚РєРѕРµ Рё РµРґРІР° Р·Р°РјРµС‚РЅРѕРµ. */
.hero-slider .hero:not([hidden]) {
  animation: hero-in .45s ease;
}

@keyframes hero-in {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: none; }
}

/* ---------- РџР°РЅРµР»СЊ СѓРїСЂР°РІР»РµРЅРёСЏ ---------- */

.hero-slider__bar {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding-bottom: 1.5rem;
}

.hero-slider__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  flex-shrink: 0;
  border: 1px solid var(--rule);
  border-radius: var(--radius-md);
  background: var(--card);
  color: var(--ink);
  transition: border-color .2s ease, color .2s ease;
}

.hero-slider__arrow:hover {
  border-color: var(--brand);
  color: var(--brand);
}

.hero-slider__arrow-icon { transform: rotate(180deg); }

.hero-slider__dots {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .375rem;
  flex: 1;
  list-style: none;
  margin: 0;
  padding: 0;
}

/* РўРѕС‡РєР° РјРµР»РєР°СЏ, РЅРѕ Р·РѕРЅР° РЅР°Р¶Р°С‚РёСЏ РІРѕРєСЂСѓРі РЅРµС‘ РєСЂСѓРїРЅР°СЏ вЂ” РёРЅР°С‡Рµ РЅРµ РїРѕРїР°СЃС‚СЊ РїР°Р»СЊС†РµРј. */
.hero-slider__dot {
  display: block;
  width: 1.75rem;
  height: 1.75rem;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  position: relative;
}

.hero-slider__dot::before {
  content: '';
  position: absolute;
  inset: 50% auto auto 50%;
  width: .5rem;
  height: .5rem;
  margin: -.25rem 0 0 -.25rem;
  border-radius: 999px;
  background: var(--rule);
  transition: background-color .2s ease, width .2s ease, margin-left .2s ease;
}

.hero-slider__dot:hover::before { background: var(--muted-fg); }

.hero-slider__dot.is-active::before {
  width: 1.25rem;
  margin-left: -.625rem;
  background: var(--brand);
}

.hero-slider__play {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  flex-shrink: 0;
  border: 1px solid var(--rule);
  border-radius: var(--radius-md);
  background: var(--card);
  color: var(--muted-fg);
  transition: border-color .2s ease, color .2s ease;
}

.hero-slider__play:hover {
  border-color: var(--brand);
  color: var(--brand);
}

/* Р”РІРµ РїР°СѓР·С‹-РїР°Р»РѕС‡РєРё Рё С‚СЂРµСѓРіРѕР»СЊРЅРёРє: РїРѕРєР°Р·С‹РІР°РµРј С‚Рѕ, С‡С‚Рѕ РїСЂРѕРёР·РѕР№РґС‘С‚ РїРѕ РЅР°Р¶Р°С‚РёСЋ. */
.hero-slider__play-pause {
  width: .75rem;
  height: .75rem;
  border-left: 3px solid currentColor;
  border-right: 3px solid currentColor;
}

.hero-slider__play-go {
  display: none;
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 9px solid currentColor;
}

.hero-slider.is-paused .hero-slider__play-pause { display: none; }
.hero-slider.is-paused .hero-slider__play-go { display: block; }

.hero-slider__controls {
  display: flex;
  align-items: center;
  gap: .5rem;
  flex-shrink: 0;
}

@media (max-width: 559px) {
  .hero-slider__bar { flex-direction: column-reverse; gap: .875rem; }
  .hero-slider__dots { justify-content: center; }
}

/* РџРѕР»СЊР·РѕРІР°С‚РµР»СЊ РїСЂРѕСЃРёР» РјРµРЅСЊС€Рµ РґРІРёР¶РµРЅРёСЏ вЂ” РЅРµ РґРІРёРіР°РµРј РЅРёС‡РµРіРѕ Рё РЅРµ РєСЂСѓС‚РёРј СЃР°РјРё. */
@media (prefers-reduced-motion: reduce) {
  .hero-slider .hero:not([hidden]) { animation: none; }
}

/* РљРёСЂРёР»Р»РёС‡РµСЃРєРѕРµ РЅР°Р·РІР°РЅРёРµ РґР»РёРЅРЅРµРµ РїСЂРµР¶РЅРµРіРѕ Р»Р°С‚РёРЅСЃРєРѕРіРѕ, Рё РЅР° СѓР·РєРёС… СЌРєСЂР°РЅР°С…
   С€Р°РїРєР° РїРµСЂРµСЃС‚Р°Р»Р° РїРѕРјРµС‰Р°С‚СЊСЃСЏ. РЈР¶РёРјР°РµРј Р»РѕРіРѕС‚РёРї Рё РєРЅРѕРїРєСѓ. */
@media (max-width: 420px) {
  .logo { font-size: 1.25rem; }
  .site-header.is-scrolled .logo { font-size: 1.125rem; }
  .site-header__inner { gap: .5rem; }
  .site-header__left { gap: .375rem; }
  .site-header__right .btn--sm { padding-inline: .75rem; font-size: 12px; }
  .icon-btn { width: 2.25rem; }
}



/* === Cercanova Integration Contract Helpers in ОнлиБизи Design === */
.key-points {
  margin: 1.5rem 0 2rem;
  padding: 1.25rem 1.5rem;
  background: var(--panel);
  border-left: 4px solid var(--brand);
  border-radius: 0 var(--radius-lg) var(--radius-lg) 0;
}
.key-points-title {
  font-family: var(--font-serif);
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--ink);
  margin-bottom: 0.5rem;
}
.key-points ul {
  margin: 0;
  padding-left: 1.25rem;
  list-style: disc;
}
.key-points li {
  color: var(--ink);
  margin-bottom: 0.35rem;
  line-height: 1.5;
}

.article-rating {
  margin: 2rem 0;
  padding: 1.25rem 1.5rem;
  background: var(--panel);
  border-radius: var(--radius-lg);
  border: 1px solid var(--rule);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
}
.article-rating__stars {
  display: inline-flex;
  gap: 6px;
  margin-left: 8px;
}
.star-btn {
  background: none;
  border: none;
  font-size: 1.75rem;
  line-height: 1;
  color: #cbd5e1;
  cursor: pointer;
  padding: 0;
  transition: color .15s, transform .1s;
}
.star-btn.is-active,
.star-btn:hover {
  color: var(--action);
}
.star-btn:active {
  transform: scale(0.9);
}

.report-line {
  margin: 1.5rem 0;
  padding: 0.75rem 0;
  font-size: 0.875rem;
  color: var(--muted-fg);
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.report-line kbd {
  display: inline-block;
  padding: 2px 6px;
  background: var(--card);
  border: 1px solid var(--rule);
  border-radius: 4px;
  font-family: var(--font-mono);
  font-size: 0.75rem;
  color: var(--ink);
}
.report-btn {
  background: none;
  border: none;
  color: var(--brand);
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
  font-weight: 500;
  padding: 0;
}
.report-btn:hover {
  color: #08533b;
}

.cookie-bar {
  position: fixed;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  z-index: 100;
  max-width: 520px;
  margin: 0 auto;
  padding: 1rem 1.25rem;
  border-radius: var(--radius-lg);
  background: var(--ink);
  color: var(--paper);
  font-size: 0.875rem;
  line-height: 1.5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  box-shadow: 0 10px 25px -5px rgba(20, 24, 31, 0.3);
}
.cookie-bar[hidden] { display: none !important; }
.cookie-bar p { margin: 0; }
.cookie-bar a { color: #ffffff; text-decoration: underline; }
.cookie-bar button {
  flex-shrink: 0;
  min-height: 36px;
  padding: 0 1rem;
  border-radius: var(--radius-md);
  background: var(--action);
  color: var(--ink);
  font-weight: 600;
  font-size: 0.875rem;
  border: 0;
  cursor: pointer;
}

.report-dialog {
  width: min(500px, calc(100vw - 2rem));
  max-height: calc(100dvh - 2rem);
  padding: 1.5rem;
  border: 1px solid var(--rule);
  border-radius: var(--radius-xl);
  background: var(--card);
  color: var(--ink);
  box-shadow: 0 20px 40px rgba(20, 24, 31, 0.2);
}
.report-dialog::backdrop {
  background: rgba(20, 24, 31, 0.5);
  backdrop-filter: blur(4px);
}

.lightbox {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 0;
  border: 0;
  background: rgba(20, 24, 31, 0.95);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 200;
}
.lightbox[open] { display: flex; }
.lightbox img {
  max-width: 90vw;
  max-height: 85vh;
  object-fit: contain;
  border-radius: var(--radius-md);
}
.lightbox-close {
  position: absolute;
  top: 1.5rem;
  right: 1.5rem;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.15);
  color: #ffffff;
  border: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.share-row {
  margin: 2rem 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.share-label {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--muted-fg);
  margin-right: 0.5rem;
}

.in-article-offer {
  margin: 2rem 0;
  padding: 1.5rem;
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  border-radius: var(--radius-lg);
}
.in-article-offer h4 {
  font-family: var(--font-serif);
  font-size: 1.25rem;
  font-weight: 600;
  color: #166534;
  margin-bottom: 0.5rem;
}
.in-article-offer p {
  color: #1f2937;
  font-size: 0.95rem;
  margin-bottom: 1rem;
}
