/* pflegedienst-aichach.de – Website-Stile
   Design & Entwicklung: Konrad Griesser · Digitalmarketing Griesser · konrad-griesser.de · seo-genie.de */
@font-face{font-family:"nunito";src:url("/assets/fonts/nunito.woff2") format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"fraunces";src:url("/assets/fonts/fraunces.woff2") format("woff2");font-weight:100 900;font-display:swap}
:root{--primaer:#1f5d4a;--akzent:#f2a37a;--hintergrund:#fbf8f3;--flaeche:#ffffff;--tinte:#1f2a26;--tinte-2:#5b6761;--linie:#e8e1d6;--auf-primaer:#ffffff;--schrift:"nunito",system-ui,sans-serif;--titel:"fraunces",system-ui,sans-serif;--radius:28px;--mesh-1:#bfe3d3;--mesh-2:#ffd9c2;--mesh-3:#ffffff;--dunkel-bg:#1f3b32;--dunkel-tinte:#fbf8f3;--dunkel-flaeche:rgba(255,255,255,.06);--titel-gewicht:600;--titel-spacing:-0.015em;--titel-transform:none}
/* Domain-Vorschauen – gemeinsame Basis (wird je Website mit eigenen Variablen kombiniert)
   Design & Entwicklung: Konrad Griesser · Digitalmarketing Griesser · konrad-griesser.de · seo-genie.de */

/* ---------- Grund ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;color-scheme:light}
html[data-modus="dunkel"]{color-scheme:dark}
body{margin:0;font-family:var(--schrift);font-size:1.0625rem;line-height:1.65;color:var(--tinte);background:var(--hintergrund);overflow-x:hidden;min-height:100vh}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}
:focus-visible{outline:3px solid var(--akzent);outline-offset:3px;border-radius:4px}
::selection{background:var(--primaer);color:var(--auf-primaer)}
.skip{position:absolute;left:-999px;top:8px;background:var(--primaer);color:var(--auf-primaer);padding:.6rem 1rem;border-radius:8px;z-index:200}
.skip:focus{left:8px}
@view-transition{navigation:auto}
::view-transition-old(root){animation:vt-aus .28s ease both}
::view-transition-new(root){animation:vt-ein .4s ease both}
@keyframes vt-aus{to{opacity:0;transform:translateY(-8px)}}
@keyframes vt-ein{from{opacity:0;transform:translateY(10px)}}

/* ---------- Typografie ---------- */
h1,h2,h3,h4{font-family:var(--titel);font-weight:var(--titel-gewicht);letter-spacing:var(--titel-spacing);line-height:1.08;margin:0 0 .6em;text-wrap:balance;text-transform:var(--titel-transform);max-width:100%}
h3,h4{hyphens:auto;-webkit-hyphens:auto;overflow-wrap:anywhere}
h1{font-size:clamp(2.5rem,6.2vw,5.4rem);line-height:1.02}
h2{font-size:clamp(1.9rem,4vw,3.3rem)}
h2.gross{font-size:clamp(2.4rem,6vw,5rem)}
h3{font-size:clamp(1.15rem,1.6vw,1.45rem);line-height:1.25;text-transform:none;letter-spacing:-.01em}
h4{font-size:1.1rem;text-transform:none;letter-spacing:0}
p{margin:0 0 1em}
.lead{font-size:clamp(1.1rem,1.5vw,1.35rem);line-height:1.55;color:var(--tinte-2);max-width:62ch}
.lead.schmal{margin-inline:auto;text-align:center}
.kicker{font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--primaer);margin:0 0 1rem;display:flex;align-items:center;gap:.6rem}
.kicker::before{content:"";width:1.6rem;height:2px;background:var(--akzent);border-radius:2px}
.s-karten .kicker,.s-schritte .kicker,.s-zahlen .kicker,.s-galerie .kicker,.s-preise .kicker,.s-faq .kicker,.s-liste .kicker,.s-orte .kicker,.s-produkte .kicker,.s-bento .kicker{justify-content:center}
.s-karten h2,.s-schritte h2,.s-zahlen h2,.s-galerie h2,.s-preise h2,.s-faq h2,.s-liste h2,.s-orte h2,.s-produkte h2,.s-bento h2{text-align:center;max-width:22ch;margin-inline:auto}
em{font-style:italic}
html[data-hervor="farbe"] h1 em,html[data-hervor="farbe"] h2 em{font-style:normal;color:var(--akzent)}
html[data-hervor="verlauf"] h1 em,html[data-hervor="verlauf"] h2 em{font-style:normal;background:linear-gradient(90deg,var(--primaer),var(--akzent));-webkit-background-clip:text;background-clip:text;color:transparent}
html[data-hervor="umriss"] h1 em,html[data-hervor="umriss"] h2 em{font-style:normal;color:transparent;-webkit-text-stroke:1.5px currentColor;-webkit-text-stroke-color:var(--tinte);paint-order:stroke fill}
html[data-hervor="umriss"] .dunkel h2 em,html[data-hervor="umriss"] .hero-voll h1 em{-webkit-text-stroke-color:#fff}
html[data-hervor="marker"] h1 em,html[data-hervor="marker"] h2 em{font-style:normal;background:linear-gradient(transparent 55%,color-mix(in oklab,var(--akzent) 55%,transparent) 55%);padding:0 .1em;border-radius:4px}
html[data-hervor="kursiv"] h1 em,html[data-hervor="kursiv"] h2 em{font-style:italic;font-weight:400;color:var(--primaer)}
.prosa p,.prosa li{color:var(--tinte-2)}
.prosa strong{color:var(--tinte)}
.prosa a{color:var(--primaer);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.prosa a:hover{color:var(--akzent)}
.prosa h3{margin-top:2em}
.prosa h4{margin-top:1.6em}
.prosa ul,.prosa ol{padding-left:1.3em}
.prosa li{margin-bottom:.4em}
.prosa.lang{font-size:1.1rem;max-width:70ch}
.prosa.lang p{margin-bottom:1.25em}
.prosa.lang h3{font-size:clamp(1.4rem,2.2vw,1.9rem);margin-top:2.2em;scroll-margin-top:110px}
.prosa.recht h2{font-size:1.4rem;margin-top:2em}
.prosa blockquote{margin:1.6em 0;padding:1.2em 1.6em;border-left:4px solid var(--akzent);background:var(--flaeche);border-radius:0 var(--radius) var(--radius) 0;font-size:1.1em}
.prosa table{width:100%;border-collapse:collapse;margin:1.5em 0;font-size:.95rem}
.prosa th,.prosa td{text-align:left;padding:.7em .8em;border-bottom:1px solid var(--linie);vertical-align:top}
.quelle{font-size:.85rem;color:var(--tinte-2);opacity:.85;text-align:center;margin-top:1.4rem}
.antwort{scroll-margin-top:120px}
.haken{list-style:none;padding:0;margin:1.5rem 0 0;display:grid;gap:.7rem}
.haken li{display:flex;gap:.7rem;align-items:flex-start;color:var(--tinte-2)}
.haken .ico{flex:0 0 1.3rem;width:1.3rem;height:1.3rem;color:var(--akzent);margin-top:.2rem}
.ico{width:1.5rem;height:1.5rem}

/* ---------- Layout ---------- */
.innen{width:min(100% - 2rem,1240px);margin-inline:auto}
.innen.schmal{max-width:840px}
.innen.zwei{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.s-bildtext .innen.zwei{grid-template-columns:.95fr 1.05fr}
.s-bildtext.links .innen.zwei{grid-template-columns:1.05fr .95fr}
.s-bildtext.links .innen.zwei figure{order:2}
.s{padding:clamp(4rem,9vw,8rem) 0;position:relative}
.s + .s{padding-top:0}
.s.dunkel{background:var(--dunkel-bg);color:var(--dunkel-tinte);padding-top:clamp(4rem,9vw,8rem);--tinte:var(--dunkel-tinte);--tinte-2:color-mix(in oklab,var(--dunkel-tinte) 72%,transparent);--flaeche:var(--dunkel-flaeche);--linie:rgba(255,255,255,.12);--hintergrund:var(--dunkel-bg)}
.s.dunkel + .s{padding-top:clamp(4rem,9vw,8rem)}
.s.dunkel + .s.dunkel{padding-top:0}
.s-cta{padding-bottom:clamp(4rem,9vw,8rem)!important}
.seitenkopf + .s{padding-top:clamp(1.5rem,3vw,3rem)}
.s-karten,.s-liste,.s-preise,.s-produkte,.s-bento,.s-schritte{background-image:radial-gradient(60% 40% at 50% 0%,color-mix(in oklab,var(--primaer) 7%,transparent),transparent 70%)}
.s.dunkel.s-karten,.s.dunkel.s-liste,.s.dunkel.s-preise,.s.dunkel.s-produkte,.s.dunkel.s-bento,.s.dunkel.s-schritte{background-image:radial-gradient(60% 40% at 50% 0%,color-mix(in oklab,var(--akzent) 10%,transparent),transparent 70%)}
@media (max-width:900px){.innen.zwei,.s-bildtext .innen.zwei,.s-bildtext.links .innen.zwei{grid-template-columns:1fr}.s-bildtext.links .innen.zwei figure{order:0}}

/* ---------- Texturen ---------- */
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:0}
html[data-textur="raster"] body::before{opacity:.5;background-image:linear-gradient(var(--linie) 1px,transparent 1px),linear-gradient(90deg,var(--linie) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(#000 40%,transparent)}
html[data-textur="punkte"] body::before{opacity:.6;background-image:radial-gradient(var(--linie) 1.2px,transparent 1.3px);background-size:26px 26px}
html[data-textur="rauschen"] body::before{opacity:.35;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .5 0 0 0 0 .5 0 0 0 .18 0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:overlay}
html[data-textur="linien"] body::before{opacity:.5;background-image:repeating-linear-gradient(135deg,transparent 0 22px,var(--linie) 22px 23px);mask-image:radial-gradient(circle at 80% 10%,#000,transparent 55%)}
.kopf,main,.fuss{position:relative;z-index:1}
.mesh{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.mesh::before,.mesh::after{content:"";position:absolute;width:60vmax;height:60vmax;border-radius:50%;filter:blur(90px);opacity:.45;animation:mesh 18s ease-in-out infinite alternate}
.mesh::before{background:var(--mesh-1);top:-25vmax;right:-15vmax}
.mesh::after{background:var(--mesh-2);bottom:-30vmax;left:-20vmax;animation-delay:-9s;opacity:.35}
@keyframes mesh{from{transform:translate(0,0) scale(1)}to{transform:translate(-8vmax,6vmax) scale(1.15)}}
html[data-modus="hell"] .mesh::before,html[data-modus="hell"] .mesh::after{opacity:.22}
.cta-box .mesh::before,.cta-box .mesh::after{opacity:.6;filter:blur(60px)}

/* ---------- Knöpfe ---------- */
.knopf{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 1.75rem;border-radius:999px;background:var(--primaer);color:var(--auf-primaer);font-weight:700;letter-spacing:.01em;line-height:1;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,background .25s;box-shadow:0 10px 30px -12px color-mix(in oklab,var(--primaer) 70%,transparent);position:relative;overflow:hidden;will-change:transform;white-space:nowrap}
.knopf::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-120%);transition:transform .6s}
.knopf:hover::after{transform:translateX(120%)}
.knopf:hover{transform:translateY(-2px);box-shadow:0 18px 40px -14px color-mix(in oklab,var(--primaer) 80%,transparent)}
.knopf.hohl{background:transparent;color:var(--tinte);box-shadow:inset 0 0 0 2px var(--linie)}
.knopf.hohl:hover{box-shadow:inset 0 0 0 2px var(--primaer)}
.knopf.klein{padding:.7rem 1.2rem;font-size:.92rem}
html[data-knopf="eckig"] .knopf{border-radius:8px}
html[data-knopf="schraeg"] .knopf{border-radius:4px;clip-path:polygon(0 0,100% 0,calc(100% - 10px) 100%,0 100%);padding-right:2.1rem}
html[data-knopf="weich"] .knopf{border-radius:16px}
.ctas{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem}
.link{color:var(--primaer);text-decoration:underline;padding:0;font-weight:600}
.karte-link{display:inline-flex;align-items:center;gap:.4rem;font-weight:700;color:var(--primaer);margin-top:1rem;transition:gap .2s}
.karte-link .ico{width:1.1rem;height:1.1rem}
a:hover .karte-link{gap:.7rem}

/* ---------- Kopfzeile ---------- */
.kopf{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .3s,box-shadow .3s,transform .3s,padding .3s;padding:1rem 0}
.kopf-innen{width:min(100% - 2rem,1240px);margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.kopf.klein{background:color-mix(in oklab,var(--hintergrund) 82%,transparent);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);box-shadow:0 1px 0 var(--linie);padding:.55rem 0}
.kopf.weg{transform:translateY(-110%)}
body.kopf-hell .kopf:not(.klein){--tinte:#fff;--tinte-2:rgba(255,255,255,.82);--flaeche:rgba(255,255,255,.12);--linie:rgba(255,255,255,.25);color:#fff}
body.kopf-hell .kopf:not(.klein) .knopf{background:#fff;color:#111;box-shadow:none}
html[data-kopf="pill"] body.kopf-hell .kopf:not(.klein) .kopf-innen{background:rgba(0,0,0,.35)}
html[data-kopf="pill"] .kopf{padding:.8rem 0}
html[data-kopf="pill"] .kopf-innen{background:color-mix(in oklab,var(--hintergrund) 75%,transparent);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border:1px solid var(--linie);border-radius:999px;padding:.5rem .6rem .5rem 1.2rem;box-shadow:0 10px 40px -20px rgba(0,0,0,.5);width:min(100% - 2rem,1180px)}
html[data-kopf="pill"] .kopf.klein{background:transparent;box-shadow:none}
html[data-kopf="linie"] .kopf{border-bottom:1px solid transparent}
html[data-kopf="linie"] .kopf.klein{border-bottom-color:var(--linie);box-shadow:none}
html[data-kopf="mitte"] .kopf-innen{display:grid;grid-template-columns:1fr auto 1fr}
html[data-kopf="mitte"] .nav{justify-self:center}
html[data-kopf="mitte"] .kopf-rechts{justify-self:end}
.logo{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--titel);font-weight:800;font-size:1.3rem;letter-spacing:-.02em;text-transform:none}
.logo-symbol{display:inline-grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:12px;background:var(--primaer);color:var(--auf-primaer);flex:none}
.logo-symbol svg{width:1.5rem;height:1.5rem}
.logo-wort b{color:var(--primaer)}
.nav ul{display:flex;gap:.2rem;list-style:none;margin:0;padding:0}
.nav a{padding:.55rem .9rem;border-radius:999px;font-weight:600;font-size:.95rem;color:var(--tinte-2);transition:background .2s,color .2s;position:relative;white-space:nowrap}
@media (max-width:1400px){.nav a{font-size:.88rem;padding:.5rem .6rem}.logo{font-size:1.15rem}.kopf-rechts .knopf.klein{padding:.6rem .9rem;font-size:.85rem}}
.nav a:hover,.nav a[aria-current]{color:var(--tinte);background:var(--flaeche)}
.nav a::after{content:"";position:absolute;left:.9rem;right:.9rem;bottom:.3rem;height:2px;background:var(--akzent);transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.nav a:hover::after{transform:scaleX(1)}
.preise.sp4{grid-template-columns:repeat(4,1fr)}
@media (max-width:1200px){.preise.sp4,.preise.sp3{grid-template-columns:repeat(2,1fr)}.preis.hervor{transform:none}}
.kopf-rechts{display:flex;align-items:center;gap:.8rem}
.burger{display:none;width:44px;height:44px;flex-direction:column;justify-content:center;gap:5px;align-items:center;border-radius:12px}
.burger span{display:block;width:22px;height:2px;background:var(--tinte);transition:transform .3s,opacity .3s;border-radius:2px}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobilnav{display:none}
@media (max-width:1180px){
  .nav{display:none}.burger{display:flex}
  .kopf-rechts .knopf{display:none}
  .mobilnav{display:block;position:fixed;inset:0;top:0;background:var(--hintergrund);padding:6rem 1.5rem 2rem;z-index:-1;opacity:0;transform:translateY(-8px);transition:opacity .3s,transform .3s;overflow:auto}
  .mobilnav[hidden]{display:none}
  .mobilnav.offen{opacity:1;transform:none}
  .mobilnav ul{list-style:none;padding:0;margin:0 0 2rem;display:grid;gap:.4rem}
  .mobilnav a:not(.knopf){display:block;font-family:var(--titel);font-size:clamp(1.8rem,7vw,2.6rem);font-weight:700;padding:.5rem 0;border-bottom:1px solid var(--linie)}
  html[data-kopf="pill"] .kopf-innen{border-radius:28px}
}
@media (max-width:640px){
  h1{font-size:clamp(2rem,9.5vw,3.2rem)}
  .logo{font-size:min(.95rem,3.4vw)!important;gap:.45rem;min-width:0;line-height:1.05}
  .logo-wort{overflow-wrap:normal;white-space:nowrap}
  html[data-kopf="mitte"] .kopf-innen{display:flex}
  .logo-symbol{width:2rem;height:2rem;flex:none}
  .logo-symbol svg{width:1.2rem;height:1.2rem}
  html[data-kopf="pill"] .kopf-innen{padding:.4rem .4rem .4rem .8rem}
  .hero-stats{gap:1rem 1.6rem}
  .hero-stats b{font-size:1.6rem}
}

/* ---------- Hero ---------- */
.hero{position:relative;padding:clamp(7rem,16vh,10rem) 0 clamp(3rem,6vw,5rem);overflow:hidden;min-height:min(92vh,980px);display:flex;align-items:center}
.hero-innen{width:min(100% - 2rem,1240px);margin-inline:auto;position:relative;z-index:1}
.hero-text .lead{margin-top:1.2rem}
.hero-stats{list-style:none;padding:0;margin:2.4rem 0 0;display:flex;flex-wrap:wrap;gap:1.6rem 2.6rem}
.hero-stats b{display:block;font-family:var(--titel);font-size:clamp(1.8rem,3vw,2.6rem);line-height:1;color:var(--primaer);letter-spacing:-.03em}
.hero-stats span{font-size:.9rem;color:var(--tinte-2)}
.hero-split .hero-innen{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.hero-bild{position:relative}
.hero-rahmen{border-radius:calc(var(--radius) * 1.4);overflow:hidden;box-shadow:0 40px 80px -30px rgba(0,0,0,.5);aspect-ratio:4/5;background:var(--flaeche);transform:rotate(var(--hero-drehung,0deg))}
.hero-rahmen img{width:100%;height:100%;object-fit:cover;scale:1.08}
.hero-bild::before{content:"";position:absolute;inset:8% -6% -8% 6%;border-radius:calc(var(--radius) * 1.4);border:1px solid color-mix(in oklab,var(--akzent) 55%,transparent);transform:rotate(calc(var(--hero-drehung,0deg) + 2deg));pointer-events:none;z-index:0}
.hero-bild::after{content:"";position:absolute;width:55%;aspect-ratio:1;border-radius:50%;background:var(--akzent);filter:blur(70px);opacity:.35;left:-12%;bottom:-10%;z-index:-1;pointer-events:none}
.hero-rahmen{position:relative;z-index:1}
.hero-stats li{padding-left:.9rem;border-left:2px solid color-mix(in oklab,var(--akzent) 60%,transparent)}
.hero-karten{position:absolute;inset:0;pointer-events:none}
.hero-karte{position:absolute;pointer-events:auto;background:color-mix(in oklab,var(--hintergrund) 85%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--linie);border-radius:18px;padding:.9rem 1.1rem;box-shadow:0 20px 50px -20px rgba(0,0,0,.5);display:grid;grid-template-columns:auto 1fr;gap:.2rem .8rem;align-items:center;min-width:200px;animation:schweben 7s ease-in-out infinite}
.hero-karte .ico{grid-row:span 2;width:2rem;height:2rem;color:var(--akzent)}
.hero-karte b{font-size:1rem;line-height:1.2}
.hero-karte span{font-size:.82rem;color:var(--tinte-2)}
.hero-karte.k1{top:8%;left:-10%}
.hero-karte.k2{bottom:12%;right:-8%;animation-delay:-3s}
.hero-karte.k3{top:48%;right:-14%;animation-delay:-5s}
@media (max-width:1280px){.hero-karte.k1{left:-4%}.hero-karte.k2{right:-2%}.hero-karte.k3{right:-4%}.hero-karte{min-width:170px;padding:.7rem .9rem}}
@media (max-width:1180px){.kopf-innen{gap:1rem}}
@keyframes schweben{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.hero-voll{min-height:100vh;align-items:flex-end;padding-bottom:clamp(4rem,10vh,8rem);color:#fff}
.hero-voll .hero-bild{position:absolute;inset:0}
.hero-voll .hero-bild img{width:100%;height:115%;object-fit:cover;position:absolute;top:-7%}
.hero-schleier{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.1) 40%,rgba(0,0,0,.78));}
.hero-voll .hero-text{max-width:860px}
.hero-voll .lead,.hero-voll .hero-stats span{color:rgba(255,255,255,.82)}
.hero-voll .hero-stats b{color:#fff}
.hero-voll .kicker{color:var(--akzent)}
.hero-voll .knopf.hohl{color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.5)}
.hero-voll .hero-karten{position:absolute;right:max(1rem,calc((100% - 1240px)/2));bottom:clamp(4rem,10vh,8rem);inset-inline-start:auto;top:auto;display:grid;gap:.8rem;width:min(300px,40vw)}
.hero-voll .hero-karte{position:static;animation:none;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);color:#fff}
.hero-voll .hero-karte span{color:rgba(255,255,255,.75)}
.scroll-hinweis{position:absolute;left:50%;bottom:1.4rem;transform:translateX(-50%);width:28px;height:46px;border:2px solid rgba(255,255,255,.6);border-radius:16px;z-index:2}
.scroll-hinweis span{position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:#fff;animation:scrollen 1.8s infinite}
@keyframes scrollen{0%{transform:translateY(0);opacity:1}100%{transform:translateY(18px);opacity:0}}
.hero-typo{text-align:center;padding-bottom:0;min-height:0;flex-direction:column}
.hero-typo .hero-innen{width:min(100% - 2rem,1240px)}
.hero-typo .hero-text{max-width:1100px;margin-inline:auto;display:flex;flex-direction:column;align-items:center}
.hero-typo h1{font-size:clamp(2.6rem,7vw,6.8rem);letter-spacing:-.04em;line-height:.95;width:100%}
.hero-typo .lead{text-align:center;margin-inline:auto}
.hero-typo .kicker{justify-content:center}
.hero-typo .ctas{justify-content:center}
.hero-typo .hero-stats{justify-content:center}
.hero-streifen{position:relative;margin:clamp(2.5rem,6vw,5rem) auto 0;width:min(100% - 2rem,1240px);border-radius:calc(var(--radius) * 1.4) calc(var(--radius) * 1.4) 0 0;overflow:hidden;aspect-ratio:21/9;box-shadow:0 -20px 80px -30px rgba(0,0,0,.4)}
.hero-streifen img{width:100%;height:120%;object-fit:cover}
.hero-streifen .hero-karten{inset:auto 1.5rem 1.5rem auto;display:flex;gap:.8rem}
.hero-streifen .hero-karte{position:static}
.hero-bento,.hero-split{flex-direction:column}
.hero-bento .hero-innen{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,4vw,4rem);align-items:center}
.hero-bento h1{font-size:clamp(2.4rem,4.8vw,4.6rem)}
.hero-bento-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:minmax(140px,1fr);gap:.9rem;aspect-ratio:1;position:relative}
.hero-bento-grid figure{margin:0;border-radius:var(--radius);overflow:hidden;position:relative;background:var(--flaeche)}
.hero-bento-grid figure img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.hero-bento-grid .b1{grid-row:span 2}
.hero-bento-grid .b4{grid-column:span 2}
.hero-bento-grid figcaption{position:absolute;left:.8rem;bottom:.8rem;background:rgba(0,0,0,.55);color:#fff;font-size:.8rem;padding:.3rem .7rem;border-radius:999px;backdrop-filter:blur(8px)}
.hero-bento .hero-karten{position:absolute;inset:auto auto -1.5rem -1.5rem}
.hero-bento .hero-karte{position:static}
@media (max-width:900px){
  .hero{min-height:0;padding-top:6.5rem}
  .hero-split .hero-innen,.hero-bento .hero-innen{grid-template-columns:1fr}
  .hero-rahmen{aspect-ratio:4/3;transform:none}
  .hero-karte{position:static;min-width:0;animation:none}
  .hero-karten{position:static;display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:.8rem}
  .hero-voll .hero-karten{display:none}
  .hero-streifen{aspect-ratio:16/10}
  .hero-streifen .hero-karten{display:none}
  .hero-bento-grid{aspect-ratio:auto;grid-auto-rows:150px}
  .hero-bento .hero-karten{display:none}
}

/* ---------- Seitenkopf / Brotkrumen ---------- */
.seitenkopf{position:relative;padding:clamp(8rem,18vh,11rem) 0 clamp(2.5rem,5vw,4rem);overflow:hidden}
.seitenkopf .innen{position:relative;z-index:1;max-width:980px}
.seitenkopf h1{font-size:clamp(2.2rem,5vw,4.2rem)}
.seitenkopf-bild{margin:2.5rem 0 0;border-radius:var(--radius);overflow:hidden;aspect-ratio:21/9;box-shadow:0 30px 60px -30px rgba(0,0,0,.4)}
.seitenkopf-bild img{width:100%;height:120%;object-fit:cover}
.seitenkopf.mit-bild .innen{max-width:1240px}
.seitenkopf.mit-bild h1{max-width:18ch}
.artikel-meta{font-size:.9rem;color:var(--tinte-2)}
.brot{font-size:.85rem;margin-bottom:1.5rem}
.brot ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.4rem;color:var(--tinte-2)}
.brot li+li::before{content:"/";margin-right:.4rem;opacity:.5}
.brot a:hover{color:var(--primaer)}

/* ---------- Karten ---------- */
.karten{display:grid;gap:1.2rem;margin-top:2.5rem}
.karten.sp2{grid-template-columns:repeat(2,1fr)}
.karten.sp3{grid-template-columns:repeat(3,1fr)}
.karten.sp4{grid-template-columns:repeat(4,1fr)}
.karte{display:flex;flex-direction:column;background:var(--flaeche);border-radius:var(--radius);overflow:hidden;border:1px solid var(--linie);transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s,border-color .3s;position:relative;transform-style:preserve-3d}
.karte:hover{border-color:color-mix(in oklab,var(--primaer) 50%,var(--linie));box-shadow:0 30px 60px -30px rgba(0,0,0,.45),inset 0 1px 0 color-mix(in oklab,var(--akzent) 40%,transparent)}
.karte::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--primaer),var(--akzent));transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.karte:hover::after{transform:scaleX(1)}
.karte:hover .karte-ico{transform:translateY(-3px) rotate(-6deg);background:var(--primaer);color:var(--auf-primaer)}
.karte-ico{transition:transform .3s,background .3s,color .3s}
.karte-innen{padding:1.6rem;display:flex;flex-direction:column;flex:1}
.karte-bild{aspect-ratio:3/2;overflow:hidden}
.karte-bild img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.karte:hover .karte-bild img{transform:scale(1.06)}
.karte-ico{display:inline-grid;place-items:center;width:3rem;height:3rem;border-radius:14px;background:color-mix(in oklab,var(--primaer) 14%,transparent);color:var(--primaer);margin-bottom:1.1rem}
.karte-ico .ico{width:1.5rem;height:1.5rem}
.karte-nr{font-family:var(--titel);font-size:3rem;line-height:1;color:color-mix(in oklab,var(--primaer) 30%,transparent);margin-bottom:.5rem;font-weight:800}
.karte h3{margin-bottom:.5rem}
.karte .prosa p:last-child{margin-bottom:0}
html[data-karten="glas"] .karte{background:color-mix(in oklab,var(--flaeche) 70%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
html[data-karten="flach"] .karte{border:0;background:var(--flaeche)}
html[data-karten="rahmen"] .karte{background:transparent;border:2px solid var(--linie)}
html[data-karten="rahmen"] .karte:hover{border-color:var(--primaer)}
html[data-karten="schatten"] .karte{border:0;box-shadow:0 20px 50px -25px rgba(0,0,0,.25);background:var(--hintergrund)}
html[data-karten="linie"] .karte{border:0;border-top:3px solid var(--primaer);border-radius:0 0 var(--radius) var(--radius)}
html[data-karten="akzent"] .karte::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(var(--primaer),var(--akzent))}
@media (max-width:900px){.karten.sp3,.karten.sp4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.karten.sp2,.karten.sp3,.karten.sp4{grid-template-columns:1fr}}

/* ---------- Bento ---------- */
.bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(200px,auto);gap:1rem;margin-top:2.5rem}
.bento-kachel{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--flaeche);border:1px solid var(--linie);padding:1.6rem;display:flex;flex-direction:column;justify-content:flex-end;min-height:220px;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s}
.bento-kachel.gross{grid-column:span 2;grid-row:span 2}
.bento-kachel.mit-bild{color:#fff;padding:0}
.bento-kachel.mit-bild img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s}
.bento-kachel.mit-bild:hover img{transform:scale(1.05)}
.bento-kachel.mit-bild .bento-text{position:relative;padding:1.6rem;background:linear-gradient(transparent,rgba(0,0,0,.8));margin-top:auto}
.bento-kachel.mit-bild p{color:rgba(255,255,255,.85)}
.bento-kachel.akzent{background:var(--primaer);color:var(--auf-primaer);border:0}
.bento-kachel.akzent p,.bento-kachel.akzent .ico{color:inherit;opacity:.9}
.bento-text .ico{width:2rem;height:2rem;color:var(--akzent);margin-bottom:.8rem}
.bento-kachel h3{margin-bottom:.3rem}
.bento-kachel p{margin:0;font-size:.95rem;color:var(--tinte-2)}
.bento-zahl{display:block;font-family:var(--titel);font-size:clamp(2.6rem,5vw,4.2rem);line-height:1;letter-spacing:-.03em;margin-bottom:.4rem}
.bento-kachel:hover{box-shadow:0 30px 60px -30px rgba(0,0,0,.45)}
@media (max-width:900px){.bento{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.bento{grid-template-columns:1fr}.bento-kachel.gross{grid-column:span 1;grid-row:span 1}}

/* ---------- Schritte ---------- */
.schritte{list-style:none;padding:0;margin:2.5rem 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:1.5rem;counter-reset:s;position:relative}
.schritte li{position:relative;padding:1.8rem 1.6rem 1.6rem;background:var(--flaeche);border-radius:var(--radius);border:1px solid var(--linie)}
.schritt-nr{font-family:var(--titel);font-size:2.4rem;font-weight:800;line-height:1;color:var(--primaer);display:block;margin-bottom:1rem;letter-spacing:-.03em}
.schritte li::after{content:"";position:absolute;top:2.4rem;right:-1.5rem;width:1.5rem;height:2px;background:var(--linie)}
.schritte li:last-child::after{display:none}
.schritte h3{margin-bottom:.4rem}
.schritte .prosa p:last-child{margin-bottom:0}
.schritte .prosa p{font-size:.98rem}
@media (max-width:900px){.schritte li::after{display:none}}

/* ---------- Zahlen ---------- */
.zahlen{list-style:none;padding:0;margin:2.5rem 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;text-align:center}
.zahlen li{padding:2rem 1rem;border-radius:var(--radius);background:var(--flaeche);border:1px solid var(--linie)}
.zahlen b{display:block;font-family:var(--titel);font-size:clamp(2.2rem,3.6vw,3.4rem);white-space:nowrap;line-height:1;letter-spacing:-.03em;color:var(--primaer);margin-bottom:.5rem}
.zahlen span{font-weight:600}
.zahlen small{display:block;font-size:.85rem;color:var(--tinte-2);margin-top:.3rem}

/* ---------- Bilder / Galerie ---------- */
.bild-rahmen{margin:0;border-radius:var(--radius);overflow:hidden;position:relative;box-shadow:0 30px 70px -35px rgba(0,0,0,.5);background:var(--flaeche)}
.bild-rahmen img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.bild-rahmen:hover img{transform:scale(1.04)}
.bild-rahmen figcaption{position:absolute;left:1rem;bottom:1rem;background:rgba(0,0,0,.6);color:#fff;font-size:.82rem;padding:.4rem .8rem;border-radius:999px;backdrop-filter:blur(8px)}
.bild-rahmen.klebt{position:sticky;top:110px;align-self:start}
.galerie{width:min(100% - 2rem,1240px);margin:2.5rem auto 0;display:grid;gap:1rem}
.galerie.raster{grid-template-columns:repeat(3,1fr)}
.galerie.raster figure:first-child{grid-column:span 2;grid-row:span 2}
.galerie.streifen{grid-template-columns:repeat(4,1fr)}
.galerie.masonry{grid-template-columns:repeat(3,1fr);grid-auto-flow:dense}
.galerie.masonry figure:nth-child(3n+1){grid-row:span 2}
.galerie figure{margin:0;border-radius:var(--radius);overflow:hidden;position:relative;background:var(--flaeche);min-height:220px}
.galerie figure img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .7s}
.galerie figure:hover img{transform:scale(1.06)}
.galerie figcaption{position:absolute;left:0;right:0;bottom:0;padding:2.5rem 1rem .9rem;background:linear-gradient(transparent,rgba(0,0,0,.75));color:#fff;font-size:.9rem;font-weight:600}
@media (max-width:760px){.galerie.raster,.galerie.masonry{grid-template-columns:repeat(2,1fr)}.galerie.streifen{grid-template-columns:repeat(2,1fr)}.galerie figure{min-height:160px}}

/* ---------- Marquee ---------- */
.marquee{overflow:hidden;padding:1.2rem 0;border-top:1px solid var(--linie);border-bottom:1px solid var(--linie);background:var(--flaeche);position:relative;z-index:1}
.marquee-spur{display:flex;gap:3rem;width:max-content;animation:marquee 40s linear infinite;font-family:var(--titel);font-weight:700;font-size:1.1rem;text-transform:uppercase;letter-spacing:.08em;color:var(--tinte-2)}
.marquee-spur span::before{content:"✦";color:var(--akzent);margin-right:3rem}
.marquee-spur span:nth-child(even){color:transparent;-webkit-text-stroke:1px var(--tinte-2)}
.marquee-spur span:nth-child(even)::before{color:var(--akzent);-webkit-text-stroke:0}
.marquee:hover .marquee-spur{animation-play-state:paused}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ---------- FAQ ---------- */
.faq{margin-top:2.5rem;display:grid;gap:.7rem}
.faq details{background:var(--flaeche);border:1px solid var(--linie);border-radius:calc(var(--radius) * .7);overflow:hidden;transition:border-color .3s}
.faq details[open]{border-color:color-mix(in oklab,var(--primaer) 50%,var(--linie))}
.faq summary{list-style:none;cursor:pointer;padding:1.2rem 1.4rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;font-weight:700;font-size:1.05rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{flex:none;width:2rem;height:2rem;border-radius:50%;background:color-mix(in oklab,var(--primaer) 14%,transparent);position:relative;transition:transform .3s,background .3s}
.faq summary i::before,.faq summary i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;background:var(--primaer);transform:translate(-50%,-50%)}
.faq summary i::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq details[open] summary i{transform:rotate(45deg);background:var(--primaer)}
.faq details[open] summary i::before,.faq details[open] summary i::after{background:var(--auf-primaer)}
.faq-antwort{padding:0 1.4rem 1.4rem;max-width:70ch}
.faq-antwort p:last-child{margin-bottom:0}

/* ---------- CTA ---------- */
.cta-box{position:relative;overflow:hidden;border-radius:calc(var(--radius) * 1.5);background:var(--dunkel-bg);color:var(--dunkel-tinte);padding:clamp(3rem,7vw,6rem) clamp(1.5rem,6vw,5rem);text-align:center;--tinte:var(--dunkel-tinte);--tinte-2:color-mix(in oklab,var(--dunkel-tinte) 75%,transparent);--linie:rgba(255,255,255,.2)}
.cta-text{position:relative;z-index:1;max-width:760px;margin-inline:auto}
.cta-text h2{font-size:clamp(2rem,4.5vw,3.6rem)}
.cta-text .lead{margin-inline:auto;color:var(--tinte-2)}
.cta-text .ctas{justify-content:center}
.cta-text .kicker{justify-content:center;color:var(--akzent)}
.cta-text .knopf.hohl{color:#fff}

/* ---------- Tabelle ---------- */
.tabelle-rahmen{margin-top:2rem;overflow:auto;border-radius:var(--radius);border:1px solid var(--linie);background:var(--flaeche)}
.tabelle-rahmen table{width:100%;border-collapse:collapse;font-size:.95rem;min-width:560px}
.tabelle-rahmen th,.tabelle-rahmen td{padding:.9rem 1.1rem;text-align:left;border-bottom:1px solid var(--linie);vertical-align:top}
.tabelle-rahmen thead th{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--tinte-2);background:color-mix(in oklab,var(--primaer) 8%,transparent)}
.tabelle-rahmen tbody th{font-weight:700;white-space:nowrap}
.tabelle-rahmen tr:last-child td,.tabelle-rahmen tr:last-child th{border-bottom:0}
.tabelle-rahmen tbody tr:hover{background:color-mix(in oklab,var(--primaer) 6%,transparent)}

/* ---------- Liste / Artikel-Teaser ---------- */
.liste{list-style:none;padding:0;margin:2.5rem 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.2rem}
.liste-eintrag{display:flex;flex-direction:column;height:100%;background:var(--flaeche);border:1px solid var(--linie);border-radius:var(--radius);overflow:hidden;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s}
a.liste-eintrag:hover{transform:translateY(-4px);box-shadow:0 30px 60px -30px rgba(0,0,0,.4)}
.liste-bild{aspect-ratio:16/9;overflow:hidden}
.liste-bild img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
a.liste-eintrag:hover .liste-bild img{transform:scale(1.05)}
.liste-text{padding:1.4rem;display:flex;flex-direction:column;flex:1}
.liste-kicker{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--primaer);margin-bottom:.5rem}
.liste-text h3{margin-bottom:.4rem}
.liste-text p{color:var(--tinte-2);font-size:.97rem;margin-bottom:0;flex:1}

/* ---------- Orte ---------- */
.orte{list-style:none;padding:0;margin:2.5rem 0 0;display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center}
.ort{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1.1rem;border-radius:999px;background:var(--flaeche);border:1px solid var(--linie);font-weight:600;transition:background .2s,color .2s,transform .2s}
.ort .ico{width:1.1rem;height:1.1rem;color:var(--akzent)}
.ort small{color:var(--tinte-2);font-weight:400}
a.ort:hover{background:var(--primaer);color:var(--auf-primaer);transform:translateY(-2px)}
a.ort:hover .ico,a.ort:hover small{color:inherit}

/* ---------- Preise ---------- */
.preise{display:grid;gap:1.2rem;margin-top:2.5rem;align-items:stretch}
.preise.sp2{grid-template-columns:repeat(2,1fr);max-width:900px;margin-inline:auto}
.preise.sp3{grid-template-columns:repeat(3,1fr)}
.preise.sp4{grid-template-columns:repeat(4,1fr)}
.preis{position:relative;background:var(--flaeche);border:1px solid var(--linie);border-radius:var(--radius);padding:2rem 1.6rem;display:flex;flex-direction:column}
.preis.hervor{border-color:var(--primaer);box-shadow:0 30px 60px -30px color-mix(in oklab,var(--primaer) 60%,transparent);transform:scale(1.02)}
.preis-badge{position:absolute;top:-.8rem;left:1.6rem;background:var(--akzent);color:#111;font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:.35rem .8rem;border-radius:999px}
.preis-betrag{font-family:var(--titel);font-size:clamp(2rem,3.5vw,2.8rem);font-weight:800;letter-spacing:-.03em;line-height:1;margin:.6rem 0;color:var(--primaer)}
.preis-text{color:var(--tinte-2);font-size:.95rem}
.preis .haken{margin:1rem 0 1.6rem;flex:1}
.preis .knopf{align-self:flex-start}
@media (max-width:900px){.preise.sp3,.preise.sp4{grid-template-columns:1fr}.preis.hervor{transform:none}}
@media (max-width:600px){.preise.sp2{grid-template-columns:1fr}}

/* ---------- Produkte ---------- */
.produkte{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.2rem;margin-top:2.5rem}
.produkt{background:var(--flaeche);border:1px solid var(--linie);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s}
.produkt:hover{box-shadow:0 30px 60px -30px rgba(0,0,0,.4)}
.produkt-bild{aspect-ratio:1;overflow:hidden;position:relative}
.produkt-bild img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.produkt:hover .produkt-bild img{transform:scale(1.06)}
.produkt-badge{position:absolute;top:.8rem;left:.8rem;background:var(--akzent);color:#111;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:.3rem .7rem;border-radius:999px}
.produkt-text{padding:1.2rem;display:flex;flex-direction:column;flex:1}
.produkt-kat{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--tinte-2);font-weight:700}
.produkt-text h3{font-size:1.1rem;margin:.3rem 0}
.produkt-text p{font-size:.92rem;color:var(--tinte-2);flex:1}
.produkt-fuss{display:flex;justify-content:space-between;align-items:center;gap:.6rem;margin-top:.6rem}
.produkt-fuss b{font-family:var(--titel);font-size:1.2rem}

/* ---------- Zitat / Zeitstrahl ---------- */
.zitat{margin:0;text-align:center;font-family:var(--titel);font-size:clamp(1.5rem,3vw,2.4rem);font-weight:500;line-height:1.3;letter-spacing:-.02em;text-transform:none}
.zitat p{margin-bottom:1rem}
.zitat p::before{content:"„";color:var(--akzent)}
.zitat p::after{content:"“";color:var(--akzent)}
.zitat footer{font-family:var(--schrift);font-size:1rem;color:var(--tinte-2);font-weight:400}
.zeitstrahl{list-style:none;padding:0;margin:2.5rem 0 0;position:relative;display:grid;gap:1.6rem}
.zeitstrahl::before{content:"";position:absolute;left:7.2rem;top:0;bottom:0;width:2px;background:linear-gradient(var(--primaer),var(--akzent),transparent)}
.zeitstrahl li{display:grid;grid-template-columns:6rem 1fr;gap:2.2rem;position:relative}
.zeitstrahl li::before{content:"";position:absolute;left:6.75rem;top:.45rem;width:.9rem;height:.9rem;border-radius:50%;background:var(--akzent);box-shadow:0 0 0 5px color-mix(in oklab,var(--akzent) 25%,transparent)}
.zeit{font-family:var(--titel);font-weight:800;color:var(--primaer);text-align:right;font-size:1rem;white-space:nowrap;letter-spacing:0}
.zeitstrahl h3{margin-bottom:.3rem}
.zeitstrahl .prosa p:last-child{margin-bottom:0}
@media (max-width:600px){.zeitstrahl::before{left:.4rem}.zeitstrahl li{grid-template-columns:1fr;gap:.3rem;padding-left:1.8rem}.zeitstrahl li::before{left:0}.zeit{text-align:left}}

/* ---------- Kontakt / Formular ---------- */
.kontakt-liste{list-style:none;padding:0;margin:1.5rem 0 0;display:grid;gap:.8rem}
.kontakt-liste li{display:flex;gap:.8rem;align-items:center;font-weight:600}
.kontakt-liste .ico{color:var(--akzent);flex:none}
.formular{background:var(--flaeche);border:1px solid var(--linie);border-radius:var(--radius);padding:clamp(1.4rem,3vw,2.2rem);display:grid;gap:1rem}
.form-hinweis{font-size:.88rem;color:var(--tinte-2);background:color-mix(in oklab,var(--akzent) 14%,transparent);padding:.8rem 1rem;border-radius:12px;margin:0}
.formular label{display:grid;gap:.35rem;font-size:.9rem;font-weight:600}
.formular input,.formular textarea,.formular select{font:inherit;padding:.85rem 1rem;border-radius:12px;border:1px solid var(--linie);background:var(--hintergrund);color:var(--tinte);width:100%;transition:border-color .2s,box-shadow .2s}
.formular input:focus,.formular textarea:focus,.formular select:focus{outline:0;border-color:var(--primaer);box-shadow:0 0 0 4px color-mix(in oklab,var(--primaer) 18%,transparent)}
.formular .knopf{justify-self:start}

/* ---------- Fußzeile ---------- */
.fuss::before{content:attr(data-wort);position:absolute;left:50%;bottom:-.12em;transform:translateX(-50%);font-family:var(--titel);font-weight:800;font-size:clamp(4rem,14vw,13rem);letter-spacing:-.05em;line-height:1;white-space:nowrap;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.08);pointer-events:none;user-select:none}
.fuss{overflow:hidden;background:var(--dunkel-bg);color:var(--dunkel-tinte);padding:clamp(3rem,6vw,5rem) 0 1.5rem;margin-top:0;--tinte:var(--dunkel-tinte);--tinte-2:color-mix(in oklab,var(--dunkel-tinte) 65%,transparent);--linie:rgba(255,255,255,.12);--flaeche:rgba(255,255,255,.06)}
.fuss-innen{width:min(100% - 2rem,1240px);margin-inline:auto;display:grid;grid-template-columns:1.4fr 1fr 1.2fr 1fr;gap:2.5rem}
.fuss h3{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--tinte-2);margin-bottom:1rem}
.fuss ul{list-style:none;padding:0;margin:0;display:grid;gap:.4rem}
.fuss a:hover{color:var(--akzent)}
.fuss-marke p{color:var(--tinte-2);max-width:34ch;margin-top:1rem}
.fuss-ort{font-size:.9rem}
.fuss-orte{color:var(--tinte-2);font-size:.92rem;line-height:1.9}
.fuss-unten{width:min(100% - 2rem,1240px);margin:3rem auto 0;padding-top:1.5rem;border-top:1px solid var(--linie);display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem;font-size:.82rem;color:var(--tinte-2)}
.fuss-unten p{margin:0}
.fuss-unten a{text-decoration:underline;text-underline-offset:3px}
@media (max-width:900px){.fuss-innen{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.fuss-innen{grid-template-columns:1fr}}

/* ---------- Verkauf-Dialog ---------- */
.verkauf-badge{position:fixed;left:1rem;bottom:1rem;z-index:60;display:inline-flex;align-items:center;gap:.6rem;padding:.7rem 1.1rem;border-radius:999px;background:var(--dunkel-bg);color:#fff;font-size:.85rem;font-weight:700;box-shadow:0 20px 40px -15px rgba(0,0,0,.6);border:1px solid rgba(255,255,255,.15);transition:transform .25s}
.verkauf-badge:hover{transform:translateY(-2px)}
.verkauf-badge .punkt{width:.6rem;height:.6rem;border-radius:50%;background:var(--akzent);box-shadow:0 0 0 0 var(--akzent);animation:puls 2s infinite}
@keyframes puls{0%{box-shadow:0 0 0 0 color-mix(in oklab,var(--akzent) 70%,transparent)}100%{box-shadow:0 0 0 12px transparent}}
.verkauf{border:0;padding:0;background:transparent;max-width:min(92vw,640px);width:100%;color:var(--tinte);margin:auto}
.verkauf::backdrop{background:rgba(5,8,16,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.verkauf[open]{animation:dialog-ein .4s cubic-bezier(.2,.8,.2,1)}
@keyframes dialog-ein{from{opacity:0;transform:translateY(16px) scale(.98)}}
.verkauf-innen{position:relative;background:var(--hintergrund);border:1px solid var(--linie);border-radius:28px;padding:clamp(1.6rem,4vw,2.6rem);box-shadow:0 40px 100px -30px rgba(0,0,0,.7);overflow:hidden}
.verkauf-innen::before{content:"";position:absolute;inset:-40% -20% auto auto;width:60%;aspect-ratio:1;border-radius:50%;background:var(--akzent);filter:blur(80px);opacity:.3;pointer-events:none}
.verkauf-zu{position:absolute;top:.9rem;right:.9rem;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--flaeche);font-size:1.4rem;line-height:1;display:grid;place-items:center}
.verkauf-kicker{font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:var(--primaer);margin-bottom:.6rem}
.verkauf h2{font-size:clamp(1.6rem,3.5vw,2.3rem);margin-bottom:.8rem}
.verkauf p{color:var(--tinte-2)}
.verkauf-liste{list-style:none;padding:0;margin:1rem 0;display:grid;gap:.4rem;grid-template-columns:1fr 1fr;font-size:.92rem}
.verkauf-liste li{display:flex;gap:.5rem;align-items:flex-start}
.verkauf-liste li::before{content:"✓";color:var(--akzent);font-weight:800}
.verkauf-preis{font-family:var(--titel);font-size:1.4rem;font-weight:800;color:var(--tinte);margin:.4rem 0 1rem}
.verkauf-knoepfe{display:flex;flex-wrap:wrap;gap:.7rem}
.verkauf-kontakt{font-size:.85rem;margin:1.4rem 0 0;line-height:1.7}
.verkauf-kontakt a{text-decoration:underline;text-underline-offset:3px}
@media (max-width:560px){.verkauf-liste{grid-template-columns:1fr}.verkauf-badge{font-size:.78rem;padding:.6rem .9rem}}

/* ---------- Effekte ---------- */
.fortschritt{position:fixed;top:0;left:0;height:3px;width:100%;transform-origin:left;transform:scaleX(0);background:linear-gradient(90deg,var(--primaer),var(--akzent));z-index:70}
.cursor{position:fixed;left:0;top:0;width:360px;height:360px;margin:-180px 0 0 -180px;border-radius:50%;background:radial-gradient(circle,color-mix(in oklab,var(--akzent) 22%,transparent),transparent 60%);pointer-events:none;z-index:0;opacity:0;transition:opacity .4s;mix-blend-mode:screen}
html[data-modus="hell"] .cursor{mix-blend-mode:multiply;background:radial-gradient(circle,color-mix(in oklab,var(--primaer) 12%,transparent),transparent 60%)}
body.hat-maus .cursor{opacity:1}
[data-auf]{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--i,0) * 70ms)}
[data-auf].sichtbar{opacity:1;transform:none}
[data-split] .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-right:.08em;margin-right:-.08em;padding-bottom:.05em;margin-bottom:-.05em}
[data-split] .w{max-width:100%}
[data-split] .w>span{display:inline-block;max-width:100%;overflow-wrap:anywhere;transform:translateY(110%);transition:transform .9s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--n) * 45ms)}
[data-split].sichtbar .w>span{transform:none}
[data-tilt]{transform:perspective(900px) rotateX(var(--rx,0)) rotateY(var(--ry,0)) translateZ(0);transition:transform .35s ease,box-shadow .35s,border-color .35s}
[data-tilt].aktiv{transition:transform .08s linear}
[data-magnet]{transition:transform .25s cubic-bezier(.2,.8,.2,1)}
@supports (animation-timeline:view()){
  .hero-rahmen img,.bild-rahmen.gross img{animation:bild-fahrt linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
  @keyframes bild-fahrt{from{transform:translateY(-6%) scale(1.1)}to{transform:translateY(6%) scale(1.1)}}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  [data-auf]{opacity:1;transform:none}
  [data-split] .w>span{transform:none}
}
@media (hover:none){.cursor{display:none}}
@media print{.kopf,.verkauf-badge,.cursor,.fortschritt,.fuss,.mobilnav{display:none}[data-auf]{opacity:1;transform:none}}

/* Layout-Familie „organisch“ – weiche Formen: Blob-Maske, morphende Hintergründe, Wellenkanten, runde Karten
   Design & Entwicklung: Konrad Griesser · Digitalmarketing Griesser · konrad-griesser.de · seo-genie.de */
html[data-layout="organisch"] .kopf{padding:1.1rem 0}
html[data-layout="organisch"] .kopf.klein{background:color-mix(in oklab,var(--hintergrund) 88%,transparent);box-shadow:0 10px 40px -30px rgba(0,0,0,.3)}
html[data-layout="organisch"] .nav a{border-radius:999px;font-weight:600}
html[data-layout="organisch"] .nav a::after{display:none}
html[data-layout="organisch"] .nav a:hover,html[data-layout="organisch"] .nav a[aria-current]{background:color-mix(in oklab,var(--primaer) 14%,transparent);color:var(--primaer)}
html[data-layout="organisch"] .logo-symbol{border-radius:46% 54% 52% 48% / 55% 45% 55% 45%}
html[data-layout="organisch"] .knopf{border-radius:999px;box-shadow:0 14px 30px -14px color-mix(in oklab,var(--primaer) 60%,transparent)}
html[data-layout="organisch"] .fortschritt{display:none}
html[data-layout="organisch"] .cursor{display:none}
/* Hero: Blob-Maske und schwebende Formen */
html[data-layout="organisch"] .hero-organisch{min-height:min(92vh,960px);padding-top:clamp(7rem,15vh,9rem)}
html[data-layout="organisch"] .blobs{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
html[data-layout="organisch"] .blobs i{position:absolute;border-radius:46% 54% 52% 48% / 55% 45% 55% 45%;opacity:.35;filter:blur(2px);animation:blob-morph 14s ease-in-out infinite alternate}
html[data-layout="organisch"] .blobs i:nth-child(1){width:34vw;height:34vw;left:-8vw;top:-6vw;background:var(--mesh-1)}
html[data-layout="organisch"] .blobs i:nth-child(2){width:26vw;height:26vw;right:-5vw;top:30%;background:var(--mesh-2);animation-delay:-5s}
html[data-layout="organisch"] .blobs i:nth-child(3){width:20vw;height:20vw;left:40%;bottom:-8vw;background:var(--akzent);opacity:.2;animation-delay:-9s}
@keyframes blob-morph{0%{border-radius:46% 54% 52% 48% / 55% 45% 55% 45%;transform:translate(0,0) rotate(0)}50%{border-radius:58% 42% 45% 55% / 48% 58% 42% 52%}100%{border-radius:40% 60% 58% 42% / 52% 40% 60% 48%;transform:translate(3vw,-2vw) rotate(12deg)}}
html[data-layout="organisch"] .hero-organisch .hero-innen{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,5rem);align-items:center}
html[data-layout="organisch"] .hero-organisch h1{font-size:clamp(2.6rem,5.8vw,5.4rem)}
html[data-layout="organisch"] .blob-maske{aspect-ratio:1;overflow:hidden;border-radius:46% 54% 52% 48% / 55% 45% 55% 45%;animation:blob-morph 16s ease-in-out infinite alternate;box-shadow:0 40px 80px -30px rgba(0,0,0,.35);background:var(--flaeche)}
html[data-layout="organisch"] .blob-maske img{width:100%;height:100%;object-fit:cover;scale:1.06}
html[data-layout="organisch"] .hero-organisch .hero-bild::before,html[data-layout="organisch"] .hero-organisch .hero-bild::after{display:none}
html[data-layout="organisch"] .hero-organisch .hero-karte{border-radius:24px;border:0;box-shadow:0 20px 50px -20px rgba(0,0,0,.3)}
html[data-layout="organisch"] .hero-organisch .hero-karte .ico{color:var(--primaer)}
html[data-layout="organisch"] .hero-organisch .hero-stats li{border:0;padding:0}
html[data-layout="organisch"] .hero-organisch .hero-stats b{color:var(--primaer)}
@media (max-width:900px){html[data-layout="organisch"] .hero-organisch .hero-innen{grid-template-columns:minmax(0,1fr)}html[data-layout="organisch"] .blob-maske{max-width:420px;margin-inline:auto}}
/* Abschnitte: Wellenkanten, runde Karten, weiche Flächen */
html[data-layout="organisch"] .marquee{display:none}
html[data-layout="organisch"] .s-karten,html[data-layout="organisch"] .s-liste,html[data-layout="organisch"] .s-preise,html[data-layout="organisch"] .s-produkte,html[data-layout="organisch"] .s-bento,html[data-layout="organisch"] .s-schritte{background-image:none}
html[data-layout="organisch"] .s:nth-child(even of .s):not(.dunkel):not(.s-cta){background:var(--flaeche);padding-top:clamp(4rem,9vw,8rem);position:relative}
html[data-layout="organisch"] .s:nth-child(even of .s):not(.dunkel):not(.s-cta)::before{content:"";position:absolute;left:0;right:0;top:-1px;height:60px;background:var(--hintergrund);clip-path:ellipse(55% 100% at 50% 0)}
html[data-layout="organisch"] .s:nth-child(even of .s):not(.dunkel):not(.s-cta)::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:60px;background:var(--hintergrund);clip-path:ellipse(55% 100% at 50% 100%)}
html[data-layout="organisch"] .s:nth-child(even of .s) + .s{padding-top:clamp(4rem,9vw,8rem)}
html[data-layout="organisch"] .karten{gap:1.4rem}
html[data-layout="organisch"] .karte{border-radius:32px 32px 32px 8px;border:0;background:var(--hintergrund)!important;box-shadow:0 20px 50px -30px rgba(0,0,0,.25)}
html[data-layout="organisch"] .karte::after{display:none}
html[data-layout="organisch"] .karte:nth-child(even){border-radius:32px 8px 32px 32px}
html[data-layout="organisch"] .karte-innen{padding:1.8rem}
html[data-layout="organisch"] .karte-ico{border-radius:46% 54% 52% 48% / 55% 45% 55% 45%;width:3.4rem;height:3.4rem;background:color-mix(in oklab,var(--primaer) 16%,transparent)}
html[data-layout="organisch"] .karte-bild{border-radius:32px 32px 0 0}
html[data-layout="organisch"] .schritte{gap:1.4rem}
html[data-layout="organisch"] .schritte li{border:0;border-radius:32px;background:var(--hintergrund);box-shadow:0 20px 50px -30px rgba(0,0,0,.25)}
html[data-layout="organisch"] .schritte li::after{display:none}
html[data-layout="organisch"] .schritt-nr{display:grid;place-items:center;width:3rem;height:3rem;border-radius:46% 54% 52% 48% / 55% 45% 55% 45%;background:var(--primaer);color:var(--auf-primaer);font-size:1.2rem}
html[data-layout="organisch"] .zahlen li{border:0;border-radius:32px;background:var(--hintergrund);box-shadow:0 20px 50px -30px rgba(0,0,0,.25)}
html[data-layout="organisch"] .zahlen li:nth-child(even){border-radius:32px 32px 8px 32px}
html[data-layout="organisch"] .bento-kachel{border-radius:28px;border:0}
html[data-layout="organisch"] .bild-rahmen{border-radius:46% 54% 52% 48% / 55% 45% 55% 45%;box-shadow:none}
html[data-layout="organisch"] .bild-rahmen.gross{aspect-ratio:1;border-radius:40% 60% 58% 42% / 52% 40% 60% 48%}
html[data-layout="organisch"] .bild-rahmen figcaption{left:50%;transform:translateX(-50%);bottom:2rem}
html[data-layout="organisch"] .faq details{border:0;border-radius:22px;background:var(--hintergrund);box-shadow:0 10px 30px -20px rgba(0,0,0,.2)}
html[data-layout="organisch"] .faq summary i{border-radius:46% 54% 52% 48% / 55% 45% 55% 45%}
html[data-layout="organisch"] .orte{gap:.6rem}
html[data-layout="organisch"] .ort{border:0;background:var(--hintergrund);box-shadow:0 10px 30px -20px rgba(0,0,0,.2)}
html[data-layout="organisch"] .liste-eintrag,html[data-layout="organisch"] .preis,html[data-layout="organisch"] .produkt,html[data-layout="organisch"] .formular,html[data-layout="organisch"] .tabelle-rahmen{border-radius:28px;border:0;box-shadow:0 20px 50px -30px rgba(0,0,0,.25)}
html[data-layout="organisch"] .cta-box{border-radius:46% 54% 52% 48% / 30% 30% 30% 30%;padding:clamp(4rem,9vw,7rem) clamp(1.5rem,8vw,7rem)}
html[data-layout="organisch"] .seitenkopf .mesh{display:block}
html[data-layout="organisch"] .seitenkopf-bild{border-radius:40px}
html[data-layout="organisch"] .fuss{border-radius:50% 50% 0 0 / 60px 60px 0 0}
html[data-layout="organisch"] .fuss::before{display:none}
html[data-layout="organisch"] .verkauf-badge{border-radius:999px}
/* Variante b (Wellen): Bild links, Wellenlinien statt Blobs, Karten als Tropfen */
html[data-layout="organisch"][data-variante="b"] .hero-organisch .hero-text{order:2}
html[data-layout="organisch"][data-variante="b"] .blob-maske{border-radius:50% 50% 50% 50% / 60% 60% 40% 40%;animation:none}
html[data-layout="organisch"][data-variante="b"] .blobs i{border-radius:50%;filter:none;opacity:.14;border:2px solid var(--primaer);background:transparent!important;animation:wellen-puls 9s ease-in-out infinite}
html[data-layout="organisch"][data-variante="b"] .blobs i:nth-child(1){width:60vw;height:60vw;left:-20vw;top:-30vw}
html[data-layout="organisch"][data-variante="b"] .blobs i:nth-child(2){width:46vw;height:46vw;left:-13vw;top:-23vw;animation-delay:-3s}
html[data-layout="organisch"][data-variante="b"] .blobs i:nth-child(3){width:32vw;height:32vw;left:-6vw;top:-16vw;animation-delay:-6s}
@keyframes wellen-puls{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
html[data-layout="organisch"][data-variante="b"] .karte,html[data-layout="organisch"][data-variante="b"] .karte:nth-child(even){border-radius:50% 50% 24px 24px / 30% 30% 24px 24px}
html[data-layout="organisch"][data-variante="b"] .karte-innen{text-align:center;align-items:center;padding-top:2.2rem}
html[data-layout="organisch"][data-variante="b"] .karte-ico{border-radius:50%}
html[data-layout="organisch"][data-variante="b"] .s:nth-child(even of .s):not(.dunkel):not(.s-cta)::before{clip-path:none;height:40px;background:radial-gradient(circle at 25px -20px,transparent 40px,var(--hintergrund) 41px);background-size:50px 40px;background-color:transparent;top:0;background-repeat:repeat-x;transform:scaleY(-1);background:var(--hintergrund);mask:radial-gradient(circle at 25px 0,transparent 24px,#000 25px) 0 0/50px 40px repeat-x}
html[data-layout="organisch"][data-variante="b"] .s:nth-child(even of .s):not(.dunkel):not(.s-cta)::after{clip-path:none;height:40px;background:var(--hintergrund);mask:radial-gradient(circle at 25px 40px,transparent 24px,#000 25px) 0 0/50px 40px repeat-x}
html[data-layout="organisch"][data-variante="b"] .schritt-nr,html[data-layout="organisch"][data-variante="b"] .logo-symbol,html[data-layout="organisch"][data-variante="b"] .faq summary i{border-radius:50%}
html[data-layout="organisch"][data-variante="b"] .cta-box{border-radius:40px}
@media (max-width:900px){html[data-layout="organisch"][data-variante="b"] .hero-organisch .hero-text{order:0}}

h1,h2{font-variation-settings:"opsz" 144,"SOFT" 60}html[data-hervor="kursiv"] h1 em,html[data-hervor="kursiv"] h2 em{font-weight:400;font-style:italic;color:var(--primaer)}.hero-rahmen{--hero-drehung:-2deg;border-radius:40% 60% 55% 45% / 45% 40% 60% 55%;aspect-ratio:1;box-shadow:none}.hero-rahmen img{scale:1.15}.kicker{color:#b5603a}.kicker::before{background:var(--akzent)}.knopf{box-shadow:none}.karte{border-radius:28px}.hero-karte{border-radius:22px}.logo-symbol{border-radius:50%}.verkauf-badge{background:var(--primaer)}.schritt-nr{color:var(--akzent)}
