/* სიახლეები: listing and article pages. Built on the site's own tokens and pieces (sections.css: .sec, .lede, .chips,
   .pane-close; nav.css; the plasma sky). The home page keeps these base rules in its inline <style>; they're repeated here. */
:root { --bg: #07060b; --fg: #8a8a93; --ui-font: 'Noto Sans Georgian', system-ui, -apple-system, sans-serif; }
html { background: var(--bg); }
body { margin: 0; font-family: var(--ui-font); color: var(--fg); }
#bg { position: fixed; top: 0; left: 0; z-index: -1; width: 100%; height: 100vh; height: 100lvh; display: block; background: #000; transition: opacity .8s ease; }
@media (prefers-reduced-motion: reduce) { #bg { transition: none; } }
.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; }

/* ---------- listing ---------- */
.news-head { padding-top: calc(80px + clamp(48px, 7vw, 96px)); padding-bottom: 28px; border-top: 0; }
.news-head h1 { margin: 0 0 16px; font: 700 clamp(40px, 6vw, 72px)/1.1 var(--ui-font); color: #fff; }
.news-head .lede { margin-bottom: 36px; }
.news-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; }
.news-search input {
  box-sizing: border-box; width: min(320px, 100%); height: 44px; padding: 0 18px; border-radius: 999px;
  border: 1px solid var(--line); background: rgba(255,255,255,.04); color: #fff; font: 16px var(--ui-font);
  transition: border-color .2s;
}
.news-search input::placeholder { color: var(--ink-3); }
.news-search input:focus { outline: 2px solid var(--violet-hi); outline-offset: 2px; border-color: transparent; }
.news-search { flex: 0 1 320px; }
.news-cats { display: flex; flex-wrap: wrap; gap: 8px; }
.news-chip {
  min-height: 40px; padding: 0 16px; border-radius: 999px; border: 1px solid var(--line); background: none;
  color: var(--ink-2); font: 500 15px/1 var(--ui-font); cursor: pointer;
  transition: color .2s, border-color .2s, background-color .2s, scale 160ms var(--ease-out);
}
.news-chip:hover { color: #fff; border-color: rgba(255,255,255,.3); }
.news-chip:active { scale: .97; }
.news-chip[aria-pressed="true"] { background: #fff; border-color: #fff; color: #0b0910; }
.news-chip:focus-visible, .news-clear:focus-visible { outline: 2px solid var(--violet-hi); outline-offset: 2px; }
.news-tag { flex-basis: 100%; margin: 4px 0 0; color: var(--ink-2); font-size: 15px; }
.news-clear { margin-left: 8px; padding: 0; border: 0; background: none; color: var(--violet-hi); font: 500 15px var(--ui-font); cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }

.news-list { padding-top: 24px; border-top: 0; }
.news-empty { margin: 0; font-size: 18px; color: var(--ink-2); }
.news-more { margin-top: 40px; }
.news-more::after { content: '↓'; }

/* cards: the price cards' surface (.tier) with the project rows' type and hover */
.nc-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.nc { display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 20px; background: rgba(255,255,255,.035); overflow: hidden; }
.nc[hidden] { display: none; }
.nc-link { display: flex; flex-direction: column; flex: 1; color: inherit; text-decoration: none; }
.nc-link:focus-visible { outline: 2px solid var(--violet-hi); outline-offset: -2px; border-radius: 20px; }
.nc-cover { aspect-ratio: 16 / 9; overflow: hidden; background: #0d0b14; }
.nc-cover img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease-out); }
.nc-cover-empty { display: grid; place-items: center; border-bottom: 1px solid var(--line); }
.nc-cover-empty span { font: 700 clamp(20px, 2vw, 26px)/1.2 var(--ui-font); color: rgba(182,156,255,.55); }
.nc-body { flex: 1; display: flex; flex-direction: column; gap: 8px; padding: 20px 22px 0; }
.nc-cat { font: 600 13px/1.3 var(--ui-font); color: var(--violet-hi); }
.nc .nc-title { margin: 0; font: 600 20px/1.35 var(--ui-font); color: #fff; text-wrap: balance; transition: color .2s; }
.nc-excerpt { margin: 0; font-size: 15px; line-height: 1.55; color: var(--ink-2);
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.nc-meta { margin: auto 0 0; padding: 14px 0 20px; font-size: 13px; color: var(--ink-3); }
.nc-tags { list-style: none; margin: -8px 0 0; padding: 0 22px 20px; display: flex; flex-wrap: wrap; gap: 4px 12px; }
.nc-tags a { font-size: 13px; color: var(--ink-3); text-decoration: none; transition: color .2s; }
.nc-tags a:hover, .nc-tags a:focus-visible { color: #fff; }
@media (hover: hover) and (pointer: fine) {
  .nc-link:hover .nc-title { color: var(--violet-hi); }
  .nc-link:hover .nc-cover img { transform: scale(1.03); }
}

/* ---------- article ---------- */
.na { padding-top: calc(80px + clamp(40px, 6vw, 80px)); border-top: 0; }
.na-in { max-width: 720px; margin: 0 auto; }
.na-preview { position: sticky; top: 88px; z-index: 2; max-width: 720px; margin: 0 auto 24px; padding: 10px 16px; border-radius: 12px; background: var(--violet); color: #fff; font-size: 14px; }
.na-crumbs { font-size: 15px; color: var(--ink-3); }
.na-crumbs a { color: var(--ink-3); text-decoration: none; transition: color .2s; }
.na-crumbs a:hover { color: #fff; }
.na-kind { margin: 8px 0 0; font-size: 13px; color: var(--ink-3); }
.na-cat { margin: 28px 0 12px; }
.na-cat a { font: 600 14px/1.3 var(--ui-font); color: var(--violet-hi); text-decoration: none; }
.na h1 { margin: 0 0 18px; font: 700 clamp(32px, 4.6vw, 54px)/1.2 var(--ui-font); color: #fff; text-wrap: balance; }
.na-excerpt { margin: 0 0 20px; font-size: clamp(18px, 1.8vw, 22px); line-height: 1.6; color: var(--ink-2); text-wrap: pretty; }
.na-meta { margin: 0; font-size: 14px; color: var(--ink-3); }
.na-cover { max-width: 1000px; margin: 40px auto 0; }
.na-cover img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 20px; }
.na-body { max-width: 720px; margin: 40px auto 0; font-size: 18px; line-height: 1.8; color: var(--ink); overflow-wrap: break-word; }
.na-body > :first-child { margin-top: 0; }
.na-body p { margin: 0 0 1.2em; }
.na-body h2 { margin: 1.8em 0 .6em; font: 700 28px/1.3 var(--ui-font); color: #fff; }
.na-body h3 { margin: 1.6em 0 .5em; font: 700 22px/1.35 var(--ui-font); color: #fff; }
.na-body a { color: var(--violet-hi); text-underline-offset: 3px; }
.na-body strong { color: #fff; }
.na-body blockquote { margin: 1.6em 0; padding: 2px 0 2px 20px; border-left: 2px solid var(--violet-hi); color: var(--ink-2); }
.na-body ul, .na-body ol { margin: 0 0 1.2em; padding-left: 1.3em; }
.na-body li { margin: .35em 0; }
.na-body figure { margin: 2em 0; }
.na-body figure img { display: block; width: 100%; height: auto; border-radius: 16px; }
.na-body figcaption { margin-top: 10px; font-size: 14px; color: var(--ink-3); }
.na-body code { font: .88em ui-monospace, SFMono-Regular, Menlo, monospace; padding: .1em .35em; border-radius: 6px; background: rgba(255,255,255,.08); }
.na-body pre { overflow-x: auto; margin: 0 0 1.2em; padding: 16px 18px; border-radius: 12px; background: rgba(255,255,255,.05); font-size: 15px; line-height: 1.6; }
.na-body pre code { padding: 0; background: none; }
.na-foot { margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--line); }
.na-source { margin: 0 0 20px; font-size: 16px; color: var(--ink-2); }
.na-source a { color: #fff; text-underline-offset: 3px; }
.na-tags { margin: 0; }
.na-tags a { color: #fff; text-decoration: none; }
.na-learn { margin: 28px 0 0; }
.na-learn a, .news-policy a { color: var(--violet-hi); text-decoration: none; font-weight: 600; }
.na-learn a:hover, .news-policy a:hover { text-decoration: underline; text-underline-offset: 3px; }
.news-policy { max-width: 46em; margin: 56px 0 0; padding-top: 20px; border-top: 1px solid var(--line); font-size: 14px; line-height: 1.6; color: var(--ink-3); }

/* ---------- 404 ---------- */
.nf { min-height: 70vh; }
.nf-code { margin: 0 0 8px; font: 700 clamp(72px, 14vw, 180px)/1 var(--ui-font); color: transparent; -webkit-text-stroke: 1.5px rgba(182,156,255,.6); letter-spacing: -.02em; }
.nf-links { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 12px; }
.b-out { display: inline-flex; align-items: center; min-height: 48px; padding: 0 22px; border: 1px solid var(--line); border-radius: 999px; color: var(--ink); text-decoration: none; font: 500 16px/1 var(--ui-font); transition: border-color .2s, color .2s; }
.b-out:hover { border-color: rgba(255,255,255,.35); color: #fff; }
.na-related { border-top: 0; padding-top: 24px; }
.na-related h2 { font-size: clamp(28px, 3.4vw, 40px); margin-bottom: 28px; }

@media (max-width: 1000px) { .nc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) {
  .nc-grid { grid-template-columns: 1fr; gap: 16px; }
  .news-search { flex-basis: 100%; }
  .news-search input { width: 100%; }
  .na-body { font-size: 17px; line-height: 1.75; }
  .na-cover img { border-radius: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .nc-cover img, .nc-title, .news-chip, .nc-tags a { transition: none; }
}
