.reader-body *{box-sizing:border-box}
.reader-body{font:18px/1.65 system-ui,-apple-system,sans-serif;color:#17343c;background:#f5f3ec}
.reader-body{margin:0}
.reader-body header.hero,.reader-body main,.reader-body footer{max-width:1080px;margin:auto;padding:28px}
.reader-body header.hero{padding-top:48px}
.reader-body h1{font:700 clamp(2rem,5vw,3.2rem)/1.12 system-ui;max-width:950px;letter-spacing:-.035em}
.reader-body h2{font-size:1.65rem;line-height:1.3;margin-top:48px}
.reader-body h3{line-height:1.35}
.reader-body p{max-width:78ch}
.reader-body a{color:#005b70;text-underline-offset:3px;overflow-wrap:anywhere}
.reader-body a:focus-visible,.reader-body summary:focus-visible{outline:3px solid #b74e21;outline-offset:4px}
.reader-body nav{display:flex;gap:24px;flex-wrap:wrap}
.reader-body nav a{padding:8px 0}
.reader-body .eyebrow,.reader-body .label{font-size:.8rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase}
.reader-body .answer{background:#173f49;color:white;padding:22px;border-radius:12px;font-size:1.18rem}
.reader-body .status{font-size:.9rem}
.reader-body .visual{margin:32px 0;padding:24px;background:white;border:1px solid #b5c8c8;border-radius:14px;box-shadow:0 5px 0 #d7e2dd}
.reader-body .visual h3{margin-top:6px;font-size:1.3rem}
.reader-body .cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:0;list-style:none}
.reader-body .card{padding:18px;border-top:5px solid #287969;border-radius:7px;background:#eff5f1;min-width:0}
.reader-body .card:nth-child(2){border-color:#be7a27;background:#fcf4e6}
.reader-body .card:nth-child(3){border-color:#416eae;background:#eff3f9}
.reader-body .card strong{display:block;line-height:1.4}
.reader-body .card p{font-size:.95rem;margin:10px 0}
.reader-body .flow{list-style:none;padding:0;counter-reset:step}
.reader-body .flow li{display:grid;grid-template-columns:44px 1fr;gap:16px;padding:18px;margin:10px 0;background:#eef5f2;border-left:5px solid #287969}
.reader-body .flow li:before{counter-increment:step;content:counter(step);display:grid;place-items:center;align-self:start;width:40px;height:40px;background:#173f49;color:white;border-radius:50%;font-weight:bold}
.reader-body .flow p{margin:7px 0}
.reader-body .matrix{display:grid;gap:12px}
.reader-body .pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.reader-body .pair>div{padding:16px;border:1px solid #b9cac9;border-radius:8px}
.reader-body .pair>div:last-child{background:#fcf4e6}
.reader-body .pair strong{display:block}
.reader-body .tag{font-size:.75rem;text-transform:uppercase;font-weight:bold}
.reader-body .budget{display:grid;gap:10px;margin:20px 0}
.reader-body .budget-row{display:grid;grid-template-columns:minmax(130px,1fr) minmax(0,2fr);gap:12px;align-items:center}
.reader-body .bar{border:1px solid #9eb8b2;background:#eef3ee;min-height:40px;position:relative}
.reader-body .fill{position:absolute;inset:0 auto 0 0;background:#bddcd1}
.reader-body .bar b{position:relative;display:block;padding:7px 12px;color:#17343c}
.reader-body .warning{background:#fcf4e6;border-left:5px solid #be7a27;padding:16px}
.reader-body figcaption{font-size:.86rem;margin-top:18px}
.reader-body details{border-top:1px solid #c3d1d0;padding-top:12px;margin-top:16px}
.reader-body summary{cursor:pointer;min-height:44px;padding:8px 0;font-weight:650}
.reader-body .sources li{padding:12px 0;border-bottom:1px solid #ccd7d3}
.reader-body .sources small{display:block}
.reader-body footer{font-size:.85rem}
.reader-body .skip{position:absolute;left:-10000px}
.reader-body .skip:focus{left:10px;top:10px;background:white;padding:10px;z-index:5}
.reader-body li{margin:8px 0}
@media(max-width:650px){.reader-body{font-size:17px}
.reader-body header.hero,.reader-body main,.reader-body footer{padding:20px}
.reader-body .cards,.reader-body .pair{grid-template-columns:1fr}
.reader-body .visual{padding:16px;margin:24px 0}
.reader-body .budget-row{grid-template-columns:1fr;gap:3px}
.reader-body .flow li{padding:12px;gap:10px}
.reader-body h1{font-size:2.2rem}
}
@media print{.reader-body{background:white}
.reader-body .visual{break-inside:avoid;box-shadow:none}
.reader-body details>*{display:block}
.reader-body nav,.reader-body .skip{display:none}
}
