/* Article design. Scoped to the story page; homepage styling stays unchanged. */
.story-page{background:#fff;--story-width:1100px;--story-reading-width:740px;--story-rail-width:220px;--story-sticky-offset:calc(var(--publication-sticky-height,0px) + 28px)}
.story-shell{width:min(90%,var(--story-width));max-width:var(--story-width);margin-inline:auto}
.story-mast{padding:36px 0 28px;background:#fff}
.story-mast .breadcrumb{font-size:13px;line-height:1.6;margin:0 0 28px;color:#827a8d;flex-wrap:wrap}
.story-kicker{display:flex;align-items:center;gap:11px;font-size:12px;font-weight:650;color:#704c9d;margin-bottom:20px}
.story-category-icon{display:grid;place-items:center;width:32px;height:32px;background:#eae2f5;border-radius:10px}
.story-category-icon .icon{width:18px;height:18px}
.story-kicker-rule{width:44px;height:1px;background:#cab9df;margin-left:5px}
.story-mast h1{font-size:clamp(32px,3.8vw,56px);font-weight:750;line-height:1.13;letter-spacing:-.045em;max-width:29ch;color:#24202e;margin:0;text-wrap:balance;overflow-wrap:anywhere}
.story-deck{font-size:clamp(17px,1.4vw,20px);line-height:1.7;max-width:67ch;color:#716879;margin:22px 0 28px}
.story-meta{display:flex;align-items:center;flex-wrap:wrap;gap:24px;padding:20px 0 0;border-top:1px solid #e6e0ec;font-size:13px}
.story-author{display:flex;align-items:center;gap:12px}
.story-avatar{display:grid;place-content:center;position:relative;width:39px;height:39px;border-radius:12px;background:#fff;border:1px solid #e5dfec;font-size:23px;font-weight:750;letter-spacing:-2px}
.story-avatar span{position:absolute;right:7px;bottom:3px;color:var(--purple)}
.story-author>div{display:flex;flex-direction:column;gap:2px}
.story-author strong{font-size:13px;font-weight:650}
.story-author time{font-size:12px;color:#81768c}
.story-duration{display:flex;align-items:center;gap:7px;color:#81768c;font-size:12px;padding-inline-start:24px;border-inline-start:1px solid #ded6e7}
.story-duration .icon{width:15px;height:15px}
.story-share{margin-inline-start:auto;display:flex;align-items:center;gap:8px;border:1px solid #dfd7e8;background:#fff;border-radius:9px;padding:10px 13px;font-size:12px;color:#736182}
.story-save{margin-inline-start:auto;display:flex;align-items:center}
a.story-save,.story-save button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 13px;font:inherit;font-size:12px;min-width:38px;min-height:38px;border:1px solid #dfd7e8;background:#fff;border-radius:9px;color:#736182;cursor:pointer}
.story-save .icon{width:16px;height:16px}.story-save button[aria-pressed=true]{color:var(--purple);background:#f3edfc}.story-save+.story-share{margin-inline-start:0}
.story-share .icon{width:16px;height:16px}
.story-columns{display:grid;grid-template-columns:minmax(0,var(--story-reading-width)) var(--story-rail-width);justify-content:space-between;gap:clamp(32px,4vw,64px);padding-top:44px;padding-bottom:54px}
.story-reading{min-width:0}
.story-prose{font-size:18px;line-height:1.85;letter-spacing:-.012em;color:#49434f;overflow-wrap:anywhere}
.story-prose>p{margin:0 0 24px}
.story-prose>p:first-child{font-size:20px;line-height:1.75;color:#38313f}
.story-prose h2{font-size:27px;line-height:1.4;font-weight:700;letter-spacing:-.028em;margin:40px 0 18px;color:#2a2432;scroll-margin-top:var(--story-sticky-offset)}
.story-prose .story-source{font-size:12px;line-height:1.8;margin:10px 0;padding-left:14px;border-left:2px solid #e5dced}
.story-source a{color:#79589c;text-decoration:underline;text-decoration-color:#d7c6e9;text-underline-offset:4px}
.story-rail{min-width:0}
.story-rail-sticky{position:sticky;top:var(--story-sticky-offset);max-height:calc(100dvh - var(--story-sticky-offset) - 28px);overflow-y:auto}
.story-toc>p{font-size:12px;font-weight:700;color:#9a8aa8;letter-spacing:.07em;margin:2px 0 17px}
.story-toc>a{display:block;font-size:13px;line-height:1.65;padding:10px 0 10px 15px;border-left:1px solid #e6e0ed;color:#786b83}
.story-toc>a:hover{border-left-color:var(--purple);color:var(--purple);background:#faf8fd}
.story-topic{margin-top:30px;padding:21px;background:#f6f3fa;border:1px solid #ede7f3;border-radius:14px}
.story-topic>span{color:#9476b8}
.story-topic h2{font-size:17px;margin:12px 0 8px}
.story-topic>p{font-size:12px;line-height:1.8;color:#887b92;margin-bottom:17px}
.story-topic .read-link{font-size:11px}
.story-related{background:#fff;padding:28px 0 44px}
.story-related .story-shell{--story-width:960px}
.story-related-heading{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;margin-bottom:20px;gap:12px 20px}
.story-related-heading h2{font-size:23px;margin:0}
.story-related-heading>.read-link{font-size:13px;color:var(--desk)}
.story-related .collection-story{min-height:0;padding:24px}
.story-related .collection-story-top{margin-bottom:13px}
.story-related .collection-story-copy h3{font-size:21px}
.story-related .collection-story-copy p{margin:12px 0 20px}
.story-related .collection-story-bottom{padding-top:15px}
.story-discussion-shell .reader-discussion{max-width:var(--story-reading-width);border-top:1px solid #e4dfee}
.story-page .site-footer{margin-top:0}
.story-mobile-toc{display:none}
.story-demo{padding:18px;background:#f5f1fa;border-radius:10px;font-size:13px!important}


@media(max-width:800px){.story-columns{grid-template-columns:1fr;gap:0;padding-top:28px}
.story-rail{display:none}
.story-mobile-toc{display:block;border:1px solid #e9e2f0;border-radius:12px;margin-bottom:28px;background:#faf8fc}
.story-mobile-toc summary{display:flex;align-items:center;justify-content:space-between;list-style:none;font-size:11px;font-weight:650;color:#7e6b8e;padding:15px 18px}
.story-mobile-toc summary::-webkit-details-marker{display:none}
.story-mobile-toc summary>span{font-size:19px;font-weight:400}
.story-mobile-toc nav{padding:0 18px 14px}
.story-mobile-toc nav a{display:block;font-size:12px;line-height:1.7;padding:8px 0;color:#7b658e}
.story-mast h1{max-width:28ch}
.story-mast .breadcrumb{margin-bottom:26px}
}

@media(max-width:480px){.story-mast{padding-top:21px}
.story-mast h1{font-size:32px;line-height:1.25}
.story-kicker{margin-bottom:17px}
.story-deck{margin:19px 0 24px}
.story-meta{gap:12px;flex-wrap:wrap;padding:18px 0}
.story-duration{padding-inline-start:0;border:0;margin-inline-start:auto}
.story-share{margin:0;padding:8px;font-size:10px}
.story-share span{display:none}
.story-prose{font-size:17px;line-height:1.8}
.story-prose>p:first-child{font-size:18px}
.story-prose h2{font-size:23px;margin-top:33px}
.story-related-heading h2{font-size:21px}
.story-columns{padding-bottom:34px}
}


/* Shared cover and inline media: preserve source proportions, reserve layout space. */
.story-media{margin:2rem 0;min-width:0}
.story-media picture,.story-media img{display:block;width:100%;height:auto}
.story-media figcaption{margin-block-start:.75rem;font-size:.875rem;line-height:1.6;color:var(--muted,#686477);text-align:start;overflow-wrap:anywhere}
.story-cover{margin-block:0}
.story-cover img{aspect-ratio:11/6;object-fit:cover;object-position:center;border-radius:16px}
.story-prose .story-media{margin-block:2.5rem}


/* Structured blocks only: existing plain article/hero typography is untouched. */
.story-prose[data-content-format="markdown-v1"] h3,.story-prose[data-content-format="markdown-v1"] h4,.story-prose[data-content-format="markdown-v1"] h5,.story-prose[data-content-format="markdown-v1"] h6{line-height:1.45;margin-block:1.8em .7em;scroll-margin-top:var(--story-sticky-offset);color:#2a2432}

.story-prose[data-content-format="markdown-v1"] ul,.story-prose[data-content-format="markdown-v1"] ol{padding-inline-start:1.5em;margin-block:0 1.5em;list-style:revert}

.story-prose[data-content-format="markdown-v1"] li{margin-block:.4em}

.story-prose[data-content-format="markdown-v1"] blockquote{margin-inline:0;padding-inline-start:1.2em;border-inline-start:3px solid #d8c9e8;color:#716879}

.story-prose[data-content-format="markdown-v1"] pre{max-width:100%;overflow-x:auto;padding:1.2em;border:1px solid #e9e2f0;border-radius:10px;background:#f8f6fb;font-size:.85em;line-height:1.65;direction:ltr;text-align:start;white-space:pre;overflow-wrap:normal;tab-size:4}

.story-prose[data-content-format="markdown-v1"] code{font-family:ui-monospace,Consolas,monospace;font-size:.9em}

.story-prose[data-content-format="markdown-v1"] pre code{font-size:inherit}

.story-prose[data-content-format="markdown-v1"] a{color:#79589c;text-decoration:underline;text-underline-offset:3px}

.story-table{max-width:100%;overflow-x:auto;margin-block:1.5em}

.story-table table{width:100%;border-collapse:collapse;font-size:.9em}

.story-table th,.story-table td{text-align:start;border:1px solid #e5dced;padding:.6em .8em;min-width:8em}

.story-table th{background:#f8f6fb}

.story-table:focus-visible,.story-prose pre:focus-visible{outline:2px solid #79589c;outline-offset:3px}

