/* SpeedMe 2 — site styles (v2.1.0). New file: nothing is taken from the old speedme.ru CSS
   (Bootstrap, speedme.css, styles.css); only the identity is kept — black strip, graphite menu
   #2A3035, teal accent, Rubik. Served under a hashed name (ManifestStaticFilesStorage). */
/* Rubik (SIL OFL 1.1), latin + cyrillic, self-hosted: 400 · 500 · 700 — the old speedme.ru face */
@font-face{font-family:Rubik;font-style:normal;font-weight:400;font-display:swap;src:url("../../fonts/rubik/rubik-v11-latin_cyrillic-regular.1e54305531d0.woff2") format("woff2")}
@font-face{font-family:Rubik;font-style:normal;font-weight:500;font-display:swap;src:url("../../fonts/rubik/rubik-v11-latin_cyrillic-500.982f26e29b22.woff2") format("woff2")}
@font-face{font-family:Rubik;font-style:normal;font-weight:700;font-display:swap;src:url("../../fonts/rubik/rubik-v11-latin_cyrillic-700.b5d6eb5655c4.woff2") format("woff2")}
/* metric-matched fallback: no layout jump when Rubik arrives */
@font-face{font-family:"Rubik Fallback";src:local("Arial"),local("Helvetica"),local("Liberation Sans");size-adjust:104%;ascent-override:90%;descent-override:24%;line-gap-override:0%}

/* SpeedMe 2 — the old speedme.ru identity, rebuilt: black "Следи за скоростью" strip, graphite
   menu bar (#2A3035) with the teal underline, teal headings, Rubik, white reading page.
   Every value is a token; teal text uses the darker shades (WCAG AA on white). */
:root{
  --bg:#FFFFFF;
  --sheet:#F4F6F7;       /* boxes, text-only cards */
  --sheet-2:#E9EDEF;     /* image wells */
  --line:#E3E7EA;
  --line-2:#CED5DA;      /* outlines of chips and buttons */
  --ink:#1C2125;         /* headlines 16.2:1 */
  --ink-body:#2B2B2B;    /* reading text 14.4:1 */
  --ink-2:#4B5359;       /* standfirsts 7.9:1 */
  --ink-3:#687077;       /* meta 5.0:1 */
  --dark:#2A3035;        /* menu bar, footer */
  --dark-2:#3A4248;
  --black:#000;
  --on-dark:#F7F7F7;
  --on-dark-2:#AEB6BC;   /* 6.6:1 on --dark */
  --teal:#15AFA6;        /* accent marks: underlines, bars, chips — not small text */
  --teal-head:#0F968E;   /* big headings 3.6:1 (large text) */
  --teal-ink:#0B7770;    /* links and small teal text 5.4:1 */
  --blue:#0099CC;        /* the "ME" of the logo */
  --focus:#0B7770;
  --sans:Rubik,"Rubik Fallback",Arial,"Helvetica Neue",sans-serif;
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s8:32px;--s10:40px;--s12:48px;--s14:56px;--s18:72px;
  --r:6px;
  --maxw:1200px;--textw:720px;--railw:300px;
  --gutter:16px;
  --fs-meta:.8125rem;    /* 13px */
  --fs-ui:.9375rem;      /* 15px */
  --dur:.15s;
  color-scheme:light;
}
@media(min-width:768px){:root{--gutter:24px}}
*,*::before,*::after{box-sizing:border-box}
*{margin:0;padding:0}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--bg)}
body{font-family:var(--sans);font-size:1rem;line-height:1.6;color:var(--ink);background:var(--bg);overflow-wrap:break-word;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased}
body>main{flex:1 0 auto;width:100%}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{text-wrap:balance;font-weight:700}
p{text-wrap:pretty}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:3px}
.skip{position:absolute;left:var(--s4);top:-100px;z-index:200;background:var(--teal-ink);color:#fff;padding:var(--s3) var(--s4);font-size:var(--fs-ui);font-weight:500;border-radius:var(--r)}
.skip:focus{top:var(--s3)}
.wrap{width:100%;max-width:calc(var(--maxw) + 2*var(--gutter));margin-inline:auto;padding-inline:max(var(--gutter),env(safe-area-inset-left)) max(var(--gutter),env(safe-area-inset-right))}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.num{font-variant-numeric:tabular-nums}
.ico{display:block;flex:0 0 auto}

/* ── Top strip: "Следи за скоростью" · networks · 16+ ── */
.topbar{background:var(--black);color:#fff;font-size:.8125rem;line-height:1}
.topbar-in{display:flex;align-items:center;gap:var(--s4);height:36px}
.topbar-nets{display:flex;align-items:center;gap:2px}
.topbar-nets a{width:28px;height:28px;display:grid;place-items:center;border-radius:999px;color:#fff}
.topbar .age{margin-left:auto;font-weight:500;letter-spacing:.02em}

/* ── Menu bar: logo · sections · search. Phones: sections get their own scrolling row ── */
.mast{position:sticky;top:0;z-index:50;background:var(--dark);color:var(--on-dark)}
.mast-in{display:flex;flex-wrap:wrap;align-items:center;column-gap:var(--s8)}
.logo{display:flex;align-items:center;flex:0 0 auto;height:56px}
.logo img{width:127px;height:18px}
.nav{order:3;flex:1 1 100%;display:flex;overflow-x:auto;scrollbar-width:none;margin-inline:calc(-1*var(--gutter));padding-inline:calc(var(--gutter) - 12px);border-top:1px solid var(--dark-2)}
.nav::-webkit-scrollbar{display:none}
.nav a{position:relative;flex:0 0 auto;display:flex;align-items:center;height:44px;padding:0 12px;font-size:.8125rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--on-dark);white-space:nowrap}
.nav a::after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:3px;background:var(--teal);opacity:0}
.nav a.active::after{opacity:1}
.search-btn{order:2;margin-left:auto;margin-right:-10px;width:44px;height:44px;display:grid;place-items:center;color:var(--on-dark);border-radius:999px}
@media(min-width:1024px){
  .mast-in{flex-wrap:nowrap;height:60px}
  .logo{height:auto}
  .nav{order:0;flex:1 1 auto;justify-content:flex-end;overflow:visible;padding:0;margin:0 0 0 auto;border:0}
  .nav a{height:60px;padding:0 14px;font-size:.9375rem}
  .nav a::after{left:14px;right:14px}
  .search-btn{order:0;margin:0 -10px 0 0}
}

/* ── NOW strip (home) ── */
.now{background:var(--sheet);border-bottom:1px solid var(--line)}
.now-in{display:flex;align-items:center;gap:var(--s3);min-height:44px;font-size:.875rem}
.now b{flex:0 0 auto;font-size:.6875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--teal-ink);padding:5px 8px;line-height:1;border-radius:3px}
.now a{flex:1 1 auto;min-width:0;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.now time{flex:0 0 auto;display:none;color:var(--ink-3);font-variant-numeric:tabular-nums}
@media(min-width:768px){.now a{font-size:var(--fs-ui)}.now time{display:block}}

/* ── Small type ── */
.kick{display:block;font-size:.75rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--teal-ink);line-height:1.4}
.meta{display:flex;flex-wrap:wrap;align-items:center;gap:2px 6px;font-size:var(--fs-meta);color:var(--ink-3);line-height:1.5}
.meta .ico{color:var(--ink-3);opacity:.8}
.meta time{font-variant-numeric:tabular-nums}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:var(--fs-meta);color:var(--ink-3);padding-top:var(--s6)}
.crumbs a{display:inline-flex;align-items:center;min-height:24px;color:var(--ink-2)}
.crumbs span[aria-hidden]{color:var(--line-2)}
.sec-title{display:flex;align-items:baseline;gap:var(--s3);margin-bottom:var(--s5);padding-top:var(--s3);border-top:3px solid var(--teal)}
.sec-title h2{font-size:1.25rem;font-weight:700;line-height:1.3}
.sec-title h2 a{color:inherit}
.sec-title .more{margin-left:auto;font-size:var(--fs-meta);font-weight:500;color:var(--teal-ink);display:inline-flex;align-items:center;gap:4px;min-height:32px}
@media(min-width:768px){.sec-title h2{font-size:1.375rem}}
.inline-link{color:var(--teal-ink);text-decoration:underline;text-underline-offset:3px}

/* ── Page heads ── */
.home-h1{font-size:clamp(1.5rem,1.15rem + 1.5vw,2.25rem);line-height:1.2;color:var(--teal-head);padding-top:var(--s6)}
.phead{padding-block:var(--s4) var(--s8);border-bottom:1px solid var(--line);margin-bottom:var(--s8)}
.phead .kick{margin-bottom:var(--s2)}
.phead h1{font-size:clamp(1.75rem,1.3rem + 1.8vw,2.5rem);line-height:1.2;color:var(--teal-head)}
.phead>p,.phead header>p,.phead .lede{font-size:1rem;line-height:1.65;color:var(--ink-2);margin-top:var(--s3);max-width:68ch}
@media(min-width:768px){.phead>p,.phead header>p,.phead .lede{font-size:1.0625rem}}
.phead.bare{border-bottom:0;margin-bottom:0;padding-top:var(--s8)}
.phead.err{padding-top:var(--s12)}
.phead .count{font-size:var(--fs-meta);color:var(--ink-3);margin-top:var(--s3)}
.results{margin-top:var(--s10)}

/* ── Lead (home) ── */
.lead{padding-block:var(--s5) var(--s10)}
.lead-pic{display:block;aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;background:var(--sheet-2)}
.lead-pic img,.lead-pic picture{width:100%;height:100%;object-fit:cover}
.lead-txt{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s3);margin-top:var(--s4)}
.lead h2{font-size:clamp(1.5rem,1.15rem + 1.6vw,2.5rem);line-height:1.2;color:var(--ink)}
.lead .sf{font-size:1rem;line-height:1.65;color:var(--ink-2)}
.lead-main,.lead-side{display:flex;flex-direction:column;gap:var(--s3)}
.lead.nopic .lead-txt{margin-top:0;padding:var(--s6) var(--s5);background:var(--sheet);border-left:4px solid var(--teal);border-radius:0 var(--r) var(--r) 0}
@media(min-width:768px){.lead .sf{font-size:1.0625rem;line-height:1.7}.lead.nopic .lead-txt{padding:var(--s8)}}
@media(min-width:1024px){
  .lead{padding-block:var(--s8) var(--s12)}
  .lead-pic{aspect-ratio:21/9}
  .lead-txt{grid-template-columns:minmax(0,3fr) minmax(0,2fr);column-gap:var(--s12);margin-top:var(--s6);align-items:start}
  .lead-side{padding-top:30px}
  .lead.nopic .lead-txt{padding:var(--s10)}
}

/* ── Two columns with rail ── */
.cols{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s10)}
@media(min-width:1024px){.cols{grid-template-columns:minmax(0,1fr) var(--railw);gap:var(--s12)}}
main>.wrap:last-child{padding-bottom:var(--s14)}

/* ── Cards. Phones: compact rows, picture on the right. From 600px: grid of cards ── */
.cards{display:grid;grid-template-columns:minmax(0,1fr)}
.card{position:relative;display:flex;gap:14px;padding-block:var(--s4);border-bottom:1px solid var(--line)}
.card:first-child{padding-top:0}
.card:last-child{border-bottom:0}
.card-pic{order:2;flex:0 0 112px;height:63px;border-radius:var(--r);overflow:hidden;background:var(--sheet-2)}
.card-pic img,.card-pic picture{width:100%;height:100%;object-fit:cover}
.card-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:6px}
.card h2,.card h3{font-size:1rem;line-height:1.45;font-weight:500;color:var(--ink)}
.card h2 a::after,.card h3 a::after{content:"";position:absolute;inset:0}   /* the whole card is the link */
.card .sf{display:none}
@media(min-width:600px){
  .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s8) var(--s6)}
  .card{flex-direction:column;gap:0;padding:0;border:0;height:100%}
  .card-body{flex:1 1 auto}
  .card .meta{margin-top:auto}
  .card-pic{order:0;flex:none;width:100%;height:auto;aspect-ratio:16/9}
  .card-body{padding-top:var(--s3);gap:var(--s2)}
  .card h2,.card h3{font-size:1.125rem;line-height:1.45}
  .card.nopic{padding:var(--s5) var(--s5) var(--s5);background:var(--sheet);border-radius:var(--r)}
  .card.nopic .card-body{padding-top:0}
  .card.nopic .sf{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;font-size:var(--fs-ui);line-height:1.6;color:var(--ink-2)}
}
@media(min-width:1024px){.cols .cards{grid-template-columns:repeat(2,minmax(0,1fr))}.cards.c3,.related .cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1180px){.cols .cards{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* ── Section strips (home) ── */
.strips{display:flex;flex-direction:column;gap:var(--s12);margin-top:var(--s14)}
@media(min-width:1024px){.strips .cards{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* ── Feed rows (sections, brands, tags, authors, search) ── */
.feed{display:flex;flex-direction:column}
.row{position:relative;display:flex;gap:14px;padding-block:var(--s4);border-bottom:1px solid var(--line)}
.row:first-child{padding-top:0}
.row:last-child{border-bottom:0}
.row-pic{order:2;flex:0 0 112px;height:63px;border-radius:var(--r);overflow:hidden;background:var(--sheet-2);align-self:flex-start}
.row-pic img,.row-pic picture{width:100%;height:100%;object-fit:cover}
.row-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:6px}
.row h2,.row h3{font-size:1.0625rem;line-height:1.45;font-weight:500;color:var(--ink)}
.row h2 a::after,.row h3 a::after{content:"";position:absolute;inset:0}
.row .sf{display:none}
@media(min-width:600px){
  .row{gap:var(--s6);padding-block:var(--s6)}
  .row-pic{flex-basis:240px;height:135px}
  .row h2,.row h3{font-size:1.25rem;line-height:1.4}
  .row .sf{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:var(--fs-ui);line-height:1.65;color:var(--ink-2)}
  .row-body{gap:var(--s2)}
}

/* ── Rail boxes ── */
.rail{display:flex;flex-direction:column;gap:var(--s6);min-width:0}
.box{background:var(--sheet);border-radius:var(--r);padding:var(--s5)}
@media(min-width:768px){.box{padding:var(--s6)}}
.box-h{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s3);margin-bottom:var(--s4)}
.box-h h2{font-size:1.0625rem;font-weight:700;line-height:1.35}
.box-h h2 a{text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:4px}
.box-h .src{font-size:.6875rem;font-weight:500;letter-spacing:.08em;color:var(--ink-3);text-transform:uppercase}
.bars{list-style:none;display:flex;flex-direction:column;gap:var(--s3)}
.bars li{display:flex;flex-direction:column;gap:6px}
.bars .lbl{display:flex;justify-content:space-between;gap:var(--s3);font-size:var(--fs-ui)}
.bars .lbl .num{color:var(--ink-2)}
.bars .track{height:6px;background:var(--line);border-radius:3px}
.bars .fill{height:6px;background:var(--ink-3);border-radius:3px}
.bars li:first-child .fill{background:var(--teal)}
.klist{list-style:none;counter-reset:k}
.klist li{counter-increment:k;border-top:1px solid var(--line-2)}
.klist li:first-child{border-top:0}
.klist a{display:grid;grid-template-columns:28px minmax(0,1fr);gap:var(--s2);padding-block:var(--s3);font-size:var(--fs-ui);line-height:1.5}
.klist li:first-child a{padding-top:0}
.klist li:last-child a{padding-bottom:0}
.klist a::before{content:counter(k,decimal-leading-zero);font-weight:700;color:var(--teal-ink);font-variant-numeric:tabular-nums}
.plist{list-style:none}
.plist li{border-top:1px solid var(--line-2)}
.plist li:first-child{border-top:0}
.plist a{display:flex;flex-direction:column;gap:2px;padding-block:var(--s3);font-size:var(--fs-ui)}
.plist li:first-child a{padding-top:0}
.plist li:last-child a{padding-bottom:0}
.plist b{font-weight:500}
.plist span{font-size:var(--fs-meta);color:var(--ink-3)}

/* ── Article ── */
.a-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s10);padding-top:var(--s5)}
@media(min-width:1024px){.a-grid{grid-template-columns:minmax(0,1fr) var(--railw);column-gap:var(--s14);align-items:start}}
.a-head{display:flex;flex-direction:column;gap:var(--s3);max-width:820px}
.a-head .a-h{font-size:clamp(1.625rem,1.2rem + 1.8vw,2.5rem);line-height:1.22;color:var(--teal-head)}
.a-head .standfirst{font-size:1.0625rem;line-height:1.6;color:var(--ink-2)}
@media(min-width:768px){.a-head{gap:var(--s4)}.a-head .standfirst{font-size:1.25rem;line-height:1.6}}
.byline{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3) var(--s6);margin-top:var(--s1);padding-top:var(--s4);border-top:1px solid var(--line)}
@media(min-width:768px){.byline{padding-top:var(--s5)}}
.by-au{display:flex;align-items:center;gap:var(--s3);min-width:0}
.avatar{flex:0 0 auto;width:44px;height:44px;border-radius:999px;background:var(--sheet-2);color:var(--teal-ink);display:grid;place-items:center;font-weight:700;font-size:.9375rem;overflow:hidden}
.avatar img{width:100%;height:100%;object-fit:cover}
.by-name b{display:block;font-size:var(--fs-ui);font-weight:500}
.by-name span{display:block;font-size:var(--fs-meta);color:var(--ink-3)}
.by-dates{display:flex;flex-wrap:wrap;align-items:center;gap:2px var(--s4);font-size:var(--fs-meta);color:var(--ink-3);font-variant-numeric:tabular-nums}
.by-dates span{display:inline-flex;align-items:center;gap:6px}
@media(min-width:768px){.by-dates{margin-left:auto;font-size:.875rem}}
.hero-fig{margin-top:var(--s6);margin-inline:calc(-1*var(--gutter))}
.hero-fig picture,.hero-fig img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--sheet-2)}
.hero-fig figcaption,.a-body figcaption{font-size:var(--fs-meta);line-height:1.55;color:var(--ink-3);padding-top:var(--s2)}
.hero-fig figcaption{padding-inline:var(--gutter)}
@media(min-width:600px){
  .hero-fig{margin-inline:0;margin-top:var(--s8);max-width:820px}   /* right edge = the rule under the heading */
  .hero-fig picture,.hero-fig img{border-radius:var(--r);overflow:hidden}
  .hero-fig figcaption{padding-inline:0;font-size:.875rem}
}
.a-col{max-width:var(--textw);margin-top:var(--s8)}
@media(min-width:768px){.a-col{margin-top:var(--s10)}}

/* reading text */
.a-body{font-size:1.0625rem;line-height:1.75;color:var(--ink-body);min-width:0}
@media(min-width:768px){.a-body{font-size:1.125rem}}
.a-body>*+*{margin-top:1.15em}
.a-body h2{font-size:1.3125rem;line-height:1.35;color:var(--ink);margin-top:1.9em;scroll-margin-top:84px;display:flex;flex-direction:column;gap:10px}
.a-body h2::before{content:"";width:32px;height:3px;background:var(--teal)}
@media(min-width:768px){.a-body h2{font-size:1.5rem}}
.a-body h3{font-size:1.1875rem;line-height:1.4;color:var(--ink);margin-top:1.6em}
.a-body a{color:var(--teal-ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.a-body strong{font-weight:700;color:var(--ink)}
.a-body ul,.a-body ol{padding-left:1.3em}
.a-body li+li{margin-top:.4em}
.a-body li::marker{color:var(--teal-ink)}
.a-body blockquote{position:relative;padding-left:48px;margin-block:1.6em}
.a-body blockquote::before{content:"\201C";position:absolute;left:0;top:-4px;font-size:4rem;font-weight:700;line-height:1;color:var(--teal)}
.a-body blockquote,.a-body blockquote p{font-size:1.125rem;line-height:1.6;color:var(--ink-2)}
.a-body blockquote p+p{margin-top:.6em}
@media(min-width:768px){.a-body blockquote{padding-left:64px}.a-body blockquote::before{font-size:5rem}.a-body blockquote,.a-body blockquote p{font-size:1.25rem}}
/* the old "grey" block: an aside with a fact, not a quote */
.a-body blockquote.grey{padding:var(--s4) var(--s5);background:var(--sheet);border-left:4px solid var(--teal);border-radius:0 var(--r) var(--r) 0;font-size:1rem;line-height:1.65;color:var(--ink-body)}
.a-body blockquote.grey::before{content:none}
@media(min-width:768px){.a-body blockquote.grey{padding:var(--s5) var(--s6);font-size:1.0625rem}}
.a-body figure{margin-block:1.6em}
.a-body figure img,.a-body figure picture{width:100%;border-radius:var(--r);overflow:hidden}
.a-body figure.table{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:var(--r)}
.a-body figure.table table{border:0}
.a-body table{border-collapse:collapse;width:100%;font-size:var(--fs-ui);line-height:1.5;font-variant-numeric:tabular-nums;color:var(--ink)}
.a-body th,.a-body td{padding:12px var(--s4);text-align:left;vertical-align:top}
.a-body thead th,.a-body thead td{background:var(--sheet);color:var(--ink-2);font-size:var(--fs-meta);font-weight:500}
.a-body tbody tr{border-top:1px solid var(--line)}
.a-body tbody th{font-weight:500}
.a-body sup{line-height:0}
@media(max-width:599px){.a-body th,.a-body td{padding:10px var(--s3)}}
.verdict{background:var(--sheet);border-radius:var(--r);padding:var(--s6) var(--s5);margin-top:2em!important;border-top:3px solid var(--teal)}
@media(min-width:768px){.verdict{padding:var(--s8)}}
.verdict>*+*{margin-top:.8em}
.verdict h2{margin-top:0;font-size:1.0625rem}
.verdict h2::before{content:none}
.yt{position:relative;display:block;width:100%;aspect-ratio:16/9;overflow:hidden;background:var(--dark);border:0;border-radius:var(--r);cursor:pointer;color:#fff;font:inherit}
.yt img{width:100%;height:100%;object-fit:cover;opacity:.8}
.yt .play{position:absolute;inset:0;display:grid;place-items:center}
.yt .play span{display:inline-flex;align-items:center;gap:var(--s2);background:var(--teal-ink);color:#fff;padding:var(--s3) var(--s5);border-radius:999px;font-size:.875rem;font-weight:500}
.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.a-foot{margin-top:var(--s10);display:flex;flex-direction:column;gap:var(--s8)}
.chips{display:flex;flex-wrap:wrap;gap:var(--s2)}
.chips a{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line-2);font-size:.875rem;color:var(--ink-2)}
.chips a.brand{background:var(--dark);color:var(--on-dark);box-shadow:none}
.au-card{position:relative;display:flex;gap:var(--s4);padding:var(--s5);background:var(--sheet);border-radius:var(--r)}
@media(min-width:768px){.au-card{padding:var(--s6)}}
.au-card .avatar{width:56px;height:56px;font-size:1.0625rem;background:#fff}
.au-card b{font-size:1rem;font-weight:500}
.au-card b span{font-weight:400;color:var(--ink-3)}
.au-card b a::after{content:"";position:absolute;inset:0}
.au-card p{font-size:var(--fs-ui);line-height:1.6;color:var(--ink-2);margin-top:6px}
.a-rail{display:none}
@media(min-width:1024px){
  .a-rail{display:block;height:100%}
  .a-rail-in{position:sticky;top:84px;display:flex;flex-direction:column;gap:var(--s6)}
  .share-m,.toc-m{display:none}
}
.toc ol{list-style:none;counter-reset:toc}
.toc li{counter-increment:toc;border-top:1px solid var(--line-2)}
.toc li:first-child{border-top:0}
.toc a{display:grid;grid-template-columns:28px minmax(0,1fr);padding-block:10px;font-size:var(--fs-ui);line-height:1.5;color:var(--ink-2)}
.toc li:first-child a{padding-top:0}
.toc li:last-child a{padding-bottom:0}
.toc a::before{content:counter(toc,decimal-leading-zero);font-weight:700;color:var(--ink-3);font-variant-numeric:tabular-nums}
.toc a.v::before{content:"◆";font-size:.625rem;padding-top:5px;color:var(--teal)}
.toc a[aria-current="true"]{color:var(--ink)}
.toc a[aria-current="true"]::before{color:var(--teal-ink)}
.toc-m{border-block:1px solid var(--line);margin-bottom:var(--s6)}
.toc-m summary{display:flex;align-items:center;min-height:48px;cursor:pointer;list-style:none;font-size:.875rem;font-weight:500}
.toc-m summary::-webkit-details-marker{display:none}
.toc-m summary::after{content:"+";margin-left:auto;font-size:1.25rem;color:var(--teal-ink)}
.toc-m[open] summary::after{content:"–"}
.toc-m .toc{padding-bottom:var(--s4)}
.related{margin-top:var(--s14)}

/* infinite scroll (v2.3.0): every appended story starts under a full-width rule; its grid
   keeps the article page geometry (the text column and the rail line up with the story above) */
.story-next{margin-top:var(--s14);border-top:4px solid var(--teal)}
.story-next .a-grid{padding-top:var(--s8)}
.next-loader{height:1px;overflow-anchor:none}
/* the browser must not keep the screen on the footer when a story is appended above it,
   otherwise the new story lands above the reader and the next one is requested at once */
footer.site{overflow-anchor:none}

/* share */
.share-bar{display:flex;flex-wrap:wrap;gap:var(--s2);align-items:center}
.share-bar .sh{width:44px;height:44px;border-radius:999px;display:grid;place-items:center;background:#fff;color:var(--ink);border:0;box-shadow:inset 0 0 0 1px var(--line-2);cursor:pointer;font:inherit;font-size:.8125rem;font-weight:700}
.a-foot .share-bar .sh{background:var(--sheet);box-shadow:none}
.box .share-bar{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--s2)}
.box .share-bar .sh{width:100%;height:auto;aspect-ratio:1/1}
.box .share-bar .sh-copied{grid-column:1/-1}
.a-rail .share-bar [data-native]{display:none!important}
.sh-copied{font-size:var(--fs-meta);color:var(--teal-ink);min-height:20px}
.share-m h2,.box h2.h-plain{font-size:.875rem;font-weight:700;margin-bottom:var(--s3)}

/* ── Author page, team ── */
.au{display:flex;flex-wrap:wrap;gap:var(--s5) var(--s8);align-items:flex-start}
.au .avatar{width:112px;height:112px;font-size:2rem}
.au-txt{flex:1 1 320px;min-width:0}
.au-txt h1{font-size:clamp(1.75rem,1.3rem + 1.8vw,2.5rem);line-height:1.2;color:var(--teal-head)}
.au-bio{font-size:1rem;line-height:1.7;color:var(--ink-2);margin-top:var(--s3);max-width:68ch}
.au-bio p+p{margin-top:.8em}
.au-links{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s5);margin-top:var(--s4)}
.au-links a{display:inline-flex;align-items:center;gap:var(--s2);min-height:40px;font-size:.875rem;font-weight:500;color:var(--teal-ink)}
.au-stats{display:flex;gap:var(--s8)}
.au-stats b{display:block;font-size:1.75rem;font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums}
.au-stats span{font-size:var(--fs-meta);color:var(--ink-3)}
.team{display:grid;grid-template-columns:1fr;gap:var(--s4)}
@media(min-width:640px){.team{grid-template-columns:repeat(2,minmax(0,1fr))}}
.team a{position:relative;display:flex;gap:var(--s4);align-items:flex-start;padding:var(--s5);background:var(--sheet);border-radius:var(--r)}
.team .avatar{width:56px;height:56px;font-size:1.0625rem;background:#fff}
.team h3{font-size:1rem;font-weight:500}
.team p{font-size:.875rem;line-height:1.6;color:var(--ink-2);margin-top:var(--s1)}
.team .meta{display:block;margin-top:2px}

/* ── Static pages ── */
.page-body{max-width:var(--textw);margin-top:var(--s8)}

/* ── Pager ── */
.pager{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s2);margin-top:var(--s10)}
.pager a,.pager span{min-width:44px;height:44px;padding:0 var(--s3);display:grid;place-items:center;border-radius:999px;font-size:var(--fs-ui);font-weight:500;box-shadow:inset 0 0 0 1px var(--line-2);color:var(--ink);font-variant-numeric:tabular-nums}
.pager .cur{background:var(--dark);color:#fff;box-shadow:none}
.pager .dots{box-shadow:none;min-width:auto;color:var(--ink-3)}

/* ── Search ── */
.search-form{display:flex;gap:var(--s2);margin-top:var(--s5);max-width:640px}
.search-form input{flex:1 1 auto;min-width:0;font:inherit;font-size:1rem;height:48px;padding:0 var(--s5);border:1px solid var(--line-2);border-radius:999px;background:#fff;color:var(--ink)}
.search-form input::placeholder{color:var(--ink-3)}
.search-form button{flex:0 0 auto;font:inherit;font-size:var(--fs-ui);font-weight:500;height:48px;padding:0 var(--s6);border:0;border-radius:999px;background:var(--teal-ink);color:#fff;cursor:pointer}

/* ── РСЯ places: a place is shown (and its height reserved) only at the width it has a block
   for, so the page does not jump when the ad arrives; .ad-off collapses an unfilled place ── */
.ad{display:none;overflow:hidden;min-width:0}
@media(max-width:767px){
  .ad[data-rsy-mobile]{display:block;min-height:250px}
  .ad-inarticle[data-rsy-mobile]{margin-block:var(--s6)}
  .ad-after[data-rsy-mobile]{margin-top:34px}    /* 40 px from the last line of text, as below */
}
@media(min-width:768px){
  .ad[data-rsy-desktop]{display:block;min-height:250px}
  .ad-inarticle[data-rsy-desktop]{margin-block:var(--s8)}
  .ad-after[data-rsy-desktop]{margin-top:34px}   /* 40 px from the last line of text, as below */
}
.ad.ad-rail{display:none}
@media(min-width:1024px){.ad.ad-rail[data-rsy-desktop]{display:block;min-height:600px;position:sticky;top:84px}}
.cards>.ad-infeed{grid-column:1/-1}
.ad.ad-off{display:none}

/* ── Follow ── */
.follow{display:flex;flex-direction:column;gap:var(--s3)}
.follow-title{font-size:.9375rem;font-weight:700}
.follow-sub{font-size:.875rem;line-height:1.6;color:var(--ink-2)}
.f-btn{display:flex;align-items:center;justify-content:center;gap:var(--s2);min-height:44px;padding:0 var(--s3);border-radius:999px;font-size:.8125rem;font-weight:500;text-align:center;white-space:nowrap}
.f-google{background:var(--dark);color:#fff}
.f-gnews{box-shadow:inset 0 0 0 1px var(--line-2);color:var(--ink);background:#fff}
.follow-nets{display:flex;flex-wrap:wrap;gap:var(--s2)}
.f-net{width:44px;height:44px;border-radius:999px;display:grid;place-items:center;color:var(--ink);background:#fff;box-shadow:inset 0 0 0 1px var(--line-2);font-weight:700;font-size:.8125rem}
.a-foot .follow{background:var(--sheet);border-radius:var(--r);padding:var(--s5)}
@media(min-width:1024px){.a-foot .follow{display:none}}

/* ── Preview strip ── */
.preview-strip{background:#FFF4D6;border-bottom:1px solid #EBD38E}
.preview-strip p{font-size:var(--fs-meta);color:#5C4300;padding-block:var(--s2)}
.preview-strip a{text-decoration:underline}

/* ── Footer ── */
footer.site{margin-top:auto;background:var(--dark);color:var(--on-dark-2)}
.foot-top{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s8);padding-block:var(--s12) var(--s10)}
@media(min-width:768px){.foot-top{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr)}}
.foot-top .logo{height:auto;margin-bottom:var(--s4)}
.foot-about{font-size:.875rem;line-height:1.65;max-width:42ch}
.foot-h{font-size:.8125rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--on-dark);margin-bottom:var(--s3)}
.foot-list{list-style:none;display:flex;flex-direction:column}
.foot-list a,.foot-list button{display:inline-flex;align-items:center;min-height:36px;font:inherit;font-size:.9375rem;color:var(--on-dark-2);background:none;border:0;cursor:pointer;padding:0;text-align:left}
.foot-nets{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s5)}
.foot-nets a{width:40px;height:40px;border-radius:999px;display:grid;place-items:center;color:var(--on-dark);box-shadow:inset 0 0 0 1px #4A5258;font-size:.75rem;font-weight:700}
.copy{display:flex;flex-direction:column;gap:var(--s2);border-top:1px solid var(--dark-2);padding-block:var(--s6) var(--s8);font-size:.75rem;line-height:1.65}
@media(min-width:768px){.copy{font-size:var(--fs-meta)}}
.copy .age{display:inline-block;padding:2px 6px;border:1px solid #4A5258;border-radius:3px;color:var(--on-dark);margin-right:var(--s2);font-weight:500}

/* ── Consent card ── */
.consent{position:fixed;left:var(--s4);right:var(--s4);bottom:var(--s4);z-index:100;max-width:460px;background:var(--dark);color:var(--on-dark);border-radius:var(--r);box-shadow:0 10px 40px rgba(0,0,0,.35);padding:var(--s5);margin-bottom:env(safe-area-inset-bottom)}
@media(max-width:479px){.consent{left:0;right:0;bottom:0;max-width:none;margin:0;border-radius:var(--r) var(--r) 0 0;padding-bottom:max(var(--s5),env(safe-area-inset-bottom))}}
.consent p{font-size:.875rem;line-height:1.6;color:var(--on-dark)}
.consent a{color:#7FDCD4;text-decoration:underline;text-underline-offset:2px}
.consent-btns{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2);margin-top:var(--s4)}
.consent-btns button{font:inherit;font-size:.8125rem;font-weight:500;min-height:44px;padding:0 var(--s2);cursor:pointer;border:0;border-radius:999px;white-space:nowrap}
.c-accept{background:var(--teal);color:#06302D}
.c-reject{background:transparent;color:var(--on-dark);box-shadow:inset 0 0 0 1px #5A636A!important}

/* ── Hover: real pointers only ── */
@media(hover:hover) and (pointer:fine){
  .nav a,.search-btn,.topbar-nets a,.card h2,.card h3,.row h2,.row h3,.klist a,.toc a,.share-bar .sh,.foot-list a,.foot-list button,.foot-nets a,.pager a,.f-net,.f-btn,.team h3,.chips a,.crumbs a,.plist b,.au-card b,.sec-title .more,.sec-title h2 a,.now a,.lead h2 a,.box-h h2 a{transition:color var(--dur) ease,background-color var(--dur) ease,box-shadow var(--dur) ease}
  .nav a:hover{color:var(--teal)}
  .search-btn:hover,.topbar-nets a:hover{background:var(--dark-2)}
  .topbar-nets a:hover{background:#222}
  .card:hover h2,.card:hover h3,.row:hover h2,.row:hover h3,.klist a:hover,.toc a:hover,.team a:hover h3,.plist a:hover b,.au-card:hover b,.lead h2 a:hover,.now a:hover,.crumbs a:hover,.sec-title h2 a:hover,.box-h h2 a:hover{color:var(--teal-ink)}
  .foot-list a:hover,.foot-list button:hover{color:#fff}
  .foot-nets a:hover{background:var(--dark-2)}
  .share-bar .sh:hover,.f-net:hover{box-shadow:inset 0 0 0 1px var(--teal);color:var(--teal-ink)}
  .pager a:hover,.chips a:not(.brand):hover{box-shadow:inset 0 0 0 1px var(--teal);color:var(--teal-ink)}
  .chips a.brand:hover{background:var(--dark-2)}
  .f-google:hover{background:var(--dark-2)}
  .f-gnews:hover{box-shadow:inset 0 0 0 1px var(--teal)}
  .sec-title .more:hover{text-decoration:underline;text-underline-offset:3px}
  .a-body a:hover{text-decoration-thickness:2px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
