/* Visual Stories 04–05 share the established Ricaora article design. */
.ns-page .rs-hero h1{font-size:clamp(44px,7.5vw,94px);max-width:17ch}
.ns-page .rs-deck{position:static;max-width:690px;font-size:clamp(17px,2vw,21px)}
.ns-photo{overflow:hidden;border:1px solid var(--rs-line);border-radius:24px;background:var(--rs-panel);margin-top:28px}
.ns-photo img{display:block;width:100%;height:auto}
.ns-photo figcaption{padding:15px 20px;font-size:12px;line-height:1.7;color:var(--rs-muted)}
.ns-page .rs-report .ns-photo{margin-block:28px 0}
.ns-feature{padding:36px;border:1px solid #547e9866;border-radius:26px;background:#102e45;color:#eff8ff;margin-block:24px}
.ns-feature .rs-eyebrow,.ns-feature h2 em{color:#8ed5ff}
.ns-feature h2{margin-top:14px}
.ns-feature-intro{max-width:680px;color:#bfd5e5;font-size:15px;line-height:1.8;margin-top:20px}
.ns-feature svg{display:block;width:min(100%,780px);height:auto;margin:20px auto 0}
.ns-step-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:22px}
.ns-step-buttons button{min-height:52px;border:1px solid #6b9db970;border-radius:12px;padding:12px;background:#173b55;color:#d4e8f5;text-align:left;font-weight:700;font-size:14px;line-height:1.5}
.ns-step-buttons button[aria-pressed=true]{background:#087bea;border-color:#8ed5ff;color:white}
.ns-step-panels{margin-top:18px;padding:22px;border:1px solid #5c849d66;border-radius:16px;background:#17394f}
.ns-step-panels h3{font-size:25px;line-height:1.25;margin-bottom:12px}
.ns-step-panels p{font-size:15px;line-height:1.8;color:#cee0ec;max-width:720px}
.ns-step-panels>[data-story-panel]+[data-story-panel]:not([hidden]){margin-top:26px}
.ns-feature .rs-cite{color:#8ed5ff}
.ns-figure-note{font-size:12px;line-height:1.7;color:#b3cede;margin-top:18px}
.ns-field{fill:#42baff11;stroke:#78d4ff;stroke-width:3;opacity:.2}
.ns-field-outer{stroke-dasharray:7 9}
.ns-energy{opacity:0}
.ns-car{transform:translateX(-78px);transition:transform .7s ease}
[data-mode="1"] .ns-car,[data-mode="2"] .ns-car{transform:translateX(0)}
[data-mode="1"] .ns-field,[data-mode="2"] .ns-field{opacity:1}
[data-mode="2"] .ns-energy{opacity:1;animation:ns-energy 2s ease 1}
@keyframes ns-energy{0%,100%{stroke-opacity:1}50%{stroke-opacity:.25}}
.ns-timeline .ns-step-buttons{grid-template-columns:repeat(4,minmax(0,1fr));position:relative}
.ns-timeline .ns-step-buttons button{border-top:3px solid #628aa2}
.ns-timeline .ns-step-buttons button:last-child{border-style:dashed}
.ns-timeline .ns-step-buttons button span{display:block;color:#9cc6df;font-size:12px;margin-bottom:6px}
.ns-timeline .ns-step-buttons button[aria-pressed=true] span{color:white}
.ns-milestone{display:block;font-size:12px;font-weight:700;color:#9dd8ff;margin-bottom:12px}
.ns-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:28px 0}
.ns-facts>div{padding:20px 16px;background:var(--rs-tint);border:1px solid var(--rs-line);border-radius:16px}
.ns-facts strong{display:block;font-size:clamp(29px,4vw,40px);line-height:1.2;letter-spacing:-.04em;color:var(--rs-ink)}
.ns-facts span{display:block;font-size:13px;line-height:1.65;color:var(--rs-muted);margin-top:10px}
.ns-takeaway{border-left:3px solid var(--rs-blue);padding:5px 0 5px 22px;margin-top:30px}
.ns-takeaway>strong{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--rs-blue)}
.ns-takeaway p{margin:12px 0 0;color:var(--rs-ink)}
.ns-page .rs-sources summary{min-height:52px;padding-block:14px;cursor:pointer;color:var(--rs-blue);font-size:15px;font-weight:700}
.ns-page .rs-sources li p{font-size:13px;line-height:1.7}
.ns-page .rs-sources li{padding-block:12px;scroll-margin-top:24px}
.ns-related{margin-top:28px;padding-top:24px;border-top:1px solid var(--rs-line)}
.ns-related>span{display:block;font-size:12px;color:var(--rs-muted);margin-bottom:10px}
.ns-related>a{display:block;min-height:44px;font-size:18px;line-height:1.5;font-weight:700;text-underline-offset:4px}
@media(max-width:700px){
 .ns-page .rs-hero h1{font-size:clamp(43px,11vw,60px);line-height:1.05;letter-spacing:-.05em}
 .ns-photo{border-radius:18px;margin-top:22px}
 .ns-page .rs-hero>.ns-photo img{min-height:230px;object-fit:cover}
 .ns-photo figcaption{padding:14px 16px}
 .ns-feature{width:calc(100% - 24px);padding:24px 18px;border-radius:20px}
 .ns-feature h2{font-size:33px;line-height:1.13}
 .ns-step-buttons{grid-template-columns:1fr;gap:9px}
 .ns-step-buttons button{min-height:48px;font-size:14px}
 .ns-step-panels{padding:18px;min-height:0}
 .ns-timeline .ns-step-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ns-feature svg{width:calc(100% + 20px);max-width:none;margin-inline:-10px}
 .ns-facts{grid-template-columns:1fr;gap:12px}
 .ns-facts>div{display:grid;grid-template-columns:minmax(100px,.8fr) minmax(0,1.2fr);align-items:center;gap:16px;padding:18px}
 .ns-facts strong{font-size:32px}
 .ns-facts span{margin:0}
 .ns-page .rs-hero .rs-meta{font-size:12px;line-height:1.6}
}
@media(prefers-reduced-motion:reduce){.ns-car{transition:none}[data-mode="2"] .ns-energy{animation:none}.ns-page{scroll-behavior:auto}}
.nt-stories .nt-new-story{display:block}
.nt-new-story>.nt-story-link{display:grid;grid-template-columns:180px minmax(0,1fr);gap:14px;align-items:center}
.nt-stories.nt-filtered .nt-new-story>.nt-story-link{display:block}
@media(max-width:700px){.nt-new-story>.nt-story-link{grid-template-columns:100px minmax(0,1fr);gap:12px}}
@media(max-width:390px){.nt-new-story>.nt-story-link{grid-template-columns:85px minmax(0,1fr);gap:10px}}

/* Cayenne prototype and sodium-cell editorial illustrations, revision 2. */
.ns-sodium .ns-step-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}
.ns-sodium svg{max-width:680px}
.ns-sodium-charge{display:none}
[data-story-sequence="sodium"][data-mode="1"] .ns-sodium-charge{display:block}
[data-story-sequence="sodium"][data-mode="1"] .ns-sodium-discharge{display:none}
.ns-cell-key{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.ns-cell-key p{color:#bfd5e5;font-size:14px;line-height:1.7}
.ns-cell-key strong{display:block;color:#8ff3dc;font-size:14px;margin-bottom:6px}
.ns-sodium .ns-step-panels>[data-story-panel]:not([hidden]){margin-top:0}
@media(max-width:700px){.ns-sodium .ns-step-buttons,.ns-cell-key{grid-template-columns:1fr}.ns-sodium svg{margin-top:22px}.ns-cell-key{gap:12px}.ns-cell-key p{font-size:14px}.ns-facts strong{font-size:30px}}
