/* Article text is fetched only on request. Native dialog owns focus and Escape. */
.approach-dialog { width:min(780px,calc(100% - 32px)); max-width:none; max-height:calc(100dvh - 32px); margin:auto; padding:0; border:1px solid #d8e4e8; border-radius:18px; color:#182b45; background:#fff; box-shadow:0 20px 80px #10264f35; overflow:hidden; }
.approach-dialog[open] { display:flex; flex-direction:column; }
.approach-dialog::backdrop { background:#10264f70; }
.approach-dialog-head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; flex-shrink:0; padding:26px 30px 20px; border-bottom:1px solid #e0e9ed; background:#f5fafb; }
.approach-dialog-head h2 { margin:0; font-size:clamp(1.4rem,4vw,2rem); line-height:1.18; letter-spacing:-.025em; color:#182b45; }
.approach-eyebrow { margin:0 0 9px; font-size:10px; font-weight:700; letter-spacing:.13em; color:#397a80; }
.approach-close { flex-shrink:0; min-height:44px; padding:8px 10px; border:1px solid #b9ccd4; border-radius:8px; color:#29455d; background:#fff; font:inherit; font-size:13px; white-space:nowrap; cursor:pointer; }
.approach-content { min-height:0; padding:6px 30px 28px; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; }
.approach-paragraph { margin:20px 0; font-size:16px; line-height:1.8; color:#45586c; overflow-wrap:anywhere; }
.approach-status { margin:24px 0; line-height:1.6; }
.approach-sources { margin-top:30px; padding-top:22px; border-top:1px solid #e0e9ed; font-size:13px; line-height:1.6; }
.approach-sources h3 { margin:0 0 12px; font-size:15px; color:#182b45; }
.approach-sources ol { padding-left:22px; margin:0; }
.approach-sources li { padding:5px 0; overflow-wrap:anywhere; }
.approach-sources a { color:#256074; text-underline-offset:3px; }
.approach-dialog :is(a,button):focus-visible { outline:3px solid #36aeb5; outline-offset:3px; }
@media(max-width:600px) { .approach-dialog { width:calc(100% - 20px); max-height:calc(100dvh - 20px); border-radius:13px; } .approach-dialog-head { padding:18px 18px 16px; gap:12px; } .approach-content { padding:2px 18px 22px; } .approach-paragraph { font-size:15px; line-height:1.75; } .approach-close { font-size:12px; padding-inline:8px; } }
@media(prefers-reduced-motion:reduce) { .approach-dialog * { scroll-behavior:auto; } }
.approach-read-more{display:inline-flex;align-items:center;gap:9px;min-height:44px;margin-top:10px;padding:8px 0;border:0;background:none;color:inherit;font:inherit;font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.approach-read-more:focus-visible{outline:3px solid #36aeb5;outline-offset:4px}
