/* Health Pyramid: hand-drawn ink pyramid + evidence explorer */
.hp{--ink:#151515;--muted:#6b7686;--line:#e6e9ef;
    --daily:#2f5fae;--weekly:#f2c46d;--monthly:#76bf94;--annual:#e07a7a;--bj:#b58be0;
    font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#2d3a4a;max-width:1180px;margin:0 auto}
.hp *{box-sizing:border-box}
.hp-title{font:600 clamp(2rem,6vw,4.2rem)/1.1 system-ui,-apple-system,"Segoe UI",sans-serif;text-transform:uppercase;letter-spacing:.04em;color:var(--ink);text-align:center;margin:1rem 0 .3rem}
.hp-accent{height:4px;border-radius:4px;background:linear-gradient(90deg,#8a8f98,#d9dce1);margin:.3rem auto .7rem;opacity:.8;max-width:760px}
.hp-sub{text-align:center;color:var(--muted);font-size:1rem;margin:0 auto .4rem;max-width:640px}
.hp-figure{position:relative;margin:0 auto;max-width:1060px}
.hp-figure svg{width:100%;height:auto;display:block;overflow:visible}
.hp-figure .it{cursor:pointer}
.hp-figure svg path{stroke-linecap:round;stroke-linejoin:round}
.hp-figure .it text{font:500 21px system-ui,-apple-system,"Segoe UI",sans-serif;fill:var(--ink)}
.hp-figure .it .mk{opacity:0;transition:opacity .15s}
.hp-figure .it text{font-size:19px}
.hp-figure .it:hover .mk,.hp-figure .it:focus .mk{opacity:1}
.hp-figure .it:focus{outline:none}
.hp-figure .it .ul{opacity:.9}
.hp-figure .tl{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-weight:800;fill:var(--ink);letter-spacing:.16em;pointer-events:none}
.hp-figure .bjh{font:700 17px system-ui,-apple-system,"Segoe UI",sans-serif;fill:#444;letter-spacing:.14em;text-transform:uppercase}
.hp-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:.4rem 1.2rem;margin:.6rem 0 0;font:500 .9rem system-ui,sans-serif;color:var(--ink)}
.hp-legend i{display:inline-block;width:1.4em;height:.6em;border-radius:40% 55% 45% 60%;margin-right:.35em;vertical-align:middle;opacity:.75}
.hp-hint{text-align:center;color:var(--muted);font-size:.9rem;margin:.3rem 0 1.4rem}

/* Explorer (matches the Policy explorer dropdowns) */
.hp-ex{margin-top:1.5rem}
.hp-ex h2.exh{font:700 1.6rem system-ui,sans-serif;text-align:center;margin:.4rem 0 .2rem;color:var(--ink)}
.hp-ex .exnote{text-align:center;color:var(--muted);font-size:.92rem;margin:0 auto 1rem;max-width:760px}
.hp-ex .tools{display:flex;justify-content:center;gap:.5rem;margin-bottom:1rem}
.hp-ex .tools button{border:1px solid #ccd;background:#fff;border-radius:6px;padding:.35rem .9rem;font:600 .85rem system-ui,sans-serif;cursor:pointer;color:#2d3a4a}
.hp-ex .tools button:hover{background:#f4f6f8}
.hp-ex .tier{border-left:5px solid var(--c);border-radius:10px;background:var(--bg);padding:.6rem 1rem .8rem;margin:0 0 1rem}
.hp-ex .tier>h3{font:700 1.3rem system-ui,sans-serif;margin:.2rem 0 .5rem;color:var(--ink)}
.hp-ex .tier>h3 small{font-weight:400;color:var(--muted);font-size:.85rem;margin-left:.4rem}
.hp-ex .tier.supplements{--c:#e8772e;--bg:#fdf3ea}
.hp-ex .tier.daily{--c:var(--daily);--bg:#eef2f9}
.hp-ex .tier.weekly{--c:var(--weekly);--bg:#fefaf0}
.hp-ex .tier.monthly{--c:var(--monthly);--bg:#eff8f2}
.hp-ex .tier.annual{--c:var(--annual);--bg:#fdf2f2}
.hp-ex .grp{font:600 .78rem system-ui,sans-serif;text-transform:uppercase;letter-spacing:.06em;color:#2d3a4a;margin:.9rem 0 .3rem}
.hp-ex .grpnote{font-size:.82rem;color:var(--muted);margin:0 0 .4rem}
details.pol{border:1px solid #e3e6ea;border-radius:8px;margin:.45rem 0;background:#fff;scroll-margin-top:80px}
details.pol>summary{cursor:pointer;padding:.6rem .8rem;font-weight:600;list-style:none}
details.pol>summary::-webkit-details-marker{display:none}
details.pol>summary:before{content:'\25B8';display:inline-block;width:1.1em;transition:transform .15s}
details.pol[open]>summary:before{transform:rotate(90deg)}
details.pol[open]>summary{border-bottom:1px solid #eee;background:#f7f9fb}
details.pol>summary .meta{font-weight:400;color:var(--muted);font-size:.85rem}
details.pol.flash>summary{animation:hpflash 1.6s ease-out}
@keyframes hpflash{0%{background:#f2c46d}100%{background:#f7f9fb}}
.polbody{padding:.6rem .9rem .9rem}
.polbody .blurb{font-style:italic;color:#4a5566;margin:0 0 .6rem}
.src{border-top:1px dashed #e3e6ea;padding:.7rem 0 .2rem}
.src:first-of-type{border-top:none}
.src .st{font-weight:600;line-height:1.35}
.src .st a{color:#2a55b0;text-decoration:none}.src .st a:hover{text-decoration:underline}
.src .sm{font-size:.8rem;color:var(--muted);margin:.15rem 0 .35rem}
.src .badge{display:inline-block;color:#fff;border-radius:4px;padding:0 .4em;font:600 .7rem system-ui,sans-serif;margin-right:.4rem;text-transform:uppercase;letter-spacing:.03em;vertical-align:1px}
.src p{margin:0 0 .4rem;font-size:.95rem;line-height:1.5}
.src blockquote{margin:.2rem 0 .3rem;padding:.1rem 0 .1rem .7rem;border-left:3px solid #f2c46d;font-size:.86rem;color:#4a5566}
.src blockquote mark{background:linear-gradient(transparent 35%,rgba(242,196,109,.65) 35%);color:inherit;padding:0 .1em}
.hp-foot{font-size:.8rem;color:var(--muted);text-align:center;margin:1.2rem auto 0;max-width:760px}
.markers{border:1px solid #e3e6ea;border-left:4px solid #e07a7a;background:#fbfbfc;border-radius:8px;padding:.6rem .9rem;margin:0 0 .7rem}
.markers .mh{font:700 .8rem system-ui,sans-serif;text-transform:uppercase;letter-spacing:.06em;color:#2d3a4a;margin-bottom:.3rem}
.markers dl{display:grid;grid-template-columns:max-content 1fr;gap:.25rem .9rem;margin:0;font-size:.9rem}
.markers dt{font-weight:600;color:#2d3a4a}.markers dd{margin:0;color:#3d4756}
.markers .ms{font-size:.78rem;color:#6b7686;margin-top:.45rem}
@media (max-width:600px){.markers dl{grid-template-columns:1fr}.markers dd{margin-bottom:.35rem}}
.polbody .pending{color:#6b7686;font-size:.9rem;margin:.2rem 0}
