/* Policy analysis layer. The original Atlas styles and views remain available. */
.policy-layout { --policy-ink:#213f37; --policy-body:#43564c; --policy-muted:#5a6d60; --policy-line:#d9e1d5; color:var(--policy-ink); font-size:14px; line-height:1.65; }
.policy-layout *, .policy-layout *::before, .policy-layout *::after { box-sizing:border-box; }
.policy-layout button, .policy-layout input, .policy-layout select, .policy-layout textarea { font:inherit; }
.policy-layout button { cursor:pointer; }
.policy-layout button:focus-visible, .policy-layout a:focus-visible, .policy-layout summary:focus-visible, .policy-layout input:focus-visible, .policy-layout select:focus-visible, .policy-layout textarea:focus-visible { outline:3px solid #9a733b; outline-offset:3px; }
.policy-layout h2, .policy-layout h3, .policy-layout h4, .policy-layout p { margin-top:0; }
.policy-layout p { color:var(--policy-body); }
.policy-layout .policy-kicker { margin:0 0 9px; color:#536b57; font-size:10px; letter-spacing:.12em; text-transform:uppercase; font-weight:700; }
.policy-intro { display:grid; grid-template-columns:minmax(0,1fr) 230px; gap:44px; padding:36px 40px; border-radius:8px; background:#143f37; color:#fff; }
.policy-intro .policy-kicker { color:#c2d4b9; }
.policy-intro h2 { max-width:760px; margin-bottom:16px; color:#fff; font-family:Georgia,'Times New Roman',serif; font-size:clamp(27px,2.7vw,39px); font-weight:400; line-height:1.2; }
.policy-intro p { max-width:720px; margin-bottom:24px; color:#e2eadc; font-size:14px; line-height:1.8; }
.policy-intro-actions { display:flex; flex-wrap:wrap; gap:12px 22px; }
.policy-intro-actions button { border:0; border-bottom:1px solid #8dab93; padding:0 0 4px; border-radius:0; background:none; color:#fff; font-weight:600; text-align:left; font-size:12px; }
.policy-intro-actions span { margin-left:8px; }
.policy-edition { display:flex; flex-direction:column; justify-content:center; border-left:1px solid #668478; padding-left:30px; color:#d6e2d0; font-size:12px; }
.policy-edition strong { display:block; margin:2px 0 5px; color:#fff; font-size:34px; font-weight:400; line-height:1.25; }
.policy-edition small { margin-top:18px; font-size:11px; line-height:1.8; }
.policy-page-nav { display:flex; gap:8px 24px; flex-wrap:wrap; padding:19px 0; border-bottom:1px solid var(--policy-line); }
.policy-page-nav button { padding:2px 0; border:0; background:transparent; color:#355541; font-size:12px; text-align:left; }
.policy-page-nav button:hover { text-decoration:underline; }
.policy-section { margin-top:44px; scroll-margin-top:24px; }
.policy-section-heading { display:flex; justify-content:space-between; gap:20px; margin-bottom:22px; }
.policy-section-heading h2 { margin-bottom:9px; font-family:Georgia,'Times New Roman',serif; font-size:30px; line-height:1.25; font-weight:400; }
.policy-section-heading p:not(.policy-kicker) { max-width:880px; margin-bottom:0; font-size:14px; }
.policy-findings { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.policy-finding { position:relative; min-width:0; padding:25px 24px 21px; border:1px solid var(--policy-line); border-radius:6px; background:#fff; }
.policy-card-number { display:block; margin-bottom:15px; color:#627a59; font-size:12px; font-weight:700; letter-spacing:.08em; }
.policy-finding h3 { margin-bottom:12px; font-size:18px; font-weight:600; line-height:1.4; }
.policy-finding p { margin-bottom:14px; font-size:13px; }
.policy-caveat { margin-top:20px; padding-top:15px; border-top:1px solid var(--policy-line); }
.policy-caveat strong, .policy-interpretation>strong, .policy-dossier-limit>strong, .policy-next-step>strong { font-size:12px; color:#3e5d42; }
.policy-caveat p { margin-top:4px; font-size:12px; }
.policy-sources { display:flex; flex-wrap:wrap; gap:4px 10px; margin-top:8px; overflow-wrap:anywhere; }
.policy-layout .source-link { max-width:100%; color:#355b38; font-size:11px; line-height:1.6; }
.policy-scope-note { margin:0 0 19px; padding:13px 17px; border-left:3px solid #9baf8f; background:#edf1e7; font-size:12px; line-height:1.75; }
.policy-dossier-workspace { display:grid; grid-template-columns:235px minmax(0,1fr); border:1px solid var(--policy-line); border-radius:7px; background:#fff; overflow:hidden; }
.policy-dossier-picker { padding:24px 18px; border-right:1px solid var(--policy-line); background:#f1f4ec; min-width:0; }
.policy-dossier-picker label { display:block; margin-bottom:7px; color:#37513d; font-size:11px; font-weight:600; }
.policy-dossier-picker input, .policy-dossier-picker select { width:100%; max-width:100%; min-width:0; padding:10px 9px; border:1px solid #c5d1bf; border-radius:4px; background:#fff; color:var(--policy-ink); font-size:12px; }
.policy-dossier-picker label:not(:first-child) { margin-top:16px; }
.policy-list-count { margin:18px 0 10px; font-size:11px; }
.policy-dossier-list { max-height:600px; overflow:auto; scrollbar-width:thin; padding:3px; margin:0 -3px; }
.policy-dossier-choice { display:block; width:100%; padding:11px 12px; margin-bottom:5px; border:1px solid transparent; border-radius:4px; background:transparent; color:var(--policy-ink); text-align:left; }
.policy-dossier-choice span { display:block; font-size:13px; font-weight:600; }
.policy-dossier-choice small { display:block; margin-top:2px; color:#5b705f; font-size:10px; }
.policy-dossier-choice:hover { background:#e5ecdf; }
.policy-dossier-choice.selected { border-color:#b9cbb0; background:#dfe9d7; box-shadow:inset 3px 0 #315e42; }
.policy-list-empty { font-size:12px; }
.policy-selected-dossier { min-width:0; padding:28px; }
.policy-dossier-header { display:flex; flex-wrap:wrap; gap:12px 24px; justify-content:space-between; align-items:flex-start; margin-bottom:20px; }
.policy-dossier-header h3 { margin-bottom:6px; font-family:Georgia,'Times New Roman',serif; font-size:30px; font-weight:400; line-height:1.3; }
.policy-dossier-header p:not(.policy-kicker) { margin-bottom:0; font-size:13px; }
.policy-dossier-actions { display:flex; flex-wrap:wrap; gap:8px 12px; align-items:center; }
.policy-dossier-actions .text-button { font-size:11px; }
.policy-dossier-actions .outline { background:#fff; font-size:11px; }
.policy-interpretation { padding:16px 18px; margin-bottom:24px; border-radius:4px; background:#edf2e7; }
.policy-interpretation p { margin:5px 0 0; font-size:13px; line-height:1.8; }
.policy-correction { padding:15px 18px; margin-bottom:20px; border-left:3px solid #9a733b; background:#f5f0e3; color:#594a2e; }
.policy-correction>strong { display:block; font-size:13px; }
.policy-correction p { margin:5px 0 0; color:#594e39; font-size:12px; line-height:1.8; }
.policy-interval { display:grid; grid-template-columns:175px minmax(0,1fr); align-items:center; gap:22px; padding:17px 0 21px; margin-bottom:20px; border-bottom:1px solid var(--policy-line); }
.policy-interval>div:first-child { border-right:1px solid var(--policy-line); padding-right:20px; }
.policy-interval>div:first-child>span { display:block; font-size:10px; color:#536a57; }
.policy-interval strong { display:block; margin:2px 0; color:#244f35; font-size:34px; font-weight:400; line-height:1.3; }
.policy-interval strong small { font-size:13px; }
.policy-interval h4 { margin-bottom:5px; font-size:13px; }
.policy-interval p { margin:0; font-size:12px; line-height:1.8; }
.policy-region-bar { display:flex; flex-wrap:wrap; gap:10px 20px; align-items:center; margin-bottom:17px; }
.policy-region-bar>span { font-size:11px; font-weight:600; color:#4d6551; }
.policy-region-buttons { display:flex; flex-wrap:wrap; gap:6px; }
.policy-region-buttons button { padding:7px 11px; border:1px solid #cbd6c6; border-radius:4px; background:#fff; color:#35543b; font-size:11px; }
.policy-region-buttons button[aria-pressed="true"] { border-color:#244d38; background:#244d38; color:#fff; }
.policy-timeline-panel { border:1px solid var(--policy-line); border-radius:4px; padding:18px; background:#fafbf7; }
.policy-timeline-heading { display:flex; flex-wrap:wrap; justify-content:space-between; gap:6px 20px; align-items:baseline; margin-bottom:20px; }
.policy-timeline-heading h4 { margin:0; font-size:13px; font-weight:600; }
.policy-timeline-heading>span { color:#5b6f60; font-size:10px; }
.policy-timeline { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); }
.policy-milestone { position:relative; min-width:0; border-top:2px solid #c9d4c2; padding:23px 15px 0 0; }
.policy-milestone-dot { position:absolute; top:-6px; left:0; width:10px; height:10px; border:2px solid #a2b19a; border-radius:50%; background:#fafbf7; }
.policy-milestone.known .policy-milestone-dot { border-color:#315c3d; background:#315c3d; }
.policy-milestone h4 { margin-bottom:6px; color:#38513c; font-size:11px; line-height:1.5; }
.policy-milestone-date { margin-bottom:8px; color:#223e2c!important; font-size:14px; font-weight:600; line-height:1.4; }
.policy-milestone.unresolved .policy-milestone-date { font-size:12px; font-weight:400; }
.policy-milestone .policy-milestone-scope { margin-bottom:6px; font-size:12px; line-height:1.7; }
.policy-milestone .policy-milestone-note { margin-bottom:6px; color:#596d5c; font-size:12px; line-height:1.7; }
.policy-milestone .source-link { font-size:10px; }
.policy-milestone-context { margin:9px 0 0; }
.policy-milestone-context summary { color:#375e3e; font-size:11px; cursor:pointer; line-height:1.6; }
.policy-milestone-context p:first-of-type { margin-top:9px; }
.policy-timeline-explanation { margin:17px 0 0; border-top:1px solid var(--policy-line); padding-top:12px; color:#526853; font-size:11px; line-height:1.75; }
.policy-evidence-details { margin-top:17px; padding:0 0 16px; border-bottom:1px solid var(--policy-line); }
.policy-evidence-details summary { cursor:pointer; color:#35583c; font-size:12px; font-weight:600; }
.policy-evidence-details>p { margin:14px 0 0; font-size:13px; }
.policy-narratives { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:18px; }
.policy-narratives h4 { margin-bottom:8px; font-size:12px; }
.policy-narratives p { margin:0; font-size:13px; line-height:1.8; }
.policy-dossier-limit { margin-top:18px; }
.policy-dossier-limit p { margin:5px 0 0; font-size:12px; line-height:1.8; }
.policy-source-register { display:flex; flex-direction:column; gap:7px; margin:16px 0; }
.policy-citation { overflow-wrap:anywhere; }
.policy-copy-status { margin:14px 0 0; font-size:12px; color:#35583c; }
.policy-copy-status textarea { display:block; width:100%; margin-top:8px; padding:10px; border:1px solid var(--policy-line); color:var(--policy-ink); background:#fff; font-size:12px; }
.policy-benchmark-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.policy-benchmark { min-width:0; padding:25px; border:1px solid var(--policy-line); border-radius:6px; background:#fff; }
.policy-benchmark h3 { margin-bottom:12px; font-size:19px; line-height:1.4; font-weight:600; }
.policy-benchmark p { font-size:12px; }
.policy-benchmark table, .policy-report-table { width:100%; border-collapse:collapse; }
.policy-layout table th { white-space:normal; }
.policy-layout table tbody tr { cursor:default; }
.policy-benchmark .table-scroll table { min-width:0; width:100%; table-layout:fixed; }
.policy-benchmark thead th:first-child { width:36%; padding:12px 9px; }
.policy-benchmark thead th:last-child { width:32%; padding:12px 9px; }
.policy-benchmark th, .policy-benchmark td { padding:12px 9px; border-bottom:1px solid var(--policy-line); color:#334e39; text-align:left; font-size:12px; vertical-align:top; }
.policy-benchmark thead th { background:#f0f4ea; font-size:10px; }
.policy-benchmark td small { display:block; color:#5b705d; margin-top:3px; font-size:10px; }
.policy-benchmark-note { margin-top:16px; line-height:1.8; }
.policy-next-step { padding:17px 20px; margin-top:18px; border-left:3px solid #9aaf8e; background:#edf1e6; }
.policy-next-step p { margin:4px 0 0; font-size:12px; }
.policy-coverage-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; }
.policy-coverage-card { min-width:0; padding:21px 18px; border:1px solid var(--policy-line); border-radius:5px; background:#fff; }
.policy-coverage-card h3 { min-height:57px; margin-bottom:14px; font-size:14px; line-height:1.5; }
.policy-coverage-card dl { margin:0 0 16px; }
.policy-coverage-card dl>div { display:flex; justify-content:space-between; align-items:baseline; gap:10px; padding:8px 0; border-bottom:1px solid #e8ece2; }
.policy-coverage-card dt { color:#4e6552; font-size:11px; }
.policy-coverage-card dd { margin:0; color:#264a32; font-size:17px; }
.policy-coverage-limit { margin:0; font-size:12px; line-height:1.8; }
.policy-coverage-grid+.policy-scope-note { margin-top:18px; }
.policy-section-actions { display:flex; flex-wrap:wrap; gap:10px 18px; align-items:center; }
.policy-section-actions .outline, .policy-section-actions .text-button { font-size:12px; }
.policy-questions { border-top:1px solid var(--policy-line); }
.policy-question { border-bottom:1px solid var(--policy-line); }
.policy-question summary { display:flex; align-items:baseline; gap:18px; cursor:pointer; padding:18px 12px; font-size:15px; color:#284c34; font-weight:600; list-style:none; }
.policy-question summary::-webkit-details-marker { display:none; }
.policy-question summary:after { content:'+'; margin-left:auto; padding-left:15px; font-size:19px; font-weight:400; }
.policy-question[open] summary:after { content:'−'; }
.policy-question summary>span { color:#6b7e60; font-size:11px; font-weight:400; }
.policy-question>div { margin:0 50px 20px; max-width:900px; }
.policy-question p { font-size:13px; }
.policy-research-report { border:1px solid var(--policy-line); border-radius:5px; background:#fff; }
.policy-research-report>summary { padding:20px 25px; cursor:pointer; color:#31553a; font-size:14px; font-weight:600; }
.policy-research-body { padding:0 30px 30px; }
.policy-report-section { margin-top:30px; }
.policy-report-section h3 { padding-bottom:15px; border-bottom:1px solid var(--policy-line); margin-bottom:20px; font-family:Georgia,'Times New Roman',serif; font-size:25px; font-weight:400; }
.policy-report-section h4 { margin:25px 0 12px; font-size:16px; }
.policy-report-section p { font-size:14px; line-height:1.9; }
.policy-report-section .policy-report-note { padding-left:15px; border-left:2px solid #c6d3bb; font-size:12px; }
.policy-report-callout { padding:18px 20px; margin:20px 0; background:#edf3e5; color:#38583f; font-size:14px; line-height:1.8; }
.policy-report-table { margin:15px 0; }
.policy-report-table th, .policy-report-table td { padding:12px; border-bottom:1px solid var(--policy-line); text-align:left; vertical-align:top; font-size:12px; line-height:1.8; }
.policy-report-table thead th:first-child, .policy-report-table thead th:last-child { width:auto; padding:12px; }
.policy-report-table tbody td:first-child { padding:12px; }
.policy-report-table th { background:#edf2e6; color:#365239; font-size:11px; }
.policy-report-figure { padding:20px; margin:20px 0; border:1px solid var(--policy-line); background:#fafbf6; }
.policy-report-figure figcaption { margin-bottom:17px; font-size:14px; font-weight:600; }
.policy-report-figure>p { margin:17px 0 0; font-size:12px; }
.policy-report-bars>div { display:grid; grid-template-columns:minmax(100px,180px) minmax(80px,1fr) 75px; align-items:center; gap:15px; margin:11px 0; }
.policy-report-bars>div>span, .policy-report-bars strong { font-size:12px; }
.policy-bar-track { height:18px; background:#e6eddf; }
.policy-bar-track span { display:block; height:100%; background:#52764c; }
.policy-archive-note { padding:25px; margin-top:40px; border:1px solid var(--policy-line); border-radius:5px; background:#eff3e8; }
.policy-archive-note>strong { font-size:14px; color:#31533a; }
.policy-archive-note>p { margin:6px 0 18px; font-size:13px; }
.policy-loading { padding:45px; border:1px solid var(--policy-line); background:#fff; text-align:center; }
@media(min-width:1550px) { .policy-findings { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:1200px) { .policy-intro { grid-template-columns:minmax(0,1fr) 190px; padding:30px; gap:25px; }.policy-findings { grid-template-columns:repeat(2,minmax(0,1fr)); }.policy-coverage-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.policy-dossier-workspace { grid-template-columns:205px minmax(0,1fr); }.policy-selected-dossier { padding:23px; }.policy-timeline { grid-template-columns:1fr; }.policy-milestone { padding:0 0 20px 23px; border-top:0; border-left:2px solid #c9d4c2; }.policy-milestone:last-child { padding-bottom:0; border-color:transparent; }.policy-milestone-dot { top:4px; left:-6px; }.policy-milestone h4 { margin-bottom:3px; }.policy-milestone .policy-milestone-scope, .policy-milestone .policy-milestone-note { font-size:12px; }.policy-milestone .policy-milestone-date { margin-bottom:6px; }.policy-narratives { grid-template-columns:1fr; gap:17px; }.policy-dossier-header h3 { font-size:27px; } }
@media(max-width:760px) { .policy-intro { grid-template-columns:1fr; gap:22px; padding:25px; }.policy-edition { border-left:0; border-top:1px solid #668478; padding:17px 0 0; display:block; }.policy-edition>span, .policy-edition>strong { display:inline-block; margin-right:15px; }.policy-edition>span:first-child { display:block; margin:0 0 3px; }.policy-edition strong { font-size:28px; }.policy-edition small { display:block; margin-top:8px; }.policy-section { margin-top:32px; }.policy-section-heading h2 { font-size:26px; }.policy-findings { grid-template-columns:1fr; }.policy-finding { padding:22px; }.policy-dossier-workspace { grid-template-columns:1fr; }.policy-dossier-picker { border-right:0; border-bottom:1px solid var(--policy-line); padding:19px; }.policy-dossier-list { max-height:180px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; }.policy-dossier-choice { margin:0; padding:9px; }.policy-dossier-choice span { font-size:12px; }.policy-list-count { margin-top:14px; }.policy-selected-dossier { padding:21px; }.policy-region-buttons { gap:6px; }.policy-benchmark-grid { grid-template-columns:1fr; }.policy-benchmark { padding:22px; }.policy-coverage-card h3 { min-height:0; }.policy-question summary { font-size:14px; gap:12px; padding:16px 5px; }.policy-question>div { margin:0 20px 20px; }.policy-research-body { padding:0 20px 20px; }.policy-report-table { min-width:650px; }.policy-report-bars>div { grid-template-columns:100px minmax(50px,1fr) 65px; gap:8px; }.policy-page-nav { gap:9px 20px; }.policy-page-nav button { font-size:11px; } }
@media(max-width:440px) { .policy-intro { padding:22px; }.policy-intro h2 { font-size:28px; }.policy-intro p { font-size:13px; }.policy-coverage-grid { grid-template-columns:1fr; }.policy-selected-dossier { padding:19px 16px; }.policy-dossier-header h3 { font-size:26px; }.policy-region-buttons button { font-size:10px; padding:8px 9px; }.policy-dossier-actions { flex-direction:column; align-items:flex-start; }.policy-timeline-panel { padding:17px 14px; }.policy-timeline-heading>span { font-size:11px; }.policy-milestone h4 { font-size:12px; }.policy-milestone-date { font-size:15px; }.policy-report-figure { padding:14px; }.policy-report-bars>div { grid-template-columns:83px minmax(45px,1fr) 62px; }.policy-report-bars>div>span, .policy-report-bars strong { font-size:11px; }.policy-report-section h3 { font-size:23px; }.policy-report-table { min-width:600px; }.policy-interval { grid-template-columns:1fr; gap:15px; }.policy-interval>div:first-child { border-right:0; padding-right:0; } }
@media(prefers-reduced-motion:reduce) { .policy-layout * { scroll-behavior:auto!important; transition:none!important; } }
@media print { .policy-page-nav, .policy-dossier-picker, .policy-dossier-actions, .policy-region-bar, .policy-section-actions { display:none!important; }.policy-dossier-workspace { display:block; }.policy-intro { color:#000; background:#fff; border:1px solid #999; }.policy-intro h2, .policy-intro p, .policy-intro .policy-kicker, .policy-edition { color:#000; }.policy-report-section, .policy-finding, .policy-selected-dossier { break-inside:avoid; } }
