/* Layout: длинное чтение — полноэкранная обложка, узкая колонка текста ~680px, широкие и полноэкранные кадры выходят за колонку; слева липкое оглавление на широких экранах. */

.prose .row{display:grid;grid-auto-flow:column;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 0 14px;scrollbar-width:none}
.prose .row::-webkit-scrollbar{display:none}
.prose .row>*{scroll-snap-align:start}

/* Прогресс чтения */
.progress{position:fixed;left:0;top:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:var(--accent);z-index:60}

/* Обложка */
.a-hero{position:relative;min-height:clamp(560px,86vh,880px);display:grid;align-items:end;overflow:hidden;isolation:isolate}
.a-hero>img,.a-hero>picture>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;z-index:-2}
.a-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,var(--bg) 0%,rgba(0,0,0,.7) 35%,rgba(0,0,0,.15) 70%,rgba(0,0,0,.4) 100%)}
.a-hero .wrap{width:100%;padding-block:120px 56px;display:grid;justify-items:center;text-align:center;gap:20px}
.a-hero .kicker{color:var(--fg)}
.a-hero .kicker b{color:var(--accent);font-weight:600}
.a-hero h1{font:800 clamp(2.4rem,6vw,5rem)/1 var(--font-display);letter-spacing:-.045em;max-width:16ch;text-wrap:balance}
.dek{font-size:clamp(1.05rem,1.6vw,1.3rem);line-height:1.5;color:rgba(245,245,247,.85);max-width:46ch;text-wrap:pretty}
.byline{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 16px;font-size:.9rem;color:rgba(245,245,247,.75)}
.byline .ava{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-2));display:inline-grid;place-items:center;font:800 .7rem/1 var(--font-display);color:#fff;vertical-align:middle;margin-right:8px}
.byline b{color:var(--fg);font-weight:600}

/* Сетка статьи */
.a-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,680px) minmax(0,1fr);column-gap:40px;padding-top:clamp(24px,4vw,48px)}
.a-layout>*{grid-column:2}
.toc{grid-column:1;grid-row:1 / span 200;justify-self:end;width:220px;position:sticky;top:96px;align-self:start;display:grid;gap:10px;font-size:.88rem}
.toc p{font:600 .74rem/1 var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3)}
.toc a{color:var(--fg-3);padding-left:12px;border-left:2px solid var(--line);line-height:1.35;display:block}
.toc a:hover{color:var(--fg)}
.toc a.on{color:var(--fg);border-left-color:var(--accent)}
.share{grid-column:3;grid-row:1 / span 200;position:sticky;top:96px;align-self:start;display:grid;gap:8px;justify-self:start}
.share button,.share a{all:unset;cursor:pointer;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.08);display:grid;place-items:center;font:600 .78rem/1 var(--font-ui)}
.share button:hover,.share a:hover{background:rgba(255,255,255,.18)}
.share :focus-visible{outline:2px solid var(--fg);outline-offset:2px}
@media (max-width:1180px){.toc,.share{display:none}.a-layout{grid-template-columns:minmax(0,1fr);padding-inline:var(--gutter)}.a-layout>*{grid-column:1}}
@media (min-width:1181px){.a-layout{padding-inline:var(--gutter)}}

/* Текст */
.prose{font-size:1.18rem;line-height:1.72;color:rgba(245,245,247,.88)}
.prose>*+*{margin-top:1.15em}
.prose p strong{color:var(--fg);font-weight:600}
.prose h2{font:700 clamp(1.6rem,2.6vw,2.1rem)/1.12 var(--font-display);letter-spacing:-.03em;color:var(--fg);margin-top:2.2em;scroll-margin-top:90px;text-wrap:balance}
.prose h3{font:700 1.25rem/1.25 var(--font-ui);color:var(--fg);margin-top:1.6em}
/* Блок «Список» редактора: в base.css маркеры сброшены для навигации — в тексте возвращаем. */
.prose ul,.prose ol{padding-left:1.4em}
.prose ul{list-style:disc}
.prose ol{list-style:decimal}
.prose li+li{margin-top:.4em}
.prose li::marker{color:var(--accent)}
.prose li strong{color:var(--fg);font-weight:600}
.prose a.inl{color:var(--fg);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:4px;text-decoration-thickness:2px}
.lede::first-letter,.a-layout .prose>p:first-child::first-letter{float:left;font:800 4.4em/.82 var(--font-display);margin:.06em .12em 0 0;color:var(--fg)}

/* Блоки редактора */
.fig{display:grid;gap:10px}
.fig img{width:100%;border-radius:var(--r-md)}
.fig figcaption{font-size:.85rem;color:var(--fg-3);line-height:1.45}
.fig figcaption b{color:var(--fg-2);font-weight:500}
.fig.wide{width:min(1100px,calc(100vw - 2 * var(--gutter)));justify-self:center;margin-block:2.2em}
.fig.full{width:100vw;justify-self:center;margin-block:2.6em}
.fig.full img{border-radius:0;max-height:78vh;object-fit:cover}
.fig.natural{justify-items:center}
.fig.natural img{width:var(--nat,auto);max-width:100%}
.fig.natural figcaption{max-width:var(--nat,100%);justify-self:center}
.fig.full figcaption{padding-inline:var(--gutter);max-width:1100px;margin-inline:auto;width:100%}
.pull{margin-block:2.2em;padding:8px 0 8px 26px;border-left:3px solid var(--accent)}
.pull p{font:700 clamp(1.5rem,2.6vw,2.1rem)/1.2 var(--font-display);letter-spacing:-.03em;color:var(--fg);text-wrap:balance}
.pull cite{display:block;margin-top:12px;font:500 .9rem/1.4 var(--font-ui);font-style:normal;color:var(--fg-3)}
.callout{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:center;padding:22px 24px;border-radius:var(--r-lg);background:linear-gradient(135deg,rgba(255,55,95,.16),rgba(255,55,95,.04));border:1px solid rgba(255,55,95,.25)}
.callout .num{font:800 clamp(2.6rem,5vw,3.6rem)/.9 var(--font-display);letter-spacing:-.05em;color:var(--fg)}
.callout p{font-size:1rem;line-height:1.5;color:var(--fg-2)}
.callout p b{display:block;color:var(--fg);font:700 1.05rem/1.3 var(--font-display);margin-bottom:4px}
.film-card{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:18px;align-items:center;padding:14px;border-radius:var(--r-lg);background:var(--card);font-size:1rem;line-height:1.4}
.film-card img{border-radius:var(--r-sm);aspect-ratio:2/3;object-fit:cover;width:96px}
.film-card b{display:block;font:700 1.15rem/1.2 var(--font-display);color:var(--fg)}
.film-card span{font-size:.85rem;color:var(--fg-3)}
.film-card .score{display:inline-flex;gap:6px;align-items:center;margin-top:8px;font:700 .82rem/1 var(--font-ui);padding:6px 9px;border-radius:8px;background:var(--fg);color:#000}
.film-card .btns{display:grid;gap:8px}
.person-card{display:grid;grid-template-columns:84px minmax(0,1fr);gap:18px;align-items:center;padding:16px;border-radius:var(--r-lg);background:var(--card);font-size:.95rem;line-height:1.5;color:var(--fg-2)}
.person-card img{width:84px;height:84px;border-radius:50%;object-fit:cover;object-position:center 20%}
.person-card b{display:block;font:700 1.1rem/1.2 var(--font-display);color:var(--fg)}
.person-card .k{font:600 .72rem/1 var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:6px}
.gallery{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:10px}
.gallery img{width:100%;height:100%;object-fit:cover;border-radius:var(--r-md)}
.gallery>img:first-child,.gallery>picture:first-child>img{grid-row:span 2}
.gallery--grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:none}
.gallery--grid>picture:first-child>img{grid-row:auto}
.gallery--grid img{aspect-ratio:3/2;height:auto}
.gallery img{cursor:zoom-in}
.spoiler{border-radius:var(--r-lg);background:var(--card);overflow:hidden}
.spoiler summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;font:600 1rem/1.3 var(--font-ui);color:var(--fg)}
.spoiler summary::-webkit-details-marker{display:none}
.spoiler summary span{font:600 .72rem/1 var(--font-ui);letter-spacing:.06em;text-transform:uppercase;color:#ff9f0a;background:rgba(255,159,10,.14);padding:6px 9px;border-radius:999px}
.spoiler summary::after{content:"Показать";font:500 .85rem/1 var(--font-ui);color:var(--fg-3)}
.spoiler[open] summary::after{content:"Скрыть"}
.spoiler summary:focus-visible{outline:2px solid var(--fg);outline-offset:-2px}
.spoiler div{padding:0 22px 20px;font-size:1.05rem;color:var(--fg-2)}
.timeline{width:100%;border-collapse:collapse;font-size:1rem}
.timeline caption{text-align:left;font:700 1.15rem/1.3 var(--font-display);color:var(--fg);padding-bottom:10px}
.timeline th,.timeline td{text-align:left;padding:12px 0;border-top:1px solid var(--line);vertical-align:top}
.timeline th{width:96px;font:700 1.05rem/1.4 var(--font-display);color:var(--accent);font-variant-numeric:tabular-nums}
.timeline td{color:var(--fg-2)}
.also{padding:18px 22px;border-radius:var(--r-lg);border:1px solid var(--line);display:grid;gap:10px}
.also p{font:600 .74rem/1 var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3)}
.also a{display:flex;justify-content:space-between;gap:14px;font:600 1.02rem/1.35 var(--font-display);color:var(--fg)}
.also a span{color:var(--fg-3);font:500 .85rem/1.35 var(--font-ui);white-space:nowrap}
.also a:hover{color:var(--accent)}
.films{grid-auto-columns:150px}
.films a{display:grid;gap:8px;font-size:.85rem;line-height:1.3;color:var(--fg-3)}
.films img{border-radius:var(--r-sm);aspect-ratio:2/3;object-fit:cover;width:100%}
.films b{display:block;color:var(--fg);font:600 .95rem/1.25 var(--font-display)}
.block-title{font:700 1.15rem/1.3 var(--font-display);color:var(--fg);margin-bottom:12px}
@media (max-width:620px){
  .film-card{grid-template-columns:76px minmax(0,1fr)}.film-card img{width:76px}.film-card .btns{grid-column:1 / -1;grid-auto-flow:column}
  .gallery--grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gallery:not(.gallery--grid){grid-template-columns:minmax(0,1fr);grid-template-rows:none}.gallery>img:first-child,.gallery>picture:first-child>img{grid-row:auto}
  .prose{font-size:1.08rem}
}

/* Конец статьи */
.a-end{display:grid;gap:24px;margin-top:3em;padding-top:28px;border-top:1px solid var(--line)}
.tags{display:flex;flex-wrap:wrap;gap:8px}
.tags a,.tags span{font:500 .85rem/1 var(--font-ui);padding:9px 13px;border-radius:999px;background:rgba(255,255,255,.08)}
.tags a:hover{background:rgba(255,255,255,.16)}
.author-box{display:grid;grid-template-columns:56px minmax(0,1fr);gap:16px;align-items:center;padding:18px;border-radius:var(--r-lg);background:var(--card);color:var(--fg-2);font-size:.95rem}
.author-box .ava{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-2));display:grid;place-items:center;font:800 .9rem/1 var(--font-display);color:#fff}
.author-box b{display:block;color:var(--fg);font:700 1.05rem/1.2 var(--font-display)}
.source-note{font-size:.85rem;color:var(--fg-3);line-height:1.5}
.next{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.next a{display:grid;gap:10px;align-content:start}
.next .img{aspect-ratio:16/10}
.next h3{font:700 1.02rem/1.3 var(--font-display)}
.next .k{font:600 .74rem/1 var(--font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
@media (max-width:860px){.next{grid-template-columns:minmax(0,1fr)}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
/* Широкие и полноэкранные кадры, галереи проходят поверх липкого оглавления и кнопок */
.fig.wide,.fig.full{position:relative;z-index:3}
.toc,.share{z-index:1}
.fig.full{background:var(--bg)}
