/* KECB V3.4.5.2.3 — site-wide contrast, wrapping and overflow safety layer */
:root{--v34523-ink:#211d18;--v34523-navy:#10233f;--v34523-paper:#fffdf9;--v34523-muted:#5b544b;--v34523-light:#faf7f0;--v34523-gold:#f0c96e}
html{max-width:100%;overflow-x:clip;text-size-adjust:100%}
*,*::before,*::after{box-sizing:border-box}
body,main,header,footer,nav,section,article,aside,div,form,fieldset,table,tbody,thead,tr,td,th{min-width:0}
img,svg,video,canvas,iframe{max-width:100%;height:auto}
pre,code,kbd,samp{max-width:100%;overflow-wrap:anywhere;white-space:pre-wrap}
:is(h1,h2,h3,h4,h5,h6,p,li,dt,dd,figcaption,label,legend,small,strong,span,a,button,summary){overflow-wrap:anywhere;word-break:normal}
:is(button,.button,[class*="-button"],[class*="_button"],input[type="button"],input[type="submit"],input[type="reset"],summary){max-width:100%;height:auto;min-height:42px;white-space:normal;line-height:1.25;text-align:center}
:is(input,select,textarea){max-width:100%;min-width:0;color:var(--v34523-ink);background:#fff}
:is(.main-nav,.main-nav-v3,.footer-primary-links,.footer-utility-links,.mobile-dock,.button-row,.actions,.tool-actions,.bar2-actions,.k2-actions,.hero-actions){min-width:0;max-width:100%}
:is(.main-nav,.main-nav-v3,.footer-primary-links,.footer-utility-links,.button-row,.actions,.tool-actions,.bar2-actions,.k2-actions,.hero-actions)>*{min-width:0;max-width:100%}
:is(.main-nav,.main-nav-v3)>a,:is(.main-nav,.main-nav-v3)>button,:is(.main-nav,.main-nav-v3)>details>summary{white-space:normal!important;text-wrap:balance}
:is(.grid,.cards,.card-grid,[class$="-grid"],[class*="-grid "],[class*=" grid-"])>*{min-width:0}
:is(.card,.system-card,.edu-card,.academy-card,.directory-card,.search-result,.role-entry-card,.tool-card,.tool-app,.bar2-card,.bar2-track-card,.bar2-school-card,.bar2-library-card,.bar2-path-card,.k2-card,.k2-track-card,.spx-card,.browse-card,.dashboard-card,.summary-card,.metric-card,.stat-card,.cas-card){min-width:0;max-width:100%;overflow-wrap:anywhere}
:is(.card,.system-card,.edu-card,.academy-card,.directory-card,.search-result,.role-entry-card,.tool-card,.tool-app,.bar2-card,.bar2-track-card,.bar2-school-card,.bar2-path-card,.k2-card,.k2-track-card,.spx-card:not(.dark),.browse-card,.dashboard-card,.summary-card,.metric-card,.stat-card,.cas-card){color:var(--v34523-ink)}
:is(.card,.system-card,.edu-card,.academy-card,.directory-card,.search-result,.role-entry-card,.tool-card,.tool-app,.bar2-card,.bar2-track-card,.bar2-school-card,.bar2-path-card,.k2-card,.k2-track-card,.spx-card:not(.dark),.browse-card,.dashboard-card,.summary-card,.metric-card,.stat-card,.cas-card) :is(h1,h2,h3,h4,p,li,dt,dd,small,strong,label,span){color:inherit}
:is(.dark,.spx-dark,.k2-dark,.bar2-section.dark,.decision-band,.site-header,.site-header-v3,.site-footer,.site-footer-v3,.system-hero,.academy-home-hero,.academy-track-hero,.academy-lesson-hero,.bar2-track-hero,.bar2-lesson-hero,.role-quickbar,.next-steps-efficient){color:var(--v34523-light)}
:is(.dark,.spx-dark,.k2-dark,.bar2-section.dark,.decision-band,.site-header,.site-header-v3,.site-footer,.site-footer-v3,.system-hero,.academy-home-hero,.academy-track-hero,.academy-lesson-hero,.bar2-track-hero,.bar2-lesson-hero,.role-quickbar,.next-steps-efficient) :is(h1,h2,h3,h4,p,li,dt,dd,small,strong,label,span){color:inherit}
:is(.dark,.spx-dark,.k2-dark,.bar2-section.dark,.decision-band,.site-header,.site-header-v3,.site-footer,.site-footer-v3,.system-hero,.academy-home-hero,.academy-track-hero,.academy-lesson-hero,.bar2-track-hero,.bar2-lesson-hero,.role-quickbar,.next-steps-efficient) .muted{color:#ded8ce!important}
:is(.site-header,.site-header-v3,.site-footer,.site-footer-v3,.nav-more-menu) a{color:#faf7f0}
:is(.site-header,.site-header-v3,.site-footer,.site-footer-v3,.nav-more-menu) a:hover,:is(.site-header,.site-header-v3,.site-footer,.site-footer-v3,.nav-more-menu) a:focus-visible{color:#fff}
:is(.button.primary,.spx-button:not(.secondary),button.primary,input[type="submit"]){color:#fff!important}
:is(.button.secondary,.spx-button.secondary,button.secondary){color:var(--v34523-navy);background:#fff;border-color:var(--v34523-navy)}
:is(.eyebrow,.kicker,.section-kicker){line-height:1.35}
h1{font-size:clamp(2rem,6vw,4.8rem);line-height:1.02;text-wrap:balance}
h2{font-size:clamp(1.45rem,4vw,2.8rem);line-height:1.12;text-wrap:balance}
h3{font-size:clamp(1.1rem,3vw,1.65rem);line-height:1.2}
:is(.bar2-stat-panel,.stats-grid,.metric-grid,.dashboard-grid,.summary-grid){grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr))!important}
.bar2-stat-panel>div{min-width:0;overflow:visible!important}
.bar2-stat-panel strong{font-size:clamp(1rem,3.2vw,1.55rem)!important;line-height:1.1!important}
:is(.bar2-track-grid,.bar2-school-grid,.bar2-library-grid,.bar2-card-grid,.academy-grid,.tool-grid,.directory-grid,.browse-grid){grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr))!important}
:is(.bar2-track-card,.bar2-school-card,.bar2-library-card,.academy-card,.tool-card,.directory-card,.browse-card){height:auto!important;min-height:0}
:is(.pill,.tag,.badge,.chip,[class*="-pill"],[class*="-badge"],[class*="-chip"]){max-width:100%;white-space:normal;line-height:1.25}
.table-wrap,.table-scroll,.responsive-table{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
table{max-width:100%}th,td{overflow-wrap:anywhere}
.search-panel,.modal,.dialog,[role="dialog"]{max-width:calc(100vw - 2rem)}
@media(max-width:980px){
  .site-header-v3{grid-template-columns:1fr!important}
  .main-nav-v3{justify-content:flex-start!important}
  .main-nav-v3>a,.main-nav-v3>button,.main-nav-v3>details{flex:1 1 9rem!important}
  .main-nav-v3>details>summary{width:100%}
}
@media(max-width:720px){
  body{overflow-x:hidden}
  :is(.site-header,.site-header-v3,main,.page-shell,.content-shell,.bar2-wrap,.k2-wrap,.spx-wrap){padding-left:1rem;padding-right:1rem}
  :is(.main-nav,.main-nav-v3,.footer-primary-links,.footer-utility-links,.button-row,.actions,.tool-actions,.bar2-actions,.k2-actions,.hero-actions){flex-direction:column;align-items:stretch}
  :is(.main-nav,.main-nav-v3)>a,:is(.main-nav,.main-nav-v3)>button,:is(.main-nav,.main-nav-v3)>details{width:100%;flex-basis:auto!important}
  :is(.button,[class*="-button"],button,input[type="submit"]){width:100%}
  :is(.two-column,.three-column,.split,.hero-grid,.contact-layout,.bar2-callout-grid){grid-template-columns:1fr!important}
  .mobile-dock{grid-template-columns:repeat(auto-fit,minmax(0,1fr));max-width:100vw}
}
@media(max-width:420px){
  h1{font-size:clamp(1.8rem,11vw,2.8rem)}
  h2{font-size:clamp(1.35rem,8vw,2rem)}
  :is(.card,.system-card,.edu-card,.academy-card,.directory-card,.tool-card,.bar2-card,.bar2-track-card,.bar2-school-card,.bar2-library-card,.k2-card,.spx-card){padding-left:.9rem!important;padding-right:.9rem!important}
}
@media print{html,body{overflow:visible!important}:is(button,.button,.mobile-dock,.search-overlay){max-width:none}}

/* V3.4.5.2.3 targeted fixes confirmed by computed viewport audit */
.spx-button.secondary{
  background:#fff!important;color:var(--v34523-navy)!important;border-color:var(--v34523-navy)!important
}
.bar2-home-hero .button.primary,.bar2-track-hero .button.primary,.bar2-lesson-hero .button.primary{
  background:#fff!important;color:var(--v34523-ink)!important;border-color:#fff!important
}
.recipe-standard-grid>div{color:var(--v34523-ink)!important}
.recipe-standard-grid>div :is(small,strong,span,p){color:inherit!important}
.tool-source-card p{
  display:block!important;-webkit-box-orient:initial!important;-webkit-line-clamp:unset!important;
  overflow:visible!important;max-height:none!important;height:auto!important
}
@media(max-width:980px){
  :is(.spx-subnav .spx-wrap,.bar2-subnav .bar2-wrap,.k2-subnav .k2-wrap,.tool-book-jumps){
    display:flex!important;flex-wrap:wrap!important;white-space:normal!important;overflow:visible!important;
    gap:.35rem!important;padding:.55rem .75rem!important
  }
  :is(.spx-subnav,.bar2-subnav,.k2-subnav,.culture-subnav){overflow:visible!important}
  :is(.spx-subnav,.bar2-subnav,.k2-subnav,.culture-subnav)::after{display:none!important;content:none!important}
  :is(.spx-subnav .spx-wrap,.bar2-subnav .bar2-wrap,.k2-subnav .k2-wrap,.tool-book-jumps)>a{
    flex:1 1 9rem!important;white-space:normal!important;justify-content:center;text-align:center;min-width:0
  }
}
@media(max-width:560px){
  :is(.spx-subnav .spx-wrap,.bar2-subnav .bar2-wrap,.k2-subnav .k2-wrap,.tool-book-jumps)>a{flex-basis:calc(50% - .35rem)!important}
}
.spx-dark .recipe-standard-grid>div,
.spx-dark .recipe-standard-grid>div :is(small,strong,span,p){color:var(--v34523-ink)!important}
/* Preserve readable foregrounds over dark photographic and academy heroes. */
.theme-speakeasy .spx-hero,
.theme-speakeasy .bar2-home-hero,
.theme-speakeasy .bar2-track-hero,
.theme-speakeasy .bar2-lesson-hero{color:#fff!important}
.theme-speakeasy .spx-hero :is(h1,h2,h3,p,span,strong),
.theme-speakeasy .bar2-home-hero :is(h1,h2,h3,p,span,strong),
.theme-speakeasy .bar2-track-hero :is(h1,h2,h3,p,span,strong),
.theme-speakeasy .bar2-lesson-hero :is(h1,h2,h3,p,span,strong){color:inherit!important}
.theme-speakeasy .spx-hero .spx-kicker,
.theme-speakeasy .bar2-home-hero .eyebrow,
.theme-speakeasy .bar2-track-hero .eyebrow,
.theme-speakeasy .bar2-lesson-hero .eyebrow{color:var(--v34523-gold)!important}
.bar-academy-feature-stats strong{
  font-size:clamp(1.15rem,2vw,1.55rem)!important;line-height:1.12!important;
  overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important
}
