/* Shared reading and spacing standard for all portal layouts. */
:root{--font-sans:Inter,Arial,Helvetica,sans-serif;--font-display:Inter,Arial,Helvetica,sans-serif;--readable-ink:#172b40;--readable-body:#303740;--readable-muted:#4a5663;--readable-link:#155b9c;--text-main:#20252b;--text-muted:#4a5663;--color-text:#20252b;--color-muted:#4a5663;--color-text-muted:#4a5663;--admin-muted:#4a5663}
html{font-size:16px;-webkit-text-size-adjust:100%}
body{font-family:var(--font-sans)!important;font-size:1.0625rem;line-height:1.65;color:var(--readable-body);text-rendering:optimizeLegibility}
body :is(h1,h2,h3,h4,h5,h6){font-family:var(--font-sans)!important;color:var(--readable-ink)!important;font-weight:700;line-height:1.3;letter-spacing:-.025em;text-wrap:pretty;overflow-wrap:break-word}
body h1{font-size:clamp(2rem,4vw,3.6rem);line-height:1.18}
body h2{font-size:clamp(1.5rem,2.6vw,2rem)}
body h3{font-size:clamp(1.2rem,2vw,1.45rem)}
body h4{font-size:1.125rem}
body :is(h1,h2,h3,h4,h5,h6) :is(a,span,strong,em){color:inherit!important;font-family:inherit!important}
body :is(.site-header,.site-footer,.blog-site-footer,.admin-sidebar,.hero-premium,.detail-hero-pro,.cta-section,.article-cta-pro,.directory-cta-pro,.sidebar-cta-pro,.bc-slide,.bc-advertise-banner,.bg-primary,.bg-dark,.bg-gradient) :is(h1,h2,h3,h4,h5,h6){color:#fff!important}
body :is(.site-header,.site-footer,.blog-site-footer,.admin-sidebar,.hero-premium,.detail-hero-pro,.cta-section,.article-cta-pro,.directory-cta-pro,.sidebar-cta-pro,.bc-slide,.bc-advertise-banner) :is(.text-muted,.text-accent){color:#e2ebf4!important}
body .text-muted{color:var(--readable-muted)!important}
body .text-accent{color:var(--readable-link)!important}
body :is(.btn-accent,.badge-accent){color:#172b40!important}
body :is(input,select,textarea,button){font-family:var(--font-sans);font-size:1rem;line-height:1.5}
body :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]),select,textarea){font-size:1rem!important;max-width:100%}
body :is(label,.form-group label,.form-section label,.contact-field label){font-size:1rem;line-height:1.5;font-weight:600}
body :is(.btn,.topbar-cta,.contact-submit){font-family:var(--font-sans);font-size:1rem;line-height:1.45;min-height:44px}
body :is(.btn-sm,.post-action){font-size:.875rem;min-height:36px}
body :is(.form-group,.form-section,.contact-field){margin-bottom:20px}
body :is(.form-group small,.form-section small,.contact-field small,.contact-footnote){font-size:.875rem;line-height:1.6;color:var(--readable-muted)}
body :is(.code-textarea,textarea[name=code]){font-family:ui-monospace,Consolas,monospace;font-size:.9375rem!important}
body .site-main :is(.lead,.section-subtitle,.page-description){font-size:1.125rem;line-height:1.7}
body .site-main :is(.rich-text,.prose){font-family:var(--font-sans);font-size:1.1875rem;line-height:1.8}
body .site-main :is(.rich-text,.prose) p{margin-bottom:1.25em}
body .site-main :is(.rich-text,.prose) a{color:var(--readable-link);text-decoration:underline;text-underline-offset:3px}
body .site-main .section{padding-block:clamp(32px,4vw,56px)}
body .section-header{margin-bottom:28px}
body .section-header :is(h1,h2){line-height:1.3}
body :is(.breadcrumb,.article-breadcrumb){font-size:.9375rem;line-height:1.5}
body .site-footer{font-size:1rem;line-height:1.65}
body .site-footer .footer-heading{font-size:1.125rem}
body .site-footer .footer-links a{line-height:1.7}
body :is(.card-header,.card-body){line-height:1.6}
body .ad-outer{margin:28px 0!important;max-width:100%;font-family:var(--font-sans)}
body .ad-outer>span{color:#586471!important;font-size:.75rem!important;line-height:1.5}
body .ad-container{background:#f5f6f7!important;border-color:#e1e5e9!important;border-radius:4px!important;max-width:100%}
body .ad-container [data-bc-banner] img{max-width:100%;height:auto;object-fit:contain}
body :is(.contact-capture,.contact-closed){background:#f5f7fa;color:var(--readable-body)}
body .contact-intro p{color:var(--readable-body);font-size:1.125rem;line-height:1.7}
body :is(.contact-eyebrow,.contact-consent a){color:var(--readable-link)}
body .contact-submit{background:#155b9c}
body .contact-submit:hover{background:#174e83}
body .contact-panel{border-color:#dbe3eb}
body .about-team-card :is(h3,.about-team-role){line-height:1.45}
body .about-team-card h3{font-size:1.25rem}
body.admin-layout{font-size:1rem;line-height:1.6}
body.admin-layout .admin-main{min-width:0}
body.admin-layout .page-title{font-size:clamp(1.35rem,2.5vw,2rem);line-height:1.3}
body.admin-layout :is(.admin-hero,.admin-page-head) h2{font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.3}
body.admin-layout :is(.admin-hero,.admin-page-head) p{font-size:1rem;line-height:1.65;color:var(--readable-muted)}
body.admin-layout :is(.admin-kicker,.section-title){font-size:.8125rem;line-height:1.5;letter-spacing:.065em}
body.admin-layout .admin-sidebar .section-title{color:#c4d2e2}
body.admin-layout .sidebar-menu .menu-item{font-size:1rem;line-height:1.45;min-height:46px}
body.admin-layout .admin-content{padding:28px 32px 48px}
body.admin-layout .admin-table :is(th,td){font-size:.9375rem;line-height:1.55;padding:14px 16px}
body.admin-layout .admin-table th{font-size:.875rem;letter-spacing:.025em;color:#414b57}
body.admin-layout :is(.admin-kpi-card small,.admin-kpi-card span,.status-badge,.post-subline,.post-excerpt,.mobile-row-meta){font-size:.875rem;line-height:1.5}
body.admin-layout .dashboard-kpis .admin-kpi-card.highlight :is(span,small){color:#e2ebf4}
body.admin-layout .card-body{padding:24px}
body.admin-layout :is(.admin-hero,.admin-page-head,.admin-page-actions){gap:20px;margin-bottom:24px}
body.admin-layout .form-actions{gap:12px;flex-wrap:wrap}
body.admin-layout .admin-form-container>div:first-of-type{gap:16px;flex-wrap:wrap}
body.admin-layout .table-responsive{overflow-x:auto}
body :is(a,button,input,select,textarea):focus-visible{outline:3px solid #155b9c;outline-offset:3px}
@media(max-width:768px){
 body{font-size:1rem}
 body h1{font-size:clamp(1.9rem,8vw,2.5rem);line-height:1.2}
 body h2{font-size:1.5rem}body h3{font-size:1.25rem}
 body .site-main :is(.rich-text,.prose){font-size:1.125rem;line-height:1.75}
 body .site-main .section{padding-block:32px}
 body .section-header{margin-bottom:22px}
 body.admin-layout .admin-content{padding:24px 16px 40px}
 body.admin-layout .card-body{padding:18px 16px}
 body.admin-layout .admin-table :is(th,td){padding:12px;font-size:.9375rem}
 body.admin-layout .admin-form-container .grid.grid-3{grid-template-columns:minmax(0,1fr)!important}
 body.admin-layout .admin-form-container .col-span-2{grid-column:auto!important}
 body .contact-panel{padding:22px 16px}
 body :is(.btn,.contact-submit){white-space:normal}
}
