.pi main{max-width:1000px;margin:0 auto;padding:0 24px 80px}
.pi-top{text-align:center;padding:clamp(32px,5vw,64px) 0 8px}
.pi-ed{display:inline-block;font-weight:600;color:var(--color-accent);margin:0 0 10px}
.pi-top h1{font-size:clamp(2.4rem,5vw,4rem);font-weight:700;line-height:1.04;letter-spacing:-.035em;margin:0}
.pi-line{font-size:clamp(1.05rem,1.5vw,1.25rem);color:var(--color-text-secondary);max-width:40rem;margin:16px auto 0}
.pi-hero{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:40px 0 0}
.pi-hero div{background:#fff;border-radius:20px;padding:22px}
.pi-hero strong{display:block;font:700 clamp(1.9rem,3.4vw,2.7rem)/1 var(--font-display);letter-spacing:-.03em;color:var(--color-accent)}
.pi-hero span{display:block;margin-top:8px;color:var(--color-text-secondary);font-size:.95rem;line-height:1.35}
.pi-card{background:#fff;border-radius:24px;padding:clamp(22px,3vw,36px);margin-top:16px}
.pi-card h2{font-size:clamp(1.5rem,2.4vw,1.9rem);font-weight:700;letter-spacing:-.025em;margin:0}
.pi-sub{color:var(--color-text-secondary);margin:8px 0 22px}
.pi-chart{display:block;width:100%;height:auto;overflow:visible;font-family:var(--font-body)}
.pi-name{font-size:15px;fill:var(--color-text)}
.pi-val{font-size:15px;font-weight:600;fill:var(--color-text)}
.pi-fill{fill:#2E9552}
.pi-bar:hover .pi-fill,.pi-bar:focus .pi-fill{fill:#17753A}
.pi-bar:focus{outline:none}
.pi-axis{stroke:var(--line);stroke-width:1}
.pi-tip{margin-top:12px;padding:10px 14px;border-radius:12px;background:var(--paper);font-size:.95rem}
.pi-tablewrap{margin-top:16px}
.pi-tablewrap summary{cursor:pointer;font-weight:600;color:var(--color-accent)}
.pi table{width:100%;border-collapse:collapse;margin-top:12px;font-variant-numeric:tabular-nums}
.pi th,.pi td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);font-size:.98rem}
.pi thead th{font-weight:600;color:var(--color-text-secondary);text-transform:none;letter-spacing:0;background:none}
.pi td{text-align:right}.pi thead th:not(:first-child){text-align:right}
.pi-note{font-size:.92rem;color:var(--color-text-secondary);margin:14px 0 0}
.pi-cite blockquote{margin:18px 0 0;padding:18px 20px;background:var(--paper);border-radius:16px;font-size:1.05rem;line-height:1.5}
.pi-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.pi-src{margin:16px 0 0;padding-left:18px;line-height:1.6}
@media (max-width:760px){.pi-hero{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.pi main{padding:0 16px 64px}.pi th,.pi td{font-size:.88rem;padding:9px 4px}.pi-name,.pi-val{font-size:20px}}
