/* Homepage story + reader-facing sections. Colors come from shared tokens so theme.css can restyle them. */
.story-hero{display:block;max-width:none;margin:0;padding:40px 0 30px;border-bottom:1px solid var(--line,currentColor)}
.story-kicker{display:block;font:500 11px/1.5 var(--publication-sans,sans-serif);letter-spacing:1.2px;text-transform:uppercase;color:var(--atlas-copper,var(--blue,currentColor));margin-bottom:14px}
.story-hero h1{font:400 clamp(30px,4.2vw,48px)/1.12 var(--publication-serif,Georgia,serif);letter-spacing:-1px;max-width:900px;margin:0 0 18px;color:var(--ink,inherit)}
.story-dek{font:400 clamp(18px,2vw,22px)/1.5 var(--publication-serif,Georgia,serif);max-width:760px;margin:0 0 18px;color:var(--ink,inherit)}
.story-byline{font:12px/1.6 var(--publication-sans,sans-serif);color:var(--muted,inherit);margin:0}
.story-note{font-size:12px;line-height:1.65;color:var(--muted,inherit);max-width:760px;margin:14px 0 0}
.story-inline,.story-link,.story-news-item{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-align:left;text-decoration:underline;text-decoration-color:var(--line,currentColor);text-underline-offset:3px}
.story-inline:hover,.story-link:hover,.story-news-item:hover{text-decoration-color:currentColor}
.story-inline:focus-visible,.story-link:focus-visible,.story-news-item:focus-visible,.story-subscribe-cta:focus-visible{outline:2px solid var(--atlas-copper,var(--blue,currentColor));outline-offset:3px}

/* Evidence funnel */
.story-funnel{margin:0;padding:30px 0 32px;border-bottom:1px solid var(--line,currentColor)}
.story-funnel figcaption h2,.story-findings>h2,.story-news h2,.story-case-head h2{font:500 20px/1.35 var(--publication-sans,sans-serif);letter-spacing:-.3px;margin:0 0 6px;color:var(--ink,inherit)}
.story-funnel figcaption p{font-size:13px;color:var(--muted,inherit);margin:0 0 20px}
.story-funnel ol{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.story-funnel-step{display:grid;grid-template-columns:64px minmax(120px,1.2fr) minmax(0,1.4fr);align-items:center;gap:16px}
.story-funnel-n{font:400 30px/1 var(--publication-serif,Georgia,serif);text-align:right;color:var(--ink,inherit);font-variant-numeric:tabular-nums}
.story-funnel-bar{display:block;height:22px;background:var(--light,transparent);border:1px solid var(--line,currentColor)}
.story-funnel-bar i{display:block;height:100%;background:var(--atlas-green,var(--ink,currentColor))}
.story-funnel-label{font-size:13px;line-height:1.45}
.story-funnel-label b{font-weight:600;color:var(--ink,inherit)}
.story-funnel-label small{display:block;font-size:12px;color:var(--muted,inherit)}
.story-funnel-step.is-zero .story-funnel-n,.story-funnel-step.is-zero .story-funnel-label b{color:var(--atlas-copper,var(--blue,inherit))}
.story-funnel-step.is-zero .story-funnel-bar{border-style:dashed;border-color:var(--atlas-copper,var(--blue,currentColor))}

/* Findings */
.story-findings{padding:32px 0;border-bottom:1px solid var(--line,currentColor)}
.story-findings ol{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:26px}
.story-findings li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;max-width:860px}
.story-findings-no{font:11px/2.2 var(--mono,monospace);color:var(--atlas-copper,var(--blue,inherit))}
.story-findings h3{font:400 22px/1.3 var(--publication-serif,Georgia,serif);letter-spacing:-.3px;margin:0 0 8px;color:var(--ink,inherit)}
.story-findings p{font-size:14px;line-height:1.65;margin:0 0 8px;max-width:720px}
.story-caveat{color:var(--muted,inherit)}
.story-caveat span{font-weight:600}
.story-links{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:10px}
.story-link{font-size:12px;font-family:var(--publication-sans,sans-serif)}

/* Devon case */
.story-case{margin:32px 0 8px;padding:26px 28px;background:var(--light,transparent);border:1px solid var(--line,currentColor);border-left:3px solid var(--atlas-green,var(--ink,currentColor))}
.story-case-head{max-width:760px}
.story-case-head .story-kicker{margin-bottom:8px}
.story-case-head p{font-size:14px;line-height:1.65;margin:6px 0 0}
.story-timeline{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:2px solid var(--atlas-green,var(--ink,currentColor))}
.story-timeline li{position:relative;padding:16px 16px 0 0}
.story-timeline li::before{content:"";position:absolute;top:-7px;left:0;width:12px;height:12px;border-radius:50%;background:var(--paper,transparent);border:2px solid var(--atlas-green,var(--ink,currentColor))}
.story-timeline time{display:block;font:11px/1.5 var(--mono,monospace);color:var(--muted,inherit)}
.story-timeline b{display:block;font:400 24px/1.2 var(--publication-serif,Georgia,serif);margin:4px 0 6px;color:var(--ink,inherit)}
.story-timeline p{font-size:12px;line-height:1.55;margin:0}
.story-result{margin-top:8px!important;padding:8px 10px;border:1px solid var(--atlas-copper,var(--blue,currentColor));background:var(--paper,transparent)}
.story-result strong{display:block;font-size:14px;color:var(--atlas-copper,var(--blue,inherit))}
.story-result small{display:block;font-size:11px;line-height:1.45;color:var(--muted,inherit)}

/* What's new */
.story-news ul{list-style:none;margin:12px 0 0;padding:0}
.story-news li{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;padding:11px 0;border-bottom:1px solid var(--line,currentColor)}
.story-news time{font:11px/1.9 var(--mono,monospace);color:var(--muted,inherit)}
.story-news-item{font-size:14px;line-height:1.55}

/* Subscribe */
.story-subscribe{display:grid;grid-template-columns:minmax(0,1.6fr) auto;gap:20px 32px;align-items:center;margin:8px 0 32px;padding:24px 28px;border:1px solid var(--ink,currentColor);background:var(--paper,transparent)}
.story-subscribe h2{font:400 24px/1.25 var(--publication-serif,Georgia,serif);margin:0 0 6px;color:var(--ink,inherit)}
.story-subscribe p{font-size:13px;line-height:1.6;margin:0;max-width:620px}
.story-subscribe-cta{display:inline-block;padding:11px 18px;background:var(--ink,currentColor);color:var(--paper,Canvas);font:600 13px/1.2 var(--publication-sans,sans-serif);text-decoration:none;white-space:nowrap}
.story-subscribe.is-placeholder{border-style:dashed;border-color:var(--muted,currentColor)}
.story-subscribe-todo{font-size:12px!important;color:var(--muted,inherit)}
.story-subscribe-todo code{font:12px var(--mono,monospace)}

@media(max-width:760px){
 .story-hero{padding-top:28px}
 .story-funnel-step{grid-template-columns:48px minmax(0,1fr);gap:4px 12px}
 .story-funnel-n{font-size:24px;grid-row:span 2;align-self:start}
 .story-funnel-label{grid-column:2}
 .story-findings li{grid-template-columns:1fr;gap:2px}
 .story-findings h3{font-size:20px}
 .story-case{padding:20px 18px}
 .story-timeline{grid-template-columns:1fr;border-top:0;border-left:2px solid var(--atlas-green,var(--ink,currentColor));margin-left:6px}
 .story-timeline li{padding:0 0 16px 20px}
 .story-timeline li::before{top:2px;left:-7px}
 .story-news li{grid-template-columns:1fr;gap:2px}
 .story-subscribe{grid-template-columns:1fr;padding:20px 18px}
}
/* Last funnel step (cost and cash) stays highlighted whether it is zero or not. */
.story-funnel-step.is-last .story-funnel-n,.story-funnel-step.is-last .story-funnel-label b{color:var(--atlas-copper,var(--blue,inherit))}
.story-funnel-step.is-last .story-funnel-bar i{background:var(--atlas-copper,var(--blue,currentColor))}
.story-funnel-step.is-last .story-funnel-label small a{color:inherit}
