:root{
  --green:#B0FC00; --green-deep:#79AD00; --green-on-dark:#B0FC00; --lime:#E1FAA8;
  --green-ink:#4F7300; /* Gruen fuer Text/Icons auf hellem Grund: 5.55:1 statt 1.25:1 */
  --ink:#1d1d1f; --muted:#6e6e73; --muted80:#3a3a3c;
  --white:#fff; --parchment:#f5f7f3; --soft:#eef4ea; --tile:#0F1B2A;
  --hairline:#e3e3e1;
  --shadow:0 18px 50px rgba(20,40,20,.16);
  --max:1120px;
  --sans:'Inter',-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--white);line-height:1.5;letter-spacing:-.01em;overflow-x:hidden}
a{color:var(--green-ink);text-decoration:none}
img{max-width:100%;display:block}
h1,h2,h3,h4{font-weight:700;letter-spacing:-.025em;line-height:1.08;margin:0}
h2{font-size:clamp(30px,4.4vw,46px)}
p{margin:0}
.container{max-width:var(--max);margin:0 auto;padding:0 22px;width:100%}
.section{padding:100px 0;position:relative}
.section--soft{background:var(--parchment)}
.center{text-align:center;max-width:780px;margin-left:auto;margin-right:auto}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--green-ink);margin-bottom:14px}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--green);border-radius:2px}
.lead{font-size:20px;line-height:1.5;color:var(--muted80)}

/* SCROLL PROGRESS */
.scroll-bar{position:fixed;top:0;left:0;height:3px;width:0;background:var(--green);z-index:120;transition:width .08s linear}

/* HEADER (glass) */
.header{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(255,255,255,.85);backdrop-filter:saturate(180%) blur(16px);box-shadow:0 1px 0 rgba(0,0,0,.06);transition:background .3s,box-shadow .3s,backdrop-filter .3s}
.header .nav{display:flex;align-items:center;justify-content:space-between;height:66px;gap:20px}
.brand__txt{display:flex;flex-direction:column;line-height:1.05}
.brand__txt b{font-size:16px;font-weight:700;letter-spacing:-.02em;color:var(--ink);transition:color .3s}
.brand__txt span{font-size:11px;color:var(--muted);font-weight:400;transition:color .3s}
.menu{display:flex;align-items:center;gap:24px;list-style:none;margin:0;padding:0}
.menu a{font-size:14px;font-weight:500;color:var(--ink);transition:color .3s}
.menu a:hover{color:var(--green-ink)}
.menu a.active{font-weight:700}
.menu .btn--primary{color:#fff}
.burger{display:none;background:none;border:0;cursor:pointer;flex-direction:column;gap:5px;padding:8px;z-index:110}
.burger span{width:24px;height:2px;background:var(--ink);display:block;border-radius:2px;transition:.3s}
/* Overlay ueber dunklem Hero (nur Startseite) */
.header--overlay:not(.scrolled){background:transparent;backdrop-filter:none;box-shadow:none}
.header--overlay:not(.scrolled) .brand__txt b{color:#fff}
.header--overlay:not(.scrolled) .brand__txt span{color:rgba(255,255,255,.75)}
.header--overlay:not(.scrolled) .menu a{color:rgba(255,255,255,.92)}
.header--overlay:not(.scrolled) .menu a:hover{color:#fff}
.header--overlay:not(.scrolled) .burger span{background:#fff}
.mobilenav{position:fixed;inset:0;background:rgba(18,24,18,.96);backdrop-filter:blur(10px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;z-index:105;opacity:0;pointer-events:none;transition:opacity .3s}
.mobilenav.open{opacity:1;pointer-events:auto}
.mobilenav a{font-size:24px;font-weight:600;color:#fff}
.mobilenav .btn--primary{font-size:18px}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 24px;border-radius:9999px;font-size:15px;font-weight:600;letter-spacing:-.01em;border:1px solid transparent;cursor:pointer;transition:transform .15s,box-shadow .25s,background .25s;position:relative;overflow:hidden}
.btn svg{width:17px;height:17px}
.btn:active{transform:scale(.97)}
.btn--primary{background:var(--green);color:#16210a;box-shadow:0 8px 24px rgba(176,252,0,.35)}
.btn--primary:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(176,252,0,.45)}

.btn--outline{background:transparent;color:var(--green-ink);border-color:var(--green)}
.btn--outline:hover{background:rgba(176,252,0,.1);transform:translateY(-2px)}
.btn--ghost{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.35);backdrop-filter:blur(6px)}
.btn--ghost:hover{background:rgba(255,255,255,.24)}

/* ====== HERO (Split: Text links, Bild rechts) ====== */
.hero{position:relative;background:linear-gradient(180deg,#f2f7ef 0%,#ffffff 62%);border-bottom:1px solid var(--hairline);overflow:hidden}
.hero__inner{display:grid;grid-template-columns:1.1fr .9fr;grid-template-areas:"head media" "sub media" "actions media";column-gap:56px;row-gap:16px;align-items:center;padding:130px 22px 72px}
.hero__head{grid-area:head;align-self:end}
.hero__body{grid-area:sub}
.hero__actions{grid-area:actions;align-self:start;display:flex;gap:14px;flex-wrap:wrap}
.hero__media{grid-area:media}
.hero__media img{width:100%;height:auto;display:block;border-radius:26px;box-shadow:var(--shadow)}
.hero__title{font-size:clamp(34px,4.3vw,52px);font-weight:800;line-height:1.06;color:var(--ink)}
.grad{color:var(--green-ink)}
.hero__rule{display:block;width:72px;height:3px;border-radius:3px;background:var(--green);margin:20px 0 0}
.hero__sub{font-size:clamp(17px,1.9vw,20px);line-height:1.5;color:var(--muted80);max-width:46ch}
.hero__animate{opacity:0;transform:translateY(14px);animation:fadeUp .7s ease forwards}
.hero__head.hero__animate{animation-delay:.02s}
.hero__media.hero__animate{animation-delay:.10s}
.hero__body.hero__animate{animation-delay:.16s}
.hero__actions.hero__animate{animation-delay:.22s}
@keyframes fadeUp{to{opacity:1;transform:none}}
.hero__tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:var(--max);margin:0 auto;padding:0 22px 84px}
.htile{display:flex;flex-direction:column;gap:8px;padding:20px;background:#fff;border:1px solid var(--hairline);border-radius:16px;color:var(--ink);transition:transform .25s,box-shadow .25s}
.htile:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.htile__ic{width:40px;height:40px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:var(--soft);color:var(--green-ink)}
.htile__ic svg{width:22px;height:22px}
.htile b{font-size:16px;font-weight:700;color:var(--green-ink)}
.htile__more{font-size:13px;font-weight:600;color:var(--green-ink)}
@media(max-width:820px){
  .hero__inner{grid-template-columns:1fr;grid-template-areas:"head" "media" "actions" "sub";row-gap:18px;padding:100px 22px 40px}
  .hero__head,.hero__actions{align-self:auto}
  .hero__title{font-size:clamp(28px,7.5vw,40px)}
  .hero__sub{max-width:none}
  .hero__actions{margin-top:4px}
  .hero__tiles{grid-template-columns:1fr;padding:0 22px 56px}
}

/* MARQUEE */
.marquee{overflow:hidden;background:var(--tile);padding:15px 0}
.marquee__track{display:flex;gap:44px;white-space:nowrap;width:max-content;animation:marq 26s linear infinite}
.marquee:hover .marquee__track{animation-play-state:paused}
.marquee__track span{font-size:13px;font-weight:600;letter-spacing:.14em;color:#b9c2b8;text-transform:uppercase}
.marquee__track span::after{content:"✦";margin-left:44px;color:var(--green-on-dark)}
@keyframes marq{to{transform:translateX(-50%)}}

/* REVEAL */
[data-reveal]{opacity:0;transform:translateY(30px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
[data-reveal].in{opacity:1;transform:none}
[data-delay="1"]{transition-delay:.12s}[data-delay="2"]{transition-delay:.24s}[data-delay="3"]{transition-delay:.36s}

/* SPLIT */
.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.split--rev .split__media{order:2}
.media-card{position:relative;border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}
.media-card img{width:100%;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.media-card:hover img{transform:scale(1.045)}
.media-card::after{content:"";position:absolute;inset:0;border-radius:24px;border:1px solid rgba(0,0,0,.06);pointer-events:none}
.feature-list{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:16px}
.feature-list li{display:flex;gap:14px;align-items:flex-start;padding:14px;border-radius:14px;transition:background .25s,transform .25s}
.feature-list li:hover{background:var(--soft);transform:translateX(4px)}
.tick{flex:0 0 auto;width:26px;height:26px;border-radius:9999px;background:var(--green);color:#16210a;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(176,252,0,.4)}
.tick svg{width:15px;height:15px}
.feature-list b{display:block;font-size:16px}
.feature-list div span{font-size:14px;color:var(--muted)}

/* CARDS with tilt */
.grid{display:grid;gap:22px}
.grid--4{grid-template-columns:repeat(4,1fr)}
.grid--3{grid-template-columns:repeat(3,1fr)}
.card{background:#fff;border:1px solid var(--hairline);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .3s;transform-style:preserve-3d;will-change:transform}
.card:hover{box-shadow:var(--shadow)}
.card__media{position:relative;aspect-ratio:4/3;overflow:hidden}
.card__media img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.card:hover .card__media img{transform:scale(1.08)}
.card__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.25))}
.card__icon{position:absolute;left:14px;bottom:14px;width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.94);color:var(--green-ink);display:flex;align-items:center;justify-content:center;backdrop-filter:blur(6px);z-index:2;transition:transform .3s}
.card:hover .card__icon{transform:rotate(-6deg) scale(1.08)}
.card__icon svg{width:22px;height:22px}
.card__body{padding:22px;display:flex;flex-direction:column;flex:1}
.card__body h3{margin-bottom:8px;font-size:19px}
.card__body p{font-size:14px;color:var(--muted80);line-height:1.5;flex:1}
.card__link{display:inline-flex;align-items:center;gap:6px;margin-top:16px;font-size:14px;font-weight:700;color:var(--green-ink)}
.card__link svg{width:15px;height:15px;transition:transform .25s}
.card:hover .card__link svg{transform:translateX(4px)}

/* STATBAND */
.statband{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:46px 40px;background:linear-gradient(135deg,#0F1B2A,#16283A);border-radius:26px;text-align:center;position:relative;overflow:hidden}
.statband::before{content:"";position:absolute;inset:0;background:radial-gradient(600px 200px at 20% 0%,rgba(176,252,0,.18),transparent 60%)}
.statband__item{position:relative}
.statband__item b{display:block;font-size:clamp(36px,5vw,56px);font-weight:800;letter-spacing:-.03em;color:#fff}
.statband__item b span{color:var(--green-ink)}
.statband__item>span{font-size:14px;color:#aab5a9}

/* BLEIBFIT */
.bleibfit{position:relative;background:#fff;border:1px solid var(--hairline);border-radius:26px;padding:52px;overflow:hidden}
.bleibfit::before{content:"";position:absolute;right:-120px;top:-120px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(176,252,0,.15),transparent 70%)}
.bleibfit__inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.bf-cards{display:grid;gap:14px}
.bf-card{display:flex;gap:14px;align-items:flex-start;background:var(--parchment);border:1px solid var(--hairline);border-radius:16px;padding:18px;transition:transform .25s,box-shadow .25s}
.bf-card:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(20,40,20,.12)}
.bf-card .ic{flex:0 0 auto;width:42px;height:42px;border-radius:12px;background:#fff;border:1px solid var(--hairline);color:var(--green-ink);display:flex;align-items:center;justify-content:center}
.bf-card .ic svg{width:20px;height:20px}
.bf-card b{display:block;font-size:15px}
.bf-card div span{font-size:13px;color:var(--muted)}

/* TESTIMONIALS */
.tcard{background:#fff;border:1px solid var(--hairline);border-radius:20px;padding:28px;display:flex;flex-direction:column;transition:transform .25s,box-shadow .3s}
.tcard:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.tstars{color:#e3a008;letter-spacing:3px;margin-bottom:12px}
.tcard p{font-size:15px;line-height:1.6;color:var(--ink)}
.tcard__who{display:flex;align-items:center;gap:12px;margin-top:20px}
.tcard__av{width:44px;height:44px;border-radius:9999px;background:linear-gradient(135deg,var(--soft),#dcedd6);color:var(--green-ink);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}
.tcard__who b{display:block;font-size:14px}
.tcard__who div span{font-size:12px;color:var(--muted)}

/* CTA */
.cta{position:relative;overflow:hidden;background:linear-gradient(135deg,#0F1B2A,#14202E);border-radius:28px;padding:72px 48px;text-align:center}
.cta::before{content:"";position:absolute;inset:0;background:radial-gradient(720px 260px at 50% -10%,rgba(176,252,0,.22),transparent 65%)}
.cta>div{position:relative;z-index:2}
.cta h2{color:#fff}
.cta p{margin:14px auto 0;max-width:46ch;font-size:19px;color:#c3ccc1}
.cta__actions{margin-top:30px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* FOOTER */
.footer{background:var(--parchment);border-top:1px solid var(--hairline);padding:68px 0 34px}
.footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:32px}
.footer .brand__txt b{color:var(--ink)}
.footer .brand__txt span{color:var(--muted)}
.footer__about{font-size:14px;color:var(--muted80);line-height:1.55;max-width:34ch;margin-top:12px}
.socials{display:flex;gap:10px;margin-top:18px}
.socials a{width:40px;height:40px;border-radius:9999px;border:1px solid var(--hairline);background:#fff;color:var(--ink);display:flex;align-items:center;justify-content:center;transition:transform .2s,color .2s,border-color .2s}
.socials a:hover{transform:translateY(-3px);color:var(--green-ink);border-color:var(--green)}
.socials svg{width:18px;height:18px}
.footer h4{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);margin-bottom:14px}
.footer__links{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.footer__links a,.footer__links li{font-size:14px;color:var(--muted80)}
.footer__links a:hover{color:var(--green-ink)}
.footer__bottom{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:44px;padding-top:20px;border-top:1px solid var(--hairline);font-size:13px;color:var(--muted)}
.footer__bottom a{color:var(--muted)}

/* TOTOP */
.totop{position:fixed;right:20px;bottom:20px;z-index:90;width:48px;height:48px;border-radius:9999px;border:1px solid var(--hairline);background:#fff;color:var(--ink);cursor:pointer;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transform:translateY(10px);transition:.3s}
.totop.show{opacity:1;pointer-events:auto;transform:none}
.totop:hover{color:var(--green-ink);border-color:var(--green)}
.totop svg{width:20px;height:20px}

/* RESPONSIVE */
@media(max-width:980px){
  .split,.bleibfit__inner{grid-template-columns:1fr;gap:36px}
  .split--rev .split__media{order:0}
  .grid--4{grid-template-columns:repeat(2,1fr)}
  .grid--3{grid-template-columns:1fr}
  .statband{grid-template-columns:repeat(2,1fr)}
  .footer__grid{grid-template-columns:1fr 1fr}
}
@media(max-width:780px){
  .menu{display:none}
  .burger{display:flex}
  .section{padding:68px 0}
  .hero__tiles{grid-template-columns:1fr}
  .hero__content{padding:120px 0 96px}
}
@media(max-width:520px){
  .grid--4{grid-template-columns:1fr}
  .statband{grid-template-columns:1fr 1fr;padding:34px 22px}
  .footer__grid{grid-template-columns:1fr}
  .bleibfit{padding:32px 22px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  [data-reveal]{opacity:1;transform:none}
  .word,.hero__sub,.hero__cta-row,.hero__tiles{opacity:1;transform:none}
  .hero__rule{width:76px}
}

/* ===== Kompakter Seiten-Hero fuer Unterseiten ===== */
.page-hero{position:relative;padding:150px 0 70px;background:linear-gradient(180deg,#f2f7ef,#fff);border-bottom:1px solid var(--hairline);overflow:hidden}
.page-hero::before{content:"";position:absolute;right:-140px;top:-120px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(176,252,0,.16),transparent 70%)}
.page-hero .container{position:relative;z-index:2}
.page-hero h1{font-size:clamp(34px,5.5vw,60px);font-weight:800;letter-spacing:-.03em;color:var(--ink);max-width:18ch}
.page-hero .grad{color:var(--green-ink)}
.page-hero p{font-size:clamp(17px,2.2vw,21px);color:var(--muted80);max-width:52ch;margin-top:14px}
.breadcrumb{font-size:13px;color:var(--muted);margin-bottom:14px}
.breadcrumb a{color:var(--muted)}
.prose{max-width:760px;margin:0 auto}
.prose p{font-size:17px;line-height:1.7;color:var(--muted80);margin:0 0 1.1rem}
.prose h2{margin:2.2rem 0 1rem}
.prose h3{margin:1.6rem 0 .6rem;font-size:20px}
.prose ul{padding-left:0;list-style:none;display:grid;gap:12px;margin:1.2rem 0}
.prose ul li{display:flex;gap:12px;align-items:flex-start}
.prose ul li::before{content:"";flex:0 0 auto;width:22px;height:22px;border-radius:9999px;background:var(--soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2379AD00' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/14px no-repeat;margin-top:2px}

/* ============================================================
   ERWEITERUNG: Alt-Variablen-Aliase + Unterseiten-Bausteine
   ============================================================ */
:root{
  --green-500:#B0FC00; --green-600:#B0FC00; --green-700:#79AD00; --green-900:#395200;
  --lime-400:#E1FAA8;
  --bg:#ffffff; --bg-soft:#f5f7f3; --surface:#ffffff;
  --border:#e3e3e1; --border-strong:#d4dacf;
  --ink-soft:#3a3a3c;
  --shadow-sm:0 6px 20px rgba(20,40,20,.08);
  --ease:cubic-bezier(.2,.7,.2,1);
  --grad-hero:var(--ink);
  --grad-accent:var(--green);
  --radius:18px;
}

/* Doppel-Logo im Header ausblenden, Alt-Overlay-Div aus */
.brand-badge{display:none}
.nav-overlay{display:none}
.burger{position:relative;z-index:110}

/* Seiten-Hero der Unterseiten (.pagehero) */
.pagehero{position:relative;padding:44px 0 52px;background:linear-gradient(180deg,#f2f7ef,#fff);border-bottom:1px solid var(--hairline);overflow:hidden}
.pagehero__inner{position:relative;z-index:2}
.pagehero .hero__blob{opacity:.32}
.crumbs{font-size:13px;color:var(--muted);margin-bottom:14px}
.crumbs a{color:var(--muted)} .crumbs span{color:var(--ink)}
.pagehero h1{font-size:clamp(34px,5.5vw,58px);font-weight:800;letter-spacing:-.03em;color:var(--ink);max-width:20ch;margin-top:6px}
.pagehero .grad{color:var(--green-ink)}
.pagehero p{font-size:clamp(17px,2.2vw,21px);color:var(--muted80);max-width:56ch;margin-top:14px}

/* Medien */
.media-card--contain{background:#fff}
.media-card--contain img{width:100%;height:auto;object-fit:contain}
.video{position:relative;padding-top:56.25%;border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.map-embed{width:100%;min-height:440px;height:100%;border:0;border-radius:22px;box-shadow:var(--shadow)}
.map-consent{width:100%;min-height:440px;height:100%;border-radius:22px;box-shadow:var(--shadow);background:var(--parchment);border:1px solid var(--hairline);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center;padding:36px}
.map-consent p{font-size:14px;line-height:1.6;color:var(--muted80);max-width:38ch}
.map-consent a{color:var(--green-ink);font-weight:600}
@media(max-width:820px){.map-consent{min-height:320px}}

/* Kontakt: Info-Karten + Öffnungszeiten */
.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:stretch}
.info-card{background:#fff;border:1px solid var(--hairline);border-radius:20px;padding:28px}
.info-card h3{font-size:20px;font-weight:700;color:var(--ink);margin-bottom:16px}
.info-row{display:flex;gap:14px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--divider)}
.info-row:last-child{border-bottom:0}
.info-row .ic{flex:0 0 auto;width:42px;height:42px;border-radius:12px;background:var(--soft);color:var(--green-ink);display:flex;align-items:center;justify-content:center}
.info-row .ic svg{width:20px;height:20px}
.info-row b{display:block;font-size:15px;color:var(--ink)}
.info-row span,.info-row a{font-size:15px;color:var(--muted80)}
.info-row a{color:var(--green-ink)}
.hours{display:grid;gap:2px}
.hours__row{display:flex;justify-content:space-between;gap:16px;font-size:15px;color:var(--muted80);padding:8px 0;border-bottom:1px solid var(--divider)}
.hours__row:last-child{border-bottom:0}

/* Formulare */
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form .field{margin-top:14px}
.form label{display:block;font-size:14px;font-weight:600;color:var(--ink);margin-bottom:7px}
.form input,.form select,.form textarea{width:100%;font-family:var(--sans);font-size:16px;color:var(--ink);background:#fff;border:1px solid var(--hairline);border-radius:12px;padding:12px 14px;outline:none;transition:border-color .15s,box-shadow .15s}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(176,252,0,.16)}
.form textarea{min-height:130px;resize:vertical}
.form .btn{margin-top:18px}
.form__note{font-size:13px;color:var(--muted);margin-top:14px;line-height:1.5}
.form__feedback{margin-top:12px;font-size:14px;font-weight:600}
.form__feedback.is-ok{color:var(--green-ink)}
.form__feedback.is-err{color:#c0392b}

/* Team: Vita + Qualifikationen + Mitglieder */
.cv{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:10px}
.cv li{display:flex;gap:14px;align-items:flex-start;font-size:15px;color:var(--muted80)}
.cv .yr{flex:0 0 auto;min-width:96px;font-weight:700;color:var(--green-ink)}
.quals{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.quals span{font-size:13px;font-weight:600;color:var(--green-ink);background:var(--soft);border:1px solid var(--hairline);border-radius:9999px;padding:7px 14px}
.member{background:#fff;border:1px solid var(--hairline);border-radius:20px;overflow:hidden;transition:transform .25s,box-shadow .3s}
.member:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.member__img{aspect-ratio:1/1;overflow:hidden;background:var(--soft)}
.member__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.member:hover .member__img img{transform:scale(1.06)}
.member__body{padding:18px}
.member__body b{display:block;font-size:16px;color:var(--ink)}
.member__body span{display:block;font-size:13px;color:var(--muted);margin-top:4px}

/* EGYM Ziel-Karten (falls .goal genutzt) */
.goal{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--hairline);border-radius:16px;padding:16px 18px;font-weight:600;color:var(--ink)}

/* ===== Mobile-Navigation vereinheitlicht (Overlay über .menu) ===== */
@media(max-width:780px){
  .burger{display:flex}
  .menu{display:flex;position:fixed;inset:0;margin:0;padding:0;background:rgba(18,24,18,.97);backdrop-filter:blur(10px);flex-direction:column;align-items:center;justify-content:center;gap:24px;transform:translateY(-8%);opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;z-index:105}
  body.nav-open .menu{transform:none;opacity:1;pointer-events:auto}
  .menu li{list-style:none}
  .menu a{color:#fff!important;font-size:22px;font-weight:600}
  .menu .btn--primary{color:#fff!important;font-size:18px}
  body.nav-open{overflow:hidden}
  body.nav-open .burger span{background:#fff}
  body.nav-open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  body.nav-open .burger span:nth-child(2){opacity:0}
  body.nav-open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .info-grid{grid-template-columns:1fr}
  .form .row{grid-template-columns:1fr}
  .map-embed{min-height:320px}
}

/* ===== FIX: einfache Karten ohne Bild (Icon+Titel+Text) ===== */
.card:not(.card--media){padding:26px}
.card:not(.card--media) .card__icon{position:static;width:46px;height:46px;border-radius:13px;margin:0 0 16px;background:var(--soft);color:var(--green-ink);backdrop-filter:none;box-shadow:none}
.card:not(.card--media) .card__icon svg{width:24px;height:24px}
.card:not(.card--media):hover .card__icon{transform:none}
.card:not(.card--media) h3{font-size:19px;margin-bottom:8px;color:var(--ink)}
.card:not(.card--media) p{font-size:14px;line-height:1.55;color:var(--muted80)}
.card:not(.card--media) p a{color:var(--green-ink);font-weight:700}

/* ===== Hero-Kacheln: Schrift + Icons im Button-Grün ===== */
.htile b{color:var(--green)}
.htile__ic{color:var(--green);background:rgba(176,252,0,.16)}
.htile__more{color:var(--green)}

/* ===== Mobile-Performance ===== */
@media(max-width:820px){
  .header{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(255,255,255,.96)}
  .card{will-change:auto;transform-style:flat}
  .marquee__track{animation-duration:36s}
}
@media (prefers-reduced-motion:reduce){
  .hero__animate{opacity:1;transform:none;animation:none}
}

/* ===== Server-Fonts (/wolters2000/fonts) ===== */
/* Selbst gehostet statt fonts.googleapis.com (DSGVO: keine IP-Übertragung an Google beim Seitenaufruf) */
@font-face{font-family:"Inter";src:url("../fonts/Inter-latin.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";src:url("../fonts/Inter-latinext.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Poppins";src:url("../fonts/Poppins-600-latin.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Poppins";src:url("../fonts/Poppins-600-latinext.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Poppins";src:url("../fonts/Poppins-700-latin.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Poppins";src:url("../fonts/Poppins-700-latinext.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Poppins";src:url("../fonts/Poppins-800-latin.woff2") format("woff2");font-weight:800;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Poppins";src:url("../fonts/Poppins-800-latinext.woff2") format("woff2");font-weight:800;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Poppins";src:url("../fonts/Poppins-700italic-latin.woff2") format("woff2");font-weight:700;font-style:italic;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Poppins";src:url("../fonts/Poppins-700italic-latinext.woff2") format("woff2");font-weight:700;font-style:italic;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Poppins";src:url("../fonts/Poppins-800italic-latin.woff2") format("woff2");font-weight:800;font-style:italic;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Poppins";src:url("../fonts/Poppins-800italic-latinext.woff2") format("woff2");font-weight:800;font-style:italic;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

@font-face{font-family:"Playfair Display";src:url("../fonts/PlayfairDisplay-VariableFont_wght.ttf") format("truetype");font-weight:400 900;font-style:normal;font-display:swap}
@font-face{font-family:"Playfair Display";src:url("../fonts/PlayfairDisplay-Italic-VariableFont_wght.ttf") format("truetype");font-weight:400 900;font-style:italic;font-display:swap}
@font-face{font-family:"Google Sans";src:url("../fonts/GoogleSans-VariableFont_GRAD,opsz,wght.ttf") format("truetype");font-weight:300 800;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("../fonts/CormorantGaramond-VariableFont_wght.ttf") format("truetype");font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:"Lora";src:url("../fonts/Lora-VariableFont_wght.ttf") format("truetype");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"Anton";src:url("../fonts/Anton-latin.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Anton";src:url("../fonts/Anton-latinext.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
:root{--display:"Playfair Display",Georgia,"Times New Roman",serif;--display-slogan:"Anton","Poppins",-apple-system,system-ui,sans-serif}
.hero__title,.pagehero h1,h2,.section-title,.intro-title{font-family:var(--display);letter-spacing:-.005em;font-weight:700}
.hero__title{font-weight:800}
.hero__title .grad{font-style:italic;font-weight:600}

/* ================= LOVABLE-STYLE (Homepage) ================= */
:root{--green:#B0FC00;--green-deep:#79AD00;--green-on-dark:#B0FC00;--green-ink:#4F7300;--soft:#E8F3EC;--dark:#0F1B2A;--muted:#5B6472;--muted80:#3f4a58;--hairline:#E6E8ED;--display:"Poppins","Inter",-apple-system,system-ui,sans-serif}
h2,.section-title,.pagehero h1,.intro-title{font-family:var(--display);letter-spacing:-.015em;font-weight:800}

body.home{background:#fff;color:var(--ink)}
.home-wrap{max-width:1200px;margin:0 auto;padding:0 28px}

/* Header */
.lvhead{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.9);backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--hairline)}
.lvhead__in{max-width:1200px;margin:0 auto;padding:0 28px;height:74px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.lvbrand{display:flex;flex-direction:column;line-height:1;color:var(--ink)}
.lvbrand b{font-family:var(--display);font-weight:800;font-size:20px;letter-spacing:-.01em}
.lvbrand b i{color:var(--green-ink);font-style:normal}
.lvbrand span{font-size:11px;letter-spacing:.2em;color:var(--muted);text-transform:uppercase;margin-top:4px}
.lvnav{display:flex;align-items:center;gap:30px}
.lvnav a{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);white-space:nowrap}
.lvnav a:hover{color:var(--green-ink)}
.lvnav a.is-active{color:var(--green-ink)}
.lvnav .btn2{padding:11px 20px}


/* Startseite: dunkler Header ueber dem dunklen Hero */
body.home .lvhead{background:rgba(26,26,30,.92);border-bottom:1px solid rgba(255,255,255,.08)}
body.home .lvbrand{color:#fff}
body.home .lvbrand b i{color:var(--green)}
body.home .lvbrand span{color:rgba(255,255,255,.5)}
body.home .lvnav>a{color:#fff}
body.home .lvnav>a:hover,body.home .lvnav>a.is-active{color:var(--green)}
body.home .lvburger span{background:#fff}
body.home .lvnav .btn2--green{color:#16210a}
@media(min-width:1031px) and (max-width:1260px){
  .lvnav{gap:16px}
  .lvnav a{font-size:11.5px;letter-spacing:.05em}
  .lvnav .btn2{padding:10px 16px}
}
.lvhead__in .lvhead__cta{display:none}
.lvburger{display:none;background:none;border:0;cursor:pointer;flex-direction:column;gap:5px;padding:8px;z-index:110}
.lvburger span{width:24px;height:2px;background:var(--ink);display:block;border-radius:2px;transition:.3s}

/* Buttons (Lovable) */
.btn2{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14px 24px;border-radius:14px;font-family:var(--sans);font-weight:600;font-size:15px;letter-spacing:-.01em;border:1px solid transparent;cursor:pointer;transition:transform .15s,background .2s,border-color .2s,box-shadow .2s;white-space:nowrap}
.btn2 svg{width:18px;height:18px}
.btn2:hover{text-decoration:none;transform:translateY(-1px)}
.btn2--dark{background:var(--dark);color:#fff}
.btn2--dark:hover{background:#1b2a3d}
.btn2--green{background:var(--green);color:#16210a}
.btn2--green:hover{background:#c2ff33}
.btn2--pill{border-radius:9999px}
.btn2--line{background:#fff;border-color:var(--hairline);color:var(--ink)}
.btn2--line:hover{border-color:var(--green);color:var(--green-ink)}
.btn2--ondark{background:transparent;border-color:rgba(255,255,255,.28);color:#fff}
.btn2--ondark:hover{background:rgba(255,255,255,.1)}

/* HERO split */
.hero2{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 74px)}
.hero2__text{display:flex;flex-direction:column;justify-content:center;padding:56px 56px 56px max(28px,calc((100vw - 1200px)/2 + 28px))}
.hero2__text-in{max-width:560px;width:100%}
.hero2 h1{font-family:var(--display);font-weight:800;font-size:clamp(40px,4.8vw,62px);line-height:1.04;letter-spacing:-.025em;color:var(--ink)}
.hero2 h1 i{color:var(--green);font-style:italic}
.hero2__sub{margin-top:22px;font-size:clamp(17px,1.4vw,19px);line-height:1.55;color:var(--muted);max-width:44ch}
.hero2__btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.hero2__stats{display:flex;gap:52px;margin-top:46px;padding-top:30px;border-top:1px solid var(--hairline);flex-wrap:wrap}
.hstat b{font-family:var(--display);font-weight:800;font-size:clamp(28px,3vw,36px);color:var(--green);line-height:1}
.hstat span{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:6px}
.hero2__img{position:relative;overflow:hidden;background:var(--soft)}
.hero2__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}

/* SECTION Leistungen */
.lvsec{max-width:1200px;margin:0 auto;padding:92px 28px}
.lvsec--gray{max-width:none;background:#F7F8FA}
.lvsec--gray>.lvsec__wrap{max-width:1200px;margin:0 auto;padding:92px 28px}
.lveye{font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--green-ink)}
.lvsec__head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:46px}
.lvsec__head h2{font-family:var(--display);font-size:clamp(30px,3.6vw,44px);font-weight:800;letter-spacing:-.02em;color:var(--ink);margin-top:12px}
.lvsec__sub{color:var(--muted);font-size:17px;line-height:1.6;max-width:52ch;margin-top:12px}
.lvlink{color:var(--green-ink);font-weight:700;font-size:15px;white-space:nowrap;display:inline-flex;gap:6px;align-items:center}
.lvcards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.lvcard{background:#fff;border:1px solid var(--hairline);border-radius:20px;padding:32px;transition:transform .25s,box-shadow .25s}
.lvcard:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(20,30,50,.10)}
.lvcard__ic{width:54px;height:54px;border-radius:15px;background:var(--soft);color:var(--green-ink);display:flex;align-items:center;justify-content:center;margin-bottom:24px}
.lvcard__ic svg{width:26px;height:26px}
.lvcard h3{font-family:var(--display);font-size:21px;font-weight:700;color:var(--ink);margin-bottom:12px;letter-spacing:-.01em}
.lvcard p{color:var(--muted);font-size:15px;line-height:1.65}
.lvcard__link{display:inline-flex;align-items:center;gap:6px;margin-top:20px;color:var(--green-ink);font-weight:700;font-size:15px}
.lvcard__link svg{width:16px;height:16px;transition:transform .2s}
.lvcard:hover .lvcard__link svg{transform:translateX(4px)}

/* KONTAKT-Band */
.cband{max-width:1200px;margin:0 auto 92px;padding:0 28px}
.cband__in{background:var(--dark);border-radius:26px;padding:52px 56px;display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap;position:relative;overflow:hidden}
.cband__in::before{content:"";position:absolute;right:-120px;top:-120px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(176,252,0,.28),transparent 70%)}
.cband__l{position:relative;z-index:2}
.cband__in .lveye,.cband__in .eyebrow{color:var(--green-on-dark)}
.cband__l h2{font-family:var(--display);font-size:clamp(28px,3vw,38px);font-weight:800;color:#fff;margin-top:10px}
.cband__l p{color:#9aa6b2;font-size:15px;margin-top:10px}
.cband__btns{position:relative;z-index:2;display:flex;gap:14px;flex-wrap:wrap}

/* Sticky Call-Bar (mobil) */
.callbar{position:fixed;left:12px;right:12px;bottom:12px;z-index:80;background:var(--dark);border-radius:18px;padding:10px 12px 10px 20px;display:none;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 14px 34px rgba(0,0,0,.3)}
.callbar__l{display:flex;align-items:center;gap:11px;color:#fff;font-weight:600;font-size:15px}
.callbar__dot{width:11px;height:11px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(176,252,0,.3)}
.callbar__btn{background:var(--green);color:#16210a;font-weight:700;padding:12px 18px;border-radius:12px;font-size:15px;white-space:nowrap}
.callbar__btn:hover{background:#c2ff33;text-decoration:none}

/* Responsive Homepage */
@media(max-width:900px){
  .lvcards{grid-template-columns:1fr}
  .lvsec__head{flex-direction:column;align-items:flex-start}
  .cband__in{padding:36px 28px}
}
@media(max-width:1030px){
  .lvnav{position:fixed;inset:0;background:rgba(20,20,24,.97);flex-direction:column;justify-content:center;gap:22px;transform:translateY(-8%);opacity:0;pointer-events:none;transition:.3s;z-index:105;overflow-y:auto;padding:80px 24px}
  body.nav-open .lvnav{transform:none;opacity:1;pointer-events:auto}
  .lvnav a{color:#fff;font-size:20px}
  .lvnav a.is-active{color:var(--green)}
  .lvnav a.btn2--green{color:#16210a}
  .lvburger{display:flex}
  body.nav-open .lvburger span{background:#fff}
  /* Termin-Button auch im Mobile-Header sichtbar */
  .lvhead__in .lvhead__cta{display:inline-flex;padding:9px 14px;font-size:12px;font-weight:700;line-height:1.2;text-align:center;white-space:nowrap;z-index:106}
  body.nav-open .lvhead__in .lvhead__cta{display:none}
  /* Marke kompakt: "Therapie & Sport" / "Wolters" zweizeilig wie in der Vorlage */
  .lvhead__in{padding:0 16px;gap:10px}
  .lvbrand b{font-size:16px;line-height:1.15}
  .lvbrand b i{display:block}
  .lvbrand span{font-size:9px;letter-spacing:.12em;white-space:nowrap;margin-top:3px}
  .lvburger{padding:6px}
}
@media(max-width:820px){
  .hero2{grid-template-columns:1fr;min-height:0}
  .hero2__img{order:-1;height:300px}
  .hero2__text{padding:34px 24px 40px;justify-content:flex-start}
  .hero2__text-in{max-width:none}
  .hero2__stats{gap:34px;margin-top:34px}
  .callbar{display:flex}
  body{padding-bottom:84px}
  .lvsec{padding:56px 24px}.lvsec--gray>.lvsec__wrap{padding:56px 24px}
  .cband{margin-bottom:56px}
}

@media(max-width:820px){.totop{display:none}.praxis-grid{grid-template-columns:1fr!important;gap:32px!important}}

/* ================= SPORTLICHER HERO (B Desktop / A Mobile) ================= */
.shero{position:relative;overflow:hidden;background:#1a1a1e}
.shero__media{position:absolute;top:0;right:auto;bottom:0;left:0;width:112%;z-index:1;overflow:hidden}
.shero__media picture{display:block;width:100%;height:100%}
.shero__media img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;filter:saturate(1.05) contrast(1.02)}
.shero__media::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,#1a1a1e 0%,rgba(26,26,30,.94) 28%,rgba(26,26,30,.55) 52%,rgba(26,26,30,.12) 78%,rgba(26,26,30,0) 100%)}
.shero__in{position:relative;z-index:3;width:100%;max-width:1660px;margin:0 auto;min-height:calc(100vh - 74px);display:flex;align-items:center;padding:0 clamp(28px,3vw,52px)}
.shero__wrap{max-width:min(620px,53%);padding:64px 0}

/* Hero-CTA: grosser Termin-Button + Route/Telefon */
.shero__cta{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:32px}
.ctamain{display:inline-flex;align-items:center;justify-content:center;background:var(--green);color:#16210a;font-family:var(--display);font-weight:800;font-size:14px;letter-spacing:.06em;text-transform:uppercase;padding:17px 30px;border-radius:9999px;transition:transform .12s,background .2s;white-space:nowrap}
.ctamain:hover{background:#c2ff33;transform:translateY(-2px);text-decoration:none}
.ctaalt__lb{display:block;font-size:12px;color:#8b93a1;margin-bottom:7px}
.ctaalt__row{display:flex;gap:10px}
.ctabtn{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.04);color:#fff;font-family:var(--display);font-weight:700;font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding:10px 18px;border-radius:9999px;transition:border-color .2s,color .2s,background .2s;white-space:nowrap}
.ctabtn svg{width:14px;height:14px}
.ctabtn:hover{border-color:var(--green);color:var(--green);text-decoration:none}

/* OTT-Erklaerbox */
.ottbox{margin-top:34px;max-width:560px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.03);border-radius:14px;padding:16px 18px}
.ottbox b{display:block;font-family:var(--display);font-weight:700;font-size:13px;color:#fff;margin-bottom:5px}
.ottbox p{font-size:13px;line-height:1.55;color:#9aa3b2}
.seye{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-weight:800;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--green-on-dark);margin-bottom:20px}
.seye::before{content:"";width:32px;height:3px;background:var(--green);border-radius:2px}
.shero h1{font-family:var(--display-slogan);font-weight:400;font-size:clamp(40px,6vw,100px);line-height:1.05;letter-spacing:0;color:#fff;text-transform:uppercase}
.shero h1 .g{color:var(--green)}
.shero__sub{margin-top:22px;font-size:clamp(16px,1.4vw,19px);line-height:1.55;color:#c4cfda;max-width:44ch}
.shero__btns{display:flex;gap:13px;flex-wrap:wrap;margin-top:30px}
.sbtn{display:inline-flex;align-items:center;gap:9px;font-family:var(--display);font-weight:800;font-size:14px;padding:15px 24px;border-radius:12px;border:2px solid transparent;transition:transform .12s,background .2s,border-color .2s;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap}
.sbtn svg{width:17px;height:17px}
.sbtn--g{background:var(--green);color:#fff}
.sbtn--g:hover{background:#74a824;transform:translateY(-2px);text-decoration:none}
.sbtn--o{border-color:rgba(255,255,255,.35);color:#fff}
.sbtn--o:hover{border-color:var(--green);color:#fff;transform:translateY(-2px);text-decoration:none}
.shero__stats{display:flex;gap:46px;margin-top:46px;flex-wrap:wrap}
.sstat b{font-family:var(--display);font-weight:900;font-size:clamp(30px,3.6vw,44px);line-height:1;color:#fff}
.sstat b em{color:var(--green-on-dark);font-style:normal}
.sstat span{display:block;margin-top:6px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#8fa0b0}
.smq{background:var(--green);overflow:hidden;padding:13px 0}
.smq__t{display:flex;gap:38px;white-space:nowrap;width:max-content;animation:smq 26s linear infinite}
.smq:hover .smq__t{animation-play-state:paused}
.smq__t span{font-family:var(--display);font-weight:900;font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:#06210f}
.smq__t span::after{content:"\25CF";margin-left:38px;font-size:9px;vertical-align:middle}
@keyframes smq{to{transform:translateX(-50%)}}

/* MOBILE = Variante A: Bild oben (Block), Text auf Navy darunter */
@media(max-width:900px){
  /* Dunkler Hintergrund fuellt den ganzen Screen; der Hero ist bewusst um die
     Hoehe des Kennzahlen-Blocks laenger, damit dieser unter die Falz rutscht. */
  .shero{display:flex;flex-direction:column;position:relative;background:#000;min-height:calc(100vh + 25px)}
  @supports (height:1svh){ .shero{min-height:calc(100svh + 25px)} }
  /* Bild oben ausgerichtet, sonst wird der Kopf abgeschnitten.
     Hoehe an die Viewport-Hoehe gekoppelt, damit der Hero samt Buttons
     auch bei eingeblendeter Browserzeile komplett sichtbar bleibt. */
  .shero__media{position:absolute;top:0;left:0;right:0;bottom:auto;width:100%;height:auto;aspect-ratio:auto;z-index:1}
  
  .shero__media img{width:100%;height:auto;object-fit:unset;object-position:center}
  .shero__media::before{display:none}
  /* Kein Auslaufen: Bild wird vollstaendig gezeigt */
  .shero__media::after{display:none}
  /* Text ueberlappt das ausgelaufene Bildende -> rueckt nach oben */
  .shero__in{display:flex;flex-direction:column;align-items:stretch;flex:1 1 auto;min-height:auto;max-width:none;padding:0;position:relative;z-index:3}
  .shero__wrap{display:flex;flex-direction:column;justify-content:flex-end;flex:1 1 auto;max-width:none;padding:0 20px 110px}
  /* Eyebrow: nur der gruene Strich wie in der Vorlage */
  .seye{font-size:0;margin-bottom:12px}
  .shero h1{font-size:clamp(34px,12.15vw,52px)}
  .shero__sub{margin-top:10px;font-size:13.5px;line-height:1.5;max-width:34ch}
  /* Kennzahlen auf der mobilen Startseite ausgeblendet (auf Desktop weiterhin sichtbar) */
  .shero__stats{display:none}
  .sstat span{font-size:9px;letter-spacing:.08em;white-space:nowrap}
  .shero__cta{flex-direction:column;align-items:stretch;gap:10px;margin-top:16px}
  .ctamain{padding:14px 28px}
  .ctaalt__lb{margin-bottom:5px}
  .ctamain{width:100%}
  .ctaalt__lb{text-align:center}
  .ctaalt__row{justify-content:center}
  .ctabtn{flex:1 1 0;justify-content:center}
}
@media (prefers-reduced-motion:reduce){.smq__t{animation:none}}

/* ===== Font-Abwechslung: Lora (Serife) + neue Bausteine ===== */
@font-face{font-family:"Lora";src:url("../fonts/Lora-Italic-VariableFont_wght.ttf") format("truetype");font-weight:400 700;font-style:italic;font-display:swap}
.tcard p{font-family:var(--sans);font-style:normal;font-size:16px;line-height:1.7;color:#3a4653}

.lvcards--4{grid-template-columns:repeat(4,1fr)}
.lvcards--2{grid-template-columns:repeat(2,1fr)}
@media(max-width:1080px){.lvcards--4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.lvcards--2{grid-template-columns:1fr}}
@media(max-width:560px){.lvcards--4{grid-template-columns:1fr}}

.hours2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.hours2__card{background:#fff;border:1px solid var(--hairline);border-radius:20px;padding:28px 30px}
.hours2__card b{font-family:var(--display);font-weight:700;font-size:19px;color:var(--ink);display:block;margin-bottom:14px}
.hrow{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid #eef0f2;font-size:15px;color:var(--muted80)}
.hrow:last-child{border-bottom:0}
.hrow span:last-child{font-weight:600;color:var(--ink)}
@media(max-width:700px){.hours2{grid-template-columns:1fr}}

/* Footer-Logo sauber im Block */
.footer .brand img{height:60px}

/* Burger-Menü: zusätzliche Seiten-Links nur mobil */
.lvnav .mob-only{display:none}
@media(max-width:1030px){.lvnav .mob-only{display:block}}

/* Fix: Header-Weichzeichner auf Mobile aus, sonst wird das Menü-Overlay eingesperrt */
@media(max-width:1030px){.lvhead{backdrop-filter:none;-webkit-backdrop-filter:none;background:#fff}}

/* ===== Feinschliff (Screenshots 09.07.) ===== */
/* Karten: Icon + Titel nebeneinander (Titel darf 2-zeilig sein) */
.lvcard{display:grid;grid-template-columns:auto 1fr;column-gap:16px;align-items:center;padding:28px}
.lvcard__ic{margin-bottom:0;grid-column:1;grid-row:1}
.lvcard>h3{grid-column:2;grid-row:1;margin-bottom:0}
.lvcard>p{grid-column:1 / -1;margin-top:16px}
.lvcard__link{grid-column:1 / -1;margin-top:16px}
/* Breadcrumb ausblenden */
.crumbs{display:none}
/* Brand-Subline (Bruchhausen-Vilsen) etwas tiefer */
.lvbrand span{margin-top:7px}
/* Hero-Stats auf Mobil ausgeblendet -> siehe .shero__stats{display:none} im 900px-Block */

/* ===== Hero-Hintergrundvideo ===== */
.shero__media .shero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:0}
.shero__media .shero__fallback{display:none}
@media(max-width:900px){.shero__media .shero__video{display:none}.shero__media .shero__fallback{display:block}}
@media (prefers-reduced-motion:reduce){.shero__media .shero__video{display:none}.shero__media .shero__fallback{display:block}}

/* ===== Runder Video-Clip (Praxis) ===== */
.round-video{width:min(380px,82vw);aspect-ratio:1 / 1;margin:0 auto;border-radius:50%;overflow:hidden;position:relative;background:#0f1b2a;box-shadow:0 22px 55px rgba(20,40,20,.22),0 0 0 6px #fff,0 0 0 9px var(--soft)}
.round-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}

/* ===== Video-Streifen (Kino-Format 960x408) ===== */
.video-strip{max-width:1040px;margin:0 auto;aspect-ratio:960 / 408;border-radius:20px;overflow:hidden;background:var(--soft);box-shadow:0 22px 55px rgba(20,40,20,.18)}
.video-strip video{width:100%;height:100%;object-fit:cover;display:block}

/* ===== Video-Band: auf Inhaltsstreifen zugeschnitten (kein eingebranntes Schwarz) ===== */
.video-band{width:100%;max-width:1040px;margin:0 auto;aspect-ratio:960 / 128;border-radius:16px;overflow:hidden;background:#0f1b2a;box-shadow:0 18px 45px rgba(20,40,20,.16)}
.video-band video{width:100%;height:100%;object-fit:cover;object-position:center;display:block}

/* goal-Icon klein + Titel daneben */
.goal .ic{flex:0 0 auto;width:44px;height:44px;border-radius:12px;background:var(--soft);color:var(--green-ink);display:flex;align-items:center;justify-content:center}
.goal .ic svg{width:22px;height:22px}
@media(max-width:900px){.praxis-grid{grid-template-columns:1fr!important;gap:16px!important}}

/* Hero-Headline Animation "Zurück in Bewegung." */
.shero h1 .hw{display:block;opacity:0;transform:translateY(26px);animation:heroWordIn 1.25s cubic-bezier(.2,.7,.2,1) forwards}
.shero h1 .hw:nth-of-type(1){animation-delay:.25s}
.shero h1 .hw:nth-of-type(2){animation-delay:.9s}
.shero h1 .hw:nth-of-type(3){animation-delay:1.55s}
@keyframes heroWordIn{to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.shero h1 .hw{opacity:1;transform:none;animation:none}}

/* Mobile Landingpage: Hero bleibt dunkel (Navy), fuer nahtlosen Uebergang aus dem Intro */

/* Anker-Ziele: nicht unter dem Sticky-Header verschwinden */
#leistungen,#oeffnungszeiten,#kontakt,#bewertungen,#bleibfit{scroll-margin-top:90px}

/* ===== Intro: Slogan-Screen vor der Landingpage ===== */
#intro{
  position:fixed;inset:0;z-index:200;
  background:var(--dark);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  transition:transform 1.1s var(--ease);
}
#intro.leave{transform:translateY(-100%)}

#intro .logo-wrap{position:relative;width:176px;aspect-ratio:521/426;margin-bottom:20px}
#intro .logo-img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;opacity:0;
  animation:logoReveal .95s var(--ease) forwards, logoFloat 3.6s ease-in-out 2.1s infinite;
}
@keyframes logoReveal{
  0%{clip-path:inset(0 100% 0 0);opacity:0;transform:scale(.94) translateY(8px)}
  45%{opacity:1}
  100%{clip-path:inset(0 0 0 0);opacity:1;transform:scale(1) translateY(0)}
}
@keyframes logoFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
#intro .logo-shine{
  position:absolute;inset:0;
  -webkit-mask-image:url('images/logogreen.png'); mask-image:url('images/logogreen.png');
  -webkit-mask-size:contain; mask-size:contain;
  -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
  -webkit-mask-position:center; mask-position:center;
  background:linear-gradient(100deg,transparent 35%,rgba(255,255,255,.95) 50%,transparent 65%);
  background-size:300% 100%; background-position:160% 0;
  mix-blend-mode:overlay; opacity:0;
  animation:shineSweep .9s ease-out .85s 1;
}
@keyframes shineSweep{
  0%{background-position:160% 0;opacity:0}
  15%{opacity:1} 70%{opacity:1}
  100%{background-position:-60% 0;opacity:0}
}

#intro .seye{opacity:0;animation:fadeUp .8s var(--ease) 1s forwards}
#intro-h1{font-family:var(--display-slogan);font-weight:400;text-align:center;font-size:clamp(38px,7vw,84px);line-height:1.05;letter-spacing:0;color:#fff;margin-top:18px;text-transform:uppercase}
#intro-h1 .hw{display:block;opacity:0;transform:translateY(26px);animation:heroWordIn 1.25s cubic-bezier(.2,.7,.2,1) forwards}
#intro-h1 .hw:nth-of-type(1){animation-delay:1.2s}
#intro-h1 .hw:nth-of-type(2){animation-delay:1.75s}
#intro-h1 .hw:nth-of-type(3){animation-delay:2.3s}
#intro-h1 .g{color:var(--green)}
@keyframes fadeUp{to{opacity:1;transform:none}}
#intro-hint{position:absolute;bottom:36px;color:rgba(255,255,255,.45);font-size:12px;letter-spacing:.14em;text-transform:uppercase;opacity:0;animation:fadeUp .8s var(--ease) 2.9s forwards}
#intro-hint::after{content:"";display:block;width:1px;height:24px;background:rgba(255,255,255,.3);margin:10px auto 0;animation:hintPulse 1.6s ease-in-out infinite}
@keyframes hintPulse{0%,100%{opacity:.3}50%{opacity:1}}
body.intro-done #intro{display:none}
@media(prefers-reduced-motion:reduce){
  #intro{transition:none}
  #intro .seye,#intro-h1 .hw,#intro-hint,#intro .logo-img,#intro .logo-shine{animation:none!important;opacity:1!important;transform:none!important;clip-path:none!important}
}
