

  /* ===== HERO =========================================================== */
  .vf-hero2{ background:var(--vf-hero-green); overflow:hidden; }
  .vf-hero2 .inner{
    max-width:var(--vf-maxw); margin-inline:auto; padding:clamp(1.5rem,4vw,2.5rem) clamp(1.1rem,4vw,2.5rem);
    display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:clamp(1.5rem,4vw,3rem); min-height:min(78vh,640px);
  }
  .vf-hero2 .badge{ display:inline-block; background:var(--textcolor); color:#fff; font-weight:700; font-size:.92rem; padding:.5rem 1rem; border-radius:999px; margin-bottom:1.3rem; }
  .vf-hero2 h1{ color:var(--textcolor); font-weight:800; letter-spacing:-.02em; font-size:clamp(2.2rem,5.2vw,3.6rem); line-height:1.04; margin:0 0 1rem; }
  .vf-hero2 h1 .accent{ color:var(--main-color); }
  .vf-hero2 .sub{ color:var(--textcolor); font-size:clamp(1.05rem,1.6vw,1.2rem); line-height:1.6; max-width:44ch; margin:0 0 1.8rem; }
  .vf-hero2 .sub b{ font-weight:700; }
  .vf-cta{ display:inline-flex; align-items:center; gap:.6rem; background:var(--main-color); color:#fff; font-weight:700; font-size:1.1rem; padding:.85rem 1.6rem; border:0; border-radius:999px; text-decoration:none; cursor:pointer; box-shadow:var(--box-shadow-card); transition:transform .15s ease, filter .15s ease; }
  .vf-cta:hover{ transform:translateY(-2px); filter:brightness(1.05); }
  .vf-cta svg{ width:20px; height:20px; fill:currentColor; }
.chips{ display:flex; flex-wrap:wrap; gap:1.2rem; margin-top:1.6rem;     z-index: 1;}
  .vf-chip{ display:inline-flex; align-items:center; gap:.5rem; color:var(--textcolor); font-weight:600; font-size:.98rem; }
  .vf-chip svg{ width:20px; height:20px; flex:none; }
  .vf-chip .tick circle{ fill:var(--textcolor); } .vf-chip .tick path{ fill:#fff; }
  .vf-hero2 .art{ align-self:stretch; display:flex; align-items:center; }
  .vf-hero2 .art img{ width:100%; height:100%; max-height:640px; object-fit:contain; margin-right:calc(-1 * clamp(1.1rem,4vw,2.5rem)); }
  @media (max-width:860px){
    .vf-hero2 .inner{ grid-template-columns:1fr; min-height:0; }
    .vf-hero2 .art{ order:-1; } .vf-hero2 .art img{ max-height:320px; margin-right:0; }
  }

  /* ===== Sektionsbasis ================================================== */

  section.vf-section .wrapper {
    position: relative;
    margin: auto;
    width: min(90vw, 1400px);
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .vf-bg-cream{ background:var(--background-off-white); } .vf-bg-blue{ background:var(--light-blue); }
  .vf-eyebrow{ color:var(--main-color); font-weight:700; font-size:.98rem; letter-spacing:.01em; margin:0 0 .55rem; }
  .vf-section h2{ color:var(--textcolor); font-weight:800; letter-spacing:-.015em; line-height:1.12; font-size:clamp(1.8rem,3.6vw,2.55rem); margin:0 0 1rem; }
  .vf-lead{ color:var(--textcolor); font-size:1.12rem; line-height:1.65; max-width:62ch; margin:0; }
  .vf-accent{ color:var(--main-color); }
  .vf-card{ min-width:0; background:#fff; border-radius:1rem; box-shadow:var(--box-shadow-card); padding:clamp(1.6rem,3vw,2.4rem); }

  /* HOOK */
  .vf-hook{ text-align:center; }
  .vf-hook .head{ color:var(--textcolor); font-weight:800; letter-spacing:-.015em; font-size:clamp(1.55rem,4vw,2.4rem); line-height:1.14; margin:0 0 1.4rem; }
  .vf-pills{ display:flex; flex-wrap:wrap; gap:.6rem; justify-content:center; margin:0 0 3.4rem; }
  .vf-pill{ font-weight:600; font-size:1rem; color:var(--textcolor); padding:.62rem 1.05rem; border-radius:999px; border:var(--vf-line); background:#fff; }
  .vf-pill.is-green{ background:rgb(110 173 74 / .15); } .vf-pill.is-yellow{ background:var(--light-yellow); }
  .vf-pill.is-blue{ background:var(--light-blue); } .vf-pill.is-red{ background:var(--light-red); }
  .vf-pill.is-more{ background:transparent; border:1px dashed rgb(26 48 86 / .35); color:var(--textcolor-soft); }
  .vf-hook .turn{ color:var(--textcolor); font-weight:800; letter-spacing:-.015em; font-size:clamp(1.7rem,4.6vw,2.9rem); line-height:1.16; max-width:22ch; margin:0 auto; }
  .vf-mark{ background:var(--main-color); color:#fff; padding:.04em .5em; border-radius:999px; white-space:nowrap; }

  /* BOX */
  .vf-box .intro{ max-width:60ch; margin-bottom:2.6rem; }
  .vf-cards-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem; }
  .vf-cards-3 .vf-card{ display:flex; flex-direction:column; text-align:center; border-radius: 1rem;}
  .vf-cards-3 .vf-card .img{ width:100%; aspect-ratio:16/10; object-fit:cover;  margin-bottom:1.4rem; border-radius: 0.5rem;}
  .vf-cards-3 .vf-card h3{ color:var(--textcolor); font-weight:700; font-size:1.2rem; line-height:1.2; margin:0 0 .6rem; }
  .vf-cards-3 .vf-card p{ color:var(--textcolor); font-size:1rem; line-height:1.55; margin:0; opacity:.85; }
  .vf-reach{ border-radius: 1rem; margin:2.4rem auto 0; max-width:460px; background:var(--textcolor); color:#fff; border-radius:1rem; padding:1.3rem 1.5rem; text-align:center; box-shadow:var(--box-shadow-card); }
  .vf-reach small{ display:block; font-weight:600; font-size:.92rem; opacity:.8; margin-bottom:.25rem; }
  .vf-reach strong{ font-weight:800; font-size:2.1rem; line-height:1; } .vf-reach strong em{ color:var(--secondary-color); font-style:normal; }

  /* FACTS */
  .vf-facts .grid{ display:grid; grid-template-columns:1fr .8fr; gap:clamp(2rem,5vw,4rem); align-items:center; }
  .vf-fact-cards{ display:flex; flex-wrap:wrap; gap:1.1rem; margin:1.6rem 0; border-radius: 1rem;}
  .vf-fact{ flex:1 1 180px; min-width:0; background:#fff; border-radius:1rem; box-shadow:var(--box-shadow-card); padding:1.5rem 1.3rem; text-align:center; }
  .vf-fact b{ display:block; color:var(--textcolor); font-weight:800; font-size:1.25rem; line-height:1.15; margin-bottom:.4rem; }
  .vf-fact span{ color:var(--textcolor); font-size:.96rem; line-height:1.5; opacity:.8; }
  .vf-facts .for{ color:var(--textcolor); font-size:1.05rem; line-height:1.6; margin:0; }
  .vf-facts .for b{ font-weight:800; }
  .vf-map{ display:flex; justify-content:center; }
  .vf-map img{ width:100%; max-width:380px; aspect-ratio:4/5; object-fit:contain; }

  /* STATIONS */
  .vf-stations .head-center{ text-align:center; max-width:50ch; margin:0 auto 2.6rem; }
  .vf-station-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem; }
  .vf-station{ border-radius: 1rem; min-width:0; display:flex; flex-direction:column; background:#fff; border-radius:1rem; box-shadow:var(--box-shadow-card); overflow:hidden; }
  .vf-station .card-img{ width:100%; aspect-ratio:3/2; object-fit:cover; display:block; }
  .vf-station .body{ padding:1.5rem 1.5rem 1.7rem; display:flex; flex-direction:column; flex:1; }
  .vf-station .num{ color:var(--main-color); font-weight:700; font-size:.85rem; letter-spacing:.02em; margin:0 0 .35rem; }
  .vf-station h3{ color:var(--textcolor); font-weight:700; font-size:1.18rem; line-height:1.18; margin:0 0 .55rem; }
  .vf-station p{ color:var(--textcolor); font-size:.97rem; line-height:1.5; margin:0; opacity:.85; }
  .vf-station .goal{ margin-top:1.1rem; padding-top:1rem; border-top:var(--vf-line); color:var(--textcolor); font-weight:700; font-size:.92rem; }

  /* PRACTICE */
  .vf-practice{ text-align:center; }
  .vf-practice .vf-lead{ margin:0 auto; }
  .vf-practice-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:1.3rem; margin-top:2.5rem; }
  .vf-practice-grid img{ border-radius: 1rem; width:100%; aspect-ratio:16/9; object-fit:cover; box-shadow:var(--box-shadow-card); }

  /* TEAM */
  .vf-team{ text-align:center; }
  .vf-team .vf-lead{ margin:0 auto 0; }
  .vf-team-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:1.5rem; margin-top:2.4rem; }
  .vf-member{ min-width:0; }
  .vf-member img{ display:block; margin:0 auto; width:min(150px,100%); aspect-ratio:1; object-fit:cover; border-radius:50%; box-shadow:var(--box-shadow-card); }
  .vf-member b{ display:block; margin-top:.95rem; color:var(--textcolor); font-weight:700; font-size:1rem; line-height:1.2; }
  .vf-member span{ display:block; margin-top:.2rem; color:var(--textcolor); font-size:.9rem; line-height:1.35; opacity:.7; }

  /* CTA */
  .vf-ctaband{ background:var(--textcolor); color:#fff; text-align:center; }
  .vf-ctaband h2{ color:#fff; }
  .vf-ctaband .vf-lead{ color:rgb(255 255 255 / .85); margin:0 auto 2rem; }
  .vf-formcard{ background:#fff; border-radius:1rem; box-shadow:var(--box-shadow-card); padding:clamp(1.6rem,3vw,2.2rem); max-width:560px; margin:0 auto; text-align:left; }
  .vf-formrow{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
  .vf-field label{ display:block; color:var(--textcolor); font-weight:600; font-size:.9rem; margin-bottom:.4rem; }
  .vf-field input{ width:100%; padding:.8rem 1rem; border:var(--vf-line); border-radius:12px; font:inherit; color:var(--textcolor); background:#fff; }
  .vf-field input:focus{ outline:2px solid var(--main-color); outline-offset:1px; }
  .vf-formcard .vf-cta{ margin-top:1.2rem; width:100%; justify-content:center; }

  @media (max-width:880px){
    .vf-cards-3, .vf-station-grid{ grid-template-columns:repeat(2,1fr); }
    .vf-facts .grid{ grid-template-columns:1fr; }
    .vf-team-grid{ grid-template-columns:repeat(3,1fr); }
  }
  @media (max-width:560px){
    .vf-cards-3, .vf-station-grid, .vf-practice-grid, .vf-formrow{ grid-template-columns:1fr; }
    .vf-team-grid{ grid-template-columns:repeat(2,1fr); }
  }

  /* nur Vorschau */
  .vf-page{ margin:0; overflow-x:hidden; font-family:'Inter',system-ui,sans-serif; -webkit-font-smoothing:antialiased; color:var(--textcolor); background:#fff; }
  .vf-prev-note{ background:var(--secondary-color); color:var(--textcolor); text-align:center; padding:.6rem 1rem; font-weight:600; font-size:.88rem; }
  .vf-prev-note code{ background:rgb(26 48 86 / .08); padding:.1em .4em; border-radius:5px; }