.article-page{padding-bottom:60px;background:#fffefa}
@media(min-width:761px) and (max-width:1100px){.article-page .article-layout{grid-template-columns:minmax(0,1fr);gap:28px}.article-page .article-aside{grid-column:1;grid-row:1}.article-page .article-content{grid-column:1;grid-row:2}.article-page .article-school{display:none}.article-page .article-toc summary{font-size:18px}.article-page .article-toc ol{font-size:17px}}
.article-subtitle{display:block;font-size:27px;line-height:1.7;font-weight:600;margin-top:8px;color:#475341}
@media(max-width:760px){.article-subtitle{font-size:22px;line-height:1.8;margin-top:10px}}
.article-crumb{display:flex;flex-wrap:wrap;align-items:center;gap:9px 13px;font-size:15px;color:#4a5848;padding:25px 0}
.article-crumb a{text-decoration:underline;text-underline-offset:4px;min-height:40px;display:inline-flex;align-items:center;color:#145f91}
.article-heading{max-width:930px;padding:10px 0 27px}
.article-category{display:table;background:#f3ecfa;border:1px solid #8a6baa;padding:5px 13px;color:#673f91;font-size:15px;font-weight:600;margin-bottom:19px;min-height:40px}
.article-heading h1{font-size:38px;font-weight:750;line-height:1.65;letter-spacing:-.025em;color:#263027}
.article-meta{display:flex;flex-wrap:wrap;gap:12px 25px;font-size:15px;line-height:1.9;color:#4b5847;margin-top:17px}
.article-summary{max-width:930px;background:#eef6fc;border-left:5px solid #145f91;padding:22px 26px;margin:0 0 35px}
.summary-label{font-size:16px;color:#145f91;font-weight:700;display:block;margin-bottom:9px}
.article-summary p{font-size:18px;line-height:1.95;color:#263d4b}
.article-summary strong{font-weight:650}
.article-layout{display:grid;grid-template-columns:minmax(0,780px) minmax(240px,1fr);gap:45px;align-items:start}
.article-content{grid-column:1;grid-row:1;min-width:0}
.article-aside{grid-column:2;grid-row:1;min-width:0}
.article-visual{margin:0 0 32px;padding:0}
.article-visual img{width:100%;height:auto;max-height:420px;object-fit:contain;background:#18392c}
.article-visual figcaption{font-size:13px;line-height:1.9;color:#4f5c48;margin-top:10px}
.article-toc{border:1px solid #b4bac4;border-top:4px solid #673f91;background:#fff}
.article-toc summary{padding:15px 18px;font-size:18px;font-weight:700;color:#4c2f6f;cursor:pointer;min-height:56px;line-height:1.8}
.article-toc ol{padding:0 20px 12px 41px;margin:0;font-size:16px;color:#673f91}
.article-toc li{border-top:1px solid #dce0d7;padding-left:3px}
.article-toc a{display:block;padding:11px 0;color:#34422f;line-height:1.8;min-height:44px;text-decoration:underline;text-underline-offset:4px}
.article-toc a:hover{color:#673f91}
.article-school{margin-top:25px;padding:20px;background:#eaf4fb;border:1px solid #aec6d8}
.article-school h2{font-size:19px;line-height:1.8;color:#145f91}
.article-school p{font-size:16px;color:#3d5140;line-height:1.95;margin-top:11px}
.article-school a{font-size:16px;color:#145f91;display:block;padding:10px 0;min-height:44px;text-decoration:underline;text-underline-offset:4px}
.entry-body{font-size:18px;line-height:2;color:#29372c;overflow-wrap:break-word}
.entry-body p{font-size:18px;line-height:2;margin:0 0 24px}
.entry-body strong{font-weight:700}
.entry-body h2{font-size:27px;line-height:1.7;letter-spacing:-.02em;margin:52px 0 22px;padding:15px 19px;background:#f2edf8;border-left:5px solid #673f91;font-weight:700;scroll-margin-top:120px}
.entry-body h3{font-size:23px;line-height:1.75;margin:30px 0 16px;padding-bottom:11px;border-bottom:2px solid #bac7b0;font-weight:700}
.entry-body ul,.entry-body ol{font-size:18px;line-height:2;padding-left:28px;margin:20px 0 27px}
.entry-body li{padding-left:4px;margin-bottom:13px}
.entry-body a{color:#145f91;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:4px}
.entry-body figure.wp-block-table{margin:23px 0 27px;overflow-x:auto}
.entry-body table{border-collapse:collapse;width:100%;font-size:18px;line-height:1.9;table-layout:fixed}
.entry-body th,.entry-body td{border:1px solid #aebbaa;padding:15px 16px;text-align:left;vertical-align:top;overflow-wrap:anywhere}
.entry-body th{background:#e7efdf;color:#2c4724;font-weight:700}
.entry-body th:first-child{width:34%}
.entry-body tbody tr:nth-child(even){background:#f5f7f0}
.article-return{text-align:right;margin:30px 0}
.article-return a{display:inline-flex;min-height:48px;align-items:center;font-size:17px;color:#145f91;text-decoration:underline;text-underline-offset:5px}
.article-related{margin-top:55px;border-top:2px solid #b8c4af;padding-top:27px}
.article-related>h2{font-size:28px;margin-bottom:22px;line-height:1.7}
.article-related>div{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.article-related>div>a{position:relative;display:block;border:1px solid #b4a2c6;border-left:5px solid #673f91;background:#f7f2fd;padding:21px 44px 23px 22px}
.article-related a>span{display:block;font-size:15px;color:#673f91;margin-bottom:9px}
.article-related strong{font-size:19px;font-weight:600;line-height:1.9;color:#303a31}
.article-related b{position:absolute;right:18px;bottom:20px;color:#673f91;font-size:22px;font-weight:400}
.article-related>div>a:hover{background:#eee5fa}
.article-all{display:table;margin:23px 0 0 auto;font-size:17px;min-height:46px;padding:7px 0;color:#145f91;text-decoration:underline;text-underline-offset:5px}
@media(max-width:1000px){.article-layout{grid-template-columns:minmax(0,1fr) 250px;gap:27px}.article-heading h1{font-size:34px}.entry-body h2{font-size:25px}.article-toc ol{font-size:16px;padding-inline:32px 16px}.article-school{padding:17px}}
@media(max-width:760px){.article-page{padding-bottom:40px}.article-crumb{font-size:14px;gap:4px 9px;padding:15px 0}.article-crumb a{min-height:40px}.article-heading{padding-top:9px;padding-bottom:23px}.article-category{font-size:15px;margin-bottom:14px}.article-heading h1{font-size:29px;line-height:1.65;letter-spacing:-.025em}.article-meta{font-size:14px;gap:8px 16px;margin-top:15px}.article-summary{padding:19px 18px;margin-bottom:25px}.article-summary p{font-size:18px;line-height:1.95}.summary-label{font-size:16px}.article-layout{grid-template-columns:1fr;gap:25px}.article-aside{grid-column:1;grid-row:1}.article-content{grid-column:1;grid-row:2}.article-toc summary{font-size:18px}.article-toc ol{font-size:17px;padding-right:18px}.article-school{display:none}.article-visual{margin-bottom:28px}.article-visual img{height:auto;aspect-ratio:1.5;object-fit:cover}.article-visual figcaption{font-size:13px}.entry-body p{font-size:18px;line-height:2;margin-bottom:25px}.entry-body h2{font-size:24px;line-height:1.8;margin:38px 0 20px;padding:13px 15px}.entry-body h3{font-size:21px;line-height:1.8;margin-top:26px}.entry-body ul,.entry-body ol{font-size:18px;padding-left:24px}.entry-body table{font-size:17px;line-height:1.9}.entry-body th,.entry-body td{padding:12px 10px}.entry-body th:first-child{width:37%}.article-related{margin-top:35px;padding-top:25px}.article-related>h2{font-size:25px}.article-related>div{grid-template-columns:1fr;gap:16px}.article-related>div>a{padding:20px 38px 21px 19px}.article-related strong{font-size:18px}.article-all{font-size:17px;margin-top:20px}.article-return a{font-size:17px}}

/* Numbered navigation card for public articles. */
.article-page .article-toc{--toc-ink:#673f91;--toc-tint:#f4effa;--toc-line:#d7c8e5;display:block;min-width:0;padding:0;border:1px solid var(--toc-line);border-top:4px solid var(--toc-ink);border-radius:9px;background:#fffefa;box-shadow:0 5px 18px rgba(43,63,58,.055);overflow:hidden}
.article-page .article-toc summary{display:flex;align-items:center;justify-content:space-between;gap:8px;list-style:none;margin:0;padding:16px 14px;min-height:56px;background:var(--toc-tint);color:var(--toc-ink);font-size:17px;line-height:1.65;font-weight:700;cursor:pointer}
.article-page .article-toc summary::-webkit-details-marker{display:none}
.article-page .article-toc summary:after{content:"＋";flex:0 0 18px;font-size:18px;font-weight:400;text-align:center}
.article-page .article-toc[open] summary{margin-bottom:0;border-bottom:1px solid var(--toc-line)}
.article-page .article-toc[open] summary:after{content:"−"}
.article-page .article-toc nav{padding:6px 8px 10px;max-height:calc(100vh - 220px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--toc-line) transparent}
.article-page .article-toc ol,.article-page .article-toc li{list-style:none;margin:0;padding:0;border:0}
.article-page .article-toc a{display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px;align-items:start;padding:12px 7px;min-height:48px;border-bottom:1px solid #e7ece7;border-radius:3px;font-size:17px;line-height:1.75;color:#34423c;text-decoration:none;white-space:normal;overflow-wrap:anywhere}
.article-page .article-toc li:last-child a{border-bottom:0}
.article-page .toc-number{display:flex;align-items:center;justify-content:center;width:24px;height:24px;margin-top:2px;border:1px solid var(--toc-line);border-radius:50%;background:var(--toc-tint);color:var(--toc-ink);font-size:12px;font-weight:600;line-height:1}
.article-page .toc-label{min-width:0}
.article-page .article-toc a:hover{background:var(--toc-tint);color:var(--toc-ink)}
.article-page .article-toc a[aria-current="location"]{background:var(--toc-tint);color:var(--toc-ink);box-shadow:inset 3px 0 0 var(--toc-ink);font-weight:600}
.article-page .article-toc a[aria-current="location"] .toc-number{background:var(--toc-ink);border-color:var(--toc-ink);color:white}
.article-page .article-toc a:focus-visible,.article-page .article-toc summary:focus-visible{outline:2px solid var(--toc-ink);outline-offset:-3px}
@media(max-width:1100px){.article-page .article-toc nav{max-height:none;overflow:visible}.article-page .article-toc summary{padding:16px 18px;font-size:18px}.article-page .article-toc a{padding:13px 12px;font-size:17px;gap:12px}}
@media(max-height:600px) and (min-width:1101px){.article-page .article-toc{position:static}.article-page .article-toc nav{max-height:none;overflow:visible}}
@media print{.article-page .article-toc nav{max-height:none;overflow:visible}}

/* Keep the desktop sidebar within the viewport, with one scroll area for long lists. */
@media(min-width:1101px){
 .article-page .article-aside{--article-sticky-top:112px;position:sticky;top:var(--article-sticky-top);align-self:start;max-height:calc(100vh - var(--article-sticky-top) - 20px);overflow-y:auto;overscroll-behavior-y:contain;scroll-padding-top:76px;scroll-padding-bottom:12px;scrollbar-width:thin;scrollbar-color:#d7c8e5 transparent;padding:2px 4px 8px}
 body.admin-bar .article-page .article-aside{--article-sticky-top:144px}
 .article-page .article-toc{overflow:visible}
 .article-page .article-toc summary{position:sticky;top:0;z-index:1;border-radius:5px 5px 0 0}
 .article-page .article-toc nav{max-height:none;overflow:visible}
}
@media print{.article-page .article-aside{position:static;max-height:none;overflow:visible;padding:0}.article-page .article-toc summary{position:static}}

/* Small-screen access to the article TOC without leaving the reading position. */
.article-page .mobile-toc-trigger{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:80;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:52px;padding:12px 19px;border:1px solid #59347f;border-radius:28px;background:#673f91;color:#fff;font:700 17px/1.5 var(--sans,sans-serif);box-shadow:0 4px 15px #28302833;cursor:pointer}
.article-page .mobile-toc-trigger[hidden]{display:none!important}
.article-page .mobile-toc-trigger:focus-visible,.article-page .mobile-toc-close:focus-visible{outline:3px solid #b58bdf;outline-offset:3px}
.article-page dialog.mobile-toc-dialog:not([open]){display:none}
.article-page dialog.mobile-toc-dialog[open]{display:flex;flex-direction:column}
.article-page dialog.mobile-toc-dialog{position:fixed;inset:auto 12px max(12px,env(safe-area-inset-bottom,0px));width:calc(100% - 24px);max-width:640px;max-height:78vh;max-height:78dvh;margin:0 auto;padding:0;border-radius:13px;color:#34423c}
.article-page .mobile-toc-dialog::backdrop{background:rgba(24,34,29,.5)}
.article-page .mobile-toc-heading{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;background:#f4effa;border-bottom:1px solid #d7c8e5}
.article-page .mobile-toc-heading h2{margin:0;padding:0;border:0;font-size:19px;line-height:1.6;color:#673f91}
.article-page .mobile-toc-close{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0;min-width:86px;min-height:48px;padding:8px 10px;border:1px solid #c9b4dd;border-radius:6px;background:#fffefa;color:#59347f;font:600 16px/1.5 var(--sans,sans-serif);cursor:pointer}
.article-page .mobile-toc-dialog nav{flex:1 1 auto;min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:contain;padding:6px 8px 12px;scrollbar-width:thin}
html.mssf-mobile-toc-open,html.mssf-mobile-toc-open body{overflow:hidden;overscroll-behavior:none}
@media(min-width:1101px){.article-page .mobile-toc-trigger{display:none}}
@media print{.article-page .mobile-toc-trigger,.article-page dialog.mobile-toc-dialog{display:none!important}}
