/* Contrast refinements for the preserved interactive tools and work library. */
#work .eyebrow,
#work .section-heading p,
#challenge-kicker,
#friction-check .section-heading p,
.friction-method > summary,
#services .eyebrow,
.service-number,
.service-card-link,
#projects .eyebrow,
.faq-section .eyebrow,
.visitor-form-guide,
#friction-status {
  color: #3e5d77 !important;
}
.net-result > span {
  color: #fff;
}
.resource-intro h1 {
  font-size: clamp(2.5rem, 6vw, 5rem);
}
body #services .service-card .service-topline .service-number,
body #services .service-card .service-card-link,
body #faq .faq-layout .eyebrow,
body #brief-form .visitor-form-guide {
  color: #3e5d77 !important;
}
body #locations .service-map-legend span,
body #locations .location-list button span,
body #locations .location-list button small {
  color: #3e5d77 !important;
}

/* The tools hub shares Bloom's editorial type and palette. Existing tool
   layouts and interaction hooks stay in place. */
.tools-hub {
  --ink: #152e4c;
  --blue: #a8d5ed;
  --paper: #f8fafb;
  --muted: #40566d;
  --brass: #a8d5ed;
  --gold-dark: #31678d;
  --muted-dark: #40566d;
  --line: #d6dfe6;
  font-family: Manrope, sans-serif;
  background: var(--paper);
  color: var(--ink);
}
.tools-hub h1, .tools-hub h2, .tools-hub h3 { font-family: Manrope, sans-serif; font-weight: 600; }
.tools-hub .shell { max-width: 1240px; padding-inline: 0; }
.tools-hub .site-header { background: #f8fafb; }
.tools-hub .brand-emblem { border-radius: 0; }
.tools-hub .desktop-nav a { text-transform: none; letter-spacing: 0; }
.tools-hub .mobile-nav { width: min(1240px, calc(100% - 40px)); }
.tools-hub .resource-intro { background: var(--ink); color: white; padding-block: 35px 50px; }
.tools-hub .hub-breadcrumb { display: inline-flex; gap: 16px; font-size: 14px; color: #d6e3ed; margin-bottom: 50px; }
.tools-hub .hub-intro-grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: 8%; align-items: end; }
.tools-hub .resource-intro .eyebrow { color: var(--blue); font-size: 13px; margin-bottom: 20px; }
.tools-hub .resource-intro h1 { font-size: clamp(2.6rem, 4.7vw, 4.5rem); line-height: 1.12; letter-spacing: -.04em; margin: 0; }
.tools-hub .hub-intro-copy p { color: #d6e3ed; font-size: 18px; line-height: 1.8; }
.tools-hub .hub-intro-copy .text-link { color: white; margin-top: 24px; text-decoration: underline; text-underline-offset: 5px; }
.tools-hub .hub-tools { display: grid; grid-template-columns: 1.15fr 1fr 1fr; gap: 18px; margin-top: 46px; }
.tools-hub .hub-tool { display: flex; flex-direction: column; align-items: flex-start; padding: 30px 26px; border: 1px solid #bfd0de; background: #f0f4f7; color: var(--ink); }
.tools-hub .hub-tool-calculator { background: #dbeef9; }
.tools-hub .hub-tool-friction { background: #e4f0f7; }
.tools-hub .hub-index { color: #31678d; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; font-weight: 800; margin-bottom: 24px; }
.tools-hub .hub-tool h2 { font-size: clamp(1.6rem, 2.5vw, 2rem); line-height: 1.2; letter-spacing: -.03em; }
.tools-hub .hub-tool p { font-size: 16px; line-height: 1.75; color: var(--muted); margin: 20px 0 28px; }
.tools-hub .hub-tool .button { margin-top: auto; font-size: 14px; padding: 14px 16px; gap: 12px; width: 100%; background: var(--ink); color: white; border-radius: 0; text-transform: none; letter-spacing: 0; }
.tools-hub .hub-tool .button:hover { background: #254d73; }
.tools-hub .hub-note { color: #d6e3ed; font-size: 14px; margin-top: 24px; }
.tools-hub .hub-wayfinding { border-bottom: 1px solid #bfd0de; background: #e4f0f7; }
.tools-hub .hub-wayfinding .shell { display: flex; flex-wrap: wrap; gap: 12px 26px; align-items: center; padding-block: 20px; font-size: 14px; }
.tools-hub .hub-wayfinding span { font-weight: 800; }
.tools-hub .hub-wayfinding a { text-decoration: underline; text-underline-offset: 4px; }
.tools-hub .hub-back { padding-top: 30px; }
.tools-hub .section-heading h2 { font-size: clamp(2rem, 3.6vw, 3.3rem); line-height: 1.16; }
.tools-hub .section-heading > div > p { font-size: 17px; line-height: 1.8; }
.tools-hub .eyebrow { font-size: 13px; line-height: 1.7; }
.tools-hub input, .tools-hub select, .tools-hub textarea { font-size: 16px; }
.tools-hub :is(.calculator-inputs, .calculator-results, .friction-inputs, .friction-results, .lab-shell, .diagnosis-panel) { border-radius: 0; }
.tools-hub :is(.calculator-label, .field-label, .field-help, .microcopy, .calculator-inputs label, .calculator-inputs small, .calculator-results small, .result-subtitle, .result-label, .method-note, .friction-progress-label, .friction-method, .lab-panel-meta, .lab-foot > span, .lab-move > span, .training-outcomes > span, .form-note, .visitor-form-guide) { font-size: 14px; line-height: 1.75; }
.tools-hub :is(.calculator-actions .button, .calculator-actions .quiet-button, .lab-tab, .lab-foot .text-link, .lab-intro .button) { font-size: 14px; }
.tools-hub :is(.lab-intro p, .lab-panel > p, .workshop-offer p, .check-list, .friction-question, .friction-scale label) { font-size: 16px; line-height: 1.8; }
.tools-hub .lab-tabs { gap: 22px; flex-wrap: wrap; }
.tools-hub .lab-tab { min-height: 44px; }
.tools-hub .training-lab { background: #152e4c; }
.tools-hub .lab-shell { background: #213d5b; }
.tools-hub .lab-intro, .tools-hub .lab-tabs, .tools-hub .training-outcomes { border-color: #72899f; }
.tools-hub .lab-move strong { font-family: Manrope, sans-serif; font-size: 21px; line-height: 1.6; }
.tools-hub .training-lab .hub-back a { color: white; }
.tools-hub a:focus-visible, .tools-hub button:focus-visible { outline: 3px solid #2774ac; outline-offset: 5px; }
.tools-hub .resource-intro a:focus-visible, .tools-hub .training-lab a:focus-visible, .tools-hub .training-lab button:focus-visible { outline-color: #a8d5ed; }
.tools-hub .client-tech-lead h2 { font-family: Manrope, sans-serif; }
.tools-hub .footer-top, .tools-hub .footer-bottom { width: min(1240px, calc(100% - 96px)); margin-inline: auto; }
@media (max-width: 1100px) {
  .tools-hub .hub-tools { grid-template-columns: 1fr; }
  .tools-hub .hub-tool { display: grid; grid-template-columns: 1fr 1.2fr; gap: 16px 32px; }
  .tools-hub .hub-index { margin: 0; grid-column: 1 / -1; }
  .tools-hub .hub-tool p { margin: 0; }
  .tools-hub .hub-tool .button { grid-column: 2; width: fit-content; }
}
@media (max-width: 800px) {
  .tools-hub .hub-intro-grid { grid-template-columns: 1fr; gap: 26px; }
  .tools-hub .hub-breadcrumb { margin-bottom: 35px; }
  .tools-hub .hub-tool { display: flex; gap: 0; }
  .tools-hub .hub-index { margin-bottom: 18px; }
  .tools-hub .hub-tool p { margin: 16px 0 24px; }
  .tools-hub .hub-tool .button { width: 100%; }
  .tools-hub .hub-tools { margin-top: 32px; }
  .tools-hub .hub-wayfinding .shell { gap: 12px 22px; }
  .tools-hub .hub-wayfinding span { width: 100%; }
  .tools-hub .lab-shell { grid-template-columns: 1fr; }
  .tools-hub .footer-top, .tools-hub .footer-bottom { width: calc(100% - 40px); }
}

/* Override the former dark navigation and muted editorial labels. */
.tools-hub .site-header .brand,
.tools-hub .site-header .brand-type,
.tools-hub .site-header .brand-type strong,
.tools-hub .site-header .brand-type small { color: #152e4c; }
.tools-hub .site-header .brand-emblem { background: #152e4c; border: 0; box-shadow: none; padding: 5px; }
.tools-hub .site-header .desktop-nav a { color: #152e4c; background: transparent; border: 0; box-shadow: none; border-radius: 0; padding: 0; min-height: 44px; font-size: 15px; }
.tools-hub .site-header .desktop-nav .tools-nav-link { background: #e4f0f7; box-shadow: 0 0 0 8px #e4f0f7; }
.tools-hub .site-header .header-cta { background: #152e4c; color: white; border: 1px solid #152e4c; box-shadow: none; border-radius: 0; font-size: 15px; }
.tools-hub .site-header .menu-button { color: #152e4c; border-radius: 0; background: transparent; }
.tools-hub .site-header .mobile-nav a { color: #152e4c; font-size: 16px; }
.tools-hub .eyebrow { color: #31678d !important; }
.tools-hub .resource-intro .eyebrow,
.tools-hub .calculator-section .eyebrow,
.tools-hub .training-lab .eyebrow,
.tools-hub .contact-section .eyebrow { color: #a8d5ed !important; }
.tools-hub #calculator-title { color: #f8fafb; }
.tools-hub .calculator-section .hub-back a { color: #f8fafb; }
.tools-hub .contact-copy > p:not(.eyebrow) { color: #d6e3ed; }
.tools-hub footer { background: #f8fafb; color: #152e4c; border-top: 1px solid #d6dfe6; }
.tools-hub footer p, .tools-hub footer .brand-type strong, .tools-hub footer .brand-type small,
.tools-hub footer .text-link, .tools-hub footer .footer-bottom { color: #40566d; }
@media (min-width: 801px) and (max-width: 1200px) {
  .tools-hub .site-header .desktop-nav { display: flex; gap: 20px; }
  .tools-hub .site-header .desktop-nav a { font-size: 13px; }
  .tools-hub .site-header .menu-button { display: none; }
  .tools-hub .site-header .mobile-nav { display: none; }
}
.tools-hub .site-header .desktop-nav { gap: 28px; }
.tools-hub .brand-type strong { font-weight: 800; letter-spacing: .09em; }
.tools-hub .brand-type small { font-size: 10px; }
.tools-hub .client-tech-showcase .eyebrow { color: #a8d5ed !important; }
.tools-hub footer .footer-bottom span { color: #40566d; font-size: 14px; }
.tools-hub .mobile-result-jump { background: #e4f0f7; }
.tools-hub #mobile-result-label { color: #40566d !important; }
@media (max-width: 1100px) and (min-width: 801px) {
  .tools-hub .site-header .desktop-nav { gap: 20px; }
}
