/* Shared flat website system; frozen page content remains unchanged. */
body.flat-pages {
  --ink: #15293e; --ink-2: #344e68; --ink-3: #47617a;
  --muted: #344e68; --muted-2: #47617a; --paper: #fff;
  --bg: #fff; --bg-alt: #edf4fb; --paper-2: #edf4fb;
  --line: #dce6ef; --line-strong: #b5c8da;
}
body.flat-pages .nav-wrapper { background: #fff !important; border-radius: 32px 32px 0 0; position: relative; top: auto; }
body.flat-pages .balance-nav { border-radius: 32px 32px 0 0; }
body.flat-pages main { border-radius: 0; }
body.flat-pages main :is(section,.svs-outer,.cat-motif,.cs-cover-wrap,.cs-cover,.about-hero) { background-image: none !important; }
body.flat-pages main > section,
body.flat-pages main > div > section { color: #15293e; }
body.flat-pages :is(.dark-section,.night-sheet,.tint-band,.about-hero,.cat-hero,.cs-cover,.cs-closer) {
  --ink: #15293e; --muted: #344e68; --muted-2: #47617a;
  --paper: #fff; --line: #dce6ef; --line-strong: #b5c8da;
  color: #15293e !important; background: #edf4fb !important;
}
body.flat-pages :is(.cat-hero,.about-hero,.cs-cover,.svh-split) { background: #fff !important; }
body.flat-pages main > section:first-child:has(.svh-split) { background: #fff !important; }
body.flat-pages :is(h1,.svh-h1,.cs-h1) { color: #15293e !important; font-size: clamp(56px,5.5vw,80px) !important; font-weight: 760 !important; letter-spacing: -.035em !important; line-height: 1.06 !important; text-wrap: balance; }
body.flat-pages :is(.section-header > h2,.cs-h2,.cta-title,.cs-closer-h) { color: #15293e !important; font-size: clamp(36px,3.4vw,48px) !important; font-weight: 720 !important; line-height: 1.14 !important; letter-spacing: -.025em !important; }
body.flat-pages main :is(p,dd,.faq-a,.step .tx,.cs-row-text) { color: #344e68 !important; font-size: 20px !important; line-height: 1.65 !important; }
body.flat-pages :is(.svh-sub,.cat-sub,.ah-sub,.cs-cover-lede,.cs-lede) { font-size: 22px !important; color: #344e68 !important; max-width: 65ch; }
body.flat-pages :is(.micro,.eyebrow,.mono,.mono-micro,.num,.cs-label,.cs-eyebrow,.cs-fig-cap,.cs-fact-l,.svs-k,.svs-zl,.svs-tag,.svc-no,.svc-cap,.svs-cap) { color: #47617a !important; font-size: 15px !important; letter-spacing: .01em !important; text-transform: none !important; }
body.flat-pages main h3 { color: #15293e !important; font-size: 28px !important; font-weight: 650 !important; line-height: 1.22 !important; }
body.flat-pages .section-header { margin-bottom: 36px !important; border: 0 !important; }
body.flat-pages :is(.tint-band,.night-sheet,.cs-closer) { margin-inline: 24px; border-radius: 24px !important; }
body.flat-pages :is(.tint-band,.night-sheet,.cs-closer) > .container { width: calc(100% - 64px) !important; }
body.flat-pages main > section > .container,
body.flat-pages main > section.container { padding-block: 80px !important; }
body.flat-pages .cat-inner { padding-block: 72px 80px !important; }
body.flat-pages :is(.svh-fig,.svs-figure,.cs-figure,.svf-row,.vo-stack) { border-radius: 20px !important; background: #edf4fb !important; border: 0 !important; }
body.flat-pages :is(.cat-hero,.about-hero,.cat-offerings-sect)::after,
body.flat-pages :is(.canvas-grid,.svs-outer,.cs-closer,.cta-night)::before { background-image: none !important; }
body.flat-pages .about-hero::after { opacity: 0; }
body.flat-pages :is(.svh-fig,.svw-fig) svg { max-width: 100%; }
body.flat-pages .svw-fig { background: #15293e; border-radius: 20px; padding: 24px; }
body.flat-pages :is(.step .nm,.step .dot,.svw-aside p) { color: #15293e !important; }
body.flat-pages .step .dot { background: #fff !important; border-color: #c9d7e5 !important; }
body.flat-pages .svw-aside { border-color: #c9d7e5 !important; }
body.flat-pages :is(.svf-list,.cs-panels) { gap: 24px !important; }
body.flat-pages .svf-row { padding: 32px !important; }
body.flat-pages .svf-row dt { font-size: 28px !important; font-weight: 650; color: #15293e; }
body.flat-pages .svs-figure { padding: 28px !important; }
body.flat-pages .svs-node { border-radius: 12px; min-height: 54px; }
body.flat-pages .svs-nm { font-size: 18px; }
body.flat-pages .svs-plate { border-radius: 12px; }
body.flat-pages .svs-after { border-left: 0; padding-left: 0; }
body.flat-pages .svc-tabs { gap: 8px; border: 0; }
body.flat-pages .svc-tab { border: 0; background: #fff; padding: 14px 18px; margin: 0; border-radius: 12px; }
body.flat-pages .svc-tab.on { background: #15293e; color: #fff; }
body.flat-pages .svc-tab.on .svc-no { color: #dce6ef !important; }
body.flat-pages .svc-dt :is(td,th) { font-size: 18px !important; line-height: 1.6; padding: 22px; }
body.flat-pages :is(.svc-c-us,.svc-h-us) { background: #dceaf7 !important; color: #15293e !important; border-color: #c7d9e9 !important; }
body.flat-pages :is(.faq,.faq-list) { border-color: #dce6ef !important; }
body.flat-pages .faq summary { font-size: 22px !important; font-weight: 600; color: #15293e; line-height: 1.4; padding-block: 24px; }
body.flat-pages .faq-a { max-width: 75ch; padding-bottom: 28px; }
body.flat-pages #cta-band { margin: 24px; border-radius: 24px; background: #edf4fb !important; padding-block: 72px !important; }
body.flat-pages #cta-band .container { width: calc(100% - 64px) !important; }
body.flat-pages :is(.cta-title,.cta-sub,.cta-kicker) { color: #15293e !important; }
body.flat-pages .cta-sub { font-size: 22px !important; }
/* Services overview: editorial offer rows with generous, separate reading columns. */
body.flat-pages .prob-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 48px; max-width: none; border-top: 0; }
body.flat-pages .prob { padding-block: 24px; border-color: #dce6ef; }
body.flat-pages .prob p { max-width: 60ch; }
body.flat-pages .cat-motif { opacity: .18; }
body.flat-pages .cat-offerings-sect { background: #fff !important; }
/* About: a readable full record, with all original milestone text retained. */
body.flat-pages[data-flat-page="about"] .about-hero { padding: 0 !important; }
body.flat-pages .ah-base .yr { font-size: 14px; }
body.flat-pages .tr-scene { height: auto !important; }
body.flat-pages .tr-stage { position: relative !important; top: 0 !important; height: auto !important; overflow: visible; padding-block: 64px; background: #edf4fb; border-radius: 24px; }
body.flat-pages .tr-wrap { max-width: 1280px; width: calc(100% - 112px); padding: 0; }
body.flat-pages .tr-ledger .row { opacity: 1 !important; transform: none !important; padding: 16px 0 !important; }
body.flat-pages .tr-ledger .row .yr { font-size: 17px; color: #183f6d; }
body.flat-pages .tr-ledger .row .tx { font-size: 20px !important; }
body.flat-pages .tr-detail { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; margin-top: 40px; }
body.flat-pages .tr-detail .d { grid-area: auto !important; opacity: 1 !important; visibility: visible !important; font-size: 20px !important; line-height: 1.65; padding: 24px; background: #fff; border-radius: 16px; }
body.flat-pages .tr-stats { opacity: 1 !important; transform: none !important; margin-top: 40px; }
body.flat-pages .tr-stats .st { font-size: 15px; text-transform: none; }
body.flat-pages .vo-who b { font-size: 18px; }
body.flat-pages .vo-who span { font-size: 16px; }
/* Case-study narrative: evidence panels and prose, not a presentation deck. */
body.flat-pages .cs-cover-wrap { background: #fff; }
body.flat-pages .cs-cover { padding-block: 72px 64px; }
body.flat-pages .cs-cover-grid { grid-template-columns: minmax(0,1fr) !important; }
body.flat-pages .cs-h1 { max-width: 20ch; }
body.flat-pages .cs-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; margin-top: 40px; padding: 28px; border-radius: 16px; background: #edf4fb; }
body.flat-pages .cs-fact { border: 0; }
body.flat-pages .cs-fact-v { font-weight: 600; }
body.flat-pages .cs-cover-media { margin-bottom: 72px; }
body.flat-pages .cs-figure { overflow: hidden; }
body.flat-pages .cs-figure img { width: 100%; object-fit: cover; }
body.flat-pages .cs-section { padding-block: 64px; background: #fff !important; }
body.flat-pages .cs-section .cs-body { max-width: 75ch; }
body.flat-pages .cs-row { padding-block: 24px; border-color: #dce6ef; }
body.flat-pages .cs-row-key { color: #15293e; font-size: 22px; font-weight: 600; }
body.flat-pages .cs-panel { padding: 28px; border: 0; border-radius: 16px; background: #edf4fb; }
body.flat-pages .cs-closer { padding: 48px; margin-block: 40px; }
body.flat-pages .cs-closer-grid { grid-template-columns: minmax(0,1fr) 180px; gap: 40px; }
body.flat-pages .cs-next { color: #183f6d !important; }
body.flat-pages .cs-card { border-radius: 16px; background: #edf4fb; }
body.flat-pages .cs-card .cs-body { padding: 24px; }
body.flat-pages .cs-card .cs-tl { font-size: 18px !important; }
@media (max-width: 1000px) {
  body.flat-pages :is(.svh-split,.svw-split,.svs-grid) { grid-template-columns: minmax(0,1fr) !important; gap: 36px; }
  body.flat-pages .svs-figure { grid-column: auto; grid-row: auto; }
  body.flat-pages .svs-left { display: block; }
  body.flat-pages .svs-panes,.svs-after,.svs-lede { grid-column: auto; grid-row: auto; }
  body.flat-pages .svh-fig { max-width: 540px; }
  body.flat-pages .cs-panels { grid-template-columns: minmax(0,1fr) !important; }
}
@media (max-width: 700px) {
  body.flat-pages :is(h1,.svh-h1,.cs-h1) { font-size: 40px !important; }
  body.flat-pages :is(.section-header > h2,.cs-h2,.cta-title,.cs-closer-h) { font-size: 30px !important; }
  body.flat-pages main h3 { font-size: 25px !important; }
  body.flat-pages :is(.svh-sub,.cat-sub,.ah-sub,.cs-cover-lede,.cs-lede) { font-size: 20px !important; }
  body.flat-pages main > section > .container,
  body.flat-pages main > section.container { padding-block: 52px !important; }
  body.flat-pages :is(.prob-list,.tr-detail,.cs-facts,.cs-closer-grid) { grid-template-columns: minmax(0,1fr) !important; }
  body.flat-pages :is(.tint-band,.night-sheet,.cs-closer) { margin-inline: 8px; border-radius: 20px !important; }
  body.flat-pages :is(.tint-band,.night-sheet,.cs-closer) > .container { width: calc(100% - 24px) !important; }
  body.flat-pages .tr-wrap { width: calc(100% - 40px); }
  body.flat-pages .tr-head { gap: 20px; }
  body.flat-pages .tr-ledger .row { flex-direction: column; gap: 8px; }
  body.flat-pages .tr-detail .d { padding: 20px; }
  body.flat-pages .svs-node { flex-wrap: wrap; }
  body.flat-pages .svs-plate { padding: 12px 8px; }
  body.flat-pages .svs-plate .svs-nm { font-size: 14px; }
  body.flat-pages .svs-figure { padding: 20px !important; }
  body.flat-pages .cs-facts { gap: 20px; padding: 24px; }
  body.flat-pages .cs-section { padding-block: 44px; }
  body.flat-pages .cs-row { grid-template-columns: minmax(0,1fr); gap: 12px; }
  body.flat-pages .cs-cover { padding-block: 48px; }
  body.flat-pages .cs-closer { padding: 28px 20px; }
  body.flat-pages #cta-band { margin: 8px; padding-block: 52px !important; }
  body.flat-pages #cta-band .container { width: calc(100% - 24px) !important; }
}

/* Keep the category marker legible and the closer artwork within its column. */
body.flat-pages .cat-chips .fam { color: #47617a !important; font-size: 15px; }
body.flat-pages .cs-closer-art { width: 180px; max-width: 100%; height: 260px; overflow: hidden; }
body.flat-pages .cs-art-circle { width: 140px; height: 140px; top: 20px; left: 0; }
body.flat-pages .cs-art-square { width: 140px; height: 140px; top: 100px; left: 40px; border-color: #15293e; }

/* The frozen case-study figures contain captions only, with no source media. */
body.flat-pages[data-flat-page="clearview"] .cs-figure { aspect-ratio: auto !important; min-height: 0; padding: 24px; }
body.flat-pages[data-flat-page="clearview"] .cs-figure .cs-fig-cap { position: static; }
body.flat-pages[data-flat-page="clearview"] .cs-figure .mark { display: none; }
/* Pair existing milestone nodes; no copy is duplicated or replaced. */
body.flat-pages .flat-milestone { display: grid; grid-template-columns: minmax(240px,.85fr) minmax(0,1.15fr); gap: 36px; padding: 28px 0; border-bottom: 1px solid #d3dfeb; }
body.flat-pages .flat-milestone .row { border: 0; align-self: start; display: flex; flex-direction: column; align-items: start; gap: 8px; padding: 0 !important; cursor: default; }
body.flat-pages .flat-milestone .row:disabled { opacity: 1; }
body.flat-pages .flat-milestone .row .tx b { color: #15293e !important; transition: none; }
body.flat-pages .flat-milestone .d { opacity: 1 !important; visibility: visible !important; margin: 0; }
body.flat-pages .tr-detail:empty { display: none; }
@media (max-width: 700px) {
  body.flat-pages .flat-milestone { grid-template-columns: minmax(0,1fr); gap: 16px; }
}
