/* Article-specific CSS, scoped so the site's shared sidebar and mobile menu prevail. */
body.article-detail {--rule:#dedbcd;--gold:#c18b39;}
body.article-detail .main-content {padding:22px clamp(18px,3.4vw,48px) 40px;}
body.article-detail .main-content a:focus-visible {outline:3px solid #b8883c;outline-offset:3px}
body.article-detail .main-content h1, body.article-detail .main-content h2, body.article-detail .main-content p {margin-top:0;}
body.article-detail .main-content {font-family:"Yu Gothic UI","Hiragino Kaku Gothic ProN","Noto Sans CJK JP",Meiryo,sans-serif;line-height:1.55;}
body.article-detail a {color:inherit}
body.article-detail .main-content {padding:22px clamp(18px,3.4vw,48px) 40px;min-width:0}
body.article-detail .breadcrumb {max-width:1120px;margin:0 auto 13px;display:flex;gap:9px;align-items:center;color:#677a6d;font-size:12px}
body.article-detail .breadcrumb>a {text-underline-offset:3px}
body.article-detail .edition-note {margin-left:auto;color:#456353;background:#f6f7f1;border:1px solid #c9cabb;border-radius:999px;padding:5px 11px;font-size:11px}
body.article-detail .paper, body.article-detail .listing-paper {max-width:1120px;margin:0 auto;background:var(--paper);border:1px solid #deddd0;box-shadow:0 12px 36px rgba(54,63,51,.07);border-radius:13px;overflow:hidden}
body.article-detail .article {padding:clamp(18px,2.2vw,28px) clamp(21px,3.1vw,40px) 19px;display:flex;flex-direction:column;gap:16px}
body.article-detail .eyebrow {display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;letter-spacing:.06em;color:#718176}
body.article-detail .series {display:inline-flex;align-items:center;gap:9px;color:#2c6452;font-size:12px;font-weight:800}
body.article-detail .series::before {content:"";display:inline-block;background:var(--gold);width:21px;height:3px;border-radius:10px}
body.article-detail h1, body.article-detail h2, body.article-detail p {margin-top:0}
body.article-detail .article h1, body.article-detail .listing-paper h1 {font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif CJK JP",serif;font-size:clamp(26px,2.65vw,38px);font-weight:700;letter-spacing:.025em;line-height:1.33;color:#183a30;margin:0;overflow-wrap:anywhere}
body.article-detail .deck {margin:7px 0 0;color:#5b6a61;font-size:14px;line-height:1.6}
body.article-detail .mobile-takeaway {display:none}
body.article-detail .highlight {display:grid;grid-template-columns:230px minmax(0,1fr);gap:0;min-height:217px;background:#f0f3eb;border:1px solid #d9e2d7;border-radius:10px;overflow:hidden}
body.article-detail .highlight-lead {background:#234c3d;color:#fffdf0;padding:21px 20px;display:flex;flex-direction:column;justify-content:space-between;position:relative;isolation:isolate}
body.article-detail .highlight-lead::after {content:"";position:absolute;right:-29px;bottom:-43px;width:114px;height:114px;border:1px solid #638574;border-radius:50%;opacity:.5;z-index:-1}
body.article-detail .highlight-lead .mini-label {font-size:11px;letter-spacing:.12em;color:#c6dfc8}
body.article-detail .highlight-lead h2 {font-family:"Yu Mincho",serif;font-size:27px;letter-spacing:.035em;line-height:1.4;font-weight:700;margin:10px 0;overflow-wrap:anywhere}
body.article-detail .highlight-lead .small-copy {font-size:11px;line-height:1.65;color:#d6e3d8}
body.article-detail .highlight-graphic {padding:14px 16px 11px;display:flex;flex-direction:column;justify-content:center;gap:9px;min-width:0}
body.article-detail .path {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;align-items:stretch;min-width:0}
body.article-detail .path.n-3 {grid-template-columns:repeat(3,minmax(0,1fr))}
body.article-detail .path.n-2 {grid-template-columns:repeat(2,minmax(0,1fr))}
body.article-detail .step {position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:3px;min-width:0;padding:0 6px}
body.article-detail .visual-flow .step:not(:last-child)::after {content:"→";position:absolute;right:-9px;top:25px;font-size:20px;color:#6f9b83;z-index:2}
body.article-detail .step-mark {width:75px;height:80px;display:flex;justify-content:center;align-items:center;color:#568a70}
body.article-detail .step-svg {width:72px;height:72px;max-width:100%;max-height:100%}
body.article-detail .step-info {display:flex;flex-direction:column;gap:4px;min-width:0}
body.article-detail .step-info strong {font-size:13px;color:#294c3f;line-height:1.45}
body.article-detail .step-info span {font-size:11px;color:#748176;line-height:1.5}
body.article-detail .visual-compare .step, body.article-detail .visual-points .step {border:1px solid #ccdacd;background:#f8faf6;border-radius:9px;margin:3px 6px;padding:12px 8px}
body.article-detail .visual-compare .step-mark, body.article-detail .visual-points .step-mark {height:68px}
body.article-detail .graphic-caption {font-size:10px;text-align:center;color:#6b7d70;border-top:1px dashed #c5d1c4;padding-top:9px;margin:0;line-height:1.6}
body.article-detail .three {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
body.article-detail .fact {background:#fafaf5;border:1px solid #e3e4d9;padding:12px 14px;border-radius:8px;min-height:122px}
body.article-detail .fact h2 {display:flex;align-items:center;gap:8px;font-size:12px;color:#3a705c;font-weight:800;letter-spacing:.02em;margin:0 0 6px}
body.article-detail .fact-num {background:#e2ece4;color:#2f6550;width:24px;height:24px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:14px;flex:none}
body.article-detail .fact-copy p {margin:0;font-size:14px;line-height:1.7;color:#41544a;overflow-wrap:anywhere}
body.article-detail .fact.caution {background:#fcf8f0;border-color:#e8dcc3}
body.article-detail .fact.caution h2, body.article-detail .fact.caution .fact-num {color:#956b2b}
body.article-detail .fact.caution .fact-num {background:#f5e9cc}
body.article-detail .comment {display:flex;align-items:center;gap:16px;padding:10px 15px;border-left:4px solid var(--gold);background:#f7f5ed;border-radius:0 8px 8px 0}
body.article-detail .comment>strong {white-space:nowrap;color:#80613f;font-size:12px}
body.article-detail .comment p {margin:0;color:#526056;font-size:13px;line-height:1.65}
body.article-detail .sources {display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--rule);padding-top:12px;font-size:12px;color:#728077;line-height:1.6}
body.article-detail .source-links {display:flex;flex-wrap:wrap;gap:8px 15px;align-items:center;min-width:0}
body.article-detail .source-links a {color:#376653;text-underline-offset:3px;text-decoration-color:#a0b6aa;overflow-wrap:anywhere}
body.article-detail .sources-label {font-weight:700}
body.article-detail .unverified {color:#a05824}
body.article-detail .signature {color:#5b645a;font-family:"Yu Mincho",serif;white-space:nowrap;font-size:13px}
body.article-detail .below {max-width:1120px;margin:12px auto 0;color:#64776b;font-size:12px}
body.article-detail .below details {background:#fafaf5;border:1px solid #e5e4d8;border-radius:8px;padding:10px 14px}
body.article-detail .below summary {cursor:pointer;font-weight:700;color:#416452}
body.article-detail .details-body p, body.article-detail .details-body li {line-height:1.9;font-size:13px;margin:9px 0 4px;color:#41544a}
body.article-detail .listing-paper {padding:30px clamp(22px,4vw,50px) 42px}
body.article-detail .listing-paper h1 {margin:13px 0 10px}
body.article-detail .list-lead {color:#657267;margin:0 0 25px;font-size:14px;line-height:1.8}
body.article-detail .home-feature {display:flex;flex-direction:column;gap:10px;padding:26px 28px;border-radius:11px;text-decoration:none;background:linear-gradient(125deg,#224c3d,#366c55);color:#f9f7ef;min-height:170px;transition:transform .12s ease}
body.article-detail .home-feature:hover {transform:translateY(-2px)}
body.article-detail .home-feature-label {font-size:12px;color:#c6dfc8;letter-spacing:.09em}
body.article-detail .home-feature strong {font-family:"Yu Mincho",serif;font-size:clamp(21px,2.3vw,31px);line-height:1.5}
body.article-detail .home-feature>span:not(.home-feature-label) {font-size:13px;color:#e0eee3}
body.article-detail .home-feature em {font-size:12px;font-style:normal;font-weight:700;margin-top:5px}
body.article-detail .listing-subtitle {font-size:17px;margin:29px 0 13px;color:#315342}
body.article-detail .news-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
body.article-detail .news-card {display:flex;flex-direction:column;gap:10px;padding:18px 19px;background:#fbfbf7;border:1px solid #e0e3d7;border-radius:10px;text-decoration:none;min-width:0;min-height:158px}
body.article-detail .news-card:hover {background:#f1f5eb;border-color:#bed0c1}
body.article-detail .news-card-meta {display:flex;gap:12px;color:#587568;font-size:11px}
body.article-detail .news-card strong {font-family:"Yu Mincho",serif;font-size:20px;line-height:1.5;color:#254638}
body.article-detail .news-card-deck {font-size:12px;color:#657467;line-height:1.6}
body.article-detail .news-card-bottom {margin-top:auto;display:flex;justify-content:space-between;color:#57816e;font-size:11px}
@media(max-height:800px) and (min-width:981px){
body.article-detail .main-content {padding-top:13px;padding-bottom:18px}
body.article-detail .breadcrumb {margin-bottom:7px}
body.article-detail .article {gap:10px;padding-top:17px;padding-bottom:13px}
body.article-detail .highlight {min-height:190px}
body.article-detail .highlight-lead {padding:14px 17px}
body.article-detail .highlight-lead h2 {font-size:24px}
body.article-detail .highlight-graphic {padding-top:7px;padding-bottom:7px;gap:4px}
body.article-detail .step-mark {height:63px}
body.article-detail .step-svg {height:60px}
body.article-detail .fact {min-height:106px;padding-top:9px;padding-bottom:8px}
body.article-detail .fact h2 {margin-bottom:4px}
body.article-detail .comment {padding-top:8px;padding-bottom:8px}
body.article-detail .sources {padding-top:8px}
}
@media(max-width:1100px) and (min-width:981px){
body.article-detail .highlight {grid-template-columns:194px minmax(0,1fr)}
body.article-detail .article {padding-left:20px;padding-right:20px}
body.article-detail .highlight-lead h2 {font-size:23px}
body.article-detail .step-info strong {font-size:12px}
body.article-detail .step-info span {font-size:10px}
}
@media(max-width:980px){
body.article-detail .main-content {padding:14px}
body.article-detail .article {padding:19px 20px;gap:17px}
body.article-detail .highlight {grid-template-columns:190px minmax(0,1fr)}
body.article-detail .highlight-lead h2 {font-size:24px}
}
@media(max-width:650px){
body.article-detail .main-content {padding:10px 10px 25px}
body.article-detail .breadcrumb {padding:3px 5px 0;font-size:11px}
body.article-detail .edition-note {font-size:10px;padding:4px 8px}
body.article-detail .paper {border-radius:9px}
body.article-detail .article {padding:18px 16px;gap:17px}
body.article-detail .eyebrow {font-size:10px}
body.article-detail .article h1 {font-size:clamp(24px,6.8vw,29px);line-height:1.37}
body.article-detail .deck {font-size:14px;line-height:1.7}
body.article-detail .mobile-takeaway {display:block;margin:10px 0 0;padding:10px 12px;background:#eaf1e7;border-radius:7px;color:#365848;font-size:13px;line-height:1.7}
body.article-detail .highlight {grid-template-columns:1fr}
body.article-detail .highlight-lead {min-height:125px;padding:17px 19px}
body.article-detail .highlight-lead h2 {font-size:26px;margin:10px 0}
body.article-detail .highlight-graphic {padding:16px 16px 12px;gap:13px}
body.article-detail .path, body.article-detail .path.n-2, body.article-detail .path.n-3 {grid-template-columns:1fr;gap:15px}
body.article-detail .step, body.article-detail .visual-points .step, body.article-detail .visual-compare .step {display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:11px;text-align:left;padding:0 4px;min-height:53px}
body.article-detail .step-mark {width:62px;height:55px}
body.article-detail .step-svg {height:52px;width:54px}
body.article-detail .step-info strong {font-size:14px}
body.article-detail .step-info span {font-size:12px}
body.article-detail .visual-flow .step:not(:last-child)::after {content:"↓";left:26px;right:auto;top:auto;bottom:-19px;font-size:13px}
body.article-detail .visual-points .step, body.article-detail .visual-compare .step {padding:7px 8px;margin:0}
body.article-detail .graphic-caption {font-size:11px}
body.article-detail .three {grid-template-columns:1fr;gap:9px}
body.article-detail .fact {min-height:unset;padding:13px 14px}
body.article-detail .fact h2 {font-size:13px}
body.article-detail .fact-copy p {font-size:14px}
body.article-detail .comment {align-items:flex-start;gap:9px}
body.article-detail .comment>strong {font-size:12px}
body.article-detail .comment p {font-size:13px}
body.article-detail .sources {align-items:flex-start}
body.article-detail .source-links {font-size:12px;gap:6px 12px}
body.article-detail .sources .signature {font-size:12px}
body.article-detail .listing-paper {padding:24px 17px}
body.article-detail .listing-paper h1 {font-size:26px}
body.article-detail .news-grid {grid-template-columns:1fr}
body.article-detail .home-feature {padding:20px}
body.article-detail .home-feature strong {font-size:23px}
}
@media(max-width:360px){
body.article-detail .article {padding:16px 12px}
body.article-detail .highlight-lead h2 {font-size:23px}
body.article-detail .comment {flex-direction:column;gap:5px}
body.article-detail .eyebrow {letter-spacing:0}
}
@media(prefers-reduced-motion:reduce){
body.article-detail .home-feature {transition:none}
}
/* Linking and house-style refinements. */
body.article-detail .paper {background:#fffef9;}
body.article-detail .source-links a,body.article-detail .breadcrumb a {text-decoration:underline;text-underline-offset:3px;}
body.article-detail .article-bottom-nav {max-width:1120px;margin:18px auto 0;display:flex;flex-wrap:wrap;gap:14px 26px;font-size:14px;}
body.article-detail .article-bottom-nav a {color:#486850;text-decoration:underline;text-underline-offset:4px;}
body.article-detail .article-site-footer {max-width:1120px;margin:22px auto 0;padding-top:16px;border-top:1px solid #d8c7b1;color:#76695d;font-size:12px;}
@media(max-width:760px){body.article-detail .main {margin-left:0;}body.article-detail .main-content{padding:12px 12px 30px;}}
