/*
Theme Name: AndroidLime
Theme URI: https://androidlime.ru
Author: AndroidLime
Description: Тема сайта AndroidLime по макету v76. Стаж и показатели авторов хранит плагин AndroidLime Fields: год начала пересчитывается в «N лет» сам.
Version: 1.0.0
Requires at least: 5.6
Tested up to: 6.7
Requires PHP: 7.4
Text Domain: androidlime
*/

/* Onest variable (cyrillic + latin). Self-hosted so the stylesheet does not wait on fonts.googleapis.com. */
@font-face{font-family:"Onest";font-style:normal;font-weight:400 800;font-display:swap;src:url("assets/fonts/onest-cyrillic.woff2") format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Onest";font-style:normal;font-weight:400 800;font-display:swap;src:url("assets/fonts/onest-cyrillic-ext.woff2") format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:"Onest";font-style:normal;font-weight:400 800;font-display:swap;src:url("assets/fonts/onest-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Onest";font-style:normal;font-weight:400 800;font-display:swap;src:url("assets/fonts/onest-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
*{box-sizing:border-box}html,body{margin:0;padding:0;background:#eef0ed;color:#20241f;font-family:"Onest", Arial, Helvetica, sans-serif}body{font-size:13px}.page{width:360px;max-width:100%;margin:0 auto;background:#fff;min-height:100vh;box-shadow:0 0 28px rgba(0,0,0,.08)}a{color:inherit}.header{height:54px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf0eb;position:sticky;top:0;background:rgba(255,255,255,.96);z-index:5}.logo,.footer-brand,.drawer-logo{font-weight:900;letter-spacing:-.8px;text-decoration:none;color:#1f2520}.logo span,.footer-brand span,.drawer-logo span{color:#70bd3d}.menu-btn{width:30px;height:30px;padding:5px;border:0;background:none;display:flex;flex-direction:column;justify-content:center;gap:4px}.menu-btn span{display:block;width:18px;height:2px;background:#222;border-radius:2px}.search{width:24px;height:24px;border:0;background:radial-gradient(circle at 43% 43%,transparent 0 5px,#20241f 5.5px 7px,transparent 7.5px),linear-gradient(45deg,transparent 46%,#20241f 47% 54%,transparent 55%) 15px 15px/8px 8px no-repeat}.nav{height:38px;display:flex;align-items:center;gap:20px;padding:0 16px;white-space:nowrap;overflow:hidden;border-bottom:1px solid #f0f1ef}.nav a{font-size:11px;text-decoration:none;color:#6f756d}.nav .active{color:#70bd3d;font-weight:700}main{padding:22px 16px 0}h1{font-size:20px;line-height:1.16;letter-spacing:-.3px;font-weight:700;margin:0 0 13px}.top-author{display:flex;align-items:center;gap:9px}.avatar{width:30px;height:30px;border-radius:50%;background:#dfe4dc center/cover no-repeat url("https://i.pravatar.cc/160?img=12")}.top-author b{display:block;font-size:10.5px}.top-author small{display:block;margin-top:2px;font-size:8.5px;color:#777d75}.meta{display:flex;gap:10px;align-items:center;margin:9px 0 12px;color:#858b83;font-size:8.5px}.meta a{text-decoration:none;color:#70bd3d;font-weight:700}.verified-top{display:flex;align-items:center;gap:9px;margin:12px 0 15px;padding:9px 10px;border:1px solid #dfe9d8;border-radius:10px;background:#f7faf5}.verified-check{width:21px;height:21px;flex:0 0 21px;display:grid;place-items:center;border-radius:50%;background:#70bd3d;color:#fff;font-size:12px;font-weight:800}.verified-top b{display:block;font-size:10.5px;line-height:1.2}.verified-top small{display:block;margin-top:2px;font-size:9px;color:#7b827a}.toc{padding:12px;border:1px solid #e9ece7;border-radius:10px;background:#fafbfa;margin-bottom:13px}.toc-title{font-size:10px;font-weight:800;margin-bottom:7px}.toc-title span{float:right;color:#70bd3d}.toc ol{margin:0;padding-left:17px}.toc li{padding:2px 0}.toc a{font-size:9px;line-height:1.35;color:#60675e;text-decoration:none}.ad{height:76px;margin-bottom:20px;border:1px dashed #d8ddd5;background:#fafbf9;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#b2b7b0}.ad span{font-size:7px;letter-spacing:.7px}.ad b{font-size:9px;font-weight:500;margin-top:3px}article h2{font-size:15px;line-height:1.25;letter-spacing:-.15px;margin:22px 0 8px;font-weight:750}article h2.result{margin-top:26px}article p{font-size:11px;line-height:1.62;color:#414740;margin:0 0 11px}.green-quote{display:flex;align-items:flex-start;gap:9px;margin:18px 0;padding:12px 13px;border:1px solid #dbe8d3;border-left:3px solid #70bd3d;border-radius:9px;background:#f5faf2;color:#30362e;font-size:10.5px;line-height:1.55}.quote-mark{color:#70bd3d;font-family:Georgia,serif;font-size:25px;line-height:.8;font-weight:700}.article-image{margin:16px 0 19px}.phone-photo{height:120px;border-radius:10px;background:linear-gradient(145deg,#252b28,#737a73);display:grid;place-items:center;color:#fff;font-size:12px;font-weight:700}.article-image figcaption{font-size:7.5px;color:#9aa098;margin-top:5px}.subscribe{display:grid;gap:9px;margin:22px 0 25px}.subscribe>a{display:flex;align-items:center;min-height:58px;padding:8px 11px;border:1px solid #e1e5df;border-radius:12px;background:#fff;text-decoration:none;color:#20251f;box-shadow:0 2px 8px rgba(20,28,18,.045)}.social{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:10px;font-weight:800}.social.zen{background:#f0f2ed;color:#111}.social.tg{background:#eaf5f7;color:#198bb1}.sub-copy{min-width:0;display:flex;flex-direction:column;gap:3px;margin-left:10px}.sub-copy b{font-size:11px;line-height:1.1;font-weight:750}.sub-copy small{font-size:9px;line-height:1.1;color:#7b8179}.subscribe>a>strong{margin-left:auto;color:#858c84;font-size:17px}.author-card{margin-top:3px;padding:14px;border:1px solid #e1e6df;border-radius:12px;background:#fbfcfa}.author-main{display:flex;gap:10px}.author-card .avatar.big{width:46px;height:46px;flex:0 0 46px}.author-card h3{font-size:11.5px;margin:1px 0 2px}.author-card h3 span{color:#70bd3d;font-size:8px}.author-card small{font-size:8.5px;color:#777e76}.author-card p{font-size:9px;line-height:1.45;color:#656c64;margin:7px 0 0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:13px 0 11px;padding-top:10px;border-top:1px solid #e9ede7}.stats>div{display:flex;flex-direction:column}.stats b{font-size:10px;white-space:nowrap}.stats small{font-size:7.5px;color:#7c827a;margin-top:2px;line-height:1.2}.all-author{font-size:9px;color:#5b9837;text-decoration:none;font-weight:700}.related{margin-top:23px}.related-head{display:flex;justify-content:space-between;align-items:center}.related-head h3{font-size:13px;margin:0}.related-head a{font-size:8.5px;color:#70bd3d;text-decoration:none}.related-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px}.related-card{display:block;text-decoration:none}.thumb{height:76px;border-radius:9px;background:#dce1da}.t1{background:linear-gradient(135deg,#dfe8dd,#a7b8a0)}.t2{background:linear-gradient(135deg,#e6e2da,#b6b2a8)}.t3{background:linear-gradient(135deg,#d9e6e8,#9db6bb)}.t4{background:linear-gradient(135deg,#e5e3d9,#bdb9a9)}.related-card b{display:block;font-size:9px;line-height:1.3;margin-top:6px}.related-card small{display:block;font-size:7.5px;color:#8a9088;margin-top:4px}.comments{margin-top:26px;padding-top:17px;border-top:1px solid #e9ece7}.comments-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.comments h2{font-size:14px;margin:0}.comments h2 small{font-size:9px;color:#8b918a;font-weight:500}.comments-head button{font-size:8px;border:1px solid #dce2d9;border-radius:7px;background:#fff;padding:7px 8px;color:#555d54}.comments label{display:block;font-size:8px;color:#727970;margin-bottom:9px}.comments input,.comments textarea{display:block;width:100%;margin-top:4px;border:1px solid #e0e4de;border-radius:7px;padding:8px;font-size:9px;outline:none}.comments textarea{height:68px;resize:none}.check{display:flex!important;align-items:center;gap:5px}.check input{width:auto;margin:0}.submit{width:100%;height:34px;border:0;border-radius:8px;background:#70bd3d;color:#fff;font-size:9px;font-weight:700}footer{margin-top:30px;padding:22px 16px 17px;background:#20251f;color:#fff}.footer-brand{color:#fff;font-size:15px}.footer-brand span{color:#70bd3d}.footer-brand+p{font-size:8.5px;line-height:1.4;color:#aeb5ab;margin:7px 0 15px}.footer-social{display:grid;gap:7px}.footer-social a{display:flex;align-items:center;gap:9px;text-decoration:none}.footer-social .fs-icon{width:27px;height:27px;border-radius:7px;display:grid;place-items:center;background:#2e352d;font-size:9px}.footer-social span:last-child{display:flex;flex-direction:column}.footer-social b{font-size:9px}.footer-social small{font-size:7.5px;color:#9fa69c;margin-top:2px}.footer-links{display:flex;gap:14px;margin:18px 0 10px}.footer-links a{font-size:8px;color:#c5cbc2;text-decoration:none}.footer-legal{font-size:7px;color:#737b72;text-decoration:none}.footer-bottom{margin-top:17px;padding-top:10px;border-top:1px solid #30372f;font-size:7.5px;color:#707970}.footer-bottom span{float:right;color:#aeb5ab}.drawer{position:fixed;inset:0 auto 0 0;width:280px;max-width:82%;background:#fff;z-index:20;transform:translateX(-105%);transition:.2s;box-shadow:10px 0 30px rgba(0,0,0,.14);padding:20px 18px}.drawer.open{transform:translateX(0)}.drawer button{border:0;background:none;font-size:26px;float:right}.drawer-logo{display:block;margin:6px 0 28px;font-size:16px}.drawer>a{display:block;padding:9px 0;font-size:12px;text-decoration:none}.drawer .green{color:#70bd3d;font-weight:700}.drawer hr{border:0;border-top:1px solid #edf0eb;margin:12px 0}

/* v5 refinements */
.logo{font-size:17px;letter-spacing:-1px}
.nav{justify-content:space-between;gap:0;padding:0 18px}
.nav a{font-size:10.5px;font-weight:600;padding:12px 0 10px;position:relative}
.nav .active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;border-radius:2px;background:#70bd3d}

/* Author verification now follows the article */
.verified-after{display:flex;align-items:center;gap:10px;margin:19px 0 20px;padding:11px 12px;border-radius:10px;background:#f6fbf2;color:#4f922d}
.verified-after .verified-check{background:#70bd3d;color:#fff}
.verified-after b{display:block;font-size:10.5px;line-height:1.2;color:#4f922d}
.verified-after small{display:block;margin-top:2px;font-size:8.5px;color:#6f8564}

/* Simpler article quote */
.green-quote{position:relative;display:block;margin:18px 0;padding:2px 0 2px 29px;border:0;border-radius:0;background:transparent;color:#394138;font-size:10.5px;line-height:1.62}
.green-quote .quote-mark{position:absolute;left:0;top:1px;color:#70bd3d;font-family:Georgia,serif;font-size:36px;line-height:.8;font-weight:700}
.green-quote p{margin:0;color:#394138;font-size:10.5px;line-height:1.62}

/* Platform-color subscription buttons */
.subscribe>a{border:0;box-shadow:none;color:#fff}
.subscribe>a.zen-btn{background:#171717}
.subscribe>a.tg{background:#229ed9}
.subscribe>a .social{background:rgba(255,255,255,.13);color:#fff}
.subscribe>a .sub-copy b,.subscribe>a .sub-copy small,.subscribe>a>strong{color:#fff}
.subscribe>a .sub-copy small{opacity:.78}
.subscribe>a>strong{opacity:.9}

.all-author{display:block;text-align:center;margin-top:2px;padding:7px 0 1px;font-size:10.5px;color:#5b9837;text-decoration:none;font-weight:800}

/* Compact two-column footer */
footer{padding:22px 16px 14px}
.footer-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:18px;align-items:start}
.footer-brand{font-size:16px}
.footer-brand+p{margin:7px 0 14px}
.footer-links{display:grid;gap:7px;margin:0 0 11px}
.footer-links a{font-size:8.5px}
.footer-social{gap:9px}
.footer-social a{gap:8px}
.footer-social .fs-icon{width:28px;height:28px;flex:0 0 28px}
.footer-social b{font-size:9.5px}
.footer-social small{font-size:7.2px;line-height:1.15}
.footer-legal{display:block;line-height:1.35}
.footer-bottom{display:flex;justify-content:space-between;gap:12px;margin-top:17px;padding-top:11px}
.footer-bottom span{float:none;color:#7f887c}
.footer-bottom span:last-child{color:#aeb5ab}

/* ===== Mobile typography pass — 2026 ===== */
html{font-size:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-size:1rem}

/* Header / primary navigation */
.logo{font-size:1.125rem}
.nav a{font-size:.8125rem;line-height:1.2}

/* Article heading and byline */
h1{font-size:clamp(1.625rem,7.2vw,1.8125rem);line-height:1.15;letter-spacing:-.025em;margin-bottom:15px}
.top-author b{font-size:.8125rem;line-height:1.25}
.top-author small{font-size:.71875rem;line-height:1.3}
.meta{font-size:.71875rem;line-height:1.3;gap:12px;margin:10px 0 15px}

/* Contents — intentionally larger than metadata */
.toc{padding:14px 14px 13px;margin-bottom:16px}
.toc-title{font-size:1rem;line-height:1.3;margin-bottom:9px}
.toc ol{padding-left:20px}
.toc li{padding:4px 0}
.toc a{font-size:.9375rem;line-height:1.45;color:#4f574d}

/* Ads / secondary captions */
.ad span{font-size:.625rem}
.ad b{font-size:.75rem}
.article-image figcaption{font-size:.75rem;line-height:1.35;margin-top:6px}

/* Long-form reading */
article h2{font-size:1.3125rem;line-height:1.28;letter-spacing:-.01em;margin:27px 0 10px}
article h2.result{margin-top:30px}
article p{font-size:1.0625rem;line-height:1.62;color:#353b34;margin-bottom:16px}
.green-quote{font-size:1.0625rem;line-height:1.62;margin:21px 0;padding-left:34px}
.green-quote p{font-size:1.0625rem;line-height:1.62}
.green-quote .quote-mark{font-size:2.625rem;top:3px}
.phone-photo{font-size:.875rem}

/* Verification */
.verified-after b{font-size:.8125rem;line-height:1.3}
.verified-after small{font-size:.71875rem;line-height:1.35;margin-top:3px}

/* Subscription buttons */
.sub-copy b{font-size:.90625rem;line-height:1.25}
.sub-copy small{font-size:.75rem;line-height:1.25}
.subscribe>a>strong{font-size:1.125rem}

/* Author card */
.author-card h3{font-size:.90625rem;line-height:1.25}
.author-card h3 span{font-size:.625rem}
.author-card small{font-size:.75rem;line-height:1.3}
.author-card p{font-size:.8125rem;line-height:1.52;margin-top:8px}
.stats b{font-size:.8125rem;line-height:1.2}
.stats small{font-size:.6875rem;line-height:1.25}
.all-author{font-size:.875rem;line-height:1.25;padding:9px 0 2px}

/* Related articles */
.related-head h3{font-size:1.125rem;line-height:1.25}
.related-head a{font-size:.75rem;line-height:1.25}
.related-card b{font-size:.8125rem;line-height:1.38;margin-top:7px}
.related-card small{font-size:.6875rem;line-height:1.3;margin-top:5px}

/* Comments and form controls */
.comments h2{font-size:1.125rem;line-height:1.25}
.comments h2 small{font-size:.75rem}
.comments-head button{font-size:.75rem;line-height:1.2;padding:8px 10px}
.comments label{font-size:.8125rem;line-height:1.3;margin-bottom:12px}
.comments input,.comments textarea{font-size:1rem;line-height:1.35;padding:10px}
.comments textarea{height:88px}
.check{font-size:.75rem!important}
.submit{height:42px;font-size:.875rem}

/* Footer — readable but visually secondary */
.footer-brand{font-size:1.0625rem}
.footer-brand+p{font-size:.75rem;line-height:1.45}
.footer-links a{font-size:.75rem;line-height:1.3}
.footer-social b{font-size:.75rem;line-height:1.2}
.footer-social small{font-size:.6875rem;line-height:1.25}
.footer-legal{font-size:.6875rem;line-height:1.4}
.footer-bottom{font-size:.6875rem;line-height:1.3}

/* Drawer */
.drawer-logo{font-size:1.1875rem}
.drawer>a{font-size:.9375rem;line-height:1.25;padding:10px 0}

/* Author page / generic article-like text */
main>p{font-size:1rem!important;line-height:1.62!important}
main>h2{font-size:1.25rem;line-height:1.28;margin:27px 0 10px}
.category{font-size:.75rem;line-height:1.2;letter-spacing:.08em}

/* Keep the compact layout usable on very narrow phones and at text zoom */
@media (max-width:340px){
  main{padding-left:14px;padding-right:14px}
  .nav{padding-left:14px;padding-right:14px}
  .nav a{font-size:.75rem}
  h1{font-size:1.5rem}
  .meta{gap:8px;font-size:.6875rem;flex-wrap:wrap}
  .footer-grid{gap:12px}
}

/* ===== v7 — mobile editorial refinement ===== */
/* Long-form body: user-selected 1rem reading size */
article p,
.green-quote,
.green-quote p,
article li{font-size:1rem}
article p{line-height:1.62;margin-bottom:15px}

/* Less dominant headline */
h1{font-size:clamp(1.375rem,6.2vw,1.5rem);line-height:1.18;letter-spacing:-.022em;margin-bottom:14px}

/* Slightly denser contents */
.toc{padding:13px 14px 12px}
.toc-title{font-size:.9375rem;margin-bottom:7px}
.toc li{padding:3px 0}
.toc a{font-size:.875rem;line-height:1.42}

/* More visible byline without turning it into a card */
.top-author{gap:10px;margin-top:1px}
.top-author .avatar{width:34px;height:34px;flex:0 0 34px;box-shadow:0 0 0 2px #f1f6ed,0 0 0 3px #dcebd3}
.top-author b{font-size:.875rem;line-height:1.2;font-weight:750}
.top-author small{font-size:.75rem;line-height:1.25;margin-top:3px;color:#727a70}

/* Clean centered metadata line */
.meta{justify-content:center;gap:0;margin:12px 0 16px;color:#858b83;font-size:.71875rem;line-height:1.3;white-space:nowrap}
.meta span,.meta a{display:inline-flex;align-items:center;text-decoration:none;font-weight:500}
.meta span:not(:last-child)::after,.meta a:not(:last-child)::after{content:"•";display:inline-block;margin:0 8px;color:#c2c7c0;font-size:.65em}
.meta a{color:#619f3c}

/* Article links */
article p a,article li a{color:#4f982a;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:#9ccf7e;font-weight:600}
article p a:active,article li a:active{color:#39751e}

/* H3 and editorial lists */
article h3{font-size:1.0625rem;line-height:1.35;letter-spacing:-.01em;margin:22px 0 9px;font-weight:700;color:#272d26}
article ul,article ol{margin:9px 0 17px;padding-left:23px;color:#353b34}
article li{line-height:1.55;padding-left:3px;margin:6px 0}
article ul li::marker{color:#70bd3d;font-size:.85em}
article ol li::marker{color:#579c31;font-weight:750}

/* Finished comments */
.comment-list{display:grid;gap:0;margin:2px 0 22px}
.comment-item{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;padding:14px 0;border-bottom:1px solid #edf0eb}
.comment-item:first-child{padding-top:3px}
.comment-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#edf1eb;color:#596257;font-size:.6875rem;font-weight:800}
.comment-avatar.author-avatar{background:#eaf5e3;color:#579c31}
.comment-body{min-width:0}
.comment-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:5px}
.comment-top b{font-size:.8125rem;line-height:1.2;color:#2d332c}
.comment-top b span{display:inline-block;margin-left:4px;padding:2px 5px;border-radius:5px;background:#edf7e7;color:#579c31;font-size:.5625rem;line-height:1.2;vertical-align:1px}
.comment-top time{font-size:.625rem;line-height:1.2;color:#9aa097;white-space:nowrap}
.comment-body p{margin:0 0 7px;font-size:.8125rem;line-height:1.5;color:#50574f}
.comment-reply{padding:0;border:0;background:none;color:#579c31;font-size:.6875rem;font-weight:700}
.comment-answer{margin-left:32px;grid-template-columns:30px minmax(0,1fr);padding-left:10px;border-left:2px solid #e2efda}
.comment-answer .comment-avatar{width:30px;height:30px}
.comment-form{margin-top:7px;padding-top:18px;border-top:1px solid #e9ece7}
.comment-form h3{margin:0 0 13px;font-size:1rem;line-height:1.25}

/* Footer cleanup */
.footer-about{display:flex;flex-direction:column;gap:14px}
.footer-brand+p{display:none}
.footer-links{margin:0;gap:8px}
.footer-bottom{align-items:center;white-space:nowrap;font-size:.625rem;color:#798177}
.footer-bottom .footer-legal{font-size:.625rem;color:#8c9489;line-height:1.3}
.footer-bottom span{margin-left:auto;color:#8c9489!important}

@media (max-width:340px){
  h1{font-size:1.375rem}
  .meta{font-size:.6875rem}
  .meta span:not(:last-child)::after,.meta a:not(:last-child)::after{margin:0 6px}
  .comment-answer{margin-left:20px}
  .footer-bottom,.footer-bottom .footer-legal{font-size:.59375rem}
}

/* ===== v8 — ad, byline spacing and comment form refinement ===== */
/* Ensure all UI controls use Onest rather than browser defaults */
button,input,textarea,select{font:inherit;font-family:inherit;color:inherit}

/* Square ad placement before the article byline */
.top-ad{
  width:min(300px,100%);
  aspect-ratio:1/1;
  margin:2px auto 23px;
  border:1px dashed #d7ddd4;
  border-radius:12px;
  background:#fafbf9;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  color:#aeb5ac;
}
.top-ad span{font-size:.625rem;line-height:1;letter-spacing:.08em;font-weight:600}
.top-ad b{margin-top:6px;font-size:.75rem;line-height:1;font-weight:500;color:#bcc2ba}

/* Byline + article metadata: visually related, but no longer cramped */
.article-byline{margin-bottom:18px}
.top-author{margin:0 0 14px;gap:11px}
.meta{
  margin:0;
  padding-top:12px;
  border-top:1px solid #edf0eb;
  min-height:30px;
}

/* Primary comment CTA */
.comments-head button{
  border:0;
  border-radius:8px;
  background:#70bd3d;
  color:#fff;
  font-size:.75rem;
  line-height:1.2;
  font-weight:700;
  padding:9px 11px;
  cursor:pointer;
}
.comments-head button:active{background:#5fa632}

/* Comment form: one type scale, clear field hierarchy, mobile-first spacing */
.comment-form{
  margin-top:10px;
  padding:16px;
  border:1px solid #e4e9e1;
  border-radius:12px;
  background:#fafbf9;
  scroll-margin-top:72px;
}
.comment-form-head{margin-bottom:16px}
.comment-form h3{
  margin:0;
  font-size:1rem;
  line-height:1.3;
  font-weight:700;
  color:#272d26;
}
.comment-form-head p{
  margin:4px 0 0;
  font-size:.75rem;
  line-height:1.4;
  color:#858d82;
}
.comments .comment-form .field{
  display:block;
  margin:0 0 13px;
  font-size:.8125rem;
  line-height:1.3;
  font-weight:600;
  color:#3c433a;
}
.comments .comment-form .field>span{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:8px;
  margin-bottom:6px;
}
.comments .comment-form .field em{
  font-size:.6875rem;
  line-height:1.2;
  font-style:normal;
  font-weight:500;
  color:#9aa097;
}
.comments .comment-form input[type="text"],
.comments .comment-form input[type="email"],
.comments .comment-form textarea{
  display:block;
  width:100%;
  margin:0;
  border:1px solid #dce2d9;
  border-radius:9px;
  background:#fff;
  padding:11px 12px;
  font-size:1rem;
  line-height:1.4;
  font-weight:400;
  color:#30362e;
  outline:none;
  box-shadow:none;
  transition:border-color .15s,box-shadow .15s;
}
.comments .comment-form input::placeholder,
.comments .comment-form textarea::placeholder{color:#a5aba2;opacity:1}
.comments .comment-form input:focus,
.comments .comment-form textarea:focus{
  border-color:#78b957;
  box-shadow:0 0 0 3px rgba(112,189,61,.12);
}
.comments .comment-form textarea{height:112px;min-height:112px;resize:vertical}
.comments .comment-form .check{
  display:flex!important;
  align-items:flex-start;
  gap:9px;
  margin:2px 0 15px;
  font-size:.75rem!important;
  line-height:1.35;
  font-weight:500;
  color:#687066;
  cursor:pointer;
}
.comments .comment-form .check input{
  appearance:none;
  width:18px;
  height:18px;
  flex:0 0 18px;
  margin:0;
  border:1px solid #cfd6cc;
  border-radius:5px;
  background:#fff;
  display:grid;
  place-items:center;
}
.comments .comment-form .check input:checked{background:#70bd3d;border-color:#70bd3d}
.comments .comment-form .check input:checked::after{
  content:"✓";
  color:#fff;
  font-size:.75rem;
  line-height:1;
  font-weight:800;
}
.submit{
  width:100%;
  height:44px;
  border:0;
  border-radius:9px;
  background:#70bd3d;
  color:#fff;
  font-size:.875rem;
  line-height:1;
  font-weight:700;
  cursor:pointer;
}
.submit:active{background:#5fa632}

@media (max-width:340px){
  .top-ad{width:min(286px,100%);margin-bottom:20px}
  .top-author{margin-bottom:12px}
  .meta{padding-top:11px}
  .comment-form{padding:14px}
}

/* v8.1: keep the byline separation deliberately subtle */
.top-author{margin-bottom:15px}
.meta{padding-top:0;border-top:0;min-height:auto}
@media (max-width:340px){.top-author{margin-bottom:14px}.meta{padding-top:0}}


/* ===== v9 — advertising placement + lighter comment form ===== */
/* The 300×300 placement belongs after the post-article author card. */
.square-ad{
  width:min(300px,100%);
  aspect-ratio:1/1;
  margin:24px auto 26px;
  border:1px dashed #d7ddd4;
  border-radius:12px;
  background:#fafbf9;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  color:#aeb5ac;
}
.square-ad span{font-size:.625rem;line-height:1;letter-spacing:.08em;font-weight:600}
.square-ad b{margin-top:6px;font-size:.75rem;line-height:1;font-weight:500;color:#bcc2ba}

/* Comment form sits directly on the page instead of inside a rounded card. */
.comment-form{
  margin-top:12px;
  padding:18px 0 0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  scroll-margin-top:72px;
}
.comment-form-head{margin-bottom:15px}

/* Keep entered text at 16px on mobile, but make hints visibly secondary. */
.comments .comment-form input[type="text"],
.comments .comment-form input[type="email"],
.comments .comment-form textarea{
  font-size:1rem;
}
.comments .comment-form input::placeholder,
.comments .comment-form textarea::placeholder{
  font-size:.8125rem;
  line-height:1.35;
  color:#a5aba2;
  opacity:1;
}

/* Align checkbox and caption to one visual baseline. */
.comments .comment-form .check{
  display:flex!important;
  align-items:center;
  gap:9px;
  min-height:20px;
  margin:2px 0 15px;
  font-size:.75rem!important;
  line-height:1.3;
  font-weight:500;
  color:#687066;
  cursor:pointer;
}
.comments .comment-form .check>span{
  display:block;
  margin:0;
  line-height:18px;
}
.comments .comment-form .check input{
  appearance:none;
  -webkit-appearance:none;
  position:relative;
  width:18px;
  height:18px;
  flex:0 0 18px;
  margin:0;
  padding:0;
  border:1px solid #cfd6cc;
  border-radius:4px;
  background:#fff;
  box-sizing:border-box;
}
.comments .comment-form .check input:checked{
  background:#70bd3d;
  border-color:#70bd3d;
}
.comments .comment-form .check input:checked::after{
  content:"";
  position:absolute;
  left:5px;
  top:2px;
  width:5px;
  height:9px;
  border:solid #fff;
  border-width:0 2px 2px 0;
  transform:rotate(45deg);
  box-sizing:border-box;
}
.comments .comment-form .check input:focus-visible{
  outline:2px solid rgba(112,189,61,.35);
  outline-offset:2px;
}

@media (max-width:340px){
  .square-ad{width:min(286px,100%);margin:22px auto 24px}
  .comment-form{padding:17px 0 0}
}

/* ===== v10 — header, author stats, post ad and related previews ===== */
/* Clean magnifier icon: avoids the uneven gradient-drawn version. */
.search{
  position:relative;
  width:30px;
  height:30px;
  padding:0;
  border:0;
  background:none;
  cursor:pointer;
}
.search::before{
  content:"";
  position:absolute;
  width:12px;
  height:12px;
  left:6px;
  top:5px;
  border:2px solid #252b25;
  border-radius:50%;
  box-sizing:border-box;
}
.search::after{
  content:"";
  position:absolute;
  width:8px;
  height:2px;
  left:17px;
  top:18px;
  border-radius:2px;
  background:#252b25;
  transform:rotate(45deg);
  transform-origin:left center;
}
.logo{font-size:1.2rem;letter-spacing:-1.05px}

/* Wider, more descriptive author credentials. */
.stats{
  gap:0;
  margin:15px 0 13px;
  padding-top:12px;
}
.stats>div{
  align-items:center;
  justify-content:flex-start;
  min-width:0;
  padding:0 8px;
  text-align:center;
}
.stats>div:first-child{padding-left:0}
.stats>div:last-child{padding-right:0}
.stats>div+div{border-left:1px solid #e7ebe5}
.stats b{font-size:.875rem;line-height:1.15;white-space:nowrap}
.stats small{
  margin-top:4px;
  font-size:.6875rem;
  line-height:1.25;
  color:#747c72;
  text-wrap:balance;
}

/* Keep the post-article square ad aligned to the content edges. */
.square-ad{
  width:100%;
  max-width:none;
  aspect-ratio:1/1;
  margin:24px 0 26px;
}

/* Related articles: heading only; previews now contain clear topic cues. */
.related-head{display:block}
.related-grid{gap:12px 10px}
.thumb{
  position:relative;
  height:92px;
  overflow:hidden;
  border-radius:10px;
  isolation:isolate;
}
.t1{background:linear-gradient(145deg,#eef7ed,#cae3c5)}
.t2{background:linear-gradient(145deg,#f4eee8,#ddcabb)}
.t3{background:linear-gradient(145deg,#e9f4f5,#c3dfe3)}
.t4{background:linear-gradient(145deg,#f4f2e7,#dfd8b8)}
.thumb::after{
  content:"";
  position:absolute;
  width:72px;
  height:72px;
  right:-19px;
  bottom:-28px;
  border-radius:50%;
  background:rgba(255,255,255,.42);
  z-index:-1;
}
.preview-phone{
  position:absolute;
  left:50%;
  top:50%;
  width:38px;
  height:66px;
  transform:translate(-50%,-48%) rotate(5deg);
  border:3px solid rgba(41,54,40,.82);
  border-radius:8px;
  background:rgba(255,255,255,.68);
  box-shadow:0 6px 14px rgba(31,45,29,.08);
}
.preview-phone::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:4px;
  width:7px;
  height:2px;
  transform:translateX(-50%);
  border-radius:4px;
  background:rgba(41,54,40,.55);
}
.preview-bubble{
  position:absolute;
  left:-20px;
  top:15px;
  padding:6px 7px;
  border-radius:7px;
  background:#70bd3d;
  color:#fff;
  font-size:.625rem;
  line-height:1;
  font-style:normal;
  font-weight:800;
  letter-spacing:.02em;
  box-shadow:0 4px 10px rgba(64,111,35,.18);
}
.preview-bubble::after{
  content:"";
  position:absolute;
  right:5px;
  bottom:-4px;
  border-width:4px 0 0 5px;
  border-style:solid;
  border-color:transparent transparent transparent #70bd3d;
}
.preview-call{
  position:absolute;
  left:-17px;
  top:15px;
  width:29px;
  height:29px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#fff;
  color:#815f4d;
  font-size:1rem;
  line-height:1;
  font-style:normal;
  font-weight:800;
  box-shadow:0 4px 11px rgba(75,55,45,.13);
}
.preview-signal{
  position:absolute;
  left:50%;
  top:42%;
  width:66px;
  height:44px;
  transform:translate(-50%,-50%);
}
.preview-signal i{
  position:absolute;
  left:50%;
  bottom:0;
  border:3px solid #4d7880;
  border-bottom:0;
  border-left-color:transparent;
  border-right-color:transparent;
  border-radius:50% 50% 0 0;
  transform:translateX(-50%);
}
.preview-signal i:nth-child(1){width:58px;height:28px}
.preview-signal i:nth-child(2){width:39px;height:20px}
.preview-signal i:nth-child(3){width:20px;height:12px}
.preview-label{
  position:absolute;
  left:50%;
  bottom:12px;
  transform:translateX(-50%);
  padding:4px 8px;
  border-radius:999px;
  background:#fff;
  color:#42656c;
  font-size:.625rem;
  font-weight:800;
  box-shadow:0 3px 9px rgba(55,91,97,.08);
}
.preview-sim{
  position:absolute;
  left:50%;
  top:50%;
  width:49px;
  height:60px;
  transform:translate(-50%,-50%) rotate(-6deg);
  border:3px solid #716d51;
  border-radius:8px 8px 12px 8px;
  background:rgba(255,255,255,.72);
  clip-path:polygon(0 0,72% 0,100% 22%,100% 100%,0 100%);
  box-shadow:0 5px 12px rgba(87,83,58,.09);
}
.preview-sim i{
  position:absolute;
  left:11px;
  bottom:12px;
  width:24px;
  height:21px;
  border:2px solid #b3a965;
  border-radius:4px;
  background:linear-gradient(90deg,transparent 45%,#b3a965 46% 53%,transparent 54%),linear-gradient(transparent 45%,#b3a965 46% 53%,transparent 54%);
}
.related-card b{font-size:.8125rem;line-height:1.35;margin-top:7px}

@media (max-width:340px){
  .logo{font-size:1.15rem}
  .stats>div{padding:0 6px}
  .stats small{font-size:.65625rem}
  .square-ad{width:100%;margin:22px 0 24px}
  .thumb{height:86px}
}

/* ===== v11 — mobile search, menu, brand marks and author trust ===== */
/* Use only actual Onest weights from the self-hosted variable font (400–800). */
body{font-synthesis:none}

/* Header search: simple, familiar SVG magnifier. */
.search{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  color:#232923;
  border-radius:50%;
  -webkit-tap-highlight-color:transparent;
}
.search::before,.search::after{content:none}
.search svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.search:active{background:#f1f4ef}

/* Search opens directly below the sticky header, like a native mobile search bar. */
.search-backdrop{
  position:fixed;
  inset:54px 0 0;
  z-index:7;
  background:rgba(20,25,20,.18);
  opacity:0;
  pointer-events:none;
  transition:opacity .16s ease;
}
.search-backdrop.open{opacity:1;pointer-events:auto}
.mobile-search{
  position:fixed;
  z-index:8;
  top:54px;
  left:50%;
  width:360px;
  max-width:100%;
  padding:10px 12px 11px;
  transform:translate(-50%,-115%);
  opacity:0;
  background:#fff;
  border-top:1px solid #edf0eb;
  box-shadow:0 7px 18px rgba(24,31,22,.12);
  pointer-events:none;
  transition:transform .18s ease,opacity .15s ease;
}
.mobile-search.open{transform:translate(-50%,0);opacity:1;pointer-events:auto}
.search-field{
  height:44px;
  display:grid;
  grid-template-columns:22px minmax(0,1fr) 32px;
  align-items:center;
  gap:8px;
  padding:0 6px 0 12px;
  border:1px solid #dce2d9;
  border-radius:12px;
  background:#f7f9f6;
}
.search-field>svg{width:20px;height:20px;fill:none;stroke:#737b72;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.search-field input{
  width:100%;
  min-width:0;
  height:42px;
  padding:0;
  border:0;
  outline:0;
  background:transparent;
  font:inherit;
  font-size:1rem;
  font-weight:400;
  color:#222822;
}
.search-field input::placeholder{color:#969d94;opacity:1;font-size:.875rem}
.search-close{
  width:32px;
  height:32px;
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent;
  color:#70776f;
  font-size:1.55rem;
  line-height:1;
  display:grid;
  place-items:center;
}
.search-close:active{background:#e9ede7}

/* Author links look like text, but avatar/name are both tappable. */
.author-avatar-link,.author-name-link{text-decoration:none;color:inherit}
.author-avatar-link{display:block;flex:0 0 auto;border-radius:50%;-webkit-tap-highlight-color:transparent}
.author-avatar-link .avatar{display:block}
.author-name-link:active{color:#579c31}

/* Verification title becomes neutral black; green check remains the trust cue. */
.verified-after{color:#20251f}
.verified-after b{color:#20251f;font-weight:700}
.verified-after small{color:#758072}

/* Subscription buttons: real brand icons + supported Onest weights, no synthesized 750. */
.brand-logo-box{
  background:#fff!important;
  overflow:hidden;
}
.brand-logo-box img{display:block;width:24px;height:24px;object-fit:contain}
.subscribe>a .sub-copy b{
  font-size:.875rem;
  line-height:1.25;
  font-weight:700;
  letter-spacing:0;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
.subscribe>a .sub-copy small{font-size:.75rem;font-weight:400;line-height:1.25}
.subscribe>a>strong{font-weight:600}

/* Permanent-author mark: small green check with hover/focus explanation. */
.author-card h3{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.author-badge{
  position:relative;
  width:17px;
  height:17px;
  flex:0 0 17px;
  display:inline-grid;
  place-items:center;
  border-radius:50%;
  background:#e9f5e2;
  color:#58a332!important;
  font-size:.6875rem!important;
  line-height:1;
  font-weight:800;
  cursor:help;
  outline:none;
}
.author-badge::after{
  content:"Постоянный автор AndroidLime";
  position:absolute;
  left:50%;
  bottom:calc(100% + 8px);
  transform:translateX(-50%) translateY(3px);
  width:max-content;
  max-width:210px;
  padding:7px 9px;
  border-radius:7px;
  background:#222822;
  color:#fff;
  font-size:.6875rem;
  line-height:1.25;
  font-weight:500;
  white-space:nowrap;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:.14s ease;
  z-index:15;
}
.author-badge:hover::after,.author-badge:focus-visible::after{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}

/* Footer brand marks use the same real SVG assets. */
.footer-social .fs-icon{background:#fff;overflow:hidden}
.footer-social .fs-icon img{width:18px;height:18px;object-fit:contain;display:block}

/* Mobile drawer: categories -> social buttons -> About. */
.drawer-backdrop{
  position:fixed;
  inset:0;
  z-index:19;
  background:rgba(22,27,21,.32);
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease;
}
.drawer-backdrop.open{opacity:1;pointer-events:auto}
.drawer{
  width:300px;
  max-width:86%;
  padding:0 18px 22px;
  overflow-y:auto;
  transform:translateX(-102%);
  transition:transform .2s ease;
}
.drawer.open{transform:translateX(0)}
.drawer-head{
  min-height:62px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid #edf0eb;
}
.drawer-head>b{font-size:1.125rem;font-weight:700;color:#242a23}
.drawer-head button{
  float:none;
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  padding:0;
  border-radius:50%;
  font-size:1.65rem;
  color:#5f665e;
}
.drawer-head button:active{background:#f0f3ee}
.drawer-categories{padding:10px 0 14px;border-bottom:1px solid #edf0eb}
.drawer-categories a{
  display:block;
  padding:9px 0;
  text-decoration:none;
  font-size:.9375rem;
  line-height:1.25;
  font-weight:500;
  color:#343a33;
}
.drawer-categories .green{color:#579f32;font-weight:700}
.drawer-social{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:16px 0}
.drawer-social-btn{
  min-width:0;
  height:62px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  border-radius:10px;
  text-decoration:none;
  font-size:.6875rem;
  font-weight:700;
  color:#fff;
}
.drawer-social-btn.dzen{background:#171717}
.drawer-social-btn.telegram{background:#229ed9}
.drawer-social-btn.ok{background:#ee8208}
.drawer-social-btn>span{
  width:27px;
  height:27px;
  display:grid;
  place-items:center;
  border-radius:7px;
  background:#fff;
}
.drawer-social-btn img{width:19px;height:19px;display:block;object-fit:contain}
.drawer-about{
  display:block;
  padding:12px 0 4px!important;
  border-top:1px solid #edf0eb;
  text-decoration:none;
  font-size:.9375rem!important;
  line-height:1.25;
  font-weight:600;
  color:#343a33;
}

@media (max-width:340px){
  .drawer{max-width:88%}
  .drawer-social{gap:6px}
  .drawer-social-btn{height:58px}
}

/* v12 — simplified mobile drawer: site brand, five sections, full-width social cards. */
.drawer-head .drawer-logo{
  display:inline-block;
  margin:0;
  padding:0;
  font-size:1.2rem;
  line-height:1;
  letter-spacing:-1.05px;
  font-weight:900;
}
.drawer-categories{
  padding:10px 0 14px;
}
.drawer-categories a{
  padding:10px 0;
  font-size:.9375rem;
}
.drawer-social{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  padding:16px 0;
}
.drawer-social-btn{
  min-height:58px;
  height:auto;
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:flex-start;
  gap:0;
  padding:8px 10px;
  border-radius:12px;
  color:#fff;
  box-shadow:none;
  -webkit-tap-highlight-color:transparent;
}
.drawer-social-btn .drawer-social-icon{
  width:38px;
  height:38px;
  flex:0 0 38px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#fff;
  overflow:hidden;
}
.drawer-social-btn .drawer-social-icon img{
  display:block;
  width:24px;
  height:24px;
  object-fit:contain;
}
.drawer-social-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
  margin-left:10px;
  text-align:left;
}
.drawer-social-copy b{
  font-size:.8125rem;
  line-height:1.2;
  font-weight:700;
  letter-spacing:0;
}
.drawer-social-copy small{
  font-size:.6875rem;
  line-height:1.2;
  font-weight:400;
  color:#fff;
  opacity:.78;
}
.drawer-social-btn>strong{
  margin-left:auto;
  padding-left:8px;
  color:#fff;
  opacity:.9;
  font-size:1.125rem;
  line-height:1;
  font-weight:600;
}
.drawer-social-btn:active{transform:translateY(1px)}
.drawer-about{margin-top:0}

@media (max-width:340px){
  .drawer-social{gap:7px}
  .drawer-social-btn{min-height:56px;height:auto}
  .drawer-social-copy b{font-size:.78125rem}
}

/* v13 — compact menu social links + explicit mobile search submit */
.search-field{
  height:44px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 44px;
  gap:8px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}
.search-input-wrap{
  position:relative;
  min-width:0;
  height:44px;
  border:1px solid #dce2d9;
  border-radius:12px;
  background:#f7f9f6;
}
.search-input-wrap input{
  width:100%;
  height:42px;
  padding:0 42px 0 13px;
  border:0;
  outline:0;
  background:transparent;
  font:inherit;
  font-size:1rem;
  font-weight:400;
  color:#222822;
  -webkit-appearance:none;
  appearance:none;
}
.search-input-wrap input::-webkit-search-cancel-button{display:none}
.search-input-wrap input::placeholder{color:#969d94;opacity:1;font-size:.875rem}
.search-close{
  position:absolute;
  top:6px;
  right:5px;
  width:32px;
  height:32px;
}
.search-submit{
  width:44px;
  height:44px;
  padding:0;
  border:0;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:#70bd3d;
  color:#fff;
  transition:background .14s ease,opacity .14s ease,transform .08s ease;
  -webkit-tap-highlight-color:transparent;
}
.search-submit svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.search-submit:disabled{background:#dfe5dc;color:#a7afa4;opacity:1}
.search-submit:not(:disabled):active{background:#5fa934;transform:scale(.97)}

.drawer-social-section{
  padding:15px 0 16px;
  border-bottom:1px solid #edf0eb;
}
.drawer-social-title{
  margin-bottom:9px;
  font-size:.6875rem;
  line-height:1.2;
  font-weight:600;
  color:#8a9188;
  text-transform:uppercase;
  letter-spacing:.055em;
}
.drawer-social{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  padding:0;
}
.drawer-social-btn{
  min-width:0;
  height:58px;
  min-height:58px;
  padding:6px 4px;
  border:1px solid #e4e8e1;
  border-radius:11px;
  background:#fff!important;
  color:#30362e!important;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  text-decoration:none;
  box-shadow:0 1px 3px rgba(27,35,25,.025);
  -webkit-tap-highlight-color:transparent;
}
.drawer-social-btn .drawer-social-icon{
  width:23px;
  height:23px;
  flex:0 0 23px;
  display:grid;
  place-items:center;
  border-radius:0;
  background:transparent;
  overflow:visible;
}
.drawer-social-btn .drawer-social-icon img{
  width:21px;
  height:21px;
  display:block;
  object-fit:contain;
}
.drawer-social-btn>span:last-child{
  max-width:100%;
  font-size:.6875rem;
  line-height:1.1;
  font-weight:600;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.drawer-social-btn:active{background:#f5f7f3!important;transform:scale(.98)}
.drawer-about{margin-top:12px}

@media (max-width:340px){
  .drawer-social{gap:6px}
  .drawer-social-btn{height:56px;min-height:56px}
  .drawer-social-btn>span:last-child{font-size:.65625rem}
}

/* v14 — article rating + mobile-friendly image galleries */










.media-figure,.article-gallery-figure{margin:18px 0 21px}
.media-item,.gallery-item{position:relative;display:block;width:100%;padding:0;border:0;background:none;text-align:inherit;cursor:zoom-in;-webkit-tap-highlight-color:transparent}
.media-item:focus-visible,.gallery-item:focus-visible{outline:2px solid #70bd3d;outline-offset:3px;border-radius:12px}
.media-single{border-radius:12px;overflow:hidden}
.media-zoom{
  position:absolute;right:9px;bottom:9px;width:30px;height:30px;border-radius:9px;
  display:grid;place-items:center;background:rgba(22,27,21,.72);color:#fff;font-size:.9375rem;line-height:1;
  backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)
}
.media-figure figcaption,.article-gallery-figure figcaption{margin-top:7px;font-size:.6875rem;line-height:1.35;color:#92998f}
.article-gallery{display:grid;gap:7px}
.gallery-two{grid-template-columns:1fr 1fr}
.gallery-grid{grid-template-columns:1fr 1fr}
.gallery-item{border-radius:11px;overflow:hidden;background:#eef1ec}
.gallery-two .gallery-item{aspect-ratio:9/16}
.gallery-grid .gallery-item{aspect-ratio:1.22/1}
.gallery-item::after{
  content:"↗";position:absolute;right:7px;bottom:7px;width:25px;height:25px;border-radius:8px;
  display:grid;place-items:center;background:rgba(22,27,21,.66);color:#fff;font-size:.75rem;line-height:1
}

.demo-visual{display:block;width:100%;height:100%;position:relative;overflow:hidden}
.visual-network{height:154px;background:linear-gradient(145deg,#26302b 0%,#56645d 54%,#9aa49c 100%)}
.demo-phone{position:absolute;width:72px;height:132px;left:50%;top:50%;transform:translate(-50%,-50%) rotate(6deg);border:4px solid #171b18;border-radius:15px;background:linear-gradient(180deg,#edf1ed,#bdc9c0);box-shadow:0 13px 26px rgba(0,0,0,.25)}
.demo-phone::before{content:"";position:absolute;top:5px;left:50%;width:21px;height:4px;border-radius:5px;background:#1c201d;transform:translateX(-50%)}
.demo-phone i{position:absolute;left:0;right:0;top:54px;font-style:normal;text-align:center;font-size:.625rem;font-weight:700;color:#596159}

.visual-screen{height:100%;padding:14px 9px;background:#f7f8fa;color:#232723;text-align:left}
.screen-head{display:block;margin:7px 2px 16px;font-size:.6875rem;font-weight:800;color:#1f2420}
.screen-row{height:35px;margin-bottom:7px;padding:0 6px;border-radius:8px;background:#fff;display:flex;align-items:center;gap:6px;font-size:.5rem;color:#555d55;box-shadow:0 1px 3px rgba(20,28,20,.06)}
.screen-row i{width:13px;height:13px;border-radius:4px;background:#dce9d6}
.screen-row b{margin-left:auto;width:23px;height:13px;border-radius:10px;background:#70bd3d;position:relative}
.screen-row b::after{content:"";position:absolute;width:9px;height:9px;border-radius:50%;right:2px;top:2px;background:#fff}
.screen-row.short{width:88%}
.screen-hero{height:54px;margin:0 1px 12px;border-radius:10px;background:linear-gradient(135deg,#70bd3d,#9ed47b);display:grid;place-items:center;color:#fff;font-size:.75rem;font-weight:800}
.screen-wifi .screen-row b{background:#70bd3d}

.visual-device{height:100%;background:linear-gradient(145deg,#e9ede7,#cad2ca);display:grid;place-items:center}
.device-body{width:45px;height:88px;border-radius:10px;background:#151b18;padding:3px;transform:rotate(8deg);box-shadow:0 9px 18px rgba(31,39,32,.2)}
.device-body::after{content:"";display:block;width:100%;height:100%;border-radius:7px;background:linear-gradient(155deg,#182b25 15%,#6dbd79 75%,#b6e7b9)}
.device-body i{position:absolute;width:4px;height:4px;border-radius:50%;top:6px;left:50%;transform:translateX(-50%);background:#232924;z-index:2}
.device-dark{background:linear-gradient(145deg,#daddd9,#afb5b0)}
.device-back{position:relative;width:50px;height:92px;border-radius:10px;background:linear-gradient(150deg,#303632,#151917);transform:rotate(-8deg);box-shadow:0 10px 19px rgba(26,31,27,.25)}
.device-back i{position:absolute;width:13px;height:13px;border:2px solid #565e58;border-radius:50%;background:#101310;left:7px}.device-back i:nth-child(1){top:9px}.device-back i:nth-child(2){top:25px}.device-back i:nth-child(3){top:41px}
.device-side{background:linear-gradient(145deg,#eff1ed,#c9cec8)}
.device-edge{width:8px;height:96px;border-radius:7px;background:linear-gradient(90deg,#222724,#818a83,#2a302c);transform:rotate(9deg);box-shadow:8px 7px 15px rgba(25,31,26,.16)}
.device-camera{background:linear-gradient(145deg,#d8ddd8,#b4bbb5)}
.camera-island{width:66px;height:66px;border-radius:16px;background:#29302b;display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:8px;transform:rotate(-6deg);box-shadow:0 8px 18px rgba(21,27,22,.25)}
.camera-island i{border-radius:50%;background:radial-gradient(circle at 45% 45%,#304d5a 0 16%,#111 18% 40%,#687169 42% 49%,#171b18 51%)}
.camera-island i:nth-child(3){grid-column:1/3;width:21px;height:21px;justify-self:center}

body.lightbox-open{overflow:hidden;touch-action:none}
.media-lightbox{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:14px;opacity:0;pointer-events:none;transition:opacity .18s ease}
.media-lightbox.open{opacity:1;pointer-events:auto}
.media-lightbox-backdrop{position:absolute;inset:0;background:rgba(10,12,10,.91);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.media-lightbox-panel{position:relative;width:min(100%,430px);max-height:calc(100vh - 28px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;z-index:1;color:#fff}
.media-lightbox-top{height:42px;display:flex;align-items:center;justify-content:space-between;padding:0 2px}
.media-lightbox-count{font-size:.75rem;color:#cbd0c9}
.media-lightbox-close{width:38px;height:38px;border:0;background:rgba(255,255,255,.1);border-radius:50%;color:#fff;font-size:1.65rem;line-height:1;display:grid;place-items:center}
.media-lightbox-stage{position:relative;min-height:0;height:min(70vh,620px);display:flex;align-items:center;justify-content:center;outline:0;overflow:hidden}
.media-lightbox-visual{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:4px 34px}
.media-lightbox-visual .lightbox-demo{width:auto;height:auto;max-width:100%;max-height:100%;aspect-ratio:auto;border-radius:14px;box-shadow:0 18px 50px rgba(0,0,0,.35)}
.media-lightbox-visual .visual-network{width:min(100%,390px);height:min(54vw,260px)}
.media-lightbox-visual .visual-screen{width:min(72vw,280px);height:min(128vw,500px);min-height:420px}
.media-lightbox-visual .visual-device{width:min(88vw,380px);height:min(72vw,310px)}
.media-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:36px;height:48px;border:0;border-radius:10px;background:rgba(255,255,255,.1);color:#fff;font-size:2rem;line-height:1;display:grid;place-items:center}.media-lightbox-nav.prev{left:0}.media-lightbox-nav.next{right:0}.media-lightbox-nav[hidden]{display:none}
.media-lightbox-caption{min-height:46px;padding:10px 8px 0;text-align:center;font-size:.8125rem;line-height:1.4;color:#eef1ed}

@media (max-width:340px){
  
  
  .gallery-two,.gallery-grid{gap:6px}
}
.device-body{position:relative}

/* ===== v14 refinement — keep v14, borrow only v15 rating/verification ===== */
/* Slightly more breathing room around the byline author before the article. */
.top-author{margin-top:5px;margin-bottom:19px}
@media (max-width:340px){.top-author{margin-top:4px;margin-bottom:18px}}

/* v15-style article rating: light editorial row instead of a card. */







/* v15-style verification: quiet trust row with no card surface. */
.verified-after{
  margin:0 0 24px;
  padding:12px 0;
  border-radius:0;
  background:transparent;
  color:#1f251f;
}
.verified-after .verified-check{width:22px;height:22px;flex-basis:22px;background:#69b83a;font-size:.72rem}
.verified-after b{font-size:.78rem;color:#1f251f}
.verified-after small{font-size:.68rem;color:#8b9388}

/* ===== v16 — responsive desktop / laptop article layout ===== */
.desktop-header,.desktop-toc,.desktop-sidebar,.desktop-kicker,.desktop-hero,.article-deck,.desktop-ad-size{display:none}
.desktop-layout{display:block}

@media (min-width:900px){
  html{scroll-padding-top:88px}
  body.article-page{background:#fff;color:#20241f}
  body.article-page .page{width:100%;max-width:none;margin:0;background:#fff;box-shadow:none}

  /* Desktop masthead */
  .article-page .header,
  .article-page>.mobile-search,
  .article-page .page>.mobile-search,
  .article-page .nav,
  .article-page .search-backdrop,
  .article-page .drawer,
  .article-page .drawer-backdrop{display:none!important}
  .desktop-header{
    display:block;position:sticky;top:0;z-index:60;height:64px;border-bottom:1px solid #e9ece7;
    background:rgba(255,255,255,.96);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)
  }
  .desktop-header-inner{
    width:min(100% - 40px,1380px);height:64px;margin:0 auto;display:flex;align-items:center;gap:20px
  }
  .desktop-logo{flex:0 0 auto;text-decoration:none;font-size:1.36rem;line-height:1;font-weight:800;letter-spacing:-1.25px;color:#1c211d}
  .desktop-logo span{color:#70bd3d}
  .desktop-nav{min-width:0;display:flex;align-items:stretch;align-self:stretch;gap:24px;margin-left:8px}
  .desktop-nav a{position:relative;display:flex;align-items:center;text-decoration:none;white-space:nowrap;color:#343a34;font-size:.79rem;font-weight:500}
  .desktop-nav a:hover{color:#579c31}
  .desktop-nav a.active{color:#579c31;font-weight:600}
  .desktop-nav a.active::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:3px 3px 0 0;background:#70bd3d}
  .desktop-search{margin-left:auto;flex:0 0 174px;height:36px;display:grid;grid-template-columns:minmax(0,1fr) 36px;align-items:center;border-radius:18px;background:#f4f6f3;overflow:hidden}
  .desktop-search input{min-width:0;width:100%;height:36px;padding:0 0 0 14px;border:0;outline:0;background:transparent;font:inherit;font-size:.74rem;color:#2f352f;-webkit-appearance:none;appearance:none}
  .desktop-search input::-webkit-search-cancel-button{display:none}
  .desktop-search input::placeholder{color:#969c94}
  .desktop-search button{width:36px;height:36px;padding:0;border:0;background:transparent;color:#202620;display:grid;place-items:center;cursor:pointer}
  .desktop-search button:hover{color:#5ca333;background:#edf3e9}
  .desktop-search svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
  .desktop-social{display:none;align-items:center;gap:9px;flex:0 0 auto}
  .desktop-social a{width:27px;height:27px;display:grid;place-items:center;text-decoration:none;border-radius:50%}
  .desktop-social a:hover{background:#f1f4ef}
  .desktop-social img{width:18px;height:18px;display:block;object-fit:contain}

  /* Main responsive frame */
  .desktop-layout{width:min(100% - 48px,1320px);margin:0 auto;padding:34px 0 72px;display:block}
  .article-main{min-width:0;max-width:760px;margin:0 auto;padding:0}
  .desktop-kicker{display:block;margin:1px 0 13px;color:#60a934;font-size:.75rem;line-height:1.2;font-weight:700;text-transform:uppercase;letter-spacing:.045em}
  .article-main>h1{max-width:820px;margin:0 0 13px;font-size:clamp(2.1rem,4vw,2.65rem);line-height:1.05;letter-spacing:-.045em;font-weight:700;color:#202420}
  .article-deck{display:block;max-width:720px;margin:0 0 23px;font-size:1.04rem;line-height:1.46;color:#636963}

  /* Byline in one calm desktop row */
  .article-main .article-byline{display:flex;align-items:center;gap:24px;margin:0 0 20px;padding:0}
  .article-main .top-author{margin:0;gap:11px;flex:0 0 auto}
  .article-main .top-author .avatar{width:38px;height:38px;flex-basis:38px;box-shadow:none}
  .article-main .top-author b{font-size:.77rem;font-weight:700;line-height:1.25}
  .article-main .top-author small{font-size:.68rem;line-height:1.25;color:#7b817a}
  .article-main .meta{justify-content:flex-start;gap:0;margin:0;padding:0 0 0 22px;border:0;border-left:1px solid #e3e6e1;min-height:auto;font-size:.72rem;color:#7d837c;white-space:nowrap}
  .article-main .meta span,.article-main .meta a{font-weight:400;color:#7d837c}
  .article-main .meta span:not(:last-child)::after,.article-main .meta a:not(:last-child)::after{content:"";width:1px;height:22px;margin:0 18px;background:#e3e6e1;font-size:0}
  .article-main .meta a:hover{color:#579c31}

  .desktop-hero{display:block;margin:0 0 22px}
  .desktop-hero img{display:block;width:100%;aspect-ratio:2.1/1;object-fit:cover;border-radius:9px;background:#e4e7e2}

  /* Mobile ad becomes the sidebar placement on larger screens */
  .article-main>.ad{display:none}
  .article-main>.toc{margin:0 0 26px;padding:17px 18px;background:#fafbfa;border-radius:10px}
  .article-main>.toc .toc-title{font-size:.9rem}
  .article-main>.toc ol{display:grid;grid-template-columns:1fr 1fr;column-gap:28px;padding-left:22px}
  .article-main>.toc a{font-size:.83rem}

  /* Long-form desktop typography */
  .article-main article h2{margin:38px 0 13px;font-size:1.55rem;line-height:1.25;letter-spacing:-.025em;font-weight:700;color:#242824}
  .article-main article h2.result{margin-top:42px}
  .article-main article h3{margin:28px 0 11px;font-size:1.16rem;line-height:1.35;font-weight:700}
  .article-main article p,.article-main article li{font-size:1rem;line-height:1.68;color:#353a35}
  .article-main article p{margin-bottom:17px}
  .article-main article ul,.article-main article ol{margin:11px 0 21px;padding-left:25px}
  .article-main .green-quote{margin:27px 0;padding-left:42px;font-size:1rem;line-height:1.65}
  .article-main .green-quote p{font-size:1rem;line-height:1.65}
  .article-main .green-quote .quote-mark{font-size:3rem;top:4px}
  .article-main .media-figure,.article-main .article-gallery-figure{margin:24px 0 28px}
  .article-main .media-figure figcaption,.article-main .article-gallery-figure figcaption{font-size:.72rem;margin-top:8px}
  .article-main .visual-network{height:310px}
  .article-main .gallery-two{width:min(100%,520px);gap:10px}
  .article-main .gallery-grid{gap:10px}
  .article-main .gallery-item{border-radius:12px}
  .article-main .gallery-grid .gallery-item{aspect-ratio:1.55/1}

  /* End-of-article blocks keep the mobile system but gain desktop proportions */
  
  
  
  
  .article-main .subscribe{grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 14px}
  .article-main .subscribe>a{min-height:64px;padding:10px 13px;border-radius:12px}
  .article-main .verified-after{margin:0 0 34px;padding:14px 0}
  .article-main .verified-after b{font-size:.84rem}
  .article-main .verified-after small{font-size:.71rem}
  .article-main .author-card{margin:0;padding:20px;border-radius:13px}
  .article-main .author-card .avatar.big{width:62px;height:62px;flex-basis:62px}
  .article-main .author-card h3{font-size:1rem}
  .article-main .author-card small{font-size:.76rem}
  .article-main .author-card p{font-size:.86rem;line-height:1.55;max-width:560px}
  .article-main .stats{margin:18px 0 14px;padding-top:15px;gap:0}
  .article-main .stats>div{padding:0 16px;border-right:1px solid #e3e7e0}
  .article-main .stats>div:first-child{padding-left:0}
  .article-main .stats>div:last-child{padding-right:0;border-right:0}
  .article-main .stats b{font-size:.9rem}
  .article-main .stats small{font-size:.7rem}
  .article-main .all-author{font-size:.82rem}

  /* Responsive end ad: same content width, desktop banner height */
  .article-main .square-ad{width:100%;aspect-ratio:auto;height:180px;margin:28px 0 30px;border-radius:12px}
  .article-main .square-ad .mobile-ad-size{display:none}
  .article-main .square-ad .desktop-ad-size{display:inline}
  .article-main .square-ad span{font-size:.65rem}
  .article-main .square-ad b{font-size:.78rem}

  /* Keep the richer mobile related grid only when there is no right sidebar. */
  .article-main .related{margin-top:32px}
  .article-main .related-head h3{font-size:1.22rem}
  .article-main .related-grid{grid-template-columns:repeat(4,1fr);gap:14px}
  .article-main .thumb{height:105px}
  .article-main .related-card b{font-size:.76rem}
  .article-main .related-card small{font-size:.68rem}

  /* Comments */
  .article-main .comments{margin-top:42px;padding-top:25px}
  .article-main .comments h2{font-size:1.35rem}
  .article-main .comments-head{margin-bottom:16px}
  .article-main .comments-head button{font-size:.78rem;padding:10px 14px;border-radius:8px}
  .article-main .comment-item{grid-template-columns:40px minmax(0,1fr);gap:13px;padding:18px 0}
  .article-main .comment-avatar{width:40px;height:40px;font-size:.74rem}
  .article-main .comment-body p{font-size:.88rem;line-height:1.55}
  .article-main .comment-top b{font-size:.84rem}
  .article-main .comment-top time{font-size:.68rem}
  .article-main .comment-reply{font-size:.72rem}
  .article-main .comment-answer{margin-left:43px;grid-template-columns:36px minmax(0,1fr);padding-left:14px}
  .article-main .comment-answer .comment-avatar{width:36px;height:36px}
  .article-main .comment-form{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;margin-top:14px;padding-top:24px}
  .article-main .comment-form-head{grid-column:1/-1}
  .article-main .comment-form h3{font-size:1.05rem;margin-bottom:5px}
  .article-main .comment-form-head p{margin:0 0 15px;font-size:.73rem;color:#8b918a}
  .article-main .comments label{font-size:.78rem}
  .article-main .comments input,.article-main .comments textarea{font-size:1rem}
  .article-main .comment-form .field:nth-of-type(3){grid-column:1/-1}
  .article-main .check,.article-main .submit{grid-column:1/-1}
  .article-main .submit{width:auto;min-width:210px;justify-self:start;padding:0 22px}

  /* Wider desktop lightbox */
  .media-lightbox-panel{width:min(92vw,1040px)}
  .media-lightbox-stage{height:min(78vh,760px)}
  .media-lightbox-visual .visual-network{width:min(82vw,820px);height:min(42vw,400px)}
  .media-lightbox-visual .visual-screen{width:min(31vw,320px);height:min(68vh,620px);min-height:0}
  .media-lightbox-visual .visual-device{width:min(60vw,700px);height:min(48vw,520px)}

  /* Footer scales to the desktop frame instead of the old 360px page. */
  .article-page footer{margin-top:0;padding:34px max(24px,calc((100vw - 1320px)/2)) 20px}
  .article-page .footer-grid{grid-template-columns:1fr auto;gap:60px}
  .article-page .footer-about{flex-direction:row;align-items:center;gap:34px}
  .article-page .footer-brand{font-size:1.12rem}
  .article-page .footer-links{display:flex;flex-direction:row;gap:22px;margin:0}
  .article-page .footer-links a{font-size:.76rem}
  .article-page .footer-social{display:flex;gap:18px}
  .article-page .footer-social a{min-width:112px}
  .article-page .footer-social b{font-size:.76rem}
  .article-page .footer-social small{font-size:.65rem}
  .article-page .footer-bottom{font-size:.68rem}
  .article-page .footer-bottom .footer-legal{font-size:.68rem}
}

/* Compact laptop: article + right rail. */
@media (min-width:980px){
  .desktop-layout{display:grid;grid-template-columns:minmax(0,760px) 250px;justify-content:center;gap:30px;align-items:start}
  .article-main{width:100%;max-width:none;margin:0}
  .desktop-sidebar{display:grid;gap:18px;align-self:start;position:sticky;top:86px}
  .side-card{border:1px solid #e8ebe6;border-radius:10px;background:#fff;padding:17px 16px;box-shadow:0 5px 18px rgba(28,35,26,.055)}
  .side-title{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:.75rem;line-height:1.2;font-weight:800;text-transform:uppercase;letter-spacing:.02em;color:#252a25}
  .side-title span{color:#70bd3d;font-size:.95rem}
  .side-popular ol{margin:0;padding:0;list-style:none}
  .side-popular li{border-bottom:1px solid #ecefea}
  .side-popular li:last-child{border-bottom:0}
  .side-popular a{display:grid;grid-template-columns:28px minmax(0,1fr);gap:7px;padding:10px 0;text-decoration:none}
  .side-popular a>span{color:#64ae39;font-size:.9rem;font-weight:700;line-height:1.35}
  .side-popular b{font-size:.76rem;line-height:1.45;font-weight:500;color:#3b403b}
  .side-popular a:hover b{color:#579c31}
  .desktop-ad{position:relative;height:215px;padding:19px;border-radius:10px;overflow:hidden;background:linear-gradient(135deg,#111714,#273029);color:#fff;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end}
  .desktop-ad::before{content:"";position:absolute;right:-22px;top:23px;width:102px;height:178px;border:6px solid #4b554e;border-radius:22px;background:linear-gradient(160deg,#252b27,#0f1210);transform:rotate(8deg);box-shadow:0 18px 35px rgba(0,0,0,.32)}
  .desktop-ad::after{content:"";position:absolute;right:35px;top:45px;width:23px;height:23px;border:4px solid #69736b;border-radius:50%;background:#0c0f0d;box-shadow:0 31px 0 -4px #0c0f0d,0 31px 0 0 #69736b}
  .desktop-ad div,.desktop-ad strong,.desktop-ad span{position:relative;z-index:1}
  .desktop-ad div{font-size:.63rem;letter-spacing:.08em;color:#9eaaa0}
  .desktop-ad strong{margin-top:5px;font-size:1.05rem}
  .desktop-ad span{margin-top:4px;font-size:.68rem;color:#c7cec8}
  .side-related{padding-bottom:12px}
  .side-related-item{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px;align-items:center;padding:9px 0;text-decoration:none}
  .side-related-item+ .side-related-item{border-top:1px solid #eef0ed}
  .side-thumb{position:relative;height:58px;border-radius:7px;overflow:hidden;background:#e6eae4}
  .side-thumb .preview-phone{width:24px;height:46px;border-width:2px}
  .side-thumb .preview-bubble{font-size:.38rem;padding:2px 4px;right:-11px;top:8px}
  .side-thumb .preview-call{font-size:.65rem}
  .side-thumb .preview-label{top:50%;left:50%;transform:translate(-50%,-50%);font-size:.55rem}
  .side-related-item>span:last-child{min-width:0;display:flex;flex-direction:column;gap:4px}
  .side-related-item b{font-size:.73rem;line-height:1.35;font-weight:500;color:#343934}
  .side-related-item small{font-size:.63rem;color:#90968e}
  .side-related-item:hover b{color:#579c31}
  .article-main .related{display:none}
}

/* Full desktop: left contents + article + right rail, mirroring the reference render. */
@media (min-width:1320px){
  .desktop-layout{width:min(100% - 40px,1380px);grid-template-columns:200px minmax(0,760px) 300px;justify-content:center;gap:40px;padding-top:36px}
  .desktop-toc{display:block;align-self:start;position:sticky;top:86px}
  .desktop-toc-card{padding:16px 0}
  .desktop-toc-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;padding:0 13px;font-size:.72rem;line-height:1.2;font-weight:800;text-transform:uppercase;color:#282d28}
  .desktop-toc-title span{font-size:.8rem;color:#777f76}
  .desktop-toc ol{margin:0;padding:0;list-style:none;counter-reset:desk-toc}
  .desktop-toc li{position:relative;counter-increment:desk-toc;margin:0}
  .desktop-toc li a{display:grid;grid-template-columns:22px minmax(0,1fr);gap:4px;padding:10px 12px;text-decoration:none;font-size:.74rem;line-height:1.5;color:#555c54;border-left:2px solid transparent}
  .desktop-toc li a::before{content:counter(desk-toc) ".";color:#4c534c;font-size:.69rem;line-height:1.65}
  .desktop-toc li.active a{border-left-color:#70bd3d;color:#5aa333;background:linear-gradient(90deg,#f6fbf3,transparent);font-weight:600}
  .desktop-toc li.active a::before{color:#5aa333}
  .desktop-toc li:not(.active) a:hover{color:#555c54;background:transparent}
  .desktop-toc li:not(.active) a:hover::before{color:#4c534c}
  .desktop-toc li:not(.active) a:focus{color:#555c54}
  .desktop-toc li:not(.active) a:focus::before{color:#4c534c}
  .desktop-toc-tools{display:grid;gap:11px;margin:16px 12px 0;padding-top:16px;border-top:1px solid #e9ece7}
  .desktop-toc-tools a,.desktop-toc-tools button{display:flex;align-items:center;gap:9px;padding:0;border:0;background:none;text-decoration:none;font:inherit;font-size:.68rem;color:#777e76;cursor:pointer;text-align:left}
  .desktop-toc-tools span{width:17px;color:#788078;font-size:.9rem;text-align:center}
  .desktop-toc-tools a:hover,.desktop-toc-tools button:hover{color:#579c31}
  .article-main>.toc{display:none}
}

@media (min-width:1240px){
  .desktop-social{display:flex}
}

@media (min-width:1360px){
  .desktop-header-inner{gap:23px}
  .desktop-nav{gap:28px}
  .desktop-nav a{font-size:.82rem}
  .desktop-search{flex-basis:184px}
  .desktop-layout{grid-template-columns:205px minmax(0,760px) 300px;gap:42px}
  .article-main>h1{font-size:2.72rem}
}

@media (min-width:900px) and (max-width:1199px){
  .desktop-header-inner{width:calc(100% - 30px);gap:15px}
  .desktop-logo{font-size:1.22rem}
  .desktop-nav{gap:18px;margin-left:0}
  .desktop-nav a{font-size:.73rem}
  .desktop-nav a:nth-child(n/**/+6){display:none}
  .desktop-search{flex-basis:158px}
}

@media (min-width:900px) and (max-width:979px){
  .desktop-layout{width:min(100% - 48px,800px)}
  .desktop-sidebar{display:none}
  .article-main .related{display:block}
}

@media print{
  .desktop-header,.header,.nav,.desktop-toc,.desktop-sidebar,.subscribe,.square-ad,.comments,footer,.media-lightbox{display:none!important}
  .desktop-layout{display:block!important;width:auto!important;margin:0!important;padding:0!important}
  .article-main{max-width:none!important}
}

@media (min-width:900px){
  .desktop-search{border:1px solid transparent;transition:border-color .14s ease,background .14s ease}
  .desktop-search:focus-within{border-color:#cfe3c3;background:#fafcf9}
  .desktop-search:focus-within button{color:#5aa333}
}

/* ===== v17 — fluid laptop / desktop refinement ===== */
.desktop-article-intro{display:block}

@media (min-width:900px){
  /* Five-section masthead: slightly larger and allowed to breathe. */
  .desktop-header-inner{
    width:min(calc(100% - clamp(30px,3.5vw,56px)),1420px);
    gap:clamp(15px,1.6vw,24px);
  }
  .desktop-logo{font-size:clamp(1.28rem,1.45vw,1.48rem)}
  .desktop-nav{gap:clamp(20px,2vw,32px);margin-left:clamp(2px,.7vw,10px)}
  .desktop-nav a{font-size:clamp(.82rem,.78rem + .12vw,.9rem);font-weight:550}
  .desktop-search{flex-basis:clamp(172px,14vw,205px)}
  .desktop-search input{font-size:.8rem}

  /* A little closer to the user's preferred 110% desktop feel. */
  .desktop-kicker{font-size:.8rem}
  .article-main>h1{font-size:clamp(2.18rem,3.15vw,2.72rem)}
  .article-deck{font-size:1.08rem;line-height:1.5}
  .article-main .top-author b{font-size:.84rem}
  .article-main .top-author small{font-size:.73rem}
  .article-main .meta{font-size:.76rem}

  /* No article preview/hero on desktop: body starts with ordinary text. */
  .desktop-hero{display:none!important}
  .desktop-article-intro{display:block;margin-top:3px!important;margin-bottom:28px!important}

  /* Main reading scale. */
  .article-main article p,
  .article-main article li{font-size:1.0625rem;line-height:1.7}
  .article-main .green-quote,
  .article-main .green-quote p{font-size:1.0625rem;line-height:1.67}
  .article-main article h2{font-size:clamp(1.56rem,1.35rem + .35vw,1.68rem)}
  .article-main article h3{font-size:1.2rem}

  /* Inline contents, used on smaller laptops before the left rail appears. */
  .article-main>.toc{padding:18px 20px}
  .article-main>.toc .toc-title{font-size:1rem}
  .article-main>.toc a{font-size:.9rem;line-height:1.5}

  /* Trust row: slightly larger, with much less dead space after it. */
  .article-main .verified-after{margin:0 0 17px;padding:14px 0}
  .article-main .verified-after b{font-size:.91rem}
  .article-main .verified-after small{font-size:.76rem}

  /* Author block before/end of article follows the larger desktop scale. */
  .article-main .author-card{padding:22px}
  .article-main .author-card h3{font-size:1.06rem}
  .article-main .author-card small{font-size:.8rem}
  .article-main .author-card p{font-size:.91rem}
  .article-main .stats b{font-size:.96rem}
  .article-main .stats small{font-size:.74rem}
  .article-main .all-author{font-size:.88rem}

  /* Related stays under the author advertising block on every desktop width. */
  .article-main .related{display:block!important;margin-top:34px}
  .article-main .related-head h3{font-size:1.32rem}
  .article-main .related-card b{font-size:.84rem;line-height:1.42}
  .article-main .related-card small{font-size:.72rem}

  /* Footer/content widths continue to interpolate instead of snapping to a fixed canvas. */
  .article-page footer{padding-left:max(24px,calc((100vw - 1380px)/2));padding-right:max(24px,calc((100vw - 1380px)/2))}
}

/* Compact laptop: two columns, both dimensions fluid. */
@media (min-width:980px) and (max-width:1199px){
  .desktop-layout{
    width:min(calc(100% - 32px),1080px);
    grid-template-columns:minmax(0,760px) clamp(240px,22vw,275px);
    gap:clamp(24px,2.3vw,34px);
  }
  .desktop-sidebar{top:82px}
}

/* Three-column layout starts earlier and scales continuously on common 1280/1366 laptops. */
@media (min-width:1200px){
  .desktop-layout{
    width:min(calc(100% - 32px),1380px);
    grid-template-columns:clamp(170px,14vw,205px) minmax(0,760px) clamp(250px,21vw,300px);
    gap:clamp(22px,2.15vw,40px);
    justify-content:center;
    padding-top:clamp(34px,2.8vw,40px);
  }
  .desktop-toc{display:block;align-self:start;position:sticky;top:86px}
  .article-main>.toc{display:none}

  /* Larger left contents. */
  .desktop-toc-card{padding:17px 0}
  .desktop-toc-title{margin-bottom:11px;padding:0 12px;font-size:.8rem}
  .desktop-toc-title span{font-size:.9rem}
  .desktop-toc li a{
    grid-template-columns:24px minmax(0,1fr);
    gap:5px;
    padding:11px 11px;
    font-size:.82rem;
    line-height:1.48;
  }
  .desktop-toc li a::before{font-size:.76rem;line-height:1.62}

  /* Replace PDF/print with share actions. */
  .desktop-toc-tools.desktop-share{display:block;margin:18px 10px 0;padding-top:17px}
  .desktop-share-title{margin-bottom:10px;font-size:.72rem;font-weight:700;color:#777f76}
  .desktop-share-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
  .desktop-toc-tools .desktop-share-btn{
    min-width:0;min-height:38px;padding:7px 7px;border:1px solid #e4e8e1;border-radius:8px;
    background:#fff;display:flex;align-items:center;justify-content:flex-start;gap:6px;
    font:inherit;font-size:.7rem;font-weight:650;color:#555d54;text-decoration:none;cursor:pointer;
    transition:border-color .15s ease,background .15s ease,color .15s ease;
  }
  .desktop-toc-tools .desktop-share-btn span{width:20px;height:20px;display:grid;place-items:center;border-radius:6px;font-size:.62rem;font-weight:800;color:#fff}
  .desktop-toc-tools .desktop-share-btn b{font-size:.68rem;font-weight:650;white-space:nowrap}
  .desktop-share-btn.share-vk span{background:#2787f5}
  .desktop-share-btn.share-tg span{background:#2aabee}
  .desktop-share-btn.share-ok span{background:#ee8208}
  .desktop-share-btn.share-copy span{background:#6d756d}
  .desktop-toc-tools .desktop-share-btn:hover{border-color:#cbdcc2;background:#f8fbf6;color:#4e8f2c}
  .desktop-toc-tools .desktop-share-btn.copied{border-color:#abd197;background:#f1faec;color:#4e8f2c}
}

/* Right rail: Popular should look like a real editorial module, not metadata. */
@media (min-width:980px){
  .desktop-sidebar{gap:20px}
  .side-popular{border-top:3px solid #70bd3d;padding:19px 18px 13px;box-shadow:0 7px 22px rgba(28,35,26,.07)}
  .side-title{margin-bottom:13px;font-size:.84rem;letter-spacing:.025em}
  .side-title span{font-size:1.08rem}
  .side-popular a{grid-template-columns:32px minmax(0,1fr);gap:8px;padding:12px 0}
  .side-popular a>span{font-size:1rem;line-height:1.35}
  .side-popular b{font-size:.86rem;line-height:1.46;font-weight:550;color:#343a34}

  /* The old sidebar "Читайте также" module is intentionally removed in v17. */
  .side-related{display:none!important}

  .desktop-ad{height:220px}
}

/* Keep the header comfortable at laptop widths now that it has only five sections. */
@media (min-width:900px) and (max-width:1199px){
  .desktop-header-inner{width:calc(100% - 30px);gap:clamp(12px,1.4vw,18px)}
  .desktop-logo{font-size:1.28rem}
  .desktop-nav{gap:clamp(16px,1.6vw,22px);margin-left:0}
  .desktop-nav a{font-size:.82rem}
  .desktop-search{flex-basis:clamp(158px,16vw,182px)}
}

/* ===== v18 — desktop readability, popular dates, gallery/lightbox polish ===== */

/* A non-full-width screenshot gallery should sit on the reading axis, not hug the left edge. */
.screenshots-two .gallery-two{margin-left:auto;margin-right:auto}
.screenshots-two figcaption{text-align:center}

/* Lightbox: stronger controls and a caption visually attached to the image. */
.media-lightbox-panel{grid-template-rows:auto minmax(0,1fr)}
.media-lightbox-top{height:52px;padding:0 4px}
.media-lightbox-count{font-size:.8125rem;font-weight:600;color:#e2e6e0}
.media-lightbox-close{
  width:48px;height:48px;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.16);
  font-size:2rem;font-weight:400;
  box-shadow:0 5px 18px rgba(0,0,0,.22);
  cursor:pointer;
}
.media-lightbox-close:hover,.media-lightbox-close:focus-visible{background:rgba(255,255,255,.25);outline:none}
.media-lightbox-stage{height:min(72dvh,650px);padding:0 56px;overflow:hidden}
.media-lightbox-content{
  width:100%;max-width:100%;max-height:100%;min-height:0;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;
}
.media-lightbox-visual{width:100%;height:auto;min-height:0;padding:0;flex:0 1 auto}
.media-lightbox-visual .lightbox-demo{max-height:calc(72dvh - 76px)}
.media-lightbox-caption{
  min-height:0;margin:0;padding:0 8px;
  font-size:.9rem;line-height:1.4;font-weight:500;color:#f4f6f3;
  text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.35);
}
.media-lightbox-nav{
  width:48px;height:58px;border-radius:14px;
  background:rgba(255,255,255,.17);
  border:1px solid rgba(255,255,255,.16);
  font-size:2.65rem;font-weight:300;
  box-shadow:0 5px 18px rgba(0,0,0,.2);
  cursor:pointer;
}
.media-lightbox-nav:hover,.media-lightbox-nav:focus-visible{background:rgba(255,255,255,.27);outline:none}
.media-lightbox-nav.prev{left:0}.media-lightbox-nav.next{right:0}

@media (min-width:900px){
  /* Comments: the prior desktop scale was too close to secondary metadata. */
  .article-main .comments{margin-top:44px;padding-top:28px}
  .article-main .comments h2{font-size:1.48rem}
  .article-main .comments-head{margin-bottom:18px}
  .article-main .comments-head button{font-size:.84rem;padding:11px 16px}
  .article-main .comment-item{grid-template-columns:43px minmax(0,1fr);gap:14px;padding:20px 0}
  .article-main .comment-avatar{width:43px;height:43px;font-size:.8rem}
  .article-main .comment-body p{font-size:1rem;line-height:1.62;margin-bottom:8px}
  .article-main .comment-top b{font-size:.92rem}
  .article-main .comment-top time{font-size:.76rem}
  .article-main .comment-reply{font-size:.79rem}
  .article-main .comment-answer{margin-left:46px;grid-template-columns:39px minmax(0,1fr);padding-left:16px}
  .article-main .comment-answer .comment-avatar{width:39px;height:39px}

  .article-main .comment-form{gap:0 16px;margin-top:17px;padding-top:27px}
  .article-main .comment-form h3{font-size:1.16rem;margin-bottom:6px}
  .article-main .comment-form-head p{margin-bottom:17px;font-size:.84rem;line-height:1.45}
  .article-main .comments label{font-size:.86rem}
  .article-main .comments input,.article-main .comments textarea{font-size:1.025rem;line-height:1.5}
  .article-main .comments .comment-form input::placeholder,
  .article-main .comments .comment-form textarea::placeholder{font-size:.9rem;line-height:1.45}
  .article-main .comments .comment-form .check{font-size:.84rem!important}
  .article-main .submit{font-size:.86rem}

  /* Desktop lightbox gets intentionally large, obvious controls. */
  .media-lightbox-top{height:58px}
  .media-lightbox-close{width:52px;height:52px;font-size:2.2rem}
  .media-lightbox-stage{height:min(80dvh,780px);padding:0 76px}
  .media-lightbox-visual .lightbox-demo{max-height:calc(80dvh - 88px)}
  .media-lightbox-nav{width:58px;height:68px;border-radius:16px;font-size:3.2rem}
  .media-lightbox-nav.prev{left:4px}.media-lightbox-nav.next{right:4px}
  .media-lightbox-caption{font-size:1rem;line-height:1.45;font-weight:500}

  /* The two portrait screenshots are deliberately narrower than the article and centered. */
  .article-main .screenshots-two .gallery-two{width:min(100%,520px);margin-left:auto;margin-right:auto}
  .article-main .screenshots-two figcaption{text-align:center}
}

/* Three-column mode: enlarge the left reading navigation rather than treating it as metadata. */
@media (min-width:1200px){
  .desktop-layout{
    grid-template-columns:clamp(190px,15.5vw,225px) minmax(0,760px) clamp(250px,21vw,300px);
    gap:clamp(20px,2vw,36px);
  }
  .desktop-toc-title{font-size:.88rem;margin-bottom:12px;padding:0 11px}
  .desktop-toc-title span{font-size:.95rem}
  .desktop-toc li a{
    grid-template-columns:26px minmax(0,1fr);gap:6px;
    padding:12px 10px;
    font-size:clamp(.88rem,.84rem + .12vw,.94rem);
    line-height:1.47;
    transition:color .15s ease,background-color .15s ease,border-color .15s ease;
  }
  .desktop-toc li a::before{font-size:.82rem;line-height:1.6}
  .desktop-toc li.active a{background:#f2f8ee;border-left-color:#70bd3d;color:#54972f;font-weight:600}
  .desktop-toc li.active a::before{color:#54972f;font-weight:700}
  .desktop-share-title{font-size:.78rem}
  .desktop-toc-tools .desktop-share-btn{font-size:.74rem}
  .desktop-toc-tools .desktop-share-btn b{font-size:.72rem}
}

/* Popular: no top stripe; hierarchy comes from type, numbering and dates. */
@media (min-width:980px){
  .side-popular{
    border-top:1px solid #e8ebe6;
    padding:20px 18px 14px;
    box-shadow:0 7px 22px rgba(28,35,26,.065);
  }
  .side-popular .side-title{justify-content:flex-start;gap:9px;margin-bottom:10px;font-size:.9rem;letter-spacing:.018em}
  .side-popular .popular-icon{
    width:25px;height:25px;display:grid;place-items:center;
    margin-left:2px;border-radius:8px;background:#eff7eb;
    color:#5ca333;font-size:.92rem;line-height:1;font-weight:800;
  }
  .side-popular a{grid-template-columns:34px minmax(0,1fr);gap:9px;padding:13px 0}
  .side-popular a>.popular-num{color:#61aa37;font-size:1rem;font-weight:700;line-height:1.35}
  .side-popular a>.popular-copy{min-width:0;display:flex;flex-direction:column;gap:4px;color:inherit;font-size:inherit;font-weight:inherit;line-height:normal}
  .side-popular .popular-copy b{font-size:.9rem;line-height:1.44;font-weight:600;color:#303630}
  .side-popular .popular-copy time{font-size:.72rem;line-height:1.25;font-weight:500;color:#929990}
  .side-popular a:hover .popular-copy b{color:#579c31}
}

/* ===== v19 — genuinely fluid responsive states + compact desktop masthead ===== */

/* Phone/tablet is no longer a fixed 360px canvas. It grows until the readable column cap. */
@media (max-width:899px){
  body.article-page{background:#fff}
  body.article-page .page{
    width:100%;
    max-width:none;
    margin:0;
    box-shadow:none;
  }
  .article-page .desktop-layout{width:100%;margin:0;padding:0;display:block}
  .article-page .article-main{
    width:100%;
    max-width:820px;
    margin:0 auto;
    padding:clamp(20px,4.5vw,32px) clamp(16px,4.8vw,32px) 0;
  }
  .article-page .header,
  .article-page .nav{
    padding-left:clamp(14px,4vw,28px);
    padding-right:clamp(14px,4vw,28px);
  }
  .article-page .nav{gap:clamp(16px,4.5vw,34px)}
  .article-page .mobile-search{
    width:min(100%,820px);
    padding-left:clamp(12px,3.6vw,24px);
    padding-right:clamp(12px,3.6vw,24px);
  }
  .article-page .visual-network{height:clamp(154px,39vw,285px)}
  .article-page .gallery-two{width:min(100%,520px)}
}

/* Wide phones: use the extra width without turning the page into a tablet layout. */
@media (min-width:480px) and (max-width:679px){
  .article-page .article-main>h1{font-size:clamp(1.58rem,5vw,1.78rem);line-height:1.16}
  .article-page .toc{padding:15px 16px 14px}
  .article-page .toc a{font-size:.9rem}
  .article-page .top-author .avatar{width:36px;height:36px;flex-basis:36px}
  .article-page .related-grid{gap:14px}
  .article-page .thumb{height:clamp(105px,24vw,132px)}
}

/* Tablet / landscape phone: the article widens, selected components use two columns. */
@media (min-width:680px) and (max-width:899px){
  .article-page .article-main{max-width:820px;padding-left:30px;padding-right:30px}
  .article-page .article-main>h1{font-size:clamp(1.82rem,3.8vw,2.08rem);line-height:1.12}
  .article-page .toc{padding:17px 19px}
  .article-page .toc ol{display:grid;grid-template-columns:1fr 1fr;column-gap:30px;padding-left:22px}
  .article-page .toc a{font-size:.91rem;line-height:1.45}
  .article-page .subscribe{grid-template-columns:1fr 1fr;gap:12px}
  .article-page .square-ad{height:clamp(160px,23vw,190px);aspect-ratio:auto}
  .article-page .square-ad .mobile-ad-size{display:none}
  .article-page .square-ad .desktop-ad-size{display:inline}
  .article-page .related-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
  .article-page .thumb{height:105px}
  .article-page .comment-form{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
  .article-page .comment-form-head,
  .article-page .comment-form .field:nth-of-type(3),
  .article-page .comment-form .check,
  .article-page .comment-form .submit{grid-column:1/-1}
  .article-page .comment-form .submit{width:auto;min-width:210px;justify-self:start;padding:0 22px}
}

/* Desktop masthead: one compact group; search appears only on demand. */
@media (min-width:900px){
  html{scroll-padding-top:82px}
  .desktop-header{height:60px}
  .desktop-header-inner{
    position:relative;
    width:min(calc(100% - clamp(28px,3vw,48px)),1280px);
    height:60px;
    gap:clamp(15px,1.4vw,22px);
    justify-content:flex-start;
  }
  .desktop-logo{font-size:clamp(1.28rem,1.35vw,1.43rem)}
  .desktop-nav{
    margin-left:clamp(2px,.5vw,8px);
    gap:clamp(20px,1.9vw,30px);
    flex:0 1 auto;
  }
  .desktop-nav a{font-size:clamp(.82rem,.79rem + .08vw,.88rem)}
  .desktop-actions{
    display:flex;
    align-items:center;
    gap:9px;
    margin-left:clamp(2px,.8vw,12px);
    flex:0 0 auto;
  }
  .desktop-search-toggle{
    width:38px;height:38px;padding:0;border:1px solid #e7eae5;border-radius:50%;
    background:#fff;color:#242a24;display:grid;place-items:center;cursor:pointer;
    transition:background .15s ease,border-color .15s ease,color .15s ease;
  }
  .desktop-search-toggle:hover{background:#f5f8f3;border-color:#d9e3d4;color:#579c31}
  .desktop-search-toggle svg,.desktop-search-panel svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
  .desktop-social{display:none;gap:7px}
  .desktop-social a{width:32px;height:32px}
  .desktop-social img{width:18px;height:18px}

  .desktop-search-panel{
    position:absolute;
    left:clamp(168px,14.5vw,198px);
    right:0;
    top:7px;
    height:46px;
    z-index:4;
    display:grid;
    grid-template-columns:minmax(0,1fr) 46px 40px;
    align-items:center;
    gap:0;
    padding-left:16px;
    border:1px solid #dce5d7;
    border-radius:13px;
    background:#fff;
    box-shadow:0 8px 24px rgba(25,34,24,.11);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-4px) scale(.992);
    transform-origin:right center;
    transition:opacity .14s ease,transform .16s ease,visibility .14s ease;
  }
  .desktop-search-panel.open{opacity:1;visibility:visible;pointer-events:auto;transform:none}
  .desktop-search-panel input{
    min-width:0;width:100%;height:42px;padding:0;border:0;outline:0;background:transparent;
    font:inherit;font-size:.9rem;color:#2e342e;-webkit-appearance:none;appearance:none;
  }
  .desktop-search-panel input::-webkit-search-cancel-button{display:none}
  .desktop-search-panel input::placeholder{color:#939a91}
  .desktop-search-submit{
    width:38px;height:38px;justify-self:center;padding:0;border:0;border-radius:10px;
    background:#70bd3d;color:#fff;display:grid;place-items:center;cursor:pointer;
  }
  .desktop-search-submit:hover{background:#61ab36}
  .desktop-search-close{
    width:34px;height:34px;padding:0;border:0;border-radius:50%;background:transparent;
    color:#737a72;font-size:1.7rem;line-height:1;display:grid;place-items:center;cursor:pointer;
  }
  .desktop-search-close:hover{background:#f1f4ef;color:#333a33}

  .desktop-layout{padding-top:clamp(30px,2.6vw,38px)}
  .desktop-sidebar{top:80px}
}

@media (min-width:1180px){
  .desktop-social{display:flex}
}

/* 900–979: one readable column. */
@media (min-width:900px) and (max-width:979px){
  .desktop-layout{width:min(calc(100% - 48px),820px)!important;display:block!important}
  .desktop-toc,.desktop-sidebar{display:none!important}
  .article-main{width:100%;max-width:780px;margin:0 auto}
  .article-main>.toc{display:block!important}
}

/* 980–1399: article + right rail. The left TOC is intentionally absent at laptop widths. */
@media (min-width:980px) and (max-width:1399px){
  .desktop-layout{
    width:min(calc(100% - clamp(30px,3vw,48px)),1240px)!important;
    display:grid!important;
    grid-template-columns:minmax(0,760px) clamp(245px,21vw,295px)!important;
    gap:clamp(24px,2.5vw,36px)!important;
    justify-content:center!important;
    align-items:start;
  }
  .desktop-toc{display:none!important}
  .article-main>.toc{display:block!important}
  .desktop-sidebar{display:grid!important}
}

/* Wide desktop: only here is there enough room for a dedicated sticky contents rail. */
@media (min-width:1400px){
  .desktop-layout{
    width:min(calc(100% - 40px),1400px)!important;
    display:grid!important;
    grid-template-columns:clamp(200px,14.5vw,225px) minmax(0,760px) clamp(270px,19vw,300px)!important;
    gap:clamp(28px,2.25vw,40px)!important;
    justify-content:center!important;
    align-items:start;
  }
  .desktop-toc{display:block!important;position:sticky;top:80px}
  .article-main>.toc{display:none!important}
  .desktop-sidebar{display:grid!important;top:80px}
}

/* Header squeezing rules: preserve five sections before falling back to mobile at 900px. */
@media (min-width:900px) and (max-width:1179px){
  .desktop-header-inner{width:calc(100% - 28px);gap:12px}
  .desktop-logo{font-size:1.22rem}
  .desktop-nav{gap:clamp(14px,1.5vw,20px);margin-left:0}
  .desktop-nav a{font-size:.79rem}
  .desktop-actions{margin-left:2px}
  .desktop-search-toggle{width:36px;height:36px}
  .desktop-search-panel{left:154px;top:7px}
}

/* ===== v20 — column-aligned desktop masthead, left metadata, rating confirmation, mobile lightbox ===== */

/* Metadata belongs to the reading axis on every width. */
.article-page .meta{justify-content:flex-start}

/* Rating: center the interaction and make a successful vote unmistakable. */








/* Mobile lightbox: images use the screen instead of staying inside the old 430px presentation frame. */
@media (max-width:899px){
  .media-lightbox{padding:0}
  .media-lightbox-panel{
    width:100vw;
    height:100dvh;
    max-height:100dvh;
    padding:max(4px,env(safe-area-inset-top)) max(6px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));
    grid-template-rows:58px minmax(0,1fr);
  }
  .media-lightbox-top{height:58px;padding:3px 8px 0}
  .media-lightbox-count{font-size:.82rem}
  .media-lightbox-close{width:50px;height:50px;font-size:2.2rem}
  .media-lightbox-stage{height:auto;min-height:0;padding:0 4px 8px;overflow:hidden}
  .media-lightbox-content{width:100%;height:100%;max-height:100%;gap:8px;justify-content:center}
  .media-lightbox-visual{width:100%;height:auto;min-height:0;padding:0;overflow:visible}
  .media-lightbox-visual .lightbox-demo{max-width:96vw;max-height:78dvh;border-radius:12px}
  .media-lightbox-visual .visual-screen{
    width:min(90vw,380px);
    height:min(78dvh,720px);
    min-height:0;
  }
  .media-lightbox-visual .visual-network{width:94vw;height:min(56vw,340px)}
  .media-lightbox-visual .visual-device{width:94vw;height:min(75vw,430px)}
  .media-lightbox-caption{
    max-width:94vw;
    padding:2px 10px 0;
    font-size:.94rem;
    line-height:1.4;
    font-weight:600;
  }
  .media-lightbox-nav{
    width:48px;
    height:64px;
    border-radius:14px;
    font-size:2.9rem;
    background:rgba(12,15,12,.42);
    border-color:rgba(255,255,255,.22);
    z-index:3;
  }
  .media-lightbox-nav.prev{left:7px}
  .media-lightbox-nav.next{right:7px}
}

/* Desktop masthead mirrors the editorial columns: brand / sections / actions. */
@media (min-width:900px){
  .desktop-header-inner{
    width:min(calc(100% - clamp(28px,3vw,48px)),1400px);
    display:grid;
    grid-template-columns:clamp(150px,13vw,190px) minmax(0,1fr) clamp(160px,16vw,220px);
    column-gap:clamp(16px,2vw,28px);
    align-items:center;
  }
  .desktop-logo{grid-column:1;justify-self:start}
  .desktop-nav{
    grid-column:2;
    justify-self:stretch;
    justify-content:center;
    margin:0;
    gap:clamp(18px,2vw,30px);
  }
  .desktop-actions{
    grid-column:3;
    justify-self:end;
    margin:0;
    gap:8px;
  }
  .desktop-social{display:flex;align-items:center;gap:7px}
  .desktop-search-panel{
    left:calc(clamp(150px,13vw,190px) + clamp(16px,2vw,28px));
    right:0;
  }
}

/* On wide desktop the masthead columns line up with TOC / article / sidebar. */
@media (min-width:1400px){
  .desktop-header-inner{
    width:min(calc(100% - 40px),1400px);
    grid-template-columns:clamp(200px,14.5vw,225px) minmax(0,760px) clamp(270px,19vw,300px);
    column-gap:clamp(28px,2.25vw,40px);
  }
  .desktop-search-panel{
    left:calc(clamp(200px,14.5vw,225px) + clamp(28px,2.25vw,40px));
  }
}

/* The old squeezing overrides are superseded by the three-zone masthead. */
@media (min-width:900px) and (max-width:1179px){
  .desktop-header-inner{
    width:calc(100% - 28px);
    grid-template-columns:145px minmax(0,1fr) 158px;
    column-gap:12px;
  }
  .desktop-logo{font-size:1.22rem}
  .desktop-nav{gap:clamp(13px,1.55vw,19px)}
  .desktop-nav a{font-size:.79rem}
  .desktop-actions{margin:0}
  .desktop-social{gap:5px}
  .desktop-social a{width:29px;height:29px}
  .desktop-search-toggle{width:35px;height:35px}
  .desktop-search-panel{left:157px;top:7px}
}

/* v20 small finishing adjustments */

@media (min-width:1400px){.desktop-header-inner{justify-content:center}}

/* ===== v21 — slightly larger footer and clearer desktop masthead controls ===== */
/* Footer: increase everything except the final legal/copyright row. */
.footer-brand{font-size:1.125rem}
.footer-links a{font-size:.8125rem;line-height:1.35}
.footer-social{gap:10px}
.footer-social a{gap:9px}
.footer-social .fs-icon{width:30px;height:30px;flex-basis:30px}
.footer-social .fs-icon img{width:19px;height:19px}
.footer-social b{font-size:.8125rem;line-height:1.2}
.footer-social small{font-size:.75rem;line-height:1.25}
/* Deliberately keep .footer-bottom and .footer-legal at their v20 sizes. */

@media (min-width:900px){
  .desktop-nav a{
    font-size:clamp(.9rem,.875rem + .08vw,.96rem);
    font-weight:550;
  }
  .desktop-nav a.active{font-weight:700}

  .desktop-search-toggle{width:42px;height:42px;border-color:#dfe4dc}
  .desktop-search-toggle svg,.desktop-search-panel svg{width:22px;height:22px;stroke-width:2}

  .desktop-social{gap:8px}
  .desktop-social a{width:34px;height:34px}
  .desktop-social img{width:20px;height:20px}

  .article-page .footer-brand{font-size:1.25rem}
  .article-page .footer-links a{font-size:.86rem}
  .article-page .footer-social{gap:20px}
  .article-page .footer-social a{min-width:122px;gap:10px}
  .article-page .footer-social .fs-icon{width:32px;height:32px;flex-basis:32px}
  .article-page .footer-social .fs-icon img{width:20px;height:20px}
  .article-page .footer-social b{font-size:.85rem}
  .article-page .footer-social small{font-size:.73rem}
}

@media (min-width:900px) and (max-width:1179px){
  .desktop-nav{gap:clamp(12px,1.35vw,17px)}
  .desktop-nav a{font-size:.875rem}
  .desktop-search-toggle{width:40px;height:40px}
  .desktop-search-toggle svg{width:21px;height:21px}
  .desktop-social{gap:5px}
  .desktop-social a{width:31px;height:31px}
  .desktop-social img{width:19px;height:19px}
}

/* ===== v22 — compact desktop search popover ===== */
@media (min-width:900px){
  .desktop-search-panel{
    left:auto!important;
    right:0!important;
    top:8px!important;
    width:clamp(300px,27vw,350px);
    height:44px;
    grid-template-columns:minmax(0,1fr) 40px 34px;
    padding-left:14px;
    border-radius:12px;
    box-shadow:0 7px 20px rgba(25,34,24,.10);
    transform:translateY(-2px) scale(.985);
    transform-origin:right center;
  }
  .desktop-search-panel input{
    height:40px;
    font-size:.85rem;
  }
  .desktop-search-submit{
    width:34px;
    height:34px;
    border-radius:9px;
  }
  .desktop-search-panel .desktop-search-submit svg{
    width:18px;
    height:18px;
  }
  .desktop-search-close{
    width:30px;
    height:30px;
    font-size:1.45rem;
  }
}

@media (min-width:900px) and (max-width:1179px){
  .desktop-search-panel{
    width:286px;
    right:0!important;
    top:9px!important;
  }
}

@media (min-width:1400px){
  .desktop-search-panel{
    width:340px;
    right:0!important;
  }
}

/* ===== v23 — clearer article rating + larger related titles ===== */















.related-card b{
  font-size:.875rem;
  line-height:1.4;
  font-weight:600;
}

@media (min-width:680px){
  
  
  
  
  
  .related-card b{font-size:.92rem}
}

@media (min-width:900px){
  
  
  
  
  
  
  
  
  .article-main .related-card b{font-size:.96rem;line-height:1.42;font-weight:600}
}

@media (min-width:1400px){
  .article-main .related-card b{font-size:.98rem}
}

/* ===== v24 — always-open compact desktop search + inviting zero-vote rating ===== */
@media (min-width:900px){
  /* Keep the three-column masthead, but reserve enough room for search + social icons. */
  .desktop-header-inner{
    grid-template-columns:clamp(145px,12vw,190px) minmax(0,1fr) clamp(250px,25vw,310px);
  }
  .desktop-actions{
    width:100%;
    justify-content:flex-end;
    gap:8px;
  }
  .desktop-search-inline{
    width:clamp(126px,12vw,168px);
    height:38px;
    display:grid;
    grid-template-columns:minmax(0,1fr) 36px;
    align-items:center;
    overflow:hidden;
    border:1px solid #e0e5de;
    border-radius:11px;
    background:#f7f9f6;
    transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;
  }
  .desktop-search-inline:focus-within{
    border-color:#b9d8a7;
    background:#fff;
    box-shadow:0 0 0 3px rgba(112,189,61,.09);
  }
  .desktop-search-inline input{
    width:100%;
    min-width:0;
    height:36px;
    padding:0 7px 0 12px;
    border:0;
    outline:0;
    background:transparent;
    color:#2b312b;
    font:inherit;
    font-size:.82rem;
    -webkit-appearance:none;
    appearance:none;
  }
  .desktop-search-inline input::-webkit-search-cancel-button{display:none}
  .desktop-search-inline input::placeholder{color:#949b92;opacity:1}
  .desktop-search-inline button{
    width:32px;
    height:32px;
    padding:0;
    border:0;
    border-radius:9px;
    background:#70bd3d;
    color:#fff;
    display:grid;
    place-items:center;
    cursor:pointer;
    transition:background .15s ease,transform .08s ease;
  }
  .desktop-search-inline button:hover{background:#62ac37}
  .desktop-search-inline button:active{transform:scale(.96)}
  .desktop-search-inline svg{
    width:17px;
    height:17px;
    fill:none;
    stroke:currentColor;
    stroke-width:2.1;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  /* Old expandable search controls are no longer part of the desktop UI. */
  .desktop-search-toggle,.desktop-search-panel{display:none!important}
}

@media (min-width:900px) and (max-width:1179px){
  .desktop-header-inner{
    grid-template-columns:140px minmax(0,1fr) 246px;
    column-gap:10px;
  }
  .desktop-nav{gap:clamp(10px,1.25vw,15px)}
  .desktop-nav a{font-size:.85rem}
  .desktop-search-inline{width:126px}
  .desktop-social{gap:4px}
  .desktop-social a{width:30px;height:30px}
  .desktop-social img{width:18px;height:18px}
}

@media (min-width:1400px){
  .desktop-header-inner{
    grid-template-columns:clamp(200px,14.5vw,225px) minmax(0,760px) clamp(270px,19vw,310px);
  }
  .desktop-search-inline{width:156px}
}

/* Zero-vote state: turn the empty block into a small invitation rather than missing data. */







@media (min-width:680px){
  
  
  
  
}

@media (min-width:900px){
  
  
  
  
}


/* ===== v25 — slightly wider desktop search, clean image thumbnails ===== */
/* Enlargement remains available on click/tap; thumbnails no longer carry a black arrow badge. */
.media-zoom{display:none!important}
.gallery-item::after{display:none!important}

@media (min-width:900px){
  .desktop-header-inner{
    grid-template-columns:clamp(145px,12vw,190px) minmax(0,1fr) clamp(270px,26vw,340px);
  }
  .desktop-search-inline{width:clamp(150px,14vw,195px)}
}

@media (min-width:900px) and (max-width:1179px){
  .desktop-header-inner{grid-template-columns:140px minmax(0,1fr) 270px}
  .desktop-search-inline{width:150px}
}

@media (min-width:1400px){
  .desktop-header-inner{
    grid-template-columns:clamp(200px,14.5vw,225px) minmax(0,760px) clamp(305px,20vw,340px);
  }
  .desktop-search-inline{width:185px}
}

/* ===== v26 — authoritative author profile ===== */
.author-page{background:#eef0ed}
.author-page .page{min-height:100vh}
.author-profile{padding:24px 16px 0}
.author-breadcrumb{display:flex;align-items:center;gap:7px;margin:0 0 18px;color:#8b9189;font-size:.72rem;line-height:1.3}
.author-breadcrumb a{color:#667064;text-decoration:none}.author-breadcrumb a:hover{color:#5c9e35}
.author-hero{position:relative;padding:18px 0 21px;border-bottom:1px solid #e7ebe5}
.author-portrait{width:88px;height:88px;border-radius:50%;background:#dfe4dc center/cover no-repeat url("https://i.pravatar.cc/320?img=12");box-shadow:0 0 0 4px #f1f6ed,0 0 0 5px #d9e8d1;margin-bottom:17px}
.author-role{margin-bottom:6px;color:#69ab40;font-size:.72rem;line-height:1.3;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.author-hero h1{display:flex;align-items:center;gap:8px;margin:0 0 9px;font-size:1.58rem;line-height:1.12;letter-spacing:-.03em}
.author-verified{position:relative;display:inline-grid;place-items:center;flex:0 0 18px;width:18px;height:18px;border-radius:50%;background:#70bd3d;color:#fff;font-size:.67rem;line-height:1;cursor:help;outline:0}
.author-verified-tip{position:absolute;left:50%;bottom:calc(100% + 9px);z-index:4;width:max-content;max-width:230px;padding:7px 9px;border-radius:7px;background:#20251f;color:#fff;font-size:.68rem;line-height:1.35;font-weight:500;letter-spacing:0;opacity:0;pointer-events:none;transform:translate(-50%,4px);transition:.15s}
.author-verified:hover .author-verified-tip,.author-verified:focus .author-verified-tip{opacity:1;transform:translate(-50%,0)}
.author-short{margin:0!important;max-width:650px;color:#4e554d!important;font-size:.96rem!important;line-height:1.55!important}
.author-expertise{display:flex;flex-wrap:wrap;gap:6px;margin-top:13px}.author-expertise span{padding:5px 8px;border-radius:999px;background:#f1f6ee;color:#568f35;font-size:.69rem;line-height:1.15;font-weight:600}
.author-stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:20px;border:1px solid #e1e6df;border-radius:12px;overflow:hidden;background:#fff}
.author-stats>div{min-width:0;padding:13px 8px;text-align:center}.author-stats>div+div{border-left:1px solid #e6eae4}.author-stats strong{display:block;color:#252b24;font-size:.92rem;line-height:1.1}.author-stats span{display:block;margin-top:4px;color:#7f877d;font-size:.62rem;line-height:1.3}
.author-columns{display:block;padding-top:26px}
.author-section{margin-bottom:28px}.author-section-kicker{margin-bottom:4px;color:#70bd3d;font-size:.68rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.author-section h2,.author-publications h2{margin:0 0 12px;font-size:1.15rem;line-height:1.22;letter-spacing:-.018em}
.author-about p{margin:0 0 12px!important;color:#4d554b!important;font-size:.94rem!important;line-height:1.62!important}.author-about p:last-child{margin-bottom:0!important}
.author-contact-list{display:grid;gap:8px}.author-contact{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr) 18px;align-items:center;gap:10px;padding:10px 11px;border:1px solid #e2e7df;border-radius:10px;background:#fff;text-decoration:none;transition:.15s}.author-contact:active{background:#f7faf5}.author-contact-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:9px;background:#f2f4f1;color:#283027;font-size:.7rem;font-style:normal;font-weight:800}.author-contact.tg .author-contact-icon{background:#ebf7fb;color:#229ed9;font-size:1rem}.author-contact.vk .author-contact-icon{background:#edf4fc;color:#2787f5}.author-contact.ig .author-contact-icon{background:#f7f0f4;color:#ac4273}.instagram-mark{position:relative}.instagram-mark::before{content:"";width:15px;height:15px;border:2px solid currentColor;border-radius:5px}.instagram-mark::after{content:"";position:absolute;width:4px;height:4px;border:2px solid currentColor;border-radius:50%}.author-contact b{display:block;font-size:.83rem;line-height:1.2}.author-contact small{display:block;margin-top:3px;color:#868d84;font-size:.68rem;line-height:1.2}.author-contact>i{color:#a3aaa0;font-size:.9rem;font-style:normal}.instagram-warning{position:relative;margin-left:2px;color:#7b8279;font-size:.62em;cursor:help}.instagram-tooltip{position:absolute;left:0;right:0;bottom:calc(100% + 8px);z-index:5;padding:9px 10px;border-radius:8px;background:#20251f;color:#fff;font-size:.68rem;line-height:1.42;box-shadow:0 6px 20px rgba(0,0,0,.15);opacity:0;pointer-events:none;transform:translateY(4px);transition:.15s}.author-contact.ig:hover .instagram-tooltip,.author-contact.ig:focus-within .instagram-tooltip{opacity:1;transform:translateY(0)}
.author-platform-list{display:grid;gap:7px}.author-platform-list>a{display:grid;grid-template-columns:34px minmax(0,1fr) 18px;align-items:center;gap:9px;padding:9px 10px;border-bottom:1px solid #edf0eb;text-decoration:none}.author-platform-list>a:first-child{border-top:1px solid #edf0eb}.platform-logo{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;background:#f1f3ef;color:#273026;font-size:.64rem;font-weight:800}.platform-zen{background:#181818;color:#fff}.platform-mail{background:#eef4ff;color:#196ee6}.platform-ixbt{background:#fff1e9;color:#e75d16}.platform-habr{background:#eef3f5;color:#4c6b7a}.platform-dns{background:#fff4e8;color:#ef7b00;font-size:.52rem}.author-platform-list b{display:block;font-size:.8rem}.author-platform-list small{display:block;margin-top:2px;color:#8a9188;font-size:.66rem}.author-platform-list i{font-style:normal;color:#a4aaa2}
.author-publications{padding-top:1px}.author-publications-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:6px}.author-publications-head h2{margin-bottom:0}.author-publications-count{color:#8a9188;font-size:.68rem;white-space:nowrap}
.author-publication-grid{display:grid}.author-publication{display:grid;grid-template-columns:82px minmax(0,1fr) 18px;align-items:center;gap:11px;padding:12px 0;border-bottom:1px solid #e9ede7;text-decoration:none}.author-publication:first-child{border-top:1px solid #e9ede7}.author-pub-thumb{position:relative;width:82px;aspect-ratio:1.45/1;border-radius:9px;overflow:hidden;background:#dce2da}.author-pub-thumb::before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(16,25,15,.16))}.author-pub-thumb i{position:absolute;left:50%;top:50%;width:24px;height:40px;border:3px solid rgba(255,255,255,.86);border-radius:6px;transform:translate(-50%,-50%) rotate(-8deg);box-shadow:0 4px 12px rgba(0,0,0,.18)}.author-pub-thumb i::after{content:"";position:absolute;left:50%;bottom:3px;width:7px;height:2px;border-radius:2px;background:rgba(255,255,255,.85);transform:translateX(-50%)}
.pub-phone{background:linear-gradient(135deg,#44534b,#b2bcb4)}.pub-sms{background:linear-gradient(135deg,#2d5860,#8fb5b9)}.pub-call{background:linear-gradient(135deg,#423e39,#b39b7f)}.pub-volte{background:linear-gradient(135deg,#395467,#8ca9b8)}.pub-folder{background:linear-gradient(135deg,#536642,#b2c69b)}.pub-battery{background:linear-gradient(135deg,#51595a,#b4c6be)}.pub-spam{background:linear-gradient(135deg,#6c4a45,#c3a199)}.pub-sim{background:linear-gradient(135deg,#3f4b60,#a0afc7)}.pub-memory{background:linear-gradient(135deg,#4c5a45,#b1c2a5)}.pub-power{background:linear-gradient(135deg,#565242,#c5bb8f)}
.author-pub-copy{min-width:0}.author-pub-copy b{display:block;color:#262c25;font-size:.83rem;line-height:1.35;font-weight:650}.author-pub-copy small{display:block;margin-top:5px;color:#929890;font-size:.65rem;line-height:1.3}.author-pub-arrow{color:#8d958b;font-size:1rem}
.author-all-publications{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin:18px 0 32px;padding:12px 14px;border:1px solid #dce5d7;border-radius:10px;background:#f5faf2;color:#579a32;text-decoration:none;font-size:.84rem;font-weight:700}.author-all-publications span{font-size:1rem}

@media (min-width:480px) and (max-width:899px){
  .author-profile{width:min(100% - 40px,820px);margin:0 auto;padding-left:0;padding-right:0}
  .author-hero{display:grid;grid-template-columns:105px minmax(0,1fr);gap:20px;align-items:start}
  .author-portrait{width:100px;height:100px;margin:2px 0 0}
  .author-stats{grid-column:1/-1;margin-top:4px}
  .author-contact-list{grid-template-columns:repeat(3,1fr)}
  .author-contact{grid-template-columns:36px minmax(0,1fr);gap:8px;padding:10px}.author-contact>i{display:none}.author-contact small{font-size:.62rem}
  .author-platform-list{grid-template-columns:1fr 1fr}.author-platform-list>a:nth-child(2){border-top:1px solid #edf0eb}
  .author-publication-grid{grid-template-columns:1fr 1fr;gap:0 20px}.author-publication:nth-child(2){border-top:1px solid #e9ede7}
}

@media (min-width:900px){
  .author-page .page{width:100%;max-width:none;box-shadow:none;background:#fff}
  .author-page .header,.author-page .nav,.author-page .mobile-search,.author-page .search-backdrop{display:none!important}
  .author-profile{width:min(calc(100% - 64px),1180px);margin:0 auto;padding:38px 0 0}
  .author-breadcrumb{margin-bottom:24px;font-size:.78rem}
  .author-hero{display:grid;grid-template-columns:128px minmax(0,1fr) 370px;gap:26px;align-items:center;padding:8px 0 30px}
  .author-portrait{width:120px;height:120px;margin:0;box-shadow:0 0 0 5px #f1f6ed,0 0 0 6px #d9e8d1}
  .author-role{font-size:.75rem;margin-bottom:7px}.author-hero h1{font-size:clamp(1.95rem,2.3vw,2.45rem);margin-bottom:10px}.author-verified{width:21px;height:21px;flex-basis:21px;font-size:.76rem}.author-short{font-size:1.01rem!important;line-height:1.58!important;max-width:660px}
  .author-expertise{margin-top:15px;gap:7px}.author-expertise span{font-size:.73rem;padding:6px 9px}
  .author-stats{margin:0;align-self:stretch}.author-stats>div{display:flex;flex-direction:column;justify-content:center;padding:14px 11px}.author-stats strong{font-size:1.08rem}.author-stats span{font-size:.7rem;line-height:1.35}
  .author-columns{display:grid;grid-template-columns:minmax(280px,330px) minmax(0,1fr);gap:clamp(42px,5vw,70px);padding-top:36px}
  .author-sidebar{align-self:start}.author-section{margin-bottom:36px}.author-section h2,.author-publications h2{font-size:1.38rem}.author-section-kicker{font-size:.72rem}
  .author-about p{font-size:.98rem!important;line-height:1.68!important}.author-contact-list{gap:9px}.author-contact{padding:11px 12px}.author-contact:hover{border-color:#cfdac9;background:#fafcf9;transform:translateY(-1px)}.author-contact b{font-size:.86rem}.author-contact small{font-size:.7rem}
  .author-platform-list>a{padding:10px 9px}.author-platform-list>a:hover{background:#fafcf9}.author-platform-list b{font-size:.84rem}.author-platform-list small{font-size:.68rem}
  .author-publications-head{margin-bottom:9px}.author-publications-count{font-size:.74rem}
  .author-publication-grid{grid-template-columns:1fr 1fr;gap:0 24px}.author-publication:nth-child(2){border-top:1px solid #e9ede7}.author-publication{grid-template-columns:108px minmax(0,1fr) 20px;gap:13px;padding:15px 0}.author-pub-thumb{width:108px;border-radius:10px}.author-pub-copy b{font-size:.91rem;line-height:1.38}.author-pub-copy small{font-size:.71rem;margin-top:6px}.author-pub-arrow{font-size:1.12rem}.author-publication:hover .author-pub-copy b{color:#579a32}.author-publication:hover .author-pub-arrow{color:#579a32;transform:translateX(2px)}
  .author-all-publications{width:max-content;min-width:230px;margin:24px auto 42px;padding:13px 20px;font-size:.88rem}.author-all-publications:hover{background:#edf7e8;border-color:#cddfc5}
  .author-page footer{margin-top:10px}
}

@media (min-width:1200px){
  .author-profile{width:min(calc(100% - 80px),1240px)}
  .author-hero{grid-template-columns:140px minmax(0,1fr) 390px;gap:30px}.author-portrait{width:128px;height:128px}
  .author-columns{grid-template-columns:340px minmax(0,1fr);gap:72px}
}

@media (max-width:359px){
  .author-profile{padding-left:14px;padding-right:14px}.author-hero h1{font-size:1.43rem}.author-stats span{font-size:.57rem}.author-pub-copy b{font-size:.78rem}.author-publication{grid-template-columns:72px minmax(0,1fr) 14px;gap:9px}.author-pub-thumb{width:72px}
}

/* Author profile uses the same genuinely fluid mobile/tablet canvas as the final article template. */
@media (max-width:899px){
  body.author-page{background:#fff}
  body.author-page .page{width:100%;max-width:none;margin:0;box-shadow:none}
  .author-page .header,.author-page .nav{padding-left:clamp(14px,4vw,28px);padding-right:clamp(14px,4vw,28px)}
  .author-page .nav{gap:clamp(16px,4.5vw,34px)}
  .author-page .mobile-search{width:min(100%,820px);padding-left:clamp(12px,3.6vw,24px);padding-right:clamp(12px,3.6vw,24px)}
  .author-profile{width:100%;max-width:820px;margin:0 auto;padding-left:clamp(16px,4.8vw,32px);padding-right:clamp(16px,4.8vw,32px)}
}

/* ===== v27 — author profile hierarchy and publication feed ===== */
.author-quick-contacts{margin-top:18px}
.author-quick-label{display:block;margin-bottom:8px;color:#697168;font-size:.72rem;font-weight:650;line-height:1.2}
.author-quick-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;max-width:470px}
.author-quick-link{position:relative;min-width:0;display:flex;align-items:center;gap:7px;padding:8px 9px;border:1px solid #e0e5de;border-radius:10px;background:#fff;color:#343b33;text-decoration:none;font-size:.72rem;font-weight:650;line-height:1.15;transition:border-color .15s,background .15s,transform .15s}
.author-quick-link .quick-icon{width:27px;height:27px;flex:0 0 27px;display:grid;place-items:center;border-radius:7px;background:#f2f4f1;font-size:.58rem;font-weight:800}
.author-quick-link .quick-icon svg{width:16px;height:16px;display:block}
.author-quick-link.vk .quick-icon{background:#edf4fc;color:#2787f5}
.author-quick-link.tg .quick-icon{background:#eaf7fc;color:#229ed9}
.author-quick-link.ig .quick-icon{background:#f7eef3;color:#a94575}
.author-quick-link .instagram-mark::before{display:block;width:13px;height:13px;border-width:1.8px;border-radius:4px}
.author-quick-link .instagram-mark::after{width:3px;height:3px;border-width:1.7px}
.author-quick-link .instagram-warning{font-size:.72em}
.author-quick-link .instagram-tooltip{left:auto;right:0;width:min(330px,80vw);bottom:calc(100% + 9px);font-size:.7rem}
.author-quick-link.ig:hover .instagram-tooltip,.author-quick-link.ig:focus-within .instagram-tooltip{opacity:1;transform:translateY(0)}

.author-platforms-featured{padding:26px 0 30px;border-bottom:1px solid #e7ebe5}
.author-platforms-head{display:flex;flex-direction:column;gap:6px;margin-bottom:15px}
.author-platforms-head h2{margin:0;font-size:1.28rem;line-height:1.2;letter-spacing:-.02em}
.author-platforms-head p{margin:0;color:#737b71;font-size:.82rem;line-height:1.45}
.author-platform-cards{display:grid;grid-template-columns:1fr;gap:8px}
.author-platform-card{display:grid;grid-template-columns:46px minmax(0,1fr) 22px;align-items:center;gap:11px;min-height:64px;padding:9px 12px;border:1px solid #e0e5de;border-radius:11px;background:#fff;text-decoration:none;transition:border-color .15s,background .15s,transform .15s,box-shadow .15s}
.author-platform-card .platform-logo{width:44px;height:44px;border-radius:10px;font-size:.74rem}
.author-platform-card .platform-dns{font-size:.61rem}
.platform-card-copy{min-width:0}
.platform-card-copy b{display:block;color:#252b24;font-size:.92rem;line-height:1.2}
.platform-card-copy small{display:block;margin-top:4px;color:#848c82;font-size:.72rem;line-height:1.2}
.author-platform-card>i{color:#8e968c;font-size:1.04rem;font-style:normal}

.author-columns{padding-top:30px}
.author-publications-head{margin-bottom:11px}
.author-publications-count{font-size:.74rem}
.author-publication-grid{display:grid!important;grid-template-columns:1fr!important;gap:0!important}
.author-publication,.author-publication:nth-child(2){grid-template-columns:112px minmax(0,1fr) 18px!important;gap:12px!important;padding:14px 0!important;border-top:0!important;border-bottom:1px solid #e8ece6!important}
.author-publication:first-child{border-top:1px solid #e8ece6!important}
.author-pub-thumb{display:block!important;width:112px!important;aspect-ratio:1.6/1!important;height:auto!important;object-fit:cover;border-radius:10px!important;background:#e5e9e3!important;box-shadow:0 2px 8px rgba(22,31,20,.06)}
.author-pub-thumb::before,.author-pub-thumb i{display:none!important}
.author-pub-copy b{font-size:.88rem!important;line-height:1.38!important;font-weight:650}
.author-pub-copy small{font-size:.69rem!important;line-height:1.3!important;margin-top:6px!important}
.author-pub-arrow{font-size:1.05rem!important}

@media (max-width:359px){
  .author-quick-link{padding:7px 6px;gap:5px;font-size:.65rem}
  .author-quick-link .quick-icon{width:24px;height:24px;flex-basis:24px}
  .author-publication,.author-publication:nth-child(2){grid-template-columns:96px minmax(0,1fr) 14px!important;gap:9px!important}
  .author-pub-thumb{width:96px!important}
}

@media (min-width:480px) and (max-width:899px){
  .author-quick-links{max-width:520px;gap:9px}
  .author-quick-link{padding:9px 11px;font-size:.76rem}
  .author-platform-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .author-publication-grid{grid-template-columns:1fr!important;gap:0!important}
  .author-publication,.author-publication:nth-child(2){grid-template-columns:138px minmax(0,1fr) 20px!important;gap:15px!important;padding:16px 0!important}
  .author-pub-thumb{width:138px!important}
  .author-pub-copy b{font-size:.94rem!important}
  .author-pub-copy small{font-size:.72rem!important}
}

@media (min-width:900px){
  .author-hero{grid-template-columns:128px minmax(0,1fr) 370px}
  .author-quick-contacts{margin-top:20px}
  .author-quick-label{font-size:.76rem;margin-bottom:9px}
  .author-quick-links{max-width:545px;gap:9px}
  .author-quick-link{padding:9px 11px;font-size:.78rem}
  .author-quick-link:hover{border-color:#cdd9c7;background:#fafcf9;transform:translateY(-1px)}
  .author-quick-link .quick-icon{width:30px;height:30px;flex-basis:30px}

  .author-platforms-featured{padding:32px 0 36px}
  .author-platforms-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,420px);align-items:end;gap:30px;margin-bottom:18px}
  .author-platforms-head h2{font-size:1.5rem}
  .author-platforms-head p{font-size:.88rem;text-align:right}
  .author-platform-cards{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
  .author-platform-card{grid-template-columns:48px minmax(0,1fr) 18px;gap:10px;min-height:76px;padding:11px 12px}
  .author-platform-card .platform-logo{width:46px;height:46px}
  .platform-card-copy b{font-size:.94rem}
  .platform-card-copy small{font-size:.7rem;line-height:1.25}
  .author-platform-card:hover{border-color:#cfdac9;background:#fafcf9;box-shadow:0 5px 16px rgba(28,39,25,.05);transform:translateY(-2px)}

  .author-columns{grid-template-columns:minmax(280px,330px) minmax(0,1fr)!important;gap:clamp(46px,5.2vw,76px)!important;padding-top:40px!important}
  .author-sidebar{position:sticky;top:86px}
  .author-publications-head{margin-bottom:12px}
  .author-publications-count{font-size:.78rem}
  .author-publication-grid{grid-template-columns:1fr!important;gap:0!important}
  .author-publication,.author-publication:nth-child(2){grid-template-columns:168px minmax(0,1fr) 22px!important;gap:18px!important;padding:18px 0!important}
  .author-pub-thumb{width:168px!important;border-radius:12px!important}
  .author-pub-copy b{font-size:1rem!important;line-height:1.4!important}
  .author-pub-copy small{font-size:.75rem!important;margin-top:7px!important}
  .author-pub-arrow{font-size:1.18rem!important}
}

@media (min-width:1200px){
  .author-hero{grid-template-columns:140px minmax(0,1fr) 390px}
  .author-platform-card{min-height:80px}
  .author-publication,.author-publication:nth-child(2){grid-template-columns:188px minmax(0,1fr) 24px!important;gap:20px!important;padding:19px 0!important}
  .author-pub-thumb{width:188px!important}
  .author-pub-copy b{font-size:1.04rem!important}
}

/* ===== v28 — refined author page ===== */

/* Personal contacts: compact, calm, but clearly actionable. */
.author-quick-contacts{margin-top:20px}
.author-quick-label{
  margin-bottom:9px;
  color:#2b302a;
  font-size:.82rem;
  font-weight:700;
  line-height:1.2;
}
.author-quick-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:620px}
.author-quick-link{
  position:relative;
  min-width:0;
  display:flex;
  align-items:center;
  gap:9px;
  min-height:58px;
  padding:9px 10px;
  border:0;
  border-radius:13px;
  background:#f6f8f5;
  color:#2b312a;
  text-decoration:none;
  box-shadow:inset 0 0 0 1px #e8ece6;
  transition:background .15s,box-shadow .15s,transform .15s;
}
.author-quick-link .quick-icon{
  width:34px;height:34px;flex:0 0 34px;
  display:grid;place-items:center;
  border-radius:10px;
  background:#fff;
  box-shadow:0 2px 8px rgba(28,36,25,.06);
  font-size:.63rem;font-weight:800;
}
.author-quick-link .quick-icon svg{width:18px;height:18px;display:block}
.author-quick-link.vk .quick-icon{background:#2787f5;color:#fff}
.author-quick-link.tg .quick-icon{background:#229ed9;color:#fff}
.author-quick-link.ig .quick-icon{background:linear-gradient(145deg,#8a3ab9,#e95950);color:#fff}
.author-quick-link .instagram-mark::before{display:block;width:14px;height:14px;border-width:1.8px;border-radius:4px}
.author-quick-link .instagram-mark::after{width:3px;height:3px;border-width:1.6px}
.quick-copy{display:block;min-width:0}
.quick-copy b{display:block;font-size:.79rem;line-height:1.15;font-weight:700;white-space:nowrap}
.quick-copy small{display:block;margin-top:3px;color:#858c83;font-size:.64rem;line-height:1.15;white-space:nowrap}
.quick-arrow{margin-left:auto;color:#9aa198;font-size:.86rem;line-height:1}
.author-quick-link .instagram-warning{font-size:.7em;color:inherit}
.author-quick-link .instagram-tooltip{left:auto;right:0;width:min(350px,82vw);bottom:calc(100% + 10px);font-size:.7rem}

/* External platforms: one clear heading and large, readable destinations. */
.author-platforms-featured{padding:29px 0 32px;border-bottom:1px solid #e7ebe5}
.author-platforms-featured>h2{margin:0 0 15px;font-size:1.28rem;line-height:1.2;letter-spacing:-.02em}
.author-platform-cards{display:grid;grid-template-columns:1fr;gap:8px}
.author-platform-card{
  display:grid;
  grid-template-columns:48px minmax(0,1fr) 30px;
  align-items:center;
  gap:11px;
  min-height:68px;
  padding:10px 12px;
  border:0;
  border-radius:13px;
  background:#f7f8f6;
  box-shadow:inset 0 0 0 1px #e8ebe6;
  text-decoration:none;
  transition:background .15s,box-shadow .15s,transform .15s;
}
.author-platform-card .platform-logo{width:44px;height:44px;border-radius:11px;font-size:.74rem;box-shadow:0 2px 8px rgba(28,36,25,.05)}
.author-platform-card .platform-dns{font-size:.6rem}
.platform-card-copy b{display:block;color:#252b24;font-size:.93rem;line-height:1.2;font-weight:700}
.author-platform-card>i{
  width:28px;height:28px;display:grid;place-items:center;
  border-radius:50%;background:#fff;color:#7f877d;
  box-shadow:0 1px 4px rgba(25,34,23,.06);
  font-size:.92rem;font-style:normal;
}

/* About + publications are equal editorial columns on desktop. */
.author-columns{padding-top:32px}
.author-sidebar{position:static!important;align-self:start}
.author-section h2,.author-publications h2{font-size:1.2rem;margin:0 0 14px}
.author-about p{font-size:.95rem!important;line-height:1.66!important;margin-bottom:14px!important}
.author-publications-head{align-items:center;margin-bottom:9px}
.author-publications-count{display:none!important}
.author-publication-grid{grid-template-columns:1fr!important;gap:0!important}

/* Keep publication cards large but balanced inside the 50/50 column. */
.author-publication,.author-publication:nth-child(2){
  grid-template-columns:112px minmax(0,1fr) 18px!important;
  gap:12px!important;
  padding:14px 0!important;
}
.author-pub-thumb{width:112px!important}

/* Small phones: contacts become three compact visual buttons. */
@media (max-width:479px){
  .author-quick-links{gap:7px}
  .author-quick-link{
    min-height:76px;
    padding:9px 7px;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:6px;
    text-align:center;
  }
  .author-quick-link .quick-icon{width:32px;height:32px;flex-basis:32px}
  .quick-copy b{font-size:.68rem;white-space:normal}
  .quick-copy small,.quick-arrow{display:none}
  .author-quick-link .instagram-tooltip{left:50%;right:auto;transform:translate(-50%,4px);width:min(300px,88vw)}
  .author-quick-link.ig:hover .instagram-tooltip,.author-quick-link.ig:focus-within .instagram-tooltip{transform:translate(-50%,0)}
}

@media (min-width:480px) and (max-width:899px){
  .author-quick-links{max-width:620px;gap:9px}
  .author-quick-link{padding:10px 11px;min-height:60px}
  .author-platform-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .author-platform-card:last-child{grid-column:1/-1}
  .author-publication,.author-publication:nth-child(2){grid-template-columns:138px minmax(0,1fr) 20px!important;gap:15px!important;padding:16px 0!important}
  .author-pub-thumb{width:138px!important}
}

@media (min-width:900px){
  .author-quick-label{font-size:.84rem;margin-bottom:10px}
  .author-quick-links{max-width:660px;gap:10px}
  .author-quick-link{min-height:62px;padding:10px 12px}
  .author-quick-link:hover{background:#fbfcfa;box-shadow:inset 0 0 0 1px #cfdac9,0 5px 15px rgba(28,39,25,.04);transform:translateY(-1px)}
  .author-quick-link .quick-icon{width:36px;height:36px;flex-basis:36px}
  .quick-copy b{font-size:.82rem}.quick-copy small{font-size:.66rem}

  .author-platforms-featured{padding:34px 0 38px}
  .author-platforms-featured>h2{font-size:1.5rem;margin-bottom:18px}
  .author-platform-cards{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
  .author-platform-card{grid-template-columns:48px minmax(0,1fr) 28px;min-height:78px;padding:12px}
  .author-platform-card:hover{background:#fbfcfa;box-shadow:inset 0 0 0 1px #cfdac9,0 6px 18px rgba(28,39,25,.05);transform:translateY(-2px)}
  .platform-card-copy b{font-size:.94rem}

  .author-columns{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:clamp(48px,5vw,72px)!important;
    padding-top:42px!important;
    align-items:start;
  }
  .author-section h2,.author-publications h2{font-size:1.42rem;margin-bottom:15px}
  .author-about p{font-size:1rem!important;line-height:1.72!important;margin-bottom:16px!important}
  .author-publication,.author-publication:nth-child(2){
    grid-template-columns:clamp(126px,13vw,166px) minmax(0,1fr) 22px!important;
    gap:16px!important;
    padding:17px 0!important;
  }
  .author-pub-thumb{width:clamp(126px,13vw,166px)!important}
  .author-pub-copy b{font-size:.96rem!important;line-height:1.4!important}
  .author-pub-copy small{font-size:.73rem!important;margin-top:6px!important}
  .author-all-publications{margin-top:22px}

  /* Exact desktop footer composition from the final publication template. */
  .author-page footer{margin-top:0;padding:34px max(24px,calc((100vw - 1320px)/2)) 20px}
  .author-page .footer-grid{grid-template-columns:1fr auto;gap:60px}
  .author-page .footer-about{flex-direction:row;align-items:center;gap:34px}
  .author-page .footer-brand{font-size:1.25rem}
  .author-page .footer-links{display:flex;flex-direction:row;gap:22px;margin:0}
  .author-page .footer-links a{font-size:.86rem}
  .author-page .footer-social{display:flex;gap:20px}
  .author-page .footer-social a{min-width:122px;gap:10px}
  .author-page .footer-social .fs-icon{width:32px;height:32px;flex-basis:32px}
  .author-page .footer-social .fs-icon img{width:20px;height:20px}
  .author-page .footer-social b{font-size:.85rem}
  .author-page .footer-social small{font-size:.73rem}
  .author-page .footer-bottom{font-size:.68rem}
  .author-page .footer-bottom .footer-legal{font-size:.68rem}
}

@media (min-width:1200px){
  .author-publication,.author-publication:nth-child(2){grid-template-columns:168px minmax(0,1fr) 22px!important;gap:18px!important;padding:18px 0!important}
  .author-pub-thumb{width:168px!important}
  .author-pub-copy b{font-size:1rem!important}
}

/* ===== v29 — stronger authority stats ===== */
.author-stats{
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:22px;
  border:0;
  border-radius:17px;
  overflow:hidden;
  background:linear-gradient(145deg,#1c271a 0%,#263522 100%);
  box-shadow:0 10px 28px rgba(28,39,25,.13);
}
.author-stats>div{
  position:relative;
  min-width:0;
  padding:18px 10px 17px;
  text-align:center;
}
.author-stats>div+div{border-left:1px solid rgba(255,255,255,.11)}
.author-stats strong{
  display:block;
  color:#fff;
  font-size:1.32rem;
  line-height:1;
  font-weight:800;
  letter-spacing:-.045em;
}
.author-stats span{
  display:block;
  max-width:118px;
  margin:10px auto 0;
  color:rgba(255,255,255,.72);
  font-size:.68rem;
  line-height:1.35;
  font-weight:500;
}
.author-stats span::before{
  content:"";
  display:block;
  width:22px;
  height:2px;
  margin:0 auto 8px;
  border-radius:99px;
  background:#79c94a;
}

@media (min-width:480px) and (max-width:899px){
  .author-stats{margin-top:8px;border-radius:18px}
  .author-stats>div{padding:20px 14px 19px}
  .author-stats strong{font-size:1.52rem}
  .author-stats span{font-size:.73rem;max-width:150px}
}

@media (min-width:900px){
  .author-stats{
    align-self:center;
    min-height:0;
    margin:0;
    border-radius:19px;
    box-shadow:0 14px 34px rgba(28,39,25,.14);
  }
  .author-stats>div{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:24px 13px 22px;
  }
  .author-stats strong{font-size:clamp(1.55rem,1.55vw,1.86rem)}
  .author-stats span{font-size:.75rem;line-height:1.35;max-width:135px}
}

@media (max-width:359px){
  .author-stats>div{padding:15px 6px 14px}
  .author-stats strong{font-size:1.1rem}
  .author-stats span{font-size:.58rem;line-height:1.3;max-width:92px}
  .author-stats span::before{width:18px;margin-bottom:7px}
}

/* ===== v30 — wider unified search + cleaner author contact/platform blocks ===== */
/* Shared desktop masthead: the same search proportions are used on article and author pages. */
@media (min-width:900px){
  .desktop-header-inner{
    grid-template-columns:clamp(145px,12vw,190px) minmax(0,1fr) clamp(310px,29vw,400px);
  }
  .desktop-search-inline{width:clamp(185px,17vw,240px)}
}
@media (min-width:900px) and (max-width:1179px){
  .desktop-header-inner{grid-template-columns:140px minmax(0,1fr) 310px;column-gap:10px}
  .desktop-search-inline{width:185px}
}
@media (min-width:1400px){
  .desktop-header-inner{
    grid-template-columns:clamp(200px,14.5vw,225px) minmax(0,760px) clamp(355px,23vw,400px);
  }
  .desktop-search-inline{width:230px}
}

/* Personal contacts on phones: native-feeling full-width rows instead of cramped mini tiles. */
@media (max-width:479px){
  .author-quick-contacts{margin-top:20px}
  .author-quick-label{font-size:.82rem;margin-bottom:9px}
  .author-quick-links{
    grid-template-columns:1fr;
    gap:7px;
    max-width:none;
  }
  .author-quick-link{
    min-height:54px;
    padding:8px 10px;
    flex-direction:row;
    justify-content:flex-start;
    align-items:center;
    gap:10px;
    text-align:left;
    border-radius:13px;
    background:#f7f9f6;
    box-shadow:inset 0 0 0 1px #e6ebe3;
  }
  .author-quick-link .quick-icon{
    width:36px;height:36px;flex:0 0 36px;
    border-radius:11px;
  }
  .quick-copy{display:block;min-width:0}
  .quick-copy b{font-size:.79rem;line-height:1.15;white-space:normal}
  .quick-copy small{display:block;font-size:.64rem;line-height:1.2;white-space:normal;margin-top:3px}
  .quick-arrow{display:block;margin-left:auto;font-size:.92rem;color:#969d94}
  .author-quick-link .instagram-tooltip{
    left:10px;right:10px;bottom:calc(100% + 8px);width:auto;
    transform:translateY(4px);
  }
  .author-quick-link.ig:hover .instagram-tooltip,.author-quick-link.ig:focus-within .instagram-tooltip{transform:translateY(0)}
}

/* Author external profiles: branded editorial tiles with clear hierarchy, not tiny generic cards. */
.author-platforms-featured{
  padding:30px 0 34px;
  border-bottom:1px solid #e7ebe5;
}
.author-platforms-featured>h2{
  margin:0 0 16px;
  font-size:1.3rem;
  line-height:1.18;
  letter-spacing:-.025em;
}
.author-platform-cards{
  display:grid;
  grid-template-columns:1fr;
  gap:9px;
}
.author-platform-card{
  position:relative;
  min-height:86px;
  padding:14px 15px 12px;
  border:0;
  border-radius:16px;
  background:#f7f8f6;
  box-shadow:inset 0 0 0 1px #e7ebe4;
  text-decoration:none;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:12px;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease;
}
.author-platform-card::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:var(--platform-accent,#70bd3d);
}
.author-platform-card.is-zen{--platform-accent:#171717;--platform-soft:#f1f1f1}
.author-platform-card.is-mail{--platform-accent:#1473e6;--platform-soft:#eef5ff}
.author-platform-card.is-ixbt{--platform-accent:#ef6b2e;--platform-soft:#fff2eb}
.author-platform-card.is-habr{--platform-accent:#4e6c7c;--platform-soft:#edf3f5}
.author-platform-card.is-dns{--platform-accent:#ee7b18;--platform-soft:#fff2e6}
.platform-card-brand{display:flex;align-items:center;gap:11px;min-width:0}
.author-platform-card .platform-logo{
  width:38px;height:38px;flex:0 0 38px;
  display:grid;place-items:center;
  border-radius:11px;
  background:var(--platform-soft,#fff);
  color:var(--platform-accent,#70bd3d);
  box-shadow:none;
  font-size:.7rem;
  font-weight:800;
}
.author-platform-card.is-zen .platform-logo{background:#171717;color:#fff}
.author-platform-card.is-mail .platform-logo{background:#1473e6;color:#fff}
.author-platform-card.is-ixbt .platform-logo{background:#ef6b2e;color:#fff}
.author-platform-card.is-habr .platform-logo{background:#4e6c7c;color:#fff}
.author-platform-card.is-dns .platform-logo{background:#ee7b18;color:#fff;font-size:.58rem}
.platform-card-brand b{
  min-width:0;
  color:#222821;
  font-size:.96rem;
  line-height:1.2;
  font-weight:700;
}
.platform-card-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-top:9px;
  border-top:1px solid rgba(34,44,32,.07);
  color:#7b8379;
  font-size:.69rem;
  line-height:1.2;
  font-weight:500;
}
.platform-card-link i{font-style:normal;color:var(--platform-accent,#70bd3d);font-size:.9rem}

@media (min-width:480px) and (max-width:899px){
  .author-platform-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .author-platform-card:last-child{grid-column:auto}
}

@media (min-width:900px){
  .author-platforms-featured{padding:35px 0 40px}
  .author-platforms-featured>h2{font-size:1.5rem;margin-bottom:18px}
  .author-platform-cards{grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}
  .author-platform-card{min-height:104px;padding:15px 15px 13px}
  .author-platform-card:hover{
    transform:translateY(-2px);
    background:#fff;
    box-shadow:inset 0 0 0 1px #dce3d8,0 9px 24px rgba(28,39,25,.07);
  }
  .author-platform-card .platform-logo{width:42px;height:42px;flex-basis:42px}
  .platform-card-brand b{font-size:1rem}
  .platform-card-link{font-size:.71rem}
}

/* ===== v31 — stable mobile contact + external profile lists ===== */
/* Personal contacts: one calm list. This avoids three competing mini-cards and never lets labels overlap. */
@media (max-width:679px){
  .author-quick-contacts{margin-top:19px}
  .author-quick-label{margin-bottom:9px;font-size:.84rem;line-height:1.2}
  .author-quick-links{
    display:block;
    max-width:none;
    border:1px solid #e2e8df;
    border-radius:15px;
    background:#fff;
    overflow:visible;
    box-shadow:0 3px 14px rgba(28,39,25,.035);
  }
  .author-quick-link{
    display:grid!important;
    grid-template-columns:38px minmax(0,1fr) 24px!important;
    align-items:center!important;
    gap:11px!important;
    width:100%;
    min-width:0;
    min-height:58px;
    padding:9px 11px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    text-align:left!important;
    transform:none!important;
  }
  .author-quick-link + .author-quick-link{border-top:1px solid #edf0eb!important}
  .author-quick-link:first-child{border-radius:14px 14px 0 0!important}
  .author-quick-link:last-child{border-radius:0 0 14px 14px!important}
  .author-quick-link:active{background:#f7faf5!important}
  .author-quick-link .quick-icon{
    width:38px!important;height:38px!important;flex:0 0 38px!important;
    border-radius:11px!important;
    box-shadow:none!important;
  }
  .author-quick-link .quick-icon svg{width:19px;height:19px}
  .quick-copy{display:block!important;min-width:0!important;overflow:hidden}
  .quick-copy b{
    display:block!important;
    margin:0!important;
    font-size:.86rem!important;
    line-height:1.2!important;
    font-weight:700!important;
    white-space:normal!important;
    overflow-wrap:anywhere;
  }
  .quick-copy small{
    display:block!important;
    margin-top:3px!important;
    color:#7f877d!important;
    font-size:.69rem!important;
    line-height:1.25!important;
    white-space:normal!important;
    overflow-wrap:anywhere;
  }
  .quick-arrow{
    display:grid!important;
    place-items:center;
    width:24px;height:24px;
    margin:0!important;
    color:#8d958b!important;
    font-size:.98rem!important;
  }
  .author-quick-link .instagram-tooltip{
    left:8px!important;right:8px!important;width:auto!important;
    max-width:none!important;
    bottom:calc(100% + 7px)!important;
    font-size:.69rem!important;
    line-height:1.42!important;
  }
}

/* External publications: destination list first, decoration second. */
.author-platforms-featured{
  padding:30px 0 34px;
  border-bottom:1px solid #e7ebe5;
}
.author-platforms-featured>h2{
  margin:0 0 14px;
  font-size:1.34rem;
  line-height:1.2;
  letter-spacing:-.025em;
}
.author-platform-cards{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  border:1px solid #e1e7de;
  border-radius:16px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 4px 18px rgba(28,39,25,.035);
}
.author-platform-card{
  --platform-accent:#70bd3d;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 30px!important;
  align-items:center!important;
  gap:10px!important;
  min-height:66px!important;
  padding:10px 12px!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
  text-decoration:none;
  overflow:visible!important;
  transform:none!important;
}
.author-platform-card + .author-platform-card{border-top:1px solid #edf0eb!important}
.author-platform-card::before{display:none!important}
.author-platform-card:active{background:#f8faf7!important}
.author-platform-card.is-zen{--platform-accent:#171717}
.author-platform-card.is-mail{--platform-accent:#1473e6}
.author-platform-card.is-ixbt{--platform-accent:#ef6b2e}
.author-platform-card.is-habr{--platform-accent:#4e6c7c}
.author-platform-card.is-dns{--platform-accent:#ee7b18}
.platform-card-brand{display:grid!important;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:11px;min-width:0}
.author-platform-card .platform-logo{
  width:42px!important;height:42px!important;flex:0 0 42px!important;
  border-radius:11px!important;
  display:grid;place-items:center;
  color:#fff!important;
  background:var(--platform-accent)!important;
  box-shadow:none!important;
  font-size:.7rem!important;
  font-weight:800;
}
.author-platform-card.is-dns .platform-logo{font-size:.58rem!important}
.platform-card-copy{display:block;min-width:0}
.platform-card-copy b{
  display:block;
  color:#252b24;
  font-size:.9rem!important;
  line-height:1.2;
  font-weight:700;
  white-space:normal;
}
.platform-card-copy small{
  display:block;
  margin-top:3px;
  color:#858c83;
  font-size:.68rem;
  line-height:1.2;
  white-space:normal;
  overflow-wrap:anywhere;
}
.platform-card-link{
  display:grid!important;
  place-items:center!important;
  width:30px;height:30px;
  padding:0!important;
  border:0!important;
  border-radius:50%;
  background:#f3f5f1;
  color:var(--platform-accent)!important;
  font-size:1rem!important;
  line-height:1;
  font-weight:600;
}
.platform-card-link i{display:none!important}

@media (min-width:680px) and (max-width:899px){
  .author-platform-cards{grid-template-columns:1fr 1fr;gap:10px;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}
  .author-platform-card{border:1px solid #e1e7de!important;border-radius:14px!important;background:#fff!important;min-height:70px!important}
  .author-platform-card + .author-platform-card{border-top:1px solid #e1e7de!important}
}

@media (min-width:900px){
  .author-platforms-featured{padding:35px 0 40px}
  .author-platforms-featured>h2{font-size:1.5rem;margin-bottom:17px}
  .author-platform-cards{
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:10px;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    overflow:visible;
  }
  .author-platform-card{
    grid-template-columns:minmax(0,1fr) 28px!important;
    min-height:76px!important;
    padding:11px 12px!important;
    border:1px solid #e1e7de!important;
    border-radius:14px!important;
    background:#fff!important;
    transition:border-color .15s,box-shadow .15s,transform .15s!important;
  }
  .author-platform-card + .author-platform-card{border-top:1px solid #e1e7de!important}
  .author-platform-card:hover{
    border-color:#ccd8c7!important;
    box-shadow:0 7px 20px rgba(28,39,25,.06)!important;
    transform:translateY(-2px)!important;
  }
  .platform-card-brand{grid-template-columns:40px minmax(0,1fr);gap:10px}
  .author-platform-card .platform-logo{width:40px!important;height:40px!important;flex-basis:40px!important}
  .platform-card-copy b{font-size:.9rem!important}
  .platform-card-copy small{font-size:.65rem}
  .platform-card-link{width:28px;height:28px;font-size:.9rem!important}
}

/* ===== v32 — author contacts at 960px + centered branded platform cards on phones ===== */
.author-quick-label{display:none!important}
.author-quick-contacts{margin-top:18px}

/* 900–1099px is a real intermediate author-layout state. Give the bio more room and
   simplify the contact pills instead of squeezing the wide desktop controls. */
@media (min-width:900px) and (max-width:1099px){
  .author-hero{grid-template-columns:110px minmax(0,1fr) 310px!important;gap:20px!important;align-items:center!important}
  .author-portrait{width:104px!important;height:104px!important}
  .author-quick-links{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;max-width:none!important;width:100%!important}
  .author-quick-link{min-height:45px!important;padding:6px 7px!important;gap:6px!important;border-radius:11px!important}
  .author-quick-link .quick-icon{width:29px!important;height:29px!important;flex-basis:29px!important;border-radius:8px!important}
  .author-quick-link .quick-icon svg{width:16px!important;height:16px!important}
  .quick-copy b{font-size:.69rem!important;line-height:1.12!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .quick-copy small,.quick-arrow{display:none!important}
}

/* Real logo artwork inside the destination cards. */
.author-platform-card .platform-logo{
  overflow:hidden!important;
  padding:0!important;
  background:#fff!important;
  color:inherit!important;
}
.author-platform-card .platform-logo img{
  display:block;
  width:100%;height:100%;
  object-fit:contain;
}

/* Phones: treat external publications as a visual set of destinations, not a dense list. */
@media (max-width:679px){
  .author-platforms-featured{padding:29px 0 32px!important}
  .author-platforms-featured>h2{
    margin:0 0 15px!important;
    text-align:center!important;
    font-size:1.28rem!important;
    line-height:1.2!important;
  }
  .author-platform-cards{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:visible!important;
  }
  .author-platform-card{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:9px!important;
    min-width:0!important;
    min-height:142px!important;
    padding:14px 9px 11px!important;
    border:1px solid #e2e7df!important;
    border-radius:16px!important;
    background:#fff!important;
    box-shadow:0 3px 14px rgba(28,39,25,.035)!important;
    text-align:center!important;
  }
  .author-platform-card + .author-platform-card{border-top:1px solid #e2e7df!important}
  .author-platform-card:last-child{
    grid-column:1/-1!important;
    width:calc(50% - 5px)!important;
    justify-self:center!important;
  }
  .platform-card-brand{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:8px!important;
    width:100%!important;
    min-width:0!important;
  }
  .author-platform-card .platform-logo{
    width:58px!important;height:58px!important;flex:0 0 58px!important;
    border-radius:15px!important;
    box-shadow:0 3px 11px rgba(25,34,23,.07)!important;
  }
  .platform-card-copy{width:100%!important;text-align:center!important}
  .platform-card-copy b{
    display:block!important;
    font-size:.84rem!important;
    line-height:1.18!important;
    font-weight:750!important;
    white-space:normal!important;
  }
  .platform-card-copy small{
    display:block!important;
    margin-top:3px!important;
    color:#8a9188!important;
    font-size:.62rem!important;
    line-height:1.2!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  .platform-card-link{
    width:auto!important;height:auto!important;
    margin-top:auto!important;
    padding:6px 9px!important;
    border:0!important;
    border-radius:999px!important;
    background:#f4f6f2!important;
    color:#5e675b!important;
    font-size:.65rem!important;
    font-weight:600!important;
    line-height:1!important;
  }
  .platform-card-link::before{content:"Открыть ";}
}

@media (max-width:359px){
  .author-platform-cards{gap:8px!important}
  .author-platform-card{min-height:134px!important;padding:12px 7px 10px!important}
  .author-platform-card .platform-logo{width:52px!important;height:52px!important;flex-basis:52px!important}
  .platform-card-copy b{font-size:.78rem!important}
  .platform-card-copy small{font-size:.58rem!important}
}

/* ===== v33 — single author email + geometrically centered external-link arrows ===== */
.author-quick-contacts{margin-top:18px!important}
.author-email-link{
  display:inline-flex;
  align-items:center;
  gap:11px;
  width:min(100%,340px);
  min-height:58px;
  padding:9px 11px;
  border:1px solid #e1e7de;
  border-radius:14px;
  background:#f8faf7;
  color:#252b24;
  text-decoration:none;
  transition:border-color .15s,background .15s,box-shadow .15s,transform .15s;
}
.author-email-icon{
  width:38px;height:38px;flex:0 0 38px;
  display:grid;place-items:center;
  border-radius:11px;
  background:#fff;
  color:#62b438;
  box-shadow:0 2px 9px rgba(28,39,25,.06);
}
.author-email-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.author-email-copy{display:block;min-width:0}
.author-email-copy b{display:block;font-size:.86rem;line-height:1.2;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.author-email-copy small{display:block;margin-top:3px;color:#858c83;font-size:.68rem;line-height:1.2}
.author-email-arrow{
  margin-left:auto;
  width:30px;height:30px;flex:0 0 30px;
  display:grid;place-items:center;
  border-radius:50%;
  background:#fff;
  color:#6f776c;
}
.author-email-arrow svg{width:16px;height:16px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.author-email-link:active{background:#f2f6ef}

/* Use SVG geometry instead of the font glyph ↗ so the arrow cannot drift vertically. */
.platform-card-link svg{
  width:16px;height:16px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

@media (max-width:679px){
  .author-email-link{display:flex;width:100%;max-width:none;min-height:60px;padding:10px 12px}
  .author-email-copy b{font-size:.84rem}
  .author-email-copy small{font-size:.66rem}
  .platform-card-link{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:4px!important;
  }
  .platform-card-link svg{width:12px;height:12px;flex:0 0 12px}
}

@media (min-width:900px){
  .author-email-link:hover{
    border-color:#cbd8c6;
    background:#fbfcfa;
    box-shadow:0 6px 18px rgba(28,39,25,.05);
    transform:translateY(-1px);
  }
  .author-email-link{width:min(100%,330px)}
}

/* ===== v34 — AndroidLime homepage ===== */
.home-page{background:#eef0ed;color:#20241f}
.home-page .page{background:#fff;min-height:100vh}
.home-page .home-shell{width:100%;margin:0 auto;padding:22px 16px 46px}
.home-page .home-main{padding:0;min-width:0}
.home-page .home-left{display:none}
.home-page .home-right{display:none}
.home-heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:2px 0 19px}
.home-kicker{display:block;margin-bottom:4px;color:#70bd3d;font-size:.72rem;line-height:1.2;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.home-heading-row h1{margin:0;font-size:1.72rem;line-height:1.08;letter-spacing:-.035em;font-weight:800}
.home-date{display:none;color:#8a9188;font-size:.72rem;white-space:nowrap}

.home-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}
.home-section-title h2{display:flex;align-items:center;gap:8px;margin:0;font-size:1.15rem;line-height:1.2;letter-spacing:-.018em}
.home-section-title>span{color:#929991;font-size:.69rem;line-height:1.2}
.pin-mark{width:20px;height:20px;display:grid;place-items:center;border-radius:7px;background:#edf7e8;color:#64ad39;font-size:.54rem;transform:rotate(45deg)}
.pin-mark::first-letter{transform:rotate(-45deg)}

.home-featured{margin-bottom:28px}
.featured-card{display:block;overflow:hidden;border:1px solid #e4e9e1;border-radius:15px;background:#fff;text-decoration:none;box-shadow:0 5px 18px rgba(31,39,28,.05);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.featured-card:active{transform:scale(.995)}
.featured-main{border-color:#dce9d4;background:#fbfdf9;box-shadow:0 8px 24px rgba(50,80,37,.07)}
.featured-image{display:block;overflow:hidden;background:#e6ebe3;aspect-ratio:16/9}
.featured-image img{width:100%;height:100%;display:block;object-fit:cover}
.featured-content{display:block;padding:13px 14px 14px}
.article-label{display:block;margin-bottom:6px;color:#62a83a;font-size:.68rem;line-height:1.2;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.featured-content>b{display:block;color:#252b24;font-size:1rem;line-height:1.35;letter-spacing:-.012em;font-weight:700}
.card-meta{display:block;margin-top:8px;color:#929990;font-size:.69rem;line-height:1.25;font-weight:500}
.featured-secondary{display:grid;grid-template-columns:1fr;gap:10px;margin-top:10px}
.featured-secondary .featured-content>b{font-size:.92rem}

.feed-title{margin-bottom:3px;padding-top:4px}
.feed-title h2{font-size:1.25rem}
.feed-card{display:grid;grid-template-columns:1fr;gap:0;padding:17px 0;border-bottom:1px solid #e9ece7;text-decoration:none}
.feed-card:first-of-type{padding-top:11px}
.feed-card>img{width:100%;aspect-ratio:16/9;display:block;object-fit:cover;border-radius:12px;background:#e2e7df}
.feed-copy{display:block;min-width:0;padding-top:11px}
.feed-copy>b{display:block;color:#262c25;font-size:1.02rem;line-height:1.38;letter-spacing:-.012em;font-weight:700}
.feed-copy p{margin:7px 0 0!important;color:#6a7268!important;font-size:.82rem!important;line-height:1.5!important}
.feed-copy .card-meta{margin-top:8px}
.home-load-more{width:100%;height:46px;margin-top:18px;border:1px solid #dce3d8;border-radius:11px;background:#fff;color:#4f9130;font:inherit;font-size:.84rem;font-weight:700;cursor:pointer}
.home-load-more:active{background:#f5f9f2}

/* Tablet */
@media (min-width:480px) and (max-width:899px){
  .home-page .page{width:100%;max-width:none;margin:0;box-shadow:none}
  .home-page .home-shell{max-width:820px;padding:28px clamp(22px,4.5vw,34px) 56px}
  .home-heading-row h1{font-size:2rem}
  .home-date{display:block}
  .featured-main .featured-content{padding:15px 16px 16px}
  .featured-main .featured-content>b{font-size:1.15rem}
  .featured-secondary{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .featured-secondary .featured-content{padding:12px 13px 14px}
  .featured-secondary .featured-content>b{font-size:.94rem}
  .feed-card{grid-template-columns:clamp(190px,34vw,245px) minmax(0,1fr);gap:18px;align-items:center;padding:18px 0}
  .feed-card>img{aspect-ratio:16/10;border-radius:13px}
  .feed-copy{padding-top:0}
  .feed-copy>b{font-size:1.06rem}
  .feed-copy p{font-size:.84rem!important}
}

/* Desktop shell */
@media (min-width:900px){
  .home-page .page{width:100%;max-width:none;margin:0;box-shadow:none;background:#fff}
  .home-page .header,.home-page .nav,.home-page .mobile-search,.home-page .search-backdrop{display:none!important}
  .home-page .desktop-header{display:block}
  .home-page .home-shell{
    width:min(calc(100% - clamp(32px,3.3vw,54px)),1240px);
    display:grid;
    grid-template-columns:minmax(0,780px) clamp(250px,22vw,300px);
    gap:clamp(28px,2.6vw,38px);
    align-items:start;
    justify-content:center;
    padding:36px 0 72px;
  }
  .home-page .home-main{width:100%;max-width:none}
  .home-page .home-right{display:grid;gap:20px;position:sticky;top:80px;align-self:start}
  .home-page .home-right .side-popular{display:block}
  .home-heading-row{margin:0 0 24px}
  .home-kicker{font-size:.76rem}
  .home-heading-row h1{font-size:2.28rem;line-height:1.06}
  .home-date{display:block;font-size:.76rem}
  .home-section-title{margin-bottom:14px}
  .home-section-title h2{font-size:1.3rem}
  .home-section-title>span{font-size:.74rem}
  .home-featured{margin-bottom:38px}
  .featured-card:hover{transform:translateY(-2px);border-color:#d2dfca;box-shadow:0 12px 28px rgba(31,39,28,.09)}
  .featured-main .featured-image{aspect-ratio:16/7.7}
  .featured-main .featured-content{padding:17px 19px 19px}
  .featured-main .featured-content>b{font-size:1.34rem;line-height:1.3}
  .featured-secondary{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
  .featured-secondary .featured-content{padding:13px 14px 15px}
  .featured-secondary .featured-content>b{font-size:1rem;line-height:1.38}
  .featured-secondary .featured-image{aspect-ratio:16/9.5}
  .article-label{font-size:.71rem}
  .card-meta{font-size:.72rem}
  .feed-title h2{font-size:1.42rem}
  .feed-card{grid-template-columns:250px minmax(0,1fr);gap:21px;align-items:center;padding:20px 0}
  .feed-card>img{aspect-ratio:16/10;border-radius:14px}
  .feed-copy{padding:0}
  .feed-copy>b{font-size:1.12rem;line-height:1.4}
  .feed-copy p{font-size:.88rem!important;line-height:1.55!important}
  .feed-card:hover .feed-copy>b{color:#579c31}
  .home-load-more{width:auto;min-width:220px;padding:0 24px;margin-top:24px}
  .home-page footer{margin-top:0;padding:34px max(24px,calc((100vw - 1320px)/2)) 20px}
  .home-page .footer-grid{grid-template-columns:1fr auto;gap:60px}
  .home-page .footer-about{flex-direction:row;align-items:center;gap:34px}
  .home-page .footer-brand{font-size:1.25rem}
  .home-page .footer-links{display:flex;flex-direction:row;gap:22px;margin:0}
  .home-page .footer-links a{font-size:.86rem}
  .home-page .footer-social{display:flex;gap:20px}
  .home-page .footer-social a{min-width:122px;gap:10px}
  .home-page .footer-social .fs-icon{width:32px;height:32px;flex-basis:32px}
  .home-page .footer-social .fs-icon img{width:20px;height:20px}
  .home-page .footer-social b{font-size:.85rem}
  .home-page .footer-social small{font-size:.73rem}
  .home-page .footer-bottom{font-size:.68rem}
  .home-page .footer-bottom .footer-legal{font-size:.68rem}
}

/* Wide desktop: add useful left rail instead of wasting the column. */
@media (min-width:1400px){
  .home-page .home-shell{
    width:min(calc(100% - 40px),1400px);
    grid-template-columns:clamp(200px,14.5vw,225px) minmax(0,780px) clamp(270px,19vw,300px);
    gap:clamp(28px,2.25vw,40px);
  }
  .home-page .home-left{display:grid;gap:16px;position:sticky;top:80px;align-self:start}
  .home-left-card{padding:17px 15px;border:1px solid #e8ebe6;border-radius:12px;background:#fff;box-shadow:0 5px 18px rgba(28,35,26,.05)}
  .home-left-card h2{margin:0 0 10px;font-size:.96rem;line-height:1.2;letter-spacing:-.01em}
  .home-topic-list{display:grid}
  .home-topic-list a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 2px;border-bottom:1px solid #eef0ed;color:#4e564d;text-decoration:none;font-size:.85rem;line-height:1.25;font-weight:600}
  .home-topic-list a:last-child{border-bottom:0}
  .home-topic-list a b{color:#a0a79d;font-size:.92rem;font-weight:500}
  .home-topic-list a:hover{color:#579c31}.home-topic-list a:hover b{color:#70bd3d}
  .home-all-topics{display:inline-block;margin-top:11px;color:#5b9837;text-decoration:none;font-size:.76rem;font-weight:700}
  .home-left-eyebrow{display:block;margin-bottom:12px;color:#8d958a;font-size:.67rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
  .home-editor{display:flex;align-items:center;gap:10px;text-decoration:none}
  .home-editor-avatar{width:42px;height:42px;flex:0 0 42px;border-radius:50%;background:#dfe4dc center/cover no-repeat url("https://i.pravatar.cc/160?img=12");box-shadow:0 0 0 2px #f1f6ed,0 0 0 3px #dcebd3}
  .home-editor b{display:block;font-size:.81rem;line-height:1.25}.home-editor small{display:block;margin-top:3px;color:#8a9188;font-size:.67rem;line-height:1.25}
  .home-editor-card p{margin:12px 0 10px;color:#6f776d;font-size:.74rem;line-height:1.5}
  .home-editor-link{color:#5b9837;text-decoration:none;font-size:.73rem;font-weight:700}
}

@media (max-width:899px){
  .home-page .page{width:100%;max-width:none;margin:0;box-shadow:none}
}

@media (max-width:359px){
  .home-page .home-shell{padding-left:14px;padding-right:14px}
  .home-heading-row h1{font-size:1.55rem}
  .featured-content{padding-left:12px;padding-right:12px}
  .featured-content>b{font-size:.94rem}
  .feed-copy>b{font-size:.98rem}
}

/* v34 breakpoint correction: keep 900–979 as a single editorial column, matching article behavior. */
@media (min-width:900px) and (max-width:979px){
  .home-page .home-shell{width:min(calc(100% - 48px),820px);display:block;padding-top:34px}
  .home-page .home-right{display:none!important}
}
@media (min-width:980px) and (max-width:1399px){
  .home-page .home-shell{
    width:min(calc(100% - clamp(30px,3vw,48px)),1240px);
    display:grid;
    grid-template-columns:minmax(0,780px) clamp(245px,21vw,295px);
    gap:clamp(24px,2.5vw,36px);
  }
  .home-page .home-right{display:grid!important}
}

/* ===== v35 — homepage refinements ===== */
/* Editorial picks: two equal cards, no oversized lead story. */
.home-page .featured-editor-picks{margin-top:0}
.home-page .featured-editor-picks .featured-card{
  border-color:#dce7d6;
  background:linear-gradient(180deg,#fff 0%,#fbfdf9 100%);
  box-shadow:0 7px 22px rgba(42,67,31,.065);
}
.home-page .featured-editor-picks .featured-content>b{font-weight:700}

/* The heading is now clean: no kicker above H1. */
.home-page .home-heading-row{align-items:center}

@media (min-width:480px){
  .home-page .featured-editor-picks{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
}

@media (min-width:900px){
  .home-page .featured-editor-picks{gap:16px}
  .home-page .featured-editor-picks .featured-image{aspect-ratio:16/9}
  .home-page .featured-editor-picks .featured-content{padding:15px 16px 17px}
  .home-page .featured-editor-picks .featured-content>b{font-size:1.08rem;line-height:1.38}
}

/* Wide desktop: the left rail contains only the editor card and gets a little more room. */
@media (min-width:1400px){
  .home-page .home-shell{
    width:min(calc(100% - 40px),1440px);
    grid-template-columns:clamp(232px,16vw,250px) minmax(0,780px) clamp(270px,19vw,300px);
    gap:clamp(28px,2.1vw,38px);
  }
  .home-page .home-left{gap:0}
  .home-page .home-editor-card{
    padding:20px 18px 19px;
    border-radius:14px;
  }
  .home-page .home-editor-avatar{width:48px;height:48px;flex-basis:48px}
  .home-page .home-editor{gap:12px}
  .home-page .home-editor b{font-size:.88rem;line-height:1.28}
  .home-page .home-editor small{font-size:.71rem}
  .home-page .home-editor-card p{margin:14px 0 12px;font-size:.78rem;line-height:1.55}
  .home-page .home-editor-link{font-size:.76rem}
}


/* ===== v37 — stronger editor card + clean editorial picks ===== */
/* A clear editorial-choice mark without the old rotated diamond. */
.home-page .editor-choice-icon{
  width:27px;
  height:27px;
  flex:0 0 27px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:#edf7e8;
  box-shadow:inset 0 0 0 1px #dcebd4;
}
.home-page .editor-choice-icon svg{width:15px;height:15px;display:block;fill:#67ad3e}
.home-page .home-section-title h2{gap:9px}

/* The editor rail is important trust content, so it gets more presence on wide desktop. */
@media (min-width:1400px){
  .home-page .home-shell{
    width:min(calc(100% - 40px),1460px);
    grid-template-columns:clamp(268px,18vw,286px) minmax(0,770px) clamp(275px,19vw,300px);
    gap:clamp(28px,2vw,36px);
  }
  .home-page .home-editor-card{
    position:relative;
    overflow:hidden;
    padding:23px 21px 21px;
    border:1px solid #dfe9da;
    border-radius:16px;
    background:linear-gradient(145deg,#fbfdf9 0%,#f4f9f0 100%);
    box-shadow:0 10px 28px rgba(42,66,33,.075);
  }
  .home-page .home-editor-card::after{
    content:"";
    position:absolute;
    right:-36px;
    top:-42px;
    width:112px;
    height:112px;
    border-radius:50%;
    background:rgba(112,189,61,.08);
    pointer-events:none;
  }
  .home-page .home-left-eyebrow{
    margin-bottom:15px;
    color:#6f776d;
    font-size:.71rem;
    letter-spacing:.07em;
  }
  .home-page .home-editor{gap:14px;position:relative;z-index:1}
  .home-page .home-editor-avatar{
    width:56px;
    height:56px;
    flex-basis:56px;
    box-shadow:0 0 0 3px #fff,0 0 0 4px #d6e8cc;
  }
  .home-page .home-editor b{font-size:.97rem;line-height:1.25}
  .home-page .home-editor small{margin-top:4px;font-size:.75rem}
  .home-page .home-editor-card p{
    margin:17px 0 15px;
    color:#5f685c;
    font-size:.83rem;
    line-height:1.58;
  }
  .home-page .home-editor-link{
    display:inline-flex;
    align-items:center;
    gap:6px;
    min-height:34px;
    padding:0 11px;
    border:1px solid #d8e6d1;
    border-radius:9px;
    background:#fff;
    color:#4f8f30;
    font-size:.78rem;
    box-shadow:0 3px 10px rgba(41,62,34,.035);
  }
  .home-page .home-editor-link:hover{border-color:#c7dcbd;background:#fcfefb}
}


/* ===== v38 — pagination, category and static page templates ===== */
.pagination{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  margin:26px 0 0;
  padding:0;
}
.pagination a,.pagination .page-dots{
  min-width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:10px;
  font-size:.82rem;
  line-height:1;
  font-weight:650;
  text-decoration:none;
}
.pagination a{border:1px solid #e0e5dd;background:#fff;color:#4d554c;transition:border-color .14s ease,background .14s ease,color .14s ease,transform .14s ease}
.pagination a:hover{border-color:#cbdcc2;background:#f8fbf6;color:#559833}
.pagination a:active{transform:scale(.97)}
.pagination a.active{border-color:#70bd3d;background:#70bd3d;color:#fff;box-shadow:0 4px 12px rgba(85,150,48,.16)}
.pagination .page-arrow{font-size:1.25rem;font-weight:500}
.pagination .disabled{pointer-events:none;color:#bec4bc;background:#fafbfa}
.pagination .page-dots{min-width:24px;color:#929990}
@media(max-width:359px){.pagination{gap:4px}.pagination a,.pagination .page-dots{min-width:34px;height:36px}.pagination .page-number-wide{display:none}}
@media(min-width:900px){.pagination{justify-content:flex-start;margin-top:30px}.pagination a,.pagination .page-dots{min-width:40px;height:40px;font-size:.84rem}}

/* Category pages deliberately inherit the homepage card/feed language. */
.category-page{background:#eef0ed;color:#20241f}
.category-page .page{background:#fff;min-height:100vh}
.category-page .home-shell{width:100%;margin:0 auto;padding:22px 16px 46px}
.category-page .home-main{padding:0;min-width:0}
.category-page .home-left,.category-page .home-right{display:none}
.breadcrumbs{display:flex;align-items:center;gap:7px;margin:0 0 13px;color:#929990;font-size:.72rem;line-height:1.3}
.breadcrumbs a{color:#727970;text-decoration:none}.breadcrumbs a:hover{color:#579c31}.breadcrumbs span:last-child{color:#596158}
.category-hero{margin:0 0 24px;padding:0 0 22px;border-bottom:1px solid #e8ece6}
.category-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}
.category-hero h1{margin:0;font-size:1.9rem;line-height:1.06;letter-spacing:-.035em;font-weight:800}
.category-count{display:none;color:#8b9289;font-size:.72rem;white-space:nowrap}
.category-hero p{max-width:690px;margin:10px 0 0;color:#687066;font-size:.9rem;line-height:1.58}
.category-feed .feed-title{margin-bottom:3px;padding-top:0}
.category-page footer{margin-top:0}
@media(min-width:480px) and (max-width:899px){
  .category-page .page{width:100%;max-width:none;margin:0;box-shadow:none}
  .category-page .home-shell{max-width:820px;padding:28px clamp(22px,4.5vw,34px) 56px}
  .category-hero h1{font-size:2.15rem}.category-count{display:block}
  .category-hero p{font-size:.95rem}
}
@media(min-width:900px){
  .category-page .page{width:100%;max-width:none;margin:0;box-shadow:none;background:#fff}
  .category-page .header,.category-page .nav,.category-page .mobile-search,.category-page .search-backdrop{display:none!important}
  .category-page .desktop-header{display:block}
  .category-page .home-shell{width:min(calc(100% - clamp(32px,3.3vw,54px)),1240px);display:grid;grid-template-columns:minmax(0,780px) clamp(250px,22vw,300px);gap:clamp(28px,2.6vw,38px);align-items:start;justify-content:center;padding:36px 0 72px}
  .category-page .home-main{width:100%;max-width:none}
  .category-page .home-right{display:grid;gap:20px;position:sticky;top:80px;align-self:start}
  .category-page .home-right .side-popular{display:block}
  .category-hero{margin-bottom:28px;padding-bottom:25px}
  .category-hero h1{font-size:2.4rem}.category-count{display:block;font-size:.76rem}.category-hero p{font-size:1rem;line-height:1.62}
  .category-page footer{padding:34px max(24px,calc((100vw - 1320px)/2)) 20px}
  .category-page .footer-grid{grid-template-columns:1fr auto;gap:60px}
  .category-page .footer-about{flex-direction:row;align-items:center;gap:34px}
  .category-page .footer-brand{font-size:1.25rem}
  .category-page .footer-links{display:flex;flex-direction:row;gap:22px;margin:0}
  .category-page .footer-links a{font-size:.86rem}
  .category-page .footer-social{display:flex;gap:20px}
  .category-page .footer-social a{min-width:122px;gap:10px}
}
@media(min-width:900px) and (max-width:979px){.category-page .home-shell{width:min(calc(100% - 48px),820px);display:block;padding-top:34px}.category-page .home-right{display:none!important}}
@media(min-width:980px) and (max-width:1399px){.category-page .home-shell{width:min(calc(100% - clamp(30px,3vw,48px)),1240px);display:grid;grid-template-columns:minmax(0,780px) clamp(245px,21vw,295px);gap:clamp(24px,2.5vw,36px)}.category-page .home-right{display:grid!important}}
@media(min-width:1400px){
  .category-page .home-shell{width:min(calc(100% - 40px),1460px);grid-template-columns:clamp(268px,18vw,286px) minmax(0,770px) clamp(275px,19vw,300px);gap:clamp(28px,2vw,36px)}
  .category-page .home-left{display:grid;gap:0;position:sticky;top:80px;align-self:start}
  .category-page .home-editor-card{position:relative;overflow:hidden;padding:23px 21px 21px;border:1px solid #dfe9da;border-radius:16px;background:linear-gradient(145deg,#fbfdf9 0%,#f4f9f0 100%);box-shadow:0 10px 28px rgba(42,66,33,.075)}
  .category-page .home-editor-card::after{content:"";position:absolute;right:-36px;top:-42px;width:112px;height:112px;border-radius:50%;background:rgba(112,189,61,.08);pointer-events:none}
  .category-page .home-left-eyebrow{margin-bottom:15px;color:#6f776d;font-size:.71rem;letter-spacing:.07em}
  .category-page .home-editor{gap:14px;position:relative;z-index:1}.category-page .home-editor-avatar{width:56px;height:56px;flex-basis:56px;box-shadow:0 0 0 3px #fff,0 0 0 4px #d6e8cc}
  .category-page .home-editor b{font-size:.97rem;line-height:1.25}.category-page .home-editor small{margin-top:4px;font-size:.75rem}
  .category-page .home-editor-card p{margin:17px 0 15px;color:#5f685c;font-size:.83rem;line-height:1.58}.category-page .home-editor-link{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 11px;border:1px solid #d8e6d1;border-radius:9px;background:#fff;color:#4f8f30;font-size:.78rem;text-decoration:none}
}
@media(max-width:899px){.category-page .page{width:100%;max-width:none;margin:0;box-shadow:none}}

/* Static pages: one shared content template for About, Advertising, Legal, etc. */
.static-page{background:#eef0ed;color:#20241f}
.static-page .page{background:#fff;min-height:100vh}
.static-shell{width:100%;margin:0 auto;padding:22px 16px 46px}
.static-main{min-width:0;padding:0}
.static-page .home-left,.static-page .home-right{display:none}
.static-hero{margin-bottom:24px;padding-bottom:22px;border-bottom:1px solid #e8ece6}
.static-hero h1{margin:0;font-size:1.9rem;line-height:1.08;letter-spacing:-.035em;font-weight:800}
.static-hero>p{max-width:690px;margin:10px 0 0;color:#687066;font-size:.94rem;line-height:1.6}
.rich-text{font-size:1rem;line-height:1.72;color:#3f463e}
.rich-text h2{margin:31px 0 11px;font-size:1.3rem;line-height:1.25;letter-spacing:-.018em;color:#242a23;font-weight:700}
.rich-text h3{margin:24px 0 9px;font-size:1.08rem;line-height:1.3;color:#293028;font-weight:700}
.rich-text p{margin:0 0 15px;font-size:1rem!important;line-height:1.72!important;color:#424941!important}
.rich-text a{color:#579c31;text-decoration-thickness:1px;text-underline-offset:3px}
.rich-text ul,.rich-text ol{margin:4px 0 18px;padding-left:24px}.rich-text li{margin:7px 0;padding-left:2px}
.static-media{margin:25px 0 28px}.static-media img,.static-gallery img{width:100%;height:auto;display:block;border-radius:14px;border:1px solid #e2e7df;background:#f3f6f1}
.static-media figcaption,.static-gallery figcaption{margin-top:7px;color:#8b9289;font-size:.73rem;line-height:1.45}
.static-gallery{display:grid;grid-template-columns:1fr;gap:15px;margin:25px 0 29px}.static-gallery figure{margin:0;min-width:0}
.static-callout{margin:23px 0;padding:17px 18px;border-radius:13px;background:#f3f8f0;border:1px solid #deead8}.static-callout b{display:block;margin-bottom:6px;color:#315026;font-size:.92rem}.static-callout p{margin:0!important;font-size:.92rem!important;line-height:1.6!important;color:#53604f!important}
.static-note{display:inline-flex!important;width:auto;margin:0 0 5px!important;padding:7px 10px;border-radius:8px;background:#f5f7f4;color:#7c847a!important;font-size:.78rem!important;line-height:1.2!important}
.static-page footer{margin-top:0}
@media(min-width:620px){.static-gallery-two{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@media(min-width:480px) and (max-width:899px){.static-page .page{width:100%;max-width:none;margin:0;box-shadow:none}.static-shell{max-width:820px;padding:28px clamp(22px,4.5vw,34px) 56px}.static-hero h1{font-size:2.15rem}.static-hero>p{font-size:1rem}.rich-text{font-size:1.03rem}.rich-text p{font-size:1.03rem!important}.rich-text h2{font-size:1.4rem}}
@media(min-width:900px){
  .static-page .page{width:100%;max-width:none;margin:0;box-shadow:none;background:#fff}
  .static-page .header,.static-page .nav,.static-page .mobile-search,.static-page .search-backdrop{display:none!important}.static-page .desktop-header{display:block}
  .static-shell{width:min(calc(100% - clamp(32px,3.3vw,54px)),1240px);display:grid;grid-template-columns:minmax(0,780px) clamp(250px,22vw,300px);gap:clamp(28px,2.6vw,38px);align-items:start;justify-content:center;padding:36px 0 72px}
  .static-page .home-right{display:grid;gap:20px;position:sticky;top:80px;align-self:start}.static-page .home-right .side-popular{display:block}
  .static-hero{margin-bottom:28px;padding-bottom:26px}.static-hero h1{font-size:2.4rem}.static-hero>p{font-size:1.04rem;line-height:1.62}
  .rich-text{font-size:1.06rem;line-height:1.75}.rich-text p{font-size:1.06rem!important;line-height:1.75!important}.rich-text h2{margin-top:36px;font-size:1.5rem}.rich-text h3{font-size:1.18rem}
  .static-media{margin:29px 0 32px}.static-gallery{margin:29px 0 32px;gap:18px}
  .static-page footer{padding:34px max(24px,calc((100vw - 1320px)/2)) 20px}.static-page .footer-grid{grid-template-columns:1fr auto;gap:60px}.static-page .footer-about{flex-direction:row;align-items:center;gap:34px}.static-page .footer-brand{font-size:1.25rem}.static-page .footer-links{display:flex;flex-direction:row;gap:22px;margin:0}.static-page .footer-links a{font-size:.86rem}.static-page .footer-social{display:flex;gap:20px}.static-page .footer-social a{min-width:122px;gap:10px}
}
@media(min-width:900px) and (max-width:979px){.static-shell{width:min(calc(100% - 48px),820px);display:block;padding-top:34px}.static-page .home-right{display:none!important}}
@media(min-width:980px) and (max-width:1399px){.static-shell{width:min(calc(100% - clamp(30px,3vw,48px)),1240px);display:grid;grid-template-columns:minmax(0,780px) clamp(245px,21vw,295px);gap:clamp(24px,2.5vw,36px)}.static-page .home-right{display:grid!important}}
@media(min-width:1400px){
  .static-shell{width:min(calc(100% - 40px),1460px);grid-template-columns:clamp(268px,18vw,286px) minmax(0,770px) clamp(275px,19vw,300px);gap:clamp(28px,2vw,36px)}
  .static-page .home-left{display:grid;gap:0;position:sticky;top:80px;align-self:start}
  .static-page .home-editor-card{position:relative;overflow:hidden;padding:23px 21px 21px;border:1px solid #dfe9da;border-radius:16px;background:linear-gradient(145deg,#fbfdf9 0%,#f4f9f0 100%);box-shadow:0 10px 28px rgba(42,66,33,.075)}
  .static-page .home-editor-card::after{content:"";position:absolute;right:-36px;top:-42px;width:112px;height:112px;border-radius:50%;background:rgba(112,189,61,.08);pointer-events:none}
  .static-page .home-left-eyebrow{margin-bottom:15px;color:#6f776d;font-size:.71rem;letter-spacing:.07em}.static-page .home-editor{gap:14px;position:relative;z-index:1}.static-page .home-editor-avatar{width:56px;height:56px;flex-basis:56px;box-shadow:0 0 0 3px #fff,0 0 0 4px #d6e8cc}.static-page .home-editor b{font-size:.97rem}.static-page .home-editor small{font-size:.75rem}.static-page .home-editor-card p{margin:17px 0 15px;color:#5f685c;font-size:.83rem;line-height:1.58}.static-page .home-editor-link{display:inline-flex;align-items:center;min-height:34px;padding:0 11px;border:1px solid #d8e6d1;border-radius:9px;background:#fff;color:#4f8f30;font-size:.78rem;text-decoration:none}
}
@media(max-width:899px){.static-page .page{width:100%;max-width:none;margin:0;box-shadow:none}}


/* ===== v39 — one-template structure, refined desktop sharing, inline comment replies ===== */
@media(min-width:1400px){
  .article-page .desktop-share{margin-top:20px;padding-top:18px;border-top:1px solid #e6eae4}
  .article-page .desktop-share-title{margin-bottom:10px;font-size:.78rem;font-weight:700;color:#5f675d}
  .article-page .desktop-share-grid{display:grid;grid-template-columns:1fr;gap:7px}
  .article-page .desktop-share-btn{
    width:100%;min-width:0;height:42px;padding:0 10px;
    display:flex;align-items:center;justify-content:flex-start;gap:10px;
    border:1px solid #e1e6de;border-radius:11px;background:#fff;
    color:#414840;text-decoration:none;box-shadow:0 1px 0 rgba(26,42,19,.015);
    transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease,box-shadow .15s ease
  }
  .article-page .desktop-share-btn:hover{border-color:#c9dcc0;background:#f9fcf7;color:#3f7f25;box-shadow:0 5px 14px rgba(59,98,43,.06);transform:translateY(-1px)}
  .article-page .desktop-share-btn:active{transform:translateY(0)}
  .article-page .desktop-share-btn strong{font-size:.74rem;font-weight:650;white-space:nowrap}
  .article-page .share-brand{width:26px!important;height:26px!important;flex:0 0 26px;display:grid!important;place-items:center!important;border-radius:8px!important;color:#fff!important;font-size:.58rem!important;line-height:1!important;font-weight:800!important}
  .article-page .share-brand svg{width:15px;height:15px;display:block;fill:currentColor;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
  .article-page .share-vk .share-brand{background:#2787f5}
  .article-page .share-tg .share-brand{background:#2aabee}
  .article-page .share-ok .share-brand{background:#ee8208}
  .article-page .share-copy .share-brand{background:#707970}
  .article-page .desktop-share-btn.share-copy.copied{border-color:#b9d9aa;background:#f2faee;color:#47872b}
  .article-page .desktop-share-btn.share-copy.copied .share-brand{background:#70bd3d}
}

/* Reply editor shown directly under the selected comment. */
.comment-reply[aria-expanded="true"]{color:#4d932d}
.inline-reply-form{margin:13px 0 2px;padding:14px;border:1px solid #dfe7da;border-radius:13px;background:#f8faf7;animation:replyOpen .16s ease-out}
@keyframes replyOpen{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}
.reply-form-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.reply-form-head b{font-size:.88rem;line-height:1.25;color:#30362f}
.reply-close{width:28px;height:28px;padding:0;border:0;border-radius:50%;background:#eef2ec;color:#6d756b;font:500 1.15rem/1 Onest,Arial,sans-serif;cursor:pointer}
.reply-fields{display:grid;grid-template-columns:1fr;gap:10px}
.inline-reply-form label{display:block;margin:0}
.inline-reply-form label>span{display:block;margin:0 0 5px;color:#687067;font-size:.72rem;font-weight:650}
.inline-reply-form label em{font-style:normal;font-weight:400;color:#9aa098}
.inline-reply-form input,.inline-reply-form textarea{width:100%;border:1px solid #dde3d9;border-radius:9px;background:#fff;color:#293028;font:400 1rem/1.4 Onest,Arial,sans-serif;outline:0;transition:border-color .14s ease,box-shadow .14s ease}
.inline-reply-form input{height:42px;padding:0 11px}
.inline-reply-form textarea{min-height:92px;padding:10px 11px;resize:vertical}
.inline-reply-form input::placeholder,.inline-reply-form textarea::placeholder{color:#a0a69e;font-size:.82rem}
.inline-reply-form input:focus,.inline-reply-form textarea:focus{border-color:#93c877;box-shadow:0 0 0 3px rgba(112,189,61,.11)}
.reply-text{margin-top:10px!important}
.reply-actions{display:flex;align-items:center;gap:10px;margin-top:11px}
.reply-submit{min-height:39px;padding:0 15px;border:0;border-radius:9px;background:#70bd3d;color:#fff;font:650 .78rem/1 Onest,Arial,sans-serif;cursor:pointer}
.reply-cancel{min-height:39px;padding:0 9px;border:0;background:transparent;color:#777f75;font:550 .76rem/1 Onest,Arial,sans-serif;cursor:pointer}
.reply-sent-message{display:flex;align-items:center;gap:8px;min-height:42px;color:#4c8c2d}
.reply-sent-message span{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#70bd3d;color:#fff;font-size:.78rem;font-weight:800}
.reply-sent-message b{font-size:.82rem;font-weight:650}
@media(min-width:620px){.reply-fields{grid-template-columns:1fr 1fr;gap:12px}}
@media(min-width:900px){
  .inline-reply-form{margin-top:15px;padding:16px 17px}
  .reply-form-head b{font-size:.94rem}
  .inline-reply-form label>span{font-size:.77rem}
  .reply-submit{font-size:.82rem}
}


/* ===== v40 — unified article/static content + clearer interactions ===== */
/* Rating preview: pointer/focus on N stars paints all stars from 1 through N. */



/* Reply is intentionally quiet at rest, but unmistakably interactive on hover/focus. */
.comment-reply{
  display:inline-flex;align-items:center;gap:5px;
  margin-left:-6px;padding:4px 6px;
  border:1px solid transparent;border-radius:7px;
  cursor:pointer;text-decoration:none;
  transition:background .14s ease,border-color .14s ease,color .14s ease,transform .14s ease
}
.comment-reply::after{content:"↩";font-size:.92em;line-height:1;opacity:.58;transition:transform .14s ease,opacity .14s ease}
.comment-reply:hover,.comment-reply:focus-visible{
  color:#438525;background:#f1f8ed;border-color:#d8e9cf;outline:none
}
.comment-reply:hover::after,.comment-reply:focus-visible::after{opacity:1;transform:translateX(1px)}
.comment-reply:active{transform:translateY(1px)}

/* Static pages use the same reading system as an article, not a separate rich-text state. */
.static-main>h1{
  max-width:820px;margin:0 0 18px;
  font-size:clamp(1.375rem,6.2vw,1.5rem);line-height:1.18;letter-spacing:-.022em;
  font-weight:700;color:#202420
}
.static-content h2{font-size:1.3125rem;line-height:1.28;letter-spacing:-.01em;margin:27px 0 10px;font-weight:700;color:#242824}
.static-content h3{font-size:1.0625rem;line-height:1.35;letter-spacing:-.01em;margin:22px 0 9px;font-weight:700;color:#272d26}
.static-content p,.static-content li{font-size:1rem;line-height:1.62;color:#353b34}
.static-content p{margin:0 0 15px}
.static-content ul,.static-content ol{margin:9px 0 17px;padding-left:23px;color:#353b34}
.static-content li{padding-left:3px;margin:6px 0}
.static-content ul li::marker{color:#70bd3d;font-size:.85em}
.static-content ol li::marker{color:#579c31;font-weight:700}
.static-content p a,.static-content li a{color:#4f982a;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:#9ccf7e;font-weight:600}
.static-content .media-figure,.static-content .article-gallery-figure{margin:18px 0 21px}
.static-content .media-item img,.static-content .gallery-item img{display:block;width:100%;height:auto;background:#f3f6f1}
.static-content .media-single img{border-radius:12px}
.static-content .article-gallery{gap:7px}
.static-content .static-image-gallery-two{grid-template-columns:1fr 1fr}
.static-content .static-gallery-item{aspect-ratio:auto;border:1px solid #e2e7df;background:#f3f6f1}
.static-content .static-gallery-item img{width:100%;height:100%;aspect-ratio:5/3;object-fit:contain}
.media-lightbox-visual img.lightbox-demo{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;background:transparent}

@media (min-width:480px) and (max-width:899px){
  .static-main>h1{font-size:clamp(1.58rem,5vw,1.78rem);line-height:1.16}
}
@media (min-width:680px) and (max-width:899px){
  .static-main>h1{font-size:clamp(1.82rem,3.8vw,2.08rem);line-height:1.12}
}
@media (min-width:900px){
  .static-main>h1{margin:0 0 21px;font-size:clamp(2.18rem,3.15vw,2.72rem);line-height:1.05;letter-spacing:-.045em}
  .static-content h2{margin:38px 0 13px;font-size:clamp(1.56rem,1.35rem + .35vw,1.68rem);line-height:1.25;letter-spacing:-.025em}
  .static-content h3{margin:28px 0 11px;font-size:1.2rem;line-height:1.35}
  .static-content p,.static-content li{font-size:1.0625rem;line-height:1.7;color:#353a35}
  .static-content p{margin-bottom:17px}
  .static-content ul,.static-content ol{margin:11px 0 21px;padding-left:25px}
  .static-content .media-figure,.static-content .article-gallery-figure{margin:24px 0 28px}
  .static-content .media-figure figcaption,.static-content .article-gallery-figure figcaption{font-size:.72rem;margin-top:8px;color:#92998f}
  .static-content .article-gallery{gap:10px}
}


/* ===== v41 — stronger mobile UI scale + explicit rating hover preview ===== */
/* Empty-rating specificity used to wash out the JS-applied .active stars.
   Keep every previewed/selected star green, not only the star under the pointer. */



@media (max-width:899px){
  /* Shared mobile masthead: roughly the visual scale users get at ~110% zoom,
     without enlarging the long-form body text itself. */
  .header{height:58px}
  .logo{font-size:1.22rem;letter-spacing:-.95px}
  .menu-btn{width:36px;height:36px;padding:7px}
  .menu-btn span{width:20px;height:2px}
  .search{width:34px;height:34px;padding:6px}
  .search svg{width:22px;height:22px}

  /* Secondary horizontal category navigation. */
  .nav{
    height:44px;
    gap:clamp(19px,5.2vw,34px);
    overflow-x:auto;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .nav::-webkit-scrollbar{display:none}
  .nav a{
    flex:0 0 auto;
    padding:13px 0 12px;
    font-size:.9rem;
    line-height:1.2;
    font-weight:600;
  }
  .nav .active{font-weight:750}

  /* Drawer / primary mobile menu. */
  .drawer{width:320px;max-width:88%;padding-bottom:26px}
  .drawer-head{min-height:66px}
  .drawer-head .drawer-logo{font-size:1.28rem}
  .drawer-head button{width:40px;height:40px;font-size:1.8rem}
  .drawer-categories{padding:12px 0 15px}
  .drawer-categories a{
    padding:11px 0;
    font-size:1.02rem;
    line-height:1.3;
  }
  .drawer-about{padding:14px 0 6px!important;font-size:1rem!important}
  .drawer-social-btn{height:66px;font-size:.75rem}
  .drawer-social-btn>span{width:30px;height:30px}
  .drawer-social-btn img{width:21px;height:21px}

  /* Verification: trust information should read as content, not microcopy. */
  .article-main .verified-after,
  .verified-after{
    gap:11px;
    padding:14px 0;
    margin-bottom:20px;
  }
  .verified-after .verified-check{
    width:25px;height:25px;flex-basis:25px;font-size:.84rem;
  }
  .verified-after b{font-size:.9rem;line-height:1.3}
  .verified-after small{font-size:.78rem;line-height:1.4;margin-top:3px}

  /* Author block at the end of an article. */
  .author-card{padding:17px;border-radius:13px}
  .author-main{gap:12px}
  .author-card .avatar.big{width:54px;height:54px;flex-basis:54px}
  .author-card h3{font-size:1rem;line-height:1.25;margin-top:1px}
  .author-card h3 span{font-size:.68rem}
  .author-card small{font-size:.8rem;line-height:1.35}
  .author-card p{font-size:.9rem;line-height:1.56;margin-top:9px}
  .stats{gap:8px;margin:15px 0 12px;padding-top:12px}
  .stats b{font-size:.9rem;line-height:1.2}
  .stats small{font-size:.75rem;line-height:1.3;margin-top:3px}
  .all-author{font-size:.92rem;line-height:1.3;padding:10px 0 2px}

  /* Comments: less microcopy, larger tap targets and readable metadata. */
  .comments{margin-top:31px;padding-top:21px}
  .comments-head{margin-bottom:16px;gap:12px}
  .comments h2{font-size:1.3rem;line-height:1.2}
  .comments h2 small{font-size:.82rem}
  .comments-head button{font-size:.82rem;line-height:1.2;padding:9px 12px;border-radius:8px}
  .comment-item{grid-template-columns:38px minmax(0,1fr);gap:12px;padding:16px 0}
  .comment-avatar{width:38px;height:38px;font-size:.75rem}
  .comment-top{margin-bottom:6px}
  .comment-top b{font-size:.89rem;line-height:1.25}
  .comment-top b span{font-size:.62rem;padding:2px 6px}
  .comment-top time{font-size:.72rem;line-height:1.25}
  .comment-body p{font-size:.9rem;line-height:1.58;margin-bottom:8px}
  .comment-reply{font-size:.79rem;padding:5px 7px}
  .comment-answer{margin-left:30px;grid-template-columns:34px minmax(0,1fr);padding-left:12px}
  .comment-answer .comment-avatar{width:34px;height:34px}

  .comment-form{margin-top:10px;padding-top:21px}
  .comment-form h3{font-size:1.12rem;line-height:1.25;margin-bottom:6px}
  .comment-form-head p{font-size:.8rem;line-height:1.45;margin-bottom:15px}
  .comments label{font-size:.86rem;line-height:1.35;margin-bottom:13px}
  .comments input,.comments textarea{font-size:1rem;line-height:1.45;padding:11px}
  .comments .comment-form input::placeholder,
  .comments .comment-form textarea::placeholder{font-size:.86rem;line-height:1.4}
  .comments textarea{height:104px}
  .check{font-size:.82rem!important;gap:8px}
  .submit{height:44px;font-size:.92rem}

  /* Inline reply editor follows the same scale as the main comment form. */
  .inline-reply-form{padding:15px;border-radius:12px}
  .reply-form-head b{font-size:.94rem}
  .inline-reply-form label>span{font-size:.8rem}
  .inline-reply-form input::placeholder,.inline-reply-form textarea::placeholder{font-size:.85rem}
  .reply-submit{font-size:.86rem;min-height:41px}
  .reply-cancel{font-size:.82rem;min-height:41px}
}

@media (max-width:359px){
  .nav{gap:18px}
  .nav a{font-size:.86rem}
  .drawer{max-width:91%}
  .comment-top{align-items:flex-start;flex-direction:column;gap:3px}
  .comment-answer{margin-left:20px}
}

/* ===== v42 — mobile polish: clean canvas, clearer home hierarchy, anchor-safe sticky header ===== */
.visually-hidden{
  position:absolute!important;
  width:1px!important;height:1px!important;
  padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;border:0!important;
}

/* On phones/tablets the site is a full-width canvas, so the old 360px mockup shadow
   must never remain visible as a vertical strip at either edge. */
@media (max-width:899px){
  html,body{background:#fff}
  .page{box-shadow:none!important;border-left:0!important;border-right:0!important}

  /* Anchor navigation must land below the sticky 58px masthead. */
  html{scroll-padding-top:76px}
  .article-main article h2[id],
  .article-main article h3[id],
  .static-content h2[id],
  .static-content h3[id]{scroll-margin-top:76px}
}

/* Homepage section hierarchy: editorial choice first, latest feed second. */
.home-page .home-section-title h2{
  font-size:1.28rem;
  line-height:1.18;
  letter-spacing:-.022em;
  font-weight:700;
}
.home-page .editor-choice-icon,
.home-page .latest-posts-icon{
  width:29px;height:29px;flex:0 0 29px;
  display:grid;place-items:center;
  border-radius:9px;
  background:#edf7e8;
  box-shadow:inset 0 0 0 1px #dcebd4;
}
.home-page .editor-choice-icon svg{width:16px;height:16px}
.home-page .latest-posts-icon svg{
  width:17px;height:17px;display:block;
  fill:none;stroke:#67ad3e;stroke-width:1.9;
  stroke-linecap:round;stroke-linejoin:round;
}
.home-page .home-featured{margin-bottom:31px}
.home-page .home-latest-title{margin:0 0 8px}

/* Mobile cards are editorial content, not microcopy. */
@media (max-width:899px){
  .home-page .featured-editor-picks .featured-content>b{
    font-size:1.08rem;
    line-height:1.38;
  }
  .feed-copy>b{
    font-size:1.12rem;
    line-height:1.4;
  }
}
@media (max-width:359px){
  .home-page .featured-editor-picks .featured-content>b{font-size:1.03rem}
  .feed-copy>b{font-size:1.07rem}
}

@media (min-width:900px){
  .home-page .home-section-title h2{font-size:1.44rem}
  .home-page .editor-choice-icon,
  .home-page .latest-posts-icon{width:31px;height:31px;flex-basis:31px}
  .home-page .editor-choice-icon svg{width:17px;height:17px}
  .home-page .latest-posts-icon svg{width:18px;height:18px}
  .home-page .home-featured{margin-bottom:40px}
  .home-page .home-latest-title{margin-bottom:10px}
}

/* ===== v43 — mobile sticky masthead, clean edge and readable drawer socials ===== */
@media (max-width:899px){
  /* The off-canvas drawer used to keep its shadow even while translated outside
     the viewport, which could leave a faint full-height strip on the left. */
  html,body{overflow-x:clip}
  .page{box-shadow:none!important;filter:none!important}
  .drawer{box-shadow:none!important}
  .drawer.open{box-shadow:10px 0 30px rgba(0,0,0,.14)!important}

  /* Keep both rows of the mobile masthead visible while reading. */
  .header{
    position:sticky;
    top:0;
    z-index:6;
    background:rgba(255,255,255,.985);
  }
  .nav{
    position:sticky;
    top:58px;
    z-index:5;
    background:rgba(255,255,255,.985);
  }

  /* 58px header + 44px category row = 102px. Keep only a small visual gap
     after an anchor jump instead of the larger gap from v42. */
  html{scroll-padding-top:108px}
  .article-main article h2[id],
  .article-main article h3[id],
  .static-content h2[id],
  .static-content h3[id]{scroll-margin-top:108px}

  /* Social links in the drawer are rows, not cramped three-column tiles. */
  .drawer-social-section{padding:16px 0 17px}
  .drawer-social-title{margin-bottom:10px;font-size:.74rem}
  .drawer-social{
    display:grid;
    grid-template-columns:1fr!important;
    gap:7px!important;
    width:100%;
  }
  .drawer-social-btn{
    width:100%;
    min-width:0;
    min-height:52px!important;
    height:52px!important;
    padding:8px 11px!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:11px!important;
    border-radius:10px;
    overflow:visible;
  }
  .drawer-social-btn .drawer-social-icon,
  .drawer-social-btn>span:first-child{
    width:30px!important;
    height:30px!important;
    flex:0 0 30px!important;
    display:grid!important;
    place-items:center!important;
  }
  .drawer-social-btn .drawer-social-icon img,
  .drawer-social-btn>span:first-child img{
    width:22px!important;
    height:22px!important;
  }
  .drawer-social-btn>span:last-child{
    min-width:0;
    max-width:none!important;
    overflow:visible!important;
    text-overflow:clip!important;
    white-space:nowrap!important;
    font-size:.9rem!important;
    line-height:1.2!important;
    font-weight:600!important;
  }
}

@media (max-width:359px){
  .drawer-social-btn{height:50px!important;min-height:50px!important}
  .drawer-social-btn>span:last-child{font-size:.86rem!important}
}

/* ===== v44 — one-row mobile sticky header + tighter anchor offset + compact 10-item desktop TOC ===== */
@media (max-width:899px){
  /* Only the primary masthead stays pinned. The category row scrolls with content. */
  .header{
    position:sticky!important;
    top:0!important;
    z-index:8!important;
  }
  .nav{
    position:relative!important;
    top:auto!important;
    z-index:1!important;
  }

  /* 58px sticky header + ~8px breathing room after anchor navigation. */
  html{scroll-padding-top:66px!important}
  .article-main article h2[id],
  .article-main article h3[id],
  .static-content h2[id],
  .static-content h3[id]{scroll-margin-top:0!important}
}

/* A long review can easily have ten sections. Keep the wide-desktop TOC readable
   without letting it consume most of the viewport height. */
@media (min-width:1400px){
  .desktop-toc-card{
    padding:13px 0!important;
    max-height:calc(100vh - 100px);
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-width:thin;
    scrollbar-color:#d7ddd3 transparent;
  }
  .desktop-toc-title{
    margin-bottom:6px!important;
    padding:0 10px!important;
    font-size:.84rem!important;
  }
  .desktop-toc li a{
    grid-template-columns:22px minmax(0,1fr)!important;
    gap:5px!important;
    padding:7px 9px!important;
    font-size:.84rem!important;
    line-height:1.3!important;
  }
  .desktop-toc li a::before{
    font-size:.76rem!important;
    line-height:1.45!important;
  }
  .desktop-toc-tools.desktop-share{
    margin-top:13px!important;
    padding-top:13px!important;
  }
}


/* ===== v45 — full-height desktop TOC + stronger trust rail on home ===== */
@media (min-width:1400px){
  /* The TOC must never become its own scroll container. The document itself scrolls. */
  .desktop-toc-card{
    max-height:none!important;
    height:auto!important;
    overflow:visible!important;
    overflow-y:visible!important;
    overscroll-behavior:auto!important;
    scrollbar-width:auto!important;
  }
  .desktop-toc-card::-webkit-scrollbar{display:none!important}

  /* Slightly larger than v44, while keeping ten-item reviews reasonably compact. */
  .desktop-toc-title{
    margin-bottom:7px!important;
    padding:0 10px!important;
    font-size:.89rem!important;
    line-height:1.25!important;
  }
  .desktop-toc li a{
    grid-template-columns:23px minmax(0,1fr)!important;
    gap:6px!important;
    padding:7px 9px!important;
    font-size:.90rem!important;
    line-height:1.34!important;
  }
  .desktop-toc li a::before{
    font-size:.82rem!important;
    line-height:1.48!important;
  }

  /* Two deliberate trust blocks in the left rail on the homepage. */
  .home-page .home-left{gap:14px!important}
  .home-page .home-trust-card{
    position:relative;
    overflow:hidden;
    padding:20px 18px 18px;
    border:1px solid #e1e9dd;
    border-radius:16px;
    background:#fff;
    box-shadow:0 8px 24px rgba(36,52,31,.055);
  }
  .home-page .home-trust-card::before{
    content:"";
    position:absolute;
    right:-34px;
    top:-38px;
    width:104px;
    height:104px;
    border-radius:50%;
    background:#f1f8ed;
    pointer-events:none;
  }
  .home-page .home-trust-head{
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:13px;
  }
  .home-page .home-trust-icon{
    width:36px;
    height:36px;
    flex:0 0 36px;
    display:grid;
    place-items:center;
    border-radius:11px;
    background:#edf7e8;
    box-shadow:inset 0 0 0 1px #dbead3;
  }
  .home-page .home-trust-icon svg{
    width:20px;
    height:20px;
    fill:none;
    stroke:#63a93b;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .home-page .home-trust-head b{
    display:block;
    font-size:.98rem;
    line-height:1.2;
    letter-spacing:-.015em;
    color:#252a24;
  }
  .home-page .home-trust-head small{
    display:block;
    margin-top:3px;
    font-size:.73rem;
    line-height:1.3;
    color:#81887f;
  }
  .home-page .home-trust-list{
    position:relative;
    z-index:1;
    display:grid;
    gap:9px;
    margin:0 0 14px;
    padding:0;
    list-style:none;
  }
  .home-page .home-trust-list li{
    display:grid;
    grid-template-columns:17px minmax(0,1fr);
    gap:8px;
    align-items:start;
    color:#5d665a;
    font-size:.79rem;
    line-height:1.4;
  }
  .home-page .home-trust-list li::before{
    content:"✓";
    width:17px;
    height:17px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#edf7e8;
    color:#5ea237;
    font-size:.66rem;
    font-weight:800;
    line-height:1;
  }
  .home-page .home-trust-link{
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:38px;
    padding:0 11px 0 12px;
    border:1px solid #dce8d7;
    border-radius:10px;
    background:#f9fcf7;
    color:#4f8f30;
    font-size:.79rem;
    font-weight:700;
    text-decoration:none;
    transition:.18s ease;
  }
  .home-page .home-trust-link:hover{
    border-color:#c7dcbd;
    background:#f3f9ef;
    transform:translateY(-1px);
  }
  .home-page .home-trust-link svg{
    width:15px;
    height:15px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
}

/* If a very wide but unusually short viewport cannot comfortably host a sticky
   ten-item TOC, let it participate in normal document flow instead of adding an
   inner scrollbar. */
@media (min-width:1400px) and (max-height:760px){
  .desktop-toc{position:static!important;top:auto!important}
}

/* ===== v46 — one unified editorial-trust card on home and category ===== */
.home-editor-copy{min-width:0;display:block}
.home-editor-name{display:flex;align-items:center;gap:6px;min-width:0}
.home-editor-name b{min-width:0}
.home-editor-check{
  width:17px;height:17px;flex:0 0 17px;display:inline-grid;place-items:center;
  border-radius:50%;color:#fff;vertical-align:middle;
}
.home-editor-check svg{width:17px;height:17px;display:block}
.home-editor-check svg circle{fill:#70bd3d;stroke:none}
.home-editor-check svg path{fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.home-editor-actions{display:grid;gap:8px;margin-top:14px;position:relative;z-index:1}
.home-editor-actions .home-editor-link{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;
  min-height:38px;padding:0 12px!important;border-radius:10px!important;text-decoration:none!important;
}
.home-editor-actions .home-editor-link svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.home-editor-actions .home-editor-about-link{
  color:#384136!important;border-color:#e2e7df!important;background:rgba(255,255,255,.72)!important;
}
.home-editor-actions .home-editor-about-link:hover{color:#4f8f30!important;border-color:#cfe0c7!important;background:#fff!important}

@media(min-width:1400px){
  .home-page .home-left,.category-page .home-left{gap:0!important}
  .home-page .home-editor-card,.category-page .home-editor-card{padding-bottom:18px!important}
  .home-page .home-editor-card p,.category-page .home-editor-card p{margin-bottom:0!important}
}


/* ===== v47 — unified editorial card actions + unified trust surfaces ===== */
/* The editorial card is shared by home, category and static templates. */
.home-editor-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:14px;
}
.home-editor-actions .home-editor-link,
.static-page .home-editor-actions .home-editor-link,
.category-page .home-editor-actions .home-editor-link,
.home-page .home-editor-actions .home-editor-link{
  width:100%;
  min-height:40px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:0 11px!important;
  border:1px solid #d8e6d1!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#4f8f30!important;
  font-size:.78rem!important;
  line-height:1.2;
  font-weight:700;
  text-decoration:none!important;
  transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease;
}
.home-editor-actions .home-editor-link:hover,
.home-editor-actions .home-editor-link:focus-visible{
  border-color:#c5dcbc!important;
  background:#f8fcf5!important;
  color:#447f2a!important;
  outline:none;
  transform:translateY(-1px);
}
.home-editor-actions .home-editor-link svg{
  width:17px;
  height:17px;
  flex:0 0 17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* Article interaction/trust blocks use one soft AndroidLime green surface. */
.article-page .author-card,
.article-page .comment-form{
  background:#f6fbf2;
  border-color:#dce8d7;
}
.article-page .comment-form input[type="text"],
.article-page .comment-form input[type="email"],
.article-page .comment-form textarea{
  background:#fff;
}

@media (max-width:359px){
  .home-editor-actions{grid-template-columns:1fr;gap:7px}
}

/* ===== v48 — article trust / interactions refinements ===== */
/* Restore the neutral comment form: only the author card keeps the soft trust tint. */
.article-page .comment-form{
  background:transparent;
  border-color:transparent;
}
.article-page .comment-form input[type="text"],
.article-page .comment-form input[type="email"],
.article-page .comment-form textarea{
  background:#fff;
}

/* Top byline gets the same permanent-author verification mark as the end card. */
.top-author-name-row{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
}
.top-author-name-row .author-name-link{min-width:0;text-decoration:none}
.top-author-name-row .author-badge{width:16px;height:16px;flex-basis:16px;font-size:.64rem!important}
.top-author-name-row .author-badge::after{content:"Постоянный автор"}

/* Publication date tooltip: date itself stays visually quiet, context appears on hover/focus. */
.meta-date{
  position:relative;
  cursor:help;
  outline:none;
}
.meta-date::after{
  content:"Дата последнего обновления";
  position:absolute;
  left:50%;
  bottom:calc(100% + 8px);
  transform:translateX(-50%) translateY(3px);
  width:max-content;
  max-width:220px;
  padding:7px 9px;
  border-radius:7px;
  background:#222822;
  color:#fff;
  font-size:.6875rem;
  line-height:1.25;
  font-weight:500;
  white-space:nowrap;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:.14s ease;
  z-index:16;
}
.meta-date:hover::after,.meta-date:focus-visible::after{
  opacity:1;
  visibility:visible;
  transform:translateX(-50%) translateY(0);
}

/* Author proof points: a bit larger and easier to scan without turning them into a separate card. */
.article-page .author-card .stats{
  gap:10px;
  margin:17px 0 13px;
  padding-top:13px;
}
.article-page .author-card .stats b{
  font-size:1rem;
  line-height:1.15;
  font-weight:800;
  color:#20261f;
}
.article-page .author-card .stats small{
  font-size:.78rem;
  line-height:1.32;
  margin-top:4px;
  color:#747d72;
}

/* Related stories are full-card links and show affordance on desktop. */
.related-card{cursor:pointer}
.related-card b,.related-card .thumb{transition:color .16s ease,transform .16s ease,box-shadow .16s ease}
@media (hover:hover){
  .related-card:hover b{color:#559c31}
  .related-card:hover .thumb{transform:translateY(-2px);box-shadow:0 7px 18px rgba(27,42,22,.08)}
}

/* Comment count reads as an actual count, not tiny metadata. */
.comments h2 small{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:28px;
  height:24px;
  margin-left:6px;
  padding:0 8px;
  border-radius:999px;
  background:#eef7e9;
  color:#559c31;
  font-size:.78rem;
  line-height:1;
  font-weight:800;
  vertical-align:middle;
}

@media (min-width:900px){
  .article-main .author-card .stats b{font-size:1.02rem}
  .article-main .author-card .stats small{font-size:.79rem}
  .article-main .comments h2 small{font-size:.8rem;min-width:30px;height:25px}
}

@media (max-width:899px){
  .top-author-name-row .author-badge::after,.meta-date::after{max-width:190px}
  .article-page .author-card .stats b{font-size:1.02rem}
  .article-page .author-card .stats small{font-size:.78rem}
  .comments h2 small{font-size:.8rem;min-width:30px;height:25px}
}


/* ===== v49 — unified feed cards + cleaner mobile comments header ===== */
/* Comments title and count form one clear unit on phones. */
.comments-head h2{
  display:flex;
  align-items:center;
  gap:8px;
}
.comments h2 small{
  margin-left:0;
}

@media (max-width:479px){
  .article-page .comments-head{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:10px;
    margin-bottom:17px;
  }
  .article-page .comments-head h2{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:9px;
    font-size:1.34rem;
    line-height:1.15;
  }
  .article-page .comments-head h2 small{
    min-width:27px;
    width:27px;
    height:27px;
    padding:0;
    display:inline-grid;
    place-items:center;
    border-radius:50%;
    background:#eef7e9;
    color:#559c31;
    font-size:.78rem;
    line-height:1;
    font-weight:800;
    flex:0 0 27px;
  }
  .article-page .comments-head button{
    width:100%;
    min-height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0 14px;
    border-color:#d9e5d3;
    background:#f8fbf6;
    color:#4f8f30;
    font-size:.86rem;
    font-weight:700;
  }
  .article-page .comments-head button:active{
    background:#eef6e9;
  }
}

@media (min-width:480px) and (max-width:899px){
  .article-page .comments-head h2{gap:8px}
}


/* ===== v50 — publication/update dates + one canonical feed-card component ===== */
/*
   IMPORTANT: .feed-card is the single publication-card component used by both
   index.html and category.html. Do not add page-scoped typography variants for it.
*/

/* Article metadata: publication date, author update date, comments. */
.article-page .article-dates{
  display:flex;
  align-items:center;
  flex-wrap:nowrap;
  gap:8px 14px;
  white-space:nowrap;
}
.article-page .article-dates .meta-info{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#757d74;
  cursor:help;
  outline:none;
  font-weight:500;
}
.article-page .article-dates .meta-info svg{
  width:16px;
  height:16px;
  flex:0 0 16px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.article-page .article-dates .meta-comments{
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:#609d3b;
  font-weight:700;
  text-decoration:none;
  flex:0 0 auto;
}
.article-page .article-dates .meta-comments svg{
  width:17px;
  height:17px;
  flex:0 0 17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.article-page .article-dates .meta-info::before{
  content:attr(data-tooltip);
  position:absolute;
  left:50%;
  bottom:calc(100% + 8px);
  transform:translateX(-50%) translateY(3px);
  width:max-content;
  max-width:min(260px,80vw);
  padding:7px 9px;
  border-radius:7px;
  background:#222822;
  color:#fff;
  font-size:.6875rem;
  line-height:1.25;
  font-weight:500;
  white-space:nowrap;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:.14s ease;
  z-index:20;
}
.article-page .article-dates .meta-info:hover::before,
.article-page .article-dates .meta-info:focus-visible::before{
  opacity:1;
  visibility:visible;
  transform:translateX(-50%) translateY(0);
}
/* Disable the obsolete v48 tooltip attached to .meta-date. */
.article-page .article-dates .meta-date::after{content:none!important}
.article-page .article-dates span:not(:last-child)::after,
.article-page .article-dates a:not(:last-child)::after{content:none!important}

@media (max-width:479px){
  .article-page .article-dates{gap:8px;font-size:.75rem;width:100%;justify-content:flex-start}
  .article-page .article-dates .meta-info{gap:4px;min-width:0}
  .article-page .article-dates .meta-info svg{width:16px;height:16px;flex-basis:16px}
  .article-page .article-dates .meta-comments{gap:4px;margin-left:1px}
  .article-page .article-dates .meta-comments svg{width:16px;height:16px;flex-basis:16px}
  .article-page .article-dates .meta-info::before{font-size:.7rem}
}
@media (max-width:359px){
  .article-page .article-dates{gap:6px;font-size:.7rem}
  .article-page .article-dates .meta-info{gap:3px}
  .article-page .article-dates .meta-info svg,
  .article-page .article-dates .meta-comments svg{width:15px;height:15px;flex-basis:15px}
}
@media (min-width:900px){
  .article-main .article-dates{
    padding-left:22px;
    gap:10px 18px;
  }
  .article-main .article-dates .meta-info svg{width:17px;height:17px;flex-basis:17px}
}

/* Canonical publication-card typography. Home and category intentionally share this. */
.feed-card{display:grid;grid-template-columns:1fr;gap:0;padding:17px 0;border-bottom:1px solid #e9ece7;text-decoration:none}
.feed-card:first-of-type{padding-top:11px}
.feed-card>img{width:100%;aspect-ratio:16/9;display:block;object-fit:cover;border-radius:12px;background:#e2e7df}
.feed-copy{display:block;min-width:0;padding-top:11px}
.feed-copy>b{display:block;color:#262c25;font-size:1.12rem;line-height:1.4;letter-spacing:-.012em;font-weight:700}
.feed-copy p{margin:7px 0 0!important;color:#6a7268!important;font-size:.82rem!important;line-height:1.5!important}
.feed-copy .card-meta{margin-top:8px}

@media (max-width:359px){
  .feed-copy>b{font-size:1.07rem}
}
@media (min-width:480px) and (max-width:899px){
  .feed-card{grid-template-columns:clamp(190px,34vw,245px) minmax(0,1fr);gap:18px;align-items:center;padding:18px 0}
  .feed-card>img{aspect-ratio:16/10;border-radius:13px}
  .feed-copy{padding-top:0}
  .feed-copy>b{font-size:1.06rem;line-height:1.4}
  .feed-copy p{font-size:.84rem!important;line-height:1.5!important}
}
@media (min-width:900px){
  .feed-card{grid-template-columns:250px minmax(0,1fr);gap:21px;align-items:center;padding:20px 0}
  .feed-card>img{aspect-ratio:16/10;border-radius:14px}
  .feed-copy{padding:0}
  .feed-copy>b{font-size:1.12rem;line-height:1.4}
  .feed-copy p{font-size:.88rem!important;line-height:1.55!important}
  .feed-card:hover .feed-copy>b{color:#579c31}
}


/* ===== v52 — article tags / WordPress-style labels ===== */
.article-tags{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:23px 0 0;padding:0}
.article-tags-title{display:inline-flex;align-items:center;gap:6px;color:#7d857b;font-size:.78rem;font-weight:650;white-space:nowrap}
.article-tags-title svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.article-tags-list{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.article-tags-list a{display:inline-flex;align-items:center;min-height:32px;padding:6px 11px;border:1px solid #dde5d8;border-radius:999px;background:#f8faf7;color:#4d574a;text-decoration:none;font-size:.78rem;font-weight:600;line-height:1.15;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}
.article-tags-list a:hover,.article-tags-list a:focus-visible{background:#eef7e9;border-color:#bdd8ac;color:#4f932e;outline:none}
@media (min-width:900px){.article-tags{margin-top:28px;gap:12px}.article-tags-title{font-size:.8rem}.article-tags-list a{min-height:34px;padding:7px 12px;font-size:.8rem}.article-tags-list a:hover{transform:translateY(-1px)}}
@media (max-width:479px){.article-tags{gap:8px;margin-top:21px}.article-tags-title{width:100%;font-size:.76rem}.article-tags-list{gap:6px}.article-tags-list a{min-height:31px;padding:6px 10px;font-size:.76rem}}

/* v53 — post-article flow: tags → verified → author → subscriptions → related */
.article-tags + .verified-after{margin-top:18px}
.author-card + .subscribe{margin-top:18px}
.subscribe + .related{margin-top:0}
@media (min-width:900px){
  .article-main .article-tags + .verified-after{margin-top:22px}
  .article-main .author-card + .subscribe{margin-top:18px}
  .article-main .subscribe + .related{margin-top:18px}
}


/* ===== v54 — larger tags, stronger verification, single editor's pick state ===== */
.article-tags{
  margin-top:24px;
}
.article-tags-list{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.article-tags-list a{
  min-height:36px;
  padding:8px 13px;
  font-size:.84rem;
  font-weight:650;
}
.article-tags + .verified-after{margin-top:20px}

/* Verification is a high-trust element: slightly stronger at every width. */
.article-main .verified-after,
.verified-after{
  gap:12px;
  padding:15px 14px;
}
.verified-after .verified-check{
  width:28px;
  height:28px;
  flex-basis:28px;
  font-size:.9rem;
}
.verified-after b{
  font-size:.98rem;
  line-height:1.3;
  font-weight:700;
}
.verified-after small{
  margin-top:4px;
  font-size:.82rem;
  line-height:1.4;
}

/* One editorial pick: automatically spans the whole editorial column. */
.home-page .featured-editor-picks .featured-card:only-child{
  grid-column:1 / -1;
}
.home-page .featured-editor-picks .featured-card:only-child .featured-image{
  aspect-ratio:16/8.4;
}
.home-page .featured-editor-picks .featured-card:only-child .featured-content>b{
  font-size:1.08rem;
}

@media (min-width:480px){
  .article-tags-list a{min-height:38px;padding:8px 14px;font-size:.86rem}
  .home-page .featured-editor-picks .featured-card:only-child .featured-content{padding:15px 17px 17px}
  .home-page .featured-editor-picks .featured-card:only-child .featured-content>b{font-size:1.16rem;line-height:1.34}
}
@media (min-width:900px){
  .article-tags{margin-top:29px}
  .article-tags-list a{min-height:39px;padding:9px 15px;font-size:.87rem}
  .article-tags + .verified-after{margin-top:24px}
  .article-main .verified-after,
  .verified-after{padding:17px 16px;gap:13px}
  .verified-after .verified-check{width:30px;height:30px;flex-basis:30px;font-size:.96rem}
  .verified-after b{font-size:1.02rem}
  .verified-after small{font-size:.84rem}
  .home-page .featured-editor-picks .featured-card:only-child .featured-image{aspect-ratio:16/7.6}
  .home-page .featured-editor-picks .featured-card:only-child .featured-content{padding:17px 19px 19px}
  .home-page .featured-editor-picks .featured-card:only-child .featured-content>b{font-size:1.28rem;line-height:1.32}
}
@media (max-width:359px){
  .article-tags-list{gap:6px}
  .article-tags-list a{min-height:34px;padding:7px 11px;font-size:.8rem}
  .verified-after b{font-size:.93rem}
  .verified-after small{font-size:.78rem}
}

/* ===== v55 — stronger article byline + unified author verification card ===== */
/* The byline is primary trust metadata, not microcopy. */
.article-page .article-byline{
  margin-bottom:21px;
}
.article-page .top-author{
  gap:12px;
}
.article-page .top-author .avatar{
  width:40px;
  height:40px;
  flex:0 0 40px;
}
.article-page .top-author b{
  font-size:.96rem;
  line-height:1.2;
  font-weight:750;
}
.article-page .top-author small{
  font-size:.81rem;
  line-height:1.3;
  margin-top:3px;
}
.article-page .top-author-name-row .author-badge{
  width:17px;
  height:17px;
  flex-basis:17px;
  font-size:.67rem!important;
}
.article-page .article-dates{
  font-size:.82rem;
  gap:8px 12px;
}
.article-page .article-dates .meta-info svg,
.article-page .article-dates .meta-comments svg{
  width:18px;
  height:18px;
  flex-basis:18px;
}
.article-page .article-dates .meta-comments{
  font-size:.86rem;
  font-weight:800;
}

/* Verification + author are one trust module: the author directly owns the review/update. */
.article-page .article-trust-card{
  margin:22px 0 24px;
  border:1px solid #dce8d7;
  border-radius:15px;
  background:#f6fbf2;
  overflow:visible;
}
.article-page .article-trust-card .verified-after{
  margin:0;
  padding:16px 17px 15px;
  gap:12px;
  background:transparent;
  border:0;
  border-radius:0;
}
.article-page .article-trust-card .verified-after .verified-check{
  width:29px;
  height:29px;
  flex:0 0 29px;
  font-size:.92rem;
}
.article-page .article-trust-card .verified-after b{
  font-size:1rem;
  line-height:1.25;
  color:#20261f;
  font-weight:800;
}
.article-page .article-trust-card .verified-after small{
  margin-top:4px;
  font-size:.81rem;
  line-height:1.35;
  color:#6f786d;
}
.article-page .article-trust-card .author-card{
  margin:0;
  padding:16px 17px 17px;
  border:0;
  border-top:1px solid #dfe9da;
  border-radius:0 0 15px 15px;
  background:transparent;
}
.article-page .article-trust-card .reviewed-by{
  margin:0 0 11px;
  color:#67815a;
  font-size:.73rem;
  line-height:1.25;
  font-weight:700;
  letter-spacing:.01em;
}
.article-page .article-trust-card .author-card .avatar.big{
  box-shadow:0 0 0 3px #fff,0 0 0 4px #d6e6ce;
}

@media (min-width:900px){
  .article-main .article-byline{gap:27px;margin-bottom:24px}
  .article-main .top-author .avatar{width:44px;height:44px;flex-basis:44px}
  .article-main .top-author b{font-size:.94rem}
  .article-main .top-author small{font-size:.78rem}
  .article-main .article-dates{
    padding-left:24px;
    font-size:.84rem;
    gap:11px 18px;
  }
  .article-main .article-dates .meta-info svg,
  .article-main .article-dates .meta-comments svg{
    width:19px;height:19px;flex-basis:19px;
  }
  .article-main .article-trust-card{margin-top:24px;margin-bottom:26px}
  .article-main .article-trust-card .verified-after{padding:17px 20px 16px}
  .article-main .article-trust-card .verified-after b{font-size:1.04rem}
  .article-main .article-trust-card .verified-after small{font-size:.84rem}
  .article-main .article-trust-card .author-card{padding:18px 20px 19px}
  .article-main .article-trust-card .reviewed-by{font-size:.77rem;margin-bottom:12px}
}

@media (max-width:479px){
  .article-page .top-author{gap:11px;margin-bottom:12px}
  .article-page .top-author .avatar{width:39px;height:39px;flex-basis:39px}
  .article-page .top-author b{font-size:.92rem}
  .article-page .top-author small{font-size:.78rem}
  .article-page .article-dates{
    font-size:.78rem;
    gap:7px 9px;
  }
  .article-page .article-dates .meta-info svg,
  .article-page .article-dates .meta-comments svg{
    width:17px;height:17px;flex-basis:17px;
  }
  .article-page .article-trust-card{margin:20px 0 23px;border-radius:14px}
  .article-page .article-trust-card .verified-after{padding:15px 15px 14px}
  .article-page .article-trust-card .verified-after .verified-check{width:28px;height:28px;flex-basis:28px}
  .article-page .article-trust-card .verified-after b{font-size:.96rem}
  .article-page .article-trust-card .verified-after small{font-size:.79rem}
  .article-page .article-trust-card .author-card{padding:15px}
  .article-page .article-trust-card .reviewed-by{font-size:.72rem}
}

@media (max-width:359px){
  .article-page .top-author .avatar{width:37px;height:37px;flex-basis:37px}
  .article-page .top-author b{font-size:.88rem}
  .article-page .top-author small{font-size:.74rem}
  .article-page .article-dates{font-size:.72rem;gap:6px 7px}
  .article-page .article-dates .meta-info svg,
  .article-page .article-dates .meta-comments svg{width:16px;height:16px;flex-basis:16px}
}

/* =========================================================
   v56 — SEARCH RESULTS
   Search results reuse the canonical .feed-card component.
   ========================================================= */
.search-results-hero{margin:0 0 10px;padding:0 0 26px;border-bottom:1px solid #e8ece6}
.search-results-hero h1{margin:0;color:#20241f;font-size:1.9rem;line-height:1.06;letter-spacing:-.035em;font-weight:800}
.search-results-summary{margin:10px 0 0;color:#687066;font-size:.9rem;line-height:1.5}
.search-results-summary strong{color:#252a24;font-weight:700}.search-results-summary b{color:#5a6258;font-weight:600}
.search-results-form{display:flex;align-items:stretch;gap:9px;margin-top:18px;max-width:650px}
.search-results-field{display:flex;align-items:center;gap:10px;flex:1;min-width:0;height:46px;padding:0 14px;border:1px solid #dfe5dc;border-radius:12px;background:#fff;box-shadow:0 1px 0 rgba(38,49,33,.02);transition:border-color .15s ease,box-shadow .15s ease}
.search-results-field:focus-within{border-color:#91c874;box-shadow:0 0 0 3px rgba(112,189,61,.11)}
.search-results-field svg{width:19px;height:19px;flex:0 0 19px;fill:none;stroke:#7d857a;stroke-width:1.8;stroke-linecap:round}
.search-results-field input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#232823;font:500 1rem/1.2 Onest,Arial,sans-serif}
.search-results-field input::placeholder{color:#9aa097}
.search-results-submit{min-width:92px;height:46px;padding:0 20px;border:0;border-radius:12px;background:#70bd3d;color:#fff;font:700 .92rem/1 Onest,Arial,sans-serif;cursor:pointer;transition:background .14s ease,transform .14s ease,box-shadow .14s ease;box-shadow:0 5px 13px rgba(85,150,48,.15)}
.search-results-submit:hover{background:#62ad33;box-shadow:0 6px 15px rgba(85,150,48,.2)}.search-results-submit:active{transform:scale(.98)}
.search-hit{padding:0 .08em;border-radius:.18em;background:#eaf6e3;color:inherit}
.search-page .home-feed{margin-top:2px}
@media(max-width:359px){.search-results-hero h1{font-size:1.7rem}.search-results-summary{font-size:.84rem}.search-results-form{gap:7px}.search-results-field{height:44px;padding:0 11px}.search-results-submit{min-width:78px;height:44px;padding:0 14px;font-size:.84rem}}
@media(min-width:480px){.search-results-hero{padding-bottom:28px}.search-results-hero h1{font-size:2.15rem}.search-results-summary{font-size:.95rem}.search-results-form{margin-top:20px}}
@media(min-width:980px){.search-results-hero{margin-bottom:13px;padding-bottom:29px}.search-results-hero h1{font-size:2.4rem}.search-results-summary{font-size:1rem}.search-results-form{margin-top:21px}.search-results-field,.search-results-submit{height:48px}}

/* ===== v58 — trust heading weight + single desktop stat dividers ===== */
.article-page .article-trust-card .verified-after b{
  font-weight:500;
}

/* Base/mobile layout uses left borders; desktop previously added right borders too,
   which created double separators. Keep only one separator between stat cells. */
@media (min-width:900px){
  .article-main .stats>div{
    border-left:0;
  }
  .article-main .stats>div:not(:last-child){
    border-right:1px solid #e3e7e0;
  }
  .article-main .stats>div:last-child{
    border-right:0;
  }
}


/* v61 — Preferred Source CTA: clean white card + star accent */
.subscribe>a.google-source{
  position:relative;
  border:1px solid #dfe4dc;
  background:#fff;
  color:#20251f;
  box-shadow:0 3px 12px rgba(20,28,18,.055);
}
.subscribe>a.google-source .social{
  background:#fff;
  border:1px solid #e1e6df;
}
.subscribe>a.google-source .google-logo-box img{
  width:26px;
  height:26px;
  display:block;
}
.subscribe>a.google-source .sub-copy b{
  color:#20251f;
  font-weight:700;
}
.subscribe>a.google-source .sub-copy small{
  color:#6f756d;
  opacity:1;
}
.google-source-star{
  width:30px;
  height:30px;
  flex:0 0 30px;
  margin-left:auto;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#f4f8f1;
  color:#70bd3d;
  font-size:1rem;
  line-height:1;
  font-weight:800;
}
.subscribe>a.google-source>strong{
  margin-left:8px;
  color:#5d655b;
  opacity:1;
}
.subscribe>a.google-source:hover{
  border-color:#a9c89a;
  background:#fff;
  transform:translateY(-1px);
  box-shadow:0 5px 16px rgba(20,28,18,.075);
}
.subscribe>a.google-source:hover .google-source-star{
  background:#edf6e8;
  color:#5fa633;
}
@media (min-width:900px){
  .article-main .subscribe>a.google-source{
    grid-column:1 / -1;
    min-height:72px;
    padding:12px 14px;
  }
  .article-main .subscribe>a.google-source .social{
    width:44px;
    height:44px;
    flex-basis:44px;
  }
  .article-main .subscribe>a.google-source .sub-copy b{
    font-size:1rem;
  }
  .article-main .subscribe>a.google-source .sub-copy small{
    font-size:.8125rem;
  }
  .google-source-star{
    width:34px;
    height:34px;
    flex-basis:34px;
    font-size:1.125rem;
  }
}
@media (max-width:899px){
  .subscribe>a.google-source{
    min-height:66px;
  }
  .subscribe>a.google-source .sub-copy b{font-size:.9375rem}
  .subscribe>a.google-source .sub-copy small{font-size:.75rem}
}


/* ===== v60 — post-article flow: tags → subscriptions → verification/author → related ===== */
.article-page .article-tags + .subscribe{margin-top:18px}
.article-page .subscribe + .article-trust-card{margin-top:20px}
@media (min-width:900px){
  .article-main .article-tags + .subscribe{margin-top:22px}
  .article-main .subscribe + .article-trust-card{margin-top:24px}
}


/* v62 — Preferred Source CTA: cleaner mobile layout, one visual accent */
.google-source-star{
  width:38px;
  height:38px;
  flex:0 0 38px;
  margin-left:auto;
  background:#f4f8f1;
  color:#70bd3d;
  font-size:1.35rem;
  font-weight:800;
}
.subscribe>a.google-source>strong{display:none!important}
@media (min-width:900px){
  .google-source-star{
    width:42px;
    height:42px;
    flex-basis:42px;
    font-size:1.5rem;
  }
}
@media (max-width:420px){
  .subscribe>a.google-source{
    min-height:60px;
    padding:8px 10px;
  }
  .subscribe>a.google-source .sub-copy{
    gap:0;
  }
  .subscribe>a.google-source .sub-copy small{
    display:none;
  }
  .google-source-star{
    width:40px;
    height:40px;
    flex-basis:40px;
    font-size:1.45rem;
  }
}
@media (max-width:340px){
  .subscribe>a.google-source .social{
    width:34px;
    height:34px;
    flex-basis:34px;
  }
  .subscribe>a.google-source .google-logo-box img{
    width:23px;
    height:23px;
  }
  .subscribe>a.google-source .sub-copy{
    margin-left:8px;
  }
  .subscribe>a.google-source .sub-copy b{
    font-size:.875rem;
  }
  .google-source-star{
    width:36px;
    height:36px;
    flex-basis:36px;
    font-size:1.3rem;
  }
}
\n\n/* ===== v63 — comment form success / error states ===== */\n.comment-form-status{\n  display:none;\n  grid-column:1/-1;\n  align-items:center;\n  gap:9px;\n  margin-top:12px;\n  padding:11px 12px;\n  border-radius:10px;\n  font-size:.82rem;\n  line-height:1.4;\n  font-weight:550;\n}\n.comment-form-status.is-success,.comment-form-status.is-error{display:flex}\n.comment-form-status.is-success{background:#f1f8ed;border:1px solid #d5e9ca;color:#3f7727}\n.comment-form-status.is-error{background:#fff4f2;border:1px solid #f0d1cb;color:#a84538}\n.comment-status-icon{\n  width:24px;height:24px;flex:0 0 24px;display:grid;place-items:center;border-radius:50%;\n  color:#fff;font-size:.78rem;font-weight:800;line-height:1\n}\n.comment-form-status.is-success .comment-status-icon{background:#70bd3d}\n.comment-form-status.is-error .comment-status-icon{background:#d86151}\n.comments .comment-form .input-error,.inline-reply-form .input-error{\n  border-color:#d86151!important;\n  box-shadow:0 0 0 3px rgba(216,97,81,.10)!important\n}\n.comment-form .submit:disabled{opacity:.66;cursor:wait}\n.reply-form-status{display:none;align-items:center;gap:8px;margin-top:10px;padding:9px 10px;border-radius:9px;font-size:.78rem;line-height:1.35}\n.reply-form-status.is-error{display:flex;background:#fff4f2;border:1px solid #f0d1cb;color:#a84538}\n.reply-form-status.is-error>span{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#d86151;color:#fff;font-weight:800}\n@media (max-width:899px){\n  .comment-form-status{font-size:.86rem;padding:12px}\n}\n

/* ===== v64 — unified comment form feedback ===== */
/* Main comment form now uses the same compact feedback language as inline replies. */
.comment-form-status{
  display:none;
  grid-column:1/-1;
  align-items:center;
  gap:8px;
  margin-top:10px;
  padding:9px 10px;
  border-radius:9px;
  font-size:.78rem;
  line-height:1.35;
  font-weight:650;
}
.comment-form-status.is-error{
  display:flex;
  background:#fff4f2;
  border:1px solid #f0d1cb;
  color:#a84538;
}
.comment-form-status.is-success{
  display:flex;
  min-height:42px;
  padding:0;
  background:transparent;
  border:0;
  color:#4c8c2d;
}
.comment-status-icon{
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:50%;
  color:#fff;
  line-height:1;
  font-weight:800;
}
.comment-form-status.is-error .comment-status-icon{
  width:22px;
  height:22px;
  background:#d86151;
  font-size:.76rem;
}
.comment-form-status.is-success .comment-status-icon{
  width:24px;
  height:24px;
  background:#70bd3d;
  font-size:.78rem;
}
@media (max-width:899px){
  .comment-form-status{font-size:.8rem;padding:9px 10px}
  .comment-form-status.is-success{padding:0}
}


/* ===== v65 — simplified comment form feedback ===== */
/* Notification subscription checkbox removed from the main comment form. */
.article-page .comment-form-status.is-success{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:0;
  margin-top:14px;
  padding:11px 13px;
  background:#f6fbf2;
  border:1px solid #dce8d7;
  border-radius:11px;
  color:#3f7727;
  font-size:.82rem;
  font-weight:600;
  line-height:1.4;
}
.article-page .comment-form-status.is-success .comment-status-icon{
  width:24px;
  height:24px;
  flex:0 0 24px;
  background:#70bd3d;
  color:#fff;
  font-size:.78rem;
}
@media (max-width:899px){
  .article-page .comment-form-status.is-success{
    margin-top:13px;
    padding:11px 12px;
    font-size:.84rem;
  }
}

/* ===== v66 — author external platforms: 7 destinations + stronger centered arrows ===== */
.author-platform-card.is-vc{--platform-accent:#111111}
.author-platform-card.is-custom{--platform-accent:#687466}

/* The custom placeholder keeps its neutral artwork instead of forcing a brand-colored tile. */
.author-platform-card.is-custom .platform-logo{background:#eef3ed!important}

/* A larger, optically centered action button. */
.platform-card-link{
  width:34px!important;
  height:34px!important;
  flex:0 0 34px!important;
  border-radius:50%!important;
  background:#eef2ec!important;
  color:#485245!important;
}
.platform-card-link svg{
  width:19px!important;
  height:19px!important;
  display:block!important;
  overflow:visible;
  fill:none;
  stroke:currentColor;
  stroke-width:2.15!important;
  stroke-linecap:round;
  stroke-linejoin:round;
  transform:none!important;
}
.author-platform-card:hover .platform-card-link{
  background:#e3ebe0!important;
  color:var(--platform-accent,#5f6b5d)!important;
}

/* Tablet: two equal columns; the last odd item is centered. */
@media (min-width:680px) and (max-width:899px){
  .author-platform-cards{
    display:flex!important;
    flex-wrap:wrap!important;
    justify-content:center!important;
    gap:10px!important;
  }
  .author-platform-card{
    flex:0 1 calc(50% - 5px)!important;
  }
}

/* Desktop: a deliberate 4 + 3 composition instead of five cramped tiles in the first row. */
@media (min-width:900px){
  .author-platform-cards{
    display:flex!important;
    flex-wrap:wrap!important;
    justify-content:center!important;
    gap:11px!important;
  }
  .author-platform-card{
    flex:0 1 calc((100% - 33px)/4)!important;
    min-width:0!important;
  }
  .platform-card-link{width:34px!important;height:34px!important}
}

/* Phones: keep two columns, with the seventh tile centered on its own row. */
@media (max-width:679px){
  .author-platform-card:last-child{
    grid-column:1/-1!important;
    width:calc(50% - 5px)!important;
    justify-self:center!important;
  }
  .platform-card-link{
    width:auto!important;
    height:auto!important;
    flex:0 0 auto!important;
    padding:7px 10px!important;
    border-radius:999px!important;
    background:#f1f4ef!important;
    color:#4f594d!important;
  }
  .platform-card-link svg{width:14px!important;height:14px!important;flex:0 0 14px!important}
}


/* ===== v67 — redesigned author platform action buttons ===== */
.platform-card-link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  min-width:44px!important;
  height:40px!important;
  padding:0 13px!important;
  flex:0 0 auto!important;
  border-radius:999px!important;
  border:1px solid #d7e2d2!important;
  background:linear-gradient(180deg,#fbfdf9 0%,#f0f5ec 100%)!important;
  color:#49613a!important;
  box-shadow:0 2px 8px rgba(35,46,31,.06)!important;
  line-height:1!important;
}
.platform-card-link::after{
  content:"Открыть";
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.01em;
}
.platform-card-link svg{
  width:15px!important;
  height:15px!important;
  flex:0 0 15px!important;
  display:block!important;
  margin:0!important;
  transform:translateY(0)!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2.4!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.author-platform-card:hover .platform-card-link,
.author-platform-card:focus-visible .platform-card-link{
  background:linear-gradient(180deg,#f7fcf3 0%,#eaf5e3 100%)!important;
  border-color:#c7ddb7!important;
  color:#5e9b2a!important;
  box-shadow:0 6px 16px rgba(74,110,47,.12)!important;
}
@media (min-width:900px){
  .platform-card-link{
    padding:0 14px!important;
  }
}
@media (max-width:679px){
  .platform-card-link{
    width:40px!important;
    min-width:40px!important;
    height:40px!important;
    padding:0!important;
    gap:0!important;
  }
  .platform-card-link::after{display:none!important}
  .platform-card-link svg{
    width:16px!important;
    height:16px!important;
    flex:0 0 16px!important;
  }
}


/* ===== v68 — complete redesign of author publication platform cards ===== */
.author-platform-cards{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  gap:14px!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.author-platform-card,
.author-platform-card + .author-platform-card{
  position:relative!important;
  overflow:hidden!important;
  flex:1 1 280px!important;
  max-width:calc((100% - 42px)/4)!important;
  min-width:240px!important;
  min-height:96px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:14px!important;
  padding:16px 16px 16px 18px!important;
  border:1px solid #dde5d9!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,#ffffff 0%,#fbfcfb 100%)!important;
  box-shadow:0 8px 22px rgba(34,45,31,.05)!important;
  text-decoration:none!important;
  transform:none!important;
}
.author-platform-card::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  bottom:0!important;
  width:4px!important;
  background:var(--platform-accent,#70bd3d)!important;
  opacity:.95!important;
  display:block!important;
}
.author-platform-card:hover,
.author-platform-card:focus-visible{
  border-color:#cfdbc9!important;
  background:linear-gradient(180deg,#ffffff 0%,#f9fbf8 100%)!important;
  box-shadow:0 14px 32px rgba(34,45,31,.09)!important;
  transform:translateY(-2px)!important;
}
.platform-card-brand{
  display:grid!important;
  grid-template-columns:52px minmax(0,1fr)!important;
  align-items:center!important;
  gap:14px!important;
  min-width:0!important;
}
.author-platform-card .platform-logo{
  width:52px!important;
  height:52px!important;
  flex:0 0 52px!important;
  border-radius:15px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:var(--platform-soft,#f1f5ee)!important;
  border:1px solid #e3ebe0!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6)!important;
}
.author-platform-card .platform-logo img{
  max-width:72%!important;
  max-height:72%!important;
  display:block!important;
}
.author-platform-card.is-zen{--platform-accent:#171717;--platform-soft:#f2f2f2}
.author-platform-card.is-mail{--platform-accent:#1473e6;--platform-soft:#eef5ff}
.author-platform-card.is-ixbt{--platform-accent:#ef6b2e;--platform-soft:#fff2ea}
.author-platform-card.is-habr{--platform-accent:#4e6c7c;--platform-soft:#edf3f5}
.author-platform-card.is-dns{--platform-accent:#ee7b18;--platform-soft:#fff2e6}
.author-platform-card.is-vc{--platform-accent:#111111;--platform-soft:#f3f3f3}
.author-platform-card.is-custom{--platform-accent:#647166;--platform-soft:#edf2ec}
.platform-card-copy{min-width:0!important}
.platform-card-copy b{
  display:block!important;
  margin:0 0 3px!important;
  color:#1f2620!important;
  font-size:1.02rem!important;
  font-weight:700!important;
  line-height:1.24!important;
}
.platform-card-copy small{
  display:block!important;
  margin:0!important;
  color:#7d877a!important;
  font-size:.82rem!important;
  line-height:1.28!important;
}
.platform-card-link,
.author-platform-card:hover .platform-card-link,
.author-platform-card:focus-visible .platform-card-link{
  position:relative!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  flex:0 0 42px!important;
  padding:0!important;
  border-radius:14px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:center!important;
  justify-self:end!important;
  background:var(--platform-soft,#eef4eb)!important;
  border:1px solid color-mix(in srgb, var(--platform-accent,#70bd3d) 18%, #d6e2d1)!important;
  color:var(--platform-accent,#70bd3d)!important;
  box-shadow:none!important;
  line-height:1!important;
}
.platform-card-link::after,
.platform-card-link::before{display:none!important;content:none!important}
.platform-card-link svg{
  width:18px!important;
  height:18px!important;
  flex:0 0 18px!important;
  display:block!important;
  margin:0!important;
  overflow:visible!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2.4!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  transform:none!important;
}
.author-platform-card:hover .platform-card-link,
.author-platform-card:focus-visible .platform-card-link{
  background:var(--platform-accent,#70bd3d)!important;
  color:#fff!important;
  border-color:var(--platform-accent,#70bd3d)!important;
}
@media (max-width:1199px){
  .author-platform-card,
  .author-platform-card + .author-platform-card{max-width:calc((100% - 14px)/2)!important}
}
@media (max-width:679px){
  .author-platform-cards{gap:10px!important}
  .author-platform-card,
  .author-platform-card + .author-platform-card{
    max-width:100%!important;
    min-width:0!important;
    min-height:88px!important;
    padding:14px 14px 14px 16px!important;
    border-radius:16px!important;
  }
  .platform-card-brand{grid-template-columns:46px minmax(0,1fr)!important;gap:12px!important}
  .author-platform-card .platform-logo{width:46px!important;height:46px!important;flex-basis:46px!important;border-radius:13px!important}
  .platform-card-copy b{font-size:.96rem!important}
  .platform-card-copy small{font-size:.79rem!important}
  .platform-card-link{width:40px!important;height:40px!important;min-width:40px!important;border-radius:13px!important}
  .platform-card-link svg{width:17px!important;height:17px!important;flex-basis:17px!important}
}


/* ===== v69 — simplified publication platform cards ===== */
.author-platform-card::before{
  display:none!important;
  content:none!important;
}

/* Unified hover/focus treatment for every platform. */
.author-platform-card:hover,
.author-platform-card:focus-visible{
  border-color:#cfdac9!important;
  background:#f9fbf8!important;
  box-shadow:0 14px 32px rgba(34,45,31,.09)!important;
  transform:translateY(-2px)!important;
}
.author-platform-card:hover .platform-card-link,
.author-platform-card:focus-visible .platform-card-link{
  background:#70bd3d!important;
  color:#fff!important;
  border-color:#70bd3d!important;
}

/* Desktop: exactly three cards per row. */
@media (min-width:1200px){
  .author-platform-cards{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:14px!important;
    justify-content:stretch!important;
  }
  .author-platform-card,
  .author-platform-card + .author-platform-card{
    max-width:none!important;
    min-width:0!important;
    width:auto!important;
    flex:none!important;
  }
}

/* Medium screens: two columns. */
@media (min-width:680px) and (max-width:1199px){
  .author-platform-cards{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
  }
  .author-platform-card,
  .author-platform-card + .author-platform-card{
    max-width:none!important;
    min-width:0!important;
    width:auto!important;
    flex:none!important;
  }
}

/* Phones: one clean column. */
@media (max-width:679px){
  .author-platform-cards{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .author-platform-card,
  .author-platform-card + .author-platform-card{
    max-width:none!important;
    width:100%!important;
    flex:none!important;
  }
}


/* ===== v70 — clean platform logos + unified action button ===== */
.author-platform-card .platform-logo{
  width:54px!important;
  height:54px!important;
  flex:0 0 54px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.author-platform-card .platform-logo img{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  display:block!important;
  object-fit:contain!important;
}
.platform-card-copy b{
  margin:0!important;
}
.platform-card-copy small{
  display:none!important;
}
.platform-card-link,
.author-platform-card:hover .platform-card-link,
.author-platform-card:focus-visible .platform-card-link{
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  flex:0 0 42px!important;
  padding:0!important;
  border-radius:14px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#f0f5ed!important;
  border:1px solid #d7e3d1!important;
  color:#5b6c55!important;
  box-shadow:none!important;
}
.platform-card-link::before,
.platform-card-link::after{
  display:none!important;
  content:none!important;
}
.platform-card-link svg{
  width:18px!important;
  height:18px!important;
  flex:0 0 18px!important;
  display:block!important;
  margin:0!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2.4!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  transform:none!important;
}
.author-platform-card:hover .platform-card-link,
.author-platform-card:focus-visible .platform-card-link{
  background:#70bd3d!important;
  border-color:#70bd3d!important;
  color:#fff!important;
}
@media (max-width:679px){
  .author-platform-card .platform-logo{
    width:48px!important;
    height:48px!important;
    flex-basis:48px!important;
  }
  .platform-card-link{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    border-radius:13px!important;
  }
}


/* ===== v71 — editorial/WordPress parity pass ===== */
/* Mobile: breadcrumbs are intentionally hidden everywhere. */
@media (max-width:899px){
  .breadcrumbs,.author-breadcrumb{display:none!important}
  .article-main>.toc .toc-title span,.toc-title>span{display:none!important}
}

/* Article update metadata: both publication/update dates stay neutral gray; JS hides invalid scheduled-post modified date. */
.article-page .meta-updated{color:#858d83!important}
.article-page .meta-updated[hidden]{display:none!important}

/* Author card proof points always stay as one 3-column row on phones. */
@media (max-width:899px){
  .article-page .author-card .stats{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:0!important;
  }
  .article-page .author-card .stats>div{min-width:0!important;padding:0 7px!important}
  .article-page .author-card .stats>div:first-child{padding-left:0!important}
  .article-page .author-card .stats>div:last-child{padding-right:0!important}
  .article-page .author-card .stats small{font-size:.7rem!important;line-height:1.22!important;text-wrap:balance}
}
@media (max-width:359px){
  .article-page .author-card .stats b{font-size:.9rem!important}
  .article-page .author-card .stats small{font-size:.64rem!important}
}

/* Compact trust/update line tied visually to the same author card. */
.article-page .article-trust-card .verified-after{align-items:center!important}
.article-page .article-trust-card .verified-after b{font-weight:500!important}
.verified-update-icon{
  width:30px;height:30px;flex:0 0 30px;border-radius:50%;display:grid;place-items:center;
  background:#e8f4e2;color:#5b9f35;
}
.verified-update-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.article-page .article-trust-card .verified-after time{font-weight:650;color:#4f7f37}

/* Article media: consistent rounded images, neutral compact captions, same viewer regardless of link wrapping. */
.article-main article img,
.article-main .wp-block-image img,
.article-main .wp-block-gallery img,
.static-content img{
  max-width:100%;height:auto;border-radius:14px;display:block;
}
.article-main article figcaption,
.article-main .wp-element-caption,
.article-main .wp-caption-text,
.static-content figcaption,
.static-content .wp-element-caption,
.static-content .wp-caption-text{
  margin:7px 0 0!important;padding:0!important;background:none!important;border:0!important;
  color:#8b9289!important;font-size:.72rem!important;line-height:1.4!important;font-weight:400!important;text-align:left!important;
}
.lightbox-real-image{max-width:100%;max-height:82vh;object-fit:contain;border-radius:12px}

/* Author archive pagination. */
.author-pagination{margin-top:22px}

/* External author platforms: square logo slot, universal centered action, no brand-colored button states. */
.author-platform-card .platform-logo{
  width:50px!important;height:50px!important;flex-basis:50px!important;display:grid!important;place-items:center!important;
  background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;
}
.author-platform-card .platform-logo img{width:50px!important;height:50px!important;object-fit:contain!important}
.platform-card-link,
.author-platform-card:hover .platform-card-link,
.author-platform-card:focus-visible .platform-card-link{
  width:42px!important;height:42px!important;min-width:42px!important;border-radius:13px!important;
  display:grid!important;place-items:center!important;padding:0!important;
  background:#f1f5ef!important;border:1px solid #d7e2d3!important;color:#5a6657!important;
}
.author-platform-card:hover .platform-card-link,
.author-platform-card:focus-visible .platform-card-link{background:#e9f3e4!important;border-color:#bdd6b0!important;color:#5c9f36!important}
.platform-card-link svg{width:19px!important;height:19px!important;display:block!important;margin:0!important;transform:none!important;stroke-width:2.25!important}
.platform-card-link::before,.platform-card-link::after{content:none!important;display:none!important}
@media (max-width:679px){.platform-card-link::before,.platform-card-link::after{content:none!important;display:none!important}}

/* Local social SVGs render crisply in every repeated site chrome component. */
.desktop-social img,.drawer-social-icon img,.fs-icon img,.brand-logo-box img{display:block;width:100%;height:100%;object-fit:contain}

/* ===== v72 — desktop sticky spacing + full-image lightbox ===== */
/* Sticky rails keep the same visual gap below the desktop masthead as in their initial position. */
@media (min-width:980px){
  .desktop-sidebar,
  .home-right{
    top:100px!important;
  }
}
@media (min-width:1400px){
  .desktop-toc,
  .home-left{
    top:100px!important;
  }
}

/* The viewer always fits the complete source image into the available viewport.
   This is especially important for tall smartphone screenshots. */
.media-lightbox-panel{
  height:calc(100dvh - 28px)!important;
  max-height:calc(100dvh - 28px)!important;
}
.media-lightbox-stage{
  height:100%!important;
  max-height:100%!important;
  min-height:0!important;
}
.media-lightbox-content{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  display:grid!important;
  grid-template-rows:minmax(0,1fr) auto!important;
  align-items:stretch!important;
}
.media-lightbox-visual{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.media-lightbox-visual img.lightbox-demo{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}
@media (max-width:899px){
  .media-lightbox-panel{
    width:100vw!important;
    height:100dvh!important;
    max-height:100dvh!important;
  }
  .media-lightbox-stage{
    height:100%!important;
    min-height:0!important;
    padding:0 4px max(8px,env(safe-area-inset-bottom))!important;
  }
  .media-lightbox-content{
    height:100%!important;
    min-height:0!important;
  }
  .media-lightbox-visual{
    height:100%!important;
    min-height:0!important;
    padding:0!important;
  }
  .media-lightbox-visual img.lightbox-demo{
    max-width:100%!important;
    max-height:100%!important;
  }
}


/* ===== v74 — normalized social icons + SVG share icons ===== */
@media (min-width:900px){
  .desktop-social a{
    display:grid!important;
    place-items:center!important;
  }
  .desktop-social img{
    display:block!important;
    object-fit:contain!important;
  }
  .desktop-social img[src$="telegram.svg"]{
    width:20px!important;
    height:20px!important;
  }
  .desktop-social img[src$="dzen.svg"],
  .desktop-social img[src$="ok.svg"]{
    width:18px!important;
    height:18px!important;
  }
}
.article-page .desktop-share-btn.share-vk .share-brand,
.article-page .desktop-share-btn.share-tg .share-brand,
.article-page .desktop-share-btn.share-ok .share-brand{
  background:transparent!important;
  border-radius:8px!important;
  overflow:visible!important;
}
.article-page .desktop-share-btn .share-brand img{
  display:block!important;
  width:26px!important;
  height:26px!important;
  object-fit:contain!important;
}
.article-page .desktop-share-btn.share-tg .share-brand img{
  width:28px!important;
  height:28px!important;
}
/* WordPress gallery: compact tiles, full image stays in the lightbox. */
.article-main .article-gallery .gallery-item{display:block;min-height:0;overflow:hidden}
.article-main .article-gallery.al-cols-1{grid-template-columns:1fr}
.article-main .article-gallery.al-cols-3,
.article-main .article-gallery.al-cols-4,
.article-main .article-gallery.al-cols-5,
.article-main .article-gallery.al-cols-6{grid-template-columns:1fr 1fr}
.article-main .article-gallery.al-cols-1 .gallery-item,
.article-main .article-gallery.al-cols-3 .gallery-item,
.article-main .article-gallery.al-cols-4 .gallery-item,
.article-main .article-gallery.al-cols-5 .gallery-item,
.article-main .article-gallery.al-cols-6 .gallery-item{aspect-ratio:1.55/1}
@media (min-width:700px){
  .article-main .article-gallery.al-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .article-main .article-gallery.al-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .article-main .article-gallery.al-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}
  .article-main .article-gallery.al-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}
}
.article-main .article-gallery .gallery-item img{
  width:100%;
  height:100%!important;
  max-width:none;
  object-fit:cover;
  object-position:center;
  border-radius:0!important;
}


/* ===== v75 — clean brand icons + author avatars ===== */
/* Author photos are intentionally plain circles without decorative rings or shadows. */
.author-avatar-link .avatar,
.author-card .avatar,
.author-card .avatar.big,
.top-author .avatar,
.author-portrait,
.home-editor-avatar{
  box-shadow:none!important;
  outline:0!important;
}

/* Subscription block: show the actual SVG marks, not SVGs inside white/opaque tiles. */
.article-page .subscribe .social,
.article-page .subscribe .brand-logo-box,
.article-page .subscribe .google-logo-box{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  overflow:visible!important;
  box-shadow:none!important;
}
.article-page .subscribe .social img,
.article-page .subscribe .brand-logo-box img,
.article-page .subscribe .google-logo-box img{
  display:block!important;
  width:30px!important;
  height:30px!important;
  object-fit:contain!important;
}
.article-page .subscribe .google-logo-box img{
  width:28px!important;
  height:28px!important;
}
.article-page .subscribe .social{
  width:38px!important;
  height:38px!important;
  flex:0 0 38px!important;
  display:grid!important;
  place-items:center!important;
}

/* MAX replaces OK in the left share rail; all share icons are local SVGs. */
.article-page .desktop-share-btn.share-max .share-brand{
  background:transparent!important;
  border-radius:8px!important;
  overflow:visible!important;
}
.article-page .desktop-share-btn.share-max .share-brand img{
  display:block!important;
  width:26px!important;
  height:26px!important;
  object-fit:contain!important;
}

/* Author external-platform logos are always rendered from their SVG assets. */
.author-platform-card .platform-logo{
  box-shadow:none!important;
}
.author-platform-card .platform-logo img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
}
.author-platform-card.is-habr .platform-logo img,
.author-platform-card.is-dns .platform-logo img{
  width:92%!important;
  height:92%!important;
}

/* ===== v76 — caption width, full gallery frames, centered singles ===== */
/* A captioned picture keeps WordPress' inline pixel width, so the figure
   must be capped to the column or a 1200px shot spills into the sidebar. */
.article-content .wp-caption,
.static-content .wp-caption{
  float:none;
  max-width:100%;
  height:auto;
  margin-left:auto;
  margin-right:auto;
}
.article-content .wp-caption a,
.static-content .wp-caption a{
  display:block;
  max-width:100%;
}
.article-content .wp-caption img,
.static-content .wp-caption img{
  display:block;
  width:auto;
  max-width:100%;
  height:auto;
}

/* Gallery cells were locked to about 3:2 and cropped with object-fit:cover.
   Each photo now keeps its own frame, including tall screenshots. */
.article-main .article-gallery,
.static-content .article-gallery{align-items:start}
.article-main .article-gallery .gallery-item,
.article-main .gallery-grid .gallery-item,
.article-main .gallery-two .gallery-item,
.static-content .article-gallery .gallery-item{
  aspect-ratio:auto!important;
  height:auto!important;
}
.article-main .article-gallery .gallery-item img,
.static-content .article-gallery .gallery-item img{
  display:block;
  width:100%!important;
  height:auto!important;
  max-width:100%!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center top!important;
  border-radius:0!important;
}

/* A lone screenshot in a paragraph sits on the center of the reading column. */
.article-content p:has(> img:only-child),
.article-content p:has(> a:only-child > img:only-child),
.static-content p:has(> img:only-child),
.static-content p:has(> a:only-child > img:only-child){
  display:flex;
  justify-content:center;
}
.article-content p > img,
.article-content p > a:has(> img),
.static-content p > img,
.static-content p > a:has(> img){
  float:none;
  min-width:0;
  max-width:100%;
}
.article-content p > a:has(> img),
.static-content p > a:has(> img){
  display:block;
  width:max-content;
}
.article-content .aligncenter,
.static-content .aligncenter,
.article-content .wp-block-image,
.static-content .wp-block-image{
  float:none;
  margin-left:auto;
  margin-right:auto;
}

/* Author archive: keep the page numbers off the footer. */
@media (min-width:900px){
  .author-page .author-profile,
  .author-page .home-shell{padding-bottom:56px}
}

/* Anchor jumps must land below the sticky header. The admin bar adds 32px. */
@media (min-width:900px){
  html{scroll-padding-top:92px}
  html:has(body.admin-bar){scroll-padding-top:124px}
}

/* Yandex RTB under the related-articles block. */
.article-main .yandex-rtb-related{margin-top:22px}
@media (min-width:900px){
  .article-main .yandex-rtb-related{margin-top:28px}
}
