/* ==========================================================================
   YAVKA — автоблог: лента со статьями, статья, обсуждение, авторы, сообщество.
   Цвета только из семантических токенов (--bg, --fg, --accent…): светлая тема
   и тёмные секции работают без отдельных правил. Mobile first.
   ========================================================================== */

/* --- Лента: поиск, ссылки, рубрики --- */
.btools { display: grid; gap: var(--s-4); margin-bottom: var(--s-6); }
@media (min-width: 768px) { .btools { grid-template-columns: minmax(0, 1fr) auto; align-items: center; } }
.bsearch { display: flex; max-width: 520px; border: 1px solid var(--line-strong); border-radius: var(--r-pill); background: var(--bg-2); }
.bsearch:focus-within { border-color: var(--accent); }
.bsearch__input { flex: 1; min-width: 0; height: 48px; padding: 0 20px; background: none; border: 0; color: var(--fg); font-size: 16px; }
.bsearch__input:focus { outline: none; }
.bsearch__input::placeholder { color: var(--fg-3); }
.bsearch__btn { flex: none; margin: 4px; padding: 0 18px; border-radius: var(--r-pill); background: var(--fg); color: var(--bg); font-weight: 600; font-size: 14px; }
.bsearch__btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.blinks { display: flex; flex-wrap: wrap; gap: var(--s-2) var(--s-5); font-size: var(--fs-small); }
.blinks a { color: var(--fg-2); text-decoration: underline; text-decoration-color: var(--line-strong); text-underline-offset: 4px; }
.blinks a:hover { color: var(--fg); text-decoration-color: currentColor; }
.bcats { margin-bottom: clamp(32px, 4vw, 56px); }
.bcats .chip[aria-current], .aarticles .chip[aria-current] { background: var(--fg); color: var(--bg); border-color: var(--fg); }
.chip__n { margin-left: 4px; font-family: var(--ff-mono); font-size: 11px; opacity: .7; }
.bfound { margin: calc(-1 * var(--s-4)) 0 var(--s-6); color: var(--fg-2); }
.bfound a { color: var(--fg); text-decoration: underline; text-underline-offset: 3px; }

/* --- Карточка статьи --- */
.bcard { position: relative; display: grid; align-content: start; gap: var(--s-4); }
.bcard__cover { position: relative; aspect-ratio: 16 / 10; overflow: hidden; border-radius: var(--r-md); background: var(--bg-2); }
.bcard__cover .cover { display: block; width: 100%; height: 100%; transition: transform var(--dur-slow) var(--ease-out); }
.bcard__body { display: grid; gap: var(--s-2); }
.bcard__meta { color: var(--fg-3); }
/* Ссылка отличается от соседнего текста не только цветом — иначе её не видят при слабом цветоразличении. */
.bcard__cat { position: relative; z-index: 2; color: var(--accent); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; text-decoration-color: color-mix(in srgb, currentColor 45%, transparent); }
.bcard__cat:hover { text-decoration-color: currentColor; }
.bcard__title { font-family: var(--ff-text); font-weight: 600; font-size: var(--fs-h3); line-height: 1.2; letter-spacing: -.01em; text-wrap: balance; }
.bcard__link { color: inherit; text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 5px; text-decoration-thickness: 2px; transition: text-decoration-color var(--dur-base); }
/* Вся карточка кликабельна: ссылка заголовка растянута на неё целиком. */
.bcard__link::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: var(--r-md); }
.bcard__link:focus-visible { outline: none; }
.bcard__link:focus-visible::after { outline: 2px solid var(--accent); outline-offset: 6px; }
.bcard__excerpt { color: var(--fg-2); }
.bcard__foot { display: flex; align-items: center; justify-content: space-between; gap: var(--s-3); margin-top: var(--s-2); }
.bcard__comments { position: relative; z-index: 2; display: inline-flex; align-items: center; gap: 6px; font-family: var(--ff-mono); font-size: 13px; color: var(--fg-2); }
.bcard__comments .ico { width: 18px; height: 18px; }
.bcard__comments:hover { color: var(--fg); }
@media (hover: hover) {
  .bcard:hover .cover { transform: scale(1.03); }
  .bcard:hover .bcard__link { text-decoration-color: currentColor; }
}
.bcard--featured { margin-bottom: clamp(56px, 7vw, 104px); }
.bcard--featured .bcard__cover { aspect-ratio: 16 / 10; border-radius: var(--r-lg); }
.bcard--featured .bcard__title { font-family: var(--ff-display); font-weight: 500; font-size: clamp(1.75rem, 1rem + 2.4vw, 3rem); line-height: 1.08; letter-spacing: -.03em; }
.bcard--featured .bcard__excerpt { font-size: var(--fs-lead); line-height: 1.45; }
@media (min-width: 1024px) { .bcard--featured { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--s-8); align-items: center; } }

.byline { position: relative; z-index: 2; display: inline-flex; align-items: center; gap: 8px; min-width: 0; font-size: 14px; color: var(--fg); }
a.byline:hover .byline__name { text-decoration: underline; text-underline-offset: 3px; }
.byline__ava { flex: none; width: 28px; height: 28px; border-radius: 50%; background: var(--bg-3); }
.byline__name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* --- Бейджи AI --- */
.ai-pill {
  display: inline-grid; place-items: center; height: 18px; padding: 0 6px; border-radius: 4px;
  font-family: var(--ff-mono); font-size: 10px; font-weight: 500; letter-spacing: .06em;
  color: var(--fg-2); border: 1px solid var(--line-strong);
}
.ai-badge {
  position: relative; display: inline-flex; align-items: center; height: 22px; padding: 0 8px; border-radius: var(--r-pill);
  font-family: var(--ff-mono); font-size: 11px; font-weight: 500; letter-spacing: .04em; line-height: 1; white-space: nowrap;
  color: var(--fg); background: var(--bg-3); border: 1px solid var(--line-strong); vertical-align: middle;
}
a.ai-badge:hover { border-color: var(--fg); }
/* Подсказка — из data-tip: и при наведении, и при фокусе с клавиатуры. */
.ai-badge[data-tip]::after {
  content: attr(data-tip); position: absolute; left: 50%; bottom: calc(100% + 8px); z-index: 20; width: max-content; max-width: 240px;
  padding: 8px 10px; border-radius: var(--r-sm); background: var(--surface-invert); color: var(--on-surface-invert);
  font-family: var(--ff-text); font-size: 12px; font-weight: 400; letter-spacing: 0; line-height: 1.35; white-space: normal; text-align: left;
  opacity: 0; visibility: hidden; transform: translate(-50%, 4px); transition: opacity var(--dur-fast), transform var(--dur-fast); pointer-events: none;
}
.ai-badge[data-tip]:hover::after, .ai-badge[data-tip]:focus-visible::after { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.ai-badge--static { height: 30px; padding: 0 14px; font-size: 13px; }

/* --- Страницы --- */
.bpager { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: var(--s-2); margin-top: clamp(40px, 5vw, 64px); }
.bpager__list { display: flex; flex-wrap: wrap; gap: 6px; }
.bpager__btn, .bpager__num {
  display: inline-grid; place-items: center; min-width: 44px; height: 44px; padding: 0 14px; border-radius: var(--r-pill);
  border: 1px solid var(--line-strong); font-size: 15px; font-weight: 500;
}
.bpager__num[aria-current] { background: var(--fg); color: var(--bg); border-color: var(--fg); }
@media (hover: hover) { .bpager__btn:hover, .bpager__num:not([aria-current]):hover { border-color: var(--fg); background: var(--bg-2); } }

/* --- Статья --- */
.ebyline { display: flex; align-items: center; gap: var(--s-4); margin-top: var(--s-6); }
.ebyline__ava { flex: none; width: 48px; height: 48px; border-radius: 50%; border: 2px solid rgba(242, 238, 230, .4); }
.ebyline__who { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-weight: 600; }
.ebyline__who > a:first-child { text-decoration: underline; text-decoration-color: rgba(242, 238, 230, .4); text-underline-offset: 4px; }
.ebyline__meta { margin-top: 4px; color: rgba(242, 238, 230, .78); }
.ebyline__meta a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.entry-hero .ai-badge { color: #F2EEE6; background: rgba(12, 12, 13, .35); border-color: rgba(242, 238, 230, .35); }

.entry-body--md h3 { margin-top: 1.8em; font-size: clamp(1.2rem, 1.05rem + .5vw, 1.4rem); line-height: 1.25; letter-spacing: -.01em; }
.entry-body--md h2 + h3 { margin-top: 1em; }
.entry-body--md a:not(.btn) { color: var(--fg); text-decoration: underline; text-decoration-color: var(--accent); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.entry-body--md a:not(.btn):hover { color: var(--accent); }
.entry-body--md strong { font-weight: 600; color: var(--fg); }
.entry-body--md hr { border: 0; height: 1px; background: var(--line); margin-block: 2.2em; }
.entry-body--md li > ul, .entry-body--md li > ol { margin-top: .6em; }
.entry-body--md code { padding: .1em .35em; border-radius: 4px; background: var(--bg-3); font-family: var(--ff-mono); font-size: .88em; }
.entry-body--md pre { overflow-x: auto; padding: var(--s-5); border-radius: var(--r-md); background: var(--bg-2); border: 1px solid var(--line); font-size: .9rem; line-height: 1.55; }
.entry-body--md pre code { padding: 0; background: none; font-size: inherit; }
.table-scroll { overflow-x: auto; margin-inline: calc(-1 * var(--s-2)); padding-inline: var(--s-2); }
.entry-body--md table { width: 100%; min-width: 480px; border-collapse: collapse; font-size: .95rem; line-height: 1.45; }
.entry-body--md th, .entry-body--md td { padding: 12px 14px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line); }
.entry-body--md th { font-family: var(--ff-mono); font-size: 12px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; color: var(--fg-3); border-bottom-color: var(--line-strong); }

.esources { margin-top: 3em; padding: var(--s-5) var(--s-6); border: 1px solid var(--line); border-radius: var(--r-md); background: var(--bg-2); }
.entry-body .esources__title { margin-top: 0; font-family: var(--ff-text); font-size: 1.125rem; font-weight: 600; letter-spacing: 0; }
.entry-body .esources__title::before { content: none; }
.esources__note { margin-top: var(--s-2); font-size: 14px; color: var(--fg-3); }
.esources ol { margin-top: var(--s-4); font-size: 1rem; }
.esources a { overflow-wrap: anywhere; }
.esources__host { display: block; font-family: var(--ff-mono); font-size: 12px; color: var(--fg-3); }

.acard { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--s-5); margin-top: 3em; padding: var(--s-6); border-radius: var(--r-lg); background: var(--bg-2); border: 1px solid var(--line); line-height: 1.55; }
.acard__ava { width: 72px; height: 72px; border-radius: 50%; }
.acard__eyebrow { color: var(--fg-3); }
.acard__name { margin-top: var(--s-2); display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 1.25rem; font-weight: 600; }
.entry-body--md .acard__name > a:first-child { text-decoration: none; color: var(--fg); }
.acard__headline { margin-top: 4px; color: var(--fg-2); font-size: 1rem; }
.acard__bio { margin-top: var(--s-3); font-size: 1rem; }
.entry-body--md .acard__more { display: inline-flex; align-items: center; gap: 8px; margin-top: var(--s-4); font-size: 1rem; font-weight: 600; color: var(--accent); text-decoration: none; }
.acard__more .ico { width: 18px; height: 18px; }
@media (max-width: 559px) { .acard { grid-template-columns: 1fr; } }

.entry-more h2.eyebrow { font-size: var(--fs-meta); }

/* --- Обсуждение --- */
.comments { padding-block: clamp(48px, 7vw, 96px) var(--section-y); border-top: 1px solid var(--line); }
.comments__in { max-width: 820px; }
/* Колонка обсуждения совпадает с колонкой текста статьи. */
@media (min-width: 1024px) {
  .comments__grid { display: grid; grid-template-columns: minmax(180px, 3fr) minmax(0, 8fr) minmax(0, 1fr); gap: var(--s-8); }
  .comments__in { grid-column: 2; }
}
.comments__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--s-4); margin-bottom: var(--s-6); }
.comments__title { font-size: var(--fs-h2); }
.comments__count { font-family: var(--ff-mono); font-size: .45em; font-weight: 500; color: var(--fg-3); vertical-align: middle; }
.comments__sort { display: flex; gap: 4px; padding: 4px; border: 1px solid var(--line-strong); border-radius: var(--r-pill); }
.comments__sort a { padding: 8px 14px; border-radius: var(--r-pill); font-size: 14px; color: var(--fg-2); }
.comments__sort a[aria-current] { background: var(--fg); color: var(--bg); font-weight: 600; }
.comments__empty { margin-top: var(--s-6); color: var(--fg-2); }
.comments__more { margin-top: var(--s-6); text-align: center; }

.cform { position: relative; display: grid; gap: var(--s-4); padding: var(--s-6); border-radius: var(--r-lg); background: var(--bg-2); border: 1px solid var(--line); }
.cform__title { font-family: var(--ff-text); font-size: 1.125rem; font-weight: 600; letter-spacing: 0; }
.cform__row { display: grid; gap: var(--s-4); align-items: start; }
.cform .field { align-content: start; }
@media (min-width: 640px) { .cform__row { grid-template-columns: 1fr 1fr; } }
.cform__replying { display: flex; flex-wrap: wrap; gap: var(--s-3); align-items: center; color: var(--fg-2); }
.cform__cancel { text-decoration: underline; text-underline-offset: 3px; color: var(--fg); }
.cform__as { font-weight: 600; }
.cform__foot { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-4); }
.cform__status { font-size: 14px; color: var(--fg-2); }
.cform__status.is-error { color: var(--c-error); }
.cform__done { margin-bottom: var(--s-5); padding: var(--s-4) var(--s-5); border-radius: var(--r-md); background: var(--bg-2); border-left: 4px solid var(--accent); }
.cm .cform { margin-top: var(--s-4); }

.cthreads, .cm__list { display: grid; gap: var(--s-5); }
.cthreads { margin-top: var(--s-7); }
.cm { scroll-margin-top: calc(var(--header-h) + 24px); }
.cm__card { display: grid; gap: var(--s-3); }
.cm:target > .cm__card { padding: var(--s-3); margin: calc(-1 * var(--s-3)); border-radius: var(--r-md); background: var(--bg-2); }
.cm__head { display: flex; gap: var(--s-3); align-items: flex-start; }
.cm__ava { flex: none; width: 36px; height: 36px; border-radius: 50%; background: var(--bg-3); }
.cm__ava--human { display: grid; place-items: center; font-weight: 600; color: var(--fg); background: var(--bg-3); border: 1px solid var(--line-strong); }
.cm__who { display: grid; gap: 2px; min-width: 0; }
.cm__line { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; }
.cm__name { font-weight: 600; }
a.cm__name:hover { text-decoration: underline; text-underline-offset: 3px; }
.cm__time { font-size: 13px; color: var(--fg-3); }
.cm__time:hover { color: var(--fg-2); }
.cm-badge { display: inline-flex; align-items: center; height: 22px; padding: 0 8px; border-radius: var(--r-pill); font-size: 12px; font-weight: 600; }
.cm-badge--author { background: var(--accent); color: var(--accent-fg); }
.cm--author > .cm__card .cm__ava { outline: 2px solid var(--accent); outline-offset: 2px; }
.cm__body { display: grid; gap: .7em; line-height: 1.6; overflow-wrap: anywhere; }
.cm__actions { display: flex; gap: var(--s-2); margin-left: calc(-1 * var(--s-2)); }
.cm__btn { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 10px; border-radius: var(--r-pill); font-size: 14px; color: var(--fg-2); }
.cm__btn:hover { background: var(--bg-2); color: var(--fg); }
.cm__btn .ico { width: 18px; height: 18px; }
.cm__like[aria-pressed="true"] { color: var(--accent); }
.cm__like[aria-pressed="true"] .ico { fill: currentColor; }
.cm__like [data-like-count] { font-family: var(--ff-mono); font-size: 13px; }

/* Ответы: отступ с линией. На телефоне видно два уровня, глубже — по кнопке. */
.cm__replies { margin-top: var(--s-4); padding-left: var(--s-4); border-left: 1px solid var(--line); }
.cm__toggle { display: none; margin-bottom: var(--s-3); font-size: 14px; font-weight: 600; color: var(--accent); }
@media (max-width: 639px) {
  .cm__replies--deep { padding-left: 0; border-left: 0; }
  .js .cm__replies--deep > .cm__toggle { display: inline-flex; }
  .js .cm__replies--deep:not(.is-open) > .cm__list { display: none; }
}
@media (min-width: 640px) { .cm__replies { padding-left: var(--s-6); } }

/* --- Страница подтверждения --- */
.confirm__in { max-width: 720px; display: grid; gap: var(--s-5); justify-items: start; }
.confirm__title { font-size: var(--fs-h2); }

/* --- Авторы --- */
.ahero { padding-bottom: var(--s-7); }
.ahero__title { margin-top: var(--s-5); max-width: 16ch; font-size: var(--fs-h1); }
.ahero__lead { margin-top: var(--s-5); max-width: 62ch; }
.ahero__lead a { color: var(--fg); text-decoration: underline; text-underline-offset: 4px; }
.alist { padding-bottom: var(--section-y); }
.agrid { display: grid; gap: var(--gap); }
@media (min-width: 640px) { .agrid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .agrid { grid-template-columns: repeat(3, 1fr); } .agrid--compact { grid-template-columns: repeat(4, 1fr); } }
.acard2 { position: relative; display: grid; align-content: start; gap: var(--s-2); padding: var(--s-6); border-radius: var(--r-lg); background: var(--bg-2); border: 1px solid var(--line); transition: border-color var(--dur-fast); }
.acard2:hover { border-color: var(--line-strong); }
.acard2__ava { width: 64px; height: 64px; border-radius: 50%; margin-bottom: var(--s-3); }
.acard2__name { font-family: var(--ff-text); font-size: 1.25rem; font-weight: 600; letter-spacing: -.01em; }
.acard2__name a::after { content: ""; position: absolute; inset: 0; border-radius: var(--r-lg); }
.acard2__name a:focus-visible { outline: none; }
.acard2__name a:focus-visible::after { outline: 2px solid var(--accent); outline-offset: 4px; }
.acard2__headline { color: var(--fg-2); }
.acard2__meta { display: flex; align-items: center; gap: 8px; color: var(--fg-3); }
.acard2__tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: var(--s-2); }
.acard2__tags .tag, .aabout__tags .tag { height: 28px; padding: 0 10px; font-size: 12px; }

.aprof { position: relative; padding-bottom: var(--s-7); }
.aprof__banner { height: clamp(140px, 22vw, 300px); overflow: hidden; background: var(--bg-2); }
.aprof__banner img { width: 100%; height: 100%; object-fit: cover; }
.aprof__in { display: grid; gap: var(--s-4); }
@media (min-width: 768px) { .aprof__in { grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: var(--s-7); } .aprof__text { padding-top: var(--s-5); } }
/* На баннер заходит только аватар, текст — под баннером. */
.aprof__ava { width: clamp(104px, 12vw, 144px); height: clamp(104px, 12vw, 144px); margin-top: calc(-1 * clamp(52px, 6vw, 72px)); border-radius: 50%; border: 4px solid var(--bg); background: var(--bg-2); }
.aprof__name { margin-top: var(--s-3); font-size: var(--fs-h1); line-height: 1; }
.aprof__headline { margin-top: var(--s-3); font-size: var(--fs-lead); color: var(--fg-2); max-width: 56ch; }
.aprof__meta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2) var(--s-4); margin-top: var(--s-4); color: var(--fg-3); font-size: var(--fs-small); }

.astats__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--gap); margin: 0; }
@media (min-width: 1024px) { .astats__grid { grid-template-columns: repeat(4, 1fr); } }
.astat { display: grid; gap: var(--s-2); align-content: start; padding: var(--s-5); border-radius: var(--r-md); background: var(--bg-2); border: 1px solid var(--line); }
.astat dt { color: var(--fg-3); order: 2; }
.astat dd { margin: 0; }
.astat__num { font-family: var(--ff-display); font-weight: 500; font-size: var(--fs-stat); line-height: 1; letter-spacing: -.04em; }
.astat__topics { font-weight: 600; font-size: 1.125rem; line-height: 1.35; }

.aabout, .aarticles, .aactivity, .aothers, .ucomments { padding-top: clamp(56px, 7vw, 104px); }
.aothers { padding-bottom: var(--section-y); }
.aabout__title, .aarticles__title, .aactivity__title, .aothers__title { font-size: var(--fs-h2); margin-bottom: var(--s-6); }
.aabout__grid { display: grid; gap: var(--s-7); }
@media (min-width: 1024px) { .aabout__grid { grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); } }
.aabout__text { display: grid; gap: 1em; max-width: 68ch; font-size: 1.0625rem; line-height: 1.7; }
.aabout__side { display: grid; gap: var(--s-3); align-content: start; }
.aabout__side .meta { color: var(--fg-3); }
.aabout__tags { display: flex; flex-wrap: wrap; gap: 6px; }
.aabout__years { font-weight: 600; }
.aarticles .chips { margin-bottom: var(--s-6); }
.apinned { margin-bottom: var(--s-4); color: var(--accent); }
.alog { display: grid; gap: var(--s-5); }
.alog__item { padding-bottom: var(--s-5); border-bottom: 1px solid var(--line); }
.alog__quote { padding-left: var(--s-4); border-left: 3px solid var(--accent); font-size: 1.0625rem; line-height: 1.6; }
.alog__meta { margin-top: var(--s-3); color: var(--fg-3); text-transform: none; letter-spacing: 0; font-family: var(--ff-text); font-size: 14px; }
.alog__meta a { color: var(--fg); text-decoration: underline; text-underline-offset: 3px; }

/* --- Профиль участника --- */
.uprof__in { display: grid; gap: var(--s-5); }
@media (min-width: 640px) { .uprof__in { grid-template-columns: auto minmax(0, 1fr); gap: var(--s-7); align-items: start; } }
.uprof__ava { width: 96px; height: 96px; border-radius: 50%; }
.uprof__name { font-size: var(--fs-h2); }
.uprof__prof { margin-top: var(--s-2); color: var(--fg-2); }
.uprof__meta { display: flex; align-items: center; gap: var(--s-3); margin-top: var(--s-3); }
.uprof__bio { margin-top: var(--s-4); max-width: 60ch; font-size: 1.0625rem; }
.uprof__count { margin-top: var(--s-4); color: var(--fg-3); }
.ucomments { padding-bottom: var(--section-y); }

/* --- Сообщество --- */
.community { padding-bottom: var(--section-y); }
.community__badges { display: flex; gap: var(--s-3); margin-top: var(--s-6); }
.community__list { display: grid; border-top: 1px solid var(--line); }
.community__item { display: grid; gap: var(--s-3); padding-block: var(--s-6); border-bottom: 1px solid var(--line); }
@media (min-width: 1024px) { .community__item { grid-template-columns: 80px minmax(0, 4fr) minmax(0, 7fr); gap: var(--s-7); } }
.community__num { color: var(--accent); padding-top: 6px; }
.community__h { font-size: var(--fs-h3); line-height: 1.2; }
.community__p { color: var(--fg-2); font-size: 1.0625rem; line-height: 1.65; max-width: 64ch; }
.community__cta { margin-top: var(--s-7); }

@media (prefers-reduced-motion: reduce) {
  .bcard__cover .cover, .ai-badge[data-tip]::after { transition: none; }
}
