/* Rübsam Consulting: targeted enhancements on top of the ORIGINAL dist(3).zip.
   Palette intentionally restricted to navy, engineering blue, and steel neutrals. */
.rc-funding, .rc-eligibility, .rc-timeline-section { overflow: hidden; }
.rc-funding { padding-block: 82px 88px; }
.rc-funding-intro { display:grid; grid-template-columns: 1fr 1fr; gap: clamp(36px,6vw,100px); align-items:start; }
.rc-overline { display:flex; gap:11px; align-items:center; color:#21548b; font-family:var(--technical-font,monospace); font-size:11px; letter-spacing:.08em; font-weight:600; margin:0 0 22px; }
.rc-overline>span { display:block; background:var(--blue); width:26px; height:2px; }
.rc-funding h2 { font-size:clamp(38px,4vw,56px); max-width:600px; }
.rc-funding-intro-copy { padding-top:47px; max-width:480px; }
.rc-funding-intro-lead { font-size:clamp(18px,1.7vw,23px); color:var(--ink); line-height:1.55; font-weight:550; }
.rc-funding-intro-copy>p:not(.rc-funding-intro-lead) { color:#4e6180; font-size:14px; line-height:1.75; margin-top:14px; }
.rc-funding-intro-copy .text-link { margin-top:18px; font-size:13px; }
.rc-funding-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin:72px 0 23px; }
.rc-funding-heading h3 { font-size:clamp(29px,3vw,43px); letter-spacing:-.045em; font-weight:650; line-height:1.18; }
.rc-funding-heading h3 span { color:var(--blue); }
.rc-funding-heading p { font-size:13px; max-width:325px; color:#556985; line-height:1.6; }
.rc-rate-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.rc-rate-tab { border:1px solid #becbdd; border-top:3px solid #93abc9; background:#f4f7fb; padding:20px 24px 19px; text-align:left; border-radius:0; color:var(--ink); min-height:202px; display:flex; flex-direction:column; justify-content:space-between; transition: background-color .22s,border-color .22s, box-shadow .22s,transform .22s; }
.rc-rate-tab:hover { background:#fff; border-top-color:var(--blue); transform:translateY(-2px); }
.rc-rate-tab.is-selected { border-top-color:var(--blue); border-color:#95b0d3; box-shadow:inset 0 0 0 1px #aabfdb; background:#fff; }
.rc-rate-label { font-family:var(--technical-font,monospace); letter-spacing:.075em; font-size:10px; font-weight:700; color:#496383; }
.rc-rate-tab strong { font-weight:700; letter-spacing:-.055em; font-size:clamp(44px,5vw,66px); line-height:1.05; white-space:nowrap; }
.rc-rate-tab strong small { font-size:.44em; font-weight:600; letter-spacing:-.04em; }
.rc-rate-bottom { display:flex; justify-content:space-between; align-items:center; gap:12px; color:#516784; font-size:12px; border-top:1px solid #d7e0eb; padding-top:13px; }
.rc-rate-bottom span { width:25px; height:25px; border:1px solid #becbdd; display:grid; place-items:center; color:var(--blue); font-size:16px; line-height:1; }
.rc-rate-tab.is-selected .rc-rate-bottom span { border-color:var(--blue); background:var(--blue); color:#fff; }
.rc-rate-panel { border:1px solid #a7bed9; border-top:0; background:#eef3f9; padding:27px 32px; min-height:140px; display:grid; grid-template-columns:120px minmax(0,1fr) 92px; align-items:center; gap:26px; }
.rc-rate-panel-mark { font-family:var(--technical-font,monospace); font-size:12px; letter-spacing:.08em; color:#547396; align-self:start; padding-top:6px; }
.rc-rate-panel-body { border-left:1px solid #becbdd; padding-left:28px; }
.rc-rate-panel h4 { font-size:20px; line-height:1.35; letter-spacing:-.025em; color:var(--ink); font-weight:650; margin:0 0 8px; }
.rc-rate-panel p { margin:0; color:#47617e; line-height:1.7; font-size:13px; max-width:770px; }
.rc-rate-panel-symbol { color:#9bb2cf; font:700 23px var(--technical-font,monospace); letter-spacing:-.07em; text-align:right; }
.rc-rate-panel.is-changing .rc-rate-panel-body { animation:rc-detail-show .32s ease-out both; }
@keyframes rc-detail-show { from { opacity:.15; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }

.rc-timeline-section { color:#fff; background-color:#0a2250; position:relative; padding:82px 0 76px; isolation:isolate; }
.rc-timeline-section::before { content:""; position:absolute; inset:0; pointer-events:none; z-index:-1; background-image: linear-gradient(#ffffff0a 1px,transparent 1px),linear-gradient(90deg,#ffffff0a 1px,transparent 1px); background-size:90px 90px; }
.rc-timeline-heading { display:grid; grid-template-columns:1.06fr .94fr; align-items:start; gap:70px; }
.rc-timeline-heading h2 { color:#fff; font-size:clamp(37px,4vw,55px); letter-spacing:-.05em; }
.rc-timeline-heading h2 em { color:#a6b9d3; }
.rc-timeline-heading>p { font-size:clamp(14px,1.4vw,17px); line-height:1.85; color:#bacbe1; max-width:520px; padding-top:6px; }
.rc-timeline-scroll { position:relative; overflow-x:auto; overflow-y:hidden; margin:40px 0 12px; scrollbar-color:#6a83a3 #142f5c; scrollbar-width:thin; }
.rc-timeline-rail { position:relative; min-width:830px; width:100%; padding-top:8px; }
.rc-timeline-track { position:absolute; z-index:0; left:6.25%; right:6.25%; top:27px; height:2px; background:#547294; pointer-events:none; }
.rc-timeline-progress-past, .rc-timeline-progress-future { display:block; position:absolute; top:0; bottom:0; width:0; }
.rc-timeline-progress-past { left:0; background:var(--blue); }
.rc-timeline-progress-future { left:57.142857%; background:#a1b1c7; }
.rc-timeline-years { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); align-items:start; position:relative; z-index:1; }
.rc-year { min-width:0; padding:0 2px 14px; border:0; color:#b8c8df; background:transparent; display:flex; flex-direction:column; align-items:center; gap:1px; text-align:center; transition:color .2s; }
.rc-year-dot { width:40px; height:40px; border-radius:50%; border:2px solid #738cad; background:#0a2250; display:grid; place-items:center; margin-bottom:10px; transition:border-color .25s, background-color .25s,box-shadow .25s; }
.rc-year-dot::before { content:""; width:7px; height:7px; background:#7f96b4; border-radius:50%; }
.rc-year strong { font-weight:650; font-size:clamp(18px,2vw,24px); letter-spacing:-.045em; line-height:1.3; }
.rc-year small { font-size:11px; color:#8fa7c6; }
.rc-year:hover,.rc-year.is-active { color:#fff; }
.rc-year:hover .rc-year-dot { border-color:#d8e6f6; }
.rc-year.is-passed .rc-year-dot { border-color:var(--blue); background:var(--blue); }
.rc-year.is-passed .rc-year-dot::before { background:#fff; }
.rc-year.is-active:not(.rc-year--future) .rc-year-dot { border-color:#9fbff3; background:var(--blue); box-shadow:0 0 0 7px #2d65b238; }
.rc-year.is-active:not(.rc-year--future) .rc-year-dot::before { background:#fff; }
.rc-year--future { color:#8c9eb5; }
.rc-year--future strong { color:#8c9eb5; }
.rc-year--future small { color:#788da8; }
.rc-year--future .rc-year-dot { border-color:#6c7f99; background:#0d254f; }
.rc-year--future.is-active { color:#e5eaf3; }
.rc-year--future.is-active strong { color:#e5eaf3; }
.rc-year--future.is-active .rc-year-dot { border-color:#c6d2e0; background:#869bb6; box-shadow:0 0 0 6px #a5b7c122; }
.rc-year--future.is-active .rc-year-dot::before { background:#fff; }
.rc-year-panel { border:1px solid #56749b; background:#1a3a6a; min-height:245px; display:grid; grid-template-columns: .78fr 1.58fr .92fr; gap:0; padding:34px 0; }
.rc-year-panel > div { padding:0 34px; min-width:0; }
.rc-year-panel > div + div { border-left:1px solid #56749b; }
.rc-panel-caption { display:block; font-family:var(--technical-font,monospace); font-size:10px; letter-spacing:.085em; font-weight:600; color:#a2b9d6; line-height:1.6; }
.rc-year-panel-when { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.rc-year-panel-when strong { display:block; font-size:clamp(50px,6vw,80px); line-height:1.18; letter-spacing:-.07em; margin:5px 0; font-weight:700; color:#fff; }
.rc-year-panel-when>span:last-child { font-size:12px; color:#b3c7e0; }
.rc-year-panel-info { align-self:center; }
.rc-year-panel-info h3 { font-size:clamp(20px,2vw,27px); line-height:1.3; margin:12px 0 12px; letter-spacing:-.025em; font-weight:650; color:#fff; }
.rc-year-panel-info p { font-size:13px; color:#c4d4e9; line-height:1.85; max-width:640px; }
.rc-year-panel-basis { display:flex; flex-direction:column; justify-content:center; }
.rc-year-panel-basis strong { font-size:clamp(26px,3vw,37px); font-weight:700; color:#fff; line-height:1.35; margin:8px 0; letter-spacing:-.04em; }
.rc-year-panel-basis p { color:#b3c7df; font-size:11px; line-height:1.65; }
.rc-year-panel.is-future { background:#263b5a; border-color:#74849b; }
.rc-year-panel.is-future .rc-panel-caption { color:#bcc8d9; }
.rc-year-panel.is-changing > div { animation:rc-detail-show .36s ease-out both; }
.rc-timeline-actions { margin-top:15px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.rc-replay { background:none; border:none; border-bottom:1px solid #6d84a1; border-radius:0; padding:6px 0; color:#dde8f8; font-size:12px; font-weight:600; }
.rc-replay:hover { color:#fff; border-color:#fff; }
.rc-replay span { margin-right:8px; font-size:20px; vertical-align:-2px; }
.rc-timeline-a11y { color:#8199b7; font-size:11px; }

.rc-eligibility { background:#e1e7ee; border-bottom:1px solid #bac8d7; padding:70px 0 75px; }
.rc-eligibility-head { display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:65px; }
.rc-eligibility-head h2 { font-size:clamp(32px,3.4vw,48px); }
.rc-eligibility-head>p { font-size:14px; color:#4c5f7a; line-height:1.8; max-width:510px; }
.rc-eligibility-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; margin-top:32px; }
.rc-eligibility-grid article { border-top:2px solid #426eae; background:#f0f4f8; padding:22px 24px 23px; min-height:184px; }
.rc-eligibility-grid article>span { color:#40658c; font-family:var(--technical-font,monospace); font-size:10px; letter-spacing:.04em; }
.rc-eligibility-grid h3 { font-size:17px; line-height:1.35; margin:16px 0 10px; letter-spacing:-.025em; }
.rc-eligibility-grid p { color:#4d607b; font-size:12px; line-height:1.65; }

.rc-process-compact { padding:65px 0 75px; }
.rc-process-compact .process-head { margin-bottom:27px; }
.rc-process-compact .process-list li { padding:18px 22px 18px 9px; min-height:87px; grid-template-columns:50px 1fr; gap:12px; align-items:start; }
.rc-process-compact .process-list li::before { top:26px; }
.rc-process-compact .process-list h3 { font-size:19px; line-height:1.35; margin:0 0 4px; }
.rc-process-compact .process-list p { font-size:12px; line-height:1.55; margin:0; color:#556984; max-width:990px; }
.rc-process-compact .process-number { margin-top:4px; font-size:12px; }

@media(max-width:950px) {
  .rc-funding-intro, .rc-timeline-heading, .rc-eligibility-head { gap:34px; }
  .rc-year-panel { grid-template-columns:.8fr 1.35fr 1fr; }
  .rc-year-panel > div { padding-inline:22px; }
  .rc-year-panel-info p { font-size:12px; }
  .rc-rate-panel { grid-template-columns:85px 1fr; }
  .rc-rate-panel-symbol { display:none; }
}
@media(max-width:700px) {
  .rc-funding { padding:56px 0 60px; }
  .rc-funding-intro,.rc-timeline-heading,.rc-eligibility-head { grid-template-columns:1fr; gap:19px; }
  .rc-overline { font-size:9px; margin-bottom:16px; }
  .rc-funding h2 { font-size:clamp(35px,8vw,46px); }
  .rc-funding-intro-copy { padding-top:0; }
  .rc-funding-intro-lead { font-size:18px; }
  .rc-funding-heading { display:block; margin-top:46px; }
  .rc-funding-heading p { margin-top:9px; }
  .rc-rate-tabs { gap:8px; }
  .rc-rate-tab { min-height:147px; padding:13px 11px 12px; }
  .rc-rate-label { font-size:8px; min-height:30px; line-height:1.4; }
  .rc-rate-tab strong { font-size:clamp(30px,7vw,44px); }
  .rc-rate-tab strong small { font-size:.36em; }
  .rc-rate-bottom { font-size:9px; gap:4px; min-height:35px; padding-top:7px; line-height:1.25; }
  .rc-rate-bottom span { display:none; }
  .rc-rate-panel { padding:18px; grid-template-columns:1fr; gap:7px; min-height:166px; }
  .rc-rate-panel-mark { font-size:10px; padding:0; }
  .rc-rate-panel-body { border-left:0; padding-left:0; }
  .rc-rate-panel h4 { font-size:17px; }
  .rc-rate-panel p { font-size:12px; }
  .rc-timeline-section { padding:61px 0 60px; }
  .rc-timeline-heading h2 { font-size:clamp(34px,8vw,44px); }
  .rc-timeline-heading>p { font-size:14px; padding:0; }
  .rc-timeline-scroll { margin:27px -20px 15px; padding:0 20px 4px; }
  .rc-timeline-rail { min-width:750px; }
  .rc-year-panel { display:grid; grid-template-columns:1fr 1fr; padding:22px 0; }
  .rc-year-panel > div { padding:0 18px; }
  .rc-year-panel-when { border-right:1px solid #56749b; }
  .rc-year-panel-info { grid-column:1 / -1; grid-row:2; padding-top:20px!important; margin-top:18px; border-left:0!important; border-top:1px solid #56749b; }
  .rc-year-panel-basis { border-left:0!important; }
  .rc-year-panel-when strong { font-size:52px; }
  .rc-year-panel-basis strong { font-size:24px; }
  .rc-timeline-a11y { display:none; }
  .rc-eligibility { padding:58px 0; }
  .rc-eligibility-grid { grid-template-columns:1fr; gap:9px; }
  .rc-eligibility-grid article { min-height:0; }
  .rc-eligibility-grid h3 { margin-top:9px; }
  .rc-process-compact { padding:55px 0 61px; }
  .rc-process-compact .process-list li { padding:15px 0 15px 5px; grid-template-columns:31px 1fr; min-height:0; }
  .rc-process-compact .process-list h3 { font-size:17px; }
  .rc-process-compact .process-list p { font-size:12px; }
}
@media(prefers-reduced-motion:reduce) {
  .rc-rate-tab,.rc-year,.rc-year-dot { transition:none!important; }
  .rc-year-panel.is-changing > div,.rc-rate-panel.is-changing .rc-rate-panel-body { animation:none!important; }
}
@media(max-width:500px) {
  /* On phones, stack the controls as readable, compact instrument rows. */
  .rc-rate-tabs { grid-template-columns:1fr; gap:8px; }
  .rc-rate-tab { min-height:84px; display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:1fr 1fr; align-items:center; gap:0 12px; padding:12px 17px; }
  .rc-rate-label { grid-column:1; grid-row:1; min-height:0; font-size:10px; }
  .rc-rate-tab strong { grid-column:2; grid-row:1 / span 2; font-size:39px; line-height:1; }
  .rc-rate-tab strong small { font-size:.38em; }
  .rc-rate-bottom { grid-column:1; grid-row:2; padding-top:0; min-height:0; border-top:0; font-size:12px; }
  .rc-rate-panel { min-height:0; }
}
/* Even after the animated marker passes, 2028–2030 remain deliberately muted. */
.rc-year--future.is-passed .rc-year-dot { border-color:#98a8bc; background:#6f849f; box-shadow:none; }
.rc-year--future.is-passed .rc-year-dot::before { background:#e4ebf3; }
.rc-year--future.is-passed strong { color:#9badc3; }

/* 2023–2027 are the focus. The single muted 2028–2030 marker is the outlook. */
.rc-timeline-rail { min-width:760px; }
.rc-timeline-years { grid-template-columns:repeat(5,minmax(0,1fr)) minmax(0,.8fr); }
.rc-timeline-track { left:8.62069%; right:6.89655%; top:26px; height:6px; border-radius:10px; background:#4c6585; }
.rc-timeline-progress-past { background:#1671ff; box-shadow:0 0 11px #1671ff65; border-radius:10px 0 0 10px; }
.rc-timeline-progress-future { left:81.63265%; background:#a3aec0; border-radius:0 10px 10px 0; }
.rc-year-dot { width:42px; height:42px; border-width:2px; border-color:#8aa4c5; margin-bottom:12px; background:#0a2250; }
.rc-year-dot::before { width:8px; height:8px; }
.rc-year.is-passed:not(.rc-year--future) .rc-year-dot { background:#1671ff; border-color:#7db3ff; box-shadow:0 0 0 3px #1671ff28; }
.rc-year.is-active:not(.rc-year--future) .rc-year-dot { border-color:#c2dcff; background:#1671ff; box-shadow:0 0 0 6px #1671ff40,0 0 21px #1671ff55; }
.rc-year.is-active:not(.rc-year--future) strong { color:#fff; }
.rc-year--future .rc-year-dot { width:32px; height:32px; margin-top:5px; margin-bottom:17px; background:#193052; border-color:#8597ac; }
.rc-year--future strong { font-size:clamp(15px,1.5vw,19px); white-space:nowrap; font-weight:600; }
.rc-year--future small { font-size:10px; }
.rc-year--future.is-passed .rc-year-dot,.rc-year--future.is-active .rc-year-dot { background:#91a3b7; border-color:#d4dce6; box-shadow:0 0 0 4px #adb9c52c; }
.rc-year-panel-basis p[hidden] { display:none!important; }
.rc-year-panel.is-future .rc-year-panel-when strong { font-size:clamp(27px,3vw,42px); letter-spacing:-.04em; white-space:nowrap; }
.rc-timeline-actions { justify-content:flex-end; margin-top:12px; }
.rc-replay { display:inline-flex; align-items:center; gap:6px; width:auto; min-height:0; margin:0; padding:6px 10px; font-size:11px; font-weight:500; line-height:1.3; border:1px solid #45658e; color:#b6cce8; background:#102b59; border-radius:3px; box-shadow:none; text-decoration:none; }
.rc-replay span { margin:0; font-size:15px; line-height:1; vertical-align:0; }
.rc-replay:hover { background:#214574; border-color:#89a7cc; color:#fff; }
.rc-replay:focus:not(:focus-visible) { outline:none; }
.rc-replay:focus-visible { outline:2px solid #b0d4ff; outline-offset:3px; }
@media(max-width:700px) {
  .rc-timeline-rail { min-width:720px; }
  .rc-year-panel.is-future .rc-year-panel-when strong { font-size:clamp(23px,5vw,29px); white-space:nowrap; }
  .rc-replay { font-size:11px; }
}
@media(prefers-reduced-motion:reduce) {
  .rc-timeline-progress-past,.rc-timeline-progress-future { box-shadow:none; }
}


/* Förderfähige Aufwendungen: one clear industrial design language, one shared detail panel. */
.rc-costs {
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:#eaf0f7;
  padding:78px 0 86px;
  color:#071f52;
}
.rc-costs::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background-image:linear-gradient(90deg,#0a316508 1px,transparent 1px),linear-gradient(#0a316508 1px,transparent 1px);
  background-size:90px 90px;
  opacity:.8;
}
.rc-costs-heading { display:grid; grid-template-columns:1.15fr .85fr; gap:44px; align-items:end; margin-bottom:35px; }
.rc-costs-overline { display:flex; align-items:center; gap:11px; font:700 11px var(--technical-font,monospace); letter-spacing:.07em; color:#315982; margin:0 0 20px; }
.rc-costs-overline span { display:inline-block; width:26px; height:2px; background:#1671ff; }
.rc-costs-heading h2 { font-size:clamp(37px,4vw,55px); line-height:1.15; letter-spacing:-.048em; margin:0; color:#071f52; }
.rc-costs-heading h2 em { color:#1671ff; font-style:normal; font-family:inherit; font-weight:inherit; }
.rc-costs-heading>p { margin:0; padding-bottom:4px; font-size:clamp(14px,1.35vw,16px); line-height:1.8; color:#4b6481; max-width:475px; }
/* Four restrained industrial tiles with an internal horizontal content change. */
.rc-cost-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.rc-cost-card {
  appearance:none; position:relative; display:block; overflow:hidden; isolation:isolate;
  width:100%; min-height:254px; padding:0; border:1px solid #bfcddd; border-top:3px solid #98aec6;
  border-radius:0; background:#fff; color:#071f52; cursor:pointer; text-align:left;
  transition:border-color .28s ease,box-shadow .28s ease,transform .28s ease;
}
.rc-cost-card:hover { border-top-color:#1671ff; box-shadow:0 9px 20px #092e6014; transform:translateY(-2px); }
.rc-cost-card:focus-visible { outline:3px solid #1671ff; outline-offset:3px; }
.rc-cost-card.is-open { border-color:#719ed1; border-top-color:#1671ff; }
.rc-cost-card-face {
  position:absolute; inset:0; display:flex; flex-direction:column; justify-content:space-between;
  padding:21px 25px 18px; min-width:0;
  transition:transform .48s cubic-bezier(.23,1,.32,1),opacity .36s ease,visibility .48s;
}
.rc-cost-card-front { background:#fff; transform:translateX(0); opacity:1; visibility:visible; }
.rc-cost-card-back {
  background:linear-gradient(125deg,#dbe8f6 0%,#eef4fb 100%);
  border-left:4px solid #1671ff; padding-left:22px;
  transform:translateX(104%); opacity:.92; visibility:hidden;
}
.rc-cost-card.is-open .rc-cost-card-front { transform:translateX(-28%); opacity:0; visibility:hidden; }
.rc-cost-card.is-open .rc-cost-card-back { transform:translateX(0); opacity:1; visibility:visible; }
.rc-cost-card-meta { display:flex; justify-content:space-between; gap:8px; font:700 10px var(--technical-font,monospace); letter-spacing:.045em; color:#627e9c; }
.rc-cost-card-meta>span:last-child { text-align:right; }
.rc-cost-card-main { display:flex; flex-direction:column; gap:9px; margin:auto 0; padding:21px 0; }
.rc-cost-card-main strong { font-size:clamp(21px,2.05vw,26px); line-height:1.22; font-weight:650; letter-spacing:-.035em; }
.rc-cost-card-main>span { color:#526882; font-size:13px; line-height:1.6; max-width:410px; }
.rc-cost-card-bottom { display:flex; align-items:center; justify-content:space-between; gap:10px; border-top:1px solid #dce5ed; padding-top:12px; color:#42668f; font-size:12px; font-weight:600; }
.rc-cost-card-plus, .rc-cost-card-close { flex:none; display:grid; place-items:center; width:28px; height:28px; border:1px solid #b7cadf; color:#1671ff; font-size:21px; line-height:1; font-weight:400; }
.rc-cost-card-back-kicker { color:#3e6b9f; font:700 10px var(--technical-font,monospace); letter-spacing:.07em; }
.rc-cost-card-back-title { display:block; color:#092858; font-size:clamp(17px,1.65vw,21px); line-height:1.2; font-weight:700; letter-spacing:-.026em; margin:8px 0 6px; }
.rc-cost-card-back-text { display:block; color:#345475; font-size:clamp(12px,1vw,13px); line-height:1.55; margin:0 auto 12px 0; }
.rc-cost-card-back-action { display:flex; align-items:center; justify-content:space-between; gap:10px; padding-top:10px; border-top:1px solid #bdcfe5; color:#315d8b; font-size:12px; font-weight:650; margin-top:auto; }
.rc-cost-card-close { border-color:#9db9dc; color:#fff; background:#1671ff; font-size:20px; }
.rc-cost-overhead { display:flex; align-items:center; gap:25px; margin-top:17px; padding:23px 29px; border-left:4px solid #1671ff; background:#dbe6f3; }
.rc-cost-overhead-number { font:700 clamp(35px,4.5vw,57px)/1 var(--technical-font,monospace); white-space:nowrap; letter-spacing:-.05em; color:#0a336a; }
.rc-cost-overhead-number span { font-size:.45em; letter-spacing:0; }
.rc-cost-overhead-copy { flex:1; min-width:0; }
.rc-cost-overhead-copy strong { display:block; margin-bottom:6px; color:#0a285c; font-size:17px; font-weight:650; }
.rc-cost-overhead-copy p { margin:0; color:#4a6481; font-size:12px; line-height:1.65; max-width:800px; }
.rc-cost-overhead-tag { flex:none; border:1px solid #a9bfd8; padding:10px 11px; color:#40668e; font:700 10px var(--technical-font,monospace); letter-spacing:.035em; white-space:nowrap; }
@media(max-width:900px) {
  .rc-costs-heading { gap:20px; }
  .rc-cost-overhead-tag { display:none; }
}
@media(max-width:700px) {
  .rc-costs { padding:58px 0 64px; }
  .rc-costs-heading { grid-template-columns:1fr; gap:16px; margin-bottom:24px; }
  .rc-costs-heading h2 { font-size:clamp(33px,8vw,44px); }
  .rc-costs-heading>p { font-size:14px; }
  .rc-cost-grid { grid-template-columns:1fr; gap:9px; }
  .rc-cost-card { min-height:262px; }
  .rc-cost-card-face { padding:18px 19px 15px; }
  .rc-cost-card-back { padding-left:15px; }
  .rc-cost-card-meta { font-size:9px; }
  .rc-cost-card-back-text { font-size:12.5px; line-height:1.48; }
  .rc-cost-overhead { gap:17px; padding:20px 17px; align-items:flex-start; }
  .rc-cost-overhead-number { font-size:35px; padding-top:4px; }
  .rc-cost-overhead-copy strong { font-size:15px; }
}
@media(prefers-reduced-motion:reduce) {
  .rc-cost-card { transition:none; }
  .rc-cost-card:hover { transform:none; }
  .rc-cost-card-face { transition:none; }
}


/* Scrollgesteuerte, ohne Mausrad-Sperre verankerte Jahresübersicht (2023–2030). */
.rc-timeline-section {
  --rc-timeline-travel: calc(300vh + 55vh);
  height: calc(100svh + var(--rc-timeline-travel));
  padding: 0 !important;
  overflow: visible !important; /* nötig für position:sticky */
}
.rc-timeline-stage {
  position: sticky;
  top: 0;
  box-sizing: border-box;
  min-height: 100svh;
  display: flex;
  align-items: center;
  padding: clamp(98px, 11vh, 120px) 0 18px;
}
.rc-timeline-stage > .wrap { position: relative; }
.rc-timeline-section .rc-timeline-heading h2 { line-height: 1.12; }
.rc-timeline-section .rc-timeline-scroll { margin-top: clamp(18px, 3.5vh, 35px); }
.rc-timeline-section .rc-year-panel { min-height: 218px; padding-top: clamp(16px, 3.5vh, 28px); padding-bottom: clamp(16px, 3.5vh, 28px); }
.rc-timeline-hint { font: 500 11px/1.4 var(--technical-font, monospace); letter-spacing: .035em; color: #a5bbd5; margin-right: auto; }
@media (max-width:700px) {
  .rc-timeline-section { --rc-timeline-travel: calc(320vh + 55vh); }
  .rc-timeline-stage { padding: 78px 0 8px; }
  .rc-timeline-section .rc-timeline-heading { gap: 8px; }
  .rc-timeline-section .rc-timeline-heading h2 { font-size: clamp(27px, 7vw, 36px); }
  .rc-timeline-section .rc-timeline-heading > p { font-size: 12px; line-height: 1.55; }
  .rc-timeline-section .rc-timeline-scroll { margin-top: 14px; margin-bottom: 6px; }
  .rc-timeline-section .rc-year-panel { min-height: 0; padding: 13px 0; }
  .rc-timeline-section .rc-year-panel > div { padding-inline: 13px; }
  .rc-timeline-section .rc-year-panel-when strong { font-size: 40px; }
  .rc-timeline-section .rc-year-panel-info { margin-top: 8px; padding-top: 8px!important; }
  .rc-timeline-section .rc-year-panel-info h3 { margin: 3px 0 5px; font-size: 18px; line-height: 1.22; }
  .rc-timeline-section .rc-year-panel-info p { font-size: 11px; line-height: 1.55; }
  .rc-timeline-section .rc-year-panel-basis strong { font-size: 21px; }
  .rc-timeline-section .rc-year-panel-basis p { font-size: 10px; line-height: 1.4; }
  .rc-timeline-section .rc-timeline-actions { margin-top: 6px; }
  .rc-timeline-hint { display:none; }
}
/* Fallback für sehr niedrige Displays und reduzierte Animationen: keine blockierende Pin-Strecke. */
@media (max-height:620px), (prefers-reduced-motion:reduce) {
  .rc-timeline-section { height: auto; padding: 48px 0 !important; }
  .rc-timeline-stage { position: static; height: auto; min-height: 0; padding: 0; }
}


/* Jahresinformationen: weicher Inhaltstausch ohne zusätzliche Layoutblöcke. */
.rc-year-panel-shell { position:relative; isolation:isolate; }
.rc-year-panel { transition:background-color .42s ease,border-color .42s ease; }
.rc-year-panel.is-changing > div { animation:none; }
.rc-year-panel-ghost {
  position:absolute; inset:0; width:100%; height:100%;
  box-sizing:border-box; z-index:2; pointer-events:none;
  overflow:hidden; margin:0;
}
.rc-year-panel-ghost.rc-year-panel-leaving {
  animation: rc-year-ghost-out .48s cubic-bezier(.2,.65,.25,1) both;
}
.rc-year-panel.rc-year-panel-entering {
  animation: rc-year-panel-in .48s cubic-bezier(.2,.65,.25,1) both;
}
@keyframes rc-year-ghost-out {
  from {opacity:1; transform:translateY(0)}
  to {opacity:0; transform:translateY(-8px)}
}
@keyframes rc-year-panel-in {
  from {opacity:.12; transform:translateY(8px)}
  to {opacity:1; transform:translateY(0)}
}
/* Horizontale Bewegung wird durch den Scrollfortschritt kontrolliert. */
.rc-timeline-scroll { scroll-behavior:auto !important; }
@media(prefers-reduced-motion:reduce) {
  .rc-year-panel-ghost,.rc-year-panel.rc-year-panel-entering { animation:none !important; }
}
