/* The Borzoi — общая дизайн-система прототипа */
:root{
  --ink: oklch(0.19 0.012 25);
  --ink-2: oklch(0.27 0.012 25);
  --smoke: oklch(0.46 0.010 25);
  --paper: oklch(0.96 0.010 85);
  --paper-2: oklch(0.925 0.014 85);
  --crim: oklch(0.53 0.20 26);
  --crim-deep: oklch(0.46 0.17 27);
  --hair: oklch(0.19 0.012 25 / 0.16);
  --hair-2: oklch(0.96 0.010 85 / 0.20);
  --serif: "Playfair Display", Georgia, serif;      /* дисплей: заголовки, вордмарк, буквица */
  --read: "Source Serif 4", Georgia, serif;         /* тело статьи: длинный текст */
  --sans: "Archivo", "Helvetica Neue", Arial, sans-serif;
}
/* акцент-тема: <html data-accent="green"> */
:root[data-accent="green"]{
  --crim: oklch(0.47 0.093 158);
  --crim-deep: oklch(0.38 0.075 158);
}

*{box-sizing:border-box;margin:0}
html,body{overflow-x:hidden}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);
  -webkit-font-smoothing:antialiased;line-height:1.5}
a{color:inherit;text-decoration:none}
.wrap{max-width:1220px;margin:0 auto;padding:0 32px}
.narrow{max-width:760px;margin:0 auto;padding:0 32px}
.kick{font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:.2em;text-transform:uppercase}
.crim{color:var(--crim)}

/* ---------- utility bar ---------- */
.bar{background:var(--ink);color:var(--paper)}
.bar .wrap{display:flex;align-items:center;justify-content:space-between;height:46px;gap:24px}
.bar .meta{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:oklch(0.82 0.01 85);white-space:nowrap}
nav{display:flex;gap:22px}
.bar nav a{font-size:11px;letter-spacing:.15em;text-transform:uppercase;font-weight:500;color:var(--paper);opacity:.9;transition:opacity .2s,color .2s}
.bar nav a:hover,.bar nav a.on{opacity:1;color:var(--crim)}
.bar .lead{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600}
.bar .lead svg{width:20px;color:var(--paper)}

/* ---------- masthead ---------- */
.masthead{text-align:center;padding:44px 0 36px}
.masthead .head-mark{width:190px;color:var(--ink);margin:0 auto 16px;display:block}
.word{font-family:var(--serif);font-weight:900;text-transform:uppercase;line-height:.86;letter-spacing:.02em;font-size:clamp(54px,9vw,124px)}
.word .the{display:block;font-family:var(--sans);font-weight:600;font-size:.13em;letter-spacing:.6em;text-indent:.6em;color:var(--crim);margin-bottom:.85em}
.word.sm{font-size:26px}
.word.sm .the{font-size:.42em;margin-bottom:.4em}
.tagline{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:20px;font-size:12px;letter-spacing:.42em;text-transform:uppercase;color:var(--smoke);font-weight:500}
.tagline::before,.tagline::after{content:"";width:52px;height:1px;background:var(--hair)}

/* ---------- hero (home) ---------- */
.hero{display:grid;grid-template-columns:0.86fr 1.14fr;gap:0;border-top:2px solid var(--ink)}
.hero .text{padding:52px 56px 52px 0;display:flex;flex-direction:column;justify-content:center;border-right:1px solid var(--hair)}
.hero h1{font-family:var(--serif);font-weight:900;font-size:clamp(38px,4.4vw,60px);line-height:1.02;letter-spacing:-.01em;margin:18px 0 22px}
.hero .deck{font-family:var(--serif);font-style:italic;font-size:20px;line-height:1.5;color:var(--ink-2);max-width:34ch}
.hero .by{margin-top:26px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--smoke)}
.hero .go{margin-top:26px;align-self:flex-start;font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;border-bottom:2px solid var(--crim);padding-bottom:4px}
.hero .go:hover{color:var(--crim)}
.cover{position:relative;background:radial-gradient(120% 130% at 78% 8%, oklch(0.30 0.012 25) 0%, var(--ink) 55%);min-height:520px;overflow:hidden;display:flex;align-items:flex-end}
.cover .ghost{position:absolute;right:-6%;top:44%;transform:translateY(-50%);width:78%;color:oklch(0.30 0.012 25)}
.cover .tag{position:absolute;top:26px;left:28px;background:var(--crim);color:var(--paper);padding:7px 12px;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:600}
.cover .cap{position:relative;padding:22px 28px;color:oklch(0.86 0.01 85);font-size:11px;letter-spacing:.14em;text-transform:uppercase;border-top:1px solid var(--hair-2);width:100%}
/* Реальная обложка в блоке .cover (главная/рубрика): фото заполняет блок, подпись читается поверх */
.cover picture{position:absolute;inset:0;z-index:0}
.cover picture img{width:100%;height:100%;object-fit:cover;display:block;object-position:center}
.hero .cover,.rlead .cover{align-self:center;min-height:0;aspect-ratio:3/2}
.cover .tag{z-index:2}
.cover .cap{z-index:1;background:linear-gradient(to top, oklch(0.15 0.012 60 / .82), oklch(0.15 0.012 60 / 0))}

/* ---------- section label + contents index ---------- */
.section-label{display:flex;align-items:baseline;gap:16px;margin:0 0 6px;padding-top:56px}
.section-label h2{font-family:var(--serif);font-weight:700;font-size:26px}
.section-label .en{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--smoke)}
.index{border-top:2px solid var(--ink)}
.idx-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 56px}
.item{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:start;padding:26px 0;border-bottom:1px solid var(--hair)}
.item .no{font-family:var(--serif);font-weight:900;font-size:34px;line-height:1;color:var(--crim);min-width:52px}
.item .rub{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--smoke);font-weight:600;margin-bottom:7px}
.item h3{font-family:var(--serif);font-weight:700;font-size:21px;line-height:1.16;letter-spacing:-.005em}
.item:hover h3{color:var(--crim)}

/* ---------- pull quote band ---------- */
.quote{background:var(--ink);color:var(--paper);margin-top:64px}
.quote .wrap{padding:74px 32px;text-align:center}
.quote .mk{font-family:var(--serif);font-weight:900;font-size:78px;line-height:.4;color:var(--crim);display:block;height:44px}
.quote blockquote{font-family:var(--serif);font-weight:400;font-style:italic;font-size:clamp(24px,3vw,38px);line-height:1.34;max-width:20ch;margin:0 auto;letter-spacing:-.01em}
.quote .attr{margin-top:30px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:oklch(0.80 0.01 85)}
.quote .attr b{color:var(--paper);font-weight:600}

/* ---------- footer ---------- */
footer{background:var(--paper-2);border-top:2px solid var(--ink)}
footer .wrap{padding:56px 32px 40px;display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:end}
footer h4{font-family:var(--serif);font-weight:700;font-size:28px;margin-bottom:10px}
footer p{color:var(--ink-2);font-size:14px;max-width:38ch}
.signup{display:flex;gap:0;margin-top:20px;max-width:420px}
.signup input{flex:1;border:1.5px solid var(--ink);border-right:0;background:transparent;padding:13px 16px;font-family:var(--sans);font-size:14px;color:var(--ink)}
.signup input::placeholder{color:var(--smoke)}
.signup button{background:var(--ink);color:var(--paper);border:1.5px solid var(--ink);padding:13px 22px;font-family:var(--sans);font-weight:600;font-size:12px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.signup button:hover{background:var(--crim);border-color:var(--crim)}
.colophon{text-align:right;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--smoke);line-height:2}
.colophon .mk{width:38px;color:var(--ink);margin-left:auto;display:block;margin-bottom:14px}
.colophon b{color:var(--ink);font-weight:600}

/* ---------- article (longread) ---------- */
.amast{padding:44px 0 0;text-align:center}
.akick{color:var(--crim);margin-bottom:20px}
.atitle{font-family:var(--serif);font-weight:900;font-size:clamp(40px,6vw,76px);line-height:1.0;letter-spacing:-.015em;max-width:16ch;margin:0 auto}
.adeck{font-family:var(--serif);font-style:italic;font-size:clamp(19px,2.2vw,24px);line-height:1.5;color:var(--ink-2);max-width:44ch;margin:24px auto 0}
.ameta{margin:28px 0 0;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--smoke)}
.ameta b{color:var(--ink);font-weight:600}
.afigure{margin:44px 0;background:radial-gradient(120% 140% at 70% 10%, oklch(0.31 0.012 25), var(--ink));min-height:460px;position:relative;overflow:hidden;display:flex;align-items:flex-end}
.afigure .ghost{position:absolute;right:-4%;top:46%;transform:translateY(-50%);width:62%;color:oklch(0.30 0.012 25)}
.afigure figcaption{position:relative;padding:18px 24px;color:oklch(0.84 0.01 85);font-size:11px;letter-spacing:.14em;text-transform:uppercase;border-top:1px solid var(--hair-2);width:100%}
/* оптимизированное фото-hero (eleventy-img: picture/avif/webp + srcset + lazy) */
.photofig{margin:44px 0}
.photofig img,.photofig picture{display:block;width:100%;height:auto}
.photofig figcaption{margin-top:12px;color:var(--smoke);font-size:11px;letter-spacing:.14em;text-transform:uppercase}

.prose{font-family:var(--read);font-size:19px;line-height:1.74;color:var(--ink)}
.prose p{margin:0 0 22px}
.prose > p:first-of-type::first-letter{font-family:var(--serif);float:left;font-weight:900;font-size:80px;line-height:.72;padding:6px 12px 0 0;color:var(--crim)}
.prose h2{font-family:var(--serif);font-weight:700;font-size:27px;line-height:1.2;margin:40px 0 16px;letter-spacing:-.01em}
.prose blockquote{font-family:var(--serif);font-weight:700;font-style:italic;font-size:clamp(22px,2.6vw,30px);line-height:1.32;color:var(--ink);border-top:2px solid var(--crim);border-bottom:2px solid var(--crim);padding:26px 0;margin:34px 0;text-align:center}
.pull{font-family:var(--serif);font-weight:700;font-style:italic;font-size:clamp(24px,3vw,32px);line-height:1.3;color:var(--ink);border-top:2px solid var(--crim);border-bottom:2px solid var(--crim);padding:28px 0;margin:36px 0;text-align:center}
.spec{background:var(--paper-2);border:1px solid var(--hair);padding:28px 30px;margin:36px 0}
.spec .st{font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--crim);margin-bottom:16px}
.spec h4{font-family:var(--serif);font-weight:700;font-size:22px;margin-bottom:14px}
.spec dl{display:grid;grid-template-columns:auto 1fr;gap:10px 24px;font-family:var(--sans);font-size:14px}
.spec dt{color:var(--smoke);text-transform:uppercase;letter-spacing:.1em;font-size:11px;align-self:center}
.spec dd{font-weight:500}

/* ---------- rubric page ---------- */
.rhero{border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);padding:40px 0;display:flex;align-items:baseline;justify-content:space-between;gap:24px;flex-wrap:wrap}
.rhero h1{font-family:var(--serif);font-weight:900;font-size:clamp(48px,8vw,96px);line-height:.9;letter-spacing:-.01em}
.rhero .desc{font-family:var(--serif);font-style:italic;font-size:19px;color:var(--ink-2);max-width:32ch}
.rlead{display:grid;grid-template-columns:1.1fr .9fr;gap:0;border-bottom:1px solid var(--hair)}
.rlead .cover{min-height:420px}
.rlead .text{padding:44px 48px 44px 0}
.rlead h2{font-family:var(--serif);font-weight:900;font-size:clamp(30px,3.4vw,44px);line-height:1.04;margin:14px 0 18px;letter-spacing:-.01em}
.rlead .deck{font-family:var(--serif);font-style:italic;font-size:19px;color:var(--ink-2);max-width:36ch}
.rlist{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0 48px}
.rlist .art{padding:30px 0;border-bottom:1px solid var(--hair)}
.rlist .art .rub{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--crim);font-weight:600;margin-bottom:10px}
.rlist .art h3{font-family:var(--serif);font-weight:700;font-size:20px;line-height:1.2;letter-spacing:-.005em}
.rlist .art:hover h3{color:var(--crim)}
.rlist .art .m{margin-top:12px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--smoke)}

@media (max-width:900px){
  nav,.bar .meta{display:none}
  .hero,.rlead{grid-template-columns:1fr}
  .hero .text,.rlead .text{padding:40px 0;border-right:0;border-bottom:1px solid var(--hair)}
  .cover{min-height:360px}
  .idx-grid,.rlist{grid-template-columns:1fr;gap:0}
  footer .wrap{grid-template-columns:1fr}
  .colophon{text-align:left}.colophon .mk{margin-left:0}
}

/* ---------- бесконечная лента (infinite scroll) ---------- */
.scroll-sentinel{height:1px}
.post + .post{margin-top:0}

.post-next{border-top:2px solid var(--ink);margin-top:76px;background:var(--paper-2)}
.post-next .narrow{padding-top:34px;padding-bottom:42px}
.post-next .lbl{display:block;font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--smoke);margin-bottom:16px}
.post-next a{display:block}
.post-next .rub{display:block;font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--crim);margin-bottom:10px}
.post-next .ttl{font-family:var(--serif);font-weight:700;font-size:clamp(28px,4vw,46px);line-height:1.04;letter-spacing:-.01em;transition:color .2s}
.post-next a:hover .ttl{color:var(--crim)}

.post-end{border-top:2px solid var(--ink);margin-top:76px;background:var(--ink);color:var(--paper);text-align:center}
.post-end .narrow{padding:58px 32px 62px}
.post-end .mk{width:40px;color:var(--crim);margin:0 auto 18px;display:block}
.post-end p{font-family:var(--serif);font-style:italic;font-size:22px;margin-bottom:20px}
.post-end a{display:inline-block;font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;border-bottom:2px solid var(--crim);padding-bottom:4px}

/* пульс маркера, пока подгружается следующий материал */
.is-loading-next .scroll-sentinel{height:40px;position:relative}
.is-loading-next .scroll-sentinel::after{content:"";position:absolute;left:50%;top:14px;width:7px;height:7px;margin-left:-3.5px;border-radius:50%;background:var(--crim);animation:bz-pulse 1s ease-in-out infinite}
@keyframes bz-pulse{0%,100%{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.25)}}

/* ---------- компактный подвал (появляется при прокрутке вверх) ---------- */
.minibar{position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--ink);color:var(--paper);
  border-top:2px solid var(--crim);transform:translateY(110%);
  transition:transform .32s cubic-bezier(.22,1,.36,1);box-shadow:0 -8px 24px oklch(0.19 0.012 25/.18)}
.minibar.show{transform:translateY(0)}
.minibar .wrap{display:flex;align-items:center;justify-content:space-between;height:44px;gap:20px}
.minibar .brand{display:flex;align-items:center;gap:9px;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.minibar .brand svg{width:20px;color:var(--crim)}
.minibar .brand b{font-weight:600}
.minibar .mid{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:oklch(0.82 0.01 85);white-space:nowrap}
.minibar .acts{display:flex;align-items:center;gap:18px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600}
.minibar .acts a,.minibar .acts .up{color:var(--paper);background:none;border:0;padding:0;cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit}
.minibar .acts a:hover,.minibar .acts .up:hover{color:var(--crim)}
@media(max-width:640px){.minibar .mid{display:none}.minibar .wrap{gap:12px}}

/* подпись-источник у фото (только в полном материале) */
figcaption .credit{color:var(--smoke)}
/* Вставки-фото внутри текста статьи */
.prose figure{margin:34px 0}
.prose figure img,.prose figure picture{width:100%;height:auto;display:block;border-radius:1px}
.prose figure figcaption{margin-top:10px;color:var(--smoke);font-family:-apple-system,"Segoe UI",Roboto,sans-serif;font-size:13.5px;line-height:1.5;letter-spacing:0;text-transform:none}
.prose figure figcaption .credit{display:block;margin-top:2px;font-size:12px}
/* Ссылка на доску «Редакция» в шапке — только в превью */
.bar nav a.ed{color:var(--crim);font-weight:700}
.bar nav a.ed:hover{opacity:.75}
