/* Vita Harmonia — Bausteine als reines CSS (übersetzt aus den React-Komponenten des Design-Systems).
   Jede Fläche setzt über [data-tone] die Rollenfarben --c1/--c2/--cem/--cline; Bausteine nutzen nur diese. */

:root,[data-tone="light"]{--c1:var(--fg-1);--c2:var(--fg-2);--c3:var(--fg-3);--cem:var(--fg-emphasis);--cgrad:linear-gradient(100deg,#A63D74 0%,#C0703F 55%,var(--ochre-500) 100%);--cnum:var(--elder-600);--cline:var(--line-strong);--cline-soft:var(--line);--cwash:rgba(51,68,51,.05)}
[data-tone="deep"]{--c1:var(--fg-on-deep-1);--c2:var(--fg-on-deep-2);--c3:var(--fg-on-deep-2);--cem:var(--fg-on-deep-emphasis);--cgrad:linear-gradient(100deg,#E58FB4 -30%,#EFB15F 35%,#EFB15F 65%,#FFE9A8 130%);--cnum:var(--fg-on-deep-emphasis);--cline:var(--line-on-deep-strong);--cline-soft:var(--line-on-deep);--cwash:rgba(238,234,223,.045)}

body{background:var(--bg-deep);overflow-x:hidden}
.vh-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.vh-skip{position:fixed;left:16px;top:-80px;z-index:100;padding:12px 18px;border-radius:var(--radius-pill);background:var(--ochre-300);color:var(--elder-950);text-decoration:none;font-weight:600}
.vh-skip:focus{top:16px}

/* ───────── Flächen ───────── */
.vh-section{position:relative;overflow:hidden;padding:var(--section-pad-m) var(--gutter);color:var(--c1);background:var(--bg-page-fade)}
.vh-section[data-tone="deep"]{background:var(--bg-deep-fade)}
.vh-section--deepest{background:var(--bg-deepest-fade)!important}
.vh-section--raised{background:var(--bg-raised)}
.vh-section--sunken{background:var(--bg-sunken)}
.vh-section--s{padding-block:var(--section-pad-s)}
.vh-section--l{padding-block:var(--section-pad-l)}
.vh-container{position:relative;max-width:var(--container);margin:0 auto}
.vh-container--text{max-width:var(--container-text)}
.vh-fieldwrap{position:absolute;inset:0;pointer-events:none}
.vh-fieldwrap canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.vh-fieldwrap--fade canvas{-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 18%,#000 82%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 18%,#000 82%,transparent 100%)}

.vh-stack{display:flex;flex-direction:column;gap:clamp(48px,6vw,88px)}
.vh-stack--l{gap:clamp(64px,8vw,120px)}
.vh-stack--s{gap:28px}
.vh-stack--xs{gap:16px}

/* ───────── Typografie ───────── */
.vh-eyebrow{display:flex;align-items:center;gap:14px;font-family:var(--font-label);font-size:var(--text-label);font-weight:500;letter-spacing:var(--tracking-label);text-transform:uppercase;line-height:1.4;color:var(--c2)}
.vh-eyebrow--rule::before{content:"";flex:0 0 28px;height:1px;background:currentColor;opacity:.6}
.vh-eyebrow--em{color:var(--cem);letter-spacing:.18em}
.vh-display,.vh-h1{font-family:var(--font-display);font-weight:700;text-transform:uppercase;line-height:var(--leading-display);letter-spacing:var(--tracking-display);color:var(--c1);hyphens:auto;overflow-wrap:anywhere}
.vh-display{font-size:var(--text-display)}
.vh-h1{font-size:var(--text-h1)}
.vh-h1--head{font-size:clamp(40px,5.6vw,96px)}
.vh-h1--giant{font-size:clamp(56px,10vw,168px);line-height:.88;letter-spacing:-.015em}
.vh-h2{font-family:var(--font-display);font-weight:600;font-size:var(--text-h2);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading);color:var(--c1);hyphens:auto;overflow-wrap:anywhere}
.vh-h3{font-family:var(--font-display);font-weight:600;font-size:clamp(26px,2.4vw,36px);line-height:1.1;letter-spacing:-.02em;color:var(--c1)}
.vh-h3--s{font-weight:500;font-size:var(--text-h3);line-height:1.2;letter-spacing:-.01em}
.vh-h4{font-family:var(--font-display);font-weight:600;font-size:21px;line-height:1.2;letter-spacing:-.01em;color:var(--c1)}
.vh-display em,.vh-h1 em,.vh-h2 em,.vh-h3 em,.vh-statement em,.vh-em{font-style:normal;color:var(--cem)}
/* Schlüsselwort als Verlauf (--cgrad je Ton); ohne background-clip bleibt die Akzentfarbe */
.vh-em--verlauf{font-style:normal;font-weight:600;color:var(--cem)}
@supports ((-webkit-background-clip:text) or (background-clip:text)){.vh-em--verlauf{background:var(--cgrad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;-webkit-box-decoration-break:clone;box-decoration-break:clone}}
@media (forced-colors:active){.vh-em--verlauf{background:none;-webkit-text-fill-color:currentColor}}
/* Schlüsselwort im Titel über einem Foto: leichter Goldverlauf, Stärke wie der Titel; Schatten als Filter, weil text-shadow sonst über dem Verlauf läge */
.vh-em--titel{font-style:normal;color:var(--cem)}
@supports ((-webkit-background-clip:text) or (background-clip:text)){.vh-em--titel{background:linear-gradient(100deg,#D6AE66 0%,var(--ochre-300) 50%,#F3E3C0 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;-webkit-box-decoration-break:clone;box-decoration-break:clone;text-shadow:none;filter:drop-shadow(0 2px 14px rgba(var(--shade-rgb),.5))}}
@media (forced-colors:active){.vh-em--titel{background:none;-webkit-text-fill-color:currentColor;filter:none}}
.vh-lead{font-size:var(--text-lead);line-height:var(--leading-lead);color:var(--c2)}
.vh-text{color:var(--c2);max-width:62ch}
.vh-text p+p,.vh-lead+.vh-text,.vh-text+.vh-text{margin-top:1em}
.vh-small{font-size:var(--text-small);color:var(--c2)}
.vh-label{font-family:var(--font-label);font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--c2)}
.vh-statement{font-family:var(--font-display);font-weight:400;font-size:clamp(30px,3.8vw,58px);line-height:1.12;letter-spacing:-.02em;color:var(--c1);text-wrap:balance;max-width:1000px}
.vh-wordmark{font-family:var(--font-display);font-size:15px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;line-height:1;color:var(--c1);text-decoration:none;white-space:nowrap}
.vh-wordmark span{font-weight:300}
.vh-wordmark:hover{color:var(--c1)}

/* ───────── Sektions-Kopf (links gewichtet: 8 + 4 Spalten) ───────── */
.vh-head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2vw,32px);row-gap:28px;align-items:end}
.vh-head>.vh-eyebrow{grid-column:1/-1}
.vh-head__title{grid-column:1/-1;min-width:0}
.vh-head__title:has(+.vh-head__intro){grid-column:1/span 8}
.vh-head__intro{grid-column:9/-1;min-width:0}
@media (max-width:900px){.vh-head__title:has(+.vh-head__intro),.vh-head__intro{grid-column:1/-1}}

/* ───────── Raster ───────── */
.vh-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:48px clamp(32px,5vw,96px)}
.vh-grid--3{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:40px clamp(24px,3vw,56px)}
.vh-split{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2vw,32px);row-gap:48px;align-items:start}
.vh-split>:first-child{grid-column:1/span 4;min-width:0}
.vh-split>:last-child{grid-column:6/-1;min-width:0}
.vh-split--even>:first-child{grid-column:1/span 6}
.vh-split--even>:last-child{grid-column:8/-1}
.vh-split--wide>:first-child{grid-column:1/span 7}
.vh-split--wide>:last-child{grid-column:9/-1}
.vh-split--center{align-items:center}
.vh-split--aside>:first-child{grid-column:1/span 3}
.vh-split--aside>:last-child{grid-column:4/-1}
@media (max-width:900px){.vh-split>:first-child,.vh-split>:last-child{grid-column:1/-1}}
.vh-ruled{padding-top:24px;border-top:1px solid var(--cline)}
.vh-item{display:flex;flex-direction:column;gap:16px;padding-top:24px;border-top:1px solid var(--cline)}
.vh-item p{color:var(--c2);max-width:480px}

/* ───────── Aktionen ───────── */
.vh-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 26px;font-family:var(--font-body);font-size:15px;font-weight:500;letter-spacing:.005em;line-height:1.2;color:var(--action-fg);background:var(--action-bg);border:1px solid transparent;border-radius:var(--radius-pill);text-decoration:none;cursor:pointer;white-space:nowrap;transition:background var(--dur-calm) var(--ease-breath),border-color var(--dur-calm) var(--ease-breath),color var(--dur-calm) var(--ease-breath),transform var(--dur-quick) var(--ease-breath)}
.vh-btn:hover{background:var(--action-bg-hover);color:var(--action-fg)}
.vh-btn:active{transform:scale(.98)}
.vh-btn:focus-visible{border-radius:var(--radius-pill)}
[data-tone="deep"] .vh-btn{background:var(--action-on-deep-bg);color:var(--action-on-deep-fg)}
[data-tone="deep"] .vh-btn:hover{background:var(--action-on-deep-bg-hover)}
.vh-btn--sm{padding:10px 18px;font-size:14px}
.vh-btn--lg{padding:18px 34px;font-size:17px}
.vh-btn--secondary,[data-tone="deep"] .vh-btn--secondary{background:transparent;color:var(--c1);border-color:var(--cline)}
.vh-btn--secondary:hover{background:rgba(51,68,51,.05);color:var(--c1);border-color:var(--elder-600)}
[data-tone="deep"] .vh-btn--secondary:hover{background:rgba(238,234,223,.08);border-color:var(--fg-on-deep-2)}
.vh-btn--pollen,[data-tone="deep"] .vh-btn--pollen{background:var(--ochre-300);color:var(--elder-950);font-weight:600}
.vh-btn--pollen:hover,[data-tone="deep"] .vh-btn--pollen:hover{background:var(--ochre-200);color:var(--elder-950)}
.vh-btn__arrow,.vh-link__arrow{display:inline-block;transition:transform var(--dur-calm) var(--ease-breath)}
.vh-btn:hover .vh-btn__arrow{transform:translateX(4px)}
.vh-actions{display:flex;flex-wrap:wrap;gap:14px 18px;align-items:center}

.vh-link{display:inline-flex;align-items:baseline;gap:8px;font-family:var(--font-body);font-size:15px;font-weight:500;color:var(--elder-700);text-decoration:none}
[data-tone="deep"] .vh-link{color:var(--fg-on-deep-1)}
.vh-link>span:first-child{background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:0 100%;background-size:0% 1px;padding-bottom:3px;box-shadow:inset 0 -1px 0 var(--cline);transition:background-size var(--dur-calm) var(--ease-breath)}
.vh-link:hover>span:first-child{background-size:100% 1px}
.vh-link:hover .vh-link__arrow{transform:translateX(5px)}
.vh-link:hover{color:var(--elder-700)}
[data-tone="deep"] .vh-link:hover{color:var(--fg-on-deep-1)}

.vh-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 11px 4px;border-radius:var(--radius-pill);font-family:var(--font-label);font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;line-height:1.3;background:var(--ochre-200);color:var(--ink);border:1px solid transparent;white-space:nowrap}
.vh-badge--outline{background:transparent;color:var(--c2);border-color:var(--cline)}

/* ───────── Menüleiste & Vollbild-Menü ───────── */
.vh-bar{position:fixed;top:0;left:0;right:0;z-index:60;display:flex;align-items:center;justify-content:space-between;padding:clamp(18px,2.6vw,36px) clamp(20px,2.8vw,40px);pointer-events:none;--c1:var(--fg-on-deep-1)}
.vh-bar>*{pointer-events:auto}
.vh-bar.is-light{--c1:var(--fg-1)}
.vh-menu-open .vh-bar{--c1:var(--fg-on-deep-1)}
.vh-bar .vh-wordmark{transition:opacity var(--dur-calm) var(--ease-breath),color var(--dur-calm) var(--ease-breath)}
.vh-menu-open .vh-bar .vh-wordmark{opacity:0;pointer-events:none}
.vh-menubtn{all:unset;pointer-events:auto;cursor:pointer;position:relative;display:inline-flex;align-items:center;height:64px;padding-left:30px;color:var(--c1);transition:color var(--dur-calm) var(--ease-breath)}
.vh-menubtn:focus-visible{box-shadow:var(--shadow-focus);border-radius:var(--radius-pill)}
.vh-menubtn svg{position:absolute;left:0;top:0;overflow:visible;transform:rotate(110deg);transition:transform 1100ms var(--ease-breath)}
.vh-menubtn:hover svg{transform:rotate(150deg)}
.vh-menu-open .vh-menubtn svg{transform:rotate(300deg)}
.vh-menubtn circle{fill:none;stroke:currentColor;stroke-width:1.25;stroke-dasharray:150 45;transition:stroke-dasharray 1100ms var(--ease-breath)}
.vh-menu-open .vh-menubtn circle{stroke-dasharray:195 0}
.vh-menubtn__label{position:relative;font-family:var(--font-label);font-size:12.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase}
@media (max-width:480px){.vh-bar .vh-wordmark{font-size:12px;letter-spacing:.2em}.vh-menubtn{height:56px;padding-left:26px}.vh-menubtn svg{width:56px;height:56px}}
.vh-menubtn__label [data-when="open"],.vh-menu-open .vh-menubtn__label [data-when="closed"]{display:none}
.vh-menu-open .vh-menubtn__label [data-when="open"]{display:inline}

.vh-overlay{position:fixed;inset:0;z-index:55;background:var(--bg-deep-fade);overflow:hidden;clip-path:circle(0% at 72px 68px);transition:clip-path 1200ms var(--ease-grow),visibility 0s 1200ms;pointer-events:none;visibility:hidden}
.vh-menu-open .vh-overlay{clip-path:circle(150% at 72px 68px);pointer-events:auto;visibility:visible;transition:clip-path 1200ms var(--ease-grow)}
.vh-menu-open body{overflow:hidden}
.vh-overlay__inner{position:relative;height:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:48px;align-items:center;padding:120px clamp(24px,8vw,140px) 56px;overflow-y:auto}
.vh-overlay nav{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(10px,1.6vh,20px);min-width:0}
.vh-navlink{display:inline-flex;align-items:baseline;gap:16px;text-decoration:none;font-family:var(--font-display);font-weight:700;font-size:clamp(28px,4.4vw,68px);line-height:1;letter-spacing:-.01em;text-transform:uppercase;color:var(--fg-on-deep-1);opacity:0;transform:translateX(-48px);transition:opacity 900ms var(--ease-breath),transform 900ms var(--ease-breath),color var(--dur-calm) var(--ease-breath)}
.vh-navlink__n{font-family:var(--font-label);font-size:12px;font-weight:500;letter-spacing:.2em;color:var(--fg-on-deep-2);transform:translateY(-.4em)}
.vh-menu-open .vh-navlink{opacity:1;transform:none;transition-delay:calc(180ms + var(--i,0) * 70ms),calc(180ms + var(--i,0) * 70ms),0s}
.vh-menu-open .vh-navlink:hover{transform:translateX(14px);transition-delay:calc(180ms + var(--i,0) * 70ms),0s,0s}
.vh-navlink:hover,.vh-navlink[aria-current="page"],.vh-sublink:hover,.vh-sublink[aria-current="page"]{color:var(--fg-on-deep-emphasis)}
.vh-overlay__side{display:flex;flex-direction:column;gap:28px;opacity:0;transition:opacity 900ms var(--ease-breath)}
.vh-menu-open .vh-overlay__side{opacity:1;transition-delay:600ms}
.vh-overlay__group{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.vh-overlay__group .vh-label{margin-bottom:6px;color:var(--fg-on-deep-2)}
.vh-sublink{font-family:var(--font-display);font-size:17px;line-height:1.5;letter-spacing:.01em;color:var(--fg-on-deep-1);text-decoration:none;transition:color var(--dur-calm) var(--ease-breath)}
.vh-overlay__contact{display:flex;flex-direction:column;gap:6px;color:var(--fg-on-deep-2);font-size:15px}
.vh-overlay__contact a{color:var(--fg-on-deep-1);text-decoration:none}
.vh-overlay .vh-btn{align-self:flex-start}

/* ───────── Szenen (Startseite) ─────────
   Grundzustand = gestapelt (mobil, ohne JS). Mit .is-track: fixierte Bühne, Szenen blenden seitwärts ineinander. */
.vh-scenes{position:relative;background:var(--bg-deep-fade);color:var(--fg-on-deep-1)}
.vh-scenes__stage{position:relative;overflow:hidden}
.vh-scene{position:relative;min-height:100svh;display:grid;place-items:center;padding:120px 24px 96px;overflow:hidden}
.vh-scene__media{position:absolute;inset:0;z-index:1;overflow:hidden}
.vh-scene__media video,.vh-scene__media img{position:absolute;inset:-4%;width:108%;height:108%;max-width:none;object-fit:cover}
.vh-scene__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(var(--shade-rgb),.62) 0%,rgba(var(--shade-rgb),.30) 50%,color-mix(in oklab,var(--elder-300) 42%,transparent) 100%)}
.vh-scenes__field{position:absolute;inset:0;z-index:2;mix-blend-mode:screen;pointer-events:none}
.vh-scene__text{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;text-align:center;gap:clamp(18px,2.4vw,30px);max-width:1180px}
.vh-scene__text .vh-eyebrow{letter-spacing:.22em;color:var(--fg-on-deep-1);opacity:.85;justify-content:center}
.vh-scene__text .vh-display{text-shadow:0 2px 40px rgba(var(--shade-rgb),.35);text-wrap:balance}
.vh-scene__text p{max-width:620px;font-size:var(--text-lead);line-height:1.55;color:var(--fg-on-deep-1)}
.vh-scene__link,.vh-scenes__link{font-family:var(--font-display);font-size:19px;font-weight:400;color:inherit;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px}
.vh-scene__link:hover,.vh-scenes__link:hover{color:var(--fg-on-deep-emphasis)}
.vh-scenes__foot{display:none}
.vh-scenes.is-track{height:calc(var(--n,3) * 100vh)}
.vh-scenes.is-track .vh-scenes__stage{position:sticky;top:0;height:100vh}
.vh-scenes.is-track .vh-scene{position:static;min-height:0;padding:0;overflow:visible;display:block}
.vh-scenes.is-track .vh-scene__media,.vh-scenes.is-track .vh-scene__text{transition:opacity var(--dur-scene) var(--ease-breath),transform var(--dur-scene) var(--ease-breath),filter var(--dur-scene) var(--ease-breath)}
.vh-scenes.is-init .vh-scene__media,.vh-scenes.is-init .vh-scene__text{transition:none!important}
.vh-scenes.is-track .vh-scene__text{position:absolute;inset:0;max-width:none;display:grid;place-items:center;align-content:center;justify-items:center;padding:120px var(--gutter) 150px;pointer-events:none}
.vh-scenes.is-track .vh-scene__text>*{max-width:1180px}
.vh-scenes.is-track .vh-scene__text>p{max-width:620px}
.vh-scenes.is-track .vh-scene.is-active .vh-scene__text{pointer-events:auto}
.vh-scenes.is-track .vh-scene__link{display:none}
.vh-scenes.is-track .vh-scenes__foot{display:flex;justify-content:center;position:absolute;z-index:4;left:0;right:0;bottom:0;padding:0 clamp(20px,2.8vw,40px) clamp(22px,3vw,40px)}

/* ───────── Seitenkopf (Unterseiten) ───────── */
.vh-hero{padding-top:clamp(170px,20vw,260px);padding-bottom:clamp(72px,9vw,128px)}
.vh-hero__inner{display:flex;flex-direction:column;gap:28px;max-width:1040px}
.vh-hero .vh-lead{max-width:640px;color:var(--fg-on-deep-1)}
.vh-hero--media .vh-hero__bg{position:absolute;inset:0}
.vh-hero--media .vh-hero__bg img,.vh-hero--media .vh-hero__bg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vh-hero--media .vh-hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(var(--shade-rgb),.72) 0%,rgba(var(--shade-rgb),.45) 55%,rgba(var(--shade-rgb),.7) 100%)}
.vh-hero--media .vh-fieldwrap{mix-blend-mode:screen}

/* ───────── Ablauf in Schritten ───────── */
.vh-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:36px clamp(20px,2.4vw,40px)}
.vh-steps>li{display:flex;flex-direction:column;gap:14px;padding-top:20px;border-top:1px solid var(--cline)}
.vh-steps__n{font-family:var(--font-display);font-weight:300;font-size:44px;line-height:1;letter-spacing:-.02em;color:var(--cnum)}
.vh-steps>li p{font-size:16px;line-height:1.6;color:var(--c2)}
.vh-steps--long{grid-template-columns:1fr;gap:0}
.vh-steps--long>li{display:grid;grid-template-columns:minmax(64px,2fr) minmax(0,4fr) minmax(0,6fr);column-gap:clamp(16px,3vw,48px);align-items:baseline;padding:clamp(24px,3vw,40px) 0}
.vh-steps--long>li:last-child{border-bottom:1px solid var(--cline)}
.vh-steps--long>li p{font-size:17px}
@media (max-width:760px){.vh-steps--long>li{grid-template-columns:1fr;row-gap:12px}}

/* ───────── Angebotsliste (Zeilen zwischen Haarlinien) ───────── */
.vh-offers{border-top:1px solid var(--cline)}
.vh-offer{position:relative;border-bottom:1px solid var(--cline)}
.vh-offer::before{content:"";position:absolute;inset:0;background:var(--cwash);clip-path:inset(0 100% 0 0);transition:clip-path 900ms var(--ease-grow)}
.vh-offer:hover::before,.vh-offer.is-open::before{clip-path:inset(0 0 0 0)}
.vh-offer__head{all:unset;box-sizing:border-box;cursor:pointer;position:relative;width:100%;display:grid;grid-template-columns:56px minmax(0,1fr) auto auto;align-items:baseline;column-gap:clamp(16px,3vw,48px);padding:clamp(22px,2.6vw,34px) clamp(4px,1.2vw,18px)}
.vh-offer__head:focus-visible{box-shadow:var(--shadow-focus)}
.vh-offer__n{font-family:var(--font-label);font-size:12px;font-weight:500;letter-spacing:.2em;color:var(--c2)}
.vh-offer__main{display:flex;flex-direction:column;gap:6px;min-width:0}
.vh-offer__title{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.vh-offer__name{font-family:var(--font-display);font-weight:600;font-size:clamp(24px,2.6vw,38px);line-height:1.05;letter-spacing:-.02em;color:var(--c1);transition:transform 900ms var(--ease-breath)}
.vh-offer__flag{font-family:var(--font-label);font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--cnum)}
.vh-offer__sub{font-size:15.5px;color:var(--c2);transition:transform 900ms var(--ease-breath) 40ms}
.vh-offer:hover .vh-offer__name,.vh-offer.is-open .vh-offer__name,.vh-offer:hover .vh-offer__sub,.vh-offer.is-open .vh-offer__sub{transform:translateX(10px)}
.vh-offer__dur{font-family:var(--font-label);font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--c2);white-space:nowrap}
.vh-offer__price{font-family:var(--font-display);font-weight:300;font-size:clamp(28px,3vw,44px);letter-spacing:-.02em;color:var(--c1);white-space:nowrap;min-width:4.2ch;text-align:right;transition:color var(--dur-calm) var(--ease-breath)}
.vh-offer:hover .vh-offer__price,.vh-offer.is-open .vh-offer__price{color:var(--cnum)}
.vh-offer__panel{position:relative;display:grid;grid-template-rows:0fr;transition:grid-template-rows 700ms var(--ease-breath)}
.vh-offer.is-open .vh-offer__panel{grid-template-rows:1fr}
.vh-offer__panel>div{overflow:hidden;visibility:hidden;transition:visibility 0s 700ms}
.vh-offer.is-open .vh-offer__panel>div{visibility:visible;transition-delay:0s}
.vh-offer__body{display:grid;grid-template-columns:56px minmax(0,1fr) auto;column-gap:clamp(16px,3vw,48px);padding:0 clamp(4px,1.2vw,18px) 34px;align-items:end}
.vh-offer__body ul{list-style:none;margin:0;padding:0;columns:2 240px;column-gap:40px;font-size:16px;line-height:1.5;color:var(--c2)}
.vh-offer__body li{break-inside:avoid;padding:6px 0}
.vh-offer__body p{color:var(--c2);font-size:16px;max-width:60ch;margin-bottom:10px}
.vh-offer__cta{font-family:var(--font-display);font-size:17px;font-weight:500;color:var(--c1);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px;white-space:nowrap}
.vh-offer__cta:hover{color:var(--cnum)}
@media (max-width:760px){
  .vh-offer__head{grid-template-columns:32px minmax(0,1fr) auto;row-gap:8px}
  .vh-offer__dur{grid-column:2;grid-row:2}
  .vh-offer__price{grid-column:3;grid-row:1}
  .vh-offer__body{grid-template-columns:32px minmax(0,1fr);row-gap:20px}
  .vh-offer__cta{grid-column:2;justify-self:start}
}

/* ───────── Akkordeon ───────── */
.vh-acc{border-top:1px solid var(--cline)}
.vh-acc__item{border-bottom:1px solid var(--cline)}
.vh-acc__head{all:unset;box-sizing:border-box;cursor:pointer;width:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;font-family:var(--font-display);font-size:23px;font-weight:400;line-height:1.3;color:var(--c1);transition:color var(--dur-calm) var(--ease-breath)}
[data-tone="light"] .vh-acc__head:hover{color:var(--elder-700)}
.vh-acc__head:focus-visible{box-shadow:var(--shadow-focus)}
.vh-acc__icon{position:relative;flex:0 0 auto;width:34px;height:34px;border-radius:50%;border:1px solid var(--cline);transition:background var(--dur-calm) var(--ease-breath)}
.vh-acc__icon::before,.vh-acc__icon::after{content:"";position:absolute;background:currentColor}
.vh-acc__icon::before{left:11px;right:11px;top:16px;height:1px}
.vh-acc__icon::after{top:11px;bottom:11px;left:16px;width:1px;transition:transform var(--dur-calm) var(--ease-breath)}
.vh-acc__item.is-open .vh-acc__icon{background:var(--elder-800);color:var(--linen-50)}
[data-tone="deep"] .vh-acc__item.is-open .vh-acc__icon{background:var(--linen-100);color:var(--elder-900)}
.vh-acc__item.is-open .vh-acc__icon::after{transform:scaleY(0)}
.vh-acc__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--dur-calm) var(--ease-breath)}
.vh-acc__item.is-open .vh-acc__panel{grid-template-rows:1fr}
.vh-acc__panel>div{overflow:hidden;visibility:hidden;transition:visibility 0s var(--dur-calm)}
.vh-acc__item.is-open .vh-acc__panel>div{visibility:visible;transition-delay:0s}
.vh-acc__body{padding:0 64px 26px 0;font-size:16.5px;line-height:1.65;color:var(--c2);opacity:0;transition:opacity var(--dur-calm) var(--ease-breath)}
.vh-acc__item.is-open .vh-acc__body{opacity:1}
.vh-acc__body p+p,.vh-acc__body ul{margin-top:.8em}
@media (max-width:600px){.vh-acc__head{font-size:19px}.vh-acc__body{padding-right:0}}

/* ───────── Stimmen ───────── */
.vh-voices{position:relative;display:flex;flex-direction:column;gap:clamp(32px,4vw,56px)}
.vh-voices__stage{display:grid}
.vh-voice{grid-area:1/1;margin:0;display:flex;flex-direction:column;gap:28px;opacity:0;transform:translateX(8vw);filter:blur(8px);pointer-events:none;transition:opacity 1200ms var(--ease-breath),transform 1400ms var(--ease-breath),filter 1200ms var(--ease-breath)}
.vh-voice.is-before{transform:translateX(-8vw)}
.vh-voice.is-on{opacity:1;transform:none;filter:none;pointer-events:auto}
.vh-voice blockquote{font-family:var(--font-display);font-weight:300;font-size:clamp(28px,3.6vw,54px);line-height:1.16;letter-spacing:-.02em;color:var(--c1);max-width:22ch;text-wrap:balance}
.vh-voice figcaption{display:flex;gap:14px;align-items:baseline;flex-wrap:wrap}
.vh-voice__name{font-family:var(--font-label);font-size:12.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--c1)}
.vh-voice__meta{font-size:15px;color:var(--c3)}
.vh-voices__ctl{display:flex;align-items:center;gap:18px}
.vh-voices__ctl button{all:unset;cursor:pointer;font-family:var(--font-display);font-size:22px;padding:6px 10px;color:var(--c1)}
.vh-voices__ctl button:focus-visible{box-shadow:var(--shadow-focus);border-radius:var(--radius-xs)}
.vh-voices__count{font-family:var(--font-label);font-size:12px;font-weight:600;letter-spacing:.22em;color:var(--c1);font-variant-numeric:tabular-nums}
.vh-voices__count span{color:var(--c3)}
.vh-voices__bar{flex:1;max-width:220px;height:1px;background:var(--cline-soft);position:relative;overflow:hidden}
.vh-voices__bar i{position:absolute;inset:0;background:var(--cnum);transform-origin:left;transform:scaleX(0)}
.vh-voices__bar i.is-run{animation:vhVoiceTick var(--interval,9000ms) linear forwards}
@keyframes vhVoiceTick{from{transform:scaleX(0)}to{transform:scaleX(1)}}
/* Alle Stimmen untereinander (Seite „Erfahrungen“) */
.vh-voicelist{display:flex;flex-direction:column}
.vh-voicelist .vh-voice{grid-area:auto;opacity:1;transform:none;filter:none;pointer-events:auto;padding:clamp(40px,5vw,72px) 0;border-top:1px solid var(--cline)}
.vh-voicelist .vh-voice blockquote{max-width:26ch}

/* ───────── Kleine Inhalte ───────── */
.vh-feature{display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:14px;row-gap:6px}
.vh-feature:not(:has(.vh-feature__glyph)){grid-template-columns:minmax(0,1fr)}
.vh-feature__glyph{grid-row:span 2;font-family:var(--font-display);font-size:22px;line-height:1.1;color:var(--ochre-700)}
[data-tone="deep"] .vh-feature__glyph{color:var(--fg-on-deep-emphasis)}
.vh-feature h3,.vh-feature h4{font-family:var(--font-body);font-weight:600;font-size:17px;line-height:1.35;color:var(--c1)}
.vh-feature p{font-size:15.5px;line-height:1.6;color:var(--c2)}
.vh-stat{display:flex;flex-direction:column;gap:8px}
.vh-stat__value{font-family:var(--font-display);font-weight:300;font-size:clamp(40px,4.4vw,60px);line-height:1;letter-spacing:-.02em;color:var(--cnum)}
.vh-stat__title{font-weight:600;font-size:16px;color:var(--c1)}
.vh-stat p{font-size:15px;line-height:1.55;color:var(--c2)}
.vh-quote{display:flex;flex-direction:column;gap:18px}
.vh-quote p{font-family:var(--font-display);font-weight:300;font-size:var(--text-quote);line-height:1.25;letter-spacing:-.015em;color:var(--c1);text-wrap:balance}
.vh-quote footer{font-family:var(--font-label);font-size:12px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--c3)}
.vh-list{list-style:none;margin:0;padding:0;color:var(--c2)}
.vh-list>li{position:relative;padding:10px 0 10px 26px;border-bottom:1px solid var(--cline-soft)}
.vh-list>li::before{content:"◦";position:absolute;left:4px;color:var(--cnum)}
.vh-list--plain>li{border-bottom:0;padding-block:5px}
.vh-facts{display:flex;flex-wrap:wrap;gap:6px 28px;font-family:var(--font-label);font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--c2)}
.vh-rows{border-top:1px solid var(--cline)}
.vh-row{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);column-gap:clamp(16px,3vw,48px);row-gap:10px;padding:clamp(22px,2.6vw,34px) 0;border-bottom:1px solid var(--cline);align-items:baseline}
.vh-row p{color:var(--c2)}
@media (max-width:760px){.vh-row{grid-template-columns:1fr}}
.vh-note{font-size:13.5px;line-height:1.6;color:var(--c2);max-width:760px}

/* ───────── Foto mit Aufklapp-Maske ───────── */
.vh-figure{margin:0;display:flex;flex-direction:column;gap:12px}
.vh-figure__frame{position:relative;aspect-ratio:var(--ratio,4/5);border-radius:var(--radius-m);overflow:hidden;background:var(--bg-sunken)}
[data-tone="deep"] .vh-figure__frame{background:var(--elder-800)}
.vh-figure__frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vh-figure figcaption{font-size:13px;color:var(--c3)}
/* Partnerin (optionale Erweiterung): flaches, an allen Rändern ausgeblendetes Foto, Text liegt links darüber */
.vh-partner{position:relative;display:grid;align-items:center;min-height:clamp(280px,31vw,410px)}
.vh-partner__media{position:absolute;inset:0 0 0 auto;width:66%;display:block;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 42%,#000 86%,transparent 100%),linear-gradient(180deg,transparent 0,#000 20%,#000 70%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 42%,#000 86%,transparent 100%),linear-gradient(180deg,transparent 0,#000 20%,#000 70%,transparent 100%);-webkit-mask-composite:source-in;mask-composite:intersect}
.vh-partner__media img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 22%;transition:transform 2600ms var(--ease-breath)}
.vh-partner__media::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(var(--shade-rgb),.5) 0,rgba(var(--shade-rgb),0) 60%),linear-gradient(0deg,rgba(66,38,54,.45) 0,rgba(66,38,54,0) 45%)}
.vh-js .vh-partner__media[data-reveal] img{transform:scale(1.1)}
.vh-js .vh-partner__media[data-reveal].is-in img{transform:scale(1)}
.vh-js .vh-partner__media[data-reveal].is-in:hover img,.vh-partner__media:hover img{transform:scale(1.035)}
.vh-partner__text{position:relative;z-index:1;max-width:min(100%,460px);display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:clamp(20px,3vw,40px) 0;pointer-events:none}
.vh-partner__text a{pointer-events:auto}
.vh-partner__text .vh-text{text-shadow:0 1px 22px rgba(var(--shade-rgb),.55)}
.vh-partner__quote{align-items:center;text-align:center}
.vh-h4 .vh-badge{margin-left:10px;vertical-align:.18em}
@media (max-width:760px){
  .vh-partner{display:block;min-height:0}
  .vh-partner__media{position:relative;inset:auto;width:auto;height:62vw;margin:0 calc(var(--gutter) * -1);-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 18%,#000 62%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 18%,#000 62%,transparent 100%)}
  .vh-partner__text{max-width:none;margin-top:-14vw;padding:0}
}
@media (prefers-reduced-motion:reduce){.vh-partner__media img{transform:none!important}}
.vh-js .vh-figure[data-unfold] .vh-figure__frame{clip-path:inset(100% 0% 0% 0% round var(--radius-m));transition:clip-path var(--dur-unfold) var(--ease-grow)}
.vh-js .vh-figure[data-unfold] img{transform:scale(1.08);transition:transform 2200ms var(--ease-breath)}
.vh-js .vh-figure[data-unfold].is-in .vh-figure__frame{clip-path:inset(0% 0% 0% 0% round var(--radius-m))}
.vh-js .vh-figure[data-unfold].is-in img{transform:scale(1)}

/* ───────── Formular (Unterstrich-Felder) ───────── */
.vh-form{display:flex;flex-direction:column;gap:30px}
.vh-form__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:30px}
.vh-fieldset{display:flex;flex-direction:column;gap:8px;position:relative}
.vh-fieldset label{font-family:var(--font-label);font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--c2)}
.vh-fieldset input,.vh-fieldset select,.vh-fieldset textarea{font-family:var(--font-body);font-size:17px;line-height:1.4;padding:12px 0;background:transparent;border:0;border-bottom:1px solid var(--cline);border-radius:0;outline:none;color:var(--c1);width:100%;transition:border-color var(--dur-calm) var(--ease-breath)}
.vh-fieldset textarea{line-height:1.55;resize:vertical}
.vh-fieldset select{appearance:none;-webkit-appearance:none;padding-right:28px;cursor:pointer}
.vh-fieldset select option{color:var(--ink)}
.vh-fieldset--select::after{content:"";position:absolute;right:4px;bottom:24px;width:8px;height:8px;border-right:1px solid var(--c3);border-bottom:1px solid var(--c3);transform:rotate(45deg);pointer-events:none}
.vh-fieldset input:focus,.vh-fieldset select:focus,.vh-fieldset textarea:focus{border-bottom-color:var(--elder-600);box-shadow:none}
[data-tone="deep"] .vh-fieldset input:focus,[data-tone="deep"] .vh-fieldset select:focus,[data-tone="deep"] .vh-fieldset textarea:focus{border-bottom-color:var(--ochre-300)}
.vh-fieldset.is-error input{border-bottom-color:var(--error)}
.vh-fieldset__hint{font-size:14px;color:var(--c3)}
.vh-fieldset__error{font-size:14px;color:var(--error)}
.vh-form__done{display:flex;flex-direction:column;gap:18px}
.vh-form__done p:first-child{font-family:var(--font-display);font-weight:300;font-size:clamp(28px,3vw,44px);line-height:1.15;color:var(--c1)}
.vh-form__done p{color:var(--c2)}
.vh-maillink{font-family:var(--font-display);font-weight:300;font-size:clamp(22px,2.6vw,40px);letter-spacing:-.02em;color:var(--c1);text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:0 100%;background-size:0% 1px;padding-bottom:4px;overflow-wrap:anywhere;transition:background-size 700ms var(--ease-breath),color var(--dur-calm) var(--ease-breath)}
.vh-maillink:hover{color:var(--cem);background-size:100% 1px}
.vh-contact__top{display:flex;flex-wrap:wrap;gap:12px 40px;align-items:baseline;justify-content:space-between}

/* ───────── Fließtext (Recht, Forschung) ───────── */
.vh-prose{color:var(--c2);max-width:var(--container-text)}
.vh-prose>*+*{margin-top:1em}
.vh-prose h2{font-family:var(--font-display);font-weight:600;font-size:clamp(26px,2.4vw,36px);line-height:1.1;letter-spacing:-.02em;color:var(--c1);margin-top:2.2em}
.vh-prose h3{font-family:var(--font-display);font-weight:600;font-size:21px;line-height:1.2;color:var(--c1);margin-top:1.8em}
.vh-prose ul,.vh-prose ol{padding-left:1.2em}
.vh-prose li+li{margin-top:.35em}
.vh-prose strong{color:var(--c1);font-weight:600}
[data-tone="deep"] .vh-prose a,[data-tone="deep"] .vh-text a{color:var(--fg-on-deep-emphasis)}

/* ───────── Fuß ───────── */
.vh-footer{background:var(--bg-deepest-fade);color:var(--fg-on-deep-1);padding:clamp(64px,8vw,112px) var(--gutter) 32px}
.vh-footer__inner{max-width:var(--container);margin:0 auto;display:flex;flex-direction:column;gap:64px}
.vh-footer__cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:48px}
.vh-footer__brand{display:flex;flex-direction:column;gap:20px;max-width:340px}
.vh-footer__brand p{font-size:15.5px;line-height:1.6;color:var(--fg-on-deep-2)}
.vh-footer__col{display:flex;flex-direction:column;gap:14px;align-items:flex-start;font-size:15.5px;line-height:1.6}
.vh-footer h2{font-family:var(--font-label);font-size:12px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--fg-on-deep-2)}
.vh-footer a:not(.vh-wordmark){color:var(--fg-on-deep-1);text-decoration:none;font-size:15.5px;transition:color var(--dur-calm) var(--ease-breath)}
.vh-footer a:not(.vh-wordmark):hover{color:var(--fg-on-deep-emphasis)}
.vh-footer__base{display:flex;flex-direction:column;gap:18px;padding-top:28px;border-top:1px solid var(--line-on-deep)}
.vh-footer__legal{display:flex;flex-wrap:wrap;gap:24px;font-size:13.5px;color:var(--fg-on-deep-2)}
.vh-footer__legal a:not(.vh-wordmark){font-size:13.5px}

/* ───────── Scroll-Eingänge (nur mit JS verborgen) ───────── */
.vh-js [data-reveal]{opacity:0;transition:opacity var(--dur-reveal) var(--ease-breath),transform var(--dur-reveal) var(--ease-breath),filter var(--dur-reveal) var(--ease-breath),clip-path var(--dur-reveal) var(--ease-breath);transition-delay:var(--d,0ms);will-change:transform,opacity}
.vh-js [data-reveal=""],.vh-js [data-reveal="rise"]{transform:translateY(28px)}
.vh-js [data-reveal="drift"]{transform:translateX(64px);filter:blur(4px)}
.vh-js [data-reveal="drift-left"]{transform:translateX(-64px);filter:blur(4px)}
.vh-js [data-reveal="grow"]{transform:scale(.96);filter:blur(6px)}
.vh-js [data-reveal="mask"]{opacity:1;clip-path:inset(-.3em -.3em 100% -.3em);transform:translateY(18px)}
/* kein clip-path im Endzustand: er würde Unterlängen und Buchstabenüberhang an der Kante des Textblocks abschneiden */
.vh-js [data-reveal].is-in{opacity:1;transform:none;filter:none}
.vh-js [data-reveal="mask"].is-in{clip-path:inset(-.3em)}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .vh-js [data-reveal]{opacity:1;transform:none;filter:none;clip-path:none}
}

/* ───────── Ergänzungen ───────── */
.vh-rows--stack .vh-row{grid-template-columns:1fr}
ol.vh-list{counter-reset:vh}
ol.vh-list>li{counter-increment:vh;padding-left:44px}
ol.vh-list>li::before{content:counter(vh,decimal-leading-zero);left:0;top:14px;font-family:var(--font-label);font-size:12px;font-weight:500;letter-spacing:.2em}
.vh-voice__tag{font-family:var(--font-label);font-size:12px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--cnum)}
[id]{scroll-margin-top:clamp(88px,9vw,120px)}
.vh-prose>:first-child{margin-top:0}

/* ───────── Seitenkopf als Vollbild-Szene mit Naturvideo (Unterseiten) ───────── */
.vh-hero--scene{min-height:100svh;display:grid;place-items:center;padding:120px var(--gutter) 150px;text-align:center}
.vh-hero--scene .vh-hero__bg{position:absolute;inset:0;z-index:0;overflow:hidden}
.vh-hero--scene .vh-hero__bg video,.vh-hero--scene .vh-hero__bg img{position:absolute;inset:-4%;width:108%;height:108%;max-width:none;object-fit:cover}
.vh-hero--scene .vh-hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(var(--shade-rgb),.62) 0%,rgba(var(--shade-rgb),.30) 50%,color-mix(in oklab,var(--elder-300) 42%,transparent) 100%)}
.vh-hero--scene .vh-fieldwrap{z-index:1;mix-blend-mode:screen}
.vh-hero--scene .vh-container{z-index:2;width:100%}
.vh-hero--scene .vh-hero__inner{align-items:center;margin:0 auto;max-width:1180px;gap:clamp(18px,2.4vw,30px)}
.vh-hero--scene .vh-eyebrow{justify-content:center;letter-spacing:.22em;color:var(--fg-on-deep-1);opacity:.85}
.vh-hero--scene .vh-h1{text-shadow:0 2px 40px rgba(var(--shade-rgb),.35)}
.vh-hero--scene .vh-lead{max-width:620px}
.vh-hero--scene .vh-actions{justify-content:center}
.vh-hero__more{position:absolute;z-index:2;left:50%;bottom:clamp(22px,3vw,40px);transform:translateX(-50%);font-family:var(--font-display);font-size:19px;color:var(--fg-on-deep-1);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px;white-space:nowrap}
.vh-hero__more:hover{color:var(--fg-on-deep-emphasis)}
.vh-hero--scene .vh-hero__bg::after{background:radial-gradient(70% 45% at 50% 50%,rgba(var(--shade-rgb),.45) 0%,transparent 100%),linear-gradient(180deg,rgba(var(--shade-rgb),.72) 0%,rgba(var(--shade-rgb),.48) 50%,color-mix(in oklab,var(--elder-400) 55%,transparent) 100%)}

/* ───────── WordPress ───────── */
.admin-bar .vh-bar{top:32px}
@media (max-width:782px){.admin-bar .vh-bar{top:46px}}
/* Contact Form 7 im Stil der Unterstrich-Felder */
.wpcf7 form.vh-form{margin:0}
.wpcf7 .wpcf7-form-control-wrap{display:block}
.wpcf7 .wpcf7-not-valid{border-bottom-color:var(--error)!important}
.wpcf7 .wpcf7-not-valid-tip{display:block;margin-top:8px;font-size:14px;color:var(--error)}
.wpcf7 form .wpcf7-response-output{margin:0;padding:18px 0 0;border:0;border-top:1px solid var(--cline);font-size:var(--text-lead);line-height:1.5;color:var(--c1)}
.wpcf7 form.init .wpcf7-response-output,.wpcf7 form.resetting .wpcf7-response-output,.wpcf7 form.submitting .wpcf7-response-output{display:none}
.wpcf7 form.sent .wpcf7-response-output{font-family:var(--font-display);font-weight:300;font-size:clamp(24px,2.4vw,34px);line-height:1.2}
.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.failed .wpcf7-response-output,.wpcf7 form.spam .wpcf7-response-output{color:var(--error)}
.wpcf7 .wpcf7-spinner{margin:0 0 0 16px;vertical-align:middle}
.wpcf7 form.submitting .wpcf7-submit{opacity:.6;pointer-events:none}

/* ───────── Menü: Hauptpunkte bekommen die Breite, die sie brauchen (kein Überlappen mit der rechten Spalte) ───────── */
.vh-overlay__inner{grid-template-columns:minmax(0,1fr);gap:48px}
@media (min-width:900px){.vh-overlay__inner{grid-template-columns:max-content minmax(240px,1fr);column-gap:clamp(64px,9vw,160px)}}

/* ───────── Menüleiste: über Video-Szenen durchsichtig, über Inhalt ein fester Balken in der Farbe der Fläche ───────── */
.vh-bar{transition:background-color var(--dur-calm) var(--ease-breath),box-shadow var(--dur-calm) var(--ease-breath),padding var(--dur-calm) var(--ease-breath)}
.vh-bar.is-solid{pointer-events:auto;padding-block:10px;background-color:var(--elder-900);box-shadow:0 1px 0 var(--line-on-deep)}
.vh-bar.is-solid.is-light{background-color:#EFE7EC;box-shadow:0 1px 0 var(--line)}
.vh-menu-open .vh-bar.is-solid{background-color:transparent;box-shadow:none;pointer-events:none}
.vh-bar.is-solid .vh-menubtn{height:52px;padding-left:24px}
.vh-bar.is-solid .vh-menubtn svg{width:52px;height:52px}
.vh-menubtn,.vh-menubtn svg{transition:height var(--dur-calm) var(--ease-breath),width var(--dur-calm) var(--ease-breath),transform 1100ms var(--ease-breath),color var(--dur-calm) var(--ease-breath)}

/* Angebotszeile: Text und Liste immer in der Inhaltsspalte, „Anfragen“ rechts unten (auch wenn Absatz und Liste zusammen vorkommen) */
.vh-offer__body>p,.vh-offer__body>ul{grid-column:2}
.vh-offer__body>.vh-offer__cta{grid-column:3;grid-row:1/span 6;align-self:end}
@media (max-width:760px){.vh-offer__body>.vh-offer__cta{grid-column:2;grid-row:auto;justify-self:start}}

/* ───────── Hellere Video-Szenen: weniger Abdunklung, Lesbarkeit über Textschatten und einen weichen Schleier hinter dem Text ───────── */
.vh-scene__media::after,.vh-hero--scene .vh-hero__bg::after{background:radial-gradient(75% 60% at 50% 50%,rgba(var(--shade-rgb),.26) 0%,transparent 100%),linear-gradient(180deg,rgba(var(--shade-rgb),.44) 0%,rgba(var(--shade-rgb),.14) 38%,rgba(var(--shade-rgb),.14) 70%,rgba(var(--shade-rgb),.40) 100%)}
.vh-scene__text .vh-display,.vh-hero--scene .vh-h1{text-shadow:0 2px 28px rgba(var(--shade-rgb),.6),0 1px 2px rgba(var(--shade-rgb),.35)}
.vh-scene__text p,.vh-scene__text .vh-eyebrow,.vh-hero--scene .vh-lead,.vh-hero--scene .vh-eyebrow,.vh-hero__more,.vh-scenes__link,.vh-scene__link{text-shadow:0 1px 14px rgba(var(--shade-rgb),.7)}
.vh-scene__text .vh-eyebrow,.vh-hero--scene .vh-eyebrow{opacity:1}

/* ───────── Bildsprache: Bildband (volle Breite, Parallax) und Bildstreifen (drei gleich große Fotos, leicht versetzt) ───────── */
.vh-band{position:relative;height:clamp(300px,64vh,680px);overflow:hidden;background:var(--elder-900)}
.vh-band img{position:absolute;left:0;top:-16%;width:100%;height:132%;max-width:none;object-fit:cover;transform:translate3d(0,var(--py,0),0);will-change:transform}
.vh-band--low{height:clamp(240px,46vh,480px)}
.vh-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,2vw,28px);padding-block:clamp(24px,4vw,56px)}
.vh-strip figure{margin:0;aspect-ratio:3/4;border-radius:var(--radius-m);overflow:hidden;background:var(--bg-sunken);transform:translate3d(0,var(--py,0),0);will-change:transform}
[data-tone="deep"] .vh-strip figure{background:var(--elder-800)}
.vh-strip img{width:100%;height:100%;object-fit:cover}
.vh-section--strip{padding-top:0}
@media (prefers-reduced-motion:reduce){.vh-band img,.vh-strip figure{transform:none}}

/* ───────── Bildszene: Foto in voller Breite, in die Farbwelt eingebunden (Holunder-Verlauf, Pollen-Schimmer, Feldlinien), großer Satz darüber, starke Parallaxe ───────── */
.vh-band{display:grid;align-items:end;height:auto;min-height:clamp(460px,92vh,940px);padding:clamp(110px,16vh,180px) var(--gutter) clamp(56px,10vh,128px);color:var(--fg-on-deep-1)}
.vh-band--low{height:auto;min-height:clamp(360px,66vh,680px)}
.vh-band>img{top:-24%;height:148%;transform:translate3d(0,var(--py,0),0)}
.vh-band::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:
  linear-gradient(98deg,color-mix(in oklab,var(--elder-900) 90%,transparent) 0%,color-mix(in oklab,var(--elder-800) 62%,transparent) 36%,color-mix(in oklab,var(--elder-600) 12%,transparent) 68%,transparent 86%),
  radial-gradient(70% 62% at 88% 100%,color-mix(in oklab,var(--ochre-300) 40%,transparent) 0%,transparent 70%),
  linear-gradient(180deg,color-mix(in oklab,var(--elder-900) 78%,transparent) 0%,transparent 24%,transparent 70%,color-mix(in oklab,var(--elder-800) 86%,transparent) 100%)}
.vh-band--right::before{background:
  linear-gradient(262deg,color-mix(in oklab,var(--elder-900) 90%,transparent) 0%,color-mix(in oklab,var(--elder-800) 62%,transparent) 36%,color-mix(in oklab,var(--elder-600) 12%,transparent) 68%,transparent 86%),
  radial-gradient(70% 62% at 12% 100%,color-mix(in oklab,var(--ochre-300) 40%,transparent) 0%,transparent 70%),
  linear-gradient(180deg,color-mix(in oklab,var(--elder-900) 78%,transparent) 0%,transparent 24%,transparent 70%,color-mix(in oklab,var(--elder-800) 86%,transparent) 100%)}
.vh-band .vh-fieldwrap,.vh-trio .vh-fieldwrap{z-index:2;mix-blend-mode:screen}
.vh-band__inner{position:relative;z-index:3;width:100%;max-width:var(--container);margin:0 auto;display:flex;flex-direction:column;gap:clamp(16px,2vw,26px);transform:translate3d(0,var(--ty,0),0);will-change:transform}
.vh-band--right .vh-band__inner{align-items:flex-end;text-align:right}
.vh-band--right .vh-eyebrow--rule{flex-direction:row-reverse}
.vh-band .vh-eyebrow{color:var(--fg-on-deep-1)}
.vh-band__text{font-family:var(--font-display);font-weight:300;font-size:clamp(36px,5.6vw,92px);line-height:1.02;letter-spacing:-.028em;max-width:15ch;text-wrap:balance;color:var(--fg-on-deep-1);text-shadow:0 2px 34px rgba(var(--shade-rgb),.5)}
.vh-band__text em{font-style:normal;font-weight:500;color:var(--fg-on-deep-emphasis)}

/* ───────── Bildtrio: drei Fotos Kante an Kante, jedes mit eigener Parallax-Tiefe, je ein Wort darüber ───────── */
.vh-trio{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));height:clamp(400px,82vh,820px);overflow:hidden;background:var(--elder-900);color:var(--fg-on-deep-1)}
.vh-trio figure{position:relative;margin:0;overflow:hidden}
.vh-trio figure+figure{border-left:1px solid var(--line-on-deep-strong)}
.vh-trio img{position:absolute;left:0;top:-30%;width:100%;height:160%;max-width:none;object-fit:cover;transform:translate3d(0,var(--py,0),0);will-change:transform;transition:filter 1200ms var(--ease-breath)}
.vh-trio figure::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,color-mix(in oklab,var(--elder-900) 72%,transparent) 0%,color-mix(in oklab,var(--elder-700) 14%,transparent) 34%,color-mix(in oklab,var(--elder-700) 20%,transparent) 56%,color-mix(in oklab,var(--elder-900) 90%,transparent) 100%);transition:opacity 1200ms var(--ease-breath)}
.vh-trio figure:hover::after{opacity:.72}
.vh-trio figure:hover img{filter:saturate(1.12) brightness(1.06)}
.vh-trio figcaption{position:absolute;z-index:3;left:clamp(16px,2.6vw,44px);right:16px;bottom:clamp(24px,6vh,72px);display:flex;flex-direction:column;gap:12px;font-family:var(--font-display);font-weight:300;font-size:clamp(24px,3.5vw,58px);line-height:1;letter-spacing:-.025em;hyphens:auto;overflow-wrap:anywhere;text-shadow:0 2px 24px rgba(var(--shade-rgb),.5)}
.vh-trio figure:nth-of-type(1) figcaption{bottom:clamp(64px,18vh,200px)}
.vh-trio figure:nth-of-type(2) figcaption{bottom:clamp(44px,12vh,136px)}
.vh-trio figcaption b{font-weight:300}
.vh-trio figcaption p{margin:0;max-width:36ch;font-family:var(--font-body);font-size:16px;font-weight:400;line-height:1.55;letter-spacing:0;color:var(--fg-on-deep-2);text-shadow:0 1px 16px rgba(var(--shade-rgb),.7)}
.vh-trio figcaption a{align-self:flex-start;margin-top:6px;padding-bottom:4px;border-bottom:1px solid var(--line-on-deep-strong);font-family:var(--font-body);font-size:15px;font-weight:500;line-height:1.3;letter-spacing:.005em;color:inherit;text-decoration:none}
.vh-trio figcaption a::after{content:"";position:absolute;inset:-100vh -100vw}
.vh-trio figcaption a i{font-style:normal;display:inline-block;margin-left:4px;transition:transform var(--dur-calm) var(--ease-breath)}
.vh-trio figure:hover figcaption a i{transform:translateX(6px)}
.vh-trio:has(a) figcaption{right:clamp(16px,2.6vw,44px);gap:14px;font-size:clamp(24px,2.8vw,44px);line-height:1.05}
.vh-trio:has(a) figure::after{background:linear-gradient(180deg,color-mix(in oklab,var(--elder-900) 72%,transparent) 0%,color-mix(in oklab,var(--elder-700) 14%,transparent) 30%,color-mix(in oklab,var(--elder-900) 78%,transparent) 62%,color-mix(in oklab,var(--elder-900) 94%,transparent) 100%)}
@media (max-width:760px){.vh-trio:has(a) figure{height:auto;min-height:420px}.vh-trio:has(a) figure:nth-of-type(n) figcaption{font-size:30px}}
.vh-trio figcaption span{font-family:var(--font-label);font-size:12px;font-weight:500;letter-spacing:.2em;color:var(--fg-on-deep-emphasis)}
@media (max-width:760px){
  .vh-trio{grid-template-columns:1fr;height:auto}
  .vh-trio figure{height:46vh;min-height:260px}
  .vh-trio figure+figure{border-left:0;border-top:1px solid var(--line-on-deep-strong)}
  .vh-trio figure:nth-of-type(n) figcaption{bottom:28px;font-size:34px}
}
@media (prefers-reduced-motion:reduce){.vh-trio img,.vh-band__inner{transform:none}}

/* ───────── Menü-Knopf: Beim Überfahren wölbt sich der Kreis wie ein Tropfen nach außen und gibt eine Blase ab ───────── */
.vh-menubtn{--mb:64px}
.vh-bar.is-solid .vh-menubtn{--mb:52px}
@media (max-width:480px){.vh-menubtn{--mb:56px}.vh-bar.is-solid .vh-menubtn{--mb:52px}}
.vh-menubtn::before,.vh-menubtn::after{content:"";position:absolute;left:0;top:0;width:var(--mb);height:var(--mb);box-sizing:border-box;border-radius:50%;pointer-events:none;opacity:0;transform:scale(.92);transition:opacity var(--dur-calm) var(--ease-breath),transform 900ms var(--ease-breath)}
.vh-menubtn::before{background:currentColor}
.vh-menubtn::after{border:1.5px solid currentColor}
@media (hover:hover){
  .vh-menubtn:hover::before{opacity:.26;transform:scale(1.24);animation:vhBlob 3.2s ease-in-out infinite}
  .vh-menubtn:hover::after{animation:vhBubble 1.9s var(--ease-breath) infinite}
}
@keyframes vhBlob{
  0%,100%{border-radius:50%;transform:scale(1.24) rotate(0deg)}
  20%{border-radius:62% 38% 45% 55% / 44% 58% 42% 56%;transform:scale(1.36) rotate(14deg)}
  45%{border-radius:44% 56% 58% 42% / 57% 44% 56% 43%;transform:scale(1.20) rotate(-8deg)}
  70%{border-radius:56% 44% 38% 62% / 40% 60% 40% 60%;transform:scale(1.40) rotate(8deg)}
}
@keyframes vhBubble{
  0%{opacity:.85;transform:scale(1);border-radius:50%}
  55%{border-radius:56% 44% 52% 48% / 47% 55% 45% 53%}
  100%{opacity:0;transform:scale(1.85);border-radius:50%}
}
@media (prefers-reduced-motion:reduce){.vh-menubtn:hover::before,.vh-menubtn:hover::after{animation:none}}

/* ───────── Szenen auf dem Handy: seitwärts wischen (eine Szene pro Bildschirm, rastet ein), darunter geht die Seite normal weiter ───────── */
.vh-scenes.is-swipe .vh-scenes__stage{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.vh-scenes.is-swipe .vh-scenes__stage::-webkit-scrollbar{display:none}
.vh-scenes.is-swipe .vh-scene{flex:0 0 100%;height:100svh;min-height:0;scroll-snap-align:start;scroll-snap-stop:always;padding:110px 24px 120px}
.vh-scenes.is-swipe .vh-scenes__field{right:auto;width:calc(var(--n,3) * 100%)}
.vh-scenes__dots{display:none}
.vh-scenes.is-swipe .vh-scenes__dots{display:flex;gap:10px;align-items:center;position:absolute;z-index:5;left:50%;bottom:calc(26px + env(safe-area-inset-bottom));transform:translateX(-50%)}
.vh-scenes__dots button{all:unset;cursor:pointer;width:26px;height:22px;position:relative}
.vh-scenes__dots button::before{content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;background:var(--fg-on-deep-1);opacity:.4;transition:opacity var(--dur-calm) var(--ease-breath),background-color var(--dur-calm) var(--ease-breath),transform var(--dur-calm) var(--ease-breath)}
.vh-scenes__dots button[aria-current="true"]::before{opacity:1;background:var(--fg-on-deep-emphasis);transform:scaleY(1.8)}
.vh-scenes__hint{display:none}
.vh-scenes.is-swipe .vh-scenes__hint{display:block;position:absolute;z-index:5;right:20px;bottom:calc(58px + env(safe-area-inset-bottom));font-family:var(--font-label);font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--fg-on-deep-1);text-shadow:0 1px 14px rgba(var(--shade-rgb),.7);opacity:.85;transition:opacity var(--dur-calm) var(--ease-breath)}
.vh-scenes.is-swipe.has-swiped .vh-scenes__hint{opacity:0}

/* ───────── Seitenhintergrund hell: Handy-Browser färben ihre Leisten oben und unten in dieser Farbe (nur Volltöne möglich) ───────── */
html,body{background:#EFE7EC}

/* ───────── Menü-Knopf als Lichtpartikel: vierstrahliger Stern statt Kreis. Offen dreht er sich zum Kreuz. ───────── */
.vh-menubtn,.vh-bar.is-solid .vh-menubtn{--mb:46px;height:48px;padding-left:46px}
@media (max-width:480px){.vh-menubtn,.vh-bar.is-solid .vh-menubtn{--mb:42px;height:44px;padding-left:42px}}
.vh-menubtn svg.vh-star,.vh-bar.is-solid .vh-menubtn svg.vh-star{left:0;top:50%;width:34px;height:34px;margin-top:-17px;overflow:visible;transform:rotate(0deg) scale(1);transition:transform 1100ms var(--ease-breath),filter var(--dur-calm) var(--ease-breath);filter:drop-shadow(0 0 6px color-mix(in oklab,var(--ochre-300) 55%,transparent))}
@media (max-width:480px){.vh-menubtn svg.vh-star,.vh-bar.is-solid .vh-menubtn svg.vh-star{width:30px;height:30px;margin-top:-15px}}
.vh-star path{fill:currentColor;transition:fill var(--dur-calm) var(--ease-breath)}
.vh-star circle{fill:var(--ochre-300);stroke:none;stroke-dasharray:none}
.vh-menubtn:hover svg.vh-star{transform:rotate(45deg) scale(1.12);filter:drop-shadow(0 0 12px color-mix(in oklab,var(--ochre-300) 85%,transparent))}
.vh-menubtn:hover .vh-star path{fill:var(--ochre-300)}
.vh-menu-open .vh-menubtn svg.vh-star{transform:rotate(135deg) scale(.92)}
.vh-menubtn::before,.vh-menubtn::after{left:-6px;top:calc(50% - var(--mb) / 2)}
@media (prefers-reduced-motion:no-preference){.vh-star{animation:vhTwinkle 5.5s ease-in-out infinite}}
@keyframes vhTwinkle{0%,100%{opacity:1}50%{opacity:.78}}

/* ───────── Menü-Knopf als Lichtpartikel: leuchtender Kern wie die Partikel im Feld, umkreist von drei feinen Funken ───────── */
.vh-mote{position:absolute;left:0;top:50%;width:34px;height:34px;margin-top:-17px;transition:transform 900ms var(--ease-breath);--mote:var(--ochre-200);--glow:226,196,143}
.vh-bar.is-light .vh-mote{--mote:var(--ochre-500);--glow:185,138,69}
.vh-menu-open .vh-bar .vh-mote{--mote:var(--ochre-200);--glow:226,196,143}
.vh-mote::before{content:"";position:absolute;left:50%;top:50%;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border-radius:50%;background:radial-gradient(circle,#fff 0%,var(--mote) 55%,rgba(var(--glow),.9) 100%);box-shadow:0 0 5px 1px rgba(var(--glow),.95),0 0 16px 6px rgba(var(--glow),.5),0 0 34px 13px rgba(var(--glow),.2);animation:vhMoteGlow 4.5s ease-in-out infinite}
.vh-bar.is-light .vh-mote::before{background:radial-gradient(circle,var(--ochre-300) 0%,var(--mote) 70%)}
.vh-menu-open .vh-bar .vh-mote::before{background:radial-gradient(circle,#fff 0%,var(--mote) 55%,rgba(var(--glow),.9) 100%)}
.vh-mote i{position:absolute;left:50%;top:50%;width:3px;height:3px;margin:-1.5px 0 0 -1.5px;border-radius:50%;background:var(--mote);box-shadow:0 0 6px 1px rgba(var(--glow),.75);transition:opacity var(--dur-calm) var(--ease-breath)}
.vh-mote i:nth-child(1){animation:vhOrbitA 7s linear infinite}
.vh-mote i:nth-child(2){width:2px;height:2px;margin:-1px 0 0 -1px;opacity:.8;animation:vhOrbitB 11s linear infinite reverse}
.vh-mote i:nth-child(3){width:2.5px;height:2.5px;opacity:.65;animation:vhOrbitC 16s linear infinite}
@keyframes vhMoteGlow{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.22);opacity:.86}}
@keyframes vhOrbitA{from{transform:rotate(0deg) translateX(12px)}to{transform:rotate(360deg) translateX(12px)}}
@keyframes vhOrbitB{from{transform:rotate(120deg) translateX(8px)}to{transform:rotate(480deg) translateX(8px)}}
@keyframes vhOrbitC{from{transform:rotate(250deg) translateX(15.5px)}to{transform:rotate(610deg) translateX(15.5px)}}
.vh-menubtn:hover .vh-mote{transform:scale(1.3)}
.vh-menu-open .vh-menubtn .vh-mote{transform:scale(1.45)}
.vh-menu-open .vh-menubtn .vh-mote i{opacity:0}
@media (max-width:480px){.vh-mote{width:30px;height:30px;margin-top:-15px}}
@media (prefers-reduced-motion:reduce){.vh-mote::before,.vh-mote i{animation:none}.vh-mote i:nth-child(1){transform:translateX(12px)}.vh-mote i:nth-child(2){transform:rotate(120deg) translateX(8px)}.vh-mote i:nth-child(3){transform:rotate(250deg) translateX(15.5px)}}

/* Partikel etwas größer */
.vh-menubtn,.vh-bar.is-solid .vh-menubtn{--mb:58px;height:56px;padding-left:60px}
.vh-mote{width:44px;height:44px;margin-top:-22px}
.vh-mote::before{width:13px;height:13px;margin:-6.5px 0 0 -6.5px;box-shadow:0 0 7px 2px rgba(var(--glow),.95),0 0 22px 9px rgba(var(--glow),.5),0 0 46px 18px rgba(var(--glow),.2)}
.vh-mote i{width:4px;height:4px;margin:-2px 0 0 -2px}
.vh-mote i:nth-child(2){width:3px;height:3px;margin:-1.5px 0 0 -1.5px}
.vh-mote i:nth-child(3){width:3.5px;height:3.5px}
@keyframes vhOrbitA{from{transform:rotate(0deg) translateX(16px)}to{transform:rotate(360deg) translateX(16px)}}
@keyframes vhOrbitB{from{transform:rotate(120deg) translateX(11px)}to{transform:rotate(480deg) translateX(11px)}}
@keyframes vhOrbitC{from{transform:rotate(250deg) translateX(21px)}to{transform:rotate(610deg) translateX(21px)}}
@media (max-width:480px){
  .vh-menubtn,.vh-bar.is-solid .vh-menubtn{--mb:50px;height:50px;padding-left:52px}
  .vh-mote{width:40px;height:40px;margin-top:-20px}
}

/* Partikel noch größer */
.vh-menubtn,.vh-bar.is-solid .vh-menubtn{--mb:76px;height:64px;padding-left:78px}
.vh-mote{width:58px;height:58px;margin-top:-29px}
.vh-mote::before{width:18px;height:18px;margin:-9px 0 0 -9px;box-shadow:0 0 9px 3px rgba(var(--glow),.95),0 0 30px 12px rgba(var(--glow),.5),0 0 62px 24px rgba(var(--glow),.2)}
.vh-mote i{width:5px;height:5px;margin:-2.5px 0 0 -2.5px}
.vh-mote i:nth-child(2){width:4px;height:4px;margin:-2px 0 0 -2px}
.vh-mote i:nth-child(3){width:4.5px;height:4.5px}
@keyframes vhOrbitA{from{transform:rotate(0deg) translateX(21px)}to{transform:rotate(360deg) translateX(21px)}}
@keyframes vhOrbitB{from{transform:rotate(120deg) translateX(15px)}to{transform:rotate(480deg) translateX(15px)}}
@keyframes vhOrbitC{from{transform:rotate(250deg) translateX(28px)}to{transform:rotate(610deg) translateX(28px)}}
.vh-menubtn::before,.vh-menubtn::after{left:-9px}
@media (max-width:480px){
  .vh-menubtn,.vh-bar.is-solid .vh-menubtn{--mb:64px;height:56px;padding-left:64px}
  .vh-mote{width:50px;height:50px;margin-top:-25px}
  .vh-mote::before{width:15px;height:15px;margin:-7.5px 0 0 -7.5px}
  .vh-menubtn::before,.vh-menubtn::after{left:-7px}
}

/* ───────── Überschriften auf dem Handy: keine automatische Silbentrennung; die Schrift ist so groß,
   dass auch lange Wörter (INFORMATIONSFELD, FREQUENZARBEIT) in eine Zeile passen ───────── */
.vh-display,.vh-h1,.vh-h2,.vh-h3,.vh-h4,.vh-statement,.vh-band__text,.vh-offer__name,.vh-trio figcaption{hyphens:manual;-webkit-hyphens:manual;overflow-wrap:break-word}
@media (max-width:600px){
  .vh-h1:not(.vh-h1--giant){font-size:clamp(24px,8vw,44px);line-height:.98}
  .vh-display{font-size:clamp(28px,9.6vw,52px);line-height:.96}
  .vh-h2{font-size:clamp(26px,7.4vw,34px)}
  .vh-band__text{font-size:clamp(30px,8.6vw,40px)}
  .vh-statement{font-size:clamp(25px,7vw,32px)}
}
@media (max-width:600px){.vh-h1--giant{font-size:clamp(40px,14vw,72px)}}

/* Handy: Titel wieder groß. Wo ein langes Wort nicht in die Zeile passt, verkleinert site.js genau diesen Titel. */
@media (max-width:600px){
  .vh-h1:not(.vh-h1--giant){font-size:clamp(34px,11.6vw,48px);line-height:.96}
  .vh-display{font-size:clamp(38px,13.4vw,56px);line-height:.94}
  .vh-h2{font-size:34px}
  .vh-band__text{font-size:clamp(34px,9.6vw,44px)}
  .vh-statement{font-size:clamp(28px,7.6vw,34px)}
  .vh-h1--giant{font-size:clamp(48px,15vw,72px)}
}

/* ───────── Grafiken (Forschung): Matrix, Balken, Gruppen – mit Berührungs-/Zeiger-Hinweis ───────── */
.vh-chart{margin:0;display:flex;flex-direction:column;gap:18px;min-width:0;--bar:#7B3F68;--track:rgba(38,22,31,.08);--mark:rgba(38,22,31,.38);--s1:#8A5A12;--s2:#7A3FA6;--cell-lo:#EFE7EC;--cell-hi:#7B3F68}
[data-tone="deep"] .vh-chart{--bar:#D9A94E;--track:rgba(243,241,230,.10);--mark:rgba(243,241,230,.5);--s1:#BE8A2E;--s2:#9B63C0;--cell-lo:#4E2C40;--cell-hi:#EBC06A}
.vh-chart__title{font-family:var(--font-display);font-weight:600;font-size:21px;line-height:1.2;letter-spacing:-.01em;color:var(--c1)}
.vh-chart__hint{font-size:13.5px;line-height:1.5;color:var(--c2);max-width:60ch}
.vh-chartgrid{align-items:start}
[data-chart-src]{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.vh-edit [data-chart-src],html:not(.vh-js) [data-chart-src]{position:static;width:auto;height:auto;overflow:visible;clip-path:none;white-space:normal}

.vh-hm{display:grid;grid-template-columns:minmax(92px,1.5fr) repeat(var(--cols,4),minmax(0,1fr));gap:2px;align-items:stretch}
.vh-hm__col,.vh-hm__row{font-family:var(--font-label);font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--c2);line-height:1.3;transition:color var(--dur-quick) var(--ease-breath)}
.vh-hm__col{padding:0 4px 10px;text-align:center;align-self:end;overflow-wrap:anywhere}
.vh-hm__col small{display:block;font-size:11px;letter-spacing:.08em;opacity:.75}
.vh-hm__row{display:flex;align-items:center;padding-right:12px;letter-spacing:.06em;text-transform:none;font-size:14.5px;font-family:var(--font-body);color:var(--c1)}
.vh-hm__col.is-hot,.vh-hm__row.is-hot{color:var(--cem)}
.vh-hm__cell{all:unset;box-sizing:border-box;cursor:default;display:grid;place-items:center;min-height:clamp(52px,7vw,84px);border-radius:var(--radius-xs);background:color-mix(in oklab,var(--cell-hi) calc(var(--p) * 100%),var(--cell-lo));font-family:var(--font-display);font-weight:500;font-size:clamp(14px,1.5vw,19px);font-variant-numeric:tabular-nums;color:var(--c1);opacity:0;transform:scale(.92);transition:opacity 700ms var(--ease-breath),transform 700ms var(--ease-breath),box-shadow var(--dur-quick) var(--ease-breath);transition-delay:calc(var(--i) * 45ms),calc(var(--i) * 45ms),0s}
.vh-chart.is-in .vh-hm__cell,.vh-edit .vh-hm__cell{opacity:1;transform:none}
.vh-hm__cell.is-strong{color:#26161F}
[data-tone="light"] .vh-hm__cell{color:#26161F}
[data-tone="light"] .vh-hm__cell.is-strong{color:#FAF8F3}
.vh-hm__cell:hover,.vh-hm__cell:focus-visible{box-shadow:0 0 0 2px var(--bg-deep),0 0 0 4px var(--cem);position:relative;z-index:1}
.vh-hm__scale{grid-column:1/-1;display:flex;align-items:center;gap:10px;margin-top:14px;font-size:12.5px;color:var(--c2)}
.vh-hm__scale i{flex:0 1 180px;height:8px;border-radius:4px;background:linear-gradient(90deg,var(--cell-lo),var(--cell-hi))}
@media (max-width:600px){.vh-hm{grid-template-columns:minmax(78px,1.2fr) repeat(var(--cols,4),minmax(0,1fr))}.vh-hm__col span{display:none}.vh-hm__col small{font-size:11px;opacity:1}.vh-hm__row{font-size:13px;padding-right:6px}}

.vh-bars{display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr);column-gap:16px;row-gap:14px;align-items:center}
.vh-bars__axis{grid-column:2;position:relative;height:20px;font-size:12px;color:var(--c2)}
.vh-bars__axis span{position:absolute;bottom:2px;transform:translateX(-50%);white-space:nowrap}
.vh-bars__label{font-size:15px;line-height:1.3;color:var(--c1);max-width:22ch}
.vh-bars__label small{display:block;font-size:12.5px;color:var(--c2)}
.vh-bars__track{position:relative;height:28px;cursor:default;outline:none}
.vh-bars__track::before{content:"";position:absolute;left:0;right:0;top:50%;height:14px;margin-top:-7px;border-radius:0 4px 4px 0;background:var(--track)}
.vh-bars__fill{position:absolute;left:var(--from,0%);width:var(--w);top:50%;height:14px;margin-top:-7px;border-radius:0 4px 4px 0;background:var(--bar);transform:scaleX(0);transform-origin:left;transition:transform 1300ms var(--ease-grow),filter var(--dur-quick) var(--ease-breath);transition-delay:calc(var(--i) * 110ms),0s}
.vh-bars__fill.is-range{border-radius:4px}
.vh-chart.is-in .vh-bars__fill,.vh-edit .vh-bars__fill{transform:scaleX(1)}
.vh-bars__track:hover .vh-bars__fill,.vh-bars__track:focus-visible .vh-bars__fill{filter:brightness(1.18)}
.vh-bars__mark{position:absolute;top:0;bottom:0;left:var(--x);width:0;border-left:1px dashed var(--mark)}
.vh-bars__value{position:absolute;left:calc(var(--end) + 8px);top:50%;transform:translateY(-50%);font-family:var(--font-display);font-size:15px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--c1);white-space:nowrap}
.vh-bars__value.is-inside{left:auto;right:calc(100% - var(--end) + 8px);color:#26161F}
[data-tone="light"] .vh-bars__value.is-inside{color:#FAF8F3}
.vh-bars__group{grid-column:1/-1;font-size:15px;color:var(--c1);margin-top:8px}
.vh-bars__group:first-of-type{margin-top:0}
.vh-bars--groups{grid-template-columns:minmax(0,1fr);row-gap:6px}
.vh-bars--groups .vh-bars__axis{grid-column:1}
.vh-bars--groups .vh-bars__track{height:22px}
.vh-bars--groups .vh-bars__track::before,.vh-bars--groups .vh-bars__fill{height:12px;margin-top:-6px}
.vh-legend{display:flex;flex-wrap:wrap;gap:6px 20px;font-size:13.5px;color:var(--c2)}
.vh-legend span{display:inline-flex;align-items:center;gap:8px}
.vh-legend i{width:12px;height:12px;border-radius:3px;background:var(--sw)}
@media (max-width:600px){.vh-bars:not(.vh-bars--groups){grid-template-columns:minmax(0,1fr);row-gap:4px}.vh-bars:not(.vh-bars--groups) .vh-bars__axis{grid-column:1}.vh-bars__label{max-width:none;margin-top:8px}}

.vh-tip{position:fixed;z-index:9999;left:0;top:0;max-width:260px;padding:10px 14px;border-radius:var(--radius-s);background:#26161F;color:#F3F1E6;font-size:13.5px;line-height:1.45;box-shadow:0 12px 32px rgba(38,22,31,.35);pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity var(--dur-quick) var(--ease-breath),transform var(--dur-quick) var(--ease-breath)}
.vh-tip.is-on{opacity:1;transform:none}
.vh-tip b{display:block;font-family:var(--font-display);font-weight:500;font-size:17px;color:#E2C48F;margin-bottom:2px}
@media (prefers-reduced-motion:reduce){.vh-hm__cell,.vh-bars__fill{transition:none;opacity:1;transform:none}}
.vh-bars__group small{margin-left:10px;font-size:12.5px;color:var(--c2)}
.vh-hm__scale{font-size:13px}
.vh-hm__row{min-width:0;hyphens:auto;-webkit-hyphens:auto;overflow-wrap:anywhere}
@media (max-width:600px){.vh-hm{grid-template-columns:minmax(0,1.9fr) repeat(var(--cols,4),minmax(0,1fr))}.vh-hm__row{font-size:12.5px;line-height:1.25;padding-right:8px}.vh-hm__cell{min-height:50px;font-size:13.5px}}

/* ───────── Schaubild „12 Dimensionen“ (Wie es wirkt): Turm d12–d1, vier Ebenen, zwei Räume ───────── */
.vh-dimwrap{align-items:center}
.vh-dimwrap>.vh-rows .vh-row{grid-template-columns:1fr;transition:background-color var(--dur-calm) var(--ease-breath);padding-inline:clamp(4px,1vw,14px)}
.vh-dimwrap>.vh-rows .vh-row h3{transition:color var(--dur-calm) var(--ease-breath)}
.vh-dimwrap>.vh-rows .vh-row.is-active{background:var(--cwash)}
.vh-dimwrap>.vh-rows .vh-row.is-active h3{color:var(--cem)}
.vh-dims{margin:0;display:flex;flex-direction:column;gap:16px;min-width:0}
.vh-dims__grid{position:relative;display:grid;grid-template-columns:clamp(30px,3.4vw,44px) clamp(44px,5vw,62px) minmax(0,1fr);grid-template-rows:repeat(12,minmax(clamp(30px,3.4vw,40px),1fr));column-gap:clamp(6px,1vw,12px);border-radius:var(--radius-m);overflow:hidden}
.vh-dims__space{grid-column:1;writing-mode:vertical-rl;transform:rotate(180deg);display:grid;place-items:center;font-family:var(--font-label);font-size:11.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:#FAF8F3}
.vh-dims__space--info{grid-row:1/7;background:var(--elder-700)}
.vh-dims__space--energy{grid-row:7/13;background:var(--ochre-700)}
.vh-dims__d{grid-column:2;grid-row:var(--r);display:grid;place-items:center;font-family:var(--font-display);font-weight:500;font-size:clamp(15px,1.5vw,19px);color:var(--elder-700);background:var(--bg-raised);border-bottom:1px solid var(--line)}
.vh-dims__d sub{font-size:.62em;transform:translateY(.25em)}
.vh-dims__band{grid-column:3;grid-row:var(--from)/var(--to);position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px clamp(12px,2vw,26px);border-top:1.5px solid var(--elder-700);cursor:default;outline:none;opacity:0;transform:translateY(14px);transition:opacity 900ms var(--ease-breath),transform 900ms var(--ease-breath),background-color var(--dur-calm) var(--ease-breath),box-shadow var(--dur-calm) var(--ease-breath);transition-delay:calc((var(--n) - 1) * 160ms),calc((var(--n) - 1) * 160ms),0s,0s}
.vh-dims.is-in .vh-dims__band,.vh-edit .vh-dims__band,html:not(.vh-js) .vh-dims__band{opacity:1;transform:none}
.vh-dims__band[data-dim="4"]{border-top:0;background:color-mix(in oklab,var(--elder-200) 55%,#fff)}
.vh-dims__band[data-dim="3"]{background:color-mix(in oklab,var(--elder-200) 95%,#fff)}
.vh-dims__band[data-dim="2"]{background:color-mix(in oklab,var(--ochre-200) 85%,#fff)}
.vh-dims__band[data-dim="1"]{background:color-mix(in oklab,var(--ochre-200) 42%,#fff);flex-direction:column;align-items:flex-start;justify-content:space-between;padding-block:14px}
.vh-dims__band.is-active,.vh-dims__band:focus-visible{box-shadow:inset 0 0 0 2px var(--ochre-500);z-index:1}
.vh-dims__band[data-dim="4"].is-active,.vh-dims__band[data-dim="3"].is-active{background:var(--elder-200)}
.vh-dims__band[data-dim="2"].is-active,.vh-dims__band[data-dim="1"].is-active{background:var(--ochre-200)}
.vh-dims__name{font-family:var(--font-display);font-weight:500;font-size:clamp(15px,1.5vw,20px);line-height:1.2;letter-spacing:-.01em;color:var(--fg-1);max-width:15ch}
.vh-dims__world{align-self:flex-end;font-family:var(--font-label);font-size:11.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-2)}
.vh-dims__glyph{flex:0 0 auto;width:clamp(84px,11vw,132px);height:auto;color:var(--elder-700);margin-right:clamp(0px,3vw,36px)}
.vh-dims__spark{fill:#fff;stroke:var(--ochre-500);stroke-width:1}
.vh-dims__dot{fill:var(--ochre-500)}
.vh-dims__box{fill:var(--elder-500)}
.vh-dims__box--b{fill:var(--ochre-300)}
.vh-dims__wave{stroke:var(--ochre-500);stroke-width:1.5}
.vh-dims__arrow{grid-column:3;justify-self:end;width:0;border-left:2px dotted var(--fg-2);position:relative;z-index:2;pointer-events:none;margin-bottom:34px;opacity:.75}
.vh-dims__arrow::before,.vh-dims__arrow::after{content:"";position:absolute;left:-6px;border:5px solid transparent}
.vh-dims__arrow::before{top:-9px;border-bottom:9px solid var(--fg-2);border-top:0}
.vh-dims__arrow::after{bottom:-9px;border-top:9px solid var(--fg-2);border-bottom:0}
.vh-dims__arrow--a{grid-row:9/13;margin-right:clamp(92px,13vw,150px)}
.vh-dims__arrow--b{grid-row:7/13;margin-right:clamp(40px,6vw,70px)}
@media (max-width:600px){.vh-dims__glyph{width:74px;margin-right:0}.vh-dims__name{font-size:14px}.vh-dims__arrow--a{margin-right:64px}.vh-dims__arrow--b{margin-right:26px}.vh-dims__space{font-size:10px;letter-spacing:.14em}}
@media (prefers-reduced-motion:reduce){.vh-dims__band{opacity:1;transform:none;transition:none}}
.vh-dims__d{display:flex;align-items:center;justify-content:center}

/* ───────── Wirkprinzip (Wie es wirkt): sechs Ebenen, Balken wachsen mit Zeit und Kosten ───────── */
.vh-levels{margin:0;display:flex;flex-direction:column;gap:14px;min-width:0;--l1:#DCC7D3;--l2:#CBAABD;--l3:#B58BA5;--l4:#9D6D8B;--l5:#80506E;--l6:#5E3550}
.vh-levels__plot{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(6px,1.2vw,14px);align-items:end;height:clamp(210px,30vw,330px);padding-top:8px;border-bottom:1.5px solid var(--cline)}
.vh-levels__col{all:unset;box-sizing:border-box;cursor:pointer;position:relative;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch}
.vh-levels__bar{height:var(--h);border-radius:4px 4px 0 0;background:var(--lc);transform:scaleY(0);transform-origin:bottom;transition:transform 1300ms var(--ease-grow),box-shadow var(--dur-calm) var(--ease-breath),filter var(--dur-calm) var(--ease-breath);transition-delay:calc(var(--i) * 130ms),0s,0s}
.vh-levels.is-in .vh-levels__bar,.vh-edit .vh-levels__bar{transform:scaleY(1)}
.vh-levels__col:hover .vh-levels__bar{filter:brightness(1.08)}
.vh-levels__col.is-active .vh-levels__bar,.vh-levels__col:focus-visible .vh-levels__bar{box-shadow:0 0 0 2px var(--bg-page),0 0 0 4px var(--ochre-500)}
.vh-levels__names{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(6px,1.2vw,14px)}
.vh-levels__names span{font-family:var(--font-label);font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;line-height:1.3;color:var(--c2);text-align:center;hyphens:auto;overflow-wrap:anywhere;transition:color var(--dur-calm) var(--ease-breath)}
.vh-levels__names span.is-active{color:var(--cem);font-weight:600}
.vh-levels__kinds{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(6px,1.2vw,14px);font-size:13px;color:var(--c2)}
.vh-levels__kinds span{padding-top:8px;border-top:1.5px solid var(--cline);text-align:center}
.vh-levels__kinds [data-kind="a"]{grid-column:span 4}
.vh-levels__kinds [data-kind="b"]{grid-column:span 2;border-top-color:var(--ochre-500)}
.vh-levels__axis{display:flex;align-items:center;gap:14px;font-family:var(--font-label);font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--c1)}
.vh-levels__axis::before,.vh-levels__axis::after{content:"";flex:1;border-top:1.5px dashed var(--cline)}
.vh-levels__axis::after{flex:1;position:relative}
.vh-levels__axis span::after{content:" →";letter-spacing:0}
.vh-levels__rows{border-top:1px solid var(--cline)}
.vh-js .vh-levels__rows .vh-row{display:none;grid-template-columns:1fr;border-bottom:0;min-height:7.2em;align-content:start}
.vh-js .vh-levels__rows .vh-row.is-active,.vh-edit .vh-levels__rows .vh-row{display:grid}
.vh-edit .vh-levels__rows .vh-row{min-height:0;border-bottom:1px solid var(--cline)}
@media (max-width:600px){
  .vh-levels__names span{writing-mode:vertical-rl;transform:rotate(180deg);text-align:right;justify-self:center;letter-spacing:.08em;hyphens:manual;overflow-wrap:normal;white-space:nowrap;height:9.2em}
  .vh-levels__kinds{font-size:12px}
}
@media (prefers-reduced-motion:reduce){.vh-levels__bar{transform:none;transition:none}}
.vh-levels__names span{writing-mode:vertical-rl;transform:rotate(180deg);text-align:right;justify-self:center;letter-spacing:.08em;hyphens:manual;overflow-wrap:normal;white-space:nowrap;height:9.2em}

.vh-levels__help{margin-top:4px;padding-top:12px;border-top:1px solid var(--cline-soft)}
.vh-levels__help .vh-label{display:block;margin-bottom:4px;color:var(--cem);font-size:11.5px}
.vh-js .vh-levels__rows .vh-row{min-height:11.5em}

/* Wirkprinzip: volle Breite – links die Balken, rechts (mobil darunter) ein Feld mit der gewählten Ebene */
.vh-levelwrap{gap:clamp(36px,5vw,72px)}
.vh-levels{gap:22px}
.vh-levels__body{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,4vw,64px);align-items:stretch}
.vh-levels__chart{display:flex;flex-direction:column;gap:14px;min-width:0}
.vh-levels__plot{height:clamp(240px,30vw,400px)}
.vh-levels__rows{position:relative;border-top:0;border-radius:var(--radius-m);background:color-mix(in oklab,var(--lc,var(--l1)) 16%,#fff);border-left:5px solid var(--lc,var(--l1));padding:clamp(22px,2.6vw,36px);display:flex;flex-direction:column;justify-content:center;transition:background-color 700ms var(--ease-breath),border-color 700ms var(--ease-breath)}
.vh-levels__count{display:flex;align-items:center;gap:12px;margin-bottom:14px;font-family:var(--font-label);font-size:12px;font-weight:600;letter-spacing:.2em;color:var(--fg-2)}
.vh-levels__count i{width:14px;height:14px;border-radius:50%;background:var(--lc,var(--l1));transition:background-color 700ms var(--ease-breath)}
.vh-js .vh-levels__rows .vh-row{min-height:0;padding:0;border:0}
.vh-js .vh-levels__rows .vh-row.is-active{animation:vhLevelIn 620ms var(--ease-breath) both}
.vh-levels__rows .vh-row h4{font-size:clamp(24px,2.4vw,34px);font-weight:600;letter-spacing:-.02em;line-height:1.1}
.vh-levels__rows.is-flash{animation:vhLevelFlash 700ms var(--ease-breath)}
@keyframes vhLevelIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes vhLevelFlash{0%{box-shadow:0 0 0 0 color-mix(in oklab,var(--ochre-500) 55%,transparent)}100%{box-shadow:0 0 0 14px transparent}}
.vh-levels__rows::before{content:"";position:absolute;display:none;width:18px;height:18px;background:inherit;border-left:inherit;border-left-width:0;transform:rotate(45deg);top:-9px;left:calc(var(--x,10%) - 9px);transition:left 500ms var(--ease-breath)}
.vh-edit .vh-levels__rows{gap:18px}
.vh-edit .vh-levels__rows .vh-row{border-bottom:0}
@media (max-width:900px){
  .vh-levels__body{grid-template-columns:minmax(0,1fr);gap:26px}
  .vh-levels__rows{border-left:0;border-top:5px solid var(--lc,var(--l1))}
  .vh-levels__rows::before{display:block;top:-14px;background:var(--lc,var(--l1))}
}
@media (prefers-reduced-motion:reduce){.vh-js .vh-levels__rows .vh-row.is-active,.vh-levels__rows.is-flash{animation:none}}

/* Wirkprinzip, feiner: schlanke Balken, kein gefülltes Feld – Haarlinien und leichte Schrift */
.vh-levels__plot{height:clamp(200px,24vw,320px);gap:0;border-bottom:1px solid var(--cline)}
.vh-levels__names,.vh-levels__kinds{gap:0}
.vh-levels__col{align-items:center}
.vh-levels__bar{width:clamp(10px,1.5vw,18px);border-radius:999px 999px 0 0;background:linear-gradient(180deg,var(--lc) 0%,color-mix(in oklab,var(--lc) 45%,transparent) 100%)}
.vh-levels__col::before{content:"";position:absolute;left:50%;bottom:calc(var(--top) + 8px);width:7px;height:7px;margin-left:-3.5px;border-radius:50%;background:var(--ochre-500);opacity:0;transform:scale(.4);transition:opacity var(--dur-calm) var(--ease-breath),transform var(--dur-calm) var(--ease-breath)}
.vh-levels__col.is-active::before{opacity:1;transform:none}
.vh-levels__col.is-active .vh-levels__bar,.vh-levels__col:focus-visible .vh-levels__bar{box-shadow:none;background:var(--lc)}
.vh-levels__col:not(.is-active) .vh-levels__bar{opacity:.72}
.vh-levels__col:hover .vh-levels__bar{opacity:1;filter:none}
.vh-levels__kinds span{border-top-width:1px;margin-inline:6px}
.vh-levels__rows{background:none;border:0;border-left:1px solid var(--cline);border-radius:0;padding:4px 0 4px clamp(22px,3vw,44px);justify-content:flex-end}
.vh-levels__rows::before{display:none!important}
.vh-levels__rows.is-flash{animation:none}
.vh-levels__count{font-weight:500;margin-bottom:12px}
.vh-levels__count i{width:9px;height:9px}
.vh-levels__rows .vh-row h4{font-size:clamp(21px,1.9vw,26px);font-weight:500;letter-spacing:-.015em}
.vh-levels__rows .vh-row p{font-size:16px}
.vh-levels .vh-chart__title{font-weight:500;font-size:19px}
@media (max-width:900px){
  .vh-levels__rows{border-left:0;border-top:1px solid var(--cline);padding:22px 0 0}
}

/* Wirkprinzip, dritte Fassung: kräftige, klar erkennbare Balken mit kleiner Rundung; Beschreibung groß und mittig */
.vh-levels__plot{height:clamp(240px,28vw,380px)}
.vh-levels__bar{width:min(62%,72px);border-radius:5px 5px 0 0;background:var(--lc)}
.vh-levels__col:not(.is-active) .vh-levels__bar{opacity:.86}
.vh-levels__col.is-active .vh-levels__bar,.vh-levels__col:focus-visible .vh-levels__bar{box-shadow:0 0 0 2px var(--bg-page),0 0 0 3.5px var(--ochre-500)}
.vh-levels__col::before{bottom:calc(var(--top) + 12px);width:8px;height:8px;margin-left:-4px}
.vh-levels__body{grid-template-columns:minmax(0,6fr) minmax(0,5fr);align-items:center}
.vh-levels__rows{justify-content:center;padding-block:clamp(12px,2vw,28px);min-height:100%}
.vh-levels__count{font-size:13px;margin-bottom:18px}
.vh-levels__count i{width:12px;height:12px}
.vh-levels__rows .vh-row{row-gap:16px}
.vh-levels__rows .vh-row h4{font-size:clamp(30px,3.1vw,46px);font-weight:600;letter-spacing:-.025em;line-height:1.04}
.vh-levels__rows .vh-row p{font-size:var(--text-lead);line-height:1.5;color:var(--c2);max-width:34ch}
.vh-levels__help{margin-top:6px;padding-top:18px}
.vh-levels__help .vh-label{font-size:12px;margin-bottom:8px}
.vh-levels .vh-chart__title{font-weight:600;font-size:21px}
@media (max-width:900px){
  .vh-levels__body{grid-template-columns:minmax(0,1fr)}
  .vh-levels__rows{padding:26px 0 0;min-height:0}
  .vh-levels__rows .vh-row p{max-width:none}
}

/* Wirkprinzip: Beschriftungen unter den Balken besser lesbar */
.vh-levels__names{margin-top:4px}
.vh-levels__names span{font-family:var(--font-body);font-size:clamp(14.5px,1.25vw,17px);font-weight:400;letter-spacing:.01em;text-transform:none;color:var(--c1);height:7.4em}
.vh-levels__names span.is-active{font-weight:600}
.vh-levels__kinds{font-size:clamp(14px,1.15vw,16px);color:var(--c1)}
.vh-levels__kinds span{padding-top:10px}
.vh-levels__axis{font-size:13.5px;letter-spacing:.16em}
.vh-levels .vh-chart__hint{font-size:15px;line-height:1.55;max-width:70ch}
@media (max-width:600px){.vh-levels__kinds{font-size:13.5px}}

/* Wirkprinzip: Einteilung, Pfeil und Hinweis noch besser lesbar */
.vh-levels__kinds{font-size:clamp(15px,1.45vw,19px);line-height:1.35}
.vh-levels__kinds span{padding-top:12px}
.vh-levels__axis{font-size:clamp(13.5px,1.2vw,16px);margin-top:4px}
.vh-levels .vh-chart__hint{font-size:var(--text-body);line-height:1.6;color:var(--c2);max-width:68ch;margin-top:6px}
@media (max-width:600px){.vh-levels__kinds{font-size:14.5px}}

/* Feldlinien über allen Kopf-Videos (Unterseiten und Szenen der Startseite): dichter und etwas deutlicher */
.vh-hero--scene .vh-fieldwrap,.vh-scenes__field .vh-fieldwrap{opacity:1!important;--field-line-deep:rgba(255,244,228,.15);--field-width:1.1;--field-gap:12}

/* ───────── Porträt: im Ruhezustand nur Silhouette; beim Überfahren öffnet sich das Foto vom Lichtpunkt aus (wie das Menü). Das Foto wird auf eine Zeichenfläche gemalt – es gibt keine Bildadresse im Seitentext. ───────── */
.vh-portrait{margin:0;width:100%;max-width:440px}
.vh-portrait__frame{--x:50%;--y:36%;position:relative;display:block;aspect-ratio:1152/1366;border-radius:var(--radius-m);overflow:hidden;isolation:isolate;cursor:pointer;background:linear-gradient(165deg,var(--elder-700) 0%,var(--elder-900) 100%);-webkit-tap-highlight-color:transparent}
.vh-portrait__frame:focus-visible{outline:none;box-shadow:var(--shadow-focus)}
.vh-portrait__form{position:absolute;inset:0;background:linear-gradient(180deg,color-mix(in oklab,var(--ochre-300) 42%,var(--elder-500)) 0%,var(--elder-600) 70%,var(--elder-700) 100%);-webkit-mask:url(../img/vh-form.png) center/100% 100% no-repeat;mask:url(../img/vh-form.png) center/100% 100% no-repeat;opacity:.85}
.vh-portrait__mote{position:absolute;left:var(--x);top:var(--y);width:0;height:0;color:var(--ochre-200);transition:opacity var(--dur-calm) var(--ease-breath)}
.vh-portrait__mote::before,.vh-portrait__mote::after{content:"";position:absolute;left:-23px;top:-23px;width:46px;height:46px;box-sizing:border-box;border-radius:50%}
.vh-portrait__mote::before{background:radial-gradient(circle,#fff 0 7%,var(--ochre-200) 12%,rgba(226,196,143,.34) 26%,rgba(226,196,143,.2) 100%);animation:vhBlob 3.2s ease-in-out infinite}
.vh-portrait__mote::after{border:1.5px solid currentColor;animation:vhBubble 1.9s var(--ease-breath) infinite}
.vh-portrait__photo{position:absolute;inset:0;width:100%;height:100%;display:block;clip-path:circle(0% at var(--x) var(--y));transition:clip-path 1200ms var(--ease-grow)}
.vh-portrait.is-open.is-ready .vh-portrait__photo{clip-path:circle(150% at var(--x) var(--y))}
.vh-portrait.is-open.is-ready .vh-portrait__mote{opacity:0}
@media (max-width:900px){.vh-portrait{max-width:360px}}
@media (prefers-reduced-motion:reduce){.vh-portrait__photo{transition:none}.vh-portrait__mote::before,.vh-portrait__mote::after{animation:none}}

/* ───────── Logo „Strahlen-O“ (erzeugt von logo.py) ───────── */
.vh-wordmark{display:block;line-height:0}
.vh-logo{display:block;width:clamp(177px,18.3vw,248px);height:auto;overflow:visible}
/* Strahlen und Punkt gibt es für dunklen (--d) und hellen (--l) Grund; die Buchstaben folgen currentColor */
.vh-logo__set--l,.vh-bar.is-light .vh-logo__set--d{display:none}
.vh-bar.is-light .vh-logo__set--l{display:inline}
.vh-menu-open .vh-bar .vh-logo__set--d{display:inline}
.vh-menu-open .vh-bar .vh-logo__set--l{display:none}
.vh-logo__rays{animation:vhLogoSpin 160s linear infinite}
@keyframes vhLogoSpin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.vh-logo__rays{animation:none}}
.vh-bar.is-solid .vh-logo{width:clamp(165px,16vw,220px)}
.vh-footer .vh-logo{width:min(100%,240px)}
@media (max-width:480px){.vh-logo,.vh-bar.is-solid .vh-logo{width:146px}}

/* ───────── Seitenkopf: Text steht beim Öffnen sofort da, ohne Einblend-Bewegung (Wunsch vom 04.10.2026). Weiter unten auf der Seite bleiben die Scroll-Eingänge. ───────── */
.vh-js .vh-hero [data-reveal],.vh-js .vh-hero [data-reveal].is-in{opacity:1;transform:none;filter:none;clip-path:none;transition:none}

/* Szenen linksbündig, an der Kante des Seiteninhalts */
.vh-scenes{--scene-inset:max(var(--gutter),calc((100vw - 1240px) / 2))}
.vh-scenes .vh-scene{place-items:center start}
.vh-scenes .vh-scene__text{align-items:flex-start;text-align:left}
.vh-scenes .vh-scene__text .vh-eyebrow{justify-content:flex-start}
.vh-scenes.is-track .vh-scene__text{justify-items:start;padding-left:var(--scene-inset);padding-right:var(--scene-inset)}
.vh-scenes.is-track .vh-scenes__foot{justify-content:flex-start;padding-left:var(--scene-inset)}
.vh-scenes__link:empty{display:none}

/* Gold-Knopf (alle Pollen-Knöpfe): Verlauf, beim Überfahren Wechsel zur Kontur */
[data-tone="deep"] .vh-btn--gold,.vh-btn--pollen,[data-tone="deep"] .vh-btn--pollen{position:relative;isolation:isolate;overflow:hidden;background:transparent;color:var(--elder-950);font-weight:600;border-color:#E3CDA2;transition:color var(--dur-calm) var(--ease-breath),border-color var(--dur-calm) var(--ease-breath),text-shadow var(--dur-calm) var(--ease-breath),transform var(--dur-quick) var(--ease-breath)}
[data-tone="deep"] .vh-btn--gold::before,.vh-btn--pollen::before,[data-tone="deep"] .vh-btn--pollen::before{content:"";position:absolute;inset:-1px;z-index:-1;background:linear-gradient(105deg,#F5ECD6 0%,#EDDDB9 32%,#E3CDA2 62%,#D6BB8C 100%);transition:opacity var(--dur-calm) var(--ease-breath)}
[data-tone="deep"] .vh-btn--gold:hover,.vh-btn--pollen:hover,[data-tone="deep"] .vh-btn--pollen:hover,[data-tone="deep"] .vh-btn--gold:focus-visible,.vh-btn--pollen:focus-visible,[data-tone="deep"] .vh-btn--pollen:focus-visible{background:transparent;color:#F5ECD6;border-color:#EDDDB9;text-shadow:0 1px 14px rgba(var(--shade-rgb),.7)}
[data-tone="deep"] .vh-btn--gold:hover::before,.vh-btn--pollen:hover::before,[data-tone="deep"] .vh-btn--pollen:hover::before,[data-tone="deep"] .vh-btn--gold:focus-visible::before,.vh-btn--pollen:focus-visible::before,[data-tone="deep"] .vh-btn--pollen:focus-visible::before{opacity:0}
.vh-scenes__link:empty{display:none}
/* auf hellen Flächen: Kontur und Schrift dunkel statt hell */
[data-tone="light"] .vh-btn--pollen:hover,[data-tone="light"] .vh-btn--pollen:focus-visible{color:var(--elder-900);border-color:#B98A45;text-shadow:none}

/* Seitenkopf linksbündig */
.vh-hero--scene{text-align:left}
.vh-hero--scene .vh-hero__inner{align-items:flex-start;margin:0}
.vh-hero--scene .vh-eyebrow{justify-content:flex-start}
.vh-hero--scene .vh-actions{justify-content:flex-start}
.vh-hero--scene .vh-hero__more{left:max(var(--gutter),calc((100% - 1240px) / 2));transform:none}
