/* A self-contained editorial feature. All graphics remain readable without JavaScript. */
.pm-story { --pm-ink:#102d38; --pm-paper:#f0eee5; --pm-mint:#8ee3ce; --pm-amber:#efb675; color:#eaf0f6; font-family:var(--j-font-body); }
.pm-story * { box-sizing:border-box; }
.pm-story .pm-wrap { width:min(1180px, calc(100% - 64px)); margin-inline:auto; }
.pm-story p { padding:0; }
.pm-story a { color:#8ee3ce; text-underline-offset:5px; }
.pm-story a:focus-visible, .pm-story summary:focus-visible { outline:2px solid #efb675; outline-offset:6px; }
.pm-story .pm-kicker { font:400 12px/1.5 var(--j-font-mono); text-transform:uppercase; letter-spacing:.12em; }
.pm-story .pm-hero { padding:48px 0 60px; border-bottom:1px solid #2a405b; }
.pm-story .pm-back { display:inline-block; margin-bottom:36px; font-size:13px; text-decoration:none; }
.pm-story .pm-hero-grid { display:grid; grid-template-columns:1.05fr 1fr; gap:56px; align-items:center; }
.pm-story .pm-hero h1 { font-family:var(--j-font-head) !important; font-size:clamp(38px,4.2vw,62px); font-weight:650; line-height:1.05; letter-spacing:-.035em; color:#f0f4fa; padding:0; margin:18px 0 25px; }
.pm-story .pm-hero h1 span { display:block; color:#8ee3ce; }
.pm-story .pm-deck { font-size:17px; line-height:1.75; color:#bfcbd9; margin:0; }
.pm-story .pm-meta { display:flex; flex-wrap:wrap; gap:8px 20px; margin-top:24px; font-size:11px; line-height:1.7; color:#a1b2c5; }
.pm-story .pm-hero-image { margin:0; }
.pm-story .pm-hero-image img { width:100%; height:auto; display:block; border-radius:3px; }
.pm-story .pm-hero-image figcaption { font-size:11px; color:#a1b2c5; margin-top:10px; }
.pm-story .pm-prose { max-width:730px; margin:64px auto 34px; font-size:17px; line-height:1.85; color:#c4ceda; }
.pm-story .pm-prose p { margin:0 0 22px; }
.pm-story .pm-prose h2 { color:#f0f4fa; font-size:clamp(27px,3vw,36px); line-height:1.16; font-weight:650; letter-spacing:-.02em; padding:0; margin:0 0 24px; }
.pm-story .pm-prose strong { color:#f0f4fa; font-weight:600; }
.pm-story .pm-lead { color:#f0f4fa; font-size:21px; line-height:1.7; }
.pm-story .pm-figure { margin:42px 0 0; padding:42px 48px 24px; border-radius:4px; overflow:hidden; scroll-margin-top:110px; }
.pm-story .pm-figure-head { display:flex; justify-content:space-between; gap:16px; align-items:baseline; border-bottom:1px solid currentColor; padding-bottom:16px; margin-bottom:26px; }
.pm-story .pm-figure-head span { font:400 10px/1.5 var(--j-font-mono); text-transform:uppercase; letter-spacing:.1em; }
.pm-story .pm-figure h2 { font-family:var(--j-font-head) !important; font-weight:700; font-size:clamp(30px,4vw,49px); line-height:1.06; letter-spacing:-.03em; margin:0 0 16px; padding:0; color:inherit; max-width:780px; }
.pm-story .pm-figure .pm-subtitle { font-size:15px; line-height:1.6; margin:0; max-width:760px; }
.pm-story .pm-figure figcaption { margin-top:30px; padding-top:16px; border-top:1px solid currentColor; font-size:11px; line-height:1.7; }
.pm-story .pm-figure figcaption a { color:inherit; text-decoration:underline; }
.pm-story .pm-light { background:var(--pm-paper); color:var(--pm-ink); }
.pm-story .pm-light h2,.pm-story .pm-light strong { color:var(--pm-ink); }
.pm-story .pm-case-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:40px; align-items:center; margin-top:28px; }
.pm-story .pm-dial { width:min(100%,340px); display:block; margin:auto; }
.pm-story .pm-case-detail { border-left:1px solid #b7c4bf; padding-left:40px; }
.pm-story .pm-case-detail p { font-size:15px; line-height:1.55; margin:12px 0; }
.pm-story .pm-case-detail .pm-number { display:block; font:700 clamp(48px,6vw,76px)/1 var(--j-font-head); letter-spacing:-.055em; }
.pm-story .pm-valve { width:100%; max-width:390px; height:auto; display:block; margin:22px 0; }
.pm-story .pm-small { font-size:11px !important; line-height:1.6 !important; }
.pm-story .pm-data-notes { margin-top:12px; font-size:12px; line-height:1.7; color:#b5c5d5; }
.pm-story .pm-data-notes summary { width:fit-content; cursor:pointer; text-decoration:underline; text-underline-offset:4px; }
.pm-story .pm-data-notes table { width:100%; border-collapse:collapse; margin:14px 0; }
.pm-story .pm-data-notes th,.pm-story .pm-data-notes td { text-align:left; padding:10px; border:1px solid #334b63; }
.pm-story .pm-data-notes th { color:#eef3f8; }
.pm-story .pm-data-notes p { margin:10px 0; }
.pm-story .pm-chart { background:#123d47; color:#eaf2eb; }
.pm-story .pm-chart h2 { color:#eaf2eb; }
.pm-story .pm-chart .pm-subtitle { color:#c2d9d6; }
.pm-story .pm-range-chart { margin-top:35px; }
.pm-story .pm-range-row { margin:0 0 28px; }
.pm-story .pm-range-label { display:flex; justify-content:space-between; align-items:baseline; gap:10px; margin-bottom:10px; }
.pm-story .pm-range-label span { font-size:16px; }
.pm-story .pm-range-label strong { font:650 35px/1 var(--j-font-head); color:#b8f0db; letter-spacing:-.025em; }
.pm-story .pm-track { position:relative; height:26px; background:repeating-linear-gradient(to right,transparent 0,transparent calc(25% - 1px),#57757a calc(25% - 1px),#57757a 25%),#1c4a54; border-left:1px solid #71918e; border-right:1px solid #71918e; }
.pm-story .pm-range { position:absolute; inset-block:0; left:var(--low); width:var(--range); background:#8ee3ce; border-inline:3px solid #e7fff2; }
.pm-story .pm-range::before,.pm-story .pm-range::after { content:''; position:absolute; top:-5px; bottom:-5px; width:2px; background:#e7fff2; }
.pm-story .pm-range::before { left:-3px; }.pm-story .pm-range::after { right:-3px; }
.pm-story .pm-axis { display:flex; justify-content:space-between; font:12px/1.5 var(--j-font-mono); color:#c2d9d6; margin-top:-15px; }
.pm-story .pm-chart-note { font-size:12px; line-height:1.6; color:#c2d9d6; margin:22px 0 0; }
.pm-story .pm-scale { background:#d8e9e4; color:var(--pm-ink); }
.pm-story .pm-scale-grid { display:grid; grid-template-columns:1fr 1.2fr; align-items:center; gap:44px; margin-top:36px; }
.pm-story .pm-scale-number { font:700 clamp(54px,6vw,92px)/1 var(--j-font-head); letter-spacing:-.055em; }
.pm-story .pm-scale-label { font-size:16px; line-height:1.5; max-width:230px; margin:12px 0 0; }
.pm-story .pm-machine-grid { display:grid; grid-template-columns:repeat(13,1fr); gap:6px; }
.pm-story .pm-machine { aspect-ratio:1; background:#145f61; border-radius:50%; position:relative; }
.pm-story .pm-machine::after { content:''; position:absolute; inset:32%; border-radius:50%; background:#d8e9e4; }
.pm-story .pm-scale-legend { font:11px/1.6 var(--j-font-mono); margin:12px 0 0; }
.pm-story .pm-workflow { background:#102337; border:1px solid #3a5265; color:#f0f4fa; }
.pm-story .pm-workflow h2 { color:#f0f4fa; }
.pm-story .pm-flow { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin:35px 0 10px; list-style:none; padding:0; }
.pm-story .pm-flow li { position:relative; padding-top:20px; border-top:2px solid #72cbbd; }
.pm-story .pm-flow li:not(:last-child)::after { content:'→'; position:absolute; right:-18px; top:-16px; font-size:22px; color:#8ee3ce; }
.pm-story .pm-flow .pm-step { color:#8ee3ce; font:12px/1.5 var(--j-font-mono); }
.pm-story .pm-flow strong { display:block; color:#f0f4fa; font:650 22px/1.2 var(--j-font-head); margin:12px 0; }
.pm-story .pm-flow p { font-size:13px; line-height:1.7; color:#bccbd8; margin:0; }
.pm-story .pm-decision { margin:34px auto; max-width:850px; border-top:1px solid #3a5265; }
.pm-story .pm-decision-row { display:grid; grid-template-columns:190px 1fr; gap:28px; border-bottom:1px solid #3a5265; padding:22px 0; }
.pm-story .pm-decision-row h3 { font-size:19px; padding:0; color:#8ee3ce; }
.pm-story .pm-decision-row p { font-size:15px; line-height:1.75; color:#c4ceda; margin:0; }
.pm-story .pm-close { margin:68px 0; padding:36px 0; border-block:1px solid #3a5265; display:grid; grid-template-columns:1fr auto; align-items:center; gap:40px; }
.pm-story .pm-close h2 { padding:0; font-size:29px; line-height:1.2; color:#f0f4fa; margin:0 0 12px; }
.pm-story .pm-close p { max-width:640px; color:#bdcad7; font-size:15px; line-height:1.7; margin:0; }
.pm-story .pm-button { display:inline-flex; align-items:center; gap:28px; padding:17px 22px; border-radius:3px; background:#00c9b1; color:#08222b; font-size:14px; font-weight:600; text-decoration:none; }
.pm-story .pm-sources { max-width:850px; margin:0 auto 65px; border-top:1px solid #3a5265; padding-top:20px; color:#a9baca; font-size:12px; line-height:1.75; }
.pm-story .pm-sources summary { cursor:pointer; font-size:14px; color:#d8e4ee; }
.pm-story .pm-sources ol { margin:20px 0; padding-left:22px; }
.pm-story .pm-sources li { margin-bottom:12px; padding-left:6px; }
.pm-story .pm-sources a { overflow-wrap:anywhere; }
.pm-story .pm-read-next { display:flex; flex-wrap:wrap; gap:18px 35px; margin:0 0 64px; font-size:14px; }
@media (max-width:900px) {
 .pm-story .pm-hero-grid { grid-template-columns:1fr; gap:32px; }
 .pm-story .pm-hero-image { max-width:650px; }
 .pm-story .pm-hero h1 { max-width:720px; }
 .pm-story .pm-case-grid { gap:24px; }
 .pm-story .pm-case-detail { padding-left:24px; }
 .pm-story .pm-figure { padding:30px 30px 20px; }
 .pm-story .pm-flow { grid-template-columns:1fr 1fr; gap:30px; }
 .pm-story .pm-flow li:nth-child(2)::after { display:none; }
 .pm-story .pm-close { grid-template-columns:1fr; gap:24px; }.pm-story .pm-button { width:fit-content; }
}
@media (max-width:600px) {
 .pm-story .pm-wrap { width:calc(100% - 36px); }
 .pm-story .pm-hero { padding:24px 0 32px; }.pm-story .pm-back { margin-bottom:24px; }
 .pm-story .pm-hero h1 { font-size:39px; }.pm-story .pm-deck { font-size:15px; }
 .pm-story .pm-prose { font-size:16px; line-height:1.8; margin-top:42px; }.pm-story .pm-lead { font-size:19px; }
 .pm-story .pm-figure { margin-top:28px; padding:24px 20px 20px; }
 .pm-story .pm-figure-head { margin-bottom:20px; }.pm-story .pm-figure-head span { font-size:9px; }
 .pm-story .pm-figure h2 { font-size:32px; }.pm-story .pm-figure .pm-subtitle { font-size:13px; }
 .pm-story .pm-case-grid { grid-template-columns:1fr; gap:20px; }
 .pm-story .pm-dial { max-width:270px; }.pm-story .pm-case-detail { border-left:0; padding-left:0; border-top:1px solid #b7c4bf; padding-top:24px; }
 .pm-story .pm-range-label span { font-size:13px; }.pm-story .pm-range-label strong { font-size:26px; }
 .pm-story .pm-axis { font-size:10px; }.pm-story .pm-scale-grid { grid-template-columns:1fr; gap:24px; }
 .pm-story .pm-scale-label { max-width:none; }.pm-story .pm-machine-grid { gap:4px; }
 .pm-story .pm-flow { grid-template-columns:1fr; gap:26px; }.pm-story .pm-flow li::after { display:none; }
 .pm-story .pm-flow li { display:grid; grid-template-columns:30px 1fr; column-gap:14px; padding-top:18px; }
 .pm-story .pm-flow strong { margin:0 0 8px; }.pm-story .pm-flow p { grid-column:2; }
 .pm-story .pm-decision-row { grid-template-columns:1fr; gap:8px; padding:18px 0; }
 .pm-story .pm-data-notes table { font-size:11px; }.pm-story .pm-data-notes th,.pm-story .pm-data-notes td { padding:7px; }
}
