.report-loading,.report-landing .lead{font-size:16px;line-height:1.8;color:#536f62}
.report-loading{display:flex;align-items:center;gap:12px}
.report-spinner{width:22px;height:22px;flex:0 0 auto;border:2.5px solid #d5e3d6;border-top-color:#173b36;border-radius:50%;animation:report-spin .8s linear infinite}
@keyframes report-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.report-spinner{animation:none;border-top-color:#d5e3d6;border-right-color:#173b36}}
.report-landing{padding:12px 0 20px}
.report-landing h1{margin-bottom:8px}
.report-use-grid,.report-principles,.report-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px}
.report-use-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.report-use-grid article,.report-principles article,.report-products article{background:white;border:1px solid #dce5dc;border-radius:8px;padding:20px}
.report-use-grid h2,.report-principles h3,.report-products h3{font-size:18px}
.report-use-grid p,.report-principles p,.report-products p{margin-top:8px;font-size:14px;line-height:1.75;color:#536f62}
.report-steps{margin:28px 0 0;padding-left:20px;font-size:16px;line-height:1.9}
.report-service,.report-limits{margin-top:28px;padding:22px 24px;background:#eaf1e6;border-radius:8px}
.report-service h2,.report-limits h2{font-size:18px}
.report-service p,.report-limits p,.report-limits li,.report-note,.report-caveat,.report-change-line,.report-status span{font-size:14px;line-height:1.8;color:#536f62}
.report-service p+p,.report-limits p,.report-note{margin-top:10px}
.annual-report h1{font-size:clamp(32px,4vw,46px)}
.report-heading{padding-bottom:8px}
.report-identity{margin-top:12px;font-size:16px}
.report-caveat{margin-top:8px}
.report-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:22px 0}
.report-uses{display:flex;flex-wrap:wrap;gap:8px}
.report-uses button,.report-print{min-height:48px;padding:10px 16px;border:1px solid #c5d7cb;border-radius:6px;background:white;font:inherit;font-size:15px;color:#173b36}
.report-uses button[aria-pressed="true"]{background:#173b36;color:white;border-color:#173b36}
.report-status{display:flex;gap:12px;align-items:baseline;margin:0 0 18px}
.report-status strong{font-size:13px;letter-spacing:.04em;color:#37725b}
.report-status[data-confidence="provisional"] strong,.report-status[data-confidence="insufficient"] strong,.report-status[data-confidence="source-water"] strong{color:#8a5a2a}
.report-conclusion{margin-bottom:28px}
.report-conclusion h2{font-size:clamp(22px,3vw,30px);line-height:1.45}
.report-taste{margin-top:28px;padding:22px 24px;background:#f7f3ea;border-radius:8px}
.report-taste h2,.report-taste h3{font-size:18px}
.report-taste h3{margin:18px 0 0}
.report-taste p,.report-taste li{font-size:14px;line-height:1.8;color:#536f62}
.report-taste ul{margin:12px 0 0;padding-left:18px}
.report-taste li+li{margin-top:6px}
.report-periods{display:grid;gap:18px}
.report-period{background:#f4f7f2;border:1px solid #dce5dc;border-radius:8px;padding:18px 18px 8px}
.report-period-range{margin:0;font-size:13px;letter-spacing:.04em;color:#37725b}
.report-period h3{margin:6px 0 0;font-size:20px;line-height:1.45}
.report-period>p{margin-top:8px;font-size:14px;line-height:1.75;color:#536f62}
.report-conclusion p{margin-top:10px}
.annual-report section>h2{margin:34px 0 14px}
.report-table{min-width:920px}
.report-table th small{display:block;font-weight:400;color:#62776c;font-size:11px}
.report-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.report-chart{background:white;border:1px solid #dce5dc;border-radius:8px;padding:16px 16px 12px;min-width:0}
.report-chart.is-lead{grid-column:1/-1}
.report-chart header{display:flex;justify-content:space-between;align-items:flex-end;gap:16px}
.report-chart h3{margin:0;font-size:16px;line-height:1.4}
.report-chart h3 small{display:block;margin-top:2px;font-size:12px;font-weight:400;color:#62776c}
.report-chart-value{margin:0;text-align:right}
.report-chart-value strong{display:block;font-size:28px;line-height:1.15;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.report-chart-value span{display:block;margin-top:4px;font-size:13px;line-height:1.5;color:#62776c}
.report-chart-value .is-up{color:#8a5a2a}
.report-chart-value .is-down{color:#2f6d56}
.report-chart svg{display:block;width:100%;height:auto;margin-top:8px}
.report-chart-note{margin:4px 0 0;font-size:12px;line-height:1.6;color:#62776c}
.report-product-kicker{margin-top:0!important;font-size:12px;letter-spacing:.04em;color:#628474}
.report-product-flow{color:#173b36!important}
.report-products a{display:inline-block;margin:8px 12px 0 0;font-size:14px}
.report-limits ul,.annual-report section>ul{margin:12px 0 0;padding-left:18px}
.report-limits li+li{margin-top:6px}
.report-service-line{margin-top:16px;padding-top:14px;border-top:1px solid #d5e3d4}
.cafe-advice{margin:20px 0;min-width:0}
.cafe-decision-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.cafe-decision{min-width:0;padding:20px;border:1px solid #d5e3d7;border-radius:8px;background:#f4f8f2}
.cafe-decision[data-state=pending]{background:#faf6ec;border-color:#e6dcc4}
.cafe-decision h3,.cafe-reference summary,.cafe-taste h3,.cafe-alert h3{font-size:18px;line-height:1.5;margin:0}
.cafe-decision>p,.cafe-reference p,.cafe-reference a,.cafe-taste,.cafe-alert{font-size:14px;line-height:1.8;color:#536f62}
.report-conclusion .cafe-kicker{margin:0 0 10px;font-size:12px;letter-spacing:.03em;color:#527663}
.cafe-readings{margin:16px 0 0;display:grid;gap:12px}
.cafe-readings>div{border-top:1px solid #dce6db;padding-top:10px}
.cafe-readings dt{font-size:13px;color:#62776c}.cafe-readings dd{margin:3px 0 0;font-size:19px;font-weight:600;line-height:1.5;font-variant-numeric:tabular-nums}
.cafe-readings small{font-size:12px;font-weight:400}.cafe-readings span{display:block;font-size:12px;font-weight:400;color:#62776c}
.cafe-decision .cafe-pair{font-size:12px;line-height:1.7}
.cafe-reference,.cafe-taste,.cafe-alert{margin-top:16px;padding:16px 18px;border:1px solid #dce5dc;border-radius:8px;background:#fff}
.cafe-reference summary{cursor:pointer}.cafe-reference summary:focus-visible{outline:2px solid #37725b;outline-offset:3px}
.cafe-reference-table{width:100%;min-width:490px;border-collapse:collapse;text-align:left;font-size:13px;line-height:1.6}
.cafe-reference-table caption{text-align:left;padding:14px 0 8px;color:#62776c}
.cafe-reference-table th,.cafe-reference-table td{padding:10px 8px;border-bottom:1px solid #e1e9df;vertical-align:top}
.cafe-reference-table small{display:block;font-size:11px;font-weight:400;color:#62776c}
.cafe-taste ul,.cafe-alert ul{padding-left:18px;margin:10px 0}.cafe-taste li+li,.cafe-alert li+li{margin-top:6px}
.cafe-alert{background:#faf6ec;border-color:#e6dcc4}
@media(max-width:720px){.cafe-decision-grid{grid-template-columns:1fr}.cafe-decision{padding:16px}.cafe-reference,.cafe-taste,.cafe-alert{padding:14px}.report-uses button{padding-left:11px;padding-right:11px}}
@media(max-width:900px){.report-use-grid,.report-principles,.report-products,.report-chart-grid{grid-template-columns:1fr}.report-chart.is-lead{grid-column:auto}.report-toolbar{align-items:stretch;flex-direction:column}.report-chart header{align-items:flex-start;flex-direction:column}.report-chart-value{text-align:left}}
@media print{.site-header,.crumbs,.site-footer,.report-toolbar,.report-products a{display:none!important}.report-use-grid,.report-principles,.report-products,.report-period,.report-taste,.report-chart{break-inside:avoid}.report-chart svg{print-color-adjust:exact;-webkit-print-color-adjust:exact}body{background:white}}
