/* Shared visual language for the five exploration pages. */
.page-stories .section { padding:32px 0 46px; }
.page-stories .section-intro { margin-bottom:24px; }
.page-stories .section-intro h1, .page-stories .story-intro h1 { margin:12px 0; font-size:clamp(2.5rem,4.1vw,4.4rem); line-height:1.04; letter-spacing:-.055em; }
.page-stories .section-intro p, .page-stories .story-intro p { font-size:1rem; line-height:1.6; max-width:750px; }
.page-stories .story-intro { padding:32px 0 24px; }
.page-stories .masthead .main-nav a { white-space:nowrap; flex-shrink:0; }
.page-stories .chart-controls { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.page-stories .chart-controls select { min-width:0; }
.page-stories .market-explorer { border:0; padding:0; background:transparent; }
.page-stories .chart-layout { grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr); align-items:center; gap:30px; }
.page-stories .chart-layout h3 { font-size:1.5rem; }
.story-canada { display:block; width:100%; height:auto; max-height:490px; }
.story-map-region { outline:none; cursor:pointer; }
.story-map-land { fill:var(--map-fill,#dae8dd); stroke:#faf8f2; stroke-width:1.2; transition:fill .25s; }
.story-map-region[aria-disabled=true] { opacity:.25; cursor:default; }
.story-map-region:hover:not([aria-disabled=true]) .story-map-land { stroke:#173f36; stroke-width:2; }
.story-map-region[aria-pressed=true] .story-map-land { fill:#c76854; stroke:#994938; }
.story-map-region:focus-visible .story-map-land { stroke:#142e25; stroke-width:4; }
.story-map-label { cursor:pointer; }
.story-map-label rect { fill:#faf8f2; fill-opacity:.95; stroke:#bdcbbf; }
.story-map-label text { font:700 18px system-ui,sans-serif; fill:#173f36; }
.story-map-label.is-selected rect { fill:#fff0e6; stroke:#994938; }
.story-map-label.is-muted { opacity:.3; cursor:default; }
.story-map-leader { fill:none; stroke:#4f6b5b; stroke-width:1.3; }
.story-map-legend { display:flex; align-items:center; justify-content:center; gap:10px; font-size:.8rem; color:var(--muted); margin:4px 0 18px; }
.story-map-legend i { width:100px; height:8px; background:linear-gradient(90deg,#dae8dd,#1f5e4b); }
.story-map-legend b { font-weight:500; }
.story-map-legend b::before { content:''; display:inline-block; width:8px; height:8px; background:#c76854; margin-right:6px; }
.page-stories .region-detail { background:#173f36; color:white; padding:25px; border:0; }
.page-stories .region-detail .kicker { color:#d8bb9d; }
.page-stories .region-detail h3 { font-size:2rem; margin:12px 0 22px; }
.story-big-number { font:clamp(2.8rem,4vw,4.4rem) Georgia,serif; letter-spacing:-.055em; }
.page-stories .region-detail p,.page-stories .region-detail dt { color:#d6e2d9; }
.story-action { display:inline-flex; align-items:center; min-height:44px; color:inherit; font-weight:700; font-size:.9rem; text-underline-offset:5px; }
.page-stories .region-detail .story-note,.story-note { font-size:.8rem; line-height:1.6; }
.story-rankings { border-top:1px solid var(--rule); margin-top:20px; padding-top:14px; }
.story-rankings summary { cursor:pointer; font-size:.9rem; }
.page-stories .stats { margin:0 0 20px; }
.page-stories .panel-head,.page-stories .snapshot-head { flex-wrap:wrap; }
.page-stories .panel-head>div { min-width:0; }
@media(max-width:1100px){
 .page-stories .masthead{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.page-stories .masthead .brand{order:1}.page-stories .masthead .live-chip{order:2;margin-left:auto}.page-stories .masthead .main-nav{order:3;width:100%;min-width:0;overflow-x:auto;flex-wrap:nowrap;padding-top:4px}
}
@media(max-width:700px){
 .page-stories .chart-layout{grid-template-columns:minmax(0,1fr);gap:18px}.page-stories .chart-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.page-stories .chart-controls label:last-child{grid-column:1/-1}.story-canada{max-height:350px}.page-stories .region-detail{padding:20px}.page-stories .region-detail dl{display:grid;grid-template-columns:1fr 1fr;gap:6px 20px;margin:16px 0}.page-stories .region-detail dt{margin:0}.page-stories .region-detail dd{font-size:1.3rem;grid-row:2}.page-stories .region-detail h3{font-size:1.7rem;margin-bottom:10px}.story-map-legend{flex-wrap:wrap}.page-stories .section-intro h1,.page-stories .story-intro h1{font-size:2.5rem}
}
@media(prefers-reduced-motion:reduce){.story-map-land{transition:none}}
