:root{
  --bg:#EEE9E5; --surface:#FBFAF7; --ink:#333333;
  --primary:#0F6E59; --primary-deep:#0A5344;
  --accent:#C2AB8F; --accent-deep:#A98E6B;
  --primary-soft:#DCE9E3; --accent-soft:#EBE1D4;
  --muted:#6E6B64; --line:#E2DACE; --maxw:1100px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"Figtree",sans-serif;background:var(--bg);color:var(--ink);line-height:1.65;-webkit-font-smoothing:antialiased}
/* Schrift-System (medwest-Anmutung): durchgängig Figtree, große Versalien-Headlines */
h1,h2,h3{font-family:"Figtree",sans-serif;font-weight:700;line-height:1.02;letter-spacing:-.02em}
.hero h1,.sec-head h2{text-transform:uppercase;line-height:.95;letter-spacing:-.025em}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 26px}
a{color:inherit;text-decoration:none}
img{max-width:100%}
header{position:sticky;top:0;z-index:50;background:rgba(238,233,229,.85);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:76px;gap:18px}
.brand{display:flex;align-items:center}
.brand .logo-full{height:42px;width:auto;display:block}
.nav-links{display:flex;gap:32px;align-items:center}
.nav-links a{font-size:15px;color:var(--muted);font-weight:500;transition:color .2s}
.nav-links a:hover{color:var(--ink)}
.nav-links a.btn{color:#fff}.nav-links a.btn:hover{color:#fff}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--primary);color:#fff;padding:12px 22px;border-radius:999px;font-weight:600;font-size:15px;transition:transform .2s,background .2s}
.btn:hover{background:var(--primary-deep);transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--primary);border:1px solid var(--primary)}
.btn-ghost:hover{background:var(--primary);color:#fff}
.menu-toggle{display:none;background:none;border:none;cursor:pointer;font-size:24px;color:var(--ink)}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--primary);margin-bottom:22px}
.eyebrow::before{content:"";width:28px;height:1.5px;background:var(--primary)}
/* ---- Hero (medwest-Stil): Vollbild-Foto unscharf->scharf + Eck-Steuerung ---- */
.hero{position:relative;height:100vh;overflow:hidden;--hero-img:url('images/hero-behandlung.jpg')}
.hero-stage{position:absolute;inset:0;overflow:hidden}
.hero-media{position:absolute;inset:0}
.hero-img{position:absolute;inset:0;background:var(--hero-img) center 28%/cover no-repeat}
.hero-base{filter:grayscale(1) sepia(.22) saturate(1.15) blur(13px) brightness(.98);transform:scale(1.09)}
.hero-sharp{filter:grayscale(1) sepia(.22) saturate(1.15) brightness(1.02) contrast(1.02);clip-path:polygon(62% 0,62% 0,46% 100%,46% 100%)}
.hero-scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.32),rgba(0,0,0,.12) 32%,rgba(0,0,0,.5))}
.hero-scan{position:absolute;inset:0;z-index:2;width:100%;height:100%;pointer-events:none;overflow:visible}
.hero-scan line{stroke:#1f9e89;stroke-width:2;stroke-dasharray:7 6;vector-effect:non-scaling-stroke}
.hero-center{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);z-index:3;text-align:center;padding:0 24px}
.hero-center .eyebrow{color:#fff;justify-content:center}
.hero-center .eyebrow::before{background:var(--accent)}
.hero-center h1{font-size:clamp(40px,8.2vw,104px);line-height:.94;color:#fff;text-shadow:0 2px 34px rgba(0,0,0,.45);margin-bottom:16px}
.hero-center h1 em{font-style:normal;color:var(--accent)}
.hero-note{position:absolute;left:50%;top:16px;transform:translateX(-50%);z-index:3;font:500 11px/1 "Figtree",sans-serif;color:#fff;background:rgba(15,110,89,.8);padding:5px 10px;border-radius:6px;white-space:nowrap}
.hero-hint{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);z-index:3;color:rgba(255,255,255,.85);font:600 12px/1 "Figtree",sans-serif;letter-spacing:.16em;text-transform:uppercase}

/* Eck-CTAs (Hero) */
/* Patienten-Information (fix, unten links – persistent wie die anderen) */
.h-faq{position:fixed;left:26px;bottom:26px;z-index:60;display:flex;align-items:center;gap:13px;text-decoration:none}
.h-faq .h-dot{width:60px;height:60px;border-radius:50%;background:var(--primary);display:grid;place-items:center;flex:none;box-shadow:0 12px 28px -12px rgba(0,0,0,.45);transition:transform .2s,background .2s}
.h-faq:hover .h-dot{transform:scale(1.07);background:var(--primary-deep)}
.h-faq .h-dot svg{width:24px;height:24px;color:#fff}
.h-faq .h-label{font:600 13px "Figtree",sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:rgba(20,28,24,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:9px 15px;border-radius:999px;white-space:nowrap}

/* Persistente Steuerung (fixed) */
.h-logo{position:fixed;top:24px;left:26px;z-index:60}
.h-logo img{height:48px;width:auto;display:block;filter:drop-shadow(0 2px 8px rgba(0,0,0,.3))}
.h-menu{position:fixed;top:24px;right:26px;z-index:60;background:none;border:none;cursor:pointer;padding:0}
.h-menu-btn{width:56px;height:56px;border-radius:50%;background:var(--primary);display:grid;place-items:center;box-shadow:0 12px 28px -12px rgba(0,0,0,.45);transition:transform .2s,background .2s}
.h-menu:hover .h-menu-btn{transform:scale(1.06);background:var(--primary-deep)}
.h-menu-btn svg{width:26px;height:26px;color:#fff}
/* Kontakt-Widget (aufklappbar, unten rechts) */
.h-contact{position:fixed;bottom:26px;right:26px;z-index:60}
.hc-toggle{background:none;border:none;cursor:pointer;padding:0;display:block}
.h-contact .h-dot{position:relative;width:60px;height:60px;border-radius:50%;background:var(--primary);display:grid;place-items:center;box-shadow:0 12px 28px -12px rgba(0,0,0,.45);transition:transform .2s,background .2s}
.hc-toggle:hover .h-dot{transform:scale(1.07);background:var(--primary-deep)}
.h-contact .h-dot svg{grid-area:1/1;width:24px;height:24px;color:#fff;transition:opacity .25s,transform .25s}
.hc-ic-close{opacity:0;transform:rotate(-45deg) scale(.6)}
.h-contact.open .hc-ic-open{opacity:0;transform:rotate(45deg) scale(.6)}
.h-contact.open .hc-ic-close{opacity:1;transform:none}
.hc-actions{position:absolute;right:4px;bottom:74px;display:flex;flex-direction:column-reverse;align-items:flex-end;gap:14px}
.hc-item{display:flex;align-items:center;gap:12px;text-decoration:none;opacity:0;transform:translateY(14px) scale(.92);pointer-events:none;transition:opacity .28s ease,transform .28s ease}
.h-contact.open .hc-item{opacity:1;transform:none;pointer-events:auto;transition-delay:calc(var(--i,0)*.05s)}
.hc-label{font:600 13px "Figtree",sans-serif;letter-spacing:.04em;color:#fff;background:rgba(20,28,24,.62);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:9px 15px;border-radius:999px;white-space:nowrap;box-shadow:0 8px 20px -12px rgba(0,0,0,.5)}
.hc-dot{width:52px;height:52px;border-radius:50%;background:var(--primary);display:grid;place-items:center;flex:none;box-shadow:0 10px 24px -12px rgba(0,0,0,.5);transition:transform .2s,background .2s}
.hc-item:hover .hc-dot{transform:scale(1.08);background:var(--primary-deep)}
.hc-dot svg{width:23px;height:23px;color:#fff}
.hc-dot.hc-wa svg{width:27px;height:27px}

/* Menü-Overlay */
.menu-overlay{position:fixed;inset:0;z-index:70;background:rgba(10,83,68,.97);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;opacity:0;pointer-events:none;transition:opacity .35s ease}
.menu-overlay.open{opacity:1;pointer-events:auto}
.menu-overlay a{color:#fff;font-family:"Figtree",sans-serif;font-weight:700;text-transform:uppercase;font-size:clamp(30px,6vw,64px);letter-spacing:-.01em;text-decoration:none;line-height:1.3;opacity:.85;transition:opacity .2s,color .2s}
.menu-overlay a:hover{opacity:1;color:var(--accent)}
.menu-close{position:fixed;top:24px;right:26px;z-index:80;width:56px;height:56px;border-radius:50%;background:#fff;border:none;cursor:pointer;display:grid;place-items:center}
.menu-close svg{width:26px;height:26px;color:var(--primary)}

section{padding:112px 0}
.sec-head{max-width:560px;margin-bottom:50px}
.sec-head h2{font-size:clamp(36px,5.2vw,68px)}
.sec-head p{color:var(--muted);margin-top:14px;font-size:17px}
.about{background:var(--surface);padding-top:48px;padding-bottom:0;position:relative;overflow:visible}
.about-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:80px;align-items:end}
.about-photo{position:relative;z-index:2;min-height:520px}
.about-img{position:absolute;left:45%;bottom:0;transform:translateX(-50%);width:96%;max-width:none;height:auto;display:block;filter:grayscale(1) sepia(.22) saturate(1.15) brightness(1.02) contrast(1.02) drop-shadow(0 30px 38px rgba(51,42,30,.26))}
.about-photo .ph-icon{font-size:38px;margin-bottom:10px}
.about-text h3{font-size:33px;margin-bottom:6px}
.about-text .role{color:var(--accent-deep);font-weight:600;margin-bottom:18px;display:block}
.about-text p{color:var(--muted);margin-bottom:15px}
.about-text .about-philo{margin-top:22px;padding-top:20px;border-top:1px solid var(--line);color:var(--ink);font-weight:500}
/* Zitat-Bahn unter dem Hero – ruhig, hell, eigener Raum */
.quote{background:var(--bg);text-align:center;padding:94px 0}
.quote .wrap{max-width:760px}
.quote-mark{display:block;font-family:"Figtree",sans-serif;font-size:86px;line-height:1;color:var(--primary);opacity:.3;margin-bottom:-14px}
.quote-text{font-size:clamp(22px,3.2vw,33px);font-weight:400;line-height:1.45;color:var(--ink);font-style:normal;letter-spacing:-.01em}
.quote-cite{display:block;margin-top:22px;font-style:normal;font-weight:600;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-deep)}
/* Mein Ansatz – drei Saeulen auf dem dunklen CI-Gruen (wie "Dein Weg zu mir") */
.approach{background:var(--primary-deep);color:#dfe9e4}
.approach .eyebrow{color:var(--accent-soft)}
.approach .eyebrow::before{background:var(--accent-soft)}
.approach h2{color:#fff}
.approach .sec-head p{color:#bcccba}
.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;margin-top:10px}
.approach-ic{width:54px;height:54px;border-radius:50%;background:#fff;color:var(--primary);display:grid;place-items:center;margin-bottom:18px;box-shadow:0 12px 26px -14px rgba(0,0,0,.5)}
.approach-ic svg{width:24px;height:24px}
.approach-col h3{font-size:22px;color:#fff;margin-bottom:4px}
.approach-col p{color:#bcccba;font-size:15px;line-height:1.6;margin-bottom:6px}
.approach-col .approach-q{color:var(--accent);font-weight:600;margin-bottom:10px}
.quali{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.quali span{background:var(--bg);border:1px solid var(--line);padding:8px 15px;border-radius:999px;font-size:14px;font-weight:500}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:32px 28px;transition:transform .25s,box-shadow .25s}
.card:hover{transform:translateY(-4px);box-shadow:0 20px 40px -24px rgba(15,110,89,.28)}
.card .ic{width:50px;height:50px;border-radius:50%;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-size:22px;margin-bottom:18px}
.card h3{font-size:21px;margin-bottom:8px}
.card p{color:var(--muted);font-size:15px}
.steps{background:var(--primary-deep);color:#e8efe6}
.steps .eyebrow{color:var(--accent-soft)}.steps .eyebrow::before{background:var(--accent-soft)}
.steps h2{color:#fff}.steps .sec-head p{color:#bcccba}
.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
/* Logo-Steine: echte Größenverhältnisse, gekippt (aufwärts/liegend), mit faintem Echo-Overlay */
.step-stone{display:inline-block;line-height:0;margin-bottom:22px}
.step-stone.s1,.step-stone.s3{color:#5BAD96}
.step-stone.s2{color:var(--accent)}
/* Endposition als Treppe: Stein 1 tief, Stein 2 mittig, Stein 3 oben (bleibt).
   margin-top schiebt den Stein samt Text nach unten -> kein Ueberlappen der Beschriftung. */
.step-stone.s1{margin-top:120px}
.step-stone.s2{margin-top:50px}
.step-stone.s3{margin-top:0}
.step-stone-inner{position:relative;display:inline-block}
.step-stone svg{width:auto;display:block}
.step-stone .stone-main{position:relative;z-index:1}
.step-stone .stone-echo{position:absolute;left:50%;top:50%;z-index:0;opacity:.14;transform:translate(-50%,-50%) scale(1.6)}
.step-stone.s1 svg{height:74px}
.step-stone.s2 svg{height:112px}
.step-stone.s3 svg{height:152px}
.js .step-stone-inner{opacity:0;transform:scale(.55) translateY(46px)}
.step-num{display:block;font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-soft);margin-bottom:2px}
.step h3{color:#fff;font-size:21px;margin:4px 0 8px}.step p{color:#bcccba;font-size:15px}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}
.contact-form{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:26px 24px}
.cf-title{font-size:21px;color:var(--ink);margin-bottom:4px}
.cf-sub{color:var(--muted);font-size:14px;margin-bottom:18px}
.contact-form label{display:block;font-size:13px;font-weight:600;color:var(--ink);margin-bottom:14px}
.cf-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contact-form input[type=text],.contact-form input[type=email],.contact-form textarea{display:block;width:100%;margin-top:6px;font:400 15px "Figtree",sans-serif;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:12px;padding:11px 13px;transition:border-color .2s,box-shadow .2s}
.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(15,110,89,.12)}
.contact-form textarea{resize:vertical;min-height:124px;line-height:1.5}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#9aa39c}
.cf-consent{display:flex;align-items:flex-start;gap:9px;font-size:12.5px;font-weight:400;color:var(--muted);line-height:1.5;margin-bottom:18px}
.cf-consent input{margin-top:2px;accent-color:var(--primary);flex:none;width:16px;height:16px}
.cf-consent a{color:var(--primary);text-decoration:underline}
.cf-submit{width:100%;justify-content:center}
.cf-hint{font-size:13px;color:var(--primary);margin:12px 0 0;line-height:1.5}
.cf-hint a{color:var(--primary);text-decoration:underline}
.info-row{display:flex;gap:16px;padding:20px 0;border-bottom:1px solid var(--line)}
.info-row:last-child{border-bottom:none}
.info-row .ic{width:44px;height:44px;flex:none;border-radius:50%;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-size:18px}
.info-row b{display:block;font-size:16px;margin-bottom:2px}
.info-row span,.info-row a{color:var(--muted);font-size:15px}
.info-row a:hover{color:var(--primary)}
.map-box{position:relative;aspect-ratio:4/3;border-radius:22px;overflow:hidden;border:1px solid var(--line);background:#e7e5e1;display:grid;place-items:center;color:var(--muted);text-align:center;padding:20px}
.map-box.map-wide{aspect-ratio:auto;height:340px;margin-top:34px}
.map-box.map-loaded{padding:0}
.map-box .leaflet-map{position:absolute;inset:0;width:100%;height:100%}
.map-box .leaflet-tile-pane{filter:grayscale(1) contrast(1.02)} /* nur Kacheln grau, Marker bleibt CI-gruen */
.map-box .ci-pin{background:none;border:none;filter:drop-shadow(0 5px 6px rgba(0,0,0,.32))}
.contact-cta{margin-top:26px;display:flex;gap:14px;flex-wrap:wrap}
footer{background:var(--ink);color:#b4bab1;padding:52px 0 30px}
.foot-top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px;align-items:center;padding-bottom:28px;border-bottom:1px solid rgba(255,255,255,.1)}
.foot-brand{display:flex;align-items:center;gap:12px;color:#fff;font-weight:700}
.foot-brand .logo-mark-img{height:36px;width:auto;display:block}
.foot-logo{height:50px;width:auto;display:block}
.foot-brand small{display:block;font-weight:500;font-size:12px;color:#b4bab1}
.foot-links{display:flex;gap:24px;font-size:14px}.foot-links a:hover{color:#fff}
.foot-bottom{padding-top:22px;font-size:13px;color:#888e84;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
/* Reveals: nur verstecken, wenn JS aktiv ist (ohne JS bleibt alles sichtbar) */
.js .reveal{opacity:0;transform:translateY(20px);will-change:opacity,transform}
.js .reveal.in{opacity:1;transform:none;transition:opacity .7s ease,transform .7s ease}

/* ---- Rechtsseiten (Impressum / Datenschutz) ---- */
.legal{padding:64px 0 88px}
.legal .wrap{max-width:780px}
.legal h1{font-size:clamp(32px,4.6vw,50px);margin-bottom:8px}
.legal .updated{color:var(--muted);font-size:14px;margin-bottom:36px}
.legal h2{font-size:24px;margin:40px 0 12px;color:var(--ink)}
.legal h3{font-size:18px;margin:26px 0 8px}
.legal p,.legal li{color:var(--muted);font-size:16px;margin-bottom:12px}
.legal ul{padding-left:22px;margin-bottom:14px}
.legal a{color:var(--primary);text-decoration:underline}
.legal address{font-style:normal;color:var(--muted)}
.legal .back{display:inline-flex;align-items:center;gap:8px;margin-top:48px;color:var(--primary);font-weight:600;text-decoration:none}
.legal .back:hover{text-decoration:underline}
.legal .back-top{margin-top:0;margin-bottom:28px}
.legal .note{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--primary);border-radius:10px;padding:16px 18px;margin:28px 0}
.legal .note p{margin:0;font-size:15px}
.ph{background:#FBEFD2;border:1px dashed #C9A24B;color:#6F5310;padding:1px 7px;border-radius:5px;font-size:.95em;font-weight:600}
/* FAQ-Accordion (Patienten-Information) */
.faq{max-width:780px;margin-top:8px}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px 0;font:600 clamp(17px,2vw,20px)/1.35 "Figtree",sans-serif;color:var(--ink)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:hover{color:var(--primary)}
.faq-icn{flex:none;width:28px;height:28px;border-radius:50%;border:1.5px solid var(--primary);color:var(--primary);display:grid;place-items:center;font-size:20px;line-height:1;font-weight:400;transition:transform .25s,background .25s,color .25s}
.faq-item[open] .faq-icn{background:var(--primary);color:#fff;transform:rotate(45deg)}
.faq-a{padding:0 0 22px;color:var(--muted);font-size:16px;line-height:1.65;max-width:62ch}
.faq-a p{margin-bottom:10px}
.faq-a p:last-child{margin-bottom:0}
.faq-a a{color:var(--primary);text-decoration:underline}

/* ---- Icons (Lucide, inline SVG, erben Farbe via currentColor) ---- */
.ic svg{width:24px;height:24px;display:block}
.info-row .ic svg{width:20px;height:20px}
.menu-toggle svg{width:26px;height:26px;display:block}
.ph-icon svg{width:42px;height:42px;display:block;margin:0 auto;stroke-width:1.5}
.about-photo .ph-icon svg{width:38px;height:38px}
.map-ic{margin-bottom:8px}
.map-ic svg{width:34px;height:34px;display:block;margin:0 auto;stroke-width:1.5}
.map-consent{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;text-align:center;padding:26px;color:var(--muted)}
.map-consent .map-ic{color:var(--primary)}
.map-consent b{color:var(--ink);font-size:16px}
.map-consent .map-note{font-size:13px;max-width:34ch;line-height:1.5}
.map-consent .map-load{margin-top:4px;cursor:pointer}
.map-consent .map-ext{font-size:13px;color:var(--primary);text-decoration:underline}
.map-box iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;filter:grayscale(1) contrast(1.04)}

/* ---- Maskenkante des Durchleucht-Effekts (im Hero) ---- */
.xray-edge{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;display:none}
.xray-edge line{vector-effect:non-scaling-stroke}
.xray-edge .edge-solid{stroke:var(--primary);stroke-width:2}
.xray-edge .edge-dash{stroke:rgba(15,110,89,.6);stroke-width:2;stroke-dasharray:7 7}

/* ---- Microinteractions (dezent) ---- */
.btn:active{transform:translateY(0) scale(.97)}
.card .ic{transition:transform .3s ease}
.card:hover .ic{transform:scale(1.08) rotate(-3deg)}
.quali span{transition:border-color .2s,color .2s}
.quali span:hover{border-color:var(--primary);color:var(--primary)}
.info-row .ic{transition:background .25s,color .25s}
.info-row:hover .ic{background:var(--primary);color:#fff}
.logo-full,.foot-brand .logo-mark-img{transition:opacity .2s}
.brand:hover .logo-full{opacity:.82}

/* ---- Lenis Smooth Scroll ---- */
html.lenis,html.lenis body{height:auto}
.lenis{scroll-behavior:auto!important}
.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-smooth iframe{pointer-events:none}

@media(max-width:860px){
  .hero-grid,.about-grid,.contact-grid{grid-template-columns:1fr;gap:40px}
  .about-photo{min-height:0}
  .about-img{position:static;left:auto;transform:none;width:78%;max-width:300px;margin:0 auto 6px}
  .cards,.step-grid,.approach-grid{grid-template-columns:1fr}
  .cf-row{grid-template-columns:1fr}
  .menu-toggle{display:block}
  .h-faq .h-label{display:none}
  .hero-center h1{font-size:clamp(24px,7vw,52px);letter-spacing:-.01em}
  .h-logo img{height:40px}
  .h-menu-btn,.menu-close{width:48px;height:48px}
  .h-faq .h-dot,.h-contact .h-dot{width:54px;height:54px}
  .h-faq{left:20px;bottom:26px}
  .h-logo{top:18px;left:18px}.h-menu{top:18px;right:18px}.h-contact{bottom:20px;right:18px}
  .nav-links{position:absolute;top:76px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:8px 0 14px;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:0 24px 30px -22px rgba(0,0,0,.3);display:none}
  header.open .nav-links{display:flex}
  .nav-links a{padding:13px 26px;font-size:16px}
  .nav-links a.btn{margin:10px 26px 4px;justify-content:center}
}

/* ---- Reduzierte Bewegung respektieren ---- */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .js .reveal{opacity:1!important;transform:none!important}
  .js .step-stone-inner{opacity:1!important;transform:none!important}
  .hero-sharp{clip-path:polygon(30% 0,94% 0,90% 100%,4% 100%)!important}
  .hero-scan{display:none}
}
