
.editorial-page{--article-accent:#c9002c;--article-text:#354258;--article-line:#dce2ea}
.editorial-page .article-layout{grid-template-columns:minmax(0,780px) minmax(230px,1fr);gap:56px}
.editorial-page .article{min-width:0}
.editorial-page h1{font-size:clamp(2.15rem,3.8vw,3.45rem);line-height:1.12;overflow-wrap:break-word}
.editorial-page .article-body{font-size:1.08rem;line-height:1.75}
.editorial-page .article-body h2{line-height:1.3;margin-bottom:18px}
.editorial-page .article-body h3{margin-top:30px;line-height:1.4}
.editorial-page section[id]{scroll-margin-top:150px}
.editorial-page .article-body a{color:var(--article-accent);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.editorial-page .article-body a:hover{color:#950021}
.editorial-page .article-body .article-image{text-decoration:none;display:block;border:1px solid var(--article-line);border-radius:12px;overflow:hidden;background:#f3f5f8}
.article-figure{margin:30px 0}
.article-image img{display:block;width:100%;height:auto}
.article-image span{display:block;padding:12px 16px;font-size:.92rem;font-weight:700;min-height:44px}
.article-figure figcaption{margin-top:12px;color:#59677e;font-size:.9rem;line-height:1.6}
.article-table{width:100%;border-collapse:collapse;table-layout:fixed;margin:28px 0;font-size:1rem;line-height:1.6}
.article-table th,.article-table td{padding:14px 16px;text-align:left;vertical-align:top;border:1px solid var(--article-line);overflow-wrap:break-word}
.article-table th{background:#f3f5f8;color:#171b23;font-weight:700}
.article-table tbody tr:nth-child(even){background:#fafbfc}
.editorial-page .article-aside{position:sticky;top:126px;max-height:calc(100vh - 146px);overflow-y:auto}
.article-toc summary{font-size:1.15rem;font-weight:700;cursor:pointer;min-height:44px;display:flex;align-items:center;gap:10px}
.article-toc summary::after{content:'+';margin-left:auto;font-size:1.4rem;color:#c9002c}
.article-toc[open] summary::after{content:'−'}
.article-toc nav>a{display:block;padding:12px 0;min-height:44px;border-top:1px solid #edf0f3;font-size:.94rem;color:#354258}
.article-toc nav>a:hover{color:#c9002c}
.preview-note{padding:12px 20px;background:#fff2f5;border-bottom:1px solid #efd3db;color:#6e2036;font-size:.92rem}
.preview-note a{text-decoration:underline;font-weight:700}
.editorial-page .header a,.editorial-page .footer a{min-height:44px;display:inline-flex;align-items:center}
.editorial-page .header .brand{display:flex}
@media(min-width:901px){.editorial-page .article-aside{grid-column:2;grid-row:1}.editorial-page .article{grid-column:1;grid-row:1}}
@media(max-width:900px){.editorial-page .article-layout{display:flex;flex-direction:column;gap:28px}.editorial-page .article-aside{position:static;max-height:none;overflow:visible;order:-1;padding:16px 20px}.editorial-page .aside-cta{display:none}}
@media(max-width:650px){.editorial-page .article-layout{padding-top:24px}.editorial-page .article-body{font-size:1rem}.editorial-page .article-body h2{font-size:1.5rem}.editorial-page .article-head .lead{font-size:1.15rem}.editorial-page section[id]{scroll-margin-top:172px}.article-table th,.article-table td{padding:12px 10px;font-size:.95rem}.article-table--wide thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.article-table--wide,.article-table--wide tbody{display:block}.article-table--wide tr{display:block;border:1px solid var(--article-line);border-radius:10px;margin:16px 0;overflow:hidden}.article-table--wide td{display:block;border:0;border-bottom:1px solid var(--article-line);padding:14px 16px}.article-table--wide td:last-child{border-bottom:0}.article-table--wide td::before{content:attr(data-label);display:block;font-size:.85rem;font-weight:700;color:#59677e;margin-bottom:6px}.article-table--wide td:first-child{background:#f3f5f8;font-weight:700}.editorial-page .header nav{gap:20px}.editorial-page .related .card{padding:22px}}
@media(prefers-reduced-motion:reduce){.editorial-page{scroll-behavior:auto}.editorial-page *{scroll-behavior:auto;transition:none!important}}
@media(max-width:900px){.editorial-page .article-aside{align-self:stretch}}
@media(max-width:650px){.editorial-page h1{font-size:1.9rem;line-height:1.17}.editorial-page .header nav{flex-wrap:wrap;overflow:visible;white-space:normal;gap:0 16px;font-size:.9rem}}
