.policy-section{margin:32px 0;padding:26px 0;border-top:1px solid #d6e1ea;scroll-margin-top:86px;overflow-wrap:anywhere}.policy-section h2{font-size:1.45rem;line-height:1.5;margin:0 0 18px}.context-label{color:#41667e;font-size:.8rem;font-weight:700;letter-spacing:.05em}.policy-toc{position:sticky;top:0;z-index:20;display:flex;gap:8px;overflow-x:auto;background:#f2f6f9;padding:12px;border:1px solid #d6e1ea;border-radius:10px;margin:24px 0}.policy-toc a{white-space:nowrap;padding:6px 10px;font-size:.86rem}.mechanism-flow{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;counter-reset:flow}.mechanism-flow li{counter-increment:flow;flex:1 1 120px;padding:14px;background:#f1f6f9;border:1px solid #d6e1ea;border-radius:10px;font-weight:600;font-size:.9rem}.mechanism-flow li:before{content:counter(flow) ' →';display:block;color:#43748f;font-size:.8rem;margin-bottom:8px}.context-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.context-card{border:1px solid #d6e1ea;border-radius:12px;padding:20px;min-width:0;background:#fff;font-size:.93rem;overflow-wrap:anywhere}.context-card h3{font-size:1.06rem;line-height:1.6;margin:8px 0}.context-card small,.context-empty{color:#596f7e}.context-caution{background:#f4f6f8;padding:12px;border-radius:8px;font-size:.88rem}.insight-panel{background:#fff8e9;padding:24px;border-radius:12px;border:1px solid #eddfbc}.policy-related{background:#f1f6f9;border:1px solid #d6e1ea;padding:14px 18px;border-radius:10px;margin:14px 0;text-align:left;font-size:.88rem;overflow-wrap:anywhere}.policy-related h3{font-size:.95rem;margin:0 0 8px}.policy-related ul{padding-left:20px;margin:0}.policy-related li+li{margin-top:12px}.policy-related p{margin:4px 0}.policy-related a{color:#0b5f96}.context-more{margin:18px 0}.context-more summary{cursor:pointer;font-weight:600;min-height:44px;padding:10px 0}.context-more[open]>.context-grid{margin-top:12px}.policy-group-select{padding:10px 12px;max-width:100%;border:1px solid #a9bdcb;border-radius:8px;background:white;font:inherit}.context-counts{font-size:.83rem;color:#4b6679;margin:12px 0}.context-cta{display:block;font-weight:700;padding:10px 0;min-height:44px}.policy-section .two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.policy-section .box{padding:18px;background:#f4f7fa;border-radius:10px}.policy-section .tl-item{border-left:2px solid #a1bdce;padding:10px 18px;margin:14px 0}.policy-section .tl-item time{display:block;color:#536d7d}.policy-section .source-links a{display:block;padding:5px 0}.policy-section .conclusion{background:#f1f6f9;padding:18px;border-radius:10px}.policy-section .inline-detail-body{padding:0}.company-roles{padding-left:18px;font-size:.85rem}.policy-filter-wrap{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:16px 0}.policy-filter-wrap label{font-size:.9rem;font-weight:600}a:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid #e6a42d;outline-offset:3px}@media(max-width:650px){.context-grid,.policy-section .two{grid-template-columns:1fr}.context-card{padding:16px}.policy-section{padding-top:22px}.policy-toc{margin-left:0;margin-right:0}.mechanism-flow li{flex-basis:100%}.insight-panel{padding:18px}.policy-related{padding:12px}.policy-toc a{padding:8px 4px}.policy-section h2{font-size:1.3rem}}

.policy-filter{display:flex;flex-direction:column;gap:6px;font-size:.86rem;max-width:100%}.policy-filter select{padding:10px;border:1px solid #a9bdcb;border-radius:8px;background:white;max-width:100%;font:inherit}.policy-related a{display:inline-block;min-height:24px;padding:4px 0}.policy-section .tl-item{overflow-wrap:anywhere}.research-preview-grid>div{min-width:0}

.context-table-scroll{overflow-x:auto;max-width:100%;border:1px solid #d6e1ea;border-radius:10px}.context-table{border-collapse:collapse;width:100%;min-width:580px;font-size:.9rem}.context-table th,.context-table td{padding:14px;text-align:left;vertical-align:top;border-bottom:1px solid #d6e1ea}.context-table th{background:#f1f6f9}.context-table tr:last-child td{border-bottom:0}

/* The comparison scrolls within its own focusable region on small screens. */
.company-comparison .context-table { min-width: 920px; }
.company-comparison th[scope="row"] { min-width: 180px; font-weight: 600; }
.company-comparison th p { font-weight: 400; }
.company-comparison td { min-width: 155px; vertical-align: top; }
.case-facts { display: grid; grid-template-columns: minmax(100px, 1fr) 3fr; gap: 10px 18px; }
.case-facts dt { font-weight: 700; }
.case-facts dd { margin: 0; }
.comparison-background { border-top: 1px solid var(--border, #dce4e1); margin-top: 20px; padding-top: 12px; }
@media (max-width: 480px) { .case-facts { grid-template-columns: 1fr; gap: 6px; } .case-facts dd { margin-bottom: 10px; } }

.comparison-scroll-hint { font-size: .85rem; color: #496476; }
@media (min-width: 1200px) { .comparison-scroll-hint { display: none; } }
