/* Askora editorial layer. Shared header/footer remain in shared.css (v6.4).
   No hosted font, CSS framework or runtime stylesheet dependency. */
:root { --paper:#fff; --blog-wrap:1200px; --editorial-muted:#65696b; --editorial-line:#e5e7e6; --mint-wash:#e3f8ec; --amber-wash:#fff3d5; --cyan-wash:#e2f6f7; }
body { font-size:15px; background:#fff; }
.blog-wrap { width:min(var(--blog-wrap),calc(100% - 80px)); margin-inline:auto; }
main { min-height:70vh; }
.breadcrumbs { display:flex; align-items:center; flex-wrap:wrap; gap:10px; color:#737778; font-size:11px; line-height:1.6; }
.breadcrumbs .icon { width:11px; height:11px; color:#9da19f; }
.breadcrumbs a:hover { color:var(--ink); }
.breadcrumbs [aria-current] { color:var(--ink); }
.blog-masthead { padding-top:139px; }
.masthead-grid { display:grid; grid-template-columns:1.55fr 1fr; align-items:end; gap:80px; padding:36px 0 45px; }
.section-kicker { display:flex; align-items:center; gap:9px; font-size:10px; line-height:1.6; font-weight:650; letter-spacing:.13em; text-transform:uppercase; }
.kicker-mark { width:8px; height:8px; border-radius:2px; background:var(--mint); }
.masthead-grid h1 { font-size:clamp(42px,4.1vw,59px); font-weight:540; line-height:1.08; letter-spacing:-.048em; margin-top:17px; text-wrap:initial; }
.masthead-grid h1 .word-mark { position:relative; isolation:isolate; white-space:nowrap; }
.word-mark::after { content:""; position:absolute; left:-2px; right:-4px; bottom:1px; height:9px; z-index:-1; background:linear-gradient(90deg,#98F8F8,#A8F8F8); }
.masthead-aside { padding-bottom:3px; }
.masthead-aside>p { max-width:395px; font-size:14px; line-height:1.8; color:var(--editorial-muted); margin-bottom:24px; }
.search-box { display:flex; gap:11px; align-items:center; width:100%; min-height:51px; border:1px solid #dce0de; background:#fafbf9; border-radius:9px; padding:0 15px; transition:border-color .2s,box-shadow .2s; }
.search-box:focus-within { border-color:#4d8775; box-shadow:0 0 0 3px #68F0F823; }
.search-box>.icon { width:18px; height:18px; color:#696f6b; }
.search-box input { min-width:0; flex:1; width:100%; border:0; outline:0; background:transparent; height:49px; font-size:12px; color:var(--ink); }
.search-box input::placeholder { color:#7b817d; }
.search-box input::-webkit-search-cancel-button { display:none; }
.search-clear { padding:8px; margin-right:-7px; border-radius:5px; }
.search-clear:hover { background:#e9efeb; }
.search-clear .icon { width:15px; height:15px; }
.category-bar { display:flex; align-items:center; justify-content:space-between; gap:25px; padding:17px 0; border-top:1px solid var(--editorial-line); border-bottom:1px solid var(--editorial-line); }
.category-list { display:flex; flex-wrap:wrap; align-items:center; gap:5px; }
.category-button { display:inline-flex; align-items:center; gap:8px; min-height:39px; padding:0 15px; border-radius:6px; font-size:11px; line-height:1.4; white-space:nowrap; color:#656b67; transition:background .18s,color .18s; }
.category-button:hover { background:#f0f3f0; color:var(--ink); }
.category-button[aria-pressed="true"] { color:#fff; background:var(--ink); }
.category-button .category-dot { width:5px; height:5px; }
.category-dot { display:inline-block; flex-shrink:0; width:6px; height:6px; border-radius:50%; background:#7ed2ab; }
[data-color="amber"] .category-dot,.category-dot.amber { background:#be8b2a; }
[data-color="cyan"] .category-dot,.category-dot.cyan { background:#00E8F8; }
[data-color="sand"] .category-dot,.category-dot.sand { background:#b49676; }
.category-dot.mint { background:#409673; }
.category-button[aria-pressed="true"] .category-dot { background:var(--mint); }
.edition-note { white-space:nowrap; font-size:10px; color:#767b78; }
.edition-note span { color:#3f6554; }
.featured-section { padding:36px 0 55px; }
.section-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:22px; }
.section-heading h2 { font-size:25px; line-height:1.2; font-weight:540; letter-spacing:-.035em; }
.section-heading>.section-kicker { font-size:10px; }
.section-heading .subtle { color:#727972; font-size:11px; }
.featured-layout { display:grid; grid-template-columns:minmax(0,1.8fr) minmax(0,1fr); gap:38px; }
.media { display:block; position:relative; isolation:isolate; overflow:hidden; border-radius:10px; background:#eaf0eb; aspect-ratio:1.62; }
.media[data-color="amber"] { background:#f2efe7; }
.media[data-color="cyan"] { background:#e8eff1; }
.media[data-color="sand"] { background:#eee9e4; }
.media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity .35s,transform .65s var(--ease); z-index:2; }
.media img.is-loaded { opacity:1; }
.media img.is-failed { display:none; }
.media:hover img { transform:scale(1.025); }
.media .cover-backup { position:absolute; inset:0; background:var(--fallback) center/cover no-repeat; }
.photo-status { position:absolute; inset:auto 18px 15px; color:#737b71; font-size:9px; letter-spacing:.06em; z-index:1; }
.media:has(img.is-loaded) .photo-status { display:none; }
.feature-main .media { aspect-ratio:1.97; }
.photo-label { position:absolute; z-index:3; left:19px; top:18px; display:flex; align-items:center; gap:7px; border-radius:5px; padding:7px 10px; background:#fffffff2; color:var(--ink); font-size:10px; line-height:1.2; font-weight:550; box-shadow:0 1px 4px #00000008; }
.photo-label .icon { width:12px; height:12px; }
.article-category { display:flex; align-items:center; gap:7px; color:#4f5952; font-size:10px; line-height:1.5; font-weight:600; letter-spacing:.035em; }
.feature-main .article-category { margin-top:23px; }
.feature-main h2 { font-size:32px; font-weight:550; line-height:1.23; letter-spacing:-.035em; max-width:710px; margin-top:9px; text-wrap:pretty; }
.title-link { text-decoration:none; text-underline-offset:5px; text-decoration-thickness:1px; }
.title-link:hover { text-decoration:underline; text-decoration-color:#98ac9e; }
.feature-main .excerpt { color:var(--editorial-muted); font-size:13px; line-height:1.75; max-width:650px; margin-top:13px; }
.post-meta { display:flex; align-items:center; gap:9px; font-size:10px; line-height:1.5; color:#727873; }
.post-meta .separator { width:2px; height:2px; border-radius:50%; background:#89918b; }
.feature-main .post-meta { margin-top:19px; }
.feature-side { border-left:1px solid var(--editorial-line); padding-left:30px; display:flex; flex-direction:column; }
.feature-side>h3 { font-size:10px; text-transform:uppercase; letter-spacing:.12em; font-weight:600; color:#5c655e; margin-bottom:19px; }
.side-story { display:grid; grid-template-columns:minmax(0,1fr) 102px; gap:20px; padding:20px 0; border-bottom:1px solid var(--editorial-line); }
.side-story:first-of-type { padding-top:0; }
.side-story .media { width:102px; height:112px; aspect-ratio:auto; border-radius:7px; align-self:start; }
.side-story .photo-status { display:none; }
.side-story h3 { font-size:17px; line-height:1.38; letter-spacing:-.025em; font-weight:550; margin:8px 0 11px; text-wrap:pretty; }
.side-story .story-link { display:inline-flex; align-items:center; gap:6px; font-size:10px; color:#747b75; }
.side-story .story-link .icon { width:12px; height:12px; }
.side-note { display:flex; align-items:center; gap:15px; font-size:11px; color:#626c64; line-height:1.7; margin-top:auto; padding-top:24px; }
.side-note .icon { width:21px; height:21px; color:#405c48; }
.catalog-section { padding:43px 0 69px; border-top:1px solid var(--editorial-line); }
.catalog-heading { margin-bottom:30px; }
.catalog-count { display:flex; align-items:center; gap:14px; color:#757b76; font-size:11px; }
.catalog-count button { font-size:11px; text-decoration:underline; text-underline-offset:3px; }
.post-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:43px 28px; }
.post-card { display:flex; flex-direction:column; min-width:0; padding-bottom:23px; border-bottom:1px solid var(--editorial-line); }
.post-card .article-category { margin-top:18px; }
.post-card h3 { font-size:21px; line-height:1.35; font-weight:540; letter-spacing:-.025em; margin-top:9px; text-wrap:pretty; }
.post-card .excerpt { color:#737972; font-size:12px; line-height:1.8; margin:12px 0 17px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.card-bottom { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:auto; }
.card-bottom .arrow-link { display:flex; align-items:center; justify-content:center; height:32px; width:34px; border:1px solid #e3e7e2; border-radius:50%; transition:background .2s,transform .2s; }
.arrow-link .icon { width:15px; height:15px; }
.arrow-link:hover { background:var(--mint-wash); transform:translateX(2px); }
.pagination { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:36px; }
.pagination-status { font-size:11px; color:#737973; }
.pagination-controls { display:flex; flex-wrap:wrap; min-width:0; align-items:center; justify-content:flex-end; gap:5px; }
.page-button { min-width:36px; min-height:36px; padding:5px 10px; font-size:11px; border-radius:6px; }
.page-button:hover:not(:disabled) { background:#eef3ee; }
.page-button[aria-current="page"] { background:var(--ink); color:white; }
.page-button:disabled { opacity:.3; }
.page-button .icon { width:16px; height:16px; }
.empty-state { border:1px solid var(--editorial-line); border-radius:11px; text-align:center; padding:70px 20px; }
.empty-state>.icon { margin:0 auto 18px; width:30px; height:30px; color:#668371; }
.empty-state h3 { font-size:24px; font-weight:530; letter-spacing:-.03em; }
.empty-state p { margin:10px 0 24px; font-size:13px; color:var(--editorial-muted); }
.editorial-strip { display:grid; grid-template-columns:1.2fr 1fr auto; align-items:center; gap:45px; padding:35px 0; margin-bottom:70px; border-block:1px solid var(--editorial-line); position:relative; }
.editorial-strip::before { content:""; position:absolute; width:66px; height:3px; top:-1px; left:0; background:var(--askora-gradient); }
.editorial-strip h2 { font-size:26px; line-height:1.25; font-weight:530; letter-spacing:-.035em; margin-top:9px; }
.editorial-strip>p { font-size:12px; line-height:1.85; color:var(--editorial-muted); max-width:340px; }
.editorial-strip>a { white-space:nowrap; }
.site-footer { background:#fafbf9; }
/* Article template */
.article-masthead { padding-top:141px; }
.article-head { max-width:900px; margin:38px auto 36px; }
.article-kicker-row { display:flex; align-items:center; gap:16px; margin-bottom:19px; }
.article-head h1 { font-size:clamp(37px,4vw,54px); line-height:1.12; font-weight:530; letter-spacing:-.044em; text-wrap:pretty; }
.article-deck { margin-top:21px; max-width:780px; font-size:17px; line-height:1.8; color:#6b716b; }
.byline { display:flex; align-items:center; justify-content:space-between; gap:25px; padding-top:25px; margin-top:27px; border-top:1px solid var(--editorial-line); }
.byline-person { display:flex; align-items:center; gap:12px; }
.editor-avatar { display:grid; place-items:center; width:39px; height:39px; border-radius:50%; background:#eff6ef; flex-shrink:0; }
.editor-avatar img { width:19px; height:27px; object-fit:contain; }
.byline-person strong { display:block; font-size:11px; line-height:1.5; font-weight:600; }
.byline-person p { margin-top:3px; font-size:10px; line-height:1.5; color:#737a72; }
.byline-status { display:flex; align-items:center; gap:7px; font-size:10px; color:#737a72; }
.byline-status .icon { width:13px; height:13px; }
.article-cover { margin:0; }
.article-cover .media { aspect-ratio:2.52; border-radius:11px; }
.article-cover figcaption { text-align:right; margin-top:10px; font-size:9px; line-height:1.7; color:#7a8179; }
.article-cover figcaption a { text-decoration:underline; text-underline-offset:3px; }
.article-layout { display:grid; grid-template-columns:238px minmax(0,710px); justify-content:space-between; gap:60px; max-width:1080px; margin:52px auto 70px; }
.article-aside { min-width:0; }
.sticky-aside { position:sticky; top:113px; }
.sidebar-index { border-bottom:1px solid var(--editorial-line); padding-bottom:25px; }
.sidebar-index>summary { display:flex; justify-content:space-between; align-items:center; gap:12px; font-size:10px; font-weight:650; letter-spacing:.1em; text-transform:uppercase; list-style:none; cursor:pointer; }
.sidebar-index>summary::-webkit-details-marker { display:none; }
.sidebar-index>summary>.icon { display:none; width:14px; height:14px; }
.sidebar-index nav { margin-top:23px; }
.sidebar-index nav a { display:block; margin-left:1px; padding:10px 12px 10px 17px; border-left:1px solid #e2e7e1; color:#737a72; font-size:11px; line-height:1.65; }
.sidebar-index nav a:hover { color:var(--ink); }
.sidebar-index nav a[aria-current="location"] { color:var(--ink); border-left:2px solid #559879; background:linear-gradient(90deg,#edf7ef80,transparent); font-weight:550; padding-left:16px; }
.aside-share { padding:24px 0; }
.aside-share>p { font-size:10px; color:#747b72; margin-bottom:12px; }
.share-controls { display:flex; gap:8px; }
.share-button { display:inline-flex; align-items:center; justify-content:center; min-height:36px; min-width:37px; padding:7px 10px; gap:7px; border:1px solid #e0e6df; border-radius:6px; font-size:10px; background:white; }
.share-button:hover { background:#f0f5ef; }
.share-button>.icon { width:14px; height:14px; }
.aside-link { display:flex; align-items:center; gap:7px; color:#777e75; font-size:10px; margin-top:7px; }
.aside-link .icon { width:13px; height:13px; }
.preview-notice { display:flex; align-items:start; gap:12px; background:#f5f7f3; border:1px solid #e6eae3; border-radius:7px; padding:16px 18px; margin-bottom:29px; }
.preview-notice>.icon { width:17px; height:17px; margin-top:2px; color:#6e7a65; }
.preview-notice p { font-size:11px!important; line-height:1.8!important; color:#70776b!important; margin:0!important; }
.preview-notice strong { color:#394234; font-weight:550; }
.article-body { font-size:16px; line-height:1.9; color:#424747; }
.article-body>p,.article-body section>p { margin:0 0 20px; }
.article-body .lead { font-size:18px; line-height:1.9; color:#3e4542; }
.article-body h2 { color:var(--ink); font-size:28px; line-height:1.3; font-weight:550; letter-spacing:-.035em; margin:44px 0 18px; text-wrap:pretty; }
.article-body h3 { color:var(--ink); font-size:20px; line-height:1.45; font-weight:560; letter-spacing:-.025em; margin:29px 0 14px; }
.article-body section { scroll-margin-top:114px; }
.article-body strong { color:#252e25; font-weight:590; }
.article-body a:not(.button):not(.title-link):not(.text-link) { text-decoration:underline; text-decoration-color:#a0b5a2; text-underline-offset:4px; }
.editorial-callout { margin:28px 0 33px; padding:24px 27px; border-left:3px solid #7ecfa3; background:#effaf4; border-radius:0 7px 7px 0; }
.editorial-callout .section-kicker { font-size:9px; color:#547145; margin-bottom:9px; }
.editorial-callout p { font-size:14px; line-height:1.85; color:#4f6449; }
.template-table-wrap { overflow-x:auto; margin:24px 0 15px; border:1px solid #e1e6de; border-radius:7px; }
.template-table { border-collapse:collapse; width:100%; text-align:left; font-size:12px; line-height:1.7; }
.template-table th { font-size:10px; color:#5f6e56; font-weight:600; background:#f4f7f1; }
.template-table th,.template-table td { padding:13px 16px; border-bottom:1px solid #e5e9e1; vertical-align:top; }
.template-table tr:last-child td { border-bottom:0; }
.table-note { font-size:10px!important; color:#7b8374; line-height:1.7!important; }
.article-quote { margin:35px 0; padding:28px 0 29px; border-block:1px solid #e2e7dd; }
.article-quote .section-kicker { font-size:9px; color:#7b8573; margin-bottom:12px; }
.article-quote p { font-size:24px; font-weight:460; line-height:1.55; letter-spacing:-.024em; color:#2d3a26; max-width:610px; }
.article-checklist { list-style:none; padding:0; margin:23px 0 30px; }
.article-checklist li { position:relative; padding:8px 0 8px 29px; font-size:14px; }
.article-checklist li::before { content:'✓'; display:grid; place-items:center; position:absolute; left:0; top:13px; width:16px; height:16px; border-radius:50%; color:#407a51; background:#e6f4e2; font-size:10px; font-weight:650; }
.article-inline-cta { padding:23px 26px; border:1px solid #dfe7da; border-radius:8px; margin:33px 0; background:linear-gradient(110deg,#f9fcf7,white); }
.article-inline-cta h3 { margin:8px 0 9px; font-size:23px; }
.article-inline-cta p { font-size:12px; line-height:1.8; color:#737e6b; margin-bottom:10px; }
.editorial-faq { border-block:1px solid #e3e8df; }
.editorial-faq details+details { border-top:1px solid #e3e8df; }
.editorial-faq summary { list-style:none; display:flex; align-items:center; justify-content:space-between; gap:25px; padding:20px 0; font-size:14px; line-height:1.65; color:#3e4938; cursor:pointer; }
.editorial-faq summary::-webkit-details-marker { display:none; }
.editorial-faq summary .icon { width:14px; height:14px; transition:transform .2s; }
.editorial-faq details[open] summary .icon { transform:rotate(180deg); }
.editorial-faq details p { font-size:13px; color:#747e6d; line-height:1.9; margin:0 24px 23px 0; }
.sources-note { padding:25px 0; border-bottom:1px solid #e3e8df; margin-top:30px; }
.sources-note h3 { font-size:12px; margin:0 0 8px; letter-spacing:0; }
.sources-note p { font-size:11px; line-height:1.8; color:#7c8575; }
.author-card { display:flex; gap:16px; padding:26px 0; align-items:flex-start; }
.author-card .editor-avatar { width:43px; height:43px; }
.author-card strong { font-size:13px; line-height:1.5; }
.author-card p { font-size:12px; color:#747e6d; line-height:1.8; margin-top:4px; }
.related-section { padding:45px 0 70px; border-top:1px solid var(--editorial-line); }
.related-section .post-card h3 { font-size:20px; }
.reading-progress { position:fixed; z-index:80; top:0; left:0; right:0; height:3px; pointer-events:none; }
.reading-progress span { display:block; height:100%; width:100%; transform:scaleX(0); transform-origin:left; background:linear-gradient(90deg,#00D8F8 0%,#00E8F8 20%,#3FF3F9 40%,#68F0F8 60%,#98F8F8 80%,#A8F8F8 100%); transition:transform .1s linear; }
.toast { position:fixed; left:50%; bottom:24px; transform:translateX(-50%); z-index:100; max-width:calc(100% - 40px); background:#192119; color:white; border-radius:8px; padding:11px 19px; font-size:12px; box-shadow:0 8px 30px #0002; }
.copy-dialog { width:min(450px,calc(100% - 40px)); border:1px solid #dde5d9; border-radius:12px; padding:26px; box-shadow:0 25px 80px #0003; color:var(--ink); }
.copy-dialog::backdrop { background:#16201655; backdrop-filter:blur(3px); }
.copy-dialog h2 { font-size:23px; font-weight:550; letter-spacing:-.03em; }
.copy-dialog p { margin:10px 0 17px; font-size:12px; color:#718067; }
.copy-dialog input { width:100%; min-height:44px; padding:9px 12px; border:1px solid #d9e3d3; border-radius:7px; font-size:12px; }
.copy-dialog .button { margin-top:17px; float:right; }
.nojs-message { margin-top:15px; border:1px solid #dae4d4; padding:10px 15px; font-size:12px; color:#6c7b63; }
@media(min-width:1500px){ .masthead-grid h1 { font-size:61px; } }
@media(max-width:1100px){
 .blog-wrap { width:calc(100% - 64px); }
 .masthead-grid { gap:44px; grid-template-columns:1.25fr 1fr; }
 .masthead-grid h1 { font-size:48px; }
 .edition-note { display:none; }
 .featured-layout { gap:28px; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); }
 .feature-side { padding-left:22px; }
 .side-story { grid-template-columns:minmax(0,1fr) 82px; gap:15px; }
 .side-story .media { width:82px; height:102px; }
 .side-story h3 { font-size:15px; }
 .feature-main h2 { font-size:28px; }
 .post-grid { gap:35px 22px; }
 .post-card h3 { font-size:20px; }
 .article-head { max-width:820px; }
 .article-layout { grid-template-columns:205px minmax(0,1fr); gap:40px; }
 .editorial-strip { gap:30px; }
}
@media(max-width:900px){
 .blog-masthead,.article-masthead { padding-top:122px; }
 .masthead-grid { grid-template-columns:1fr 1fr; gap:30px; padding-top:30px; }
 .masthead-grid h1 { font-size:42px; }
 .masthead-aside>p { font-size:12px; }
 .category-button { padding-inline:11px; font-size:10px; }
 .feature-main .media { aspect-ratio:1.5; }
 .featured-layout { grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); }
 .side-story { grid-template-columns:minmax(0,1fr) 75px; gap:12px; }
 .side-story .media { width:75px; height:92px; }
 .feature-main h2 { font-size:26px; }
 .feature-main .excerpt { font-size:12px; }
 .side-story h3 { font-size:14px; }
 .side-note { font-size:10px; }
 .post-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .editorial-strip { grid-template-columns:1fr auto; gap:20px; }
 .editorial-strip>p { display:none; }
 .article-head h1 { font-size:43px; }
 .article-layout { grid-template-columns:180px minmax(0,1fr); gap:30px; margin-top:39px; }
 .article-body { font-size:15px; }
 .article-body .lead { font-size:17px; }
 .article-body h2 { font-size:25px; }
 .sidebar-index nav a { font-size:10px; }
 .article-quote p { font-size:21px; }
 .related-section .post-grid .post-card:last-child { display:none; }
}
@media(max-width:700px){
 .blog-wrap { width:calc(100% - 40px); }
 .masthead-grid { grid-template-columns:1fr; gap:24px; padding:30px 0 28px; }
 .masthead-grid h1 { font-size:clamp(38px,7.8vw,47px); max-width:560px; }
 .masthead-aside>p { max-width:480px; font-size:13px; margin-bottom:16px; }
 .search-box { max-width:none; }
 .category-bar { padding-block:13px; }
 .category-list { flex-wrap:nowrap; width:100%; overflow-x:auto; padding:3px 1px 8px; scrollbar-width:thin; scrollbar-color:#b6c4b6 transparent; }
 .category-button { min-height:38px; padding-inline:12px; }
 .featured-section { padding:28px 0 35px; }
 .featured-layout { grid-template-columns:1fr; gap:30px; }
 .feature-main .media { aspect-ratio:1.75; }
 .feature-main h2 { font-size:28px; line-height:1.27; }
 .feature-main .excerpt { font-size:13px; }
 .feature-main .article-category { margin-top:19px; }
 .feature-side { border-left:0; padding-left:0; border-top:1px solid var(--editorial-line); padding-top:24px; }
 .feature-side>h3 { margin-bottom:21px; }
 .side-story { grid-template-columns:minmax(0,1fr) 104px; gap:25px; padding-block:18px; }
 .side-story .media { width:104px; height:103px; }
 .side-story h3 { font-size:17px; margin-bottom:9px; }
 .side-note { font-size:11px; margin-top:0; padding-top:22px; }
 .catalog-section { padding:31px 0 40px; }
 .section-heading h2 { font-size:25px; }
 .section-heading { align-items:flex-start; }
 .catalog-count { flex-direction:column; align-items:flex-end; gap:6px; font-size:10px; line-height:1.4; text-align:right; }
 .article-layout { display:block; margin-top:27px; }
 .sticky-aside { position:static; }
 .article-aside { margin-bottom:28px; }
 .sidebar-index { padding:15px 17px; border:1px solid #dfe7d8; border-radius:7px; background:#f8fbf5; }
 .sidebar-index summary { min-height:24px; }
 .sidebar-index summary>.icon { display:block; }
 .sidebar-index[open] summary>.icon { transform:rotate(180deg); }
 .sidebar-index nav { margin-top:12px; }
 .sidebar-index nav a { font-size:12px; }
 .aside-share { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:19px 0 0; }
 .aside-share>p { margin:0; }
 .aside-link { display:none; }
 .article-head { margin:28px auto 28px; }
 .article-head h1 { font-size:clamp(32px,6.3vw,43px); line-height:1.17; }
 .article-deck { font-size:15px; line-height:1.8; margin-top:17px; }
 .byline { margin-top:20px; padding-top:20px; }
 .byline-status { display:none; }
 .article-cover .media { aspect-ratio:1.7; }
 .article-body { font-size:15px; }
 .article-body h2 { font-size:26px; margin-top:35px; }
 .article-body .lead { font-size:17px; }
 .article-quote p { font-size:23px; }
 .article-layout { margin-bottom:30px; }
 .related-section { padding-top:32px; padding-bottom:40px; }
 .related-section .section-heading { align-items:center; }
 .related-section .section-heading .text-link { font-size:10px; }
 .editorial-strip { margin-bottom:42px; padding-block:28px; }
 .editorial-strip h2 { font-size:23px; }
 .editorial-strip .text-link { font-size:11px; gap:6px; }
}
@media(max-width:480px){
 .post-grid { grid-template-columns:1fr; gap:29px; }
 .post-card .media { aspect-ratio:1.75; }
 .post-card h3 { font-size:23px; }
 .post-card .excerpt { font-size:13px; }
 .post-card { padding-bottom:24px; }
 .pagination { align-items:center; gap:10px; }
 .pagination-status { font-size:10px; max-width:105px; }
 .page-button { min-width:31px; min-height:35px; padding-inline:8px; }
 .pagination-controls { gap:2px; }
 .article-cover figcaption { text-align:left; }
 .article-kicker-row { gap:9px; flex-wrap:wrap; }
 .article-head h1 { font-size:35px; }
 .editorial-strip { grid-template-columns:1fr; gap:14px; }
 .editorial-strip .text-link { justify-self:start; }
 .related-section .post-grid .post-card:last-child { display:flex; }
 .template-table th,.template-table td { padding:11px 10px; }
 .article-inline-cta { padding:22px; }
 .editorial-callout { padding:21px; }
 .article-quote p { font-size:22px; }
 .byline-person p { font-size:9px; }
 .preview-notice { padding:14px; }
 .preview-notice p { font-size:10px!important; }
 .section-heading .subtle { font-size:10px; }
}
@media(prefers-reduced-motion:reduce){ html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; animation:none!important; } }
@media print {
 .site-header,.page-brand,.site-footer,.article-aside,.related-section,.editorial-strip,.reading-progress,.share-controls,.toast,.copy-dialog,.skip-link,.no-print { display:none!important; }
 .blog-wrap { width:100%; }
 .article-masthead { padding-top:0; }
 .article-head { margin-top:20px; }
 .article-head h1 { font-size:30px; }
 .article-layout { display:block; margin:25px 0; max-width:none; }
 .article-body { color:black; font-size:11pt; }
 .article-body h2 { break-after:avoid; font-size:19pt; }
 .article-body h3 { break-after:avoid; }
 .article-cover { break-inside:avoid; }
 .article-cover .media { height:190px; }
 .article-quote,.editorial-callout,.author-card { break-inside:avoid; }
 .editorial-faq details p { display:block; }
 .preview-notice { border:1px solid #999; }
}

/* A failed photo in a small thumbnail uses only the backup illustration. */
.side-story .cover-backup{background-size:auto 205%;background-position:70% 30%}

/* Long-form editorial layer. Existing shell, catalog and visual tokens preserved. */
.article-body{min-width:0}
.article-body>p,.article-body section>p{overflow-wrap:anywhere}
.article-body h2,.article-body h3{overflow-wrap:break-word}
.article-body pre{max-width:100%;overflow:auto;background:#f4f6f5;border:1px solid #e1e7e4;border-radius:10px;padding:20px 22px;margin:24px 0;font-size:14px;line-height:1.75;tab-size:2}
.article-body code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.87em;background:#f1f4f2;padding:.12em .3em;border-radius:3px;overflow-wrap:anywhere}
.article-body pre code{font-size:inherit;background:none;padding:0;white-space:pre;overflow-wrap:normal}
.article-body .template-table-wrap{max-width:100%;overscroll-behavior-x:contain}
.article-body .template-table th,.article-body .template-table td{min-width:100px;vertical-align:top}
.article-body .template-table-wrap:focus-visible{outline:2px solid #468571;outline-offset:4px}
.article-body .sources-note{margin-top:40px}
.article-body .sources-note h2{font-size:23px;margin-top:0}
.article-body .sources-note ol{padding-left:22px;font-size:14px;line-height:1.85}
.article-body .sources-note li{margin-bottom:14px;overflow-wrap:anywhere}
.article-body .download-article{display:inline-flex;align-items:center;min-height:50px;padding:13px 20px;margin:2px 0;background:#172b25;color:#fff;border-radius:8px;text-decoration:none;font-size:15px;font-weight:600;line-height:1.5}
.article-body .download-article:hover{background:#2d4b40;text-decoration:none}
.article-body .article-inline-cta h2{margin-top:10px;font-size:28px;line-height:1.2}
.sidebar-index nav{max-height:52vh;overflow-y:auto;scrollbar-width:thin;padding-right:5px}
.sidebar-index nav a{font-size:12px;line-height:1.5}
@media(max-width:700px){.sidebar-index nav{max-height:none}.article-body pre{font-size:12px;padding:16px}.article-body .template-table{font-size:13px}.article-body .download-article{display:flex;text-align:center;justify-content:center}.article-body .article-inline-cta h2{font-size:24px}}
@media print{.article-body pre{white-space:pre-wrap;overflow:visible}.article-body pre code{white-space:pre-wrap}.article-body .template-table-wrap{overflow:visible}.article-body .sources-note{break-inside:auto}.article-body section{break-inside:auto}}
