
  #fc-cost-flow,
  #fc-cost-flow * { box-sizing: border-box; }

  #fc-cost-flow {
    --fc-blue: #1a80b6;
    --fc-blue-dark: #105378;
    --fc-navy: #082d45;
    --fc-ink: #212934;
    --fc-copy: #4a4e57;
    --fc-muted: #747474;
    --fc-line: #dce6ec;
    --fc-soft: #f3f7f9;
    --fc-white: #ffffff;
    --fc-good: #2f7d63;
    --fc-gold: #c0830b;
    --fc-red: #9d1111;
    width: 100%;
    max-width: none;
    margin: 0;
    overflow: clip;
    color: var(--fc-copy);
    background: var(--fc-white);
    font-family: Tahoma, Geneva, sans-serif, Arial, Helvetica, sans-serif;
    font-size: 16px;
    line-height: 1.68;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
  }

  #fc-cost-flow h1,
  #fc-cost-flow h2,
  #fc-cost-flow h3,
  #fc-cost-flow h4,
  #fc-cost-flow p,
  #fc-cost-flow ul,
  #fc-cost-flow ol,
  #fc-cost-flow figure { margin-top: 0; }

  #fc-cost-flow h1,
  #fc-cost-flow h2,
  #fc-cost-flow h3,
  #fc-cost-flow h4 {
    color: var(--fc-ink);
    font-family: inherit;
    font-weight: 400;
    line-height: 1.16;
    letter-spacing: -0.025em;
  }

  #fc-cost-flow h1 {
    margin-bottom: 20px;
    color: var(--fc-white);
    font-size: clamp(2.2rem, 5.3vw, 5.1rem);
    max-width: 930px;
  }

  #fc-cost-flow h2 { font-size: clamp(1.85rem, 3.7vw, 3.25rem); }
  #fc-cost-flow h3 { font-size: clamp(1.18rem, 2vw, 1.55rem); }
  #fc-cost-flow h4 { font-size: 1.03rem; }

  #fc-cost-flow a {
    color: var(--fc-blue-dark);
    text-decoration: none;
    text-underline-offset: 3px;
  }

  #fc-cost-flow a:hover,
  #fc-cost-flow a:focus-visible { color: #0f628b; }

  #fc-cost-flow button,
  #fc-cost-flow input,
  #fc-cost-flow select { font: inherit; }

  #fc-cost-flow button { cursor: pointer; }

  #fc-cost-flow section[id] { scroll-margin-top: 78px; }

  #fc-cost-flow .screen-reader-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  #fc-cost-flow button:focus-visible,
  #fc-cost-flow a:focus-visible,
  #fc-cost-flow input:focus-visible,
  #fc-cost-flow summary:focus-visible {
    outline: 3px solid rgba(26, 128, 182, .38);
    outline-offset: 3px;
  }

  #fc-cost-flow .fc-inner {
    width: min(100%, 1400px);
    margin-inline: auto;
    padding-inline: clamp(18px, 4.2vw, 68px);
  }

  #fc-cost-flow .fc-section {
    position: relative;
    padding-block: clamp(72px, 9vw, 132px);
  }

  #fc-cost-flow .fc-section--soft { background: var(--fc-soft); }
  #fc-cost-flow .fc-section--blue { background: var(--fc-blue-dark); color: rgba(255,255,255,.84); }
  #fc-cost-flow .fc-section--blue h2,
  #fc-cost-flow .fc-section--blue h3,
  #fc-cost-flow .fc-section--blue h4 { color: var(--fc-white); }

  #fc-cost-flow .fc-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
    color: var(--fc-blue-dark);
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .14em;
    line-height: 1.3;
    text-transform: uppercase;
  }

  #fc-cost-flow .fc-kicker::before {
    width: 34px;
    height: 2px;
    background: currentColor;
    content: "";
  }

  #fc-cost-flow .fc-section--blue .fc-kicker { color: #bde5fa; }

  #fc-cost-flow .fc-lead {
    max-width: 900px;
    margin-bottom: 0;
    color: var(--fc-copy);
    font-size: clamp(1.08rem, 1.6vw, 1.3rem);
    line-height: 1.7;
  }

  #fc-cost-flow .fc-section--blue .fc-lead { color: rgba(255,255,255,.83); }

  #fc-cost-flow .fc-section-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 620px);
    gap: clamp(28px, 6vw, 90px);
    align-items: end;
    margin-bottom: clamp(38px, 6vw, 72px);
  }

  #fc-cost-flow .fc-section-head h2 { max-width: 700px; margin-bottom: 0; }

  /* Hero */
  #fc-cost-flow .fc-hero {
    position: relative;
    min-height: min(860px, 86vh);
    display: flex;
    align-items: center;
    isolation: isolate;
    overflow: hidden;
    background: #061e30;
  }

  #fc-cost-flow .fc-hero-image {
    position: absolute;
    z-index: -3;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% center;
  }

  #fc-cost-flow .fc-hero::before {
    position: absolute;
    z-index: -2;
    inset: 0;
    background:
      linear-gradient(90deg, rgba(2, 17, 29, .95) 0%, rgba(4, 25, 41, .89) 35%, rgba(4, 29, 47, .28) 70%, rgba(4, 29, 47, .18) 100%),
      linear-gradient(0deg, rgba(5, 29, 45, .75) 0%, transparent 42%);
    content: "";
  }

  #fc-cost-flow .fc-hero::after {
    position: absolute;
    z-index: -1;
    right: -140px;
    bottom: -250px;
    width: 620px;
    height: 620px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 50%;
    box-shadow: 0 0 0 90px rgba(255,255,255,.035), 0 0 0 180px rgba(255,255,255,.02);
    content: "";
  }

  #fc-cost-flow .fc-hero-content {
    width: min(100%, 1400px);
    margin-inline: auto;
    padding: clamp(84px, 10vw, 145px) clamp(18px, 4.2vw, 68px) clamp(74px, 8vw, 112px);
  }

  #fc-cost-flow .fc-hero-copy { max-width: 850px; }

  #fc-cost-flow .fc-hero .fc-kicker { color: #bde5fa; }

  #fc-cost-flow .fc-hero-intro {
    max-width: 770px;
    margin-bottom: 30px;
    color: rgba(255,255,255,.87);
    font-size: clamp(1.08rem, 1.8vw, 1.38rem);
    line-height: 1.65;
  }

  #fc-cost-flow .fc-hero-actions,
  #fc-cost-flow .fc-cta-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
  }

  #fc-cost-flow .fc-btn {
    display: inline-flex;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 13px 20px;
    border: 1px solid transparent;
    border-radius: 6px;
    font-size: .91rem;
    font-weight: 700;
    line-height: 1.2;
    transition: transform .18s ease, background-color .18s ease, border-color .18s ease;
  }

  #fc-cost-flow .fc-btn:hover { transform: translateY(-2px); }
  #fc-cost-flow .fc-btn--primary { background: #197caf; color: var(--fc-white); }
  #fc-cost-flow .fc-btn--primary:hover,
  #fc-cost-flow .fc-btn--primary:focus-visible { background: var(--fc-blue-dark); color: var(--fc-white); }
  #fc-cost-flow .fc-btn--ghost { border-color: rgba(255,255,255,.48); color: var(--fc-white); background: rgba(255,255,255,.06); }
  #fc-cost-flow .fc-btn--ghost:hover,
  #fc-cost-flow .fc-btn--ghost:focus-visible { border-color: var(--fc-white); background: rgba(255,255,255,.12); color: var(--fc-white); }
  #fc-cost-flow .fc-btn--light { background: var(--fc-white); color: var(--fc-blue-dark); }
  #fc-cost-flow .fc-btn--outline { border-color: var(--fc-blue-dark); background: transparent; color: var(--fc-blue-dark); }

  #fc-cost-flow .fc-hero-proof {
    display: grid;
    grid-template-columns: repeat(4, minmax(120px, 1fr));
    gap: 1px;
    width: min(100%, 900px);
    margin-top: 52px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 8px;
    background: rgba(255,255,255,.18);
  }

  #fc-cost-flow .fc-proof-item {
    padding: 17px 18px;
    background: rgba(5, 35, 55, .78);
    backdrop-filter: blur(8px);
  }

  #fc-cost-flow .fc-proof-value {
    display: block;
    color: var(--fc-white);
    font-size: 1.32rem;
    line-height: 1.2;
  }

  #fc-cost-flow .fc-proof-label {
    display: block;
    margin-top: 5px;
    color: rgba(255,255,255,.68);
    font-size: .72rem;
    line-height: 1.4;
  }

  /* Page progress and anchor navigation */
  #fc-cost-flow .fc-progress {
    position: fixed;
    z-index: 9998;
    top: 0;
    left: 0;
    width: 0;
    height: 3px;
    background: var(--fc-blue);
    box-shadow: 0 0 12px rgba(26,128,182,.5);
    pointer-events: none;
  }

  #fc-cost-flow .fc-anchor-nav {
    position: sticky;
    z-index: 50;
    top: 0;
    border-bottom: 1px solid var(--fc-line);
    background: rgba(255,255,255,.96);
    box-shadow: 0 10px 32px rgba(33,41,52,.07);
    backdrop-filter: blur(12px);
  }

  #fc-cost-flow .fc-anchor-scroll {
    display: flex;
    gap: 4px;
    overflow-x: auto;
    padding-block: 10px;
    scrollbar-width: none;
  }

  #fc-cost-flow .fc-anchor-scroll::-webkit-scrollbar { display: none; }

  #fc-cost-flow .fc-anchor-scroll a {
    flex: 0 0 auto;
    padding: 8px 11px;
    border-radius: 5px;
    color: var(--fc-muted);
    font-size: .78rem;
    font-weight: 700;
    white-space: nowrap;
  }

  #fc-cost-flow .fc-anchor-scroll a:hover,
  #fc-cost-flow .fc-anchor-scroll a[aria-current="true"] { background: var(--fc-soft); color: var(--fc-blue-dark); }

  /* Quick answer */
  #fc-cost-flow .fc-answer-grid {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: clamp(24px, 4vw, 54px);
    align-items: stretch;
  }

  #fc-cost-flow .fc-answer-main {
    position: relative;
    padding: clamp(28px, 5vw, 58px);
    overflow: hidden;
    border-radius: 12px;
    background: var(--fc-blue-dark);
    color: rgba(255,255,255,.82);
  }

  #fc-cost-flow .fc-answer-main::after {
    position: absolute;
    right: -100px;
    bottom: -150px;
    width: 350px;
    height: 350px;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 50%;
    content: "";
  }

  #fc-cost-flow .fc-answer-main h2 { color: var(--fc-white); max-width: 760px; }
  #fc-cost-flow .fc-answer-main p { max-width: 830px; }

  #fc-cost-flow .fc-benchmark {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    margin-top: 30px;
    border: 1px solid rgba(255,255,255,.16);
    background: rgba(255,255,255,.16);
  }

  #fc-cost-flow .fc-benchmark > div { padding: 20px; background: rgba(7,51,77,.72); }
  #fc-cost-flow .fc-benchmark strong { display: block; color: var(--fc-white); font-size: clamp(1.05rem, 1.45vw, 1.45rem); font-variant-numeric: tabular-nums; font-weight: 400; letter-spacing: -.02em; white-space: nowrap; }
  #fc-cost-flow .fc-benchmark span { display: block; margin-top: 4px; color: rgba(255,255,255,.66); font-size: .75rem; }

  #fc-cost-flow .fc-source {
    margin: 20px 0 0;
    color: rgba(255,255,255,.63);
    font-size: .73rem;
  }

  #fc-cost-flow .fc-source a { color: #ccecff; }

  #fc-cost-flow .fc-answer-side {
    display: grid;
    grid-template-rows: repeat(3, 1fr);
    gap: 14px;
  }

  #fc-cost-flow .fc-mini-card {
    padding: 24px;
    border: 1px solid var(--fc-line);
    border-radius: 10px;
    background: var(--fc-white);
    box-shadow: 0 13px 40px rgba(33,41,52,.05);
  }

  #fc-cost-flow .fc-mini-number { color: var(--fc-blue-dark); font-size: .73rem; font-weight: 700; letter-spacing: .1em; }
  #fc-cost-flow .fc-mini-card h3 { margin: 8px 0 8px; }
  #fc-cost-flow .fc-mini-card p { margin-bottom: 0; font-size: .88rem; }

  /* Signals and change gap */
  #fc-cost-flow .fc-signal-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
    gap: clamp(30px, 6vw, 86px);
    align-items: start;
  }

  #fc-cost-flow .fc-chip-list { display: flex; flex-wrap: wrap; gap: 10px; margin: 26px 0; }

  #fc-cost-flow .fc-chip {
    padding: 10px 14px;
    border: 1px solid var(--fc-line);
    border-radius: 999px;
    background: var(--fc-white);
    color: var(--fc-copy);
    font-size: .82rem;
    font-weight: 700;
  }

  #fc-cost-flow .fc-chip:hover,
  #fc-cost-flow .fc-chip[aria-pressed="true"] { border-color: var(--fc-blue-dark); background: var(--fc-blue-dark); color: var(--fc-white); }

  #fc-cost-flow .fc-signal-output {
    min-height: 188px;
    padding: 25px;
    border-left: 4px solid var(--fc-blue);
    background: var(--fc-soft);
  }

  #fc-cost-flow .fc-signal-output h3 { margin-bottom: 10px; }
  #fc-cost-flow .fc-signal-output p { margin-bottom: 12px; }
  #fc-cost-flow .fc-text-link { display: inline-flex; align-items: center; gap: 7px; font-size: .82rem; font-weight: 700; }

  #fc-cost-flow .fc-change-card {
    position: relative;
    padding: clamp(26px, 4vw, 42px);
    overflow: hidden;
    border-radius: 12px;
    background: var(--fc-ink);
    color: rgba(255,255,255,.76);
  }

  #fc-cost-flow .fc-change-card h3 { color: var(--fc-white); }
  #fc-cost-flow .fc-change-quote { margin-bottom: 30px; color: var(--fc-white); font-size: 1.13rem; line-height: 1.55; }
  #fc-cost-flow .fc-speed-row { display: grid; grid-template-columns: 120px 1fr auto; gap: 12px; align-items: center; margin-top: 14px; font-size: .74rem; }
  #fc-cost-flow .fc-speed-track { height: 11px; overflow: hidden; border-radius: 20px; background: rgba(255,255,255,.12); }
  #fc-cost-flow .fc-speed-fill { display: block; height: 100%; border-radius: inherit; background: var(--fc-blue); }
  #fc-cost-flow .fc-speed-fill--market { width: 86%; background: #66c8f4; }
  #fc-cost-flow .fc-speed-fill--company { width: 54%; }
  #fc-cost-flow .fc-gap-alert { display: flex; gap: 10px; align-items: flex-start; margin-top: 24px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.12); font-size: .8rem; }
  #fc-cost-flow .fc-gap-dot { flex: 0 0 9px; width: 9px; height: 9px; margin-top: 7px; border-radius: 50%; background: #ffcb65; box-shadow: 0 0 0 6px rgba(255,203,101,.12); }

  /* Process */
  #fc-cost-flow .fc-process {
    position: relative;
    display: grid;
    gap: 16px;
  }

  #fc-cost-flow .fc-process::before {
    position: absolute;
    top: 38px;
    bottom: 38px;
    left: 34px;
    width: 1px;
    background: var(--fc-line);
    content: "";
  }

  #fc-cost-flow .fc-step {
    position: relative;
    display: grid;
    grid-template-columns: 68px minmax(0, 1fr) minmax(240px, .56fr);
    gap: 22px;
    align-items: start;
    padding: 22px;
    border: 1px solid var(--fc-line);
    border-radius: 10px;
    background: var(--fc-white);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  }

  #fc-cost-flow .fc-step:hover { transform: translateY(-2px); border-color: #bbd8e8; box-shadow: 0 16px 42px rgba(33,41,52,.07); }

  #fc-cost-flow .fc-step-no {
    position: relative;
    z-index: 1;
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border: 6px solid var(--fc-white);
    border-radius: 50%;
    background: var(--fc-blue-dark);
    box-shadow: 0 0 0 1px var(--fc-line);
    color: var(--fc-white);
    font-size: .84rem;
    font-weight: 700;
  }

  #fc-cost-flow .fc-step h3 { margin: 4px 0 8px; }
  #fc-cost-flow .fc-step p { margin-bottom: 0; font-size: .9rem; }
  #fc-cost-flow .fc-step-output { padding: 15px 17px; border-radius: 7px; background: var(--fc-soft); font-size: .78rem; }
  #fc-cost-flow .fc-step-output strong { display: block; margin-bottom: 5px; color: var(--fc-ink); }
  #fc-cost-flow .fc-step-links { margin-top: 11px; }

  /* Format wizard */
  #fc-cost-flow .fc-wizard {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(300px, .92fr);
    gap: 24px;
    padding: clamp(22px, 4vw, 42px);
    border: 1px solid var(--fc-line);
    border-radius: 12px;
    background: var(--fc-white);
    box-shadow: 0 18px 60px rgba(33,41,52,.07);
  }

  #fc-cost-flow .fc-question { padding-block: 18px; border-bottom: 1px solid var(--fc-line); }
  #fc-cost-flow .fc-question:first-child { padding-top: 0; }
  #fc-cost-flow .fc-question:last-child { border-bottom: 0; }
  #fc-cost-flow .fc-question-title { display: block; margin-bottom: 11px; color: var(--fc-ink); font-size: .9rem; font-weight: 700; }
  #fc-cost-flow .fc-options { display: flex; flex-wrap: wrap; gap: 8px; }

  #fc-cost-flow .fc-option {
    padding: 9px 12px;
    border: 1px solid var(--fc-line);
    border-radius: 5px;
    background: var(--fc-white);
    color: var(--fc-copy);
    font-size: .77rem;
  }

  #fc-cost-flow .fc-option:hover,
  #fc-cost-flow .fc-option[aria-pressed="true"] { border-color: var(--fc-blue-dark); background: var(--fc-blue-dark); color: var(--fc-white); }

  #fc-cost-flow .fc-recommendation {
    position: relative;
    min-height: 100%;
    padding: clamp(26px, 4vw, 42px);
    overflow: hidden;
    border-radius: 10px;
    background: var(--fc-blue-dark);
    color: rgba(255,255,255,.78);
  }

  #fc-cost-flow .fc-recommendation h3 { margin-bottom: 12px; color: var(--fc-white); font-size: clamp(1.55rem, 3vw, 2.45rem); }
  #fc-cost-flow .fc-recommendation-label { color: #bde5fa; font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
  #fc-cost-flow .fc-recommendation ul { padding-left: 18px; font-size: .84rem; }
  #fc-cost-flow .fc-recommendation .fc-btn { margin-top: 8px; }

  /* Cost model */
  #fc-cost-flow .fc-cost-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(330px, .8fr);
    gap: 24px;
  }

  #fc-cost-flow .fc-calculator,
  #fc-cost-flow .fc-calculator-result {
    padding: clamp(24px, 4vw, 40px);
    border: 1px solid var(--fc-line);
    border-radius: 11px;
    background: var(--fc-white);
  }

  #fc-cost-flow .fc-format-presets { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 28px; }
  #fc-cost-flow .fc-preset { padding: 8px 10px; border: 1px solid var(--fc-line); border-radius: 5px; background: var(--fc-soft); color: var(--fc-copy); font-size: .72rem; }
  #fc-cost-flow .fc-preset:hover { border-color: var(--fc-blue); color: var(--fc-blue-dark); }

  #fc-cost-flow .fc-range-row { margin-top: 24px; }
  #fc-cost-flow .fc-range-head { display: flex; justify-content: space-between; gap: 20px; align-items: baseline; margin-bottom: 8px; }
  #fc-cost-flow .fc-range-head label { color: var(--fc-ink); font-size: .82rem; font-weight: 700; }
  #fc-cost-flow .fc-range-value { color: var(--fc-blue-dark); font-size: .83rem; font-weight: 700; }
  #fc-cost-flow input[type="range"] { width: 100%; accent-color: var(--fc-blue); }
  #fc-cost-flow .fc-range-scale { display: flex; justify-content: space-between; margin-top: 2px; color: var(--fc-muted); font-size: .65rem; }

  #fc-cost-flow .fc-calculator-result { position: relative; overflow: hidden; background: var(--fc-ink); color: rgba(255,255,255,.75); }
  #fc-cost-flow .fc-total-label { color: #bde5fa; font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
  #fc-cost-flow .fc-total { display: block; margin: 6px 0 2px; color: var(--fc-white); font-size: clamp(2.15rem, 5vw, 4.2rem); font-weight: 400; line-height: 1; letter-spacing: -.05em; }
  #fc-cost-flow .fc-vat { color: rgba(255,255,255,.53); font-size: .72rem; }
  #fc-cost-flow .fc-result-lines { margin: 28px 0; border-top: 1px solid rgba(255,255,255,.12); }
  #fc-cost-flow .fc-result-line { display: flex; justify-content: space-between; gap: 16px; padding-block: 10px; border-bottom: 1px solid rgba(255,255,255,.1); font-size: .78rem; }
  #fc-cost-flow .fc-result-line strong { color: var(--fc-white); font-weight: 400; }
  #fc-cost-flow .fc-disclaimer { color: rgba(255,255,255,.5); font-size: .68rem; line-height: 1.5; }
  #fc-cost-flow .fc-copy-state { min-height: 1.1em; margin: 8px 0 0; color: #bde5fa; font-size: .69rem; }

  #fc-cost-flow .fc-driver-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 28px; }
  #fc-cost-flow .fc-driver { padding: 19px; border: 1px solid var(--fc-line); border-radius: 7px; background: var(--fc-white); }
  #fc-cost-flow .fc-driver span { display: inline-grid; width: 30px; height: 30px; place-items: center; margin-bottom: 12px; border-radius: 50%; background: var(--fc-soft); color: var(--fc-blue-dark); font-size: .72rem; font-weight: 700; }
  #fc-cost-flow .fc-driver h3 { margin-bottom: 8px; font-size: .96rem; }
  #fc-cost-flow .fc-driver p { margin-bottom: 0; font-size: .75rem; }

  /* Pricing models */
  #fc-cost-flow .fc-table-wrap { overflow-x: auto; border: 1px solid var(--fc-line); border-radius: 10px; background: var(--fc-white); }
  #fc-cost-flow .fc-table { width: 100%; min-width: 840px; border-collapse: collapse; }
  #fc-cost-flow .fc-table th,
  #fc-cost-flow .fc-table td { padding: 18px 20px; border-bottom: 1px solid var(--fc-line); text-align: left; vertical-align: top; }
  #fc-cost-flow .fc-table th { background: var(--fc-blue-dark); color: var(--fc-white); font-size: .74rem; letter-spacing: .04em; }
  #fc-cost-flow .fc-table td { font-size: .79rem; }
  #fc-cost-flow .fc-table tr:last-child td { border-bottom: 0; }
  #fc-cost-flow .fc-table td:first-child { color: var(--fc-ink); font-weight: 700; }
  #fc-cost-flow .fc-fit { display: inline-flex; padding: 4px 8px; border-radius: 999px; background: #eaf5f1; color: var(--fc-good); font-size: .64rem; font-weight: 700; white-space: nowrap; }

  /* CaaS and value threshold */
  #fc-cost-flow .fc-caas-grid { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); gap: clamp(28px, 6vw, 80px); align-items: center; }
  #fc-cost-flow .fc-caas-visual { padding: clamp(20px, 4vw, 40px); border-radius: 12px; background: var(--fc-white); box-shadow: 0 18px 60px rgba(4,30,48,.2); }
  #fc-cost-flow .fc-caas-visual img { display: block; width: 100%; height: auto; }
  #fc-cost-flow .fc-caas-copy p { color: rgba(255,255,255,.8); }
  #fc-cost-flow .fc-caas-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 24px 0 30px; }
  #fc-cost-flow .fc-caas-list span { padding: 12px 14px; border: 1px solid rgba(255,255,255,.14); border-radius: 6px; background: rgba(255,255,255,.05); color: rgba(255,255,255,.8); font-size: .76rem; }

  #fc-cost-flow .fc-value-box { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 26px; margin-top: 48px; padding: clamp(24px, 4vw, 42px); border-top: 1px solid rgba(255,255,255,.16); }
  #fc-cost-flow .fc-value-inputs { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
  #fc-cost-flow .fc-number-field label { display: block; margin-bottom: 6px; color: rgba(255,255,255,.68); font-size: .7rem; }
  #fc-cost-flow .fc-number-field input { width: 100%; padding: 11px 12px; border: 1px solid rgba(255,255,255,.2); border-radius: 5px; background: rgba(255,255,255,.08); color: var(--fc-white); }
  #fc-cost-flow .fc-value-result { display: flex; flex-direction: column; justify-content: center; padding: 22px; border-radius: 8px; background: rgba(255,255,255,.08); }
  #fc-cost-flow .fc-value-result strong { color: var(--fc-white); font-size: clamp(1.8rem, 4vw, 3.2rem); font-weight: 400; line-height: 1.1; }
  #fc-cost-flow .fc-value-result span { color: rgba(255,255,255,.6); font-size: .73rem; }

  /* Deliverables */
  #fc-cost-flow .fc-deliverables { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
  #fc-cost-flow .fc-deliverable { position: relative; min-height: 220px; padding: 26px; overflow: hidden; border: 1px solid var(--fc-line); border-radius: 9px; background: var(--fc-white); }
  #fc-cost-flow .fc-deliverable::after { position: absolute; right: -34px; bottom: -34px; width: 100px; height: 100px; border: 1px solid var(--fc-line); border-radius: 50%; content: ""; }
  #fc-cost-flow .fc-deliverable-index { color: var(--fc-blue-dark); font-size: .7rem; font-weight: 700; letter-spacing: .1em; }
  #fc-cost-flow .fc-deliverable h3 { margin: 16px 0 9px; }
  #fc-cost-flow .fc-deliverable p { margin-bottom: 0; font-size: .82rem; }

  /* Reading hub */
  #fc-cost-flow .fc-filter-bar { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 25px; }
  #fc-cost-flow .fc-filter { padding: 9px 13px; border: 1px solid var(--fc-line); border-radius: 999px; background: var(--fc-white); color: var(--fc-copy); font-size: .75rem; font-weight: 700; }
  #fc-cost-flow .fc-filter:hover,
  #fc-cost-flow .fc-filter[aria-pressed="true"] { border-color: var(--fc-blue-dark); background: var(--fc-blue-dark); color: var(--fc-white); }
  #fc-cost-flow .fc-article-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
  #fc-cost-flow .fc-article { display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid var(--fc-line); border-radius: 9px; background: var(--fc-white); box-shadow: 0 12px 32px rgba(33,41,52,.045); }
  #fc-cost-flow .fc-article[hidden] { display: none; }
  #fc-cost-flow .fc-article-media { position: relative; overflow: hidden; aspect-ratio: 16 / 8.4; background: var(--fc-blue-dark); }
  #fc-cost-flow .fc-article-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
  #fc-cost-flow .fc-article:hover .fc-article-media img { transform: scale(1.025); }
  #fc-cost-flow .fc-quickcheck-graphic { display: grid; width: 100%; height: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; padding: clamp(18px, 3vw, 32px); background: linear-gradient(135deg, #0a3d5d, #1a80b6); }
  #fc-cost-flow .fc-quickcheck-graphic span { display: grid; place-items: center; border: 1px solid rgba(255,255,255,.22); color: var(--fc-white); font-size: .72rem; font-weight: 700; letter-spacing: .04em; text-align: center; }
  #fc-cost-flow .fc-article-body { display: flex; flex: 1; flex-direction: column; padding: 22px; }
  #fc-cost-flow .fc-article-type { color: var(--fc-blue-dark); font-size: .65rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
  #fc-cost-flow .fc-article h3 { margin: 10px 0 10px; font-size: 1.13rem; }
  #fc-cost-flow .fc-article p { flex: 1; margin-bottom: 18px; font-size: .78rem; }
  #fc-cost-flow .fc-article a { align-self: flex-start; font-size: .75rem; font-weight: 700; }

  /* Trust */
  #fc-cost-flow .fc-trust-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.16); }
  #fc-cost-flow .fc-trust-item { padding: clamp(24px, 4vw, 40px); background: var(--fc-blue-dark); }
  #fc-cost-flow .fc-trust-value { display: block; color: var(--fc-white); font-size: clamp(1.9rem, 4vw, 3.2rem); font-weight: 400; line-height: 1.1; }
  #fc-cost-flow .fc-trust-label { display: block; margin-top: 8px; color: rgba(255,255,255,.62); font-size: .72rem; line-height: 1.45; }
  #fc-cost-flow .fc-trust-note { max-width: 900px; margin: 34px auto 0; text-align: center; font-size: .8rem; }
  #fc-cost-flow .fc-trust-note a { color: #d3f0ff; font-weight: 700; }

  /* FAQ */
  #fc-cost-flow .fc-faq-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: start; }
  #fc-cost-flow .fc-faq { border: 1px solid var(--fc-line); border-radius: 8px; background: var(--fc-white); }
  #fc-cost-flow .fc-faq[hidden] { display: none; }
  #fc-cost-flow .fc-faq summary { position: relative; padding: 19px 52px 19px 20px; color: var(--fc-ink); font-size: .87rem; font-weight: 700; line-height: 1.4; cursor: pointer; list-style: none; }
  #fc-cost-flow .fc-faq summary::-webkit-details-marker { display: none; }
  #fc-cost-flow .fc-faq summary::after { position: absolute; top: 50%; right: 20px; width: 22px; height: 22px; transform: translateY(-50%); border-radius: 50%; background: var(--fc-soft); color: var(--fc-blue-dark); content: "+"; text-align: center; font-size: 1rem; font-weight: 400; line-height: 21px; }
  #fc-cost-flow .fc-faq[open] summary::after { content: "–"; }
  #fc-cost-flow .fc-faq-answer { padding: 0 20px 20px; color: var(--fc-copy); font-size: .81rem; }
  #fc-cost-flow .fc-faq-answer p:last-child { margin-bottom: 0; }

  /* Final CTA */
  #fc-cost-flow .fc-final {
    position: relative;
    padding-block: clamp(80px, 10vw, 140px);
    overflow: hidden;
    background: var(--fc-ink);
    color: rgba(255,255,255,.78);
  }
  #fc-cost-flow .fc-final::before { position: absolute; top: -290px; right: -190px; width: 720px; height: 720px; border: 1px solid rgba(255,255,255,.11); border-radius: 50%; box-shadow: 0 0 0 120px rgba(255,255,255,.025); content: ""; }
  #fc-cost-flow .fc-final-copy { position: relative; max-width: 960px; }
  #fc-cost-flow .fc-final h2 { color: var(--fc-white); }
  #fc-cost-flow .fc-final p { max-width: 780px; font-size: 1.05rem; }
  #fc-cost-flow .fc-cta-actions { margin-top: 28px; }
  #fc-cost-flow .fc-fineprint { margin-top: 30px; color: rgba(255,255,255,.45); font-size: .69rem; }

  /* Responsive */
  @media (max-width: 1100px) {
    #fc-cost-flow .fc-section-head,
    #fc-cost-flow .fc-signal-layout,
    #fc-cost-flow .fc-wizard,
    #fc-cost-flow .fc-cost-grid,
    #fc-cost-flow .fc-caas-grid,
    #fc-cost-flow .fc-value-box { grid-template-columns: 1fr; }
    #fc-cost-flow .fc-section-head { align-items: start; }
    #fc-cost-flow .fc-answer-grid { grid-template-columns: 1fr; }
    #fc-cost-flow .fc-answer-side { grid-template-columns: repeat(3, 1fr); grid-template-rows: none; }
    #fc-cost-flow .fc-driver-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #fc-cost-flow .fc-process .fc-step { grid-template-columns: 68px minmax(0, 1fr); }
    #fc-cost-flow .fc-step-output { grid-column: 2; }
  }

  @media (max-width: 820px) {
    #fc-cost-flow { font-size: 15px; }
    #fc-cost-flow .fc-hero { min-height: auto; }
    #fc-cost-flow .fc-hero-image { object-position: 62% center; opacity: .6; }
    #fc-cost-flow .fc-hero::before { background: linear-gradient(90deg, rgba(2,17,29,.96), rgba(4,25,41,.78)), linear-gradient(0deg, rgba(5,29,45,.8), transparent); }
    #fc-cost-flow .fc-hero-proof,
    #fc-cost-flow .fc-trust-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #fc-cost-flow .fc-answer-side,
    #fc-cost-flow .fc-deliverables,
    #fc-cost-flow .fc-article-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #fc-cost-flow .fc-benchmark { grid-template-columns: 1fr; }
    #fc-cost-flow .fc-faq-grid { grid-template-columns: 1fr; }
  }

  @media (max-width: 600px) {
    #fc-cost-flow .fc-section { padding-block: 64px; }
    #fc-cost-flow .fc-hero-content { padding-top: 78px; }
    #fc-cost-flow h1 { font-size: clamp(2.05rem, 11vw, 3.25rem); }
    #fc-cost-flow .fc-hero-actions,
    #fc-cost-flow .fc-cta-actions { display: grid; }
    #fc-cost-flow .fc-btn { width: 100%; }
    #fc-cost-flow .fc-hero-proof,
    #fc-cost-flow .fc-trust-grid,
    #fc-cost-flow .fc-answer-side,
    #fc-cost-flow .fc-driver-grid,
    #fc-cost-flow .fc-deliverables,
    #fc-cost-flow .fc-article-grid,
    #fc-cost-flow .fc-caas-list,
    #fc-cost-flow .fc-value-inputs { grid-template-columns: 1fr; }
    #fc-cost-flow .fc-proof-item { padding: 14px; }
    #fc-cost-flow .fc-process::before { left: 25px; }
    #fc-cost-flow .fc-process .fc-step { grid-template-columns: 48px minmax(0, 1fr); gap: 12px; padding: 16px; }
    #fc-cost-flow .fc-step-no { width: 38px; height: 38px; border-width: 5px; }
    #fc-cost-flow .fc-step-output { grid-column: 1 / -1; }
    #fc-cost-flow .fc-speed-row { grid-template-columns: 92px 1fr; }
    #fc-cost-flow .fc-speed-row > span:last-child { grid-column: 2; }
  }

  @media print {
    #fc-cost-flow .fc-anchor-nav,
    #fc-cost-flow .fc-progress,
    #fc-cost-flow .fc-hero-actions,
    #fc-cost-flow .fc-cta-actions,
    #fc-cost-flow .fc-filter-bar { display: none !important; }
    #fc-cost-flow .fc-hero { min-height: auto; background: var(--fc-blue-dark); }
    #fc-cost-flow .fc-section { padding-block: 34px; break-inside: avoid; }
    #fc-cost-flow .fc-article[hidden],
    #fc-cost-flow .fc-faq[hidden] { display: block !important; }
    #fc-cost-flow .fc-faq { break-inside: avoid; }
  }

  @media (prefers-reduced-motion: reduce) {
    #fc-cost-flow *, #fc-cost-flow *::before, #fc-cost-flow *::after {
      scroll-behavior: auto !important;
      animation-duration: .01ms !important;
      animation-iteration-count: 1 !important;
      transition-duration: .01ms !important;
    }
  }


#fc-cost-flow{min-width:0;max-width:100%;overflow-wrap:anywhere}
#fc-cost-flow *,#fc-cost-flow *::before,#fc-cost-flow *::after{box-sizing:border-box;border-radius:0!important}
#fc-cost-flow .fc-grid>*,#fc-cost-flow .fc-card,#fc-cost-flow .fc-input-panel,#fc-cost-flow .fc-result,#fc-cost-flow .fca-card,#fc-cost-flow .fca-fields>*,#fc-cost-flow .fca-kpis>*,#fc-cost-flow .im-grid>*,#fc-cost-flow label{min-width:0;max-width:100%}
#fc-cost-flow h1,#fc-cost-flow h2,#fc-cost-flow h3,#fc-cost-flow h4,#fc-cost-flow p,#fc-cost-flow li{overflow-wrap:anywhere}
#fc-cost-flow a{text-decoration:none!important}
#fc-cost-flow button,#fc-cost-flow input,#fc-cost-flow select,#fc-cost-flow textarea{font-family:Tahoma,Geneva,Arial,sans-serif!important}
#fc-cost-flow button{min-height:44px;max-width:100%;white-space:normal;overflow-wrap:anywhere}
#fc-cost-flow input:not([type=checkbox]):not([type=radio]):not([type=file]),#fc-cost-flow select,#fc-cost-flow textarea{font-size:16px!important;min-height:44px;min-width:0;max-width:100%}
#fc-cost-flow .fc-table-wrap,#fc-cost-flow .fca-scroll,#fc-cost-flow .im-tablewrap{min-width:0;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
#fc-cost-flow .fc-table-wrap table,#fc-cost-flow .fca-scroll table,#fc-cost-flow .im-tablewrap table{min-width:720px}
#fc-cost-flow .fc-table-wrap th,#fc-cost-flow .fc-table-wrap td,#fc-cost-flow .fca-scroll th,#fc-cost-flow .fca-scroll td,#fc-cost-flow .im-tablewrap th,#fc-cost-flow .im-tablewrap td{min-width:90px;overflow-wrap:normal;word-break:normal}
#fc-cost-flow .fc-table-wrap th:first-child,#fc-cost-flow .fc-table-wrap td:first-child,#fc-cost-flow .fca-scroll th:first-child,#fc-cost-flow .fca-scroll td:first-child,#fc-cost-flow .im-tablewrap th:first-child,#fc-cost-flow .im-tablewrap td:first-child{min-width:150px}
#fc-cost-flow .fca-card{box-shadow:0 5px 18px rgba(8,45,69,.07)}
#fc-cost-flow .fc-v4-state{padding:16px 20px;margin:16px 0;background:#edf2f8;border-left:4px solid #1a80b6;font:14px/1.5 Tahoma,Arial,sans-serif;color:#082d45}
#fc-cost-flow .fc-v4-state-actions{display:flex;gap:10px;flex-wrap:wrap}
#fc-cost-flow .fc-v4-state button,#fc-cost-flow .fc-v4-file{display:inline-flex;align-items:center;justify-content:center;position:relative;min-height:44px;margin:0;padding:10px 16px!important;background:#105378!important;color:white!important;border:1px solid #105378;cursor:pointer;font:700 14px/1.4 Tahoma,Arial,sans-serif!important}
#fc-cost-flow .fc-v4-state p{font:13px/1.5 Tahoma,Arial,sans-serif;color:#082d45;margin:8px 0 0}
#fc-cost-flow .fc-v4-file input{position:absolute;width:1px;height:1px;opacity:0}
#fc-cost-flow .fc-v4-file:focus-within{outline:3px solid #e59c2a;outline-offset:3px}
@media(max-width:520px){#fc-cost-flow .fc-v4-state{padding:14px 12px}#fc-cost-flow .fc-v4-state-actions>*{flex:1 1 120px}#fc-cost-flow .fc-kpis{grid-template-columns:1fr!important}#fc-cost-flow .fc-kpi strong{font-size:1.45rem!important}}
@media(max-width:780px){#fc-cost-flow .fc-table-wrap::before,#fc-cost-flow .fca-scroll::before,#fc-cost-flow .im-tablewrap::before{content:"Tabelle seitlich verschieben ↔";display:block;position:sticky;left:0;width:fit-content;max-width:100%;padding:6px 0;font:12px Tahoma,Arial,sans-serif;color:#556473}}
@media print{#fc-cost-flow .fc-v4-state,#fc-cost-flow .fc-table-wrap::before,#fc-cost-flow .fca-scroll::before,#fc-cost-flow .im-tablewrap::before{display:none!important}}
