/* Modified Ghost Source article/post-card/grid, revision 87b046c87816740a39c4689ec15278632532d5ec.
 * RU Agencies adaptation, 2026-10-27. Upstream MIT notice follows.
 */
/*
 * Copyright (c) 2013-2026 Ghost Foundation
 *
 * Permission is hereby granted, free of charge, to any person
 * obtaining a copy of this software and associated documentation
 * files (the "Software"), to deal in the Software without
 * restriction, including without limitation the rights to use,
 * copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the
 * Software is furnished to do so, subject to the following
 * conditions:
 *
 * The above copyright notice and this permission notice shall be
 * included in all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 * OTHER DEALINGS IN THE SOFTWARE.
 */
.blog { --blog-ink:#182e27; --blog-muted:#5b6d63; --blog-line:#d9e0d5; padding-bottom:64px; }
.blog a:not(.btn):hover,.blog-home a:not(.btn):hover { text-decoration:underline; text-underline-offset:4px; }
.blog-index-header { padding:44px 0 48px; max-width:850px; }
.blog-kicker,.gh-card-tag,.gh-article-tag { color:#245644; font-size:14px; font-weight:650; margin:0 0 18px; }
.blog-index-header h1 { font-size:clamp(38px,5vw,66px); line-height:1.08; letter-spacing:-.04em; margin:0 0 24px; max-width:760px; }
.blog-index-header>p:last-child { max-width:690px; font-size:21px; line-height:1.6; color:var(--blog-muted); }
.blog-feed { display:grid; grid-template-columns:1.35fr 1fr; border-top:2px solid #173f35; border-bottom:1px solid var(--blog-line); }
.blog-card { min-width:0; padding:36px 0; }
.blog-feed>.blog-card:first-child { padding-right:56px; }
.blog-feed>.blog-card+.blog-card { padding-left:40px; border-left:1px solid var(--blog-line); }
.gh-card-title { font-size:clamp(25px,2.7vw,37px); line-height:1.2; letter-spacing:-.025em; margin:0 0 20px; }
.gh-card-title a { color:inherit; text-decoration:none; }
.gh-card-excerpt { font-size:17px; line-height:1.7; color:#5b6d63; margin:0 0 24px; }
.gh-card-meta,.gh-article-meta { display:flex; flex-wrap:wrap; gap:12px 24px; font-size:14px; color:#5b6d63; }
.blog-read { display:inline-flex; align-items:center; gap:28px; min-height:44px; margin-top:20px; font-size:16px; font-weight:600; }
.blog-index-note { padding:36px 0; max-width:720px; }
.blog-index-note h2 { font-size:25px; }
.blog-index-note p { font-size:17px; color:#5b6d63; }
.blog-index-note .text-link { display:inline-block; margin-left:24px; }
/* Source's named-column canvas, scoped to the blog; existing root font is preserved. */
.blog .gh-canvas { --main:min(720px,100%); --wide:minmax(0,calc((1100px - 720px)/2)); --full:minmax(0,1fr); display:grid; grid-template-columns:[full-start] var(--full) [wide-start] var(--wide) [main-start] var(--main) [main-end] var(--wide) [wide-end] var(--full) [full-end]; }
.blog .gh-canvas>* { grid-column:main; min-width:0; }
.gh-article-header { padding:36px 0 36px; }
.gh-article-title { font-size:clamp(34px,4.4vw,54px); line-height:1.12; letter-spacing:-.035em; margin:0 0 24px; overflow-wrap:break-word; }
.gh-article-header>p:not(.gh-article-tag) { font-size:20px; line-height:1.65; color:#5b6d63; margin:0 0 26px; }
.gh-article-meta { padding:20px 0; border-top:1px solid #d9e0d5; border-bottom:1px solid #d9e0d5; }
.gh-content { font-size:17px; line-height:1.8; }
.gh-content h2 { font-size:clamp(25px,3vw,32px); line-height:1.25; letter-spacing:-.02em; margin:0 0 22px; }
.gh-content p { margin:0 0 22px; }
.gh-content ul,.gh-content ol { margin:0 0 24px; padding-left:24px; }
.gh-content li { padding-left:5px; margin:0 0 12px; }
.blog-section { margin:0 0 44px; scroll-margin-top:110px; }
.blog-summary { background:#eef2e8; padding:28px 32px 12px; margin-bottom:30px; border-left:3px solid #245644; }
.gh-content .blog-summary h2,.gh-content .blog-toc h2 { font-size:20px; margin-bottom:18px; }
.blog-toc { border-bottom:1px solid #d9e0d5; padding:4px 0 26px; margin-bottom:44px; }
.blog-toc ol { display:grid; gap:4px; margin:0; }
.blog-toc li { margin:0; }
.blog-toc a { display:inline-block; padding:5px 0; text-underline-offset:4px; }
.blog-table { overflow-x:auto; border:1px solid #d9e0d5; margin:28px 0; border-radius:4px; }
.blog-table table { width:100%; min-width:580px; border-collapse:collapse; font-size:15px; line-height:1.6; }
.blog-table caption { text-align:left; padding:16px; font-weight:650; background:#eef2e8; }
.blog-table th,.blog-table td { padding:16px; border-bottom:1px solid #d9e0d5; text-align:left; vertical-align:top; }
.blog-table th { font-weight:600; }
.blog-table thead { background:#f2f4ed; }
.blog-table tbody tr:last-child>* { border-bottom:0; }
.blog-recommendation { border:1px solid #245644; padding:28px; background:#f3f6ee; }
.gh-content .blog-placement { font-size:14px; font-weight:600; line-height:1.6; color:#245644; margin-bottom:20px; }
.blog-section-links { display:flex; flex-wrap:wrap; gap:12px 24px; }
.blog-section-links a { min-height:44px; display:inline-flex; align-items:center; font-weight:600; }
.blog-sources { font-size:15px; color:#5b6d63; padding:28px 0; border-top:1px solid #d9e0d5; overflow-wrap:anywhere; }
.gh-content .blog-sources h2 { font-size:22px; }
.blog-next-step { padding:32px; background:#173f35; color:#fff; margin:24px 0 44px; }
.blog-next-step h2 { color:#fff; }
.blog-next-step .btn-primary { background:#deefab; color:#173f35; border-color:#deefab; white-space:normal; text-align:center; }
.blog-next-step .text-link { color:#deefab; display:block; margin-top:20px; }
.blog-next-step a:focus-visible { outline:3px solid #deefab; outline-offset:4px; }
.blog-related { max-width:720px; margin:0 auto; border-top:1px solid #d9e0d5; padding-top:28px; }
.blog-related>h2 { font-size:17px; color:#5b6d63; font-weight:500; }
.blog-related .gh-card-title { font-size:28px; }
.blog-home-grid { display:grid; grid-template-columns:1fr 1fr; gap:48px; border-top:1px solid #d9e0d5; }
.blog-home .gh-card-title { font-size:27px; }
.blog-home .gh-card-excerpt { font-size:16px; }
.blog-audio { margin:0 0 30px; border:1px solid #7b8b76; padding:24px; }
.gh-content .blog-audio h2 { font-size:22px; margin-bottom:8px; }
.gh-content .blog-audio-note { font-size:14px; margin-bottom:18px; color:#5b6d63; }
.blog-audio audio { display:block; width:100%; }
.audio-enhanced { margin-top:18px; }
.audio-enhanced label { display:flex; gap:12px; align-items:center; font-size:15px; }
.audio-enhanced select { min-height:44px; width:auto; padding:4px 12px; }
.audio-enhanced summary { min-height:44px; padding-top:12px; cursor:pointer; }
.audio-enhanced button { background:transparent; color:#245644; text-align:left; border:0; min-height:44px; padding:6px 0; font:inherit; }
.audio-enhanced button span { white-space:nowrap; font-variant-numeric:tabular-nums; }
.gh-content .audio-downloads { display:flex; flex-wrap:wrap; gap:12px 20px; margin:18px 0 0; font-size:14px; }
[data-audio-error] { color:#873b2b; margin-top:16px!important; }
@media(max-width:900px) { .blog-feed { grid-template-columns:1fr; } .blog-feed>.blog-card:first-child { padding-right:0; } .blog-feed>.blog-card+.blog-card { padding-left:0; border-left:0; border-top:1px solid #d9e0d5; } .blog .gh-canvas { display:block; } .blog-index-header { padding-top:24px; } }
@media(max-width:600px) { .blog-index-header { padding-bottom:30px; } .blog-index-header>p:last-child { font-size:18px; } .blog-home-grid { grid-template-columns:1fr; gap:0; } .blog-home-grid>.blog-card+.blog-card { border-top:1px solid #d9e0d5; } .blog-summary,.blog-recommendation,.blog-next-step { padding:22px 20px; } .gh-content { font-size:17px; } .gh-article-header { padding-top:20px; } .gh-article-header>p:not(.gh-article-tag) { font-size:18px; } .blog-index-note .text-link { display:block; margin:20px 0 0; } .gh-article-meta { gap:8px 18px; } .blog-audio { padding:18px 14px; } }
@media print { .blog-toc,.blog-audio,.blog-next-step,.blog-related,.blog-read { display:none; } .blog .gh-canvas { display:block; } .blog-table { overflow:visible; } .blog-table table { min-width:0; } }

.blog-table-hint { display:none; }
@media(max-width:740px) { .gh-content .blog-table-hint { display:block; font-size:14px; line-height:1.5; color:#5b6d63; margin:20px 0 -12px; } }

/* Editorial images and compact placement, October 2026. */
.blog-card-image { display:block; margin-bottom:24px; }
.blog-card-image img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; border-radius:6px; }
.blog-cover,.blog-illustration { margin:0 0 36px; }
.blog-cover img,.blog-illustration img { display:block; width:100%; height:auto; border-radius:6px; }
.blog .gh-content>.blog-cover { grid-column:wide; max-width:900px; width:100%; justify-self:center; }
.blog-cover img { max-height:440px; object-fit:cover; object-position:center; }
.blog-toc { margin-bottom:36px; padding-bottom:20px; }
.blog-toc>summary { cursor:pointer; min-height:44px; font-weight:600; padding:8px 0; }
.blog-toc nav { margin-top:12px; }
.blog-pickles { margin:0 0 40px; scroll-margin-top:110px; }
.blog-pickles-link { display:flex; align-items:center; gap:18px; padding:16px 20px; color:#182e27; border:1px solid #a5b79c; border-radius:6px; background:#eef2e8; text-decoration:none; }
.blog a.blog-pickles-link:hover { text-decoration:none; background:#e6eddb; border-color:#245644; }
.blog-pickles-logo { display:flex; align-items:center; justify-content:center; width:64px; height:64px; flex:0 0 64px; background:#fff; border-radius:4px; }
.blog-pickles-logo img { display:block; width:56px; height:56px; object-fit:contain; }
.blog-pickles-copy { display:grid; gap:2px; flex:1; min-width:0; line-height:1.4; }
.blog-pickles-copy strong { font-size:19px; }
.blog-pickles-copy>span { font-size:14px; color:#4b604f; }
.blog-pickles-action { font-size:15px; font-weight:600; white-space:nowrap; }
.blog-next-step { display:flex; flex-wrap:wrap; align-items:center; gap:16px 24px; padding:24px 0; background:none; border-top:1px solid #d9e0d5; }
.blog-next-step .text-link { color:#245644; margin:0; }
.blog-next-step a:focus-visible { outline-color:#245644; }
@media(max-width:600px) {
 .blog-pickles-link { gap:12px; padding:14px; flex-wrap:wrap; }
 .blog-pickles-logo { width:52px; height:52px; flex-basis:52px; }
 .blog-pickles-logo img { width:46px; height:46px; }
 .blog-pickles-copy strong { font-size:17px; }
 .blog-pickles-copy>span { font-size:13px; }
 .blog-pickles-action { margin-left:64px; }
 .blog-cover,.blog-illustration { margin-bottom:28px; }
 .blog-next-step { padding:24px 0; }
}

/* Shared blog actions and the related-reading gallery. */
.blog .blog-read,.blog-home .blog-read,.blog .blog-btn-secondary {
 display:inline-flex; align-items:center; justify-content:center; min-height:46px;
 padding:10px 20px; border:1px solid #9ba995; border-radius:8px;
 background:transparent; color:#173f35; font-size:15px; font-weight:600; line-height:1.4;
 text-decoration:none; transition:background-color .15s,border-color .15s;
}
.blog .blog-read:hover,.blog-home .blog-read:hover,.blog .blog-btn-secondary:hover { background:#eaf0e1; border-color:#245644; text-decoration:none; }
.blog .btn-primary { min-height:46px; padding:10px 20px; border-radius:8px; background:#245644; border-color:#245644; color:#fff; line-height:1.4; }
.blog .btn-primary:hover { background:#173f35; border-color:#173f35; }
.blog .blog-next-step { gap:12px; }
.blog .blog-index-note .blog-btn-secondary { margin-left:12px; }
.blog-pickles-action { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 18px; border-radius:8px; background:#245644; color:#fff; }
.blog-pickles-link:hover .blog-pickles-action { background:#173f35; }
.blog .blog-read:focus-visible,.blog-home .blog-read:focus-visible,.blog .btn:focus-visible,.blog-pickles-link:focus-visible,.blog-gallery-card:focus-visible { outline:3px solid #548273; outline-offset:4px; }
.blog-related { max-width:1100px; margin:20px auto 0; padding-top:32px; }
.blog-related-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:24px; }
.blog-related-heading h2 { margin:0; font-size:clamp(25px,3vw,32px); line-height:1.2; letter-spacing:-.02em; }
.blog-related-heading .blog-read { margin:0; flex-shrink:0; }
.blog-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:0; padding:0; list-style:none; }
.blog-gallery>li { min-width:0; }
.blog-gallery-card { display:flex; flex-direction:column; height:100%; border:1px solid #d9e0d5; border-radius:12px; background:#fff; color:#182e27; text-decoration:none; }
.blog a.blog-gallery-card:hover { text-decoration:none; border-color:#7b9472; }
.blog-gallery-card>img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; border-radius:11px 11px 0 0; }
.blog-gallery-copy { display:flex; flex-direction:column; flex:1; padding:22px; }
.blog-gallery-kind { color:#5b6d63; font-size:14px; line-height:1.5; margin-bottom:12px; }
.blog-gallery-card h3 { margin:0 0 24px; font-size:23px; line-height:1.3; letter-spacing:-.02em; }
.blog-gallery-read { margin-top:auto; align-self:flex-start; padding:9px 18px; min-height:44px; border:1px solid #a5b79c; border-radius:8px; font-size:15px; font-weight:600; line-height:24px; }
.blog-gallery-card:hover .blog-gallery-read { background:#eef2e8; }
@media(max-width:760px) {
 .blog-gallery { display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x proximity; scroll-padding-inline:6px; padding:6px 6px 18px; margin-inline:-6px; }
 .blog-gallery>li { flex:0 0 85%; scroll-snap-align:start; }
 .blog-gallery-copy { padding:18px; }
 .blog-gallery-card h3 { font-size:22px; }
 .blog-related-heading { gap:12px; }
 .blog-related-heading .blog-read { padding-inline:14px; font-size:14px; }
}
@media(max-width:600px) {
 .blog-next-step>.btn { flex:1 1 100%; }
 .blog .blog-index-note .blog-btn-secondary { margin:12px 0 0; }
 .blog-index-note>.btn { display:flex; width:100%; }
 .blog-pickles-action { margin-left:64px; }
}
@media(prefers-reduced-motion:reduce) { .blog .blog-read,.blog-home .blog-read,.blog .blog-btn-secondary { transition:none; } }

/* Five-article collection and text-native editorial diagrams. */
.blog-feed { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 40px; }
.blog-feed>.blog-card:first-child,.blog-feed>.blog-card+.blog-card { padding:32px 0; border-left:0; border-bottom:1px solid var(--blog-line); }
.blog-gallery { grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:calc((100% - 48px)/3); overflow-x:auto; scroll-snap-type:x proximity; padding:6px 6px 20px; }
.blog-gallery>li { scroll-snap-align:start; }
.blog-infographic { margin:40px 0; padding:28px; border:1px solid #bdcabc; border-radius:16px; background:#f0f3e8; }
.blog-infographic figcaption { font-size:22px; font-weight:700; line-height:1.3; color:#173f35; margin-bottom:24px; }
.blog-infographic ol { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:12px; }
.blog-infographic li { display:flex; flex-direction:column; gap:12px; padding:18px 14px; background:#fff; border-top:4px solid #315c49; border-radius:4px; }
.blog-infographic strong { font-size:24px; line-height:1.15; color:#173f35; }
.blog-infographic span,.blog-infographic p { font-size:15px; line-height:1.5; }
.blog-infographic p { margin:20px 0 0; }
@media(max-width:900px) { .blog-feed { grid-template-columns:1fr; } }
@media(max-width:760px) { .blog-gallery { grid-auto-columns:85%; gap:16px; } .blog-infographic { padding:20px; } .blog-infographic ol { grid-template-columns:1fr; } .blog-infographic li { flex-direction:row; align-items:center; } .blog-infographic strong { flex:0 0 110px; } }
