.story-article .story-content{font-family:var(--font-body);font-size:1rem;line-height:1.8;color:var(--color-off-white)}.story-content p{margin-bottom:1.5rem}.story-content h2{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--color-crimson-red);text-transform:uppercase;letter-spacing:-.01em;margin-top:3rem;margin-bottom:1.25rem;line-height:1.15}.story-content h3{font-family:var(--font-display);font-size:1.125rem;font-weight:700;color:var(--color-off-white);text-transform:uppercase;letter-spacing:-.01em;margin-top:2.5rem;margin-bottom:1rem}.story-content blockquote{border-left:4px solid var(--color-crimson-red);padding-left:1.25rem;margin:2rem 0;font-family:var(--font-mono);font-size:.875rem;color:var(--color-dim-white);line-height:1.7;font-style:normal}.story-content blockquote strong{color:var(--color-off-white)}.story-content a{color:var(--color-off-white);text-decoration:underline;text-decoration-color:var(--color-dimmer);text-underline-offset:3px;transition:color .12s,text-decoration-color .12s}.story-content a:hover{color:var(--color-crimson-red);text-decoration-color:var(--color-crimson-red)}@media(prefers-reduced-motion:reduce){.story-content a{transition:none}}.story-content ul{margin-bottom:1.5rem;padding-left:1.5rem;list-style:none}.story-content ul li{position:relative;margin-bottom:.5rem;padding-left:1rem}.story-content ul li:before{content:"—";position:absolute;left:0;color:var(--color-crimson-red);font-family:var(--font-mono)}.story-content strong{color:var(--color-off-white)}.story-content em{color:var(--color-dim-white);font-style:italic}.story-content .pull-quote{font-family:var(--font-display);font-size:1.5rem;line-height:1.2;color:var(--color-crimson-red);text-transform:uppercase;letter-spacing:-.01em;margin:2.5rem 0;padding:1.5rem 0;border-top:2px solid var(--color-concrete);border-bottom:2px solid var(--color-concrete)}.story-content .hyperframes-embed{margin:2.5rem 0;border:2px solid var(--color-concrete);overflow:hidden}.story-content .hyperframes-embed iframe{display:block;width:100%;aspect-ratio:16 / 9;border:none}.story-content .stat-highlight{display:inline-block;font-family:var(--font-display);font-size:3rem;line-height:1;color:var(--color-crimson-red);letter-spacing:-.02em}.story-content .sources-list{margin-top:3rem;padding-top:2rem;border-top:2px solid var(--color-concrete)}.story-content .sources-list h2{margin-top:0}.story-content .sources-list li{font-size:.8rem;color:var(--color-dim-white);margin-bottom:.5rem}.story-content .sources-list li:before{content:"→"}.story-content .sources-list a{word-break:break-all}.story-chunk{opacity:1}.story-chunk[hidden]{display:none}.story-chunk--revealed{animation:story-chunk-in .32s ease-out}@keyframes story-chunk-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.story-chunk-btn{position:relative;display:block;font-family:var(--font-mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--color-dim-white);background:none;border:none;padding-top:1.75rem;padding-inline:0;padding-bottom:0;margin:2.5rem 0;cursor:pointer}.story-chunk-btn[hidden]{display:none}.story-chunk-btn:after{content:"";position:absolute;top:0;left:0;width:160px;max-width:100%;height:1px;background:linear-gradient(to right,var(--color-crimson-red),transparent)}.story-chunk-btn:before{content:"> ";color:var(--color-crimson-red)}.story-chunk-btn:hover{color:var(--color-off-white)}@media(prefers-reduced-motion:reduce){.story-chunk--revealed{animation:none}}@media(max-width:767px){.story-article{padding:3rem 1.25rem}.story-content{font-size:.9375rem}.story-content h2{font-size:1.25rem}.story-content .stat-highlight{font-size:2.25rem}.story-content .pull-quote{font-size:1.125rem}}.reduced-motion .hyperframes-embed iframe{opacity:1}.anim-block{margin:2.5rem 0;padding:1.5rem;border:1px solid var(--color-concrete);background:var(--color-card-surface);font-family:var(--font-body);overflow:hidden}.anim-block .anim-eyebrow{font-family:var(--font-mono);font-size:.7rem;color:var(--color-crimson-red);text-transform:uppercase;letter-spacing:.18em;margin-bottom:.75rem}.anim-block .anim-headline{font-family:var(--font-display);font-size:1.25rem;color:var(--color-off-white);text-transform:uppercase;letter-spacing:-.01em;line-height:1.15;margin-bottom:1rem}.anim-block .anim-footnote{font-family:var(--font-mono);font-size:.65rem;color:var(--color-concrete);text-transform:uppercase;letter-spacing:.12em;margin-top:1rem}.count-up{display:flex;align-items:baseline;gap:.5rem;margin:.75rem 0}.count-up .count-number{font-family:var(--font-display);font-size:clamp(2.5rem,6vw,4.5rem);color:var(--color-crimson-red);line-height:1;letter-spacing:-.02em;font-weight:400}.count-up .count-suffix{font-family:var(--font-mono);font-size:.85rem;color:var(--color-dim-white);text-transform:uppercase;letter-spacing:.1em}.hbar-row{display:grid;grid-template-columns:140px 1fr 60px;gap:.75rem;align-items:center;margin:.5rem 0}.hbar-row .hbar-label{font-family:var(--font-mono);font-size:.7rem;color:var(--color-dim-white);text-transform:uppercase;letter-spacing:.08em}.hbar-row .hbar-track{height:12px;background:#dc143c14;border:1px solid var(--color-concrete);position:relative;overflow:hidden}.hbar-row .hbar-fill{position:absolute;inset:0 auto 0 0;background:var(--color-crimson-red);width:0;transition:width 3.2s cubic-bezier(.2,.8,.2,1)}.hbar-row .hbar-fill.muted{background:var(--color-concrete)}.hbar-row .hbar-value{font-family:var(--font-display);font-size:1.1rem;color:var(--color-off-white);text-align:right}.ukpol{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin:1rem 0}.ukpol .country{border:1px solid var(--color-concrete);padding:1rem;position:relative}.ukpol .country-name{font-family:var(--font-display);font-size:1.1rem;color:var(--color-off-white);text-transform:uppercase;letter-spacing:.02em;margin-bottom:.5rem}.ukpol .country-flag{font-family:var(--font-mono);font-size:.65rem;color:var(--color-concrete);text-transform:uppercase;letter-spacing:.15em;margin-bottom:.75rem}.ukpol .country-numbers{font-family:var(--font-mono);font-size:.75rem;color:var(--color-dim-white);line-height:1.6}.ukpol .country-numbers strong{color:var(--color-off-white);font-weight:500}.ukpol .country-bar{height:8px;background:#dc143c14;margin-top:.75rem;overflow:hidden;position:relative}.ukpol .country-bar-fill{position:absolute;inset:0 auto 0 0;background:var(--color-crimson-red);width:0;transition:width 4s cubic-bezier(.2,.8,.2,1)}.ukpol .country-bar-fill.up{background:var(--color-crimson-red)}.ukpol .country-bar-fill.down{background:var(--color-concrete)}.ukpol .country-change{font-family:var(--font-display);font-size:1.5rem;margin-top:.5rem;line-height:1}.ukpol .country-change.up{color:var(--color-crimson-red)}.ukpol .country-change.down{color:var(--color-dim-white)}.ukpol-summary{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--color-concrete);font-family:var(--font-display);font-size:1rem;text-transform:uppercase;color:var(--color-crimson-red);letter-spacing:-.01em;line-height:1.3}.ukpol-summary .sub{display:block;margin-top:.5rem;font-family:var(--font-mono);font-size:.7rem;color:var(--color-dim-white);text-transform:uppercase;letter-spacing:.12em}.district-map{display:grid;grid-template-columns:1fr auto;gap:1.5rem;align-items:center;margin:1rem 0}.district-map svg{width:100%;height:auto;display:block}.district-map .district-counter{font-family:var(--font-display);font-size:clamp(3rem,8vw,5rem);color:var(--color-crimson-red);line-height:1;letter-spacing:-.02em;text-align:right}.district-map .district-counter-label{font-family:var(--font-mono);font-size:.65rem;color:var(--color-dim-white);text-transform:uppercase;letter-spacing:.12em;text-align:right;margin-top:.25rem}.district-map svg circle{fill:var(--color-crimson-red);opacity:0;transition:opacity .4s ease-out}.district-map svg circle.lit{opacity:.7}.factors-list{list-style:none;margin:1rem 0;padding:0;counter-reset:factor}.factors-list .factor{border-top:1px solid var(--color-concrete);padding:.75rem 0;display:grid;grid-template-columns:32px 1fr;gap:.75rem;opacity:.25;transition:opacity .6s ease-out}.factors-list .factor.visible{opacity:1}.factors-list .factor:last-child{border-bottom:1px solid var(--color-concrete)}.factors-list .factor-num{font-family:var(--font-mono);font-size:.7rem;color:var(--color-crimson-red);padding-top:.15rem}.factors-list .factor-name{font-family:var(--font-display);font-size:.95rem;color:var(--color-off-white);text-transform:uppercase;letter-spacing:-.01em;line-height:1.25}.timeline{position:relative;padding:1.25rem 0 .5rem;margin:.5rem 0}.timeline-track{position:relative;height:2px;background:var(--color-concrete);margin:1.5rem 0}.timeline-fill{position:absolute;inset:0 auto 0 0;background:var(--color-crimson-red);width:0;transition:width 4s cubic-bezier(.2,.8,.2,1)}.timeline-markers{position:absolute;inset:0;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.timeline-marker{width:12px;height:12px;border-radius:50%;background:var(--color-card-surface);border:2px solid var(--color-concrete);opacity:0;transition:opacity .4s ease-out,border-color .4s ease-out,background .4s ease-out;flex-shrink:0}.timeline-marker.lit{background:var(--color-crimson-red);border-color:var(--color-crimson-red);opacity:1}.timeline-labels{display:flex;justify-content:space-between;margin-top:.5rem;gap:.25rem}.timeline-label{flex:1;text-align:center;font-family:var(--font-mono);font-size:.65rem;color:var(--color-dim-white);text-transform:uppercase;letter-spacing:.05em;opacity:0;transition:opacity .6s ease-out;min-width:0}.timeline-label.visible{opacity:1}.timeline-label .tl-date{display:block;font-family:var(--font-display);font-size:.85rem;color:var(--color-crimson-red);margin-bottom:.15rem;font-weight:700}.timeline-label .tl-event{display:block;font-size:.6rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:767px){.anim-block{padding:1rem}.anim-block .anim-headline{font-size:1rem}.count-up .count-number{font-size:2.5rem}.hbar-row{grid-template-columns:100px 1fr 50px;gap:.5rem}.hbar-row .hbar-label{font-size:.6rem}.ukpol{grid-template-columns:1fr;gap:1rem}.ukpol .country-change{font-size:1.2rem}.district-map{grid-template-columns:1fr}.district-map .district-counter,.district-map .district-counter-label{text-align:left}.timeline-label .tl-date{font-size:.7rem}.timeline-label .tl-event{font-size:.55rem}}
