/* Блог (агент E): список статей и страница статьи. Токены и кнопки - из site.css. */

/* ---------- список ---------- */
.blog-hero{padding-block:clamp(112px,12vw,150px) clamp(28px,4vw,44px);background:radial-gradient(60% 90% at 90% 0%,rgba(143,99,255,.22),transparent 60%),radial-gradient(40% 70% at 0% 100%,rgba(255,63,142,.12),transparent 60%)}
.blog-hero .kicker{margin-top:26px}
.blog-hero h1{font:800 clamp(34px,5.4vw,72px)/1.02 var(--display);letter-spacing:-.035em;margin-top:16px;text-wrap:balance}
.blog-hero h1 em{font-style:normal;background:linear-gradient(90deg,var(--neon),var(--amber) 80%);-webkit-background-clip:text;background-clip:text;color:transparent}
.blog-tabs{margin-top:30px}
.blog-tabs .tab small{font-size:12px;opacity:.6;margin-left:4px}
.blog-list{padding-bottom:clamp(64px,9vw,120px)}

.posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.post{display:flex;flex-direction:column;border-radius:var(--r-l);overflow:hidden;border:1px solid var(--line);background:var(--bg-2);transition:border-color .2s,transform .25s,box-shadow .25s}
.post:hover{border-color:rgba(255,178,77,.45);transform:translateY(-4px);box-shadow:0 24px 60px rgba(0,0,0,.45)}
.post[hidden]{display:none}
.post-img{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--bg-3)}
.post-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.post:hover .post-img img{transform:scale(1.05)}
.post-body{display:flex;flex-direction:column;gap:10px;padding:20px 22px 22px;flex:1}
.post-meta{display:flex;gap:10px;align-items:center;font-size:13px;color:var(--faint)}
.post-meta b{font-weight:600;color:var(--amber);padding:3px 10px;border-radius:999px;border:1px solid rgba(255,178,77,.4)}
.post-title{font:700 clamp(17px,1.5vw,20px)/1.25 var(--display);letter-spacing:-.01em;text-wrap:balance}
.post-ex{font-size:15px;line-height:1.55;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.post-go{margin-top:auto;padding-top:6px;display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:14px;color:var(--amber)}
.post-go svg{transition:transform .2s}
.post:hover .post-go svg{transform:translateX(4px)}
/* первая (свежая) статья - широкая, пока не выбран фильтр */
.posts:not(.filtered) .post-big{grid-column:span 2;display:grid;grid-template-columns:1.1fr 1fr}
.posts:not(.filtered) .post-big .post-img{aspect-ratio:auto;min-height:320px}
.posts:not(.filtered) .post-big .post-title{font-size:clamp(20px,2.2vw,30px)}
.posts:not(.filtered) .post-big .post-body{padding:30px}
@media(max-width:1020px){.posts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.posts{grid-template-columns:1fr}.posts:not(.filtered) .post-big{grid-column:auto;display:flex}.posts:not(.filtered) .post-big .post-img{min-height:0;aspect-ratio:16/10}.posts:not(.filtered) .post-big .post-body{padding:20px 22px 22px}}

/* ---------- статья ---------- */
.art-hero{padding-block:clamp(104px,11vw,140px) clamp(28px,4vw,48px);background:radial-gradient(55% 80% at 95% 10%,rgba(143,99,255,.24),transparent 60%),radial-gradient(40% 60% at 0% 100%,rgba(255,63,142,.12),transparent 60%);border-bottom:1px solid var(--line)}
.art-hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(24px,5vw,72px);align-items:center}
.art-hero .kicker{margin-top:24px}
.art-hero h1{font:800 clamp(30px,4.3vw,58px)/1.06 var(--display);letter-spacing:-.03em;margin-top:16px;text-wrap:balance}
.art-meta{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:22px;color:var(--muted);font-size:15px}
.art-meta span::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--neon);margin-right:10px;vertical-align:2px}
.art-cover{margin:0;border-radius:var(--r-l);overflow:hidden;aspect-ratio:4/3;border:1px solid var(--line-2);box-shadow:0 40px 90px rgba(0,0,0,.5),0 0 0 1px rgba(255,63,142,.08)}
.art-cover img{width:100%;height:100%;object-fit:cover}
@media(max-width:900px){.art-hero-grid{grid-template-columns:1fr}.art-cover{aspect-ratio:16/10}}

.art-grid{display:grid;grid-template-columns:250px minmax(0,720px);justify-content:center;gap:clamp(40px,6vw,88px);padding-block:clamp(36px,5vw,64px) clamp(56px,7vw,96px)}
.art-side{position:relative}
.side-in{position:sticky;top:100px}
.toc{font-size:14px}
.toc p{font:600 12px/1 var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--amber);margin-bottom:14px}
.toc ol,.toc-m ol{list-style:none;margin:0;padding:0;display:grid;gap:2px;counter-reset:t}
.toc li,.toc-m li{counter-increment:t}
.toc a{display:grid;grid-template-columns:26px 1fr;padding:7px 10px 7px 0;color:var(--faint);line-height:1.35;border-left:2px solid var(--line);padding-left:12px;transition:color .15s,border-color .15s}
.toc a::before{content:counter(t,decimal-leading-zero);font-size:11px;font-weight:700;padding-top:2px;opacity:.7}
.toc a:hover{color:var(--ink)}
.toc a.on{color:var(--ink);border-left-color:var(--amber)}
.toc{max-height:calc(100vh - 290px);overflow:auto;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}
.side-cta{margin-top:24px;padding:18px;border-radius:var(--r-m);border:1px solid rgba(255,63,142,.35);background:rgba(255,63,142,.08);display:grid;gap:12px;font-size:14px}
.toc-m{display:none;margin-bottom:28px;padding:0 20px}
.toc-m summary{padding:16px 0;font-size:15px}
.toc-m ol{padding-bottom:16px}
.toc-m a{display:block;padding:7px 0;color:var(--muted);font-size:15px}
.toc-m li::before{content:counter(t) ". ";color:var(--amber);font-weight:700;font-size:13px}
.toc-m li{display:flex;gap:6px;align-items:baseline}
@media(max-width:1020px){.art-grid{grid-template-columns:minmax(0,720px)}.art-side{display:none}.toc-m{display:block}}

/* текст: колонка около 70 знаков */
.prose{font-size:clamp(17px,1.25vw,18.5px);line-height:1.75;color:rgba(248,242,236,.9);max-width:45.2em;overflow-wrap:break-word}
.prose>*+*{margin-top:1.05em}
.prose h2{font:700 clamp(22px,2.1vw,29px)/1.25 var(--display);letter-spacing:-.015em;color:var(--ink);margin-top:2.1em;scroll-margin-top:96px;text-wrap:balance}
.prose h3{font:700 clamp(18px,1.5vw,21px)/1.3 var(--display);color:var(--ink);margin-top:1.8em;scroll-margin-top:96px}
.prose h2+*,.prose h3+*{margin-top:.7em}
.prose>:first-child{margin-top:0}
.prose strong{color:var(--ink);font-weight:700}
.prose a{color:var(--amber);text-decoration:underline;text-decoration-color:rgba(255,178,77,.4);text-underline-offset:3px;text-decoration-thickness:1px}
.prose a:hover{text-decoration-color:var(--amber)}
.prose ul,.prose ol{padding:0;margin-left:0;list-style:none;display:grid;gap:.55em}
.prose ul li{position:relative;padding-left:28px}
.prose ul li::before{content:"";position:absolute;left:4px;top:.68em;width:8px;height:8px;border-radius:50%;background:var(--neon);box-shadow:0 0 10px rgba(255,63,142,.6)}
.prose ol{counter-reset:o}
.prose ol li{position:relative;padding-left:36px;counter-increment:o}
.prose ol li::before{content:counter(o);position:absolute;left:0;top:.2em;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font:700 12px/1 var(--display);background:rgba(255,178,77,.14);color:var(--amber)}
.prose blockquote{margin:1.6em 0;padding:22px 26px;border-radius:var(--r-m);background:linear-gradient(135deg,rgba(143,99,255,.14),rgba(255,63,142,.08));border:1px solid var(--line-2);position:relative;font-size:1.04em;color:var(--ink)}
.prose blockquote::before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:3px;border-radius:3px;background:linear-gradient(180deg,var(--neon),var(--amber))}
.prose blockquote p+p{margin-top:.6em}
.prose .art-note{font-size:14.5px;line-height:1.6;color:var(--faint);padding-top:18px;margin-top:2em;border-top:1px solid var(--line)}
.prose .art-cta{margin:1.8em 0}
.prose .art-cta a{text-decoration:none;color:#1b0f05}
.prose .art-cta a.btn-wa{color:#fff}
.prose figure{margin:1.6em 0 0}
.art-img img{width:100%;border-radius:var(--r-m);border:1px solid var(--line)}
.yt button{position:relative;display:block;width:100%;aspect-ratio:16/9;border-radius:var(--r-m);overflow:hidden;border:1px solid var(--line-2);background:#000}
.yt button img{width:100%;height:100%;object-fit:cover;opacity:.82;transition:opacity .2s,transform .5s}
.yt button:hover img{opacity:1;transform:scale(1.03)}
.yt i{position:absolute;left:50%;top:50%;width:72px;height:72px;margin:-36px 0 0 -36px;border-radius:50%;background:linear-gradient(180deg,#ffc266,var(--amber) 55%,var(--amber-2));box-shadow:0 10px 34px rgba(255,160,60,.45)}
.yt i::after{content:"";position:absolute;left:29px;top:22px;border-style:solid;border-width:14px 0 14px 22px;border-color:transparent transparent transparent #1b0f05}
.yt iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:var(--r-m);display:block}
.yt figcaption{font-size:14px;color:var(--faint);margin-top:10px;line-height:1.45}
.art-table{overflow-x:auto}

/* попробуйте сами */
.try{margin-top:clamp(40px,5vw,60px);display:grid;grid-template-columns:220px 1fr;gap:26px;align-items:center;padding:18px 26px 18px 18px;border-radius:var(--r-l);background:linear-gradient(135deg,#3a0f3f 0%,#4a1545 45%,#7a2a2e 120%);border:1px solid rgba(255,63,142,.4);position:relative;overflow:hidden}
.try::after{content:"";position:absolute;right:-70px;top:-70px;width:240px;height:240px;border-radius:50%;background:radial-gradient(closest-side,rgba(255,63,142,.5),transparent);pointer-events:none}
.try>*{position:relative;z-index:1}
.try img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--r-m)}
.try h2{font:700 clamp(22px,2.2vw,28px)/1.15 var(--display);margin-top:10px}
.try p:not(.kicker){color:rgba(248,242,236,.82);font-size:15.5px;margin-top:8px}
.try-btns{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
@media(max-width:620px){.try{grid-template-columns:1fr;padding:16px 16px 22px}.try img{aspect-ratio:16/10}.try-btns .btn{flex:1}}

.art-src{margin-top:26px;font-size:13px;color:var(--faint)}
.art-src a:hover{color:var(--ink)}
.more{border-top:1px solid var(--line);background:var(--bg-2)}
.more .post{background:var(--bg)}
/* max-width здесь в em, а не в ch: ch зависит от запасного шрифта (см. site.css, Onest Fb) */
