/* Editorial system: a quiet reading column and a separate, tactile data layer. */
:root{--chapter-nav-height:64px;--editorial-gutter:clamp(1.5rem,5vw,6rem)}
.masthead{height:84px;padding-inline:var(--editorial-gutter);border-bottom:0}
.reading-progress{height:2px}
.chapter-nav{justify-content:space-between;padding:1rem var(--editorial-gutter);gap:1.25rem;background:#fffdf7f5;border-top:0;border-bottom:1px solid #0b121528;backdrop-filter:blur(12px)}
.chapter-nav a{font-size:.875rem;min-height:32px;display:flex;align-items:center;position:relative;border:0;transition:color .2s}
.chapter-nav a:after{content:'';position:absolute;left:0;right:0;bottom:-.5rem;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.chapter-nav a[aria-current]:after{transform:scaleX(1)}
.intro{max-width:1060px;padding:clamp(5rem,10vw,10rem) var(--editorial-gutter) clamp(4rem,8vw,8rem)}
.intro>p:nth-child(2){font-size:clamp(1.7rem,3vw,2.6rem);line-height:1.43;letter-spacing:-.022em;margin-top:2rem}
.intro>p:nth-child(2)::first-letter{float:none;font-size:inherit;line-height:inherit;padding:0}
.intro>p:nth-child(3){max-width:42rem;margin:2.5rem 0 0 auto;font-size:1.125rem;line-height:1.8;color:#454d4e}
.chapter{padding:clamp(4rem,8vw,9rem) var(--editorial-gutter);scroll-margin-top:calc(var(--chapter-nav-height) + 1rem)}
.chapter-heading{grid-template-columns:5rem minmax(0,1fr);gap:1.5rem;max-width:1380px;margin-bottom:clamp(3rem,6vw,6rem)}
.chapter-number{font-family:Libre,Arial,sans-serif;font-size:.875rem;line-height:1.5;opacity:1;padding-top:.15rem;letter-spacing:.08em}
.chapter-heading h2{font-size:clamp(3rem,6.1vw,6.8rem);font-weight:400;letter-spacing:-.048em;line-height:1.035;max-width:62rem;text-wrap:balance}
.chapter-heading .eyebrow{font-size:.8125rem!important;letter-spacing:.11em}
.chapter-layout{max-width:1230px;grid-template-columns:minmax(0,.95fr) minmax(0,1.1fr);gap:clamp(3rem,7vw,8rem)}
.prose{font-size:clamp(1.125rem,1.4vw,1.3125rem);line-height:1.8;text-wrap:pretty}
.prose p{margin-bottom:1.7rem}
.evidence{position:static}
.infographic{border-top:1px solid currentColor;padding-top:1.6rem;overflow:visible}
.infographic h3{font-size:1.4rem;line-height:1.3;letter-spacing:-.025em;margin-bottom:1.8rem}
.infographic .eyebrow{font-size:.8125rem!important;line-height:1.6!important;letter-spacing:.065em;max-width:33rem}
.chart-note,.source,.data-table,.data-table table{font-size:.875rem;line-height:1.65}
.chart-note{max-width:39rem}.source{margin-top:1.3rem;opacity:1}
.source a{border-bottom:1px solid #808b8b;padding-bottom:2px}
.data-table{border-color:#84929466;padding-top:1rem;margin-top:1.75rem}
.data-table summary{min-height:44px;display:list-item;align-content:center;font-size:.875rem}
.data-table td,.data-table th{border-color:#82939344;padding:.7rem .2rem}
.control-group{margin-top:1.5rem;margin-bottom:2rem}
.readout{margin:2.5rem 0;gap:1.5rem}.readout strong{font-size:clamp(5rem,9vw,8rem);font-variant-numeric:lining-nums tabular-nums;letter-spacing:-.065em}
.readout span{font-size:1rem;max-width:13rem}
.volume-output strong{font-size:clamp(4rem,8vw,6rem);font-variant-numeric:lining-nums tabular-nums}
.volume-output span{font-size:.9375rem}
.night-dots{margin-block:2.5rem}
.night-dots i:not(.inactive){background:transparent url('assets/night-ice-cube.png') center/contain no-repeat;border:0;border-radius:0;box-shadow:none}
.night-dots i:not(.inactive):before,.night-dots i:not(.inactive):after{display:none}
.photo{margin-top:clamp(3rem,7vw,7rem)}
.photo img{clip-path:none!important;transform:none!important;will-change:auto}
.photo figcaption{font-size:.8125rem;line-height:1.7;max-width:45rem;margin-top:.3rem}
.photo.portrait{max-width:1000px;grid-template-columns:minmax(0,1fr) minmax(12rem,.5fr);gap:2rem}
.theme-water{background:#c8e0e4}.theme-ice{background:#e8f1ef}
.theme-home{background:#f5e9cf}
.sea-chart:after{display:none}
.risk-fill{box-shadow:none}.fire-chart.is-seen .risk-fill{animation:none}
.risk-fill.risk-1{background:#ff8272}
.rain-chart.is-seen .rain-mark.positive{filter:none}
.cooling-cells i.exposed{box-shadow:none}
.day-blocks i:hover,.calendar-grid span:hover,.cooling-cells i:hover{transform:none}
.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr))}
.calendar-grid span{font-size:.8125rem;min-height:25px;transition:background .2s,outline-color .2s;transition-delay:0}
.calendar-grid span[role=button]{cursor:pointer}
.calendar-grid span[role=button]:focus-visible{outline:2px solid currentColor;outline-offset:3px;z-index:2}
.calendar label,.calendar output{font-size:.875rem;line-height:1.5}
.calendar input[type=range]{height:44px;min-height:44px}
.key{width:.7rem;height:.7rem;margin-right:.4rem}
.rain-axis,.rain-label{font-size:.8125rem}.rain-value{font-variant-numeric:tabular-nums}
.method{max-width:1060px;padding:clamp(5rem,9vw,9rem) var(--editorial-gutter)}
.method h2{font-size:clamp(2.5rem,4vw,4.3rem);letter-spacing:-.045em;line-height:1.1}
.method>p,.method details p{font-size:1rem;line-height:1.8}
.source-list li{font-size:.9375rem;padding-block:1rem;scroll-margin-top:calc(var(--chapter-nav-height) + 2rem)}
.source-list li:target{outline:1px solid #9a031e55;outline-offset:8px}
.source-list span{font-size:.8125rem;line-height:1.6}
.method details summary{min-height:44px;align-content:center;font-size:.9375rem}
@media(min-width:1200px){.chapter-layout{padding-left:6.5rem;max-width:1380px}}
@media(max-width:900px){.chapter-layout{display:block}.prose{max-width:42rem}.evidence{margin:3.5rem 0 0;max-width:42rem}.chapter-heading{grid-template-columns:2.5rem minmax(0,1fr);gap:1rem}.chapter-heading h2{font-size:clamp(2.6rem,7vw,4.5rem)}.chapter-nav{justify-content:flex-start;gap:1.5rem}.months{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.masthead{padding-block:1rem;height:auto}.intro{padding-block:4rem}.intro>p:nth-child(3){font-size:1rem}.chapter-heading{display:block}.chapter-number{display:block;margin-bottom:1.25rem}.chapter-heading h2{font-size:clamp(2.7rem,10vw,3.7rem)}.prose{font-size:1.125rem;line-height:1.8}.months{grid-template-columns:1fr;gap:1.5rem}.calendar-grid span{font-size:.875rem;min-height:32px;aspect-ratio:1.6}.month h4{font-size:.9375rem}.photo.portrait{display:block}.readout strong{font-size:6.5rem}.chart-note,.source{font-size:.875rem}.sea-comparison strong{font-size:clamp(2rem,9vw,3rem)}.method h2{font-size:2.7rem}}
@media(prefers-reduced-motion:reduce){.chapter-nav a:after{transition:none}}
@media print{.chapter{padding:2rem 0}.chapter-nav{display:none}.chapter-layout{padding:0}.intro{padding:2rem 0}.prose{font-size:12pt}.chart-note,.source{font-size:10pt}}

/* Two narrative set-pieces. Like the Tinder special, the comparison takes
   the whole stage; prose and evidence no longer compete in two columns. */
.chapter-setpiece .chapter-layout{display:block;max-width:1380px;padding:0}
.chapter-setpiece .prose{max-width:42rem;margin:0 auto 5rem}
.chapter-setpiece .evidence{max-width:none;margin:0}
.chapter-setpiece .infographic{overflow:visible;border-top:0;padding:0;isolation:auto}
.data-story{position:relative}
.data-story-stage{max-width:1160px;margin:auto;padding:3rem 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);column-gap:clamp(2rem,8vw,8rem);align-content:center}
.data-story-stage>.eyebrow{grid-column:1/-1;margin:0 0 1rem;max-width:none}
.data-story-stage>h3{grid-column:1;font-family:SourceSerif,Georgia,serif;font-weight:400;font-size:clamp(2rem,3.5vw,3.7rem);line-height:1.1;margin:0 0 1rem;letter-spacing:-.03em}
.data-story-stage>.control-group{grid-column:1;margin:0 0 1rem;gap:1.5rem;flex-wrap:wrap}
.data-story-stage>.readout{grid-column:1;display:block;margin:0;align-self:start}
.data-story-stage>.readout strong{display:block;font-size:clamp(6rem,13vw,12rem);line-height:1}
.data-story-stage>.readout span{display:block;max-width:16rem;margin-top:1rem;line-height:1.5}
.data-story-stage>.night-dots{grid-column:2;grid-row:2/6;width:100%;max-width:30rem;align-self:center;justify-self:center;margin:0;gap:clamp(5px,.9vw,12px)}
.data-story-stage>.data-story-caption{grid-column:1;align-self:end;margin:1.5rem 0 0;font-size:.9375rem;line-height:1.65;max-width:22rem}
.data-story-cue{display:none}
.data-story-notes{max-width:46rem;margin:3rem auto 0;border-top:1px solid #85969d50;padding-top:1.5rem}
.data-story-notes>.chart-note{max-width:none}
.data-story-stage>.ice-volume{grid-column:1/-1;grid-row:4;width:100%;height:clamp(180px,27vh,290px);margin:2rem 0 1rem}
.data-story-stage>.volume-output{grid-column:2;grid-row:2/4;margin:0;align-self:center;justify-self:end;max-width:25rem;gap:1rem}
.data-story-stage>.volume-output strong{font-size:clamp(5rem,10vw,9rem);line-height:1}
.ice-chart .data-story-caption{grid-column:1/-1;max-width:none;margin-top:1rem}
.story-enabled{height:190svh}
.story-enabled .data-story-stage{position:sticky;top:var(--chapter-nav-height);min-height:calc(100svh - var(--chapter-nav-height));padding-block:2rem;box-sizing:border-box}
.story-enabled .data-story-cue{display:flex;justify-content:space-between;grid-column:1/-1;margin:1.5rem 0 0;padding-top:1rem;border-top:1px solid #82909a55;font-size:.8125rem;letter-spacing:.05em;align-self:end}
.data-story-stage .night-dots i{transition-delay:0s;transition-duration:.55s}
.data-story-stage .night-dots i.inactive{border-color:#68879b55;transform:scale(.72)}
.data-story-stage .ice-volume i{transition-duration:.8s;transition-delay:0s}
@media(max-width:700px){
 .chapter-setpiece .prose{margin-bottom:3rem}
 .data-story-stage{display:flex;flex-direction:column;gap:0;padding-block:1.5rem}
 .data-story-stage>h3{font-size:2rem;margin-bottom:.5rem}
 .data-story-stage>.eyebrow{font-size:.75rem!important;margin-bottom:.75rem}
 .data-story-stage>.control-group{margin:0 0 .75rem}
 .data-story-stage>.readout{display:flex;align-items:center;gap:1.5rem;margin:0 0 1rem}
 .data-story-stage>.readout strong{font-size:5rem}
 .data-story-stage>.readout span{margin:0;font-size:.875rem}
 .data-story-stage>.night-dots{width:min(100%,26svh);max-width:19rem;align-self:center;gap:4px}
 .data-story-stage>.data-story-caption{max-width:none;font-size:.875rem;margin-top:1rem}
 .data-story-stage>.ice-volume{height:23svh;min-height:150px;margin:1rem 0}
 .data-story-stage>.volume-output{align-self:flex-start;max-width:none;order:0;margin:.5rem 0}
 .data-story-stage>.volume-output strong{font-size:4rem}
 .story-enabled .data-story-stage{padding-block:1.25rem}
 .story-enabled .data-story-cue{margin-top:1rem;padding-top:.75rem}
 .data-story-notes{margin-top:2rem}
}
@media(max-height:719px){.story-enabled{height:auto}.story-enabled .data-story-stage{position:static;min-height:0}.data-story-cue{display:none!important}}
.reduce-motion .data-story{height:auto}.reduce-motion .data-story-stage{position:static;min-height:0}.reduce-motion .data-story-cue{display:none}
@media(prefers-reduced-motion:reduce){.data-story{height:auto}.data-story-stage{position:static;min-height:0}.data-story-cue{display:none!important}}
@media print{.data-story{height:auto}.data-story-stage{position:static;min-height:0}.data-story-cue{display:none!important}.chapter-setpiece .prose{margin-bottom:1rem}}
