/* ==================================================================
   Deutsche Pflegeförderung – site.css (EINE Datei)
   Jede Seite ist unter ihrer body-Klasse gescopet, damit die
   unterschiedlichen Designs (grün / Rechner-blau) sich nicht stören.
   ================================================================== */

/* ===== index.html  (p-index) ===== */
body.p-index{
  --green:       #40C1AC;
  --green-mid:   #34a894;
  --green-dark:  #1f7d6e;
  --green-light: #A0D1CA;
  --green-pale:  #eef7f5;
  --navy:        #101820;
  --text:        #101820;
  --text-soft:   #3d4853;
  --text-muted:  #6b7680;
  --white:       #ffffff;
  --off-white:   #f4f6f5;
  --gray-line:   #e2e8e5;
  --gray-card:   #eef2f0;
  --error:       #A32D2D;
  --shadow-sm:   0 4px 16px rgba(16,24,32,.06);
  --shadow-md:   0 8px 28px rgba(16,24,32,.08);
  --shadow-lg:   0 12px 40px rgba(16,24,32,.10);
  --nav-h:       84px;
}body.p-index *, body.p-index *::before, body.p-index *::after{ box-sizing: border-box; }body.p-index [hidden]{ display: none !important; }body.p-index{
  margin: 0;
  font-family: 'Inter', sans-serif;
  color: var(--text);
  background: var(--white);
  line-height: 1.6;
  overflow-x: hidden;
}body.p-index img{ max-width: 100%; display: block; }body.p-index h1, body.p-index h2, body.p-index h3{
  font-family: 'Fraunces', serif;
  letter-spacing: -0.02em;
  line-height: 1.15;
  margin: 0;
  hyphens: manual;
  overflow-wrap: break-word;
  text-wrap: balance;
}body.p-index p{ margin: 0; }body.p-index a{ color: var(--green-dark); }body.p-index .skip-link{
  position: absolute; left: 50%; top: -60px; transform: translateX(-50%);
  z-index: 10001; padding: 12px 22px;
  background: var(--green); color: var(--navy);
  font-weight: 600; text-decoration: none; border-radius: 0 0 8px 8px;
  transition: top .2s ease;
}body.p-index .skip-link:focus{ top: 0; }body.p-index :focus-visible{
  outline: 3px solid var(--green);
  outline-offset: 3px;
  border-radius: 6px;
}body.p-index .btn{
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 15px 30px; border-radius: 8px;
  font-size: .95rem; font-weight: 600; font-family: 'Inter', sans-serif;
  text-decoration: none; cursor: pointer; border: none;
  transition: background .2s, transform .2s, box-shadow .2s, border-color .2s;
}body.p-index .btn-primary{ background: var(--green); color: var(--navy); }body.p-index .btn-outline{ background: rgba(255,255,255,.1); color: var(--white); border: 2px solid rgba(255,255,255,.35); }body.p-index .btn-primary:disabled{ opacity: .6; cursor: not-allowed; transform: none; box-shadow: none; }body.p-index .dpf-nav{
  position: fixed; top: 0; left: 0; right: 0; z-index: 10000;
  display: flex; justify-content: space-between; align-items: center;
  padding: 18px 6%;
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--gray-line);
  transition: padding .3s, box-shadow .3s;
}body.p-index .dpf-nav.scrolled{ padding: 12px 6%; box-shadow: 0 2px 20px rgba(0,0,0,.08); }body.p-index .dpf-nav .nav-logo{ display: flex; flex-shrink: 0; }body.p-index .dpf-nav .nav-logo img{ height: 52px; }body.p-index .nav-links{ display: flex; gap: 32px; list-style: none; align-items: center; margin: 0; padding: 0; }body.p-index .nav-links a{ color: var(--text-soft); text-decoration: none; font-size: .875rem; font-weight: 500; transition: color .2s; }body.p-index .nav-links a:hover{ color: var(--green); }body.p-index .nav-cta{ background: var(--green); color: var(--navy); padding: 10px 22px; border-radius: 7px; font-weight: 600; }body.p-index .nav-cta:hover{ background: var(--green-mid); color: var(--navy); }body.p-index .nav-back{
  color: var(--text-muted); text-decoration: none; font-size: .8rem; font-weight: 500;
  letter-spacing: .06em; text-transform: uppercase; display: inline-flex; align-items: center; gap: 6px;
  transition: color .2s;
}body.p-index .nav-back::before{ content: '←'; }body.p-index .nav-back:hover{ color: var(--green); }body.p-index .nav-toggle{
  display: none;
  width: 44px; height: 44px; border: none; background: none; cursor: pointer;
  padding: 10px; z-index: 10002; flex-shrink: 0;
}body.p-index .nav-toggle i{ display: block; height: 2px; background: var(--navy); border-radius: 2px; transition: transform .25s, opacity .2s; }body.p-index .nav-toggle i + i{ margin-top: 5px; }body.p-index .nav-toggle[aria-expanded="true"] i:nth-child(1){ transform: translateY(7px) rotate(45deg); }body.p-index .nav-toggle[aria-expanded="true"] i:nth-child(2){ opacity: 0; }body.p-index .nav-toggle[aria-expanded="true"] i:nth-child(3){ transform: translateY(-7px) rotate(-45deg); }body.p-index .dpf-footer{ background: var(--navy); padding: 64px 6% 40px; }body.p-index .footer-inner{ max-width: 1240px; margin: 0 auto 48px; display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 60px; }body.p-index .footer-logo img{ height: 36px; margin-bottom: 16px; opacity: .9; }body.p-index .footer-tagline{ font-size: .85rem; color: rgba(255,255,255,.4); line-height: 1.75; max-width: 320px; }body.p-index .footer-contact{ margin-top: 20px; font-size: .83rem; color: rgba(255,255,255,.4); line-height: 2; }body.p-index .footer-contact a{ color: rgba(255,255,255,.4); text-decoration: none; transition: color .2s; }body.p-index .footer-contact a:hover{ color: rgba(255,255,255,.8); }body.p-index .footer-col-title{ font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: rgba(255,255,255,.25); margin-bottom: 16px; }body.p-index .footer-links{ list-style: none; display: flex; flex-direction: column; gap: 10px; padding: 0; margin: 0; }body.p-index .footer-links a{ color: rgba(255,255,255,.5); text-decoration: none; font-size: .875rem; transition: color .2s; }body.p-index .footer-links a:hover{ color: rgba(255,255,255,.85); }body.p-index .footer-bottom{ max-width: 1240px; margin: 0 auto; padding-top: 28px; border-top: 1px solid rgba(255,255,255,.07); display: flex; justify-content: space-between; align-items: center; gap: 8px; font-size: .78rem; color: rgba(255,255,255,.2); flex-wrap: wrap; }body.p-index .footer-disclaimer{ max-width: 1240px; margin: 24px auto 0; font-size: .71rem; color: rgba(255,255,255,.18); line-height: 1.7; }.js body.p-index .fade-up{ opacity: 0; transform: translateY(28px); transition: opacity .65s ease, transform .65s ease; }.js body.p-index .fade-up.visible{ opacity: 1; transform: none; }.js body.p-index .fade-up.d1{ transition-delay: .1s; }.js body.p-index .fade-up.d2{ transition-delay: .2s; }.js body.p-index .fade-up.d3{ transition-delay: .3s; }.js body.p-index .fade-up.d4{ transition-delay: .4s; }.js body.p-index .fade-up.d5{ transition-delay: .5s; }body.p-index .cta-bar{
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 9998;
  display: none; align-items: center; gap: 12px;
  padding: 11px 16px calc(11px + env(safe-area-inset-bottom));
  background: rgba(255,255,255,.97);
  border-top: 1px solid var(--gray-line);
  box-shadow: 0 -4px 20px rgba(16,24,32,.1);
  transform: translateY(100%);
  transition: transform 380ms cubic-bezier(0.32,0.72,0,1);
}body.p-index .cta-bar.visible{ transform: translateY(0); }body.p-index .cta-bar-text{ flex: 1; min-width: 0; line-height: 1.25; }body.p-index .cta-bar-text b{ display: block; font-size: .9rem; color: var(--navy); }body.p-index .cta-bar-text span{ font-size: .74rem; color: var(--text-muted); }body.p-index .cta-bar .btn{ padding: 12px 20px; font-size: .9rem; white-space: nowrap; }body.p-index .section{ padding: 96px 6%; position: relative; }body.p-index .section-inner{ max-width: 1240px; margin: 0 auto; position: relative; z-index: 1; }body.p-index .section-tag{ font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--green); margin-bottom: 14px; }body.p-index .section-title{ font-size: clamp(1.8rem, 3vw, 2.6rem); font-weight: 700; color: var(--navy); margin-bottom: 18px; }body.p-index .section-title em{ color: var(--green); font-style: italic; }body.p-index .section-desc{ font-size: 1.05rem; color: var(--text-soft); line-height: 1.8; max-width: 620px; }body.p-index .section-center{ text-align: center; margin-bottom: 56px; }body.p-index .section-center .section-desc{ margin: 0 auto; }body.p-index .hero{
  min-height: 100vh; display: flex; align-items: center; position: relative; overflow: hidden;
  background: var(--navy) url('/img/titelbild-neu.webp') right center / cover no-repeat;
}body.p-index .hero::before{ content: ''; position: absolute; inset: 0; z-index: 0;
  background: linear-gradient(90deg, rgba(16,24,32,.92) 0%, rgba(16,24,32,.74) 35%, rgba(16,24,32,.22) 65%, rgba(16,24,32,0) 100%); }body.p-index .hero-inner{ width: 100%; max-width: 1240px; margin: 0 auto; padding: 140px 6% 100px; position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; }body.p-index .hero-content{ max-width: 540px; }body.p-index .hero-badge{ display: inline-flex; align-items: center; gap: 8px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.25); border-radius: 100px; padding: 6px 16px; font-size: .75rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--green-light); margin-bottom: 28px; }body.p-index .hero-badge::before{ content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--green); animation: p-index-dpf-pulse 2s infinite; }body.p-index .hero h1{ font-size: clamp(2.4rem, 4.5vw, 3.8rem); font-weight: 700; color: var(--white); margin-bottom: 24px; }body.p-index .hero h1 em{ color: var(--green); font-style: italic; }body.p-index .hero-sub{ font-size: 1.1rem; color: rgba(255,255,255,.9); line-height: 1.75; margin-bottom: 32px; }body.p-index .hero-trust{ display: flex; align-items: center; gap: 16px; margin-bottom: 32px; }body.p-index .hero-avatars{ display: flex; margin-left: -8px; }body.p-index .hero-avatars img{ width: 48px; height: 48px; border-radius: 50%; border: 3px solid rgba(255,255,255,.3); margin-left: -12px; object-fit: contain; box-shadow: 0 4px 12px rgba(0,0,0,.2); background: #fff; padding: 4px; }body.p-index .hero-avatars img:first-child{ margin-left: 0; }body.p-index .hero-trust-text{ font-size: .88rem; line-height: 1.4; }body.p-index .hero-trust-text strong{ display: block; font-weight: 700; color: var(--white); }body.p-index .hero-trust-text span{ color: rgba(255,255,255,.7); }body.p-index .hero-ctas{ display: flex; gap: 14px; flex-wrap: wrap; }body.p-index .hero-badge-card{ margin-top: 48px; background: rgba(255,255,255,.1); backdrop-filter: blur(12px); border: 1px solid rgba(255,255,255,.2); border-radius: 14px; padding: 18px 24px; display: inline-flex; align-items: center; gap: 14px; }body.p-index .badge-icon{ width: 48px; height: 48px; border-radius: 12px; background: var(--green); display: flex; align-items: center; justify-content: center; font-size: 1.4rem; flex-shrink: 0; }body.p-index .badge-num{ font-family: 'Fraunces', serif; font-size: 1.5rem; font-weight: 700; color: var(--white); line-height: 1; }body.p-index .badge-label{ font-size: .74rem; color: rgba(255,255,255,.65); margin-top: 3px; }body.p-index .logos-section{ padding: 36px 6%; background: var(--off-white); border-top: 1px solid var(--gray-line); border-bottom: 1px solid var(--gray-line); }body.p-index .logos-label{ text-align: center; font-size: .72rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 24px; }body.p-index .logos-track-wrap{ overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, black 12%, black 88%, transparent); mask-image: linear-gradient(90deg, transparent, black 12%, black 88%, transparent); }body.p-index .logos-track{ display: flex; gap: 48px; align-items: center; animation: p-index-dpf-scrollLogos 30s linear infinite; width: max-content; }body.p-index .logos-track img{ height: 45px; max-width: 195px; object-fit: contain; flex-shrink: 0; filter: grayscale(100%); opacity: .4; transition: opacity .2s, filter .2s; }body.p-index .stats-section{ background: var(--navy); padding: 16px 6%; }body.p-index .stats-inner{ max-width: 1240px; margin: 0 auto; display: grid; grid-template-columns: repeat(4, 1fr); }body.p-index .stat-block{ padding: 20px 16px; text-align: center; border-right: 1px solid rgba(255,255,255,.08); }body.p-index .stat-block:last-child{ border-right: none; }body.p-index .stat-icon img{ width: 32px; height: 32px; object-fit: contain; margin: 0 auto 8px; }body.p-index .stat-num{ font-family: 'Fraunces', serif; font-size: 2rem; font-weight: 700; color: var(--white); line-height: 1; }body.p-index .stat-num span{ color: var(--green); }body.p-index .stat-label{ font-size: .8rem; color: rgba(255,255,255,.45); margin-top: 6px; line-height: 1.4; }body.p-index .problem-section{ background: var(--off-white); }body.p-index .problem-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: center; }body.p-index .problem-img{ width: 100%; height: 420px; object-fit: contain; border-radius: 20px; }body.p-index .problem-cards{ display: flex; flex-direction: column; gap: 16px; margin-top: 32px; }body.p-index .problem-card{ background: var(--gray-card); border-radius: 14px; padding: 22px 24px; display: flex; gap: 16px; align-items: flex-start; border: 1px solid var(--gray-line); transition: border-color .2s; }body.p-index .problem-card:hover{ border-color: rgba(64,193,172,.3); }body.p-index .prob-icon{ width: 38px; height: 38px; border-radius: 10px; background: var(--green-light); display: flex; align-items: center; justify-content: center; font-size: 1rem; flex-shrink: 0; }body.p-index .prob-title{ font-size: .9rem; font-weight: 600; color: var(--navy); margin-bottom: 4px; }body.p-index .prob-text{ font-size: .84rem; color: var(--text-soft); line-height: 1.6; }body.p-index .foerder-section{ background: var(--off-white); }body.p-index .foerder-highlight{ background: linear-gradient(135deg, var(--green-dark) 0%, var(--navy) 85%); border-radius: 24px; padding: 56px 64px; display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; margin-bottom: 32px; position: relative; overflow: hidden; }body.p-index .foerder-highlight::before{ content: ''; position: absolute; top: -80px; right: -80px; width: 320px; height: 320px; border-radius: 50%; background: rgba(255,255,255,.06); pointer-events: none; }body.p-index .fh-left{ color: var(--white); position: relative; z-index: 1; }body.p-index .fh-num{ font-family: 'Fraunces', serif; font-size: clamp(3.5rem, 6vw, 5rem); font-weight: 700; color: var(--green); line-height: 1; margin-bottom: 6px; }body.p-index .fh-sub{ font-size: .95rem; color: rgba(255,255,255,.65); margin-bottom: 32px; }body.p-index .fh-checks{ display: flex; flex-direction: column; gap: 16px; }body.p-index .fh-check{ display: flex; gap: 12px; align-items: flex-start; }body.p-index .check-dot{ width: 22px; height: 22px; border-radius: 50%; background: rgba(255,255,255,.2); display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 1px; }body.p-index .check-dot svg{ width: 10px; height: 10px; fill: none; stroke: var(--white); stroke-width: 2.5; }body.p-index .fh-check-text{ font-size: .9rem; color: rgba(255,255,255,.88); line-height: 1.55; }body.p-index .fh-check-text strong{ color: var(--white); }body.p-index .fh-img{ width: 100%; height: auto; object-fit: contain; position: relative; z-index: 1; }body.p-index .foerder-cards{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }body.p-index .foerder-card{ background: var(--white); border: 1px solid var(--gray-line); border-radius: 14px; padding: 28px 24px; transition: border-color .2s, box-shadow .2s; }body.p-index .foerder-card:hover{ border-color: rgba(64,193,172,.3); box-shadow: var(--shadow-sm); }body.p-index .fc-num{ font-family: 'Fraunces', serif; font-size: 2rem; font-weight: 700; color: var(--green); margin-bottom: 6px; }body.p-index .fc-title{ font-size: .9rem; font-weight: 600; color: var(--navy); margin-bottom: 8px; }body.p-index .fc-text{ font-size: .84rem; color: var(--text-soft); line-height: 1.65; }body.p-index .cost-compare-section{ background: var(--navy); padding: 96px 6%; }body.p-index .cost-compare-section .section-title{ color: var(--white); }body.p-index .cost-compare-section .section-desc{ color: rgba(255,255,255,.9); }body.p-index .cost-compare-section .section-tag{ color: var(--green); }body.p-index .cost-chart{ background: var(--white); border: 1px solid var(--gray-line); border-radius: 20px; padding: 48px 40px; margin: 0 auto 32px; box-shadow: var(--shadow-sm); max-width: 860px; }body.p-index .cost-bars{ display: flex; flex-direction: column; gap: 32px; }body.p-index .cost-bar-wrap{ display: flex; flex-direction: column; gap: 12px; }body.p-index .cost-bar-label{ font-size: .88rem; font-weight: 600; color: var(--navy); display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }body.p-index .cost-bar-label .badge{ font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; padding: 4px 12px; border-radius: 100px; }body.p-index .cost-bar-label .badge.expensive{ background: rgba(163,45,45,.1); color: #A32D2D; }body.p-index .cost-bar-label .badge.affordable{ background: var(--green-light); color: var(--green-dark); }body.p-index .cost-bar-track{ height: 56px; background: var(--gray-card); border-radius: 12px; overflow: hidden; position: relative; }body.p-index .cost-bar-fill{ height: 100%; border-radius: 12px; display: flex; align-items: center; justify-content: flex-end; padding: 0 20px; font-family: 'Fraunces', serif; font-size: 1.25rem; font-weight: 700; color: var(--white); transition: width 1.2s cubic-bezier(0.4,0,0.2,1); width: 0; }body.p-index .cost-bar-fill.without{ background: linear-gradient(90deg, #C74545 0%, #A32D2D 100%); }body.p-index .cost-bar-fill.without.animate{ width: 100%; }body.p-index .cost-bar-fill.with{ background: linear-gradient(90deg, var(--green-mid) 0%, var(--green) 100%); }body.p-index .cost-bar-fill.with.animate{ width: 34%; }body.p-index .cost-note{ font-size: .82rem; color: var(--text-muted); line-height: 1.6; margin-top: 24px; padding: 16px; background: var(--green-pale); border-radius: 10px; border-left: 3px solid var(--green); }body.p-index .cost-note strong{ color: var(--green-dark); }body.p-index .trust-badge{ max-width: 800px; margin: 0 auto; background: var(--white); border-radius: 12px; box-shadow: 0 20px 60px rgba(0,0,0,.15), 0 8px 24px rgba(0,0,0,.08); transition: transform .3s, box-shadow .3s; overflow: hidden; }body.p-index .trust-badge-browser{ background: #E8EAED; padding: 10px 16px; display: flex; align-items: center; gap: 8px; border-bottom: 1px solid #D1D5DB; }body.p-index .trust-badge-dots{ display: flex; gap: 6px; }body.p-index .trust-badge-dot{ width: 10px; height: 10px; border-radius: 50%; }body.p-index .trust-badge-dot.red{ background: #FF5F56; }body.p-index .trust-badge-dot.yellow{ background: #FFBD2E; }body.p-index .trust-badge-dot.green{ background: #27C93F; }body.p-index .trust-badge-url{ flex: 1; background: #fff; border-radius: 6px; padding: 4px 12px; font-size: .75rem; color: #6B7280; font-family: monospace; }body.p-index .trust-badge-content{ padding: 32px 40px; display: flex; align-items: center; gap: 28px; background: linear-gradient(135deg, var(--white) 0%, var(--green-pale) 100%); }body.p-index .trust-badge-icon{ width: 80px; height: 80px; background: var(--green); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 2.4rem; flex-shrink: 0; box-shadow: 0 4px 16px rgba(64,193,172,.3); }body.p-index .trust-badge-label{ font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--green); margin-bottom: 8px; }body.p-index .trust-badge-title{ font-size: 1.3rem; font-weight: 700; color: var(--navy); margin-bottom: 8px; line-height: 1.3; }body.p-index .trust-badge-link{ font-size: .9rem; color: var(--green); text-decoration: none; font-weight: 600; transition: color .2s; display: inline-flex; align-items: center; gap: 6px; }body.p-index .trust-badge-link:hover{ color: var(--green-dark); }body.p-index .steps-section{ background: var(--white); }body.p-index .steps-grid{ display: grid; grid-template-columns: repeat(4, 1fr); position: relative; }body.p-index .steps-grid::before{ content: ''; position: absolute; top: 36px; left: 10%; right: 10%; height: 1px; background: var(--gray-line); z-index: 0; }body.p-index .step-item{ text-align: center; padding: 0 16px; position: relative; z-index: 1; }body.p-index .step-dot{ width: 72px; height: 72px; border-radius: 50%; background: var(--white); border: 2px solid var(--gray-line); display: flex; align-items: center; justify-content: center; margin: 0 auto 24px; transition: all .3s; }body.p-index .step-dot img{ width: 36px; height: 36px; object-fit: contain; }body.p-index .step-item:hover .step-dot{ border-color: var(--green); background: var(--green-pale); }body.p-index .step-tag{ font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 8px; }body.p-index .step-title{ font-size: .95rem; font-weight: 600; color: var(--navy); margin-bottom: 10px; }body.p-index .step-text{ font-size: .83rem; color: var(--text-soft); line-height: 1.7; }body.p-index .leistungen-section{ background: var(--off-white); }body.p-index .leistungen-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 48px; }body.p-index .leistung-card{ background: var(--white); border-radius: 16px; border: 1px solid var(--gray-line); padding: 32px 28px; transition: all .3s; }body.p-index .leistung-card:hover{ border-color: rgba(64,193,172,.35); box-shadow: var(--shadow-md); transform: translateY(-3px); }body.p-index .leistung-card img{ width: 48px; height: 48px; object-fit: contain; margin-bottom: 18px; }body.p-index .leistung-title{ font-size: 1rem; font-weight: 600; color: var(--navy); margin-bottom: 10px; }body.p-index .leistung-text{ font-size: .855rem; color: var(--text-soft); line-height: 1.72; }body.p-index .vergleich-section{ background: var(--navy); padding: 96px 6%; }body.p-index .vergleich-inner{ max-width: 1240px; margin: 0 auto; }body.p-index .vergleich-header{ text-align: center; margin-bottom: 56px; }body.p-index .vergleich-header .section-title{ color: var(--white); }body.p-index .vergleich-header .section-tag{ color: var(--green); }body.p-index .vergleich-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }body.p-index .vcol{ border-radius: 20px; padding: 40px; }body.p-index .vcol.before{ background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); }body.p-index .vcol.after{ background: rgba(64,193,172,.14); border: 1.5px solid var(--green); }body.p-index .vcol-label{ font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 28px; display: flex; align-items: center; gap: 10px; }body.p-index .vcol.before .vcol-label{ color: rgba(255,255,255,.35); }body.p-index .vcol.after .vcol-label{ color: rgba(255,255,255,.7); }body.p-index .vdot{ width: 8px; height: 8px; border-radius: 50%; }body.p-index .vcol.before .vdot{ background: rgba(255,255,255,.2); }body.p-index .vcol.after .vdot{ background: rgba(255,255,255,.65); }body.p-index .vitems{ display: flex; flex-direction: column; gap: 16px; }body.p-index .vitem{ display: flex; gap: 14px; align-items: flex-start; }body.p-index .vicon{ width: 24px; height: 24px; border-radius: 50%; flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-size: .75rem; margin-top: 1px; }body.p-index .vcol.before .vicon{ background: rgba(255,255,255,.06); color: rgba(255,255,255,.3); }body.p-index .vcol.after .vicon{ background: var(--green); color: var(--navy); }body.p-index .vtext{ font-size: .88rem; line-height: 1.6; }body.p-index .vcol.before .vtext{ color: rgba(255,255,255,.45); }body.p-index .vcol.after .vtext{ color: rgba(255,255,255,.9); }body.p-index .vcol.after .vtext strong{ color: var(--white); }body.p-index .ref-section{ background: var(--off-white); }body.p-index .ref-header{ margin-bottom: 56px; }body.p-index .ref-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }body.p-index .ref-card{ border-radius: 18px; border: 1px solid var(--gray-line); overflow: hidden; transition: all .3s; background: var(--white); display: flex; flex-direction: column; }body.p-index .ref-card:hover{ border-color: rgba(64,193,172,.3); box-shadow: var(--shadow-lg); transform: translateY(-4px); }body.p-index .ref-card-img{ width: 100%; height: 190px; object-fit: cover; }body.p-index .ref-card-body{ padding: 24px; flex: 1; display: flex; flex-direction: column; }body.p-index .ref-logo{ height: 26px; max-width: 120px; object-fit: contain; margin-bottom: 14px; filter: grayscale(100%); opacity: .55; }body.p-index .ref-type{ display: inline-block; font-size: .7rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--white); background: var(--green); border-radius: 100px; padding: 3px 10px; margin-bottom: 10px; align-self: flex-start; }body.p-index .ref-name{ font-size: 1rem; font-weight: 600; color: var(--navy); margin-bottom: 16px; }body.p-index .ref-metrics{ display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; }body.p-index .ref-metric{ display: flex; gap: 10px; align-items: flex-start; }body.p-index .ref-dot{ width: 5px; height: 5px; border-radius: 50%; background: var(--green); flex-shrink: 0; margin-top: 8px; }body.p-index .ref-metric-text{ font-size: .84rem; color: var(--text-soft); line-height: 1.5; }body.p-index .ref-metric-text strong{ color: var(--text); }body.p-index .ref-highlight{ background: var(--green-pale); border-radius: 10px; padding: 14px 16px; border-left: 3px solid var(--green); margin-top: auto; }body.p-index .ref-highlight-big{ font-family: 'Fraunces', serif; font-size: 1.5rem; font-weight: 700; color: var(--green); display: block; line-height: 1; }body.p-index .ref-highlight-label{ font-size: .78rem; color: var(--text-soft); margin-top: 2px; }body.p-index .ref-foerder-footer{ background: linear-gradient(90deg, var(--green) 0%, var(--green-mid) 100%); padding: 14px 24px; display: flex; align-items: center; gap: 12px; }body.p-index .ref-foerder-icon{ width: 20px; height: 20px; flex-shrink: 0; }body.p-index .ref-foerder-icon svg{ width: 100%; height: 100%; fill: var(--navy); }body.p-index .ref-foerder-text{ flex: 1; color: rgba(16,24,32,.75); font-size: .85rem; font-weight: 600; }body.p-index .ref-foerder-amount{ font-size: 1.05rem; font-weight: 800; color: var(--navy); margin-left: 6px; }body.p-index .team-section{ background: var(--white); }body.p-index .team-header{ margin-bottom: 56px; }body.p-index .team-grid{ display: grid; grid-template-columns: repeat(5, 1fr); gap: 32px; }body.p-index .team-card{ text-align: center; }body.p-index .team-avatar-wrap{ width: 140px; height: 140px; border-radius: 50%; overflow: hidden; margin: 0 auto 16px; border: 3px solid var(--green-light); box-shadow: 0 4px 20px rgba(0,0,0,.1); transition: box-shadow .2s, border-color .2s; }body.p-index .team-card:hover .team-avatar-wrap{ border-color: var(--green); box-shadow: 0 6px 28px rgba(64,193,172,.2); }body.p-index .team-photo{ width: 100%; height: 100%; object-fit: cover; object-position: top; }body.p-index .team-name{ font-size: .95rem; font-weight: 600; color: var(--navy); margin-bottom: 4px; }body.p-index .team-role{ font-size: .78rem; color: var(--text-muted); line-height: 1.5; }body.p-index .binding-section{ background: var(--off-white); }body.p-index .binding-grid{ display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; margin-top: 48px; }body.p-index .binding-card{ background: var(--white); border: 1px solid var(--gray-line); border-radius: 16px; padding: 32px 28px; display: flex; gap: 20px; align-items: flex-start; transition: transform .2s, box-shadow .2s, border-color .2s; }body.p-index .binding-card:hover{ transform: translateY(-4px); box-shadow: var(--shadow-md); border-color: var(--green-light); }body.p-index .binding-icon{ width: 56px; height: 56px; background: var(--green-pale); border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 1.6rem; flex-shrink: 0; }body.p-index .binding-title{ font-size: 1.05rem; font-weight: 600; color: var(--navy); margin-bottom: 8px; }body.p-index .binding-text{ font-size: .88rem; color: var(--text-muted); line-height: 1.6; }body.p-index .faq-section{ background: var(--off-white); }body.p-index .faq-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 56px; align-items: start; }body.p-index .faq-item{ border: 1px solid var(--gray-line); border-radius: 12px; overflow: hidden; background: var(--white); box-shadow: 0 2px 8px rgba(0,0,0,.06); }body.p-index .faq-q{ padding: 20px 22px; font-size: .9rem; font-weight: 600; color: var(--navy); cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 14px; user-select: none; transition: background .2s; width: 100%; text-align: left; border: none; background: none; font-family: inherit; }body.p-index .faq-q:hover{ background: var(--off-white); }body.p-index .faq-toggle{ width: 26px; height: 26px; border-radius: 50%; background: var(--gray-card); display: flex; align-items: center; justify-content: center; font-size: 1rem; color: var(--green); flex-shrink: 0; transition: all .25s; }body.p-index .faq-item.open .faq-toggle{ background: var(--green); color: var(--navy); transform: rotate(45deg); }body.p-index .faq-a{ overflow: hidden; transition: max-height .4s ease; }.js body.p-index .faq-a{ max-height: 0; }.js body.p-index .faq-item.open .faq-a{ max-height: 600px; }body.p-index .faq-a-inner{ border-top: 1px solid var(--gray-line); padding: 16px 22px 22px; font-size: .875rem; color: var(--text-soft); line-height: 1.78; }body.p-index .cta-section{ background: url('/img/endergebnis.webp') center / cover; padding: 96px 6%; position: relative; }body.p-index .cta-section::before{ content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(16,24,32,.92) 0%, rgba(16,24,32,.88) 100%); z-index: 0; }body.p-index .cta-inner{ max-width: 700px; margin: 0 auto; text-align: center; position: relative; z-index: 1; }body.p-index .cta-inner .section-title{ font-size: clamp(2rem, 3.5vw, 2.8rem); color: var(--white); }body.p-index .cta-inner .section-tag{ color: rgba(255,255,255,.7); }body.p-index .cta-desc{ font-size: 1.05rem; color: rgba(255,255,255,.82); line-height: 1.8; margin: 20px 0 40px; }body.p-index .cta-btns{ display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }body.p-index .cta-note{ font-size: .78rem; color: rgba(255,255,255,.5); margin-top: 18px; }body.p-index .cta-section .btn-primary{ background: var(--white); color: var(--green-dark); }body.p-index .cta-section .btn-primary:hover{ background: var(--green-light); color: var(--green-dark); box-shadow: 0 8px 24px rgba(0,0,0,.2); }body.p-index .cta-section .btn-outline{ border-color: rgba(255,255,255,.5); color: var(--white); background: rgba(255,255,255,.1); }body.p-index .cta-section .btn-outline:hover{ background: rgba(255,255,255,.2); border-color: rgba(255,255,255,.8); }.js body.p-index .hero-content > *{ animation: p-index-dpf-heroIn .7s ease both; }.js body.p-index .hero-content > *:nth-child(1){ animation-delay: .1s; }.js body.p-index .hero-content > *:nth-child(2){ animation-delay: .2s; }.js body.p-index .hero-content > *:nth-child(3){ animation-delay: .3s; }.js body.p-index .hero-content > *:nth-child(4){ animation-delay: .4s; }.js body.p-index .hero-content > *:nth-child(5){ animation-delay: .5s; }body.p-index .pillars-section{ background: var(--white); }body.p-index .pillars-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 48px; }body.p-index .pillar{ border: 1px solid var(--gray-line); border-radius: 18px; padding: 36px 32px; display: flex; flex-direction: column; background: var(--white); transition: border-color .2s, box-shadow .2s, transform .2s; }body.p-index .pillar:hover{ border-color: rgba(64,193,172,.35); box-shadow: var(--shadow-md); transform: translateY(-3px); }body.p-index .pillar.lead{ background: linear-gradient(160deg, var(--green-pale) 0%, var(--white) 60%); border-color: rgba(64,193,172,.3); }body.p-index .pillar-tag{ font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--green-dark); margin-bottom: 16px; }body.p-index .pillar-icon{ width: 52px; height: 52px; border-radius: 14px; background: var(--green); display: flex; align-items: center; justify-content: center; font-size: 1.5rem; margin-bottom: 18px; }body.p-index .pillar h3{ font-size: 1.35rem; color: var(--navy); margin-bottom: 10px; }body.p-index .pillar p{ font-size: .92rem; color: var(--text-soft); line-height: 1.7; margin-bottom: 20px; }body.p-index .pillar-foot{ margin-top: auto; font-size: .8rem; font-weight: 600; color: var(--green-dark); display: inline-flex; align-items: center; gap: 8px; }body.p-index .pillar-foot::before{ content: '✓'; width: 20px; height: 20px; border-radius: 50%; background: var(--green); color: var(--navy); display: inline-flex; align-items: center; justify-content: center; font-size: .7rem; flex-shrink: 0; }


@media (hover: hover) and (pointer: fine) {body.p-index .btn-primary:hover{ background: var(--green-mid); transform: translateY(-2px); box-shadow: 0 8px 24px rgba(64,193,172,.35); }body.p-index .btn-outline:hover{ background: rgba(255,255,255,.18); border-color: rgba(255,255,255,.6); }
}
@media (prefers-reduced-motion: reduce) {body.p-index *, body.p-index *::before, body.p-index *::after{
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
@media (max-width: 1060px) {body.p-index .dpf-nav{ backdrop-filter: none; background: rgba(255,255,255,.98); }body.p-index .nav-toggle{ display: block; }body.p-index .nav-links{
    position: fixed; inset: var(--nav-h) 0 0 0;
    flex-direction: column; align-items: stretch; justify-content: flex-start;
    gap: 0; padding: 12px 6% calc(24px + env(safe-area-inset-bottom));
    background: var(--white);
    transform: translateX(100%);
    transition: transform .3s cubic-bezier(0.32,0.72,0,1);
    overflow-y: auto;
  }body.p-index .nav-links.open{ transform: translateX(0); }body.p-index .nav-links li{ border-bottom: 1px solid var(--gray-line); }body.p-index .nav-links a{ display: block; padding: 18px 4px; font-size: 1rem; }body.p-index .nav-links .nav-cta{ margin-top: 18px; padding: 15px; text-align: center; border-radius: 8px; border-bottom: none; }body.p-index .nav-links li:last-child{ border-bottom: none; }body.p-index .cta-bar{ display: flex; }body.p-index.has-cta-bar{ padding-bottom: 74px; }
}
@media (max-width: 768px) {body.p-index .footer-inner{ grid-template-columns: 1fr; gap: 32px; }body.p-index .footer-bottom{ flex-direction: column; text-align: center; }
}
@keyframes p-index-dpf-pulse { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: .4; transform: scale(.8); } }
@keyframes p-index-dpf-scrollLogos { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (hover: hover) {body.p-index .logos-track img:hover{ opacity: .7; filter: grayscale(0%); } }
@media (hover: hover) {body.p-index .trust-badge:hover{ transform: translateY(-6px) scale(1.02); } }
@keyframes p-index-dpf-heroIn { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@media (max-width: 1060px) {body.p-index .hero-inner{ padding: 120px 5% 80px; }body.p-index .hero::before{ background: rgba(16,24,32,.86); }body.p-index .problem-grid, body.p-index .foerder-highlight, body.p-index .vergleich-grid{ grid-template-columns: 1fr; gap: 40px; }body.p-index .foerder-highlight{ padding: 40px; }body.p-index .steps-grid{ grid-template-columns: 1fr 1fr; gap: 40px; }body.p-index .steps-grid::before{ display: none; }body.p-index .ref-grid, body.p-index .leistungen-grid{ grid-template-columns: 1fr 1fr; }body.p-index .stats-inner{ grid-template-columns: 1fr 1fr; }body.p-index .stat-block{ border-right: none; border-bottom: 1px solid rgba(255,255,255,.08); }body.p-index .faq-grid{ grid-template-columns: 1fr; }body.p-index .team-grid{ grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 640px) {body.p-index .section{ padding: 64px 5%; }body.p-index .ref-grid, body.p-index .leistungen-grid, body.p-index .foerder-cards, body.p-index .team-grid{ grid-template-columns: 1fr; }body.p-index .ref-foerder-footer{ flex-wrap: wrap; gap: 6px; padding: 14px 18px; }body.p-index .cta-btns{ flex-direction: column; }body.p-index .stats-inner{ grid-template-columns: 1fr; }body.p-index .cost-chart{ padding: 28px 20px; }body.p-index .trust-badge-content{ flex-direction: column; text-align: center; padding: 24px; gap: 16px; }body.p-index .trust-badge-icon{ width: 64px; height: 64px; font-size: 2rem; }body.p-index .section-title{ font-size: clamp(1.5rem, 6vw, 1.9rem); }body.p-index .leistungen-grid{ margin-top: 32px; }
}
@media (max-width: 760px) {body.p-index .pillars-grid{ grid-template-columns: 1fr; } }

/* ===== erstgespraech.html  (p-erstgespraech) ===== */
body.p-erstgespraech *{ box-sizing: border-box; }body.p-erstgespraech{ margin: 0; padding: 0; }body.p-erstgespraech{
  --green:       #40C1AC;
  --green-mid:   #34a894;
  --green-dark:  #1f7d6e;
  --green-light: #A0D1CA;
  --green-pale:  #eef7f5;
  --navy:        #101820;
  --text:        #101820;
  --text-soft:   #3d4853;
  --text-muted:  #6b7680;
  --white:       #ffffff;
  --off-white:   #f4f6f5;
  --gray-line:   #e2e8e5;
  --gray-card:   #eef2f0;
  --basis:       #D1E0D7;
  --error:       #A32D2D;
}body.p-erstgespraech #dpf{ font-family: 'Inter', sans-serif; background: var(--white); color: var(--text); line-height: 1.6; overflow-x: hidden; }body.p-erstgespraech #dpf h1, body.p-erstgespraech #dpf h2, body.p-erstgespraech #dpf h3{ font-family: 'Fraunces', serif; letter-spacing: -0.02em; line-height: 1.15; margin: 0; }body.p-erstgespraech #dpf em{ font-style: italic; color: var(--green); }body.p-erstgespraech #dpf p{ margin: 0; }body.p-erstgespraech #dpf img{ max-width: 100%; }body.p-erstgespraech #dpf-nav{ position: fixed; top: 0; left: 0; right: 0; z-index: 10000; padding: 16px 6%; display: flex; justify-content: space-between; align-items: center; background: rgba(255,255,255,.96); backdrop-filter: blur(14px); border-bottom: 1px solid var(--gray-line); }body.p-erstgespraech #dpf .nav-logo img{ height: 48px; display: block; }body.p-erstgespraech #dpf .nav-back{ color: var(--text-soft); text-decoration: none; font-size: .875rem; font-weight: 500; display: inline-flex; align-items: center; gap: 6px; transition: color .2s; }body.p-erstgespraech #dpf .nav-back:hover{ color: var(--green); }body.p-erstgespraech #dpf .eg-wrap{ min-height: 100vh; display: grid; grid-template-columns: 1.05fr .95fr; }body.p-erstgespraech #dpf .eg-left{ background: var(--navy); color: var(--white); padding: 140px 5% 80px; display: flex; flex-direction: column; justify-content: center; position: relative; overflow: hidden; }body.p-erstgespraech #dpf .eg-left::before{ content: ''; position: absolute; top: -120px; right: -120px; width: 400px; height: 400px; border-radius: 50%; background: rgba(64,193,172,.08); pointer-events: none; }body.p-erstgespraech #dpf .eg-left-inner{ max-width: 480px; margin-left: auto; position: relative; z-index: 1; }body.p-erstgespraech #dpf .eg-badge{ display: inline-flex; align-items: center; gap: 8px; background: rgba(64,193,172,.15); border: 1px solid rgba(64,193,172,.3); border-radius: 100px; padding: 6px 16px; font-size: .72rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--green-light); margin-bottom: 28px; }body.p-erstgespraech #dpf .eg-badge::before{ content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--green); }body.p-erstgespraech #dpf .eg-left h1{ font-size: clamp(2rem, 3.4vw, 2.9rem); font-weight: 700; color: var(--white); margin-bottom: 20px; }body.p-erstgespraech #dpf .eg-left h1 em{ color: var(--green); }body.p-erstgespraech #dpf .eg-lead{ font-size: 1.05rem; color: rgba(255,255,255,.8); line-height: 1.75; margin-bottom: 36px; }body.p-erstgespraech #dpf .eg-points{ display: flex; flex-direction: column; gap: 18px; margin-bottom: 40px; }body.p-erstgespraech #dpf .eg-point{ display: flex; gap: 14px; align-items: flex-start; }body.p-erstgespraech #dpf .eg-point-dot{ width: 26px; height: 26px; border-radius: 50%; background: var(--green); display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 1px; }body.p-erstgespraech #dpf .eg-point-dot svg{ width: 13px; height: 13px; fill: none; stroke: var(--navy); stroke-width: 2.5; }body.p-erstgespraech #dpf .eg-point-text{ font-size: .95rem; color: rgba(255,255,255,.9); line-height: 1.5; }body.p-erstgespraech #dpf .eg-point-text strong{ color: var(--white); }body.p-erstgespraech #dpf .eg-contact{ border-top: 1px solid rgba(255,255,255,.12); padding-top: 28px; font-size: .9rem; color: rgba(255,255,255,.6); line-height: 1.9; }body.p-erstgespraech #dpf .eg-contact a{ color: var(--green-light); text-decoration: none; }body.p-erstgespraech #dpf .eg-contact a:hover{ color: var(--green); }body.p-erstgespraech #dpf .eg-person{ display: flex; align-items: center; gap: 16px; border-top: 1px solid rgba(255,255,255,.12); padding-top: 28px; margin-top: 4px; }body.p-erstgespraech #dpf .eg-person-photo{ width: 72px; height: 72px; border-radius: 50%; object-fit: cover; object-position: top; border: 2px solid var(--green); flex-shrink: 0; box-shadow: 0 4px 16px rgba(64,193,172,.25); }body.p-erstgespraech #dpf .eg-person-info{ font-size: .9rem; line-height: 1.5; }body.p-erstgespraech #dpf .eg-person-name{ font-weight: 700; color: var(--white); font-size: .98rem; }body.p-erstgespraech #dpf .eg-person-role{ color: rgba(255,255,255,.6); font-size: .82rem; margin-bottom: 6px; }body.p-erstgespraech #dpf .eg-person-contact a{ display: block; color: var(--green-light); text-decoration: none; font-size: .85rem; }body.p-erstgespraech #dpf .eg-person-contact a:hover{ color: var(--green); }body.p-erstgespraech #dpf .eg-logos{ margin-top: 32px; }body.p-erstgespraech #dpf .eg-logos-label{ font-size: .68rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.4); margin-bottom: 16px; }body.p-erstgespraech #dpf .eg-logos-row{ display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }body.p-erstgespraech #dpf .eg-logos-row img{ height: 30px; max-width: 90px; object-fit: contain; background: #fff; border-radius: 6px; padding: 5px 8px; }body.p-erstgespraech #dpf .eg-right{ padding: 140px 6% 80px; display: flex; flex-direction: column; justify-content: center; background: var(--off-white); }body.p-erstgespraech #dpf .eg-form-card{ max-width: 460px; width: 100%; margin: 0 auto; background: var(--white); border: 1px solid var(--gray-line); border-radius: 20px; padding: 40px; box-shadow: 0 12px 40px rgba(16,24,32,.06); }body.p-erstgespraech #dpf .eg-form-title{ font-size: 1.5rem; font-weight: 700; color: var(--navy); margin-bottom: 8px; }body.p-erstgespraech #dpf .eg-form-sub{ font-size: .9rem; color: var(--text-muted); margin-bottom: 28px; }body.p-erstgespraech #dpf .eg-field{ margin-bottom: 18px; }body.p-erstgespraech #dpf .eg-label{ display: block; font-size: .82rem; font-weight: 600; color: var(--navy); margin-bottom: 7px; }body.p-erstgespraech #dpf .eg-label span{ color: var(--green); }body.p-erstgespraech #dpf .eg-input{ width: 100%; padding: 13px 15px; border: 1.5px solid var(--gray-line); border-radius: 9px; font-size: .9rem; font-family: inherit; color: var(--text); background: var(--white); transition: border-color .2s; }body.p-erstgespraech #dpf .eg-input:focus{ outline: none; border-color: var(--green); }body.p-erstgespraech #dpf .eg-input::placeholder{ color: #aab4ba; }body.p-erstgespraech #dpf .field-error{ font-size: .78rem; color: var(--error); margin-top: 5px; }body.p-erstgespraech #dpf .eg-consent{ display: flex; gap: 10px; align-items: flex-start; margin: 22px 0; }body.p-erstgespraech #dpf .eg-consent input{ width: 18px; height: 18px; margin-top: 2px; flex-shrink: 0; accent-color: var(--green); }body.p-erstgespraech #dpf .eg-consent label{ font-size: .78rem; color: var(--text-muted); line-height: 1.5; }body.p-erstgespraech #dpf .eg-consent a{ color: var(--green-dark); }body.p-erstgespraech #dpf .submit-btn{ width: 100%; padding: 15px; background: var(--green); color: var(--navy); border: none; border-radius: 9px; font-size: .98rem; font-weight: 700; font-family: inherit; cursor: pointer; transition: background .2s, transform .2s; }body.p-erstgespraech #dpf .submit-btn:hover{ background: var(--green-mid); transform: translateY(-2px); }body.p-erstgespraech #dpf .submit-btn:disabled{ opacity: .6; cursor: not-allowed; transform: none; }body.p-erstgespraech #dpf .eg-note{ text-align: center; font-size: .76rem; color: var(--text-muted); margin-top: 16px; }body.p-erstgespraech #dpf .hp-field{ position: absolute; left: -9999px; top: -9999px; opacity: 0; pointer-events: none; }body.p-erstgespraech #dpf .iti{ width: 100%; display: block; position: relative; height: fit-content; }body.p-erstgespraech #dpf .iti__flag-container{ position: absolute; top: 0; bottom: 0; left: 0; display: flex; align-items: center; pointer-events: none; }body.p-erstgespraech #dpf .iti__tel-input{ width: 100%; padding: 13px 15px 13px 52px; border: 1.5px solid var(--gray-line); border-radius: 9px; font-size: .9rem; font-family: inherit; color: var(--text); background: var(--white); transition: border-color .2s; }body.p-erstgespraech #dpf .iti__tel-input:focus{ outline: none; border-color: var(--green); }body.p-erstgespraech #dpf .iti__tel-input::placeholder{ color: #aab4ba; }body.p-erstgespraech #dpf .iti--separate-dial-code .iti__selected-dial-code{ font-size: .9rem; }body.p-erstgespraech #dpf .iti__country-list li:nth-child(3){ border-bottom: 1px solid var(--gray-line); margin-bottom: 4px; padding-bottom: 4px; }body.p-erstgespraech #dpf .eg-field.has-error .field-error{ display: block; }body.p-erstgespraech #dpf .eg-field.has-error .iti__tel-input{ border-color: #A32D2D; box-shadow: 0 0 0 3px rgba(163,45,45,.08); }body.p-erstgespraech #dpf .eg-thanks{ display: none; text-align: center; padding: 20px 0; }body.p-erstgespraech #dpf .eg-thanks.show{ display: block; }body.p-erstgespraech #dpf .eg-thanks-icon{ width: 72px; height: 72px; border-radius: 50%; background: var(--green); display: flex; align-items: center; justify-content: center; margin: 0 auto 20px; }body.p-erstgespraech #dpf .eg-thanks-icon svg{ width: 34px; height: 34px; fill: none; stroke: var(--navy); stroke-width: 2.5; }body.p-erstgespraech #dpf .eg-thanks h2{ font-size: 1.5rem; color: var(--navy); margin-bottom: 10px; }body.p-erstgespraech #dpf .eg-thanks p{ font-size: .92rem; color: var(--text-soft); line-height: 1.7; }body.p-erstgespraech #dpf .eg-form.hide{ display: none; }



@media (max-width: 900px) {body.p-erstgespraech #dpf .eg-wrap{ grid-template-columns: 1fr; }body.p-erstgespraech #dpf .eg-left{ padding: 110px 6% 60px; }body.p-erstgespraech #dpf .eg-left-inner{ margin: 0 auto; }body.p-erstgespraech #dpf .eg-right{ padding: 50px 6% 70px; }body.p-erstgespraech #dpf .eg-form-card{ padding: 32px 24px; }
}

/* ===== erstgespraech-buchen.html  (p-erstgespraech-buchen) ===== */
body.p-erstgespraech-buchen *, body.p-erstgespraech-buchen *::before, body.p-erstgespraech-buchen *::after{ box-sizing: border-box; }body.p-erstgespraech-buchen{ margin: 0; padding: 0; overflow-x: hidden; max-width: 100%; font-family: 'Inter', sans-serif; color: var(--text); line-height: 1.6; background: var(--white); }body.p-erstgespraech-buchen p{ margin: 0; }body.p-erstgespraech-buchen{
  --green:       #40C1AC;
  --green-mid:   #34a894;
  --green-dark:  #1f7d6e;
  --green-light: #A0D1CA;
  --green-pale:  #eef7f5;
  --navy:        #101820;
  --text:        #101820;
  --text-soft:   #3d4853;
  --text-muted:  #6b7680;
  --white:       #ffffff;
  --off-white:   #f4f6f5;
  --gray-line:   #e2e8e5;
  --shadow-sm:   0 4px 16px rgba(16,24,32,.06);
  --shadow-md:   0 8px 28px rgba(16,24,32,.08);
}body.p-erstgespraech-buchen h1, body.p-erstgespraech-buchen h2, body.p-erstgespraech-buchen h3{ font-family: 'Fraunces', serif; letter-spacing: -0.02em; line-height: 1.15; margin: 0; }body.p-erstgespraech-buchen #dpf-nav{ position: fixed; top: 0; left: 0; right: 0; z-index: 10000; padding: 18px 6%; display: flex; justify-content: space-between; align-items: center; background: rgba(255,255,255,.96); backdrop-filter: blur(14px); border-bottom: 1px solid var(--gray-line); transition: padding .3s, box-shadow .3s; }body.p-erstgespraech-buchen #dpf-nav.scrolled{ padding: 12px 6%; box-shadow: 0 2px 20px rgba(0,0,0,.08); }body.p-erstgespraech-buchen .nav-logo img{ height: 52px; display: block; }body.p-erstgespraech-buchen .nav-cta{ display: inline-flex; align-items: center; background: var(--green); color: var(--navy); padding: 10px 22px; border-radius: 7px; font-size: .875rem; font-weight: 600; text-decoration: none; transition: all .2s; font-family: 'Inter', sans-serif; }body.p-erstgespraech-buchen .nav-cta:hover{ background: var(--green-mid); transform: translateY(-1px); }body.p-erstgespraech-buchen .booking-hero{ background: linear-gradient(rgba(16,24,32,.92), rgba(16,24,32,.88)), url('https://deutsche-pflegefoerderung.de/img/titelbild-neu.webp') center / cover no-repeat; padding: 140px 6% 72px; text-align: center; }body.p-erstgespraech-buchen .hero-inner{ max-width: 760px; margin: 0 auto; }body.p-erstgespraech-buchen .hero-badge{ display: inline-flex; align-items: center; gap: 8px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.25); border-radius: 100px; padding: 6px 18px; font-size: .72rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--green-light); margin-bottom: 24px; }body.p-erstgespraech-buchen .hero-badge::before{ content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--green); animation: p-erstgespraech-buchen-pulse 2s infinite; }body.p-erstgespraech-buchen .booking-hero h1{ font-size: clamp(2rem, 4vw, 3rem); font-weight: 700; color: var(--white); margin-bottom: 18px; }body.p-erstgespraech-buchen .booking-hero h1 em{ color: var(--green); font-style: italic; }body.p-erstgespraech-buchen .booking-hero p{ font-size: 1.05rem; color: rgba(255,255,255,.85); line-height: 1.75; margin-bottom: 36px; }body.p-erstgespraech-buchen .hero-trust{ display: flex; justify-content: center; gap: 32px; flex-wrap: wrap; }body.p-erstgespraech-buchen .trust-item{ display: flex; align-items: center; gap: 8px; font-size: .85rem; color: rgba(255,255,255,.8); }body.p-erstgespraech-buchen .trust-dot{ width: 20px; height: 20px; border-radius: 50%; background: rgba(64,193,172,.2); border: 1px solid var(--green); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }body.p-erstgespraech-buchen .trust-dot svg{ width: 10px; height: 10px; fill: none; stroke: var(--green); stroke-width: 2.5; }body.p-erstgespraech-buchen .booking-body{ background: var(--off-white); padding: 64px 5% 80px; }body.p-erstgespraech-buchen .booking-wrap{ max-width: 900px; margin: 0 auto; }body.p-erstgespraech-buchen .booking-card{ background: var(--white); border-radius: 20px; box-shadow: var(--shadow-md); overflow: hidden; }body.p-erstgespraech-buchen .booking-card-head{ background: var(--navy); padding: 22px 32px; display: flex; align-items: center; gap: 16px; }body.p-erstgespraech-buchen .booking-card-head-icon{ width: 40px; height: 40px; border-radius: 10px; background: var(--green); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }body.p-erstgespraech-buchen .booking-card-head-icon svg{ width: 20px; height: 20px; fill: none; stroke: var(--navy); stroke-width: 2.2; }body.p-erstgespraech-buchen .booking-card-title{ font-family: 'Fraunces', serif; font-size: 1.15rem; font-weight: 600; color: var(--white); }body.p-erstgespraech-buchen .booking-card-sub{ font-size: .8rem; color: rgba(255,255,255,.55); margin-top: 2px; }body.p-erstgespraech-buchen .acuity-wrap{ padding: 0; }body.p-erstgespraech-buchen .acuity-wrap iframe{ display: block; }body.p-erstgespraech-buchen #dpf-footer{ background: var(--navy); padding: 56px 6% 36px; }body.p-erstgespraech-buchen .footer-inner{ max-width: 1180px; margin: 0 auto; display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 56px; margin-bottom: 40px; }body.p-erstgespraech-buchen .footer-logo img{ height: 36px; margin-bottom: 16px; display: block; opacity: .9; }body.p-erstgespraech-buchen .footer-tagline{ font-size: .85rem; color: rgba(255,255,255,.4); line-height: 1.75; max-width: 320px; }body.p-erstgespraech-buchen .footer-contact{ margin-top: 20px; font-size: .83rem; color: rgba(255,255,255,.4); line-height: 2; }body.p-erstgespraech-buchen .footer-contact a{ color: rgba(255,255,255,.4); text-decoration: none; transition: color .2s; }body.p-erstgespraech-buchen .footer-contact a:hover{ color: rgba(255,255,255,.8); }body.p-erstgespraech-buchen .footer-col-title{ font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: rgba(255,255,255,.25); margin-bottom: 16px; }body.p-erstgespraech-buchen .footer-links{ list-style: none; display: flex; flex-direction: column; gap: 10px; padding: 0; margin: 0; }body.p-erstgespraech-buchen .footer-links a{ color: rgba(255,255,255,.5); text-decoration: none; font-size: .875rem; transition: color .2s; }body.p-erstgespraech-buchen .footer-links a:hover{ color: rgba(255,255,255,.85); }body.p-erstgespraech-buchen .footer-bottom{ max-width: 1180px; margin: 0 auto; padding-top: 26px; border-top: 1px solid rgba(255,255,255,.07); display: flex; justify-content: space-between; align-items: center; font-size: .78rem; color: rgba(255,255,255,.2); }body.p-erstgespraech-buchen .disclaimer{ max-width: 1180px; margin: 22px auto 0; font-size: .71rem; color: rgba(255,255,255,.18); line-height: 1.7; }






@keyframes p-erstgespraech-buchen-pulse { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: .4; transform: scale(.8); } }
@media (max-width: 768px) {body.p-erstgespraech-buchen .booking-hero{ padding: 110px 5% 52px; }body.p-erstgespraech-buchen .hero-trust{ gap: 18px; }body.p-erstgespraech-buchen .booking-body{ padding: 40px 5% 60px; }body.p-erstgespraech-buchen .booking-card-head{ padding: 18px 20px; }body.p-erstgespraech-buchen .footer-inner{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {body.p-erstgespraech-buchen #dpf-nav{ padding: 12px 5%; }body.p-erstgespraech-buchen .nav-logo img{ height: 40px; }body.p-erstgespraech-buchen .nav-cta{ padding: 9px 16px; font-size: .8rem; }body.p-erstgespraech-buchen .booking-hero h1{ font-size: 1.85rem; }body.p-erstgespraech-buchen .hero-trust{ flex-direction: column; align-items: center; gap: 12px; }body.p-erstgespraech-buchen .footer-inner{ grid-template-columns: 1fr; gap: 30px; }body.p-erstgespraech-buchen .footer-bottom{ flex-direction: column; gap: 8px; text-align: center; }
}
@media (max-width: 420px) {body.p-erstgespraech-buchen .nav-logo img{ height: 34px; }body.p-erstgespraech-buchen .nav-cta{ padding: 8px 13px; font-size: .74rem; }
}

/* ===== termin-anfrage-foerdercheck.html  (p-termin) ===== */
body.p-termin *{ box-sizing: border-box; }body.p-termin{ margin: 0; padding: 0; overflow-x: hidden; max-width: 100%; }body.p-termin{
  --green:       #40C1AC;
  --green-mid:   #34a894;
  --green-dark:  #1f7d6e;
  --green-light: #A0D1CA;
  --green-pale:  #eef7f5;
  --navy:        #101820;
  --text:        #101820;
  --text-soft:   #3d4853;
  --text-muted:  #6b7680;
  --white:       #ffffff;
  --off-white:   #f4f6f5;
  --gray-line:   #e2e8e5;
  --gray-card:   #eef2f0;
  --error:       #A32D2D;
  --shadow-sm:   0 4px 16px rgba(16,24,32,.06);
  --shadow-md:   0 8px 28px rgba(16,24,32,.08);
  --shadow-lg:   0 12px 40px rgba(16,24,32,.10);
}body.p-termin #dpf{ font-family: 'Inter', sans-serif; background: var(--white); color: var(--text); overflow-x: hidden; line-height: 1.6; margin: 0; padding: 0; }body.p-termin #dpf img{ max-width: 100%; }body.p-termin #dpf h1, body.p-termin #dpf h2, body.p-termin #dpf h3{ font-family: 'Fraunces', serif; letter-spacing: -0.02em; line-height: 1.15; margin: 0; }body.p-termin #dpf em{ font-style: italic; }body.p-termin #dpf p{ margin: 0; }body.p-termin #dpf .btn{ display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 15px 30px; border-radius: 8px; font-size: .95rem; font-weight: 600; text-decoration: none; transition: all .2s; cursor: pointer; border: none; font-family: 'Inter', sans-serif; }body.p-termin #dpf .btn-primary{ background: var(--green); color: var(--navy); }body.p-termin #dpf .btn-primary:hover{ background: var(--green-mid); transform: translateY(-2px); box-shadow: 0 8px 24px rgba(64,193,172,.35); }body.p-termin #dpf .btn-primary:disabled{ background: var(--green-light); color: var(--green-dark); cursor: not-allowed; transform: none; box-shadow: none; }body.p-termin #dpf-nav{ position: fixed; top: 0; left: 0; right: 0; z-index: 10000; padding: 18px 6%; display: flex; justify-content: space-between; align-items: center; background: rgba(255,255,255,.96); backdrop-filter: blur(14px); border-bottom: 1px solid var(--gray-line); transition: padding .3s, box-shadow .3s; }body.p-termin #dpf-nav.scrolled{ padding: 12px 6%; box-shadow: 0 2px 20px rgba(0,0,0,.08); }body.p-termin #dpf .nav-logo img{ height: 52px; display: block; }body.p-termin #dpf .nav-links{ display: flex; gap: 32px; list-style: none; align-items: center; margin: 0; padding: 0; }body.p-termin #dpf .nav-links a{ color: var(--text-soft); text-decoration: none; font-size: .875rem; font-weight: 500; transition: color .2s; }body.p-termin #dpf .nav-links a:hover{ color: var(--green); }body.p-termin #dpf .nav-cta{ background: var(--green) !important; color: var(--navy) !important; padding: 10px 22px !important; border-radius: 7px; font-weight: 600 !important; }body.p-termin #dpf .nav-cta:hover{ background: var(--green-mid) !important; }body.p-termin #dpf .anfrage{ min-height: 100vh; background: linear-gradient(rgba(16,24,32,.93), rgba(16,24,32,.90)), url('https://deutsche-pflegefoerderung.de/img/titelbild-neu.webp') center / cover no-repeat fixed; padding: 140px 6% 96px; }body.p-termin #dpf .anfrage-inner{ max-width: 1180px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }body.p-termin #dpf .anfrage-intro{ color: var(--white); }body.p-termin #dpf .anfrage-badge{ display: inline-flex; align-items: center; gap: 8px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.25); border-radius: 100px; padding: 6px 16px; font-size: .75rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--green-light); margin-bottom: 26px; }body.p-termin #dpf .anfrage-badge::before{ content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--green); animation: p-termin-dpf-pulse 2s infinite; }body.p-termin #dpf .anfrage-intro h1{ font-size: clamp(2.2rem, 4vw, 3.2rem); font-weight: 700; color: var(--white); margin-bottom: 20px; }body.p-termin #dpf .anfrage-intro h1 em{ color: var(--green); }body.p-termin #dpf .foerder-result{ background: rgba(64,193,172,.12); border: 1px solid rgba(64,193,172,.35); border-radius: 18px; padding: 24px 26px; margin-bottom: 30px; }body.p-termin #dpf .fr-eyebrow{ font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--green-light); margin-bottom: 14px; display: flex; align-items: center; gap: 8px; }body.p-termin #dpf .fr-eyebrow::before{ content: ''; width: 7px; height: 7px; border-radius: 50%; background: var(--green); }body.p-termin #dpf .fr-amount{ margin-bottom: 20px; }body.p-termin #dpf .fr-amount-pre{ display: block; font-size: .82rem; color: rgba(255,255,255,.7); margin-bottom: 3px; }body.p-termin #dpf .fr-amount-big{ font-family: 'Fraunces', serif; font-size: 2.4rem; font-weight: 700; color: var(--green); line-height: 1.1; }body.p-termin #dpf .fr-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px 22px; }body.p-termin #dpf .fr-item{ display: flex; flex-direction: column; gap: 2px; }body.p-termin #dpf .fr-label{ font-size: .68rem; text-transform: uppercase; letter-spacing: .05em; color: rgba(255,255,255,.5); }body.p-termin #dpf .fr-value{ font-size: .92rem; font-weight: 600; color: var(--white); }body.p-termin #dpf .anfrage-sub{ font-size: 1.08rem; color: rgba(255,255,255,.88); line-height: 1.75; margin-bottom: 34px; max-width: 480px; }body.p-termin #dpf .anfrage-points{ display: flex; flex-direction: column; gap: 16px; margin-bottom: 34px; }body.p-termin #dpf .anfrage-point{ display: flex; gap: 14px; align-items: flex-start; }body.p-termin #dpf .ap-dot{ width: 26px; height: 26px; border-radius: 50%; background: rgba(64,193,172,.2); display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 1px; }body.p-termin #dpf .ap-dot svg{ width: 12px; height: 12px; fill: none; stroke: var(--green); stroke-width: 2.6; }body.p-termin #dpf .ap-text{ font-size: .95rem; color: rgba(255,255,255,.9); line-height: 1.55; }body.p-termin #dpf .ap-text strong{ color: var(--white); font-weight: 600; }body.p-termin #dpf .form-card{ background: var(--white); border-radius: 20px; padding: 40px 38px; box-shadow: var(--shadow-lg); }body.p-termin #dpf .form-card-head{ margin-bottom: 26px; }body.p-termin #dpf .form-card-tag{ font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--green); margin-bottom: 8px; }body.p-termin #dpf .form-card-title{ font-size: 1.5rem; font-weight: 700; color: var(--navy); }body.p-termin #dpf .form-card-desc{ font-size: .9rem; color: var(--text-muted); margin-top: 8px; line-height: 1.6; }body.p-termin #dpf .form-row{ display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }body.p-termin #dpf .form-group{ margin-bottom: 18px; }body.p-termin #dpf .form-group label{ display: block; font-size: .8rem; font-weight: 600; color: var(--navy); margin-bottom: 7px; }body.p-termin #dpf .form-group label .req{ color: var(--green); }body.p-termin #dpf .form-group input, body.p-termin #dpf .form-group select{ width: 100%; padding: 13px 15px; border: 1px solid var(--gray-line); border-radius: 9px; font-size: .9rem; font-family: 'Inter', sans-serif; color: var(--text); background: var(--white); transition: border-color .2s, box-shadow .2s; }body.p-termin #dpf .form-group input:focus, body.p-termin #dpf .form-group select:focus{ outline: none; border-color: var(--green); box-shadow: 0 0 0 3px rgba(64,193,172,.15); }body.p-termin #dpf .form-group input::placeholder{ color: #aab3ba; }body.p-termin #dpf .field-error{ font-size: 12px; color: var(--error); margin-top: 5px; }body.p-termin #dpf .form-consent{ display: flex; gap: 11px; align-items: flex-start; margin: 6px 0 22px; }body.p-termin #dpf .form-consent input{ width: 18px; height: 18px; margin-top: 2px; flex-shrink: 0; accent-color: var(--green); cursor: pointer; }body.p-termin #dpf .form-consent label{ font-size: .8rem; color: var(--text-muted); line-height: 1.55; cursor: pointer; }body.p-termin #dpf .form-consent a{ color: var(--green-dark); text-decoration: underline; }body.p-termin #dpf .submit-btn{ width: 100%; }body.p-termin #dpf .form-note{ text-align: center; font-size: .76rem; color: var(--text-muted); margin-top: 14px; }body.p-termin #dpf .form-trust{ display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 22px; padding-top: 22px; border-top: 1px solid var(--gray-line); }body.p-termin #dpf .form-trust-avatars{ display: flex; }body.p-termin #dpf .form-trust-avatars img{ width: 38px; height: 38px; border-radius: 50%; border: 2px solid var(--white); margin-left: -10px; object-fit: cover; background: #fff; box-shadow: var(--shadow-sm); }body.p-termin #dpf .form-trust-avatars img:first-child{ margin-left: 0; }body.p-termin #dpf .form-trust-text{ font-size: .82rem; line-height: 1.4; }body.p-termin #dpf .form-trust-text strong{ display: block; color: var(--navy); font-weight: 700; }body.p-termin #dpf .form-trust-text span{ color: var(--text-muted); }body.p-termin #dpf .hp-field{ position: absolute; left: -9999px; top: -9999px; opacity: 0; pointer-events: none; }body.p-termin #dpf .iti{ width: 100%; display: block; position: relative; height: fit-content; }body.p-termin #dpf .iti__flag-container{ position: absolute; top: 0; bottom: 0; left: 0; display: flex; align-items: center; pointer-events: none; }body.p-termin #dpf .iti__tel-input{ width: 100%; padding: 13px 15px 13px 52px; border: 1px solid var(--gray-line); border-radius: 9px; font-size: .9rem; font-family: 'Inter', sans-serif; color: var(--text); background: var(--white); transition: border-color .2s, box-shadow .2s; }body.p-termin #dpf .iti__tel-input:focus{ outline: none; border-color: var(--green); box-shadow: 0 0 0 3px rgba(64,193,172,.15); }body.p-termin #dpf .iti__tel-input::placeholder{ color: #aab3ba; }body.p-termin #dpf .iti--separate-dial-code .iti__selected-dial-code{ font-size: .9rem; }body.p-termin #dpf .iti__country-list li:nth-child(3){ border-bottom: 1px solid var(--gray-line); margin-bottom: 4px; padding-bottom: 4px; }body.p-termin #dpf .form-group.has-error .field-error{ display: block; }body.p-termin #dpf .form-group.has-error .iti__tel-input{ border-color: var(--error); box-shadow: 0 0 0 3px rgba(163,45,45,.08); }body.p-termin #dpf .form-success{ display: none; text-align: center; padding: 24px 8px; }body.p-termin #dpf .form-success.show{ display: block; }body.p-termin #dpf .success-icon{ width: 76px; height: 76px; border-radius: 50%; background: var(--green); display: flex; align-items: center; justify-content: center; margin: 0 auto 22px; box-shadow: 0 6px 20px rgba(64,193,172,.35); }body.p-termin #dpf .success-icon svg{ width: 36px; height: 36px; fill: none; stroke: var(--white); stroke-width: 3; }body.p-termin #dpf .form-success h2{ font-size: 1.5rem; color: var(--navy); margin-bottom: 12px; }body.p-termin #dpf .form-success p{ font-size: .95rem; color: var(--text-soft); line-height: 1.7; max-width: 360px; margin: 0 auto; }body.p-termin #dpf .form-success .success-sub{ font-size: .82rem; color: var(--text-muted); margin-top: 18px; }body.p-termin #dpf .ansprech-card{ margin-top: 26px; display: flex; align-items: center; gap: 16px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.16); border-radius: 16px; padding: 18px 20px; }body.p-termin #dpf .ansprech-photo{ width: 66px; height: 66px; border-radius: 50%; object-fit: cover; object-position: top; border: 2px solid var(--green-light); flex-shrink: 0; background: #fff; }body.p-termin #dpf .ansprech-info{ line-height: 1.45; }body.p-termin #dpf .ansprech-eyebrow{ font-size: .67rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--green-light); margin-bottom: 4px; }body.p-termin #dpf .ansprech-name{ font-size: 1rem; font-weight: 700; color: var(--white); }body.p-termin #dpf .ansprech-role{ font-size: .8rem; color: rgba(255,255,255,.65); }body.p-termin #dpf .ref-section{ background: var(--off-white); padding: 88px 6%; border-top: 1px solid var(--gray-line); }body.p-termin #dpf .ref-inner{ max-width: 1180px; margin: 0 auto; }body.p-termin #dpf .ref-head{ text-align: center; margin-bottom: 48px; }body.p-termin #dpf .ref-head .ref-tag{ font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--green); margin-bottom: 12px; }body.p-termin #dpf .ref-head .ref-title{ font-size: clamp(1.7rem, 3vw, 2.3rem); font-weight: 700; color: var(--navy); }body.p-termin #dpf .ref-head .ref-title em{ color: var(--green); }body.p-termin #dpf .ref-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }body.p-termin #dpf .ref-card{ border-radius: 18px; border: 1px solid var(--gray-line); overflow: hidden; transition: all .3s; background: var(--white); display: flex; flex-direction: column; }body.p-termin #dpf .ref-card:hover{ border-color: rgba(64,193,172,.3); box-shadow: var(--shadow-lg); transform: translateY(-4px); }body.p-termin #dpf .ref-card-img{ width: 100%; height: 180px; object-fit: cover; display: block; }body.p-termin #dpf .ref-card-body{ padding: 24px; flex: 1; display: flex; flex-direction: column; }body.p-termin #dpf .ref-logo{ height: 26px; max-width: 120px; object-fit: contain; display: block; margin-bottom: 14px; filter: grayscale(100%); opacity: .55; }body.p-termin #dpf .ref-type{ display: inline-block; font-size: .7rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--white); background: var(--green); border-radius: 100px; padding: 3px 10px; margin-bottom: 10px; align-self: flex-start; }body.p-termin #dpf .ref-name{ font-size: 1rem; font-weight: 600; color: var(--navy); margin-bottom: 16px; }body.p-termin #dpf .ref-metrics{ display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; }body.p-termin #dpf .ref-metric{ display: flex; gap: 10px; align-items: flex-start; }body.p-termin #dpf .ref-dot{ width: 5px; height: 5px; border-radius: 50%; background: var(--green); flex-shrink: 0; margin-top: 8px; }body.p-termin #dpf .ref-metric-text{ font-size: .84rem; color: var(--text-soft); line-height: 1.5; }body.p-termin #dpf .ref-metric-text strong{ color: var(--text); }body.p-termin #dpf .ref-highlight{ background: var(--green-pale); border-radius: 10px; padding: 14px 16px; border-left: 3px solid var(--green); margin-top: auto; }body.p-termin #dpf .ref-highlight-big{ font-family: 'Fraunces', serif; font-size: 1.5rem; font-weight: 700; color: var(--green); display: block; line-height: 1; }body.p-termin #dpf .ref-highlight-label{ font-size: .78rem; color: var(--text-soft); margin-top: 2px; }body.p-termin #dpf .ref-foerder-footer{ background: linear-gradient(90deg, var(--green) 0%, var(--green-mid) 100%); padding: 14px 24px; display: flex; align-items: center; gap: 12px; }body.p-termin #dpf .ref-foerder-icon{ width: 20px; height: 20px; flex-shrink: 0; }body.p-termin #dpf .ref-foerder-icon svg{ width: 100%; height: 100%; fill: var(--navy); }body.p-termin #dpf .ref-foerder-text{ flex: 1; color: rgba(16,24,32,.75); font-size: .85rem; font-weight: 600; }body.p-termin #dpf .ref-foerder-amount{ font-size: 1.05rem; font-weight: 800; color: var(--navy); margin-left: 6px; }body.p-termin #dpf .ref-more{ text-align: center; margin-top: 42px; }body.p-termin #dpf-footer{ background: var(--navy); padding: 56px 6% 36px; }body.p-termin #dpf .footer-inner{ max-width: 1180px; margin: 0 auto; display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 56px; margin-bottom: 40px; }body.p-termin #dpf .footer-logo img{ height: 36px; margin-bottom: 16px; display: block; opacity: .9; }body.p-termin #dpf .footer-tagline{ font-size: .85rem; color: rgba(255,255,255,.4); line-height: 1.75; max-width: 320px; }body.p-termin #dpf .footer-contact{ margin-top: 20px; font-size: .83rem; color: rgba(255,255,255,.4); line-height: 2; }body.p-termin #dpf .footer-contact a{ color: rgba(255,255,255,.4); text-decoration: none; transition: color .2s; }body.p-termin #dpf .footer-contact a:hover{ color: rgba(255,255,255,.8); }body.p-termin #dpf .footer-col-title{ font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: rgba(255,255,255,.25); margin-bottom: 16px; }body.p-termin #dpf .footer-links{ list-style: none; display: flex; flex-direction: column; gap: 10px; padding: 0; margin: 0; }body.p-termin #dpf .footer-links a{ color: rgba(255,255,255,.5); text-decoration: none; font-size: .875rem; transition: color .2s; }body.p-termin #dpf .footer-links a:hover{ color: rgba(255,255,255,.85); }body.p-termin #dpf .footer-bottom{ max-width: 1180px; margin: 0 auto; padding-top: 26px; border-top: 1px solid rgba(255,255,255,.07); display: flex; justify-content: space-between; align-items: center; font-size: .78rem; color: rgba(255,255,255,.2); }body.p-termin #dpf .disclaimer{ max-width: 1180px; margin: 22px auto 0; font-size: .71rem; color: rgba(255,255,255,.18); line-height: 1.7; }






@keyframes p-termin-dpf-pulse { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: .4; transform: scale(.8); } }
@media (max-width: 1060px) {body.p-termin #dpf .anfrage{ padding: 120px 5% 72px; background-attachment: scroll; }body.p-termin #dpf .anfrage-inner{ display: flex; flex-direction: column; gap: 0; align-items: stretch; }body.p-termin #dpf .anfrage-intro{ display: contents; }body.p-termin #dpf .foerder-result{ order: 1; }body.p-termin #dpf .anfrage-badge{ order: 2; align-self: flex-start; }body.p-termin #dpf .anfrage-intro h1{ order: 3; }body.p-termin #dpf .anfrage-sub{ order: 4; }body.p-termin #dpf .form-card{ order: 5; }body.p-termin #dpf .anfrage-points{ order: 6; margin: 36px 0 0; }body.p-termin #dpf .ansprech-card{ order: 7; }body.p-termin #dpf .ref-grid{ grid-template-columns: 1fr 1fr; }body.p-termin #dpf .footer-inner{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {body.p-termin #dpf-nav{ padding: 12px 5%; }body.p-termin #dpf-nav.scrolled{ padding: 10px 5%; }body.p-termin #dpf .nav-logo img{ height: 40px; }body.p-termin #dpf .nav-cta{ padding: 9px 16px !important; font-size: .8rem; }body.p-termin #dpf .anfrage{ padding: 100px 5% 56px; }body.p-termin #dpf .form-card{ padding: 30px 22px; }body.p-termin #dpf .fr-grid{ grid-template-columns: 1fr 1fr; gap: 12px 16px; }body.p-termin #dpf .form-row{ grid-template-columns: 1fr; gap: 0; }body.p-termin #dpf .form-group input, body.p-termin #dpf .form-group select{ font-size: 16px; }body.p-termin #dpf .ref-section{ padding: 64px 5%; }body.p-termin #dpf .ref-grid{ grid-template-columns: 1fr; }body.p-termin #dpf .footer-inner{ grid-template-columns: 1fr; gap: 30px; }body.p-termin #dpf .footer-bottom{ flex-direction: column; gap: 8px; text-align: center; }
}
@media (max-width: 420px) {body.p-termin #dpf .nav-logo img{ height: 34px; }body.p-termin #dpf .nav-cta{ padding: 8px 13px !important; font-size: .74rem; }body.p-termin #dpf .anfrage-intro h1{ font-size: 1.95rem; }body.p-termin #dpf .fr-amount-big{ font-size: 2rem; }body.p-termin #dpf .fr-grid{ grid-template-columns: 1fr; }body.p-termin #dpf .foerder-result{ padding: 20px 18px; }body.p-termin #dpf .form-card{ padding: 24px 18px; }body.p-termin #dpf .ansprech-card{ padding: 14px 16px; gap: 12px; }body.p-termin #dpf .ansprech-photo{ width: 54px; height: 54px; }
}

/* ===== datenschutz.html  (p-datenschutz) ===== */
body.p-datenschutz *, body.p-datenschutz *::before, body.p-datenschutz *::after{ box-sizing: border-box; margin: 0; padding: 0; }body.p-datenschutz{
  --green:       #40C1AC;
  --green-mid:   #34a894;
  --green-dark:  #1f7d6e;
  --green-light: #A0D1CA;
  --green-pale:  #eef7f5;
  --navy:        #101820;
  --text:        #101820;
  --text-soft:   #3d4853;
  --text-muted:  #6b7680;
  --white:       #ffffff;
  --off-white:   #f4f6f5;
  --gray-line:   #e2e8e5;
  --gray-card:   #eef2f0;
  --shadow-sm:   0 4px 16px rgba(16,24,32,.06);
  --shadow-md:   0 8px 28px rgba(16,24,32,.08);
}body.p-datenschutz{ font-family: 'Inter', sans-serif; background: var(--off-white); color: var(--text); line-height: 1.6; }body.p-datenschutz img{ display: block; max-width: 100%; }body.p-datenschutz nav{
  position: sticky; top: 0; z-index: 1000;
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px 6%;
  background: rgba(255,255,255,.97); backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--gray-line);
  box-shadow: 0 2px 16px rgba(16,24,32,.05);
}body.p-datenschutz .nav-logo img{ height: 48px; display: block; }body.p-datenschutz .nav-back{
  text-decoration: none; color: var(--text-muted);
  font-size: .8rem; font-weight: 500; letter-spacing: .06em;
  text-transform: uppercase; transition: color .2s;
  display: flex; align-items: center; gap: 6px;
}body.p-datenschutz .nav-back::before{ content: '←'; font-size: .9rem; }body.p-datenschutz .nav-back:hover{ color: var(--green); }body.p-datenschutz .page-hero{
  background: var(--navy);
  padding: 72px 6% 56px;
  position: relative; overflow: hidden;
}body.p-datenschutz .page-hero::before{
  content: '';
  position: absolute; top: -60px; right: -60px;
  width: 300px; height: 300px; border-radius: 50%;
  background: rgba(64,193,172,.07); pointer-events: none;
}body.p-datenschutz .hero-inner{ max-width: 860px; margin: 0 auto; position: relative; z-index: 1; }body.p-datenschutz .hero-tag{
  display: inline-flex; align-items: center; gap: 10px;
  font-size: .7rem; font-weight: 700; letter-spacing: .14em;
  text-transform: uppercase; color: var(--green);
  margin-bottom: 20px;
}body.p-datenschutz .hero-tag::before{ content: ''; display: block; width: 28px; height: 1px; background: var(--green); opacity: .6; }body.p-datenschutz .page-hero h1{
  font-family: 'Fraunces', serif; font-weight: 700;
  font-size: clamp(2.2rem, 4vw, 3.2rem);
  color: var(--white); letter-spacing: -.02em; line-height: 1.15;
  margin-bottom: 12px;
}body.p-datenschutz .hero-sub{ font-size: .9rem; color: rgba(255,255,255,.45); margin-top: 8px; }body.p-datenschutz .toc-bar{
  background: var(--white);
  border-bottom: 1px solid var(--gray-line);
  padding: 0 6%;
}body.p-datenschutz .toc-inner{
  max-width: 860px; margin: 0 auto;
  display: flex; gap: 0; overflow-x: auto;
  scrollbar-width: none;
}body.p-datenschutz .toc-inner::-webkit-scrollbar{ display: none; }body.p-datenschutz .toc-link{
  display: block; padding: 14px 18px;
  font-size: .76rem; font-weight: 500; color: var(--text-muted);
  text-decoration: none; white-space: nowrap;
  border-bottom: 2px solid transparent;
  transition: color .2s, border-color .2s;
}body.p-datenschutz .toc-link:hover{ color: var(--green); border-bottom-color: var(--green); }body.p-datenschutz .page-content{ padding: 64px 6% 96px; }body.p-datenschutz .legal-wrap{ max-width: 860px; margin: 0 auto; }body.p-datenschutz .intro-box{
  background: var(--green-pale);
  border-left: 3px solid var(--green);
  border-radius: 0 12px 12px 0;
  padding: 20px 24px;
  margin-bottom: 48px;
  font-size: .89rem; color: var(--text-soft); line-height: 1.7;
}body.p-datenschutz .legal-section{ margin-bottom: 48px; scroll-margin-top: 80px; }body.p-datenschutz .legal-section h2{
  font-family: 'Fraunces', serif; font-weight: 600;
  font-size: 1.5rem; color: var(--navy);
  letter-spacing: -.02em; line-height: 1.2;
  margin-bottom: 20px; padding-bottom: 12px;
  border-bottom: 2px solid var(--gray-line);
  position: relative;
}body.p-datenschutz .legal-section h2::after{
  content: '';
  position: absolute; bottom: -2px; left: 0;
  width: 40px; height: 2px; background: var(--green);
}body.p-datenschutz .legal-section h3{
  font-size: .95rem; font-weight: 600; color: var(--navy);
  margin: 24px 0 10px;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--gray-line);
}body.p-datenschutz .legal-section h4{
  font-size: .88rem; font-weight: 600; color: var(--text-soft);
  margin: 16px 0 6px;
}body.p-datenschutz .legal-section p{
  font-size: .9rem; color: var(--text-soft);
  line-height: 1.85; margin-bottom: .85rem;
}body.p-datenschutz .legal-section em{ font-style: italic; color: var(--text-muted); }body.p-datenschutz .legal-section a{ color: var(--green-dark); text-decoration: none; transition: color .2s; }body.p-datenschutz .legal-section a:hover{ color: var(--green); text-decoration: underline; }body.p-datenschutz .legal-section hr{ border: none; border-top: 1px solid var(--gray-line); margin: 28px 0; }body.p-datenschutz .li-item{
  padding-left: 20px; position: relative;
  margin-bottom: 8px;
  font-size: .9rem; color: var(--text-soft); line-height: 1.75;
}body.p-datenschutz .li-item::before{ content: '·'; position: absolute; left: 4px; color: var(--green); font-size: 1.1rem; font-weight: 700; line-height: 1.6; }body.p-datenschutz .num-item{
  display: flex; gap: 12px;
  margin-bottom: 10px;
  font-size: .9rem; color: var(--text-soft); line-height: 1.75;
}body.p-datenschutz .num-item .num{
  font-weight: 600; color: var(--green-dark);
  flex-shrink: 0; min-width: 28px;
  font-size: .85rem;
}body.p-datenschutz .resp-box{
  background: var(--white);
  border: 1px solid var(--gray-line);
  border-radius: 12px;
  padding: 20px 24px;
  margin: 12px 0 20px;
  box-shadow: var(--shadow-sm);
}body.p-datenschutz .resp-box p{ margin-bottom: .5rem; }body.p-datenschutz .resp-box strong{ color: var(--navy); }body.p-datenschutz table{
  width: 100%; border-collapse: collapse;
  margin: 16px 0 24px;
  font-size: .85rem;
  background: var(--white);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: var(--shadow-sm);
}body.p-datenschutz thead th{
  background: var(--navy); color: var(--white);
  text-align: left; padding: 12px 16px;
  font-weight: 500; font-size: .76rem;
  letter-spacing: .05em; text-transform: uppercase;
}body.p-datenschutz tbody td{
  padding: 11px 16px;
  border-bottom: 1px solid var(--gray-line);
  color: var(--text-soft); line-height: 1.6;
  vertical-align: top;
}body.p-datenschutz tbody tr:last-child td{ border-bottom: none; }body.p-datenschutz tbody tr:hover td{ background: var(--off-white); }body.p-datenschutz .footer-note-legal{
  font-size: .8rem; color: var(--text-muted);
  line-height: 1.7; margin-top: 32px;
  padding: 20px 24px;
  background: var(--white);
  border: 1px solid var(--gray-line);
  border-radius: 12px;
}body.p-datenschutz .footer-note-legal strong{ color: var(--text-soft); }body.p-datenschutz #dpf-footer{ background: var(--navy); padding: 56px 6% 36px; }body.p-datenschutz .footer-inner{ max-width: 1240px; margin: 0 auto; display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 60px; margin-bottom: 40px; }body.p-datenschutz .footer-logo img{ height: 36px; margin-bottom: 16px; display: block; opacity: .9; }body.p-datenschutz .footer-tagline{ font-size: .84rem; color: rgba(255,255,255,.4); line-height: 1.75; max-width: 300px; }body.p-datenschutz .footer-contact{ margin-top: 18px; font-size: .82rem; color: rgba(255,255,255,.4); line-height: 2; }body.p-datenschutz .footer-contact a{ color: rgba(255,255,255,.4); text-decoration: none; transition: color .2s; }body.p-datenschutz .footer-contact a:hover{ color: rgba(255,255,255,.8); }body.p-datenschutz .footer-col-title{ font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: rgba(255,255,255,.25); margin-bottom: 14px; }body.p-datenschutz .footer-links{ list-style: none; display: flex; flex-direction: column; gap: 10px; padding: 0; }body.p-datenschutz .footer-links a{ color: rgba(255,255,255,.5); text-decoration: none; font-size: .875rem; transition: color .2s; }body.p-datenschutz .footer-links a:hover{ color: rgba(255,255,255,.85); }body.p-datenschutz .footer-bottom{ max-width: 1240px; margin: 0 auto; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.07); display: flex; justify-content: space-between; align-items: center; font-size: .76rem; color: rgba(255,255,255,.2); flex-wrap: wrap; gap: 8px; }



@media (max-width: 768px) {body.p-datenschutz nav{ padding: 14px 5%; }body.p-datenschutz .page-hero{ padding: 56px 5% 44px; }body.p-datenschutz .toc-bar{ padding: 0 5%; }body.p-datenschutz .page-content{ padding: 48px 5% 72px; }body.p-datenschutz .footer-inner{ grid-template-columns: 1fr; gap: 32px; }body.p-datenschutz .footer-bottom{ flex-direction: column; text-align: center; }body.p-datenschutz table{ font-size: .78rem; }body.p-datenschutz thead th, body.p-datenschutz tbody td{ padding: 10px 12px; }
}

/* ===== impressum.html  (p-impressum) ===== */
body.p-impressum *, body.p-impressum *::before, body.p-impressum *::after{ box-sizing: border-box; margin: 0; padding: 0; }body.p-impressum{
  --green:       #40C1AC;
  --green-mid:   #34a894;
  --green-dark:  #1f7d6e;
  --green-light: #A0D1CA;
  --green-pale:  #eef7f5;
  --navy:        #101820;
  --text:        #101820;
  --text-soft:   #3d4853;
  --text-muted:  #6b7680;
  --white:       #ffffff;
  --off-white:   #f4f6f5;
  --gray-line:   #e2e8e5;
  --gray-card:   #eef2f0;
  --shadow-sm:   0 4px 16px rgba(16,24,32,.06);
  --shadow-md:   0 8px 28px rgba(16,24,32,.08);
}body.p-impressum{ font-family: 'Inter', sans-serif; background: var(--off-white); color: var(--text); line-height: 1.6; }body.p-impressum img{ display: block; max-width: 100%; }body.p-impressum nav{
  position: sticky; top: 0; z-index: 1000;
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px 6%;
  background: rgba(255,255,255,.97); backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--gray-line);
  box-shadow: 0 2px 16px rgba(16,24,32,.05);
}body.p-impressum .nav-logo img{ height: 48px; display: block; }body.p-impressum .nav-back{
  text-decoration: none; color: var(--text-muted);
  font-size: .8rem; font-weight: 500; letter-spacing: .06em;
  text-transform: uppercase; transition: color .2s;
  display: flex; align-items: center; gap: 6px;
}body.p-impressum .nav-back::before{ content: '←'; font-size: .9rem; }body.p-impressum .nav-back:hover{ color: var(--green); }body.p-impressum .page-hero{
  background: var(--navy);
  padding: 72px 6% 56px;
  position: relative; overflow: hidden;
}body.p-impressum .page-hero::before{
  content: '';
  position: absolute; top: -60px; right: -60px;
  width: 300px; height: 300px; border-radius: 50%;
  background: rgba(64,193,172,.07); pointer-events: none;
}body.p-impressum .page-hero::after{
  content: '';
  position: absolute; bottom: 0; left: 0; right: 0;
  height: 1px; background: rgba(255,255,255,.06);
}body.p-impressum .hero-inner{ max-width: 860px; margin: 0 auto; position: relative; z-index: 1; }body.p-impressum .hero-tag{
  display: inline-flex; align-items: center; gap: 10px;
  font-size: .7rem; font-weight: 700; letter-spacing: .14em;
  text-transform: uppercase; color: var(--green);
  margin-bottom: 20px;
}body.p-impressum .hero-tag::before{ content: ''; display: block; width: 28px; height: 1px; background: var(--green); opacity: .6; }body.p-impressum .page-hero h1{
  font-family: 'Fraunces', serif; font-weight: 700;
  font-size: clamp(2.2rem, 4vw, 3.2rem);
  color: var(--white); letter-spacing: -.02em; line-height: 1.15;
}body.p-impressum .page-content{ padding: 64px 6% 96px; }body.p-impressum .legal-wrap{ max-width: 860px; margin: 0 auto; }body.p-impressum .info-block{
  background: var(--white);
  border: 1px solid var(--gray-line);
  border-radius: 16px;
  padding: 36px 40px;
  margin-bottom: 48px;
  box-shadow: var(--shadow-sm);
}body.p-impressum .info-block-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }body.p-impressum .info-label{
  font-size: .7rem; font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; color: var(--green);
  margin-bottom: 10px;
}body.p-impressum .info-block p{
  font-size: .9rem; color: var(--text-soft); line-height: 1.8;
  margin-bottom: .4rem;
}body.p-impressum .info-block strong{ font-weight: 600; color: var(--text); }body.p-impressum .info-block a{ color: var(--green-dark); text-decoration: none; transition: color .2s; }body.p-impressum .info-block a:hover{ color: var(--green); }body.p-impressum .legal-section{ margin-bottom: 40px; }body.p-impressum .legal-section h2{
  font-family: 'Fraunces', serif; font-weight: 600;
  font-size: 1.5rem; color: var(--navy);
  letter-spacing: -.02em; line-height: 1.2;
  margin-bottom: 16px; padding-bottom: 12px;
  border-bottom: 2px solid var(--gray-line);
  position: relative;
}body.p-impressum .legal-section h2::after{
  content: '';
  position: absolute; bottom: -2px; left: 0;
  width: 40px; height: 2px; background: var(--green);
}body.p-impressum .legal-section p{
  font-size: .91rem; color: var(--text-soft);
  line-height: 1.85; margin-bottom: .85rem;
}body.p-impressum .legal-section a{ color: var(--green-dark); text-decoration: none; transition: color .2s; }body.p-impressum .legal-section a:hover{ color: var(--green); }body.p-impressum .legal-section hr{
  border: none; border-top: 1px solid var(--gray-line);
  margin: 32px 0;
}body.p-impressum #dpf-footer{ background: var(--navy); padding: 56px 6% 36px; }body.p-impressum .footer-inner{ max-width: 1240px; margin: 0 auto; display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 60px; margin-bottom: 40px; }body.p-impressum .footer-logo img{ height: 36px; margin-bottom: 16px; display: block; opacity: .9; }body.p-impressum .footer-tagline{ font-size: .84rem; color: rgba(255,255,255,.4); line-height: 1.75; max-width: 300px; }body.p-impressum .footer-contact{ margin-top: 18px; font-size: .82rem; color: rgba(255,255,255,.4); line-height: 2; }body.p-impressum .footer-contact a{ color: rgba(255,255,255,.4); text-decoration: none; transition: color .2s; }body.p-impressum .footer-contact a:hover{ color: rgba(255,255,255,.8); }body.p-impressum .footer-col-title{ font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: rgba(255,255,255,.25); margin-bottom: 14px; }body.p-impressum .footer-links{ list-style: none; display: flex; flex-direction: column; gap: 10px; padding: 0; }body.p-impressum .footer-links a{ color: rgba(255,255,255,.5); text-decoration: none; font-size: .875rem; transition: color .2s; }body.p-impressum .footer-links a:hover{ color: rgba(255,255,255,.85); }body.p-impressum .footer-bottom{ max-width: 1240px; margin: 0 auto; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.07); display: flex; justify-content: space-between; align-items: center; font-size: .76rem; color: rgba(255,255,255,.2); flex-wrap: wrap; gap: 8px; }



@media (max-width: 768px) {body.p-impressum nav{ padding: 14px 5%; }body.p-impressum .page-hero{ padding: 56px 5% 44px; }body.p-impressum .page-content{ padding: 48px 5% 72px; }body.p-impressum .info-block{ padding: 28px 24px; }body.p-impressum .info-block-grid{ grid-template-columns: 1fr; gap: 24px; }body.p-impressum .footer-inner{ grid-template-columns: 1fr; gap: 32px; }body.p-impressum .footer-bottom{ flex-direction: column; text-align: center; }
}

/* ===== dpf-agb.html  (p-agb) ===== */
body.p-agb *, body.p-agb *::before, body.p-agb *::after{ box-sizing: border-box; margin: 0; padding: 0; }body.p-agb{
  --green:       #40C1AC;
  --green-mid:   #34a894;
  --green-dark:  #1f7d6e;
  --green-light: #A0D1CA;
  --green-pale:  #eef7f5;
  --navy:        #101820;
  --text:        #101820;
  --text-soft:   #3d4853;
  --text-muted:  #6b7680;
  --white:       #ffffff;
  --off-white:   #f4f6f5;
  --gray-line:   #e2e8e5;
  --gray-card:   #eef2f0;
  --shadow-sm:   0 4px 16px rgba(16,24,32,.06);
  --shadow-md:   0 8px 28px rgba(16,24,32,.08);
}body.p-agb{ font-family: 'Inter', sans-serif; background: var(--off-white); color: var(--text); line-height: 1.6; }body.p-agb img{ display: block; max-width: 100%; }body.p-agb nav{
  position: sticky; top: 0; z-index: 1000;
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px 6%;
  background: rgba(255,255,255,.97); backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--gray-line);
  box-shadow: 0 2px 16px rgba(16,24,32,.05);
}body.p-agb .nav-logo img{ height: 48px; display: block; }body.p-agb .nav-back{
  text-decoration: none; color: var(--text-muted);
  font-size: .8rem; font-weight: 500; letter-spacing: .06em;
  text-transform: uppercase; transition: color .2s;
  display: flex; align-items: center; gap: 6px;
}body.p-agb .nav-back::before{ content: '←'; font-size: .9rem; }body.p-agb .nav-back:hover{ color: var(--green); }body.p-agb .page-hero{
  background: var(--navy);
  padding: 72px 6% 56px;
  position: relative; overflow: hidden;
}body.p-agb .page-hero::before{
  content: '';
  position: absolute; top: -60px; right: -60px;
  width: 300px; height: 300px; border-radius: 50%;
  background: rgba(64,193,172,.07); pointer-events: none;
}body.p-agb .hero-inner{ max-width: 860px; margin: 0 auto; position: relative; z-index: 1; }body.p-agb .hero-tag{
  display: inline-flex; align-items: center; gap: 10px;
  font-size: .7rem; font-weight: 700; letter-spacing: .14em;
  text-transform: uppercase; color: var(--green);
  margin-bottom: 20px;
}body.p-agb .hero-tag::before{ content: ''; display: block; width: 28px; height: 1px; background: var(--green); opacity: .6; }body.p-agb .page-hero h1{
  font-family: 'Fraunces', serif; font-weight: 700;
  font-size: clamp(2.2rem, 4vw, 3.2rem);
  color: var(--white); letter-spacing: -.02em; line-height: 1.15;
  margin-bottom: 12px;
}body.p-agb .hero-sub{ font-size: .9rem; color: rgba(255,255,255,.45); margin-top: 8px; }body.p-agb .page-content{ padding: 64px 6% 96px; }body.p-agb .legal-wrap{ max-width: 860px; margin: 0 auto; }body.p-agb .intro-box{
  background: var(--green-pale);
  border-left: 3px solid var(--green);
  border-radius: 0 12px 12px 0;
  padding: 20px 24px;
  margin-bottom: 48px;
  font-size: .89rem; color: var(--text-soft); line-height: 1.7;
}body.p-agb .legal-section{ margin-bottom: 40px; }body.p-agb .legal-section > p{
  font-size: .91rem; color: var(--text-soft);
  line-height: 1.85; margin-bottom: .85rem;
}body.p-agb .legal-section h2{
  font-family: 'Fraunces', serif; font-weight: 600;
  font-size: 1.4rem; color: var(--navy);
  letter-spacing: -.02em; line-height: 1.25;
  margin-bottom: 16px; padding-bottom: 10px;
  border-bottom: 2px solid var(--gray-line);
  position: relative;
}body.p-agb .legal-section h2::after{
  content: '';
  position: absolute; bottom: -2px; left: 0;
  width: 40px; height: 2px; background: var(--green);
}body.p-agb .legal-section h3{
  font-size: .92rem; font-weight: 600; color: var(--navy);
  margin: 20px 0 8px;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--gray-line);
}body.p-agb .legal-section a{ color: var(--green-dark); text-decoration: none; transition: color .2s; }body.p-agb .legal-section a:hover{ color: var(--green); }body.p-agb .legal-section hr{ border: none; border-top: 1px solid var(--gray-line); margin: 32px 0; }body.p-agb .legal-section ol{
  counter-reset: item; list-style: none;
  padding: 0; margin: 0 0 12px;
}body.p-agb .legal-section ol > li{
  counter-increment: item;
  padding-left: 2.4rem; position: relative;
  margin-bottom: 8px;
  font-size: .9rem; color: var(--text-soft); line-height: 1.8;
}body.p-agb .legal-section ol > li::before{
  content: "(" counter(item) ")";
  position: absolute; left: 0;
  font-weight: 600; color: var(--green-dark);
  font-size: .82rem;
}body.p-agb .legal-section ul{ list-style: none; padding: 0; margin: 8px 0 12px; }body.p-agb .legal-section ul > li{
  padding-left: 1.4rem; position: relative;
  margin-bottom: 5px;
  font-size: .88rem; color: var(--text-soft); line-height: 1.75;
}body.p-agb .legal-section ul > li::before{
  content: '–'; position: absolute; left: 0;
  color: var(--green); font-weight: 600;
}body.p-agb .sepa-block{
  background: var(--white);
  border: 1px solid var(--gray-line);
  border-radius: 16px;
  padding: 32px 36px;
  margin: 24px 0;
  box-shadow: var(--shadow-sm);
}body.p-agb .sepa-field{
  border-bottom: 1px solid var(--gray-line);
  padding: 8px 0 6px;
  margin-bottom: 16px;
  min-height: 44px;
}body.p-agb .sepa-label{
  font-size: .72rem; font-weight: 600;
  color: var(--text-muted); display: block;
  margin-bottom: 4px; letter-spacing: .04em;
  text-transform: uppercase;
}body.p-agb .sepa-sig{ display: flex; justify-content: space-between; margin-top: 24px; gap: 24px; }body.p-agb .sepa-sig .sepa-field{ flex: 1; }body.p-agb .sepa-note{
  font-size: .8rem; color: var(--text-muted);
  margin-top: 16px; line-height: 1.65;
  padding: 12px 16px;
  background: var(--off-white);
  border-radius: 8px;
}body.p-agb .section-divider{
  display: flex; align-items: center; gap: 16px;
  margin: 48px 0 32px;
}body.p-agb .section-divider-line{ flex: 1; height: 1px; background: var(--gray-line); }body.p-agb .section-divider-label{
  font-size: .7rem; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase;
  color: var(--text-muted);
  white-space: nowrap;
}body.p-agb .footer-note-legal{
  font-size: .8rem; color: var(--text-muted);
  line-height: 1.7; margin-top: 32px;
  padding: 20px 24px;
  background: var(--white);
  border: 1px solid var(--gray-line);
  border-radius: 12px;
}body.p-agb #dpf-footer{ background: var(--navy); padding: 56px 6% 36px; }body.p-agb .footer-inner{ max-width: 1240px; margin: 0 auto; display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 60px; margin-bottom: 40px; }body.p-agb .footer-logo img{ height: 36px; margin-bottom: 16px; display: block; opacity: .9; }body.p-agb .footer-tagline{ font-size: .84rem; color: rgba(255,255,255,.4); line-height: 1.75; max-width: 300px; }body.p-agb .footer-contact{ margin-top: 18px; font-size: .82rem; color: rgba(255,255,255,.4); line-height: 2; }body.p-agb .footer-contact a{ color: rgba(255,255,255,.4); text-decoration: none; transition: color .2s; }body.p-agb .footer-contact a:hover{ color: rgba(255,255,255,.8); }body.p-agb .footer-col-title{ font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: rgba(255,255,255,.25); margin-bottom: 14px; }body.p-agb .footer-links{ list-style: none; display: flex; flex-direction: column; gap: 10px; padding: 0; }body.p-agb .footer-links a{ color: rgba(255,255,255,.5); text-decoration: none; font-size: .875rem; transition: color .2s; }body.p-agb .footer-links a:hover{ color: rgba(255,255,255,.85); }body.p-agb .footer-bottom{ max-width: 1240px; margin: 0 auto; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.07); display: flex; justify-content: space-between; align-items: center; font-size: .76rem; color: rgba(255,255,255,.2); flex-wrap: wrap; gap: 8px; }



@media (max-width: 768px) {body.p-agb nav{ padding: 14px 5%; }body.p-agb .page-hero{ padding: 56px 5% 44px; }body.p-agb .page-content{ padding: 48px 5% 72px; }body.p-agb .sepa-block{ padding: 24px 20px; }body.p-agb .sepa-sig{ flex-direction: column; }body.p-agb .footer-inner{ grid-template-columns: 1fr; gap: 32px; }body.p-agb .footer-bottom{ flex-direction: column; text-align: center; }
}

/* ===== zoom-termin.html  (p-zoom) ===== */
body.p-zoom *{ box-sizing: border-box; }body.p-zoom{ margin: 0; padding: 0; }body.p-zoom{
  --green:       #40C1AC;
  --green-mid:   #34a894;
  --green-dark:  #1f7d6e;
  --green-light: #A0D1CA;
  --green-pale:  #eef7f5;
  --navy:        #101820;
  --text:        #101820;
  --text-soft:   #3d4853;
  --text-muted:  #6b7680;
  --white:       #ffffff;
  --off-white:   #f4f6f5;
  --gray-line:   #e2e8e5;
  --shadow-sm:   0 4px 16px rgba(16,24,32,.06);
  --shadow-md:   0 8px 28px rgba(16,24,32,.10);
}body.p-zoom #dpf{ font-family: 'Inter', sans-serif; background: var(--white); color: var(--text); line-height: 1.6; margin: 0; padding: 0; overflow-x: hidden; }body.p-zoom #dpf img{ max-width: 100%; }body.p-zoom #dpf h1, body.p-zoom #dpf h2, body.p-zoom #dpf h3{ font-family: 'Fraunces', serif; letter-spacing: -0.02em; line-height: 1.15; margin: 0; }body.p-zoom #dpf p{ margin: 0; }body.p-zoom #dpf-nav{
  position: fixed; top: 0; left: 0; right: 0; z-index: 10000;
  padding: 18px 6%; display: flex; justify-content: space-between; align-items: center;
  background: rgba(255,255,255,.96); backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--gray-line);
  transition: padding .3s, box-shadow .3s;
}body.p-zoom #dpf-nav.scrolled{ padding: 12px 6%; box-shadow: 0 2px 20px rgba(0,0,0,.08); }body.p-zoom #dpf .nav-logo img{ height: 52px; display: block; }body.p-zoom .nav-back{
  text-decoration: none; color: var(--text-muted);
  font-size: .8rem; font-weight: 500; letter-spacing: .06em;
  text-transform: uppercase; transition: color .2s;
  display: flex; align-items: center; gap: 6px;
}body.p-zoom .nav-back::before{ content: '←'; font-size: .9rem; }body.p-zoom .nav-back:hover{ color: var(--green); }body.p-zoom .zoom-hero{
  background: var(--green);
  padding: 140px 6% 80px;
  text-align: center;
  position: relative; overflow: hidden;
}body.p-zoom .zoom-hero::before{
  content: '';
  position: absolute; top: -80px; right: -80px;
  width: 400px; height: 400px; border-radius: 50%;
  background: rgba(255,255,255,.07); pointer-events: none;
}body.p-zoom .zoom-hero::after{
  content: '';
  position: absolute; bottom: -60px; left: -60px;
  width: 300px; height: 300px; border-radius: 50%;
  background: rgba(255,255,255,.05); pointer-events: none;
}body.p-zoom .zoom-hero-inner{ max-width: 760px; margin: 0 auto; position: relative; z-index: 1; }body.p-zoom .zoom-hero-icon{
  width: 72px; height: 72px; border-radius: 20px;
  background: rgba(255,255,255,.2);
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 28px;
  font-size: 2rem;
}body.p-zoom .zoom-hero h1{
  font-size: clamp(2rem, 5vw, 3rem);
  color: var(--white); margin-bottom: 16px;
}body.p-zoom .zoom-hero .hero-sub{
  font-size: 1rem; color: rgba(255,255,255,.85);
  max-width: 600px; margin: 0 auto;
  line-height: 1.7; text-align: center;
  white-space: nowrap;
}body.p-zoom .zoom-main{
  padding: 80px 6% 96px;
  background: var(--off-white);
}body.p-zoom .zoom-main-inner{ max-width: 680px; margin: 0 auto; }body.p-zoom .zoom-card{
  background: var(--white);
  border-radius: 20px;
  box-shadow: var(--shadow-md);
  overflow: hidden;
  margin-bottom: 32px;
}body.p-zoom .zoom-card-header{
  background: var(--navy);
  padding: 28px 40px;
  display: flex; align-items: center; gap: 16px;
}body.p-zoom .zoom-card-header-icon{
  width: 44px; height: 44px; border-radius: 12px;
  background: rgba(64,193,172,.2);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.3rem; flex-shrink: 0;
}body.p-zoom .zoom-card-header h2{
  font-size: 1.2rem; color: var(--white); font-weight: 600;
}body.p-zoom .zoom-card-body{ padding: 40px; text-align: center; }body.p-zoom .btn-zoom{
  display: inline-block;
  background: var(--green);
  color: var(--white);
  font-family: 'Inter', sans-serif;
  font-size: 1rem; font-weight: 600;
  text-decoration: none;
  padding: 18px 40px;
  border-radius: 50px;
  transition: background .2s, transform .15s, box-shadow .2s;
  box-shadow: 0 4px 20px rgba(64,193,172,.35);
  margin-bottom: 28px;
  display: block;
}body.p-zoom .btn-zoom:hover{
  background: var(--green-mid);
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(64,193,172,.4);
}body.p-zoom .zoom-or{ font-size: .85rem; color: var(--text-muted); margin-bottom: 12px; }body.p-zoom .zoom-link-box{
  background: var(--off-white);
  border: 1px solid var(--gray-line);
  border-radius: 10px;
  padding: 14px 20px;
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px; margin-bottom: 20px;
}body.p-zoom .zoom-link-box a{
  color: var(--green-dark); text-decoration: none;
  font-size: .9rem; font-weight: 500;
  word-break: break-all;
  transition: color .2s;
}body.p-zoom .zoom-link-box a:hover{ color: var(--green); }body.p-zoom .copy-btn{
  background: none; border: 1px solid var(--gray-line);
  border-radius: 8px; padding: 6px 12px;
  font-size: .75rem; font-weight: 600; color: var(--text-muted);
  cursor: pointer; transition: all .2s; white-space: nowrap; flex-shrink: 0;
  font-family: 'Inter', sans-serif;
}body.p-zoom .copy-btn:hover{ border-color: var(--green); color: var(--green); }body.p-zoom .copy-btn.copied{ border-color: var(--green); color: var(--green); background: var(--green-pale); }body.p-zoom .zoom-meeting-id{
  font-size: .85rem; color: var(--text-muted);
}body.p-zoom .zoom-meeting-id strong{ color: var(--text-soft); }body.p-zoom .phone-card{
  background: var(--white);
  border-radius: 20px;
  box-shadow: var(--shadow-sm);
  padding: 36px 40px;
  margin-bottom: 32px;
}body.p-zoom .phone-card h3{
  font-size: 1.3rem; color: var(--navy);
  margin-bottom: 24px; text-align: center;
}body.p-zoom .phone-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }body.p-zoom .phone-item{
  background: var(--off-white);
  border-radius: 12px; padding: 20px;
}body.p-zoom .phone-label{
  font-size: .7rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .08em; color: var(--green-dark);
  margin-bottom: 10px;
}body.p-zoom .phone-number{
  font-size: .88rem; color: var(--text-soft); line-height: 1.8;
}body.p-zoom .phone-number a{ color: var(--text-soft); text-decoration: none; transition: color .2s; }body.p-zoom .phone-number a:hover{ color: var(--green); }body.p-zoom .fallback-card{
  background: var(--navy);
  border-radius: 20px;
  padding: 36px 40px;
  text-align: center;
}body.p-zoom .fallback-card h3{
  font-size: 1.15rem; color: var(--white); margin-bottom: 8px;
}body.p-zoom .fallback-card p{
  font-size: .88rem; color: rgba(255,255,255,.5);
  margin-bottom: 24px; line-height: 1.6;
}body.p-zoom .btn-fallback{
  display: inline-block;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.2);
  color: var(--white);
  font-family: 'Inter', sans-serif;
  font-size: .9rem; font-weight: 600;
  text-decoration: none;
  padding: 14px 32px;
  border-radius: 50px;
  transition: background .2s, border-color .2s;
}body.p-zoom .btn-fallback:hover{
  background: rgba(255,255,255,.18);
  border-color: rgba(255,255,255,.4);
}body.p-zoom #dpf-footer{ background: var(--navy); padding: 64px 6% 40px; }body.p-zoom #dpf .footer-inner{ max-width: 1240px; margin: 0 auto; display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 60px; margin-bottom: 48px; }body.p-zoom #dpf .footer-logo img{ height: 36px; margin-bottom: 16px; display: block; opacity: .9; }body.p-zoom #dpf .footer-tagline{ font-size: .85rem; color: rgba(255,255,255,.4); line-height: 1.75; max-width: 320px; }body.p-zoom #dpf .footer-contact{ margin-top: 20px; font-size: .83rem; color: rgba(255,255,255,.4); line-height: 2; }body.p-zoom #dpf .footer-contact a{ color: rgba(255,255,255,.4); text-decoration: none; transition: color .2s; }body.p-zoom #dpf .footer-contact a:hover{ color: rgba(255,255,255,.8); }body.p-zoom #dpf .footer-col-title{ font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: rgba(255,255,255,.25); margin-bottom: 16px; }body.p-zoom #dpf .footer-links{ list-style: none; display: flex; flex-direction: column; gap: 10px; padding: 0; margin: 0; }body.p-zoom #dpf .footer-links a{ color: rgba(255,255,255,.5); text-decoration: none; font-size: .875rem; transition: color .2s; }body.p-zoom #dpf .footer-links a:hover{ color: rgba(255,255,255,.85); }body.p-zoom #dpf .footer-bottom{ max-width: 1240px; margin: 0 auto; padding-top: 28px; border-top: 1px solid rgba(255,255,255,.07); display: flex; justify-content: space-between; align-items: center; font-size: .78rem; color: rgba(255,255,255,.2); }



@media (max-width: 640px) {body.p-zoom .zoom-hero .hero-sub{ white-space: normal; font-size: .92rem; }
}
@media (max-width: 768px) {body.p-zoom #dpf-nav{ padding: 14px 5%; }body.p-zoom .zoom-hero{ padding: 120px 5% 64px; }body.p-zoom .zoom-main{ padding: 48px 5% 72px; }body.p-zoom .zoom-card-header{ padding: 22px 24px; }body.p-zoom .zoom-card-body{ padding: 28px 24px; }body.p-zoom .phone-card{ padding: 28px 24px; }body.p-zoom .phone-grid{ grid-template-columns: 1fr; }body.p-zoom .fallback-card{ padding: 28px 24px; }body.p-zoom #dpf .footer-inner{ grid-template-columns: 1fr; gap: 32px; }body.p-zoom #dpf .footer-bottom{ flex-direction: column; gap: 8px; text-align: center; }
}

/* ===== bafa-antrag-intern.html  (p-bafa) ===== */
body.p-bafa{
  --dpf-green:      #40C1AC;
  --dpf-green-mid:  #34a894;
  --dpf-navy:       #101820;
  --dpf-off-white:  #f4f6f5;
  --dpf-gray-line:  #e2e8e5;
  --dpf-text-soft:  #3d4853;
  --dpf-text-muted: #6b7680;
  --dpf-shadow-md:  0 8px 28px rgba(16,24,32,.10);
}body.p-bafa #dpf-login-wrap{
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  background: var(--dpf-off-white);
  font-family: 'Inter', sans-serif;
  padding: 24px;
}body.p-bafa #dpf-login-card{
  background: #fff;
  border: 1px solid var(--dpf-gray-line);
  border-radius: 16px;
  padding: 48px 44px 44px;
  width: 100%;
  max-width: 420px;
  box-shadow: var(--dpf-shadow-md);
  text-align: center;
}body.p-bafa #dpf-login-logo{ margin-bottom: 32px; }body.p-bafa #dpf-login-logo img{ height: 44px; display: inline-block; }body.p-bafa #dpf-login-tag{
  font-size: .7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--dpf-green);
  margin-bottom: 10px;
}body.p-bafa #dpf-login-card h1{
  font-family: 'Fraunces', serif;
  font-size: 1.65rem;
  font-weight: 700;
  color: var(--dpf-navy);
  letter-spacing: -.02em;
  line-height: 1.2;
  margin: 0 0 8px;
}body.p-bafa #dpf-login-desc{
  font-size: .875rem;
  color: var(--dpf-text-muted);
  line-height: 1.6;
  margin-bottom: 32px;
}body.p-bafa #dpf-login-fieldset{ margin-bottom: 16px; text-align: left; }body.p-bafa #dpf-login-fieldset label{
  display: block;
  font-size: .78rem;
  font-weight: 600;
  color: var(--dpf-text-soft);
  margin-bottom: 7px;
  letter-spacing: .02em;
}body.p-bafa #dpf-pw-wrap{ position: relative; }body.p-bafa #dpf-pw-input{
  width: 100%;
  padding: 13px 44px 13px 16px;
  border: 1.5px solid var(--dpf-gray-line);
  border-radius: 9px;
  font-size: .9375rem;
  font-family: 'Inter', sans-serif;
  color: var(--dpf-navy);
  background: #fff;
  transition: border-color .2s, box-shadow .2s;
  outline: none;
  box-sizing: border-box;
}body.p-bafa #dpf-pw-input:focus{
  border-color: var(--dpf-green);
  box-shadow: 0 0 0 3px rgba(64,193,172,.15);
}body.p-bafa #dpf-pw-input.error{
  border-color: #e53e3e;
  box-shadow: 0 0 0 3px rgba(229,62,62,.12);
  animation: p-bafa-dpf-shake .35s ease;
}body.p-bafa #dpf-pw-toggle{
  position: absolute;
  right: 13px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  color: var(--dpf-text-muted);
  line-height: 0;
  transition: color .2s;
}body.p-bafa #dpf-pw-toggle:hover{ color: var(--dpf-navy); }body.p-bafa #dpf-login-error{
  display: none;
  font-size: .8rem;
  color: #e53e3e;
  margin-top: 8px;
  font-weight: 500;
}body.p-bafa #dpf-login-btn{
  width: 100%;
  padding: 14px;
  background: var(--dpf-green);
  color: var(--dpf-navy);
  border: none;
  border-radius: 9px;
  font-size: .9375rem;
  font-weight: 700;
  font-family: 'Inter', sans-serif;
  cursor: pointer;
  transition: background .2s, transform .15s, box-shadow .2s;
  margin-top: 4px;
  letter-spacing: .01em;
}body.p-bafa #dpf-login-btn:hover{
  background: var(--dpf-green-mid);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(64,193,172,.32);
}body.p-bafa #dpf-login-btn:active{ transform: translateY(0); }body.p-bafa #dpf-login-footer{
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px solid var(--dpf-gray-line);
  font-size: .76rem;
  color: var(--dpf-text-muted);
  line-height: 1.6;
}body.p-bafa #dpf-login-footer a{ color: var(--dpf-green); text-decoration: none; font-weight: 600; }body.p-bafa #dpf-login-footer a:hover{ text-decoration: underline; }body.p-bafa #dpf-sub-nav{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 5%;
  background: rgba(255,255,255,.97);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--dpf-gray-line);
  position: sticky;
  top: 0;
  z-index: 500;
  box-shadow: 0 2px 12px rgba(16,24,32,.06);
}body.p-bafa #dpf-sub-nav .nav-logo img{ height: 42px; display: block; }body.p-bafa #dpf-sub-nav-right{ display: flex; align-items: center; gap: 20px; }body.p-bafa #dpf-sub-nav-badge{
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: #eef7f5;
  border: 1px solid #c4e8e2;
  border-radius: 100px;
  padding: 5px 14px;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--dpf-green-mid);
  font-family: 'Inter', sans-serif;
}body.p-bafa #dpf-sub-nav-badge::before{
  content: '';
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--dpf-green);
  flex-shrink: 0;
}body.p-bafa #dpf-logout-btn{
  background: none;
  border: 1.5px solid var(--dpf-gray-line);
  border-radius: 7px;
  padding: 7px 15px;
  font-size: .78rem;
  font-weight: 600;
  color: var(--dpf-text-muted);
  cursor: pointer;
  font-family: 'Inter', sans-serif;
  transition: all .18s;
  display: flex;
  align-items: center;
  gap: 6px;
}body.p-bafa #dpf-logout-btn:hover{
  border-color: #c9d2d8;
  color: var(--dpf-navy);
  background: var(--dpf-off-white);
}body.p-bafa #dpf-content-wrap{ display: none; font-family: 'Inter', sans-serif; background: var(--dpf-off-white); min-height: 100vh; }body.p-bafa .dpf-header{
  background: var(--dpf-navy);
  padding: 36px 40px 32px;
  position: relative;
  overflow: hidden;
}body.p-bafa .dpf-header::before{
  content: '';
  position: absolute; top: -60px; right: -60px;
  width: 220px; height: 220px; border-radius: 50%;
  background: rgba(255,255,255,0.04);
}body.p-bafa .dpf-header-eyebrow{
  font-size: 10px; letter-spacing: 2.5px; text-transform: uppercase;
  color: #7fd9c9; font-weight: 600; margin-bottom: 10px;
}body.p-bafa .dpf-header-title{
  font-family: 'Fraunces', serif; font-size: 28px; font-weight: 700;
  color: #fff; line-height: 1.2; margin-bottom: 8px;
}body.p-bafa .dpf-header-sub{ font-size: 14px; color: #cfe9e3; font-weight: 400; line-height: 1.6; }body.p-bafa .dpf-main{ max-width: 900px; margin: 0 auto; padding: 32px 24px 56px; }body.p-bafa .dpf-form-card{
  background: #fff;
  border: 1px solid var(--dpf-gray-line);
  border-radius: 16px;
  padding: 32px;
  box-shadow: var(--dpf-shadow-md);
}





@keyframes p-bafa-dpf-shake {
  0%, 100% { transform: translateX(0); }
  20% { transform: translateX(-6px); }
  40% { transform: translateX(6px); }
  60% { transform: translateX(-4px); }
  80% { transform: translateX(4px); }
}
@media (max-width: 640px) {body.p-bafa .dpf-header{ padding: 28px 20px 24px; }body.p-bafa .dpf-header-title{ font-size: 22px; }body.p-bafa .dpf-main{ padding: 24px 16px 40px; }body.p-bafa .dpf-form-card{ padding: 20px; }
}
@media (max-width: 540px) {body.p-bafa #dpf-login-card{ padding: 36px 24px 32px; }body.p-bafa #dpf-sub-nav-badge{ display: none; }
}

/* ===== foerderrechner-intern.html  (p-rechner) ===== */
body.p-rechner{
  --dpf-green:      #40C1AC;
  --dpf-green-mid:  #34a894;
  --dpf-navy:       #101820;
  --dpf-off-white:  #f4f6f5;
  --dpf-gray-line:  #e2e8e5;
  --dpf-text-soft:  #3d4853;
  --dpf-text-muted: #6b7680;
  --dpf-shadow-md:  0 8px 28px rgba(16,24,32,.10);
}body.p-rechner #dpf-login-wrap{
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  background: var(--dpf-off-white);
  font-family: 'Inter', sans-serif;
  padding: 24px;
}body.p-rechner #dpf-login-card{
  background: #fff;
  border: 1px solid var(--dpf-gray-line);
  border-radius: 16px;
  padding: 48px 44px 44px;
  width: 100%;
  max-width: 420px;
  box-shadow: var(--dpf-shadow-md);
  text-align: center;
}body.p-rechner #dpf-login-logo{
  margin-bottom: 32px;
}body.p-rechner #dpf-login-logo img{
  height: 44px;
  display: inline-block;
}body.p-rechner #dpf-login-tag{
  font-size: .7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--dpf-green);
  margin-bottom: 10px;
}body.p-rechner #dpf-login-card h1{
  font-family: 'Fraunces', serif;
  font-size: 1.65rem;
  font-weight: 700;
  color: var(--dpf-navy);
  letter-spacing: -.02em;
  line-height: 1.2;
  margin: 0 0 8px;
}body.p-rechner #dpf-login-desc{
  font-size: .875rem;
  color: var(--dpf-text-muted);
  line-height: 1.6;
  margin-bottom: 32px;
}body.p-rechner #dpf-login-fieldset{
  margin-bottom: 16px;
  text-align: left;
}body.p-rechner #dpf-login-fieldset label{
  display: block;
  font-size: .78rem;
  font-weight: 600;
  color: var(--dpf-text-soft);
  margin-bottom: 7px;
  letter-spacing: .02em;
}body.p-rechner #dpf-pw-wrap{
  position: relative;
}body.p-rechner #dpf-pw-input{
  width: 100%;
  padding: 13px 44px 13px 16px;
  border: 1.5px solid var(--dpf-gray-line);
  border-radius: 9px;
  font-size: .9375rem;
  font-family: 'Inter', sans-serif;
  color: var(--dpf-navy);
  background: #fff;
  transition: border-color .2s, box-shadow .2s;
  outline: none;
  box-sizing: border-box;
}body.p-rechner #dpf-pw-input:focus{
  border-color: var(--dpf-green);
  box-shadow: 0 0 0 3px rgba(64,193,172,.15);
}body.p-rechner #dpf-pw-input.error{
  border-color: #e53e3e;
  box-shadow: 0 0 0 3px rgba(229,62,62,.12);
  animation: p-rechner-dpf-shake .35s ease;
}body.p-rechner #dpf-pw-toggle{
  position: absolute;
  right: 13px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  color: var(--dpf-text-muted);
  line-height: 0;
  transition: color .2s;
}body.p-rechner #dpf-pw-toggle:hover{ color: var(--dpf-navy); }body.p-rechner #dpf-login-error{
  display: none;
  font-size: .8rem;
  color: #e53e3e;
  margin-top: 8px;
  font-weight: 500;
}body.p-rechner #dpf-login-btn{
  width: 100%;
  padding: 14px;
  background: var(--dpf-green);
  color: var(--dpf-navy);
  border: none;
  border-radius: 9px;
  font-size: .9375rem;
  font-weight: 700;
  font-family: 'Inter', sans-serif;
  cursor: pointer;
  transition: background .2s, transform .15s, box-shadow .2s;
  margin-top: 4px;
  letter-spacing: .01em;
}body.p-rechner #dpf-login-btn:hover{
  background: var(--dpf-green-mid);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(64,193,172,.32);
}body.p-rechner #dpf-login-btn:active{ transform: translateY(0); }body.p-rechner #dpf-login-footer{
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px solid var(--dpf-gray-line);
  font-size: .76rem;
  color: var(--dpf-text-muted);
  line-height: 1.6;
}body.p-rechner #dpf-login-footer a{
  color: var(--dpf-green);
  text-decoration: none;
  font-weight: 600;
}body.p-rechner #dpf-login-footer a:hover{ text-decoration: underline; }body.p-rechner #dpf-sub-nav{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 5%;
  background: rgba(255,255,255,.97);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--dpf-gray-line);
  position: sticky;
  top: 0;
  z-index: 500;
  box-shadow: 0 2px 12px rgba(16,24,32,.06);
}body.p-rechner #dpf-sub-nav .nav-logo img{ height: 42px; display: block; }body.p-rechner #dpf-sub-nav-right{
  display: flex;
  align-items: center;
  gap: 20px;
}body.p-rechner #dpf-sub-nav-badge{
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: #eef7f5;
  border: 1px solid #c4e8e2;
  border-radius: 100px;
  padding: 5px 14px;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--dpf-green-mid);
  font-family: 'Inter', sans-serif;
}body.p-rechner #dpf-sub-nav-badge::before{
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--dpf-green);
  flex-shrink: 0;
}body.p-rechner #dpf-logout-btn{
  background: none;
  border: 1.5px solid var(--dpf-gray-line);
  border-radius: 7px;
  padding: 7px 15px;
  font-size: .78rem;
  font-weight: 600;
  color: var(--dpf-text-muted);
  cursor: pointer;
  font-family: 'Inter', sans-serif;
  transition: all .18s;
  display: flex;
  align-items: center;
  gap: 6px;
}body.p-rechner #dpf-logout-btn:hover{
  border-color: #c9d2d8;
  color: var(--dpf-navy);
  background: var(--dpf-off-white);
}body.p-rechner #dpf-rechner-wrap{ display: none; }body.p-rechner *, body.p-rechner *::before, body.p-rechner *::after{ box-sizing: border-box; margin: 0; padding: 0; }body.p-rechner{
    --navy: #0c3d6b;
    --navy-mid: #0f4c81;
    --teal: #1a8a7a;
    --bg: #f5f7fa;
    --surface: #ffffff;
    --border: #e2e6ed;
    --text: #1a2332;
    --muted: #6b7a8d;
    --f1: #0f4c81;
    --f2: #1a6fa8;
    --f3: #1a8a7a;
  }body.p-rechner{ font-family: 'DM Sans', sans-serif; background: var(--bg); color: var(--text); min-height: 100vh; }body.p-rechner .header{
    background: var(--navy); padding: 36px 40px 32px;
    position: relative; overflow: hidden;
  }body.p-rechner .header::before{
    content: ''; position: absolute; top: -60px; right: -60px;
    width: 220px; height: 220px; border-radius: 50%; background: rgba(255,255,255,0.04);
  }body.p-rechner .header::after{
    content: ''; position: absolute; bottom: -40px; right: 80px;
    width: 140px; height: 140px; border-radius: 50%; background: rgba(255,255,255,0.03);
  }body.p-rechner .header-eyebrow{ font-size: 10px; letter-spacing: 2.5px; text-transform: uppercase; color: #93c5fd; font-weight: 600; margin-bottom: 10px; }body.p-rechner .header-title{ font-family: 'Lora', serif; font-size: 30px; color: #fff; line-height: 1.2; margin-bottom: 8px; }body.p-rechner .header-sub{ font-size: 14px; color: #bfdbfe; font-weight: 300; line-height: 1.6; }body.p-rechner .main{ max-width: 1320px; margin: 0 auto; padding: 28px 24px 48px; }body.p-rechner .layout-grid{
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    gap: 24px;
    align-items: start;
  }body.p-rechner .layout-col{ display: flex; flex-direction: column; gap: 20px; min-width: 0; }body.p-rechner .layout-col .card{ animation: p-rechner-fadeUp 0.32s ease-out both; }body.p-rechner .gesamt-overview-grid{
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 18px;
    align-items: start;
  }body.p-rechner .foerderung-card{
    border: 1.5px solid var(--border); border-radius: 12px;
    padding: 14px 16px; margin-bottom: 10px;
    background: #fff; transition: all 0.2s ease;
  }body.p-rechner .foerderung-card:last-child{ margin-bottom: 0; }body.p-rechner .foerderung-card.active{ border-color: var(--navy-mid); background: linear-gradient(180deg, #f0f7ff 0%, #fff 60%); }body.p-rechner .foerderung-card.f1.active{ border-color: #3b82f6; background: linear-gradient(180deg, #eff6ff 0%, #fff 60%); }body.p-rechner .foerderung-card.f2.active{ border-color: var(--teal); background: linear-gradient(180deg, #ecfdf5 0%, #fff 60%); }body.p-rechner .foerderung-card.f3.active{ border-color: #a855f7; background: linear-gradient(180deg, #faf5ff 0%, #fff 60%); }body.p-rechner .foerderung-card-head{
    display: flex; justify-content: space-between; align-items: flex-start;
    margin-bottom: 12px; gap: 12px;
  }body.p-rechner .foerderung-card-title{ display: flex; flex-direction: column; gap: 2px; min-width: 0; }body.p-rechner .foerderung-card-title strong{ font-size: 14px; color: var(--text); font-weight: 600; }body.p-rechner .foerderung-card-title span{ font-size: 11px; color: var(--muted); }body.p-rechner .foerderung-card-badge{
    font-size: 13px; font-weight: 700; color: var(--text);
    white-space: nowrap; font-variant-numeric: tabular-nums;
    background: #f3f4f6; padding: 4px 10px; border-radius: 16px;
  }body.p-rechner .foerderung-card.f1.active .foerderung-card-badge{ background: #dbeafe; color: #1e40af; }body.p-rechner .foerderung-card.f2.active .foerderung-card-badge{ background: #d1fae5; color: #065f46; }body.p-rechner .foerderung-card.f3.active .foerderung-card-badge{ background: #f3e8ff; color: #6b21a8; }body.p-rechner .foerderung-card-details{
    border-top: 1px dashed var(--border); padding-top: 10px;
    display: flex; flex-direction: column; gap: 6px;
    max-height: 0; overflow: hidden; opacity: 0;
    transition: max-height 0.3s ease, opacity 0.2s ease, padding 0.3s ease, border-top-width 0.2s ease;
    border-top-width: 0;
  }body.p-rechner .foerderung-card.active .foerderung-card-details{
    max-height: 400px; opacity: 1; border-top-width: 1px;
  }body.p-rechner .foerderung-card-details .detail-item{
    font-size: 12px; color: var(--muted); display: flex;
    align-items: flex-start; gap: 6px; line-height: 1.4;
  }body.p-rechner .foerderung-card-details .detail-item .check{
    color: var(--teal); font-weight: 700; flex-shrink: 0;
  }body.p-rechner .foerderung-card.f1.active .foerderung-card-details .detail-item .check{ color: #3b82f6; }body.p-rechner .foerderung-card.f3.active .foerderung-card-details .detail-item .check{ color: #a855f7; }body.p-rechner .gesamt-overview-col-title{
    font-size: 11px; letter-spacing: 1.6px; text-transform: uppercase;
    color: var(--muted); font-weight: 600; margin-bottom: 10px;
  }body.p-rechner .werbe-check{
    display: flex; align-items: center; gap: 8px; margin-top: 16px;
    font-size: 13px; color: var(--text); cursor: pointer; user-select: none;
  }body.p-rechner .werbe-check input{ width: 16px; height: 16px; cursor: pointer; accent-color: var(--navy); }body.p-rechner .kalk-vs{
    display: grid; grid-template-columns: 1fr 1px 1fr; gap: 0;
    align-items: stretch; margin-bottom: 0; padding: 18px 16px 8px;
  }body.p-rechner .kalk-vs-col{ padding: 4px 0; }body.p-rechner .kalk-vs-col.right{ padding-left: 18px; }body.p-rechner .kalk-vs-col.left{ padding-right: 18px; }body.p-rechner .kalk-vs-divider{ background: rgba(255,255,255,0.18); width: 1px; }body.p-rechner .kalk-vs-eyebrow{
    font-size: 10px; letter-spacing: 1.4px; text-transform: uppercase;
    font-weight: 600; margin-bottom: 4px;
  }body.p-rechner .kalk-vs-amount{ font-family: 'Lora', serif; font-size: 26px; line-height: 1.1; }body.p-rechner .kalk-vs-col.left .kalk-vs-eyebrow{ color: #93c5fd; }body.p-rechner .kalk-vs-col.left .kalk-vs-amount{ color: #fff; }body.p-rechner .kalk-vs-col.right .kalk-vs-eyebrow{ color: #6ee7d4; }body.p-rechner .kalk-vs-col.right .kalk-vs-amount{ color: #6ee7d4; }body.p-rechner .standort-switcher{
    background: var(--surface); border-radius: 14px; border: 1px solid var(--border);
    padding: 16px; margin-bottom: 20px;
  }body.p-rechner .standort-switcher-head{
    display: flex; justify-content: space-between; align-items: center;
    margin-bottom: 12px;
  }body.p-rechner .standort-switcher-title{
    font-size: 11px; letter-spacing: 1.8px; text-transform: uppercase;
    color: var(--muted); font-weight: 600;
  }body.p-rechner .standort-tabs{
    display: flex; gap: 8px; flex-wrap: wrap;
  }body.p-rechner .standort-tab{
    flex: 1; min-width: 120px; padding: 10px 12px;
    border: 1.5px solid var(--border); border-radius: 10px;
    background: #fff; cursor: pointer; text-align: left;
    transition: all 0.18s; position: relative;
  }body.p-rechner .standort-tab:hover{ border-color: var(--navy-mid); background: #f0f6ff; }body.p-rechner .standort-tab.active{ border-color: var(--navy); background: var(--navy); color: #fff; }body.p-rechner .standort-tab.active .standort-tab-sub{ color: #bfdbfe; }body.p-rechner .standort-tab-name{ font-size: 13px; font-weight: 600; margin-bottom: 2px; }body.p-rechner .standort-tab-sub{ font-size: 11px; color: var(--muted); }body.p-rechner .standort-tab-close{
    position: absolute; top: 4px; right: 4px; width: 18px; height: 18px;
    border: none; background: transparent; cursor: pointer;
    color: var(--muted); font-size: 14px; line-height: 1;
    opacity: 0; transition: opacity 0.15s; border-radius: 50%;
  }body.p-rechner .standort-tab:hover .standort-tab-close{ opacity: 0.7; }body.p-rechner .standort-tab-close:hover{ opacity: 1 !important; background: rgba(255,255,255,0.2); }body.p-rechner .standort-tab.active .standort-tab-close{ color: #fff; }body.p-rechner .standort-tab-add{
    flex: 0 0 auto; padding: 10px 14px;
    border: 1.5px dashed var(--border); border-radius: 10px;
    background: #fff; cursor: pointer; color: var(--muted);
    font-size: 13px; font-weight: 500; transition: all 0.18s;
    display: flex; align-items: center; gap: 6px;
  }body.p-rechner .standort-tab-add:hover{ border-color: var(--navy-mid); color: var(--navy-mid); background: #f0f6ff; }body.p-rechner .standort-tab-add svg{ width: 14px; height: 14px; }body.p-rechner .gesamt-overview{
    background: var(--surface); border-radius: 14px; border: 1px solid var(--border);
    padding: 20px; margin-top: 24px;
  }body.p-rechner .gesamt-overview-head{
    font-family: 'Lora', serif; font-size: 18px; color: var(--navy);
    margin-bottom: 16px;
  }body.p-rechner .gesamt-item{
    border: 1px solid var(--border); border-radius: 10px;
    margin-bottom: 10px; overflow: hidden;
  }body.p-rechner .gesamt-item-head{
    display: flex; justify-content: space-between; align-items: center;
    padding: 12px 14px; cursor: pointer; background: #f9fafc;
    transition: background 0.15s;
  }body.p-rechner .gesamt-item-head:hover{ background: #f0f6ff; }body.p-rechner .gesamt-item-name{ font-size: 13px; font-weight: 600; color: var(--text); }body.p-rechner .gesamt-item-sub{ font-size: 11px; color: var(--muted); margin-top: 2px; }body.p-rechner .gesamt-item-summary{ font-size: 13px; font-weight: 600; color: var(--navy); }body.p-rechner .gesamt-item-toggle{ color: var(--muted); transition: transform 0.18s; margin-left: 8px; }body.p-rechner .gesamt-item.open .gesamt-item-toggle{ transform: rotate(180deg); }body.p-rechner .gesamt-item-body{ display: none; padding: 12px 14px; border-top: 1px solid var(--border); font-size: 12px; }body.p-rechner .gesamt-item.open .gesamt-item-body{ display: block; }body.p-rechner .gesamt-item-row{
    display: flex; justify-content: space-between; padding: 4px 0;
    color: var(--muted);
  }body.p-rechner .gesamt-item-row span:last-child{ font-weight: 600; color: var(--text); }body.p-rechner .gesamt-summe{
    background: var(--navy); color: #fff; border-radius: 12px;
    padding: 18px 18px 20px; margin-top: 14px;
  }body.p-rechner .gesamt-summe-row{
    display: flex; justify-content: space-between; padding: 5px 0;
    font-size: 13px; color: #bfdbfe;
  }body.p-rechner .gesamt-summe-row span:last-child{ color: #fff; font-weight: 600; }body.p-rechner .gesamt-summe-divider{ border-top: 1px solid rgba(255,255,255,0.15); margin: 8px 0; }body.p-rechner .gesamt-summe-final{
    font-family: 'Lora', serif; font-size: 22px; color: #fff;
    margin-top: 6px; display: flex; justify-content: space-between; align-items: baseline;
  }body.p-rechner .gesamt-summe-final span:first-child{ font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; color: #93c5fd; font-weight: 600; }body.p-rechner .card{
    background: var(--surface); border-radius: 14px;
    border: 1px solid var(--border); padding: 22px;
    margin-bottom: 16px; animation: p-rechner-fadeUp 0.4s ease both;
  }body.p-rechner .card-label{ font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: #9ca3af; font-weight: 600; margin-bottom: 16px; }body.p-rechner .form-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 16px; }body.p-rechner .field label{
    display: block; font-size: 10px; letter-spacing: 1.4px; text-transform: uppercase;
    color: var(--muted); font-weight: 600; margin-bottom: 6px;
  }body.p-rechner .field select{
    width: 100%; appearance: none; border: 1.5px solid var(--border); border-radius: 9px;
    padding: 12px 36px 12px 13px; font-size: 13px; font-weight: 600;
    color: var(--text); font-family: 'DM Sans', sans-serif;
    background: #fafbfc url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7a8d' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center;
    cursor: pointer; transition: border-color 0.2s;
  }body.p-rechner .field select:focus{ outline: none; border-color: var(--teal); }body.p-rechner .bl-tag{
    display: inline-flex; align-items: center; gap: 5px;
    font-size: 11px; font-weight: 600; padding: 3px 9px;
    border-radius: 20px; margin-top: 6px; transition: all 0.25s;
  }body.p-rechner .bl-tag.ost{ background: #fff7ed; color: #92400e; border: 1px solid #fcd34d; }body.p-rechner .bl-tag.west{ background: #eff6ff; color: #1e40af; border: 1px solid #93c5fd; }body.p-rechner .bl-tag .dot{ width: 6px; height: 6px; border-radius: 50%; }body.p-rechner .bl-tag.ost .dot{ background: #f59e0b; }body.p-rechner .bl-tag.west .dot{ background: #3b82f6; }body.p-rechner .toggle-row{
    display: flex; align-items: center; gap: 12px; padding: 13px 15px;
    border-radius: 10px; border: 1.5px solid var(--border);
    background: #fafafa; transition: all 0.25s; cursor: pointer;
  }body.p-rechner .toggle-row.active{ background: #f0fdf9; border-color: #6ee7d4; }body.p-rechner .toggle-info{ flex: 1; }body.p-rechner .toggle-info strong{ font-size: 13px; font-weight: 600; color: var(--text); }body.p-rechner .toggle-info span{ font-size: 11px; color: var(--muted); display: block; margin-top: 1px; }body.p-rechner .toggle-switch{
    width: 42px; height: 23px; background: #d1d5db;
    border-radius: 12px; position: relative; transition: background 0.2s; flex-shrink: 0;
  }body.p-rechner .toggle-switch.on{ background: var(--teal); }body.p-rechner .toggle-switch::after{
    content: ''; position: absolute; top: 3px; left: 3px;
    width: 17px; height: 17px; border-radius: 50%;
    background: #fff; transition: left 0.2s; box-shadow: 0 1px 3px rgba(0,0,0,0.2);
  }body.p-rechner .toggle-switch.on::after{ left: 22px; }body.p-rechner .seg-control{
    display: flex; border-radius: 8px; overflow: hidden;
    border: 1.5px solid var(--border); flex-shrink: 0;
  }body.p-rechner .seg-btn{
    padding: 5px 11px; font-size: 11px; font-weight: 600;
    font-family: 'DM Sans', sans-serif;
    background: #fff; color: var(--muted);
    border: none; border-right: 1px solid var(--border);
    cursor: pointer; transition: all 0.18s; white-space: nowrap;
  }body.p-rechner .seg-btn:last-child{ border-right: none; }body.p-rechner .seg-btn.active{ background: var(--navy-mid); color: #fff; }body.p-rechner .seg-btn.active-off{ background: #f1f5f9; color: #94a3b8; }body.p-rechner .slider-wrap{ margin-top: 14px; padding: 0 2px; }body.p-rechner .slider-header{ display: flex; justify-content: space-between; margin-bottom: 8px; }body.p-rechner .slider-header span{ font-size: 12px; color: var(--muted); }body.p-rechner .slider-header strong{ font-size: 13px; font-weight: 700; color: var(--teal); }body.p-rechner .zsch-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 14px; }body.p-rechner .zsch-label{ display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 6px; }body.p-rechner .zsch-label span{ font-size: 10px; letter-spacing: 1.4px; text-transform: uppercase; color: var(--muted); font-weight: 600; }body.p-rechner .zsch-label em{ font-style: normal; font-size: 11px; color: #9ca3af; }body.p-rechner .zsch-stepper{ display: grid; grid-template-columns: 44px 1fr 44px; gap: 8px; }body.p-rechner .zsch-step-btn{
    border: 1.5px solid var(--border); background: #fafbfc; border-radius: 9px;
    font-size: 18px; font-weight: 600; color: var(--muted); cursor: pointer;
    transition: border-color .15s, color .15s; font-family: 'DM Sans', sans-serif;
  }body.p-rechner .zsch-step-btn:hover:not(:disabled){ border-color: var(--teal); color: var(--teal); }body.p-rechner .zsch-step-btn:disabled{ opacity: .35; cursor: not-allowed; }body.p-rechner .zsch-step-val{
    border: 1.5px solid var(--border); background: #fafbfc; border-radius: 9px;
    display: flex; align-items: center; justify-content: center; gap: 5px;
    font-size: 16px; font-weight: 700; color: var(--text); padding: 11px 0;
  }body.p-rechner .zsch-step-val small{ font-size: 12px; font-weight: 500; color: var(--muted); }body.p-rechner .zsch-select{
    width: 100%; appearance: none; border: 1.5px solid var(--border); border-radius: 9px;
    padding: 12px 36px 12px 13px; font-size: 13px; font-weight: 600; color: var(--text);
    font-family: 'DM Sans', sans-serif; cursor: pointer; transition: border-color 0.2s;
    background: #fafbfc url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7a8d' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center;
  }body.p-rechner .zsch-select:focus{ outline: none; border-color: var(--teal); }body.p-rechner .zsch-modes{ display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }body.p-rechner .zsch-mode{
    text-align: left; border: 1.5px solid var(--border); background: #fafbfc;
    border-radius: 10px; padding: 11px 13px; cursor: pointer;
    transition: border-color .18s, background .18s; font-family: 'DM Sans', sans-serif;
  }body.p-rechner .zsch-mode:hover{ border-color: #9fd8cf; }body.p-rechner .zsch-mode.active{ border-color: var(--teal); background: #f0fdf9; }body.p-rechner .zsch-mode-title{ font-size: 13px; font-weight: 700; color: var(--text); }body.p-rechner .zsch-mode-title small{ font-size: 11px; font-weight: 400; color: var(--muted); }body.p-rechner .zsch-mode-sub{ font-size: 11.5px; color: var(--muted); margin-top: 3px; }body.p-rechner .zsch-mode.active .zsch-mode-sub{ color: var(--teal); font-weight: 600; }body.p-rechner input[type=range]{ width: 100%; accent-color: var(--teal); height: 4px; cursor: pointer; }body.p-rechner .slider-limits{ display: flex; justify-content: space-between; font-size: 10.5px; color: #b0b8c4; margin-top: 4px; }body.p-rechner .result-card{
    background: var(--navy); border-radius: 14px;
    padding: 24px; margin-bottom: 16px; animation: p-rechner-fadeUp 0.4s 0.08s ease both;
  }body.p-rechner .result-eyebrow{ font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: #93c5fd; font-weight: 600; margin-bottom: 6px; }body.p-rechner .result-amount{ font-family: 'Lora', serif; font-size: 46px; color: #fff; line-height: 1; margin-bottom: 4px; }body.p-rechner .result-sub{ font-size: 13px; color: #bfdbfe; font-weight: 300; margin-bottom: 20px; }body.p-rechner .result-breakdown{ border-top: 1px solid rgba(255,255,255,0.12); padding-top: 16px; display: flex; flex-direction: column; gap: 8px; }body.p-rechner .result-row{ display: flex; justify-content: space-between; align-items: center; }body.p-rechner .result-row .rl{ font-size: 12px; }body.p-rechner .result-row .rv{ font-size: 13px; font-weight: 600; }body.p-rechner .result-row.guaranteed .rl{ color: #93c5fd; }body.p-rechner .result-row.guaranteed .rv{ color: #fff; }body.p-rechner .result-row.bonus .rl{ color: #6ee7d4; }body.p-rechner .result-row.bonus .rv{ color: #6ee7d4; }body.p-rechner .bar-row{ margin-bottom: 13px; }body.p-rechner .bar-meta{ display: flex; justify-content: space-between; margin-bottom: 5px; }body.p-rechner .bar-meta span{ font-size: 12px; color: var(--muted); }body.p-rechner .bar-meta strong{ font-size: 12px; font-weight: 600; color: var(--text); }body.p-rechner .bar-track{ height: 7px; background: #eef0f4; border-radius: 6px; overflow: hidden; }body.p-rechner .bar-fill{ height: 100%; border-radius: 6px; transition: width 0.45s cubic-bezier(0.4,0,0.2,1); }body.p-rechner .detail-grid{ display: flex; flex-direction: column; gap: 10px; margin-bottom: 16px; }body.p-rechner .detail-card{ border-radius: 11px; padding: 15px 16px; border: 1px solid; }body.p-rechner .detail-card.f1{ background: #eff6ff; border-color: #bfdbfe; }body.p-rechner .detail-card.f2{ background: #f0f7ff; border-color: #93c5fd55; }body.p-rechner .detail-card.f3{ background: #f0fdf9; border-color: #6ee7d477; }body.p-rechner .detail-header{ display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 10px; }body.p-rechner .detail-title{ font-size: 13px; font-weight: 700; }body.p-rechner .detail-card.f1 .detail-title{ color: var(--f1); }body.p-rechner .detail-card.f2 .detail-title{ color: var(--f2); }body.p-rechner .detail-card.f3 .detail-title{ color: var(--f3); }body.p-rechner .detail-badge{ font-size: 12px; font-weight: 700; padding: 2px 10px; border-radius: 20px; white-space: nowrap; }body.p-rechner .detail-card.f1 .detail-badge{ background: var(--f1); color: #fff; }body.p-rechner .detail-card.f2 .detail-badge{ background: var(--f2); color: #fff; }body.p-rechner .detail-card.f3 .detail-badge{ background: var(--f3); color: #fff; }body.p-rechner .detail-items{ display: flex; flex-direction: column; gap: 5px; }body.p-rechner .detail-item{ display: flex; gap: 7px; font-size: 12px; color: #374151; line-height: 1.5; }body.p-rechner .detail-item .check{ flex-shrink: 0; font-size: 11px; margin-top: 1px; }body.p-rechner .detail-card.f1 .check{ color: var(--f1); }body.p-rechner .detail-card.f2 .check{ color: var(--f2); }body.p-rechner .detail-card.f3 .check{ color: var(--f3); }body.p-rechner .kalk-card{
    background: var(--surface); border-radius: 14px;
    border: 1px solid var(--border); margin-bottom: 16px;
    overflow: hidden; animation: p-rechner-fadeUp 0.4s ease both;
  }body.p-rechner .kalk-top{ padding: 22px 22px 20px; }body.p-rechner .kalk-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }body.p-rechner .kalk-field label:not(.werbe-check){
    display: block; font-size: 10px; letter-spacing: 1.4px; text-transform: uppercase;
    color: var(--muted); font-weight: 600; margin-bottom: 6px;
  }body.p-rechner .kalk-input-wrap{ position: relative; }body.p-rechner .kalk-input-wrap input{
    width: 100%; border: 1.5px solid var(--border); border-radius: 9px;
    padding: 11px 32px 11px 13px; font-size: 16px; font-weight: 600;
    color: var(--text); font-family: 'DM Sans', sans-serif;
    background: #fafbfc; transition: border-color 0.2s; -moz-appearance: textfield;
  }body.p-rechner .kalk-input-wrap input::-webkit-outer-spin-button, body.p-rechner .kalk-input-wrap input::-webkit-inner-spin-button{ -webkit-appearance: none; }body.p-rechner .kalk-input-wrap input:focus{ outline: none; border-color: var(--teal); background: #fff; }body.p-rechner .kalk-unit{ position: absolute; right: 11px; top: 50%; transform: translateY(-50%); font-size: 13px; font-weight: 700; color: #c4cdd8; pointer-events: none; }body.p-rechner .kalk-hint{ font-size: 10.5px; color: #b0b8c4; margin-top: 5px; }body.p-rechner .kalk-empty{
    padding: 24px; text-align: center; border-top: 1px solid var(--border);
    font-size: 12px; color: #c4cdd8;
    display: flex; align-items: center; justify-content: center; gap: 8px;
  }body.p-rechner .kalk-kosten-box{
    margin: 16px 22px 14px; border-radius: 11px;
    border: 1px solid var(--border); overflow: hidden;
  }body.p-rechner .kalk-kosten-head{
    background: #f5f7fa; padding: 10px 16px; border-bottom: 1px solid var(--border);
    font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: #9ca3af; font-weight: 600;
  }body.p-rechner .kalk-bline{
    display: flex; justify-content: space-between; align-items: center;
    padding: 12px 16px; border-bottom: 1px solid #f0f2f5; background: #fff;
  }body.p-rechner .kalk-bline:last-child{ border-bottom: none; }body.p-rechner .kalk-bline .bl{ font-size: 13px; color: var(--muted); }body.p-rechner .kalk-bline .bv{ font-size: 13px; font-weight: 600; color: var(--text); }body.p-rechner .kalk-bline.total{ background: #f8fafc; }body.p-rechner .kalk-bline.total .bl{ font-weight: 600; color: var(--text); }body.p-rechner .kalk-bline.total .bv{ font-size: 15px; font-weight: 700; color: #dc2626; }body.p-rechner .kalk-foerd-box{
    margin: 0 22px 14px; border-radius: 11px;
    border: 1.5px solid #6ee7d4; background: #f0fdf9;
    display: flex; justify-content: space-between; align-items: center; padding: 14px 16px;
  }body.p-rechner .kalk-foerd-box .kfl{ font-size: 13px; font-weight: 600; color: var(--teal); }body.p-rechner .kalk-foerd-box .kfv{ font-size: 16px; font-weight: 700; color: var(--teal); }body.p-rechner .kalk-result-navy{
    background: var(--navy); margin: 0 22px 20px;
    border-radius: 11px; overflow: hidden;
  }body.p-rechner .kalk-res-head{
    background: rgba(255,255,255,0.07); padding: 10px 16px;
    border-bottom: 1px solid rgba(255,255,255,0.14);
    font-size: 10px; letter-spacing: 2px; text-transform: uppercase;
    color: #93c5fd; font-weight: 600;
  }body.p-rechner .kalk-res-eyebrow{ font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: #93c5fd; font-weight: 600; margin-bottom: 6px; }body.p-rechner .kalk-res-amount{ font-family: 'Lora', serif; font-size: 42px; color: #fff; line-height: 1; margin-bottom: 4px; }body.p-rechner .kalk-res-sub{ font-size: 13px; color: #bfdbfe; font-weight: 300; margin: 0; padding: 0 16px 14px; }body.p-rechner .kalk-res-breakdown{ display: flex; flex-direction: column; gap: 0; }body.p-rechner .kalk-res-row{
    display: flex; justify-content: space-between; align-items: center;
    padding: 11px 16px; border-top: 1px solid rgba(255,255,255,0.10); gap: 12px;
  }body.p-rechner .kalk-res-row .rl{ font-size: 12px; color: #93c5fd; }body.p-rechner .kalk-res-row .rv{ font-size: 13px; font-weight: 600; color: #fff; white-space: nowrap; }body.p-rechner .kalk-res-row.spar .rl{ color: #6ee7d4; }body.p-rechner .kalk-res-row.spar .rv{ color: #6ee7d4; }body.p-rechner .auszahlung-box{
    background: #fafbff; border: 1px solid #dde3f0;
    border-radius: 11px; padding: 16px 18px; margin-bottom: 16px;
  }body.p-rechner .auszahlung-title{ font-size: 10px; letter-spacing: 1.8px; text-transform: uppercase; color: #9ca3af; font-weight: 600; margin-bottom: 12px; }body.p-rechner .auszahlung-row{
    display: flex; align-items: flex-start; gap: 12px;
    padding: 10px 0; border-bottom: 1px solid #eef0f4;
  }body.p-rechner .auszahlung-row:last-child{ border-bottom: none; padding-bottom: 0; }body.p-rechner .auszahlung-icon{
    width: 32px; height: 32px; border-radius: 8px;
    display: flex; align-items: center; justify-content: center;
    font-size: 15px; flex-shrink: 0; margin-top: 1px;
  }body.p-rechner .auszahlung-icon.blue{ background: #dbeafe; }body.p-rechner .auszahlung-icon.teal{ background: #d1faf4; }body.p-rechner .auszahlung-text strong{ font-size: 12.5px; font-weight: 600; color: var(--text); display: block; margin-bottom: 2px; }body.p-rechner .auszahlung-text span{ font-size: 12px; color: var(--muted); line-height: 1.5; }body.p-rechner .hinweis{ font-size: 11px; color: #b0b8c4; text-align: center; line-height: 1.7; }body.p-rechner .kalk-actions{ display: flex; gap: 8px; }body.p-rechner .kalk-action-btn{
    display: flex; align-items: center; justify-content: center;
    width: 34px; height: 34px; border-radius: 8px;
    border: 1.5px solid var(--border); background: #fff;
    color: var(--muted); cursor: pointer; transition: all 0.18s;
    flex-shrink: 0;
  }body.p-rechner .kalk-action-btn svg{ width: 16px; height: 16px; }body.p-rechner .kalk-action-btn:hover{ border-color: var(--navy-mid); color: var(--navy-mid); background: #f0f6ff; }body.p-rechner .kalk-action-btn:active{ transform: scale(0.94); }body.p-rechner .kalk-action-btn.active{ background: var(--teal); border-color: var(--teal); color: #fff; }body.p-rechner .opti-banner{
    display: none; align-items: flex-start; gap: 12px;
    padding: 13px 16px; background: #fffbeb;
    border-bottom: 1px solid #fde68a;
    font-size: 12.5px; color: #78350f; line-height: 1.5;
  }body.p-rechner .opti-banner.visible{ display: flex; }body.p-rechner .opti-banner span:first-child{ font-size: 18px; flex-shrink: 0; margin-top: 1px; }body.p-rechner .opti-banner strong{ font-weight: 700; }

  
  

  
  

  
  

@keyframes p-rechner-dpf-shake {
  0%, 100% { transform: translateX(0); }
  20% { transform: translateX(-6px); }
  40% { transform: translateX(6px); }
  60% { transform: translateX(-4px); }
  80% { transform: translateX(4px); }
}
@media (max-width: 540px) {body.p-rechner #dpf-login-card{ padding: 36px 24px 32px; }body.p-rechner #dpf-sub-nav-badge{ display: none; }
}
@media (max-width: 1023px) {body.p-rechner .layout-grid{ grid-template-columns: 1fr; gap: 20px; }
  }
@media (max-width: 640px) {body.p-rechner .main{ padding: 20px 16px 40px; }body.p-rechner .header{ padding: 28px 20px 24px; }body.p-rechner .header-title{ font-size: 22px; }body.p-rechner .header-sub{ font-size: 13px; }
  }
@media (max-width: 1023px) {body.p-rechner .gesamt-overview-grid{ grid-template-columns: 1fr; }
  }
@keyframes p-rechner-fadeUp {
    from { opacity: 0; transform: translateY(14px); }
    to   { opacity: 1; transform: none; }
  }
@media (max-width: 640px) {body.p-rechner .zsch-grid{ grid-template-columns: 1fr; } }
@media print {body.p-rechner @page{
      size: A4 landscape;
      margin: 6mm;
    }body.p-rechner{
      background: #fff !important;
      font-size: 8px !important;
      line-height: 1.2 !important;
      -webkit-print-color-adjust: exact !important;
      print-color-adjust: exact !important;
      color-adjust: exact !important;
    }body.p-rechner .header, body.p-rechner .foerderung-card, body.p-rechner .foerderung-card-badge, body.p-rechner .result-card, body.p-rechner .kalk-result-navy, body.p-rechner .kalk-foerd-box, body.p-rechner .kalk-vs-amount, body.p-rechner .gesamt-summe, body.p-rechner .bl-tag{
      -webkit-print-color-adjust: exact !important;
      print-color-adjust: exact !important;
    }body.p-rechner .standort-switcher, body.p-rechner .kalk-action-btn, body.p-rechner .opti-banner, body.p-rechner .seg-control, body.p-rechner .slider-wrap, body.p-rechner .werbe-check, body.p-rechner #werbeField, body.p-rechner .auszahlung-box, body.p-rechner .standort-tab-add, body.p-rechner .standort-tab-close{ display: none !important; }body.p-rechner .aufschluesselung-card{ display: none !important; }body.p-rechner .header{
      padding: 3px 8px !important;
      background: #1B3A5C !important;
      color: #fff !important;
    }body.p-rechner .header-eyebrow{ font-size: 6px !important; margin-bottom: 0 !important; letter-spacing: 1.2px !important; }body.p-rechner .header-title{ font-size: 11px !important; margin-bottom: 0 !important; line-height: 1.1 !important; }body.p-rechner .header-sub{ font-size: 6.5px !important; margin-top: 1px !important; }body.p-rechner .main{
      padding: 4px !important;
      max-width: 100% !important;
      width: 100% !important;
    }body.p-rechner .layout-grid{
      display: grid !important;
      grid-template-columns: minmax(0, 5fr) minmax(0, 7fr) !important;
      gap: 6px !important;
      align-items: start !important;
    }body.p-rechner .layout-col{
      display: flex !important;
      flex-direction: column !important;
      gap: 6px !important;
      min-width: 0 !important;
    }body.p-rechner .auszahlung-box{ display: none !important; }body.p-rechner .card{
      padding: 6px 8px !important;
      margin-bottom: 0 !important;
      border-radius: 6px !important;
    }body.p-rechner .card-label{
      font-size: 8px !important;
      margin-bottom: 4px !important;
      letter-spacing: 1.5px !important;
    }body.p-rechner .bl-tag{
      font-size: 8px !important;
      padding: 2px 6px !important;
      margin-top: 4px !important;
    }body.p-rechner .form-grid{ gap: 4px !important; }body.p-rechner .form-label{ font-size: 8px !important; margin-bottom: 2px !important; }body.p-rechner select, body.p-rechner input{
      font-size: 9px !important;
      padding: 2px 4px !important;
      border-width: 1px !important;
    }body.p-rechner .foerderung-card{
      padding: 3px 5px !important;
      margin-bottom: 2px !important;
      border-radius: 3px !important;
      border-width: 1px !important;
    }body.p-rechner .foerderung-card-head{ margin-bottom: 2px !important; gap: 4px !important; }body.p-rechner .foerderung-card-title strong{ font-size: 8.5px !important; }body.p-rechner .foerderung-card-title span{ font-size: 6.5px !important; }body.p-rechner .foerderung-card-badge{
      font-size: 7.5px !important;
      padding: 1px 4px !important;
      border-radius: 6px !important;
    }body.p-rechner .foerderung-card-details{
      padding-top: 2px !important;
      gap: 0 !important;
      border-top-width: 0.5px !important;
    }body.p-rechner .foerderung-card-details .detail-item{
      font-size: 6.5px !important;
      line-height: 1.1 !important;
      gap: 2px !important;
    }body.p-rechner .foerderung-card-details{ display: none !important; }body.p-rechner .result-card{
      padding: 6px 8px !important;
      border-radius: 6px !important;
    }body.p-rechner .result-eyebrow{ font-size: 8px !important; margin-bottom: 2px !important; }body.p-rechner .result-amount{ font-size: 18px !important; line-height: 1 !important; margin: 0 !important; }body.p-rechner .result-sub{ font-size: 7px !important; }body.p-rechner .result-row{
      padding: 1px 0 !important;
      font-size: 8px !important;
      border-top-width: 0.5px !important;
    }body.p-rechner .result-breakdown{ margin-top: 4px !important; padding-top: 4px !important; }body.p-rechner .bar-section{ padding: 6px 8px !important; }body.p-rechner .bar-section-title{ font-size: 8px !important; margin-bottom: 4px !important; }body.p-rechner .bar-row{ margin-bottom: 3px !important; }body.p-rechner .bar-label{ font-size: 7px !important; margin-bottom: 1px !important; }body.p-rechner .bar-track{ height: 8px !important; }body.p-rechner .bar-value{ font-size: 8px !important; }body.p-rechner .kalk-card{ padding: 6px 8px !important; border-radius: 6px !important; }body.p-rechner .kalk-card .card-label{ margin-bottom: 4px !important; }body.p-rechner .kalk-grid{ gap: 6px !important; }body.p-rechner .kalk-field{ gap: 2px !important; }body.p-rechner .kalk-field label{ font-size: 8px !important; margin-bottom: 2px !important; }body.p-rechner .kalk-input-wrap input{
      font-size: 9px !important;
      padding: 2px 6px !important;
      border-width: 1px !important;
    }body.p-rechner .kalk-input-wrap .kalk-unit{ font-size: 9px !important; right: 6px !important; }body.p-rechner .kalk-hint{ font-size: 7px !important; margin-top: 1px !important; }body.p-rechner .kalk-kosten-box{
      padding: 4px 6px !important;
      border-radius: 4px !important;
      margin-top: 6px !important;
    }body.p-rechner .kalk-kosten-head{ font-size: 7px !important; margin-bottom: 3px !important; }body.p-rechner .kalk-bline{
      padding: 1px 0 !important;
      font-size: 8px !important;
      border-top-width: 0.5px !important;
    }body.p-rechner .kalk-bline.total{ font-size: 9px !important; padding-top: 3px !important; }body.p-rechner .kalk-foerd-box{
      padding: 4px 8px !important;
      margin: 4px 0 !important;
      border-radius: 4px !important;
      font-size: 9px !important;
    }body.p-rechner .kalk-foerd-box .kfl{ font-size: 8px !important; }body.p-rechner .kalk-foerd-box .kfv{ font-size: 10px !important; }body.p-rechner .kalk-result-navy{
      padding: 0 !important;
      border-radius: 6px !important;
      margin: 4px 0 0 !important;
    }body.p-rechner .kalk-res-head{ padding: 3px 8px !important; font-size: 6px !important; letter-spacing: 1px !important; }body.p-rechner .kalk-vs{ gap: 4px !important; margin-bottom: 0 !important; padding: 5px 8px 2px !important; }body.p-rechner .kalk-vs-col.left{ padding-right: 8px !important; }body.p-rechner .kalk-vs-col.right{ padding-left: 8px !important; }body.p-rechner .kalk-vs-amount{ font-size: 14px !important; line-height: 1.1 !important; }body.p-rechner .kalk-vs-eyebrow{ font-size: 7px !important; margin-bottom: 2px !important; }body.p-rechner .kalk-res-sub{ font-size: 7px !important; margin: 0 !important; padding: 0 8px 3px !important; }body.p-rechner .kalk-res-breakdown{ gap: 0 !important; padding-top: 0 !important; margin-top: 0 !important; }body.p-rechner .kalk-res-row{
      padding: 2px 8px !important;
      font-size: 7.5px !important;
    }body.p-rechner .gesamt-overview{
      padding: 6px 8px !important;
      margin-top: 6px !important;
      border-radius: 6px !important;
    }body.p-rechner .gesamt-overview-head{ font-size: 11px !important; margin-bottom: 4px !important; }body.p-rechner .gesamt-overview-grid{
      display: grid !important;
      grid-template-columns: 1fr 1fr !important;
      gap: 8px !important;
    }body.p-rechner .gesamt-overview-col-title{ font-size: 7px !important; margin-bottom: 3px !important; }body.p-rechner .gesamt-item{ margin-bottom: 3px !important; border-radius: 4px !important; }body.p-rechner .gesamt-item-head{ padding: 3px 6px !important; }body.p-rechner .gesamt-item-name{ font-size: 8px !important; }body.p-rechner .gesamt-item-sub{ font-size: 7px !important; }body.p-rechner .gesamt-item-summary{ font-size: 9px !important; }body.p-rechner .gesamt-summe{ padding: 6px 8px !important; border-radius: 4px !important; }body.p-rechner .gesamt-summe-row{ font-size: 8px !important; padding: 1px 0 !important; }body.p-rechner .gesamt-summe-final{ font-size: 11px !important; }body.p-rechner .detail-card, body.p-rechner .detail-grid{ display: none !important; }body.p-rechner .print-only-laufzeit{
      display: inline-block !important;
      font-size: 10px !important;
      font-weight: 600 !important;
      color: #1B3A5C !important;
      padding: 2px 8px !important;
      background: #f0f6ff !important;
      border-radius: 4px !important;
      border: 1px solid #B5D4F4 !important;
    }body.p-rechner .hinweis{
      position: fixed !important;
      bottom: 4mm !important;
      left: 6mm !important;
      right: 6mm !important;
      font-size: 6.5px !important;
      line-height: 1.3 !important;
      padding: 3px 0 !important;
      margin: 0 !important;
      text-align: left !important;
      color: #6B7280 !important;
      border-top: 0.5px solid #D0D9E3 !important;
    }body.p-rechner{ padding-bottom: 14mm !important; }body.p-rechner .card, body.p-rechner .kalk-card, body.p-rechner .result-card, body.p-rechner .foerderung-card, body.p-rechner .kalk-result-navy, body.p-rechner .kalk-kosten-box, body.p-rechner .gesamt-item, body.p-rechner .gesamt-summe{
      break-inside: avoid !important;
      page-break-inside: avoid !important;
    }body.p-rechner .layout-grid, body.p-rechner .layout-col, body.p-rechner .gesamt-overview{
      break-inside: auto !important;
      page-break-inside: auto !important;
    }
  }
@media (max-width: 767px) {body.p-rechner input, body.p-rechner select, body.p-rechner textarea{ font-size: 16px !important; }body.p-rechner{ overflow-x: hidden; }body.p-rechner #dpf-sub-nav{ padding: 11px 4%; }body.p-rechner #dpf-sub-nav .nav-logo img{ height: 34px; }body.p-rechner #dpf-sub-nav-badge{ display: none; }body.p-rechner #dpf-logout-btn{ padding: 6px 11px; font-size: .74rem; }body.p-rechner .header{ padding: 22px 16px 18px; }body.p-rechner .header-eyebrow{ font-size: 9px; letter-spacing: 2px; }body.p-rechner .header-title{ font-size: 20px; }body.p-rechner .header-sub{ font-size: 12px; }body.p-rechner .main{ padding: 16px 12px 40px; }body.p-rechner .standort-tabs{ flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch;
      scrollbar-width: none; padding-bottom: 4px; }body.p-rechner .standort-tabs::-webkit-scrollbar{ display: none; }body.p-rechner .standort-tab{ min-width: 110px; flex: 0 0 auto; }body.p-rechner .layout-grid{ grid-template-columns: 1fr; gap: 12px; }body.p-rechner .layout-col{ gap: 12px; }body.p-rechner .card{ padding: 16px; margin-bottom: 0; }body.p-rechner .card-label{ font-size: 9px; margin-bottom: 12px; }body.p-rechner .form-grid{ grid-template-columns: 1fr; gap: 10px; }body.p-rechner .foerderung-card{ padding: 12px 13px; }body.p-rechner .foerderung-card-title strong{ font-size: 13px; }body.p-rechner .foerderung-card-title span{ font-size: 10px; }body.p-rechner .foerderung-card-badge{ font-size: 12px; padding: 3px 9px; }body.p-rechner .seg-btn{ padding: 6px 10px; font-size: 11px; }body.p-rechner .result-card{ padding: 18px; }body.p-rechner .result-amount{ font-size: 38px; }body.p-rechner .result-eyebrow{ font-size: 9px; }body.p-rechner .result-sub{ font-size: 12px; margin-bottom: 14px; }body.p-rechner .result-row .rl{ font-size: 11px; }body.p-rechner .result-row .rv{ font-size: 12px; }body.p-rechner .kalk-card{ margin-bottom: 0; }body.p-rechner .kalk-top{ padding: 16px 16px 14px; }body.p-rechner .kalk-grid{ grid-template-columns: 1fr; gap: 12px; }body.p-rechner .kalk-input-wrap input{ padding: 10px 32px 10px 13px; }body.p-rechner .kalk-kosten-box{ margin: 12px 16px 10px; }body.p-rechner .kalk-bline{ padding: 10px 14px; }body.p-rechner .kalk-bline .bl{ font-size: 12px; }body.p-rechner .kalk-bline .bv{ font-size: 12px; }body.p-rechner .kalk-foerd-box{ margin: 0 16px 10px; padding: 12px 14px; }body.p-rechner .kalk-foerd-box .kfl{ font-size: 12px; }body.p-rechner .kalk-foerd-box .kfv{ font-size: 14px; }body.p-rechner .kalk-result-navy{ margin: 0 16px 16px; }body.p-rechner .kalk-res-sub{ padding: 0 14px 12px; }body.p-rechner .kalk-res-row{ padding: 10px 14px; }body.p-rechner .kalk-vs{ grid-template-columns: 1fr; gap: 12px; padding: 16px 14px 8px; }body.p-rechner .kalk-vs-divider{ display: none; }body.p-rechner .kalk-vs-col.right{ padding-left: 0; border-top: 1px solid rgba(255,255,255,0.15); padding-top: 12px; }body.p-rechner .kalk-vs-col.left{ padding-right: 0; }body.p-rechner .kalk-vs-amount{ font-size: 28px; }body.p-rechner .kalk-res-row .rl{ font-size: 11px; }body.p-rechner .kalk-res-row .rv{ font-size: 12px; }body.p-rechner .kalk-res-sub{ font-size: 12px; }body.p-rechner .auszahlung-box{ padding: 14px; }body.p-rechner .gesamt-overview{ padding: 16px; margin-top: 16px; }body.p-rechner .gesamt-overview-grid{ grid-template-columns: 1fr; gap: 16px; }body.p-rechner .gesamt-summe{ padding: 14px; border-radius: 10px; }body.p-rechner .gesamt-summe-final{ font-size: 18px; }body.p-rechner .hinweis{ font-size: 10.5px; padding: 0 4px; }body.p-rechner .bar-meta span, body.p-rechner .bar-meta strong{ font-size: 11px; }body.p-rechner .opti-banner{ font-size: 12px; padding: 11px 14px; }body.p-rechner .slider-wrap{ padding: 0; }body.p-rechner .slider-header span, body.p-rechner .slider-header strong{ font-size: 11px; }
  }
@media (max-width: 400px) {body.p-rechner .main{ padding: 12px 10px 36px; }body.p-rechner .result-amount{ font-size: 32px; }body.p-rechner .kalk-vs-amount{ font-size: 24px; }body.p-rechner .standort-tab{ min-width: 95px; padding: 8px 10px; }body.p-rechner .standort-tab-name{ font-size: 12px; }body.p-rechner .seg-btn{ padding: 5px 8px; font-size: 10.5px; }body.p-rechner #dpf-login-card{ padding: 28px 18px 24px; }
  }

/* ===== Adler-Siegel „Staatliche Förderung bis 100%" (global, alle Seiten) ===== */
.dpf-siegel{display:inline-flex;align-items:center;justify-content:center;background:#fff;border-radius:8px;padding:12px 16px;box-shadow:0 8px 24px rgba(0,0,0,.12);line-height:0}
.dpf-siegel img{display:block;width:auto;height:auto;max-width:100%}
.hero-siegel{margin-top:32px;border-radius:8px;padding:8px 12px}
.hero-siegel img{height:56px;width:auto}
.footer-siegel{margin-top:20px;max-width:210px;padding:10px 14px;border-radius:8px}
.fh-media{position:relative}
.box-siegel{margin-top:26px;max-width:200px;padding:9px 13px}
@media (max-width:640px){.box-siegel{max-width:180px}}

.eg-left .eg-siegel{margin-top:24px}


/* Hero-Trust-Zeile „Bewilligung 48h" (Startseite) */
.hero-48h{display:inline-flex;align-items:center;gap:8px;margin-top:18px;font-size:.9rem;font-weight:600;color:var(--green-light)}
.hero-48h svg{width:14px;height:14px;fill:none;stroke:var(--green);stroke-width:2.5;flex-shrink:0}
