/* Scoped final editorial treatment. Shared stylesheets remain untouched. */
body.final-blog-page { overflow-x:clip; }
.final-blog { color:#182638; }
.final-blog :is(h1,h2,h3) { text-wrap:balance; }
.final-blog :is(a,summary):focus-visible { outline:3px solid #0065be; outline-offset:5px; }
.final-blog #mainmate :is(a,summary):focus-visible { outline-color:#fff; }
.sm-ui.final-blog #mainmate.sm-editorial-hero { padding-block:38px!important; }
.final-blog .sm-editorial-breadcrumb { margin-bottom:24px; }
.final-blog .sm-editorial-hero-grid { grid-template-columns:minmax(0,1.8fr) minmax(0,1fr); gap:48px; }
.final-blog .sm-editorial-photo img { aspect-ratio:4/3; max-height:290px; }
.sm-ui.final-blog .bp-body-section.final-blog-grid { display:grid; grid-template-columns:260px minmax(0,760px); gap:64px; justify-content:space-between; align-items:start!important; padding-block:48px 64px!important; }
.final-blog .bp-content-col { min-width:0; max-width:760px; width:100%; margin:0; }
.final-blog .final-blog-sidebar { position:sticky; top:96px; min-width:0; }
.final-blog-contents { border:1px solid #dce4ef; border-radius:8px; background:#f7f9fc; }
.final-blog-contents summary { display:flex; justify-content:space-between; gap:12px; list-style:none; font-size:17px; font-weight:700; padding:20px; color:#003d82; cursor:pointer; }
.final-blog-contents summary::-webkit-details-marker { display:none; }
.final-blog-contents[open] summary { border-bottom:1px solid #dce4ef; }
.final-blog-contents[open] summary span { transform:rotate(45deg); }
.final-blog-contents nav { max-height:calc(100vh - 290px); overflow:auto; }
.final-blog-contents ol { margin:0; padding:12px 20px 20px 38px; }
.sm-ui.final-blog .final-blog-contents li { margin:0; padding:8px 0 8px 2px; color:#60718a; font-size:14px; line-height:1.5; }
.final-blog-contents a { color:#263c57; text-decoration:none; }
.final-blog-contents a:hover { color:#003d82; text-decoration:underline; text-underline-offset:3px; }
.final-back-top { display:inline-block; margin:18px 20px 0; font-size:14px; color:#003d82; text-underline-offset:4px; }
.sm-ui.final-blog .bp-prose { font-size:18px; line-height:1.8; overflow-wrap:anywhere; }
.sm-ui.final-blog .bp-prose p, .sm-ui.final-blog .bp-prose li { font-size:18px; line-height:1.8; }
.sm-ui.final-blog .bp-prose p { margin:0 0 24px; }
.sm-ui.final-blog .bp-prose :is(h2,h3,h4) { scroll-margin-top:96px; }
.sm-ui.final-blog .bp-prose h2 { font-size:30px; line-height:1.3; margin:48px 0 20px; }
.sm-ui.final-blog .bp-prose h3 { font-size:23px; line-height:1.4; margin:32px 0 16px; }
.sm-ui.final-blog .bp-prose :is(ul,ol) { margin-block:16px 28px; padding-left:24px; }
.sm-ui.final-blog .bp-prose li { margin-bottom:10px; }
.sm-ui.final-blog .bp-prose .direct-answer-block { font-size:18px; line-height:1.75; padding:24px; margin-top:0; }
.sm-ui.final-blog .bp-prose :is(.last-updated,p:has(>em:only-child)) { color:#5e6c7d; font-size:15px; }
.final-table-scroll { width:100%; overflow-x:auto; margin-block:24px 32px; border:1px solid #dce4ef; border-radius:8px; }
.sm-ui.final-blog .final-table-scroll table { margin:0; min-width:560px; border:0; font-size:16px; }
.sm-ui.final-blog .final-table-scroll :is(td,th) { padding:16px; vertical-align:top; font-size:16px; line-height:1.6; }
.sm-ui.final-blog .author-bio { padding-block:36px!important; border-block:1px solid #dce4ef; background:#f8fafc; }
.final-blog .author-bio-inner { max-width:760px; }
.final-blog .author-bio h2 { font-size:26px; margin-block:8px; }
.final-blog .author-bio .p { font-size:16px; line-height:1.75; }
.sm-ui.final-blog .final-blog-related { padding-block:56px!important; }
.final-related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.final-related-card { display:flex; flex-direction:column; border:1px solid #dce4ef; border-radius:10px; overflow:hidden; text-decoration:none; background:#fff; min-width:0; color:#101828; transition:border-color .2s,box-shadow .2s; }
.final-related-card:hover { border-color:#003d82; box-shadow:0 6px 20px #003d8210; }
.final-related-card img { display:block; width:100%; aspect-ratio:16/9; height:auto; object-fit:cover; }
.final-related-card > div { display:flex; flex:1; flex-direction:column; padding:24px; }
.sm-ui.final-blog .final-related-card p { margin:0 0 12px; font-size:12px; font-weight:600; letter-spacing:.07em; text-transform:uppercase; color:#486384; }
.sm-ui.final-blog .final-related-card h3 { margin:0 0 24px; font-size:22px; line-height:1.4; }
.final-related-card > div > span { color:#003d82; margin-top:auto; font-size:15px; font-weight:600; }
.sm-ui.final-blog .sm-editorial-cta { padding-block:48px!important; }
@media(max-width:1099px) {
 .sm-ui.final-blog .bp-body-section.final-blog-grid { grid-template-columns:minmax(0,760px); justify-content:center; gap:28px; }
 .final-blog .final-blog-sidebar { position:static; }
 .final-blog-contents nav { max-height:none; }
 .final-blog-contents ol { columns:2; column-gap:36px; }
 .final-blog-contents li { break-inside:avoid; }
 .final-back-top { display:none; }
 .final-blog .sm-editorial-hero-grid { gap:28px; grid-template-columns:minmax(0,1.8fr) minmax(0,1fr); }
}
@media(max-width:767px) {
 .sm-ui.final-blog #mainmate.sm-editorial-hero { padding-block:28px!important; }
 .final-blog .sm-editorial-hero-grid { grid-template-columns:minmax(0,1fr); gap:24px; }
 .final-blog .sm-editorial-photo { width:100%; max-width:none; }
 .final-blog .sm-editorial-photo img { aspect-ratio:16/9; max-height:230px; }
 .sm-ui.final-blog .bp-body-section.final-blog-grid { padding-block:28px 40px!important; }
 .final-blog-contents ol { columns:1; }
 .sm-ui.final-blog .bp-prose, .sm-ui.final-blog .bp-prose :is(p,li) { font-size:17px; line-height:1.8; }
 .sm-ui.final-blog .bp-prose h2 { font-size:26px; margin-top:36px; }
 .sm-ui.final-blog .bp-prose h3 { font-size:21px; }
 .sm-ui.final-blog .bp-prose .direct-answer-block { font-size:17px; padding:20px; }
 .final-related-grid { grid-template-columns:minmax(0,1fr); }
 .sm-ui.final-blog .final-blog-related { padding-block:36px!important; }
 .sm-ui.final-blog .sm-editorial-cta { padding-block:36px!important; }
}
