/* Source-faithful polish. Loaded after inherited theme/page CSS. */
.source-shell { --gutter:24px; }
@media(min-width:1024px){.source-shell{--gutter:40px}}
.source-shell .site-header,.source-shell .site-footer{padding-inline:0}
.source-shell .container{min-width:0;padding-inline:var(--gutter)}
.source-shell .site-header .header-inner{width:100%;max-width:none;padding-inline:var(--gutter);gap:16px 20px}
.source-shell .header-actions{flex-shrink:0}
.source-shell .site-header .icon-btn{color:var(--navy);background:var(--white)}
.source-shell .site-header .icon-btn:hover,.source-shell .site-header .icon-btn:focus{color:var(--navy);background:var(--soft-white);border-color:var(--navy)}
.source-shell .brand img{object-fit:contain}
.source-shell .local-reading-nav{display:flex;flex-wrap:wrap;align-items:center;gap:0 24px;padding-block:8px;border-bottom:1px solid var(--border);font:14px/1.5 var(--font-body)}
.source-shell .local-reading-nav span{color:var(--charcoal-muted);font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.source-shell .local-reading-nav a{display:inline-flex;align-items:center;min-height:44px;color:var(--navy);font-weight:600;text-decoration:underline;text-underline-offset:4px}
.source-shell .search-panel form{display:block;padding-block:20px}
.source-shell .local-search-fields{display:flex;gap:10px}
.source-shell .local-search-fields input{width:100%;min-width:0;min-height:48px}
.source-shell .local-search-fields button{min-height:48px;flex-shrink:0}
.source-shell .search-panel .preview-control-note{margin:0 0 12px;color:var(--charcoal-muted)}
.source-shell .local-search-status{font-size:14px;line-height:1.6;margin:14px 0 4px;color:var(--charcoal-muted)}
.source-shell #searchResults li[hidden]{display:none}
.source-shell #searchResults a{display:flex;align-items:center;min-height:48px;padding:12px 0;color:var(--navy);text-decoration:underline;text-underline-offset:4px;border-bottom:1px solid var(--border);font-weight:600}
.source-shell .mobile-nav .container{max-height:60vh;max-height:60dvh;overflow-y:auto;overscroll-behavior:contain;padding-inline:var(--gutter)}
.source-shell .mobile-nav a{min-height:48px}
.source-shell .preview-article-index{max-width:none;margin:28px var(--gutter) 0;padding:24px}
.source-shell .preview-article-index li{padding:0}
.source-shell .preview-article-index a{display:inline-flex;align-items:center;min-height:44px}
.source-shell .footer-top>*{min-width:0}
.source-shell .footer-brand .logo-plate{max-width:100%}
.source-shell .footer-brand img{width:auto;max-width:100%;height:auto;max-height:32px;object-fit:contain}
.source-shell .footer-col a{display:flex;align-items:center;min-height:44px}
.source-shell .hero .container>* , .source-shell .media-split>*{min-width:0}
.source-shell .hero-media img,.source-shell .media-frame img{display:block}
.source-shell .article-container{max-width:800px;padding-inline:var(--gutter)}
.source-shell .article-container.wide{max-width:900px}

.source-shell .article-header h1{line-height:1.13;text-wrap:balance}
.source-shell .article-deck{max-width:64ch;line-height:1.7}
.source-shell .article-container .body-text{font-size:1.0625rem;line-height:1.75;text-wrap:pretty}
.source-shell .article-container h2 + p,.source-shell .article-container h3 + p{margin-top:20px}
.source-shell .article-container .body-text + .body-text{margin-top:20px}
.source-shell .article-container h2,.source-shell .article-container h3{line-height:1.22;text-wrap:pretty}
.source-shell .quick-answer p:not(.mono-label){max-width:68ch;line-height:1.75}
.source-shell .toc li{display:flex;align-items:baseline;gap:8px}
.source-shell .toc li::before{flex-shrink:0}
.source-shell .toc a{display:flex;align-items:center;min-height:44px;line-height:1.5}
.source-shell .toc ol{gap:0}
.source-shell .faq-item summary{min-height:56px;line-height:1.5}
.source-shell .faq-item{overflow:visible}
.source-shell .faq-item .faq-answer{line-height:1.75;padding-top:8px}
.source-shell .faq-item .faq-answer p + p{margin-top:16px}
.source-shell .price-card .price-details{min-width:0;flex-basis:200px}
.source-shell [id]{scroll-margin-top:190px}
.availability-note{max-width:1140px;width:calc(100% - 20px);margin:16px auto 24px;padding:0 24px;font:14px/1.6 Inter,Arial,sans-serif;color:#5B6570}
@media(max-width:600px){
 .source-shell{--gutter:20px}
 .source-shell .site-header .header-inner{flex-wrap:nowrap;gap:12px;padding-block:16px}
 .source-shell .site-header .brand{min-width:0;flex:1}
 .source-shell .site-header .brand img{width:100%;max-width:180px;height:auto}
 .source-shell .header-actions{gap:8px}
 .source-shell .local-reading-nav{gap:0 16px}
 .source-shell .local-reading-nav span{flex-basis:100%;padding-top:6px}
 .source-shell .local-search-fields{flex-direction:column}
 .source-shell .local-search-fields button{align-self:flex-start}
 .source-shell .article-container .body-text{font-size:1rem}
 .source-shell .quick-answer,.source-shell .toc{padding:20px}
 .source-shell .preview-article-index{padding:20px}
 .source-shell .article-header{padding-top:24px}
 .source-shell [id]{scroll-margin-top:100px}
}
@media(prefers-reduced-motion:reduce){.source-shell *, .source-shell *::before,.source-shell *::after{transition:none!important;scroll-behavior:auto!important}}
