/* Isolated concept overlay. Content and asset references remain in baseline.html. */
body.flat-blue {
  --ink: #15293e; --ink-2: #344e68; --ink-3: #47617a;
  --muted: #344e68; --muted-2: #47617a;
  --bg: #fff; --bg-alt: #eaf2fa; --paper: #fff; --paper-2: #eaf2fa;
  --blue-soft: #dceaf7; --accent-ink: #183f6d;
  --line: #c9d7e5; --line-strong: #9fb4c9; --fs-lead: 22px;
  --section-y: clamp(80px, 8vw, 120px);
  color: #15293e; background: #fff; font-size: 20px;
}
body.flat-blue *, body.flat-blue *::before, body.flat-blue *::after {
  box-shadow: none !important; text-shadow: none !important;
  backdrop-filter: none !important;
}
body.flat-blue ::selection { background: #15293e; color: #fff; }
body.flat-blue a { text-underline-offset: .22em; }
body.flat-blue :is(a,button):focus-visible { outline: 3px solid #2074ef !important; outline-offset: 5px; }
body.flat-blue .container { width: calc(100% - 112px); max-width: 1328px; padding-inline: 0; }
body.flat-blue :is(.nav-wrapper,.balance-nav) { background: #eaf2fa !important; border-color: #c9d7e5 !important; }
body.flat-blue .nav-overlay { position: absolute; }
body.flat-blue .balance-nav { height: 88px; }
body.flat-blue :is(.nav-link,#mobile-menu-toggle) { color: #15293e !important; font-size: 16px !important; }
body.flat-blue .balance-logo-link img { filter: none !important; }
body.flat-blue .balance-logo-link::after { display: none !important; }
body.flat-blue :is(.mega-panel,.mega-menu,#mobile-menu) { background: #fff !important; color: #15293e; }
body.flat-blue #mobile-menu { top: 88px; }
body.flat-blue .btn {
  min-height: 54px; padding: 16px 25px; border-radius: 3px !important;
  font-size: 17px !important; font-weight: 600; line-height: 1.25;
  transform: none !important; transition: background-color .16s, color .16s !important;
}
body.flat-blue :is(.btn-primary,.btn-dark) { background: #15293e !important; border: 1px solid #15293e !important; color: #fff !important; }
body.flat-blue .btn-ghost { background: transparent !important; border: 1px solid #15293e !important; color: #15293e !important; }
body.flat-blue :is(.btn-primary,.btn-dark):hover { background: #244867 !important; }
body.flat-blue .btn-ghost:hover { background: #dce9f5 !important; }
body.flat-blue .hero-band {
  background: #eaf2fa !important; color: #15293e !important;
  min-height: 800px; padding-top: 88px;
}
body.flat-blue .hero-band::before, body.flat-blue .hero-band::after,
body.flat-blue .hero-band > canvas, body.flat-blue .hero-band .motif-fallback,
body.flat-blue .hero-band [aria-hidden="true"] { display: none !important; }
body.flat-blue .hero-inner { padding-block: 76px 90px !important; }
body.flat-blue .hero-kicker { color: #344e68 !important; font-family: var(--font-sans); font-size: 16px; margin-bottom: 28px; letter-spacing: 0; }
body.flat-blue .hero-band h1 {
  font-size: clamp(72px, 6.65vw, 96px) !important; font-weight: 780 !important;
  max-width: 20ch !important; line-height: 1.015 !important; letter-spacing: -.035em !important;
  color: #15293e !important; text-wrap: balance;
}
body.flat-blue .hero__title .w { filter: none !important; transform: none !important; opacity: 1 !important; }
body.flat-blue .hero-sub { max-width: 65ch !important; color: #344e68 !important; font-size: 22px !important; line-height: 1.6 !important; margin-top: 32px; }
body.flat-blue .hero-cta { margin-top: 32px; }
body.flat-blue :is([data-reveal],.rv) { opacity: 1 !important; transform: none !important; filter: none !important; animation: none !important; }
body.flat-blue .proof { background: white !important; }
body.flat-blue .proof-inner { padding-block: 36px; }
body.flat-blue .client-logos img { max-width: 120px; height: 42px; }
body.flat-blue main > section { background-image: none !important; }
body.flat-blue section[aria-labelledby="home-industries-heading"] { background: #fff !important; }
body.flat-blue :is(.alternate,.assessment,.closing) { background: #eaf2fa !important; color: #15293e !important; }
body.flat-blue :is(.assessment,.closing)::before, body.flat-blue :is(.assessment,.closing)::after { display: none !important; }
body.flat-blue :is(.section-title,.industry-heading) { font-size: clamp(44px,4.45vw,64px) !important; font-weight: 750 !important; color: #15293e !important; line-height: 1.08 !important; letter-spacing: -.035em !important; max-width: 24ch; }
body.flat-blue :is(.section-head,.industry-head,.split) { gap: 64px; }
body.flat-blue :is(.intro,.industry-intro,.prose p) { color: #344e68 !important; font-size: 22px !important; line-height: 1.6 !important; }
body.flat-blue :is(.micro,.eyebrow,.work-number) { color: #47617a !important; font-family: var(--font-sans); font-size: 15px !important; letter-spacing: 0 !important; }
body.flat-blue .section-header { margin-bottom: 36px !important; }
body.flat-blue .section-header > h2 { color: #47617a !important; font-family: var(--font-sans); font-size: 17px !important; }
body.flat-blue .industry-list { grid-template-columns: 1fr !important; gap: 0 !important; border-top: 1px solid #b9cada; }
body.flat-blue .industry-link {
  display: grid; grid-template-columns: 1fr 1.3fr 32px; gap: 48px;
  align-items: start; padding: 30px 0 !important;
  border: 0 !important; border-bottom: 1px solid #c9d7e5 !important;
  border-radius: 0 !important; background: transparent !important;
  transform: none !important;
}
body.flat-blue .industry-link h3 { font-size: 29px; font-weight: 650; color: #15293e; }
body.flat-blue .industry-link p { grid-column: 2; margin: 0; font-size: 20px; line-height: 1.6; color: #344e68; }
body.flat-blue .industry-link > span { grid-column: 3; color: #15293e; }
body.flat-blue :is(.work-grid,.insights-grid) { gap: 32px; }
body.flat-blue :is(.work-card,.capability,.insight) {
  border: 0 !important; border-radius: 0 !important; padding: 0 !important;
  background: transparent !important; transform: none !important;
}
body.flat-blue .work-media { border-radius: 0 !important; aspect-ratio: 1.5; }
body.flat-blue .work-media::after, body.flat-blue .capability::before { display: none !important; }
body.flat-blue .work-media img { transform: none !important; }
body.flat-blue .work-body { padding: 26px 0 0 !important; }
body.flat-blue :is(.work-body h3,.insight h3) { font-size: 28px !important; font-weight: 700; line-height: 1.18 !important; color: #15293e; }
body.flat-blue :is(.work-body p,.insight p,.capability p,.steps p) { font-size: 20px !important; line-height: 1.6 !important; color: #344e68 !important; }
body.flat-blue .text-link { color: #183f6d; font-size: 17px; }
body.flat-blue .capability-grid { gap: 64px !important; }
body.flat-blue .capability { border-top: 1px solid #b9cada !important; padding-top: 32px !important; }
body.flat-blue .capability h3 { font-size: 32px; font-weight: 700; color: #15293e; }
body.flat-blue .steps { gap: 32px; }
body.flat-blue .steps h3 { color: #15293e; font-weight: 700; font-size: 28px; margin-top: 16px; }
body.flat-blue .step-shape { display: none !important; }
body.flat-blue .steps li::after { display: none !important; }
body.flat-blue .insight { border-top: 1px solid #b9cada !important; padding-top: 28px !important; }
body.flat-blue .covela-banner { background: #fff !important; padding-block: 64px; border-bottom: 1px solid #c9d7e5; }
body.flat-blue .covela-banner h2 { font-size: 36px; color: #15293e; font-weight: 700; }
body.flat-blue .covela-banner p { font-size: 20px; color: #344e68; }
body.flat-blue .balance-footer {
  background: #fff !important; color: #15293e !important;
  --ink: #15293e; --ink-2: #344e68; --muted: #344e68; --muted-2: #47617a;
  --line: #c9d7e5; --line-strong: #9fb4c9;
}
body.flat-blue .balance-footer::before, body.flat-blue .balance-footer::after { display: none !important; }
body.flat-blue .balance-footer > .container { padding-block: 64px 36px; }
body.flat-blue .balance-footer :is(p,a) { font-size: 16px !important; line-height: 1.6 !important; }
body.flat-blue .footer-top { grid-template-columns: minmax(0,1.35fr) repeat(4,minmax(0,1fr)); gap: 30px; }
body.flat-blue .nav-section-label { color: #15293e !important; font-family: var(--font-sans); font-weight: 650; letter-spacing: 0; }
body.flat-blue :is(.industry-link,.work-card,.capability,.insight):hover h3 { color: #1b5c9c; }
@media (max-width: 1100px) {
  body.flat-blue .container { width: calc(100% - 64px); }
  body.flat-blue .hero-band { min-height: 760px; }
  body.flat-blue .hero-band h1 { font-size: clamp(64px,8vw,88px) !important; }
  body.flat-blue :is(.section-head,.industry-head,.split) { gap: 36px; }
  body.flat-blue .work-grid, body.flat-blue .insights-grid { gap: 24px; }
  body.flat-blue :is(.work-body h3,.insight h3) { font-size: 25px !important; }
  body.flat-blue .footer-top { grid-template-columns: repeat(4,minmax(0,1fr)); }
  body.flat-blue .footer-brand { grid-column: 1 / -1; max-width: 55ch; }
}
@media (max-width: 800px) {
  body.flat-blue :is(.section-head,.industry-head,.split,.closing .split) { grid-template-columns: minmax(0,1fr) !important; gap: 24px; }
  body.flat-blue :is(.section-title,.industry-heading) { font-size: 48px !important; }
  body.flat-blue :is(.work-grid,.insights-grid) { grid-template-columns: minmax(0,1fr); gap: 48px; }
  body.flat-blue .work-card { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
  body.flat-blue .work-body { padding: 0 !important; }
  body.flat-blue .industry-link { grid-template-columns: 1fr 1.3fr 24px; gap: 24px; }
  body.flat-blue .capability-grid { gap: 32px !important; }
}
@media (max-width: 600px) {
  body.flat-blue .container { width: calc(100% - 40px); }
  body.flat-blue .balance-nav { height: 76px; }
  body.flat-blue #mobile-menu { top: 76px; }
  body.flat-blue .hero-band { min-height: auto; padding-top: 76px; }
  body.flat-blue .hero-inner { padding-block: 52px 64px !important; }
  body.flat-blue .hero-band h1 { font-size: clamp(40px,11.8vw,58px) !important; line-height: 1.06 !important; }
  body.flat-blue .hero-kicker { font-size: 14px; line-height: 1.6; margin-bottom: 24px; }
  body.flat-blue .hero-sub { font-size: 20px !important; margin-top: 26px; }
  body.flat-blue .hero-cta { gap: 12px; }
  body.flat-blue .hero-cta .btn { width: 100%; }
  body.flat-blue .home-section { padding-block: 64px; }
  body.flat-blue section[aria-labelledby="home-industries-heading"] .container { padding-block: 64px; }
  body.flat-blue :is(.section-title,.industry-heading) { font-size: 38px !important; }
  body.flat-blue :is(.intro,.industry-intro,.prose p) { font-size: 20px !important; }
  body.flat-blue .industry-link { grid-template-columns: 1fr 24px; gap: 14px; padding-block: 25px !important; }
  body.flat-blue .industry-link h3 { font-size: 27px; }
  body.flat-blue .industry-link p { grid-column: 1; font-size: 19px; }
  body.flat-blue .industry-link > span { grid-column: 2; }
  body.flat-blue .work-card { display: flex; gap: 0; }
  body.flat-blue .work-body { padding-top: 24px !important; }
  body.flat-blue :is(.work-body p,.insight p,.capability p,.steps p) { font-size: 19px !important; }
  body.flat-blue .capability-grid { grid-template-columns: 1fr; }
  body.flat-blue .steps { grid-template-columns: 1fr; }
  body.flat-blue .capability h3 { font-size: 28px; }
  body.flat-blue .footer-top { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 36px 24px; }
  body.flat-blue .covela-banner h2 { font-size: 30px; }
  body.flat-blue #mobile-menu :is(a,button) { font-size: 17px; }
}
/* Keep the same light surface when the original navigation opens a menu. */
body.flat-blue .nav-wrapper { --navy-900: #eaf2fa; }
html body.flat-blue .nav-wrapper.nav-overlay:has(.nav-dropdown.is-open) > nav.balance-nav,
html body.flat-blue .nav-wrapper.menu-open > nav.balance-nav { background: #eaf2fa !important; color: #15293e !important; }
body.flat-blue .nav-dropdown { top: 88px !important; }
body.flat-blue .svcmenu { border-radius: 0; }
body.flat-blue :is(.svcmenu-t,.svcmenu-cta) { font-size: 17px !important; color: #15293e !important; }
body.flat-blue .svcmenu-d { font-size: 16px !important; line-height: 1.5; color: #344e68 !important; }
/* Explicit placement wins over the retained Astro-scoped baseline rules. */
body.flat-blue main > section { border-radius: 0 !important; }
body.flat-blue .industry-link { grid-template-columns: minmax(0,1fr) minmax(0,1.3fr) 32px !important; }
body.flat-blue .industry-link h3 { grid-column: 1 !important; grid-row: 1 !important; }
body.flat-blue .industry-link p { grid-column: 2 !important; grid-row: 1 !important; }
body.flat-blue .industry-link > span { grid-column: 3 !important; grid-row: 1 !important; }
@media (min-width: 801px) {
  body.flat-blue .industry-head { grid-template-columns: minmax(0,1.3fr) minmax(0,1fr) !important; }
  body.flat-blue .industry-heading { font-size: clamp(44px,4vw,56px) !important; max-width: none !important; }
}
@media (max-width: 600px) {
  body.flat-blue .industry-link { grid-template-columns: minmax(0,1fr) 24px !important; }
  body.flat-blue .industry-link p { grid-column: 1 !important; grid-row: 2 !important; }
  body.flat-blue .industry-link > span { grid-column: 2 !important; grid-row: 1 !important; }
}
/* Tablet cards keep a full-width row before their image/text split. */
@media (max-width: 800px) {
  body.flat-blue .work-grid { grid-template-columns: minmax(0,1fr) !important; }
}
/* Curved refinement: soft edges with the same flat colour and type system. */
body.flat-blue .btn { border-radius: 999px !important; }
body.flat-blue main > .hero-band { border-radius: 0 0 52px 52px !important; }
body.flat-blue main > :is(.alternate,.assessment,.closing) { border-radius: 52px !important; }
body.flat-blue main > :is(.alternate,.assessment,.closing) + :is(.alternate,.assessment,.closing) { margin-top: 24px; }
body.flat-blue .work-media { border-radius: 24px !important; overflow: hidden; }
body.flat-blue .capability {
  border: 0 !important; border-radius: 16px !important;
  background: #eaf2fa !important; padding: 24px !important;
}
body.flat-blue .insight {
  border: 0 !important; border-radius: 16px !important;
  background: #fff !important; padding: 24px !important;
}
body.flat-blue .svcmenu { border-radius: 0 0 20px 20px !important; }
@media (max-width: 600px) {
  body.flat-blue main > .hero-band { border-radius: 0 0 28px 28px !important; }
  body.flat-blue main > :is(.alternate,.assessment,.closing) { border-radius: 28px !important; }
  body.flat-blue main > :is(.alternate,.assessment,.closing) + :is(.alternate,.assessment,.closing) { margin-top: 16px; }
  body.flat-blue .work-media { border-radius: 20px !important; }
}
/* Homepage refinement: consistent media, readable sequences and calmer spacing. */
body.flat-blue .home-section,
body.flat-blue section[aria-labelledby="home-industries-heading"] > .container { padding-block: 100px !important; }
body.flat-blue .work-grid {
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  align-items: stretch !important; gap: 32px !important;
}
body.flat-blue .work-card { display: flex; flex-direction: column; min-width: 0; }
body.flat-blue .work-card .work-media {
  position: relative; width: 100%; height: auto !important;
  min-height: 0 !important; aspect-ratio: 3 / 2 !important;
  flex: none; border-radius: 24px !important;
}
body.flat-blue .work-media > :is(img,.work-fallback) {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover;
}
body.flat-blue .work-fallback { background: #15293e !important; }
body.flat-blue .work-fallback > i { display: none; }
body.flat-blue .work-body {
  display: flex; flex-direction: column; flex: 1;
  padding: 26px 0 0 !important;
}
body.flat-blue .work-body h3 { font-size: 28px !important; min-height: 2.36em; }
body.flat-blue .work-body .text-link { margin-top: auto; padding-top: 28px; }
body.flat-blue :is(.capability-grid,.insights-grid) { gap: 32px !important; align-items: stretch; }
body.flat-blue :is(.capability,.insight) { padding: 32px !important; }
body.flat-blue .capability h3 { font-size: 30px !important; line-height: 1.2; }
body.flat-blue .insight h3 { font-size: 28px !important; line-height: 1.2 !important; }
body.flat-blue .steps {
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  gap: 32px !important; margin-top: 56px;
}
body.flat-blue .steps li { padding: 24px 0 0 !important; border-top: 1px solid #b9cada; }
body.flat-blue .steps li > .micro {
  display: inline-flex; align-items: center; justify-content: center;
  width: 56px; height: 56px; border-radius: 50%;
  background: #eaf2fa; color: #15293e !important;
  font-size: 24px !important; font-weight: 650; line-height: 1;
}
body.flat-blue .footer-top { grid-template-columns: minmax(260px,1.7fr) repeat(4,minmax(0,1fr)) !important; gap: 40px 24px !important; }
body.flat-blue .footer-columns { display: contents; }
body.flat-blue .footer-brand { min-width: 0; }
body.flat-blue .footer-columns > div { min-width: 0; }
body.flat-blue .footer-columns > div > div { gap: 12px; }
@media (max-width: 1100px) {
  body.flat-blue .work-grid { grid-template-columns: minmax(0,1fr) !important; gap: 40px !important; }
  body.flat-blue .work-card { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 28px; }
  body.flat-blue .work-body { padding: 0 !important; }
  body.flat-blue .work-body h3 { min-height: 0; font-size: 26px !important; }
  body.flat-blue .insights-grid { grid-template-columns: minmax(0,1fr) !important; }
  body.flat-blue .steps { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 40px 32px !important; }
  body.flat-blue .footer-top { grid-template-columns: repeat(4,minmax(0,1fr)) !important; }
  body.flat-blue .footer-brand { grid-column: 1 / -1; max-width: 62ch; }
}
@media (max-width: 800px) {
  body.flat-blue .footer-top { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  body.flat-blue .capability-grid { grid-template-columns: minmax(0,1fr) !important; }
}
@media (max-width: 600px) {
  body.flat-blue .home-section,
  body.flat-blue section[aria-labelledby="home-industries-heading"] > .container { padding-block: 64px !important; }
  body.flat-blue .work-card { display: flex; gap: 0; }
  body.flat-blue .work-body { padding-top: 24px !important; }
  body.flat-blue :is(.capability,.insight) { padding: 24px !important; }
  body.flat-blue .capability h3 { font-size: 28px !important; }
  body.flat-blue .insight h3 { font-size: 26px !important; }
  body.flat-blue .steps { grid-template-columns: minmax(0,1fr) !important; gap: 32px !important; margin-top: 40px; }
}
/* One sans-serif family throughout the concept, including inherited metadata. */
body.flat-blue { --font-mono: var(--font-sans); }
body.flat-blue, body.flat-blue *, body.flat-blue *::before, body.flat-blue *::after {
  font-family: var(--font-sans) !important;
}
/* Lineer references: one white canvas, quiet tonal groups and soft controls. */
body.flat-blue { padding: 24px; background: #eaf2fa !important; }
body.flat-blue main { background: #fff; border-radius: 32px 32px 0 0; }
body.flat-blue .container { width: calc(100% - 112px) !important; max-width: 1280px !important; padding-inline: 0 !important; }
body.flat-blue .nav-wrapper.nav-overlay { position: absolute; top: 24px; left: 24px; right: 24px; background: #fff !important; border-radius: 32px 32px 0 0; --navy-900: #fff; }
body.flat-blue .nav-wrapper .balance-nav { background: #fff !important; border-color: transparent !important; border-radius: 32px 32px 0 0; }
html body.flat-blue .nav-wrapper.nav-overlay:has(.nav-dropdown.is-open) > nav.balance-nav,
html body.flat-blue .nav-wrapper.menu-open > nav.balance-nav { background: #fff !important; }
body.flat-blue main > .hero-band { background: #fff !important; border-radius: 32px 32px 0 0 !important; }
body.flat-blue .proof { border: 0 !important; }
body.flat-blue .proof-inner { padding-top: 24px; padding-bottom: 40px; }
body.flat-blue .btn { border-radius: 12px !important; }
body.flat-blue .btn-ghost { background: #f0f5fa !important; border-color: transparent !important; }
body.flat-blue .btn-ghost:hover { background: #e3edf7 !important; }
body.flat-blue main > :is(.alternate,.assessment,.closing) { margin-inline: 24px; border-radius: 24px !important; }
body.flat-blue main > :is(.alternate,.assessment,.closing) > .container { width: calc(100% - 64px) !important; }
body.flat-blue main > section[aria-labelledby="home-insights-heading"] { background: #fff !important; }
body.flat-blue .insight { background: #f0f5fa !important; }
body.flat-blue .capability { background: #f0f5fa !important; }
body.flat-blue .industry-list { border-top: 0; }
body.flat-blue .industry-link { border-bottom-color: #e2eaf1 !important; }
body.flat-blue .industry-link:last-child { border-bottom: 0 !important; }
body.flat-blue .industry-link:hover { background: #f5f8fc !important; }
body.flat-blue .steps li { border-top-color: #e2eaf1; }
body.flat-blue .balance-footer { border-radius: 0 0 32px 32px; }
body.flat-blue .covela-banner { border-bottom-color: #e2eaf1; }
@media (max-width: 1100px) {
  body.flat-blue { padding: 16px; }
  body.flat-blue .container { width: calc(100% - 64px) !important; }
  body.flat-blue .nav-wrapper.nav-overlay { top: 16px; left: 16px; right: 16px; }
  body.flat-blue .nav-wrapper.nav-overlay.menu-open { position: fixed; }
  body.flat-blue #mobile-menu { top: 104px; left: 16px; right: 16px; bottom: 16px; border-radius: 0 0 24px 24px; }
  body.flat-blue main > :is(.alternate,.assessment,.closing) { margin-inline: 16px; }
  body.flat-blue main > :is(.alternate,.assessment,.closing) > .container { width: calc(100% - 32px) !important; }
}
@media (max-width: 600px) {
  body.flat-blue { padding: 8px; }
  body.flat-blue main,
  body.flat-blue main > .hero-band { border-radius: 24px 24px 0 0 !important; }
  body.flat-blue .container { width: calc(100% - 40px) !important; }
  body.flat-blue .nav-wrapper.nav-overlay { top: 8px; left: 8px; right: 8px; border-radius: 24px 24px 0 0; }
  body.flat-blue .nav-wrapper .balance-nav { border-radius: 24px 24px 0 0; }
  body.flat-blue .nav-wrapper.menu-open { position: fixed; top: 8px; left: 8px; right: 8px; }
  body.flat-blue #mobile-menu { top: 84px; left: 8px; right: 8px; bottom: 8px; border-radius: 0 0 24px 24px; }
  body.flat-blue main > :is(.alternate,.assessment,.closing) { margin-inline: 8px; border-radius: 20px !important; }
  body.flat-blue main > :is(.alternate,.assessment,.closing) > .container { width: calc(100% - 24px) !important; }
  body.flat-blue .balance-footer { border-radius: 0 0 24px 24px; }
}
