/*!
 * CoreSystem Frontend Theme — frontend.css
 *
 * Loaded after vanilla Bootstrap 5.3 (bootstrap.min.css). Four layers:
 *   1. Design tokens (--cb-*)  — themeable contract for ContentBuilder blocks
 *   2. Bootstrap bridge        — maps Bootstrap variables onto the tokens
 *   3. Marketing typography    — heading scale for public landing pages
 *   4. cb structure layer      — base styling for ContentBuilder sections
 *
 * Per-channel theme config (core_theme_config) overrides the :root token
 * defaults via an inline <style> rendered by ThemeCssVariableRenderer —
 * the inline block is emitted after this stylesheet's <link>, so the
 * cascade lets channel values win without extra specificity.
 */
 :root{--cb-primary:#1a6fb5;--cb-primary-rgb:26, 111, 181;--cb-accent:#1b9e3e;--cb-surface:#ffffff;--cb-surface-dark:#081529;--cb-gradient-from:#1f7ac2;--cb-gradient-to:#0f5a9c;--cb-text-light:#ffffff;--cb-text-dark:#212529;--cb-overlay-dark:rgba(8, 21, 41, .6);--cb-overlay-darker:rgba(8, 21, 41, .78);--cb-overlay-light:rgba(255, 255, 255, .6);--cb-heading-weight:700;--cb-radius:.75rem}:root{--bs-primary:var(--cb-primary);--bs-primary-rgb:var(--cb-primary-rgb);--bs-link-color-rgb:var(--cb-primary-rgb);--bs-link-hover-color-rgb:var(--cb-primary-rgb)}.btn-primary{--bs-btn-bg:var(--cb-primary);--bs-btn-border-color:var(--cb-primary);--bs-btn-hover-bg:color-mix(in srgb, var(--cb-primary) 85%, black);--bs-btn-hover-border-color:color-mix(in srgb, var(--cb-primary) 80%, black);--bs-btn-active-bg:color-mix(in srgb, var(--cb-primary) 80%, black);--bs-btn-active-border-color:color-mix(in srgb, var(--cb-primary) 75%, black);--bs-btn-disabled-bg:var(--cb-primary);--bs-btn-disabled-border-color:var(--cb-primary);--bs-btn-focus-shadow-rgb:var(--cb-primary-rgb)}.btn-outline-primary{--bs-btn-color:var(--cb-primary);--bs-btn-border-color:var(--cb-primary);--bs-btn-hover-bg:var(--cb-primary);--bs-btn-hover-border-color:var(--cb-primary);--bs-btn-active-bg:var(--cb-primary);--bs-btn-active-border-color:var(--cb-primary);--bs-btn-disabled-color:var(--cb-primary);--bs-btn-disabled-border-color:var(--cb-primary);--bs-btn-focus-shadow-rgb:var(--cb-primary-rgb)}.text-primary{color:var(--cb-primary)!important}h1,.h1{font-size:clamp(2.5rem, 5vw, 3.75rem);font-weight:var(--cb-heading-weight)}h2,.h2{font-size:clamp(2rem, 4vw, 3.25rem);font-weight:var(--cb-heading-weight)}h3,.h3{font-size:clamp(1.6rem, 2.8vw, 2rem);font-weight:var(--cb-heading-weight)}h4,.h4{font-size:clamp(1.4rem, 2.5vw, 1.75rem)}h5,.h5{font-size:1.15rem}h6,.h6{font-size:1rem}.lead{font-size:1.15rem}.py-6{padding-top:5rem!important;padding-bottom:5rem!important}.cb-row-fullbleed{width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}.cb-grid-row.text-white :is(h1,h2,h3,h4,h5,h6,p,li,blockquote,figcaption,strong,b,a:not(.btn)){color:var(--cb-text-light)}.cb-grid-row.text-dark :is(h1,h2,h3,h4,h5,h6,p,li,blockquote,figcaption,strong,b,a:not(.btn)){color:var(--cb-text-dark)}.cb-hero h1{font-size:clamp(2rem, 4vw, 2.8rem);font-weight:700;line-height:1.1}.cb-icon-box{text-align:center;padding:1.5rem 1rem}.cb-icon-box>:last-child{margin-bottom:0}.cb-icon-box-title{font-size:clamp(1.5rem, 2.8vw, 1.9rem)}.cb-testimonials .carousel-item{min-height:240px}.cb-testimonials .card{background-color:var(--cb-surface);border:1px solid rgba(var(--cb-primary-rgb),.12)!important;border-radius:var(--cb-radius);box-shadow:0 .75rem 2rem rgb(8 21 41 / .08)!important}.cb-testimonials .card-body{padding:2.5rem 2rem}.cb-testimonials .blockquote::before{content:"\201C";display:block;font-family:Georgia,"Times New Roman",serif;font-size:3.5rem;line-height:.5;color:rgba(var(--cb-primary-rgb),.25);margin-bottom:.75rem}.cb-testimonials .blockquote p{line-height:1.6}.cb-testimonials .blockquote-footer{margin-top:1.25rem;font-size:1rem}.cb-testimonials .carousel-indicators{position:static;margin:1.5rem 0 0}.cb-testimonials .carousel-indicators [data-bs-target]{width:10px;height:10px;border-radius:50%;border:0;background-color:rgba(var(--cb-primary-rgb),.3);opacity:1}.cb-testimonials .carousel-indicators .active{background-color:var(--cb-primary)}.cb-testimonials .carousel-control-prev,.cb-testimonials .carousel-control-next{width:3rem;align-items:center}.cb-testimonials .carousel-control-prev-icon,.cb-testimonials .carousel-control-next-icon{filter:invert(1) grayscale(100);background-color:rgba(var(--cb-primary-rgb),.12);background-size:45%;border-radius:50%;width:2.75rem;height:2.75rem}.cb-footer.bg-dark{background-color:var(--cb-surface-dark)!important}.cb-page-main img{max-width:100%;height:auto}.cb-grid-row.cb-card-grid{--cb-card-gap:1.5rem;--bs-gutter-x:0;--bs-gutter-y:0;column-gap:var(--cb-card-gap);row-gap:var(--cb-card-gap)}.cb-grid-row.cb-card-grid>*{flex:0 0 calc(50% - var(--cb-card-gap) / 2);max-width:calc(50% - var(--cb-card-gap) / 2);min-width:0}@media (max-width:767.98px){.cb-grid-row.cb-card-grid>*{flex-basis:100%;max-width:100%}}.cb-grid-row.cb-card-grid.g-0{--cb-card-gap:0}.cb-grid-row.cb-card-grid.g-2{--cb-card-gap:0.5rem}.cb-grid-row.cb-card-grid.g-3{--cb-card-gap:1rem}.cb-grid-row.cb-card-grid.g-4{--cb-card-gap:1.5rem}.cb-grid-row.cb-card-grid.g-5{--cb-card-gap:3rem}.cs-welcome,.cs-welcome-navbar,.cs-welcome-footer{--cs-welcome-bg:var(--cb-surface);--cs-welcome-fg:var(--cb-text-dark);--cs-welcome-muted:rgba(var(--cb-primary-rgb), .72);--cs-welcome-border:rgba(var(--cb-primary-rgb), .12)}[data-bs-theme="dark"] .cs-welcome,[data-bs-theme="dark"] .cs-welcome-navbar,[data-bs-theme="dark"] .cs-welcome-footer{--cs-welcome-bg:var(--cb-surface-dark);--cs-welcome-fg:var(--cb-text-light);--cs-welcome-muted:rgba(255, 255, 255, .65);--cs-welcome-border:rgba(255, 255, 255, .12)}.cs-welcome-navbar{background-color:var(--cs-welcome-bg);border-bottom:1px solid var(--cs-welcome-border);padding-top:1rem;padding-bottom:1rem}.cs-welcome-brand{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;letter-spacing:-.01em;color:var(--cs-welcome-fg)}.cs-welcome-brand:hover,.cs-welcome-brand:focus{color:var(--cb-primary)}.cs-welcome-brand svg{color:var(--cb-primary)}.cs-welcome{background-color:var(--cs-welcome-bg);color:var(--cs-welcome-fg);min-height:calc(100vh - 130px);padding:3rem 0}.cs-welcome-inner{max-width:640px}.cs-welcome-mark{display:inline-flex;align-items:center;gap:.6rem;margin-bottom:1.75rem;color:var(--cb-primary);font-weight:700;font-size:1.35rem;letter-spacing:-.01em}.cs-welcome-wordmark{color:var(--cs-welcome-fg)}.cs-welcome-title{font-size:clamp(2rem, 4.5vw, 3rem);font-weight:700;line-height:1.12;margin-bottom:1rem;color:var(--cs-welcome-fg)}.cs-welcome-lead{font-size:1.15rem;line-height:1.6;color:var(--cs-welcome-muted);margin-bottom:.75rem}.cs-welcome-hint{font-size:.95rem;color:var(--cs-welcome-muted);margin-bottom:2rem}.cs-welcome-cta{border-radius:999px;padding-left:2rem;padding-right:2rem}.cs-welcome-footer{background-color:var(--cs-welcome-bg);border-top:1px solid var(--cs-welcome-border);color:var(--cs-welcome-muted);padding:1.25rem 0;text-align:center}@media (max-width:575.98px){.cs-welcome{min-height:calc(100vh - 120px);padding:2rem 0}.cs-welcome-lead{font-size:1.05rem}}