/* Дополнения к прототипу: элементы, которых не было в article-template.html
   (главная, карточки категорий, листинг).
   Токены и база — из prototype/css/*, этот файл их не переопределяет, только добавляет. */

/* Карточки категорий на главной */
.cat-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));margin-top:1.5rem!important}
.cat-card{display:block;background:var(--surface);border:2px solid var(--ink);border-radius:.8rem;padding:1.2rem 1.3rem;text-decoration:none;color:var(--ink)}
.cat-card:hover strong{text-decoration:underline}
.cat-card strong{display:block;font-size:1.15rem;margin-bottom:.3rem}
.cat-card span{display:block;color:var(--muted);font-size:.92rem}
.cat-card .count{display:inline-block;margin-top:.6rem;font-size:.82rem;color:var(--muted)}

/* Карточки материалов (листинг категории / главная "новые материалы") */
.article-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));margin-top:1rem!important}
.article-card{display:block;background:var(--surface);border:2px solid var(--border);border-radius:.7rem;padding:1.1rem 1.2rem;text-decoration:none;color:var(--ink)}
.article-card:hover{border-color:var(--ink)}
.article-card:hover strong{text-decoration:underline}
.article-card small{display:block;color:var(--muted);font-size:.8rem;margin-bottom:.3rem}
.article-card strong{display:block;font-size:1.05rem;margin-bottom:.3rem;line-height:1.3}
.article-card p{margin:0;color:var(--muted);font-size:.92rem}
.article-card time{display:block;margin-top:.5rem;font-size:.8rem;color:var(--muted)}

/* Hero главной */
.home-hero{position:relative;overflow:hidden;background:var(--band);color:var(--band-text);--focus:var(--yellow);padding:3rem 0}
.home-hero::after{content:"";position:absolute;pointer-events:none;border-radius:50%;background:var(--yellow);outline:3px solid var(--band-text);outline-offset:.9rem;width:7rem;aspect-ratio:1;top:-2.5rem;right:-2.5rem}
@media (min-width:64rem){.home-hero::after{width:clamp(18rem,30vw,26rem);top:50%;right:-5rem;transform:translateY(-50%);outline-offset:1.2rem}}
.home-hero h1{max-width:22ch}
.home-hero p{max-width:40ch;font-size:1.15rem;color:var(--band-muted)}

.section{padding-block:2.5rem}
.section h2{margin:0 0 .3rem!important}
.section-intro{color:var(--muted);max-width:50ch;margin-top:0!important}

.howwe{display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));margin-top:1.2rem!important}
.howwe li{list-style:none;background:var(--surface);border:1px solid var(--border);border-radius:.7rem;padding:1rem 1.1rem}
.howwe ul{padding-left:0!important}

.empty-note{color:var(--muted);font-style:italic}

/* Форма (контакты) */
.site-form{display:grid;gap:1.1rem;max-width:34rem;margin-top:1.5rem!important}
.site-form label{display:block;font-weight:600;color:var(--ink);margin-bottom:.3rem}
.site-form input,.site-form textarea{font:inherit;width:100%;padding:.6rem .8rem;border:2px solid var(--border);border-radius:.4rem;background:var(--surface);color:var(--text)}
.site-form input:focus-visible,.site-form textarea:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.site-form .err{color:var(--link);font-size:.85rem;margin-top:.3rem}

.crumbs-page{padding:1rem 0 0}
.crumbs-page .wrap{padding-top:0}

/* Первый абзац тела статьи = вводный ("lead"), без изменения markdown-источника
   (ArticleLayout оборачивает тело в .article-body; см. docs/DECISIONS.md). */
.article-body > p:first-child{font-size:1.28rem;line-height:1.5;font-weight:500;color:var(--ink)}

.takeaways h2{display:flex;align-items:baseline;gap:.7rem}

.disclaimer{font-size:.82rem;color:var(--muted);margin-top:.6rem}
.disclaimer a{color:inherit}
