.politics-page main{max-width:1440px;margin:auto;padding:0 5% 80px}.politics-page .deep-hero{padding-left:0;padding-right:0}.politics-page h1{max-width:850px}.politics-controls{display:flex;gap:24px;align-items:end;flex-wrap:wrap;border-block:1px solid var(--chart-grid);padding:22px 0;margin-bottom:44px}.politics-controls label,.government-select{display:grid;gap:8px;font-size:12px}.politics-controls select,.government-select select{font:inherit;font-size:15px;min-height:44px;background:#faf7ef;color:#171918;border:1px solid #8b8d83;padding:10px 32px 10px 12px;border-radius:0;max-width:100%}.politics-controls a{font-size:13px;padding:12px 0}.politics-heading{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:26px}.politics-heading h2{font-size:clamp(27px,3vw,42px);margin:8px 0 0;letter-spacing:-.04em}.politics-heading p{max-width:380px;font-size:14px;line-height:1.6;color:#55584f}.politics-heading img{width:36px;margin-right:12px;border:1px solid #d2ccc1}.politics-stats{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid #d2ccc1;margin-bottom:28px;padding:22px 0;gap:22px}.politics-stats span,.politics-stats small{display:block;font-size:12px}.politics-stats strong{display:block;font-size:32px;letter-spacing:-.04em;margin:8px 0}.politics-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:32px;align-items:start}.politics-figure{margin:0;background:#faf7ef;padding:18px;border:1px solid #d2ccc1;min-width:0}.politics-figure header{display:flex;justify-content:space-between;gap:12px;font-size:13px}.politics-figure svg{display:block;width:100%;height:auto;margin-top:15px}.politics-figure figcaption{font-size:11px;line-height:1.6;color:#55584f;margin-top:12px}.politics-legend{display:flex;gap:18px;font-size:12px;flex-wrap:wrap;margin:12px 0}.politics-legend i{display:inline-block;width:14px;height:9px;background:#a8b63f;margin-right:6px}.politics-legend .debt-key{height:2px;background:#171918;vertical-align:middle}.government-select{margin-top:20px}.government-buttons{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}.government-buttons button{background:transparent;border:1px solid #d2ccc1;padding:9px 11px;min-height:44px;cursor:pointer;font:inherit;font-size:12px;color:#171918}.government-buttons button[aria-pressed=true]{background:#171918;color:#faf7ef;border-color:#171918}.government-buttons b{margin-right:6px}.politics-page button:focus-visible,.politics-page select:focus-visible,.politics-page a:focus-visible{outline:3px solid #c93237;outline-offset:4px}.program-detail{background:#171918;color:#faf7ef;padding:28px;min-height:390px}.program-detail .kicker{color:#a8b63f}.program-detail h3{font-size:30px;letter-spacing:-.035em;margin:12px 0}.program-detail .term-dates{font-size:12px;color:#d2ccc1}.program-detail .coalition{padding-bottom:20px;border-bottom:1px solid #55584f;line-height:1.6}.program-detail h4{font-size:16px;margin:22px 0 8px}.program-detail ul{padding-left:20px;line-height:1.7;font-size:14px}.program-detail li{margin:10px 0}.program-detail a{color:#a8b63f;line-height:1.6}.program-detail .program-source{display:block;margin-top:20px;font-size:14px}.program-detail small{display:block;font-size:11px;color:#d2ccc1;line-height:1.6;margin-top:10px}.program-detail .term-note{font-size:12px;line-height:1.6;color:#d2ccc1}.politics-note{font-size:13px;line-height:1.7;max-width:1000px;margin-top:22px}.politics-section{padding-top:60px;margin-top:40px;border-top:1px solid #d2ccc1;scroll-margin-top:90px}.politics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.politics-card{border:1px solid #d2ccc1;background:#faf7ef;padding:24px;min-width:0}.politics-card.selected{border-color:#c93237}.politics-card h3{font-size:23px;margin:0}.politics-card h3 a{color:#171918;text-decoration:none}.politics-card h3 img{width:26px;margin-right:10px}.politics-card .card-leader{font-size:13px;line-height:1.5;min-height:40px;margin:12px 0}.politics-card svg{width:100%;display:block}.politics-card footer{display:flex;gap:20px;justify-content:space-between;margin-top:14px;font-size:12px;line-height:1.6}.politics-card footer strong{font-size:20px;display:block}.politics-card .open-country{display:inline-block;margin-top:18px;font-size:13px}.politics-card .chart-source{font-size:10px;line-height:1.5}.politics-method h2{font-size:34px;margin-top:12px}.politics-method-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.politics-method p{font-size:14px;line-height:1.7}.politics-method h3{font-size:18px}.politics-page [hidden]{display:none!important}#load-status{padding:24px 0}.politics-figure .psd-chart-rail{flex-wrap:wrap}
@media(max-width:850px){.politics-layout{grid-template-columns:1fr}.politics-heading{display:block}.politics-heading p{max-width:none}.politics-stats strong{font-size:26px}.program-detail{min-height:0}.politics-card{padding:18px}.politics-controls{gap:15px}.politics-grid{gap:14px}}
@media(max-width:540px){.politics-page main{padding-inline:20px}.politics-grid,.politics-method-grid{grid-template-columns:1fr}.politics-stats{gap:12px}.politics-stats strong{font-size:22px}.politics-stats span,.politics-stats small{font-size:10px}.politics-controls label{width:100%}.politics-figure{padding:10px}.program-detail{padding:22px}.politics-section{padding-top:36px;margin-top:30px}}
.politics-page .deep-hero{grid-template-columns:minmax(0,1fr) 240px;padding-block:64px 48px;min-height:0}.politics-page .deep-hero h1{font-size:clamp(52px,5.8vw,82px);max-width:900px}.politics-page .deep-hero h1 em{color:#c93237}.politics-page .deep-hero .eyebrow{color:#55584f}.politics-focus{scroll-margin-top:100px}
@media(max-width:720px){.politics-page .deep-hero{grid-template-columns:1fr;padding-block:40px 28px}.politics-page .deep-hero-aside{min-height:160px}.politics-page .deep-hero h1{font-size:54px}}
@media(max-width:540px){.politics-page svg text{font-size:18px}.politics-page .politics-mini svg text{font-size:20px}}
/* Program evidence uses the same paper, ink and green as the economic charts. */
.promise-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.promise-card{min-width:0;border:1px solid #d2ccc1;background:#faf7ef;padding:24px}.promise-card>header{display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap;font-size:11px}.promise-status{font-weight:700;border:1px solid #8b8d83;padding:7px 9px}.promise-status.implemented{background:#a8b63f;border-color:#a8b63f}.promise-status.breached_reversed{color:#c93237;border-color:#c93237}.promise-card h3{font-size:25px;letter-spacing:-.03em;margin:22px 0 12px}.promise-card p{font-size:13px;line-height:1.7}.promise-card .promise-terms{font-size:11px}.promise-figure{margin:20px 0;border-block:1px solid #d2ccc1;padding:16px 0}.promise-figure svg{width:100%;display:block}.promise-figure figcaption{font-size:11px;line-height:1.6;margin-top:10px}.promise-values{display:grid;grid-template-columns:1fr 1fr;gap:22px}.promise-values small{display:block;color:#55584f;font-size:12px}.promise-values strong{display:block;font-size:21px;line-height:1.25;margin-top:10px}.promise-card blockquote{margin:20px 0;font-size:18px;line-height:1.6;border-left:3px solid #a8b63f;padding-left:16px}.promise-card details{border-top:1px solid #d2ccc1;padding-top:16px}.promise-card summary,.politics-method summary{cursor:pointer;min-height:44px;font-size:13px;line-height:1.6}.crawl-proof,code{overflow-wrap:anywhere}.promise-card code,.politics-method code{font-size:10px}#promise-coverage{margin-bottom:24px}#promise-coverage p{font-size:13px;line-height:1.7;max-width:950px}.politics-method details{border-top:1px solid #d2ccc1;padding-block:16px}.politics-method details p{font-size:12px}.promise-list>.promise-card:only-child{grid-column:1/-1}.promise-list>.promise-card:only-child .promise-figure{max-width:850px}.politics-card .card-leader{min-height:0}.promise-figure .psd-chart-rail{flex-wrap:wrap}
@media(max-width:850px){.promise-list{grid-template-columns:1fr}.promise-card{padding:20px}}
@media(max-width:540px){.promise-card{padding:16px}.promise-card h3{font-size:23px}.promise-values strong{font-size:17px}.promise-figure svg text{font-size:17px}.politics-page .politics-mini svg text{font-size:14px}.politics-page #chart-container svg text{font-size:14px}.politics-figure .psd-chart-rail{font-size:11px}}
.politics-chart-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}.politics-chart-scroll:focus-visible{outline:2px solid #c93237;outline-offset:3px}
@media(max-width:540px){.politics-chart-scroll>svg{min-width:620px}.promise-figure svg{min-width:550px}.promise-figure{overflow-x:auto;overscroll-behavior-x:contain}.promise-card .psd-chart-rail{min-width:0}}
.chart-swipe-hint,.promise-mobile-summary{display:none}
@media(max-width:540px){.chart-swipe-hint{display:block;font-size:11px;color:#55584f;margin-top:12px}.promise-mobile-summary{display:grid;gap:8px;font-size:13px;line-height:1.5;max-width:290px;margin-bottom:14px}}
