
:root {
  --bg: #edf3e7;
  --bg-2: #e7efdf;
  --surface: rgba(255,255,255,.92);
  --surface-strong: #ffffff;
  --text: #1f2937;
  --muted: #5b6872;
  --pine-900: #183222;
  --pine-800: #21402b;
  --pine-700: #274c2d;
  --pine-600: #2f6b37;
  --pine-500: #4b8b52;
  --sage: #dce8d0;
  --moss: #89a978;
  --amber: #c28b2c;
  --line: rgba(39,76,45,.14);
  --line-strong: rgba(39,76,45,.22);
  --shadow: 0 18px 45px rgba(24,50,34,.12);
  --radius-2xl: 32px;
  --radius-xl: 24px;
  --radius-lg: 18px;
  --radius-md: 14px;
  --radius-sm: 12px;
  --maxw: 1260px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, "Segoe UI", Roboto, Arial, sans-serif;
  color: var(--text);
  background:
    radial-gradient(circle at left top, rgba(75,139,82,.16), transparent 28%),
    radial-gradient(circle at right top, rgba(194,139,44,.12), transparent 22%),
    linear-gradient(180deg, #f1f6ec 0%, var(--bg) 48%, var(--bg-2) 100%);
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; }
.container { width: min(var(--maxw), calc(100% - 32px)); margin: 0 auto; }
.narrow { width: min(860px, calc(100% - 32px)); margin: 0 auto; }
.site-shell::before,
.site-shell::after {
  content: "";
  position: fixed;
  pointer-events: none;
  z-index: 0;
  border-radius: 50%;
  opacity: .55;
}
.site-shell::before {
  width: 460px; height: 460px; left: -160px; top: 180px;
  background: radial-gradient(circle, rgba(75,139,82,.18), rgba(75,139,82,0) 70%);
}
.site-shell::after {
  width: 380px; height: 380px; right: -120px; top: 90px;
  background: radial-gradient(circle, rgba(194,139,44,.14), rgba(194,139,44,0) 68%);
}
.site-header {
  position: sticky; top: 0; z-index: 60; backdrop-filter: blur(16px);
  background: rgba(237,243,231,.78); border-bottom: 1px solid rgba(39,76,45,.08);
}
.topbar {
  display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 0;
}
.brand-wrap { display:flex; align-items:center; gap: 16px; }
.brand { display: flex; align-items: center; gap: 14px; font-weight: 800; }
.brand small { display:block; font-size:11px; text-transform:uppercase; letter-spacing:.08em; color: var(--muted); margin-bottom: 2px; }
.brand-mark {
  width: 44px; height: 44px; display: grid; place-items: center; border-radius: 14px;
  color: white; background: linear-gradient(160deg, var(--pine-600), var(--pine-800)); box-shadow: var(--shadow);
}
.primary-nav { display:flex; align-items:center; gap: 10px; }
.primary-nav .menu,
.primary-nav .menu-fallback,
.footer-menu,
.footer-menu .menu-fallback { list-style: none; margin: 0; padding: 0; display:flex; flex-wrap:wrap; gap: 8px; }
.primary-nav a,
.footer-menu a,
.menu-fallback a { padding: 10px 14px; border-radius: 999px; font-size: 14px; font-weight: 700; color: #334155; display:inline-block; }
.primary-nav a:hover,
.footer-menu a:hover,
.menu-fallback a:hover { background: rgba(39,76,45,.08); color: var(--pine-700); }
.menu-toggle { display:none; border: 0; border-radius: 12px; background: white; padding: 10px 12px; cursor:pointer; }
.site-main { position:relative; z-index:1; }
.hero-section { padding: 34px 0 26px; }
.hero-card {
  overflow:hidden; position:relative; isolation:isolate; min-height: 520px;
  padding: 34px; border-radius: 36px; color:white; box-shadow: var(--shadow);
  background: linear-gradient(135deg, rgba(24,50,34,.96), rgba(39,76,45,.92) 52%, rgba(56,108,61,.88) 100%);
  display:grid; grid-template-columns: 1.1fr .9fr; gap: 26px;
}
.hero-copy h1 { margin: 0 0 14px; font-size: clamp(2rem, 5vw, 4rem); line-height: 1.02; max-width: 680px; }
.hero-copy p { margin:0 0 18px; max-width: 640px; font-size: 1.06rem; color: rgba(255,255,255,.9); line-height:1.7; }
.eyebrow { display:inline-flex; margin-bottom: 14px; border-radius: 999px; padding: 7px 12px; background: rgba(255,255,255,.12); font-size: .76rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.hero-actions,.button-row,.cta-actions,.card-actions,.badge-row { display:flex; flex-wrap:wrap; gap: 12px; align-items:center; }
.hero-points { margin: 22px 0 0; padding:0; list-style:none; display:grid; gap:12px; }
.hero-points li::before { content:'✓'; margin-right: 8px; color: #dff5d8; }
.hero-panel { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; align-self:start; }
.metric-card { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.14); border-radius: 24px; padding: 18px; backdrop-filter: blur(10px); }
.metric-card strong { font-size: 2rem; display:block; margin-bottom: 6px; }
.button {
  display:inline-flex; align-items:center; justify-content:center; gap: 8px; padding: 13px 18px; min-height: 48px;
  border-radius: 999px; background: var(--pine-600); color:white; font-weight: 700; border:1px solid transparent;
  box-shadow: 0 12px 24px rgba(0,0,0,.12); transition: transform .2s ease, background .2s ease, border-color .2s ease;
}
.button:hover { transform: translateY(-1px); background: #285b2f; }
.button.ghost { background: transparent; border-color: rgba(255,255,255,.28); color: inherit; box-shadow:none; }
.button.ghost:hover { background: rgba(255,255,255,.08); }
.button.small { min-height: 40px; padding: 10px 14px; font-size:.92rem; }
.text-link { font-weight: 700; color: var(--pine-700); }
.site-section { padding: 22px 0; }
.section-grid.two-up { display:grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.feature-card, .card {
  background: var(--surface); border:1px solid var(--line); border-radius: 28px; box-shadow: var(--shadow);
}
.feature-card { padding: 24px; }
.feature-icon { display:inline-grid; place-items:center; width: 50px; height: 50px; border-radius: 16px; background: rgba(47,107,55,.12); font-size: 24px; margin-bottom: 10px; }
.section-head { display:flex; align-items:end; justify-content:space-between; gap: 12px; margin-bottom: 18px; }
.section-head h2 { margin: 4px 0 0; font-size: clamp(1.6rem, 3vw, 2.3rem); }
.cards-grid { display:grid; gap: 18px; }
.cols-2 { grid-template-columns: repeat(2,minmax(0,1fr)); }
.cols-3 { grid-template-columns: repeat(3,minmax(0,1fr)); }
.cols-4 { grid-template-columns: repeat(4,minmax(0,1fr)); }
.panel, .list-card, .content-card, .sidebar-card, .article-card { padding: 22px; }
.card-top-row { display:flex; align-items:center; justify-content:space-between; gap: 12px; margin-bottom: 10px; flex-wrap:wrap; }
.list-card h2,.list-card h3,.article-card h2 { margin: 0 0 10px; font-size:1.24rem; }
.list-card p, .panel p, .sidebar-card p, .entry-content, .article-card .entry-summary { color: var(--muted); line-height: 1.7; }
.article-meta { color: var(--muted); font-size: .9rem; margin-bottom: 8px; }
.soft-badge,.status-badge { display:inline-flex; align-items:center; padding: 8px 12px; border-radius: 999px; font-size: .78rem; font-weight: 800; }
.soft-badge { background: #f3f7ef; color: #35533a; border: 1px solid rgba(39,76,45,.1); }
.status-badge { color:#fff; }
.status-novaya,.status-new { background:#64748b; }
.status-na-rassmotrenii,.status-review { background:#c28b2c; }
.status-zaplanirovano,.status-planned { background:#2563eb; }
.status-v-rabote,.status-in-progress { background:#8b5cf6; }
.status-vypushcheno,.status-done { background:#16a34a; }
.plain-list { list-style:none; padding:0; margin:0; display:grid; gap: 8px; }
.content-grid { display:grid; grid-template-columns: minmax(0,1fr) 320px; gap: 20px; padding: 22px 0 40px; }
.content-single { padding: 0 0 40px; }
.stack-gap > * + * { margin-top: 18px; }
.page-hero.simple { padding: 28px 0 12px; }
.page-hero.simple h1 { margin: 0 0 10px; font-size: clamp(2rem, 4vw, 3rem); }
.page-hero.simple p { color: var(--muted); max-width: 760px; }
.prose-list p { margin: 0 0 12px; }
.cta-band {
  margin: 26px auto 40px; padding: 28px; border-radius: 30px; color: white;
  background: linear-gradient(135deg, var(--pine-800), var(--pine-600)); box-shadow: var(--shadow);
  display:grid; grid-template-columns: 1.3fr .7fr; gap: 20px; align-items:center;
}
.site-footer { margin-top: 12px; background: rgba(24,50,34,.96); color: rgba(255,255,255,.9); }
.footer-grid { padding: 34px 0 24px; display:grid; grid-template-columns: 1.1fr .8fr .8fr; gap: 22px; }
.footer-brand { font-size:1.1rem; font-weight: 800; margin-bottom: 6px; }
.site-footer h3 { margin-top:0; font-size: 1rem; }
.site-footer a { color: rgba(255,255,255,.86); }
.footer-bottom { padding: 16px 0 24px; border-top: 1px solid rgba(255,255,255,.08); display:flex; justify-content:space-between; gap: 12px; color: rgba(255,255,255,.68); font-size:.92rem; }
.pagination ul { list-style:none; padding:0; display:flex; gap: 8px; justify-content:center; margin: 18px 0 0; }
.pagination a,.pagination span { display:inline-flex; align-items:center; justify-content:center; min-width: 40px; height:40px; border-radius: 999px; border:1px solid var(--line); background:white; }
.pagination .current { background: var(--pine-600); color:#fff; border-color:transparent; }
.screen-reader-text { position:absolute !important; left:-9999px !important; }
.widget_search .search-form { display:flex; gap:8px; }
.widget_search input[type="search"] { flex:1; min-height:44px; border-radius: 14px; border:1px solid var(--line-strong); padding: 0 14px; }
.widget_search button { min-height:44px; border:0; border-radius:14px; background: var(--pine-600); color:#fff; padding: 0 16px; }
.lesnoy-form { display:grid; gap: 14px; }
.lesnoy-form .field-row { display:grid; gap: 8px; }
.lesnoy-form label { font-weight: 700; color: #334155; }
.lesnoy-form input, .lesnoy-form textarea, .lesnoy-form select {
  width:100%; border:1px solid var(--line-strong); border-radius: 14px; min-height: 48px; padding: 12px 14px; font: inherit; background:#fff;
}
.lesnoy-form textarea { min-height: 140px; resize: vertical; }
.notice-card { border-radius: 18px; padding: 14px 16px; background: #f6fbf2; border:1px solid rgba(47,107,55,.18); }
.task-board { display:grid; grid-template-columns: repeat(5, minmax(220px,1fr)); gap: 14px; }
.task-column { background:#f7faf5; border:1px solid var(--line); border-radius: 22px; padding: 14px; }
.task-column h3 { margin: 0 0 12px; font-size: 1rem; }
.task-mini { background:#fff; border:1px solid var(--line); border-radius: 16px; padding: 12px; box-shadow: 0 10px 18px rgba(0,0,0,.04); }
.task-mini + .task-mini { margin-top: 10px; }
.task-mini h4 { margin:0 0 8px; font-size: .98rem; }
.task-mini p { margin:0; color: var(--muted); font-size: .92rem; }
@media (max-width: 1100px) {
  .hero-card, .cta-band, .footer-grid, .content-grid, .section-grid.two-up, .cards-grid.cols-4, .cards-grid.cols-3, .cards-grid.cols-2, .task-board {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 860px) {
  .menu-toggle { display:block; }
  .primary-nav { position:absolute; top:100%; left:0; right:0; display:none; flex-direction:column; align-items:stretch; background: rgba(237,243,231,.98); padding: 12px 16px 16px; border-bottom:1px solid rgba(39,76,45,.08); }
  .primary-nav.is-open { display:flex; }
  .primary-nav .menu, .primary-nav .menu-fallback { flex-direction:column; }
  .hero-card, .hero-panel, .section-grid.two-up, .cards-grid.cols-4, .cards-grid.cols-3, .cards-grid.cols-2, .content-grid, .footer-grid, .cta-band, .task-board {
    grid-template-columns: 1fr;
  }
  .hero-card { min-height: unset; }
  .container, .narrow { width: min(100% - 24px, var(--maxw)); }
  .panel, .list-card, .content-card, .sidebar-card, .article-card, .feature-card { padding: 18px; }
  .topbar { padding: 12px 0; }
  .footer-bottom { flex-direction:column; }
}
.status-waiting { background:#475569; }
.task-table-wrap { display:grid; gap:16px; }
.task-stats { display:grid; grid-template-columns: repeat(5, minmax(140px,1fr)); gap:12px; }
.task-stat { display:flex; align-items:center; gap:12px; padding:14px 16px; border-radius:18px; border:1px solid var(--line); background:#fff; }
.task-stat-icon { font-size:1.35rem; line-height:1; }
.task-stat-text { display:grid; gap:2px; }
.task-stat-text strong { font-size:.95rem; }
.task-stat-text span { color:var(--muted); font-size:.9rem; }
.task-table-shell { overflow:auto; border:1px solid var(--line); border-radius:20px; background:#fff; }
.task-table { width:100%; min-width:920px; border-collapse:collapse; }
.task-table th, .task-table td { border-bottom:1px solid var(--line); padding:12px 14px; text-align:left; vertical-align:top; }
.task-table th { background:#f7faf5; font-size:.78rem; text-transform:uppercase; letter-spacing:.04em; color:#35533a; }
.task-table tr:last-child td { border-bottom:0; }
.task-title-cell a { font-weight:800; }
.task-excerpt { color:var(--muted); font-size:.92rem; margin-top:4px; }
@media (max-width: 1100px) { .task-stats { grid-template-columns: repeat(2, minmax(140px,1fr)); } }
@media (max-width: 860px) { .task-stats { grid-template-columns: 1fr; } }


.skip-link:focus {
  left: 16px !important;
  top: 16px;
  width: auto;
  height: auto;
  padding: 12px 16px;
  background: #fff;
  color: var(--pine-800);
  border-radius: 14px;
  z-index: 200;
  box-shadow: var(--shadow);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 3px solid rgba(37,99,235,.55);
  outline-offset: 2px;
}

.status-default { background:#64748b; }
