@import url('https://fonts.googleapis.com/css2?family=Inter:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,300&display=swap');

/* Skip link for accessibility */
.skip-link{position:absolute;top:-40px;left:0;background:var(--navy);color:#fff;padding:8px 16px;z-index:9999;border-radius:0 0 8px 0;font-weight:600;transition:top .2s;}
.skip-link:focus{top:0;}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
:root{--navy:#0d2b5e;--royal:#1a4a8f;--steel:#7fa8d8;--silver:#c8d8f0;--light:#f0f4fa;--white:#fff;--text:#1a2040;--muted:#6b7a99;--border:rgba(13,43,94,0.07);}
html{scroll-behavior:smooth;scroll-padding-top:80px;} /* account for fixed nav height */
body{font-family:'Inter','Arial',system-ui,-apple-system,sans-serif;color:var(--text);background:var(--white);overflow-x:hidden;cursor:none;line-height:1.6;}
to{opacity:1;}}

/* SCROLL PROGRESS */
#scroll-progress{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,var(--steel),var(--royal),var(--navy));z-index:9999;width:0;transition:none;}

/* CURSOR */
#cur{width:14px;height:14px;background:var(--navy);border-radius:50%;position:fixed;top:-50px;left:-50px;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .3s,height .3s;box-shadow:0 0 0 2.5px rgba(255,255,255,.9),0 2px 10px rgba(0,0,0,.3);}
body.ch #cur{width:44px;height:44px;}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:200;padding:0 56px;height:68px;display:flex;align-items:center;justify-content:space-between;transition:background .15s,box-shadow .15s,transform .4s;}
nav.hide{transform:translateY(-100%);}
nav.sc{background:rgba(255,255,255,0.97);box-shadow:0 4px 28px rgba(13,43,94,0.07);border-bottom:1px solid var(--border);}
.logo{text-decoration:none;}
.logo .by{display:block;font-size:10px;font-weight:300;font-style:italic;color:var(--steel);letter-spacing:.14em;padding-left:2px;}
.logo .mtz{display:block;font-size:21px;font-weight:800;color:var(--navy);letter-spacing:-.025em;line-height:1;}
nav.hero-nav .logo .by{color:rgba(200,216,240,.5);}
nav.hero-nav .logo .mtz{color:white;}
nav.hero-nav .nl a{color:rgba(255,255,255,.5);}
nav.hero-nav .nl a:hover{color:white;}
.nl{display:flex;gap:32px;list-style:none;}
.nl a{text-decoration:none;font-size:13.5px;font-weight:500;color:var(--muted);transition:color .2s;}
.nl a:hover{color:var(--navy);}
.nl a.nav-current{color:var(--royal);font-weight:700;}
nav.hero-nav .nl a.nav-current{color:white;font-weight:700;}
.ncta{padding:9px 22px;background:var(--navy);color:#fff;font-size:13px;font-weight:600;border-radius:8px;text-decoration:none;position:relative;overflow:hidden;transition:color .3s;}
.ncta::before{content:'';position:absolute;inset:0;background:var(--royal);transform:translateX(-101%);transition:transform .3s;}
.ncta span{position:relative;z-index:1;}
.ncta:hover::before{transform:translateX(0);}

/* HERO */
.hero{min-height:100vh;display:flex;align-items:center;padding:130px 56px 100px;position:relative;overflow:hidden;background:#050f24;}
#particle-canvas{position:absolute;inset:0;z-index:1;will-change:contents;}
.mesh{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:1;}
.morb{position:absolute;border-radius:50%;filter:blur(40px);opacity:.45;will-change:transform;}
.m1{width:700px;height:700px;top:-150px;right:-150px;background:radial-gradient(circle,rgba(26,74,143,.6),transparent 70%);animation:f1 10s ease-in-out infinite;}
.m2{width:450px;height:450px;bottom:-80px;left:8%;background:radial-gradient(circle,rgba(13,43,94,.5),transparent 70%);animation:f2 12s ease-in-out infinite;}
.m3{width:350px;height:350px;top:35%;left:35%;background:radial-gradient(circle,rgba(127,168,216,.3),transparent 70%);animation:f3 8s ease-in-out infinite;}
@keyframes f1{0%{transform:scale(1) translate(0,0)}33%{transform:scale(1.15) translate(-15px,10px)}67%{transform:scale(.92) translate(15px,-8px)}100%{transform:scale(1) translate(0,0)}}
@keyframes f2{0%{transform:scale(1) translate(0,0)}40%{transform:scale(1.12) translate(10px,-12px)}70%{transform:scale(.9) translate(-10px,8px)}100%{transform:scale(1) translate(0,0)}}
@keyframes f3{0%{transform:scale(1) translate(0,0)}50%{transform:scale(1.1) translate(-8px,6px)}100%{transform:scale(1) translate(0,0)}}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.5;transform:scale(1.4);}}
.hero h1{font-size:clamp(48px,5.8vw,76px);font-weight:900;line-height:1.03;letter-spacing:-.04em;color:white;margin-bottom:28px;margin-top:0;}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:500;letter-spacing:.02em;color:rgba(255,255,255,.65);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:7px 16px;margin-bottom:28px;}
.eyebrow .pulse-dot{width:6px;height:6px;border-radius:50%;background:var(--steel);flex-shrink:0;animation:pulse 2s ease-in-out infinite;}
.hi{max-width:1120px;margin:0 auto;width:100%;display:grid;grid-template-columns:1.1fr 0.9fr;gap:80px;align-items:center;position:relative;z-index:3;}
/* Character split animation */
.char-wrap{display:inline-block;overflow:hidden;white-space:nowrap;vertical-align:bottom;}
.char-word-gap{display:inline-block;width:.28em;}
.char{display:inline-block;opacity:0;transform:translateY(110%) rotateX(-80deg);transform-origin:bottom;animation:charIn .6s cubic-bezier(.16,1,.3,1) forwards;}
@keyframes charIn{to{opacity:1;transform:translateY(0) rotateX(0deg);}}
.char.space{width:.3em;} .line.gradient-text .char,.line.gradient-text .char.gradient-text{animation:charIn .6s cubic-bezier(.16,1,.3,1) forwards !important;-webkit-text-fill-color:transparent;}
.gradient-text{background:linear-gradient(135deg,var(--steel),#c8d8f0,var(--steel));background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradShift 8s ease-in-out infinite;}
/* gradShift removed */50%{background-position:100% 50%;}}
.lead{font-size:17.5px;line-height:1.75;color:rgba(255,255,255,.72);max-width:480px;margin-bottom:48px;}
.hacts{display:flex;gap:14px;align-items:center;flex-wrap:wrap;}
.bmag{display:inline-flex;align-items:center;gap:8px;padding:15px 30px;background:white;color:var(--navy);font-size:14.5px;font-weight:700;border-radius:12px;text-decoration:none;position:relative;overflow:hidden;box-shadow:0 8px 32px rgba(0,0,0,.3);transition:box-shadow .3s,transform .1s;}
.bmag::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--silver),white);opacity:0;transition:opacity .3s;}
.bmag span{position:relative;z-index:1;}
.bmag:hover::before{opacity:1;}
.bmag:hover{box-shadow:0 14px 44px rgba(0,0,0,.4);}
.bout{display:inline-flex;align-items:center;gap:8px;padding:15px 28px;border:1.5px solid rgba(255,255,255,.2);color:rgba(255,255,255,.75);font-size:14.5px;font-weight:600;border-radius:12px;text-decoration:none;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:border-color .3s,color .3s,background .3s;}
.bout:hover{border-color:rgba(255,255,255,.5);color:white;background:rgba(255,255,255,.05);}
.arr{display:inline-block;transition:transform .25s;}
.bout:hover .arr{transform:translateX(5px);}
.htrust{display:flex;align-items:center;gap:16px;margin-top:44px;}
.tavs{display:flex;}
.tavs span{width:34px;height:34px;border-radius:50%;border:2.5px solid rgba(255,255,255,.15);background:linear-gradient(135deg,var(--steel),var(--navy));display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:white;margin-left:-9px;}
.tavs span:first-child{margin-left:0;}
.ttxt{font-size:13px;color:rgba(255,255,255,.4);line-height:1.5;}
.ttxt strong{color:rgba(255,255,255,.75);display:block;font-size:13.5px;}
.hright{display:flex;flex-direction:column;gap:14px;}
.hcard{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:16px;padding:20px 22px;display:flex;align-items:center;gap:18px;transition:background .3s,transform .4s cubic-bezier(.16,1,.3,1);opacity:0;transform:translateX(60px);}
.hcard.vis{opacity:1;transform:translateX(0);}
.hcard:hover{background:rgba(255,255,255,.08);transform:translateX(6px)!important;}
.hcard:nth-child(2){transition-delay:.15s;}
.hcard:nth-child(3){transition-delay:.3s;}
.hci{width:44px;height:44px;border-radius:10px;background:rgba(127,168,216,.1);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--steel);}
.hci svg{width:22px;height:22px;}
.hcv{font-size:24px;font-weight:800;color:white;letter-spacing:-.02em;}
.hcl{font-size:12px;color:rgba(255,255,255,.4);margin-top:1px;}

/* Stagger hero elements */
.hero-stagger{opacity:0;transform:translateY(30px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);}
.hero-stagger.vis{opacity:1;transform:translateY(0);}
.hs1{transition-delay:.15s;}.hs2{transition-delay:.5s;}.hs3{transition-delay:.7s;}.hs4{transition-delay:.9s;}.hs5{transition-delay:1.1s;}

/* STATS */
/* ===== PERF: Layout containment — isolates section layout/paint =====*/
/* contain:layout removed — interferes with scroll-padding-top in some browsers */

.sbar{background:var(--navy);padding:56px;position:relative;overflow:hidden;}
.sbar::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,rgba(26,74,143,.3),transparent 70%);pointer-events:none;}
.si{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);position:relative;z-index:1;}
.sit{text-align:center;padding:0 24px;position:relative;}
.sit+.sit::before{content:'';position:absolute;left:0;top:15%;height:70%;width:1px;background:rgba(255,255,255,.08);}
.sn{font-size:52px;font-weight:900;color:white;letter-spacing:-.04em;line-height:1;margin-bottom:8px;font-variant-numeric:tabular-nums;}
.sn .sfx{font-size:34px;}
.sl{font-size:13px;color:rgba(255,255,255,.35);font-weight:500;}

/* SECTIONS */
section{padding:120px 56px;position:relative;}
.con{max-width:1120px;margin:0 auto;}
.stg{font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--steel);margin-bottom:14px;}
.sti{font-size:clamp(32px,4vw,48px);font-weight:800;letter-spacing:-.025em;color:var(--navy);margin-bottom:24px;line-height:1.1;text-wrap:balance;}
.ssu{font-size:17px;color:var(--muted);line-height:1.7;max-width:540px;}

/* CLIP-PATH REVEAL */
.clip-reveal{clip-path:inset(0 0 100% 0);transition:clip-path 1s cubic-bezier(.16,1,.3,1);}
.clip-reveal.vis{clip-path:inset(0 0 0% 0);}
.clip-reveal-left{clip-path:inset(0 100% 0 0);transition:clip-path 1.1s cubic-bezier(.16,1,.3,1);}
.clip-reveal-left.vis{clip-path:inset(0 0% 0 0);}

/* LEISTUNGEN */
#leistungen{background:white;}
.sg{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:64px;}
.sg>.sc:last-child:nth-child(3n+1){grid-column:2;}
.sc{background:var(--light);border-radius:20px;padding:36px 30px;border:1px solid var(--border);position:relative;overflow:hidden;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s;transform-style:preserve-3d;}
.sc::after{content:'';position:absolute;inset:0;border-radius:20px;background:linear-gradient(135deg,var(--navy),var(--royal));opacity:0;transition:opacity .35s;}
.sc:hover{transform:translateY(-8px) scale(1.01);box-shadow:0 20px 48px rgba(13,43,94,.15);}
.sc:hover::after{opacity:1;}
.sc:hover .sci,.sc:hover h3,.sc:hover p,.sc:hover .sct{color:white!important;}
.sc:hover .sci{background:rgba(255,255,255,.1)!important;}
.sc:hover .sci svg{stroke:white!important;}
.sci{width:52px;height:52px;border-radius:14px;background:white;display:flex;align-items:center;justify-content:center;margin-bottom:22px;position:relative;z-index:1;transition:background .35s;color:var(--navy);}
.sci svg{width:26px;height:26px;stroke:var(--navy);transition:stroke .35s;}
.sc h3{font-size:18px;font-weight:700;color:var(--navy);margin-bottom:10px;letter-spacing:-.01em;position:relative;z-index:1;transition:color .35s;}
.sc p{font-size:13.5px;line-height:1.7;color:var(--muted);position:relative;z-index:1;transition:color .35s;}
.sct{display:inline-block;margin-top:18px;font-size:11px;font-weight:600;color:var(--steel);letter-spacing:.08em;text-transform:uppercase;position:relative;z-index:1;transition:color .35s;}

/* PROZESS */
#prozess{background:var(--light);overflow:hidden;}
.pg{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:56px;}
.ps{background:white;border-radius:18px;padding:32px 26px;border:1px solid var(--border);position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s;}
.ps:hover{transform:translateY(-6px);box-shadow:0 12px 32px rgba(13,43,94,.1);}
.psl{position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--navy),var(--steel));transform:scaleX(0);transform-origin:left;transition:transform .4s;}
.ps:hover .psl{transform:scaleX(1);}
.psn{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--steel);margin-bottom:20px;display:block;}
.psi{margin-bottom:16px;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;background:var(--light);color:var(--navy);}
.psi svg{width:24px;height:24px;}
.ps h3{font-size:17px;font-weight:700;color:var(--navy);margin-bottom:10px;}
.ps p{font-size:13px;line-height:1.65;color:var(--muted);}
.pcta{text-align:center;margin-top:48px;}

/* PROJEKTE */
#projekte{background:var(--navy);overflow:hidden;}
#projekte .stg{color:var(--steel);}
#projekte .sti{color:white;}
#projekte .ssu{color:rgba(255,255,255,.4);}
.prg{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:56px;}
.prc{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s,background .3s;transform-style:preserve-3d;will-change:transform;}
.prc:hover{transform:translateY(-12px) rotateX(2deg);box-shadow:0 28px 64px rgba(0,0,0,.35);background:rgba(255,255,255,.07);}
.prt{height:200px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
.prt::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.4));}
.prt img{max-height:120px;max-width:160px;object-fit:contain;position:relative;z-index:1;filter:drop-shadow(0 4px 12px rgba(0,0,0,.3));transition:transform .5s cubic-bezier(.16,1,.3,1);}
.prc:hover .prt img{transform:scale(1.08);}
.prt .client-logo-text{position:relative;z-index:1;font-size:28px;font-weight:800;color:white;letter-spacing:-.02em;text-shadow:0 2px 12px rgba(0,0,0,.4);}
.prt .client-logo-text .sub{display:block;font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;opacity:.6;margin-top:4px;}
/* Wortgarten logo */
.wg-logo{display:flex;align-items:center;gap:10px;position:relative;z-index:1;}
.wg-logo-mark{width:42px;height:42px;background:rgba(255,255,255,.15);border-radius:10px;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);}
.wg-logo-mark svg{width:24px;height:24px;}
.wg-logo-text{font-size:22px;font-weight:700;color:white;letter-spacing:-.01em;}
.wg-logo-sub{font-size:10px;color:rgba(255,255,255,.5);letter-spacing:.08em;display:block;}
.pt1{background:linear-gradient(135deg,#1b2e1b,#2d4a2d);}
.pt2{background:linear-gradient(135deg,#2e1e0d,#4a3215);}
.pt3{background:linear-gradient(135deg,#0d1b30,#1a3560);}
.pt4{background:linear-gradient(135deg,#0d2010,#1a4020);}
.dussa-logo{display:flex;flex-direction:column;align-items:center;gap:8px;position:relative;z-index:1;}
.dussa-logo-mark{width:72px;height:72px;}
.dussa-logo-text{font-size:22px;font-weight:700;color:rgba(255,255,255,.9);letter-spacing:.04em;}
.prc.wide{grid-column:1/-1;flex-direction:row;}
.prc.wide .prt{width:280px;flex-shrink:0;height:auto;min-height:180px;}
.prc.wide .prbd{padding:32px 36px;}
@media(max-width:700px){.prc.wide{flex-direction:column;}.prc.wide .prt{width:100%;min-height:160px;}}
.prb{position:absolute;top:14px;right:14px;z-index:2;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.1);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.65);}
.prbd{padding:28px;flex:1;display:flex;flex-direction:column;}
.prbd h3{font-size:20px;font-weight:700;color:white;margin-bottom:8px;}
.prbd p{font-size:13px;line-height:1.65;color:rgba(255,255,255,.45);flex:1;}
.prr{margin-top:20px;padding:14px 16px;background:rgba(255,255,255,.04);border-radius:10px;border-left:3px solid var(--steel);}
.rrl{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--steel);margin-bottom:4px;}
.rrt{font-size:12.5px;color:rgba(255,255,255,.6);font-weight:500;}
.ptgs{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px;}
.ptg{padding:4px 10px;background:rgba(255,255,255,.06);border-radius:6px;font-size:11px;font-weight:500;color:rgba(255,255,255,.4);}

/* TESTIMONIALS */
#testimonials{background:white;overflow:hidden;}
.tg{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:56px;}
.tc{padding:32px;border-radius:18px;border:1px solid var(--border);background:var(--light);position:relative;overflow:hidden;transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s;}
.tc::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--navy),var(--steel));transform:scaleX(0);transform-origin:left;transition:transform .5s;}
.tc:hover{transform:translateY(-6px);box-shadow:0 14px 36px rgba(13,43,94,.12);}
.tc:hover::before{transform:scaleX(1);}
.tcs{color:#f4b942;font-size:15px;margin-bottom:16px;letter-spacing:3px;}
.tcq{font-size:14.5px;line-height:1.72;color:var(--text);margin-bottom:24px;font-style:italic;position:relative;}
.tcq::before{content:'\201C';font-size:48px;color:var(--silver);position:absolute;top:-12px;left:-6px;line-height:1;font-family:Georgia,serif;}
.tct{padding-left:20px;}
.tca{display:flex;align-items:center;gap:12px;}
.tcav{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--steel),var(--navy));display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:white;flex-shrink:0;}
.tcav img{width:40px;height:40px;border-radius:50%;object-fit:cover;}
.tcn{font-size:14px;font-weight:700;color:var(--navy);}
.tcr{font-size:12px;color:var(--muted);margin-top:1px;}
/* Google live reviews */
#google-reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:56px;}
.grev-source{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--muted);margin-top:12px;}
.grev-source svg{width:14px;height:14px;}
@media(max-width:768px){#google-reviews-grid{grid-template-columns:1fr;}}

/* FAQ */
#faq{background:var(--light);}
.fg{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:64px;}
.fi{background:white;border-radius:14px;border:1px solid var(--border);overflow:hidden;transition:box-shadow .25s;}
.fi:hover{box-shadow:0 4px 20px rgba(13,43,94,.08);}
.fiq{padding:22px 24px;font-size:15px;font-weight:600;color:var(--navy);display:flex;justify-content:space-between;align-items:center;cursor:pointer;user-select:none;gap:16px;}
.fii{width:24px;height:24px;border-radius:50%;background:var(--light);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:400;color:var(--steel);flex-shrink:0;transition:transform .3s,background .3s;}
.fi.op .fii{transform:rotate(45deg);background:var(--navy);color:white;}
.fia{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.16,1,.3,1);}
.fi.op .fia{max-height:600px;}
.fiai{padding:0 24px 22px;font-size:14px;line-height:1.72;color:var(--muted);border-top:1px solid var(--border);padding-top:16px;}

/* KONTAKT */
#kontakt{background:var(--navy);overflow:hidden;}
#kontakt .stg{color:var(--steel);}
#kontakt .sti{color:white;}
#kontakt .ssu{color:rgba(255,255,255,.4);max-width:100%;}
.cg{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;margin-top:60px;align-items:start;}
.ci{display:flex;flex-direction:column;gap:24px;}
.cit{display:flex;align-items:center;gap:16px;}
.cic{width:46px;height:46px;border-radius:12px;background:rgba(255,255,255,.05);display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid rgba(255,255,255,.07);color:var(--steel);}
.cic svg{width:20px;height:20px;}
.cil{font-size:11px;color:rgba(255,255,255,.28);font-weight:600;letter-spacing:.1em;text-transform:uppercase;margin-bottom:3px;}
.civ{font-size:15px;color:rgba(255,255,255,.8);font-weight:500;}
.cf{display:flex;flex-direction:column;gap:14px;}
.cr{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.cfd{display:flex;flex-direction:column;gap:7px;}
.cfd label{font-size:11px;font-weight:600;color:rgba(255,255,255,.3);letter-spacing:.1em;text-transform:uppercase;}
.cfd input,.cfd textarea,.cfd select{padding:13px 16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);border-radius:10px;color:white;font-size:14px;font-family:'Inter',sans-serif;outline:none;resize:none;transition:border-color .25s,background .25s;-webkit-appearance:none;}
.cfd input::placeholder,.cfd textarea::placeholder{color:rgba(255,255,255,.18);}
.cfd input:focus,.cfd textarea:focus,.cfd select:focus{border-color:rgba(127,168,216,.4);background:rgba(255,255,255,.08);}
.cfd select option{background:#0d2b5e;}
.bsub{align-self:flex-start;padding:14px 28px;background:white;color:var(--navy);font-size:14.5px;font-weight:700;border-radius:10px;border:none;cursor:pointer;position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 20px rgba(0,0,0,.2);}
.bsub::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--silver),white);opacity:0;transition:opacity .3s;}
.bsub span{position:relative;z-index:1;}
.bsub:hover{transform:translateY(-2px);box-shadow:0 10px 32px rgba(0,0,0,.3);}
.bsub:hover::before{opacity:1;}

/* FOOTER */
footer{background:#06101e;padding:44px 56px 28px;}
.ft{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:40px;}
.fl .by{font-size:9px;font-weight:300;font-style:italic;color:rgba(127,168,216,.3);letter-spacing:.14em;padding-left:2px;}
.fl .mtz{font-size:19px;font-weight:800;color:rgba(255,255,255,.55);letter-spacing:-.02em;}
.fl .ftag{font-size:12px;color:rgba(255,255,255,.18);margin-top:5px;}
.fls{display:flex;gap:56px;}
.fc h4{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.2);margin-bottom:16px;}
.fc a{display:block;font-size:13px;color:rgba(255,255,255,.35);text-decoration:none;margin-bottom:10px;transition:color .2s;}
.fc a:hover{color:rgba(255,255,255,.65);}
.fb{border-top:1px solid rgba(255,255,255,.05);padding-top:24px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;}
.fb p{font-size:12px;color:rgba(255,255,255,.18);}

/* REVEAL */
.rv{opacity:0;transform:translateY(35px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);}
.rv.vis{opacity:1;transform:translateY(0);}
.d1{transition-delay:.1s;}.d2{transition-delay:.2s;}.d3{transition-delay:.3s;}.d4{transition-delay:.4s;}.d5{transition-delay:.5s;}.d6{transition-delay:.6s;}.d7{transition-delay:.7s;}.d8{transition-delay:.8s;}.d9{transition-delay:.9s;}

/* PARALLAX SECTIONS */
.parallax-section{position:relative;}
.parallax-bg{position:absolute;inset:-50px;z-index:0;will-change:transform;}

/* PAIN POINT SECTION */
#schmerz{background:var(--navy);padding:100px 56px;text-align:center;position:relative;overflow:hidden;}
#schmerz::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 100%,rgba(127,168,216,.08),transparent 70%);}
.pain-number{font-size:clamp(72px,10vw,120px);font-weight:900;color:transparent;-webkit-text-stroke:2px rgba(127,168,216,.3);letter-spacing:-.05em;line-height:1;margin-bottom:0;}
.pain-title{font-size:clamp(22px,3vw,34px);font-weight:700;color:white;margin-bottom:16px;line-height:1.2;}
.pain-sub{font-size:16px;color:rgba(255,255,255,.45);max-width:560px;margin:0 auto 44px;line-height:1.7;}
.pain-cta{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;background:rgba(127,168,216,.12);border:1px solid rgba(127,168,216,.25);border-radius:10px;color:rgba(255,255,255,.75);font-size:14px;font-weight:600;text-decoration:none;transition:background .3s,border-color .3s,color .3s;}
.pain-cta:hover{background:rgba(127,168,216,.2);border-color:rgba(127,168,216,.5);color:white;}

/* VERGLEICH SECTION */
#vergleich{background:var(--light);padding:100px 56px;}
.vg{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:56px;max-width:900px;margin-left:auto;margin-right:auto;}
.vc{border-radius:20px;padding:40px 36px;border:1px solid var(--border);}
.vc-bad{background:white;opacity:.75;}
.vc-good{background:var(--navy);box-shadow:0 24px 64px rgba(13,43,94,.2);}
.vc-label{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin-bottom:20px;display:block;}
.vc-bad .vc-label{color:var(--muted);}
.vc-good .vc-label{color:var(--steel);}
.vc-title{font-size:22px;font-weight:800;margin-bottom:24px;line-height:1.2;}
.vc-bad .vc-title{color:var(--navy);}
.vc-good .vc-title{color:white;}
.vc-list{list-style:none;display:flex;flex-direction:column;gap:13px;}
.vc-list li{display:flex;align-items:flex-start;gap:12px;font-size:14px;line-height:1.5;}
.vc-bad .vc-list li{color:var(--muted);}
.vc-good .vc-list li{color:rgba(255,255,255,.75);}
.vc-icon{flex-shrink:0;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-top:1px;}
.vc-icon.x{background:rgba(180,50,50,.12);}
.vc-icon.x svg{stroke:#c0392b;width:11px;height:11px;}
.vc-icon.ok{background:rgba(34,197,94,.18);}
.vc-icon.ok svg{stroke:#22c55e;width:11px;height:11px;}
.vc-badge{display:inline-block;margin-top:28px;padding:8px 16px;background:rgba(127,168,216,.12);border-radius:8px;font-size:11px;font-weight:600;color:var(--steel);letter-spacing:.06em;}

/* PREISE SECTION */
#preise{background:white;padding:100px 56px;}
.preis-g{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:56px;}
.preis-g-bottom{margin-top:22px;}
.preis-c.monthly{background:linear-gradient(135deg,#0d2b5e 0%,#1a4a8f 100%);border-color:transparent;display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center;}
.preis-c.monthly .preis-name{color:var(--silver);}
.preis-c.monthly .preis-price{color:white;}
.preis-c.monthly .preis-from{color:rgba(255,255,255,.45);}
.preis-c.monthly .preis-list li{color:rgba(255,255,255,.8);}
.preis-c.monthly .preis-list li svg{stroke:var(--steel);}
.preis-c.monthly .preis-cta{background:white;color:var(--navy);margin-top:0;}
.preis-c.monthly .preis-badge{background:var(--steel);}
.preis-monthly-right{display:flex;flex-direction:column;justify-content:center;}
.preis-monthly-desc{font-size:14px;color:rgba(255,255,255,.55);line-height:1.65;margin-bottom:20px;}
.spende-strip{margin-top:32px;padding:22px 28px;background:linear-gradient(135deg,rgba(13,43,94,.04),rgba(26,74,143,.06));border:1px solid rgba(13,43,94,.1);border-radius:16px;display:flex;align-items:center;gap:18px;}
.spende-heart{font-size:28px;flex-shrink:0;}
.spende-text{font-size:14px;color:var(--muted);line-height:1.6;}
.spende-text strong{color:var(--navy);}
.spende-text a{color:var(--royal);font-weight:700;text-decoration:none;}
.spende-text a:hover{text-decoration:underline;}
@media(max-width:1100px){.preis-g{grid-template-columns:1fr 1fr;}}
@media(max-width:900px){.preis-g{grid-template-columns:1fr 1fr;}.preis-c.monthly{grid-template-columns:1fr;}}
@media(max-width:600px){.preis-g{grid-template-columns:1fr;}.preis-c.monthly{grid-template-columns:1fr;}.spende-strip{flex-direction:column;text-align:center;}}
.preis-c{border-radius:20px;padding:36px 30px;border:1px solid var(--border);position:relative;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s;}
.preis-c:hover{transform:translateY(-8px);box-shadow:0 20px 48px rgba(13,43,94,.12);}
.preis-c.featured{background:var(--navy);border-color:transparent;box-shadow:0 16px 48px rgba(13,43,94,.2);}
.preis-badge{position:absolute;top:-14px;left:50%;transform:translateX(-50%);padding:5px 16px;background:var(--steel);border-radius:999px;font-size:11px;font-weight:700;color:white;letter-spacing:.06em;white-space:nowrap;}
.preis-name{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--steel);margin-bottom:14px;display:block;}
.preis-c.featured .preis-name{color:var(--silver);}
.preis-price{font-size:42px;font-weight:900;letter-spacing:-.04em;color:var(--navy);line-height:1;margin-bottom:4px;}
.preis-c.featured .preis-price{color:white;}
.preis-from{font-size:12px;color:var(--muted);margin-bottom:24px;display:block;}
.preis-c.featured .preis-from{color:rgba(255,255,255,.4);}
.preis-list{list-style:none;display:flex;flex-direction:column;gap:11px;margin-bottom:28px;}
.preis-list li{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--text);}
.preis-c.featured .preis-list li{color:rgba(255,255,255,.75);}
.preis-list li svg{width:15px;height:15px;stroke:var(--steel);flex-shrink:0;}
.preis-cta{display:block;text-align:center;padding:13px 20px;border-radius:10px;font-size:14px;font-weight:700;text-decoration:none;transition:background .25s,color .25s,transform .25s,box-shadow .25s,border-color .25s,opacity .25s;}
.preis-c:not(.featured) .preis-cta{background:var(--light);color:var(--navy);}
.preis-c:not(.featured) .preis-cta:hover{background:var(--navy);color:white;}
.preis-c.featured .preis-cta{background:white;color:var(--navy);}
.preis-c.featured .preis-cta:hover{background:var(--silver);}
.preis-note{text-align:center;margin-top:24px;font-size:13px;color:var(--muted);}

/* ANALYSE SECTION */
#analyse{background:linear-gradient(135deg,var(--navy),var(--royal));padding:100px 56px;}
.analyse-inner{max-width:700px;margin:0 auto;text-align:center;}
.analyse-inner .stg{color:var(--steel);text-align:center;}
.analyse-inner .sti{color:white;text-align:center;}
.analyse-inner p{font-size:17px;color:rgba(255,255,255,.5);line-height:1.7;margin-bottom:36px;}
.analyse-form{display:flex;gap:12px;max-width:520px;margin:0 auto;}
.analyse-form input{flex:1;padding:14px 18px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);border-radius:10px;color:white;font-size:14px;font-family:'Inter',sans-serif;outline:none;transition:border-color .25s;}
.analyse-form input::placeholder{color:rgba(255,255,255,.3);}
.analyse-form input:focus{border-color:rgba(127,168,216,.5);background:rgba(255,255,255,.1);}
.analyse-form button{padding:14px 24px;background:white;color:var(--navy);font-size:14px;font-weight:700;border:none;border-radius:10px;cursor:pointer;transition:transform .2s,box-shadow .2s;white-space:nowrap;box-shadow:0 4px 16px rgba(0,0,0,.2);}
.analyse-form button:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(0,0,0,.3);}
.analyse-trust{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:20px;flex-wrap:wrap;}
.analyse-trust span{font-size:12px;color:rgba(255,255,255,.3);display:flex;align-items:center;gap:6px;}
.analyse-trust span svg{width:14px;height:14px;stroke:var(--steel);}

/* RESPONSIVE additions */
@media(max-width:1024px){
  html{scroll-padding-top:120px;}
  #schmerz,#fuer-wen,#foerderung{padding:72px 28px;}
  #vergleich,#preise,#analyse{padding:72px 28px;}
  .vg{grid-template-columns:1fr;}
  .preis-g{grid-template-columns:1fr;}
  .analyse-form{flex-direction:column;}
}

/* FLOATING CTA */
#float-cta{position:fixed;bottom:32px;right:32px;z-index:500;opacity:0;transform:translateY(20px) scale(.9);transition:opacity .4s,transform .4s;pointer-events:none;}
#float-cta.vis{opacity:1;transform:translateY(0) scale(1);pointer-events:all;}
.fcta-btn{display:flex;align-items:center;gap:10px;padding:14px 22px;background:var(--navy);color:white;font-size:13.5px;font-weight:700;border-radius:50px;text-decoration:none;box-shadow:0 8px 32px rgba(13,43,94,.35);transition:transform .25s,box-shadow .25s,background .25s;white-space:nowrap;}
.fcta-btn:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 14px 44px rgba(13,43,94,.5);background:var(--royal);}
.fcta-btn svg{width:16px;height:16px;}
.fcta-pulse{position:absolute;top:-3px;right:-3px;width:12px;height:12px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 0 rgba(74,222,128,.4);animation:ping 3s ease-in-out infinite;}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(74,222,128,.5);}70%{box-shadow:0 0 0 10px rgba(74,222,128,0);}100%{box-shadow:0 0 0 0 rgba(74,222,128,0);}}

/* ===== BACK TO TOP ===== */
#top-btn{position:fixed;bottom:100px;right:32px;z-index:500;width:50px;height:50px;border-radius:50%;background:white;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 20px rgba(13,43,94,.15);transition:transform .25s,box-shadow .25s,opacity .4s;opacity:0;transform:translateY(20px);pointer-events:none;}
#top-btn.vis{opacity:1;transform:translateY(0);pointer-events:all;}
#top-btn:hover{transform:translateY(-3px);box-shadow:0 8px 28px rgba(13,43,94,.25);}
#top-btn svg{width:20px;height:20px;stroke:var(--navy);}
/* ===== GOOGLE REVIEW BADGE ===== */
.grev-bar{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:40px;flex-wrap:wrap;}
.grev-stars{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:700;color:var(--navy);}
.grev-stars .gs{color:#FBBC04;font-size:20px;letter-spacing:-1px;}
.grev-link{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:2px solid var(--border);border-radius:10px;font-size:13px;font-weight:700;color:var(--navy);text-decoration:none;transition:border-color .2s,background .2s;}
.grev-link:hover{border-color:var(--royal);background:var(--light);}
.grev-link svg{width:18px;height:18px;}
/* MOBILE MENU */
/* legacy mob-menu removed */
.mob-menu,.mob-overlay{display:none!important;}


/* ===== MOBILE SUB-NAV — horizontale Tab-Leiste unter der Nav ===== */
.mob-subnav{
  display:none;
  position:fixed;
  top:68px;
  left:0;
  right:0;
  z-index:190;
  background:rgba(240,244,250,0.97);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid var(--border);
  overflow-x:auto;
  scrollbar-width:none;
  -ms-overflow-style:none;
  -webkit-overflow-scrolling:touch;
  box-shadow:0 2px 12px rgba(13,43,94,.06);
  transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .2s,background .15s;
}
.mob-subnav::-webkit-scrollbar{display:none;}
.mob-subnav::after{content:'';position:absolute;top:0;right:0;bottom:0;width:36px;background:linear-gradient(to right,transparent,rgba(255,255,255,.97));pointer-events:none;z-index:2;}
.mob-subnav-inner{display:flex;align-items:center;padding:0 8px;min-width:max-content;gap:2px;}
.mob-subnav a{
  display:inline-flex;
  align-items:center;
  padding:11px 16px;
  font-size:13px;
  font-weight:600;
  color:var(--muted);
  text-decoration:none;
  white-space:nowrap;
  border-bottom:2.5px solid transparent;
  transition:color .2s,border-color .2s,background .2s;
  letter-spacing:-.01em;
  border-radius:6px 6px 0 0;
}
.mob-subnav a:hover{color:var(--navy);background:rgba(13,43,94,.04);}
.mob-subnav a.msn-active{color:var(--royal);border-bottom-color:var(--royal);background:rgba(26,74,143,.05);}
/* Dark state when overlaid on hero section */
.mob-subnav.msn-hero{background:rgba(5,15,36,.92);border-bottom-color:rgba(255,255,255,.08);}
.mob-subnav.msn-hero a{color:rgba(255,255,255,.55);}
.mob-subnav.msn-hero a:hover{color:rgba(255,255,255,.9);background:rgba(255,255,255,.07);}
.mob-subnav.msn-hero a.msn-active{color:white;border-bottom-color:var(--royal);background:rgba(26,74,143,.2);}
.mob-subnav.msn-hero::after{background:linear-gradient(to right,transparent,rgba(5,15,36,.82));}
.mob-subnav.msn-hide{transform:translateY(-100%);opacity:0;}
@media(max-width:1024px){
  .mob-subnav{display:block;}
}

/* ÜBER MICH */
#ueber{background:white;padding:120px 56px;overflow:hidden;}
.ueber-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:80px;align-items:center;margin-top:56px;}
.ueber-left{display:flex;flex-direction:column;align-items:flex-start;gap:28px;}
.avatar-wrap{position:relative;width:240px;height:240px;}
.avatar-ring{position:absolute;inset:-8px;border-radius:50%;border:2px solid var(--border);animation:spin 20s linear infinite;}
.avatar-ring::before{content:'';position:absolute;top:0;left:50%;width:10px;height:10px;background:var(--steel);border-radius:50%;transform:translate(-50%,-50%);}
@keyframes spin{to{transform:rotate(360deg);}}
.avatar{width:240px;height:240px;border-radius:50%;background:linear-gradient(135deg,var(--navy),var(--royal));display:flex;align-items:center;justify-content:center;font-size:72px;font-weight:900;color:white;letter-spacing:-.04em;box-shadow:0 20px 60px rgba(13,43,94,.2);position:relative;z-index:1;}
.avatar-badge{position:absolute;bottom:12px;right:-12px;padding:8px 14px;background:white;border-radius:10px;box-shadow:0 8px 24px rgba(13,43,94,.12);z-index:2;display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:var(--navy);border:1px solid var(--border);}
.avatar-badge .dot{width:8px;height:8px;border-radius:50%;background:#4ade80;}
.ueber-tags{display:flex;flex-wrap:wrap;gap:8px;}
.ueber-tag{padding:6px 14px;background:var(--light);border-radius:999px;font-size:12px;font-weight:600;color:var(--muted);border:1px solid var(--border);}
.ueber-right h2{font-size:clamp(28px,3.5vw,42px);font-weight:800;color:var(--navy);letter-spacing:-.025em;line-height:1.1;margin-bottom:20px;}
.ueber-right h2 em{font-style:normal;background:linear-gradient(135deg,var(--royal),var(--steel));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.ueber-text{font-size:16.5px;line-height:1.78;color:var(--muted);margin-bottom:28px;}
.ueber-facts{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:32px;}
.uf{padding:18px 20px;background:var(--light);border-radius:14px;border:1px solid var(--border);}
.uf-val{font-size:26px;font-weight:900;color:var(--navy);letter-spacing:-.03em;line-height:1;}
.uf-lbl{font-size:11.5px;color:var(--muted);margin-top:4px;}
.ueber-certs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:8px;}
.ucert{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;background:var(--light);border:1px solid var(--border);border-radius:999px;font-size:12px;font-weight:600;color:var(--navy);}
.ucert svg{stroke:var(--steel);}

/* REVEAL VARIATIONS */
.rv-left{opacity:0;transform:translateX(-40px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);}
.rv-left.vis{opacity:1;transform:translateX(0);}
.rv-right{opacity:0;transform:translateX(40px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);}
.rv-right.vis{opacity:1;transform:translateX(0);}
.rv-scale{opacity:0;transform:scale(.92);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);}
.rv-scale.vis{opacity:1;transform:scale(1);}

/* HERO GRAIN */
.hero::after{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-size:200px;}

/* SECTION DIVIDERS */
.section-wave{width:100%;overflow:hidden;line-height:0;margin-top:-2px;}
.section-wave svg{display:block;width:100%;}

/* RESPONSIVE ÜBER MICH + MOBILE */
@media(max-width:1024px){
  #ueber{padding:72px 28px;}
  .ueber-grid{grid-template-columns:1fr;gap:40px;}
  .ueber-right{order:1;}
  .ueber-left{flex-direction:row;align-items:center;gap:24px;order:2;}
  .avatar-wrap{width:120px;height:120px;} .ueber-left img{width:120px!important;height:120px!important;}
  .avatar{width:120px;height:120px;font-size:36px;}
  .avatar-ring{display:none;}
  .avatar-badge{font-size:10px;padding:6px 10px;bottom:6px;right:-8px;}
  /* Hamburger entfernt — mob-subnav übernimmt */
  .nl{display:none!important;}
  /* CTA Button auf Mobile sichtbar */
  .ncta{display:flex!important;padding:9px 18px;font-size:12.5px;font-weight:700;letter-spacing:-.01em;}
  #float-cta{bottom:20px;right:20px;}
  /* Content-Abstand wegen mob-subnav (68px nav + 44px subnav) */
  .hero{padding-top:160px!important;}
  /* Subpages: page-section-nav unter der mob-subnav */
  .page-section-nav{top:112px;}
  /* Fix cursor on submit button (custom cursor disabled on mobile) */
  .bsub{cursor:pointer;}
  /* Fix orphan card centering on 2-col grid */
  .sg>.sc:last-child:nth-child(3n+1){grid-column:auto;}
}
/* RESPONSIVE */
@media(max-width:1024px){
  nav{padding:0 28px;} .nl{gap:20px;}
  section{padding:80px 28px;} .hero{padding:110px 28px 72px;}
  .hi{grid-template-columns:1fr;gap:0;} .hright{display:none;}
  .sbar{padding:40px 28px;} .si{grid-template-columns:repeat(2,1fr);gap:32px;}
  .sit+.sit::before{display:none;}
  .sg{grid-template-columns:1fr 1fr;} .pg{grid-template-columns:1fr 1fr;}
  .prg{grid-template-columns:1fr;} .tg{grid-template-columns:1fr;}
  .fg{grid-template-columns:1fr;} .cg{grid-template-columns:1fr;gap:40px;}
  .cr{grid-template-columns:1fr;} .ft{flex-direction:column;gap:32px;}
  .fls{flex-wrap:wrap;gap:24px;} footer{padding:36px 28px 120px;}
  body{cursor:auto;} #cur,#cur2{display:none;}
  /* Logo colors handled globally by always-dark mobile nav rule above */
  /* Nav desktop links: hide on mobile (mob-subnav handles it) */
  .nl{display:none !important;}
}
@media(max-width:640px){
  .nl{display:none;} .sg{grid-template-columns:1fr;} .pg{grid-template-columns:1fr;}
  .fb{gap:4px;}
  /* Fix orphan card centering on single-col layout */
  .sg>.sc:last-child:nth-child(3n+1){grid-column:auto;}
}

/* ===== CHAT WIDGET ===== */
#chat-bubble{position:fixed;bottom:32px;left:32px;z-index:10001;transition:bottom .3s ease;}
/* Persistent pulse ring — makes chat button impossible to miss */
#chat-bubble::before{content:'';position:absolute;bottom:0;left:0;width:56px;height:56px;border-radius:50%;background:rgba(13,43,94,.35);animation:chat-pulse 4s ease-out infinite;pointer-events:none;}
@keyframes chat-pulse{0%{transform:scale(1);opacity:.7;}70%{transform:scale(1.7);opacity:0;}100%{transform:scale(1.7);opacity:0;}}
.chat-btn{width:56px;height:56px;border-radius:50%;background:var(--navy);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 28px rgba(13,43,94,.35);transition:transform .25s,box-shadow .25s;position:relative;}
.chat-btn:hover{transform:scale(1.08);box-shadow:0 12px 36px rgba(13,43,94,.45);}
.chat-btn img{width:56px;height:56px;border-radius:50%;object-fit:cover;object-position:center top;}
.chat-online{position:absolute;bottom:2px;right:2px;width:13px;height:13px;background:#4ade80;border-radius:50%;border:2.5px solid white;}
.chat-notif{position:absolute;top:-4px;right:-4px;width:20px;height:20px;background:#ef4444;border-radius:50%;border:2px solid white;font-size:11px;font-weight:700;color:white;display:flex;align-items:center;justify-content:center;animation:bounce-in .4s cubic-bezier(.16,1,.3,1);}
@keyframes bounce-in{0%{transform:scale(0);}100%{transform:scale(1);}}

.chat-window{position:absolute;bottom:70px;left:0;width:340px;background:white;border-radius:20px;box-shadow:0 20px 60px rgba(13,43,94,.18);border:1px solid var(--border);overflow:hidden;opacity:0;transform:translateY(16px) scale(.95);transition:opacity .3s,transform .3s;pointer-events:none;max-height:520px;display:flex;flex-direction:column;}
.chat-window.open{opacity:1;transform:translateY(0) scale(1);pointer-events:all;}
.chat-header{background:var(--navy);padding:16px 18px;display:flex;align-items:center;gap:12px;flex-shrink:0;}
.chat-header img{width:38px;height:38px;border-radius:50%;object-fit:cover;object-position:center top;border:2px solid rgba(255,255,255,.2);}
.chat-header-info{flex:1;}
.chat-header-name{font-size:14px;font-weight:700;color:white;}
.chat-header-status{font-size:11px;color:rgba(255,255,255,.5);display:flex;align-items:center;gap:5px;margin-top:1px;}
.chat-header-status::before{content:'';width:7px;height:7px;background:#4ade80;border-radius:50%;flex-shrink:0;}
.chat-close{background:none;border:none;color:rgba(255,255,255,.5);cursor:pointer;padding:4px;font-size:18px;line-height:1;transition:color .2s;}
.chat-close:hover{color:white;}

.chat-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:#f8fafc;}
.chat-body::-webkit-scrollbar{width:4px;}
.chat-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px;}

.msg{max-width:82%;display:flex;flex-direction:column;gap:3px;animation:msg-in .3s cubic-bezier(.16,1,.3,1);}
@keyframes msg-in{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
.msg.bot{align-self:flex-start;}
.msg.user{align-self:flex-end;}
.msg-bubble{padding:10px 14px;border-radius:14px;font-size:13.5px;line-height:1.55;}
.msg.bot .msg-bubble{background:white;color:var(--text);border-bottom-left-radius:4px;box-shadow:0 1px 4px rgba(0,0,0,.06);}
.msg.user .msg-bubble{background:var(--navy);color:white;border-bottom-right-radius:4px;}
.msg-time{font-size:10px;color:var(--muted);padding:0 4px;}
.msg.user .msg-time{text-align:right;}

.chat-typing{align-self:flex-start;display:flex;gap:4px;padding:10px 14px;background:white;border-radius:14px;border-bottom-left-radius:4px;box-shadow:0 1px 4px rgba(0,0,0,.06);}
.chat-typing span{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:typing .9s ease-in-out infinite;}
.chat-typing span:nth-child(2){animation-delay:.18s;}
.chat-typing span:nth-child(3){animation-delay:.36s;}
@keyframes typing{0%,60%,100%{transform:translateY(0);opacity:.4;}30%{transform:translateY(-5px);opacity:1;}}

.chat-chips{display:flex;flex-wrap:wrap;gap:7px;padding:8px 16px;flex-shrink:0;background:#f8fafc;border-top:1px solid var(--border);}
.chip{padding:7px 13px;border-radius:999px;background:white;border:1.5px solid var(--border);font-size:12px;font-weight:600;color:var(--navy);cursor:pointer;transition:background .2s,border-color .2s,color .2s;white-space:nowrap;}
.chip:hover{background:var(--navy);border-color:var(--navy);color:white;}

.chat-input-row{display:flex;gap:8px;padding:12px 14px;background:white;border-top:1px solid var(--border);flex-shrink:0;}
.chat-input{flex:1;padding:9px 13px;background:var(--light);border:1.5px solid var(--border);border-radius:20px;font-size:13px;font-family:'Inter',sans-serif;outline:none;color:var(--text);transition:border-color .2s;}
.chat-input:focus{border-color:var(--steel);}
.chat-send{width:36px;height:36px;border-radius:50%;background:var(--navy);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,transform .2s;flex-shrink:0;}
.chat-send:hover{background:var(--royal);transform:scale(1.05);}
.chat-send svg{width:16px;height:16px;stroke:white;}

@media(max-width:640px){
  .chat-window{width:calc(100vw - 32px);left:0;}
  #chat-bubble{bottom:20px;left:16px;}
}

/* ===== PRELOADER ===== */
#preloader{display:none;}
#preloader.done{opacity:0;visibility:hidden;pointer-events:none;}
.pl-inner{text-align:center;}
.pl-logo{font-size:13px;font-weight:300;font-style:italic;color:rgba(127,168,216,.4);letter-spacing:.2em;margin-bottom:4px;}
.pl-name{font-size:36px;font-weight:900;color:white;letter-spacing:-.04em;margin-bottom:32px;}
.pl-bar{width:160px;height:2px;background:rgba(255,255,255,.08);border-radius:2px;overflow:hidden;margin:0 auto;}
.pl-fill{height:100%;width:0;background:linear-gradient(90deg,var(--steel),var(--royal));border-radius:2px;transition:width .05s linear;}

/* ===== FÜR WEN ===== */
#fuer-wen{background:var(--navy);padding:100px 56px;}
.fw-inner{max-width:1120px;margin:0 auto;text-align:center;}
.fw-inner .stg{text-align:center;color:var(--steel);}
.fw-inner .sti{text-align:center;margin:0 auto 12px;color:white;}
.fw-inner .ssu{text-align:center;margin:0 auto 36px;color:rgba(255,255,255,.55);}
.branchen-pills{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;}
.branchen-pill{padding:10px 22px;background:rgba(255,255,255,.07);border:1px solid rgba(127,168,216,.2);border-radius:999px;font-size:14px;font-weight:600;color:rgba(255,255,255,.8);cursor:default;transition:background .25s var(--ease-out-expo);}
.branchen-pill:hover{background:white;color:var(--navy);border-color:white;transform:translateY(-2px);}

/* ===== KMU FÖRDERUNG ===== */
#foerderung{background:linear-gradient(135deg,#050f24 0%,#0d2b5e 100%);padding:100px 56px;border-top:1px solid rgba(127,168,216,.1);}
#foerderung .stg{color:rgba(134,239,172,.8);}
#foerderung .sti{color:white;}
#foerderung .ssu{color:rgba(255,255,255,.55);}
.foerder-con{max-width:1120px;margin:0 auto;text-align:center;} .foerder-con .ssu{margin-left:auto;margin-right:auto;text-align:center;}
.foerder-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px;}
.foerder-card{background:rgba(255,255,255,.05);border:1px solid rgba(127,168,216,.15);border-radius:20px;padding:36px 28px;text-align:center;transition:transform .3s var(--ease-out-expo),background .3s;}
.foerder-card:hover{transform:translateY(-6px);background:rgba(255,255,255,.09);}
.foerder-icon{font-size:32px;margin-bottom:16px;}
.foerder-card-title{font-size:18px;font-weight:800;color:white;margin-bottom:10px;}
.foerder-card-text{font-size:14px;color:rgba(255,255,255,.5);line-height:1.6;}
@media(max-width:768px){.foerder-cards{grid-template-columns:1fr;}}

/* ===== BLOG ===== */
#blog{background:#f8faff;padding:100px 56px;}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:52px;}
.blog-card{background:white;border-radius:20px;border:1px solid rgba(13,43,94,.07);overflow:hidden;transition:transform .4s var(--ease-out-expo),box-shadow .4s;cursor:pointer;}
.blog-card:hover{transform:translateY(-8px);box-shadow:0 24px 56px rgba(13,43,94,.12);}
.blog-card-top{height:6px;background:linear-gradient(90deg,var(--navy),var(--steel));}
.blog-card-body{padding:28px;}
.blog-tag{display:inline-block;padding:4px 12px;background:var(--light);border-radius:8px;font-size:11px;font-weight:700;color:var(--steel);letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px;}
.blog-card h3{font-size:17px;font-weight:700;color:var(--navy);line-height:1.35;margin-bottom:10px;}
.blog-card p{font-size:13px;color:var(--muted);line-height:1.65;margin-bottom:20px;}
.blog-link{font-size:13px;font-weight:700;color:var(--steel);text-decoration:none;display:inline-flex;align-items:center;gap:6px;transition:gap .2s;}
.blog-link:hover{gap:10px;}
@media(max-width:900px){.blog-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.blog-grid{grid-template-columns:1fr;}}

/* ===== PERFORMANCE & ACCESSIBILITY ===== */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;}
  #preloader{display:none !important;}
}
.sg .sc,.prg .prc,.blog-page-grid .blog-page-card{contain:layout style;}
/* content-visibility:auto removed — causes scroll jank when browser re-renders discarded sections */

.branchen-pill.active{background:var(--royal);color:white;border-color:var(--royal);}
.blog-card-top{transition:height .3s;}
.blog-card:hover .blog-card-top{height:10px;}

/* ===== GLASSMORPHISM UPGRADES ===== */
.sc{-webkit-}
/* chat-window backdrop-filter removed — invisible panel still composited GPU layer */
/* nav.sc backdrop removed — solid bg is sufficient */
/* smooth price card focus */
.prc:focus-within,.prc:hover{outline:none;}
/* blog section background */
#blog{position:relative;}
#blog::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--navy),var(--steel),var(--royal));opacity:.4;}

/* ===== MOBILE ===== */
@media(max-width:768px){
  nav{padding:0 20px;}
  .nl{display:none;}
  .hero{padding:120px 20px 80px;}
  .hero-trust-badges{flex-direction:column;gap:8px;align-items:flex-start;}
  .hero-trust-badges span{width:100%;justify-content:center;}
  .hcard{padding:20px;}
  .sbar{padding:0;}
  .si{display:grid;grid-template-columns:1fr 1fr;gap:0;}
  .sit{padding:24px 16px;border-bottom:1px solid var(--border);}
  .sit:nth-child(odd){border-right:1px solid var(--border);}
  .sn{font-size:28px;}
  #schmerz,#leistungen,#prozess,#vergleich,#preise,#analyse,#ueber,#faq,#kontakt,#foerderung,#fuer-wen,#blog,#testimonials{padding:72px 24px;}
  .branchen-pills{gap:8px;}
  .branchen-pill{font-size:13px;padding:8px 16px;}
  .foerder-cards{grid-template-columns:1fr;gap:16px;}
  .foerder-card{padding:24px 20px;}
  .blog-grid{grid-template-columns:1fr;gap:16px;}
  .prc-grid{grid-template-columns:1fr;gap:20px;}
  .prc{padding:28px 20px;}
  .uber-inner{flex-direction:column;gap:32px;}
  .uber-img{width:180px;height:180px;margin:0 auto;}
  .ts-grid{grid-template-columns:1fr;}
  .kgrid{grid-template-columns:1fr;}
  #float-cta{bottom:80px;right:16px;}

  #chat-bubble{bottom:20px;left:16px;} #float-cta{bottom:20px;right:16px;} #top-btn{bottom:84px;right:16px;}

  /* Notification badge: top-left when button is on left */
  .chat-notif{left:-4px;right:auto;top:-4px;}

  /* Comparison cards: stack vertically */
  .vg{grid-template-columns:1fr;gap:16px;margin-top:32px;}
  .vc{padding:28px 20px;}
  .vc-title{font-size:18px;}

  /* Leistungen cards */
  .lg{grid-template-columns:1fr;gap:16px;}

  /* FAQ tap targets */
  .fiq{padding:18px 16px;font-size:15px;}
  .faq-ans{padding:0 16px 16px;}

  /* Hero stat cards */
  .hcard{padding:16px 12px;}
  .hcard-n{font-size:28px;}

  /* Pricing featured card */
  .prc.featured{transform:none;margin-top:0;}
}
@media(max-width:480px){
  .hero h1{font-size:clamp(26px,8vw,36px);hyphens:none;overflow-wrap:normal;}
  .sti{font-size:clamp(26px,7.5vw,34px);}
  .sn{font-size:28px;}
  .prc.featured{transform:none;}
  .blog-card-body{padding:22px 18px;}
  .lead{font-size:16px;margin-bottom:28px;}
  .hacts{flex-wrap:wrap;}
  .bmag{width:100%;justify-content:center;}
  .bout{width:100%;justify-content:center;}
  .hero-trust-badges{flex-direction:column!important;gap:8px!important;}
  .hero-trust-badges span{width:100%;justify-content:center!important;text-align:center;}
  section{padding:64px 20px;}
  .mob-subnav a{padding:11px 14px;font-size:12px;}
}

/* ===== STICKY SECTION NAV ===== */

/* ===== 7-CARD ORPHAN CENTER (desktop 3-col only) ===== */
@media(min-width:1025px){
  .sg>.sc:last-child:nth-child(3n+1){grid-column:2;}
}

/* ===== PAGE SECTION NAV (Unterseiten) ===== */
.page-section-nav{background:rgba(8,20,48,.96);border-bottom:1px solid rgba(127,168,216,.1);position:sticky;top:68px;z-index:150;}
.page-section-nav .psn-inner{display:flex;align-items:center;gap:0;max-width:1200px;margin:0 auto;padding:0 56px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;}
.page-section-nav .psn-inner::-webkit-scrollbar{display:none;}
.page-section-nav a{display:block;padding:13px 20px;font-size:13px;font-weight:500;color:rgba(255,255,255,.38);text-decoration:none;white-space:nowrap;border-bottom:2px solid transparent;transition:color .2s,border-color .2s;letter-spacing:.005em;}
.page-section-nav a:hover{color:rgba(255,255,255,.8);border-bottom-color:rgba(127,168,216,.35);}
.page-section-nav a.psn-active{color:white;border-bottom-color:var(--royal);font-weight:600;}
@media(max-width:768px){
  .page-section-nav{top:68px;}
  .page-section-nav .psn-inner{padding:0 16px;}
  .page-section-nav a{padding:11px 14px;font-size:12.5px;}
}

/* ===== WOW EFFECTS ===== */

/* 1. Page spotlight — follows cursor, illuminates content */
#spl{position:fixed;inset:0;pointer-events:none;z-index:2;
  background:radial-gradient(900px circle at var(--sx,-9999px) var(--sy,-9999px),rgba(127,168,216,.055),transparent 50%);}

/* 2. Card inner glow — radial light follows mouse inside each card */
.sc::before,.prc::before{content:'';position:absolute;inset:0;border-radius:inherit;
  background:radial-gradient(160px circle at var(--cx,-200px) var(--cy,-200px),rgba(127,168,216,.14),transparent 80%);
  pointer-events:none;z-index:0;opacity:0;transition:opacity .4s ease;}
.sc:hover::before,.prc:hover::before{opacity:1;}
/* Ensure card children sit above the glow layer */
.sc>*,.prc>*{position:relative;z-index:1;}

/* 3. Glowing border on card hover */
.sc:hover{box-shadow:0 24px 56px rgba(13,43,94,.2),0 0 0 1px rgba(127,168,216,.3),inset 0 1px 0 rgba(127,168,216,.09);}
.prc:hover{box-shadow:0 24px 56px rgba(13,43,94,.2),0 0 0 1px rgba(127,168,216,.28);}
.hcard:hover{box-shadow:0 8px 32px rgba(13,43,94,.28),0 0 0 1px rgba(127,168,216,.22)!important;}

/* 4. Enhanced gradient shimmer on hero title */
@keyframes shimmer{0%{background-position:0% center;}100%{background-position:200% center;}}
.gradient-text{background:linear-gradient(90deg,#8bbce8 0%,#ddeeff 22%,white 38%,#ddeeff 54%,#7fa8d8 70%,#8bbce8 100%)!important;
  background-size:200% auto!important;-webkit-background-clip:text!important;background-clip:text!important;
  -webkit-text-fill-color:transparent!important;animation:shimmer 5s linear infinite!important;}

/* 5. Morph orb enhancement */
.m3{opacity:.7;background:radial-gradient(circle,rgba(127,168,216,.5) 0%,rgba(26,74,143,.2) 50%,transparent 70%);}

/* 6. Trailing cursor ring */
#cur2{width:36px;height:36px;border:1.5px solid rgba(255,255,255,.5);border-radius:50%;position:fixed;top:-50px;left:-50px;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:width .3s,height .3s,border-color .3s;will-change:transform;}
body.ch #cur2{width:56px;height:56px;border-color:rgba(255,255,255,.8);}

/* 7. Film grain noise overlay */
/* grain overlay removed — was position:fixed full-screen GPU layer */

/* 8. Hero parallax layers (JS sets --px/--py) */

.hright{transition:transform .1s linear;}
/* morb will-change removed */

/* 9. Click ripple */
@keyframes ripple-out{to{transform:translate(-50%,-50%) scale(4);opacity:0;}}
.ripple{position:absolute;width:60px;height:60px;border-radius:50%;
  background:rgba(127,168,216,.25);pointer-events:none;
  transform:translate(-50%,-50%) scale(0);animation:ripple-out .6s ease-out forwards;}

/* Remove mouse effects on touch */
@media(hover:none){#spl,#cur2,body::after,.sc::before,.prc::before{display:none;}}

/* ===== FOCUS STATES (Accessibility) ===== */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:2px solid var(--royal);outline-offset:3px;border-radius:4px;}
.chip:focus-visible{outline:2px solid var(--royal);outline-offset:2px;}

/* ===== ENHANCED MOBILE HERO ===== */
@media(max-width:768px){
  .hero{min-height:100svh;padding-bottom:80px;}
  .hi{grid-template-columns:1fr;gap:0;}
  .hright{display:none;}
  .eyebrow{font-size:11px;padding:6px 12px;margin-bottom:18px;max-width:calc(100vw - 40px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .lead{font-size:17px;max-width:100%;margin-bottom:32px;line-height:1.65;}
  .htrust{flex-direction:row;align-items:center;gap:12px;margin-top:32px;flex-wrap:wrap;}
  .bmag,.bout{padding:14px 26px;font-size:14.5px;}
  .hacts{gap:12px;flex-wrap:wrap;margin-bottom:0;}
  .hero-trust-badges{width:100%;}
}

/* ===== PREMIUM BUTTON MICRO-INTERACTION ===== */
.bmag,.bout,.preis-cta,.ncta,.fcta-btn{
  transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s,background .25s,border-color .25s,color .25s;
}
.bmag:active,.preis-cta:active,.ncta:active{transform:scale(.97)!important;}
.bout:active{transform:scale(.97)!important;}

/* ===== SMOOTH SCROLL INDICATOR ON STATS ===== */
.sit{transition:opacity .3s;}

/* ===== CARD SELECTION GLOW (touch-friendly) ===== */
.sc:focus-within,.prc:focus-within{
  box-shadow:0 0 0 2px var(--steel),0 12px 32px rgba(13,43,94,.15);
}

/* ===== BETTER FOOTER MOBILE ===== */
@media(max-width:640px){
  footer{padding:40px 24px 100px;}
  .ft{flex-direction:column;gap:28px;}
  .fls{flex-wrap:wrap;gap:20px;}
  .fc{min-width:40%;}
}

/* ===== PREFERS-REDUCED-MOTION: Keep page visible ===== */
@media(prefers-reduced-motion:reduce){
  body{animation:none;}
}

/* ===== MISSING CSS VARIABLE FIX ===== */
:root{--ease-out-expo:cubic-bezier(.16,1,.3,1);}

/* ===== CUSTOM TEXT SELECTION ===== */
::selection{background:rgba(26,74,143,.2);color:var(--navy);}
::-moz-selection{background:rgba(26,74,143,.2);color:var(--navy);}

/* ===== CUSTOM SCROLLBAR (desktop) ===== */
@media(min-width:1025px){
  ::-webkit-scrollbar{width:6px;}
  ::-webkit-scrollbar-track{background:transparent;}
  ::-webkit-scrollbar-thumb{background:rgba(13,43,94,.18);border-radius:99px;}
  ::-webkit-scrollbar-thumb:hover{background:rgba(13,43,94,.35);}
}

/* ===== ANIMATED PRIMARY CTA (bmag) — enhanced glow on hover ===== */
.bmag:hover{
  box-shadow:0 14px 44px rgba(0,0,0,.4),0 0 0 3px rgba(127,168,216,.3),0 0 32px rgba(127,168,216,.15)!important;
}

/* ===== NAV LINK ANIMATED UNDERLINE ===== */
.nl a{position:relative;}
.nl a::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:1.5px;
  background:var(--navy);border-radius:99px;transition:width .25s var(--ease-out-expo);}
.nl a:hover::after{width:100%;}
.nl a.nav-current::after{width:100%;background:var(--royal);}
nav.hero-nav .nl a::after{background:white;}
nav.hero-nav .nl a.nav-current::after{background:white;}

/* ===== TESTIMONIAL CARD SHINE SWEEP ===== */
/* .tc already has position:relative + overflow:hidden — safe to add ::after shine */
.tc::after{content:'';position:absolute;top:0;left:-120%;width:55%;height:100%;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,.18),transparent);
  transform:skewX(-20deg);transition:left .65s var(--ease-out-expo);pointer-events:none;z-index:2;}
.tc:hover::after{left:140%;}

/* ===== STATS BAR: MOBILE ENHANCEMENT ===== */
@media(max-width:640px){
  .si{grid-template-columns:1fr 1fr;}
  .sit{padding:28px 16px;}
  .sn{font-size:clamp(28px,8vw,36px);}
  .sl{font-size:12px;}
}

/* ===== EYEBROW LETTER-SPACING ANIMATION ===== */



/* ===== PROCESS STEP CONNECTOR LINE ===== */
@media(min-width:641px){
  .pg{position:relative;}
  .pg::before{content:'';position:absolute;top:36px;left:10%;right:10%;height:1px;
    background:linear-gradient(90deg,transparent,var(--border),var(--border),transparent);z-index:0;}
  .ps{position:relative;z-index:1;}
}

/* ===== PILL HOVER LIFT (foerderung) ===== */
.foerder-card{transition:transform .35s var(--ease-out-expo),background .3s,box-shadow .35s;}
.foerder-card:hover{box-shadow:0 20px 48px rgba(13,43,94,.25);}

/* ===== SECTION HEADING ACCENT DOT ===== */
.stg{display:inline-block;}

/* ===== FLOATING CTA GLOW ===== */
.fcta-btn:hover{
  box-shadow:0 14px 44px rgba(13,43,94,.5),0 0 0 4px rgba(26,74,143,.25),0 0 28px rgba(26,74,143,.3)!important;
}

/* ===== MOBILE HERO TRUST BADGES ===== */
@media(max-width:640px){
  .hero-trust-badges{flex-direction:column!important;gap:8px!important;}
  .hero-trust-badges span{justify-content:center!important;}
  .htrust{margin-top:28px;}
  .hacts{gap:12px;}
}

/* ===== NCTA BUTTON UPGRADE ===== */
.ncta{background:var(--navy);overflow:hidden;}
.ncta::before{background:linear-gradient(135deg,var(--royal),var(--navy));}

/* ===== PAGE HERO SUBPAGES — MOBILE POLISH ===== */
@media(max-width:640px){
  .page-hero{padding-top:152px;padding-bottom:72px;padding-left:20px;padding-right:20px;}
  .page-hero p{font-size:16px;}
  .page-hero .phacts{gap:16px;}
  .breadcrumb ol{padding:0 16px;}
}

/* ===== BLOG/PROJEKT CARDS MOBILE ===== */
@media(max-width:640px){
  .blog-page-body{padding:22px 18px;}
  .projekt-section{padding:56px 20px!important;}
}

/* ===== SMOOTH NAV APPEARANCE ON LOAD — via JS class ===== */

to{transform:translateY(0);opacity:1;}}

/* ===== MOBILE PERFORMANCE — disable GPU-heavy effects on touch devices ===== */
@media(max-width:1024px){
  /* Skip ALL scroll reveal animations — show everything immediately */
  .rv,.rv-left,.rv-right,.rv-scale,.hero-stagger,.hcard,.clip-reveal,.clip-reveal-left{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
  /* Skip body entrance animation */
  body{animation:none!important;}
  /* Hide custom cursor + spotlight — no mouse on mobile */
  #cur,#cur2{display:none!important;}
  #spl{display:none!important;}
  .hi{will-change:auto!important;}
  /* KILL ALL CONTINUOUS ANIMATIONS on mobile — these were destroying performance:
     - body::after grain: full-screen fixed repaint every 0.5s
     - gradShift: gradient animation running forever
     - ping: float CTA pulse running forever  
     - chat-pulse: chat avatar pulse running forever */
  body::after{animation:none!important;background-image:none!important;}
  .gradient-text{animation:none!important;background-size:100%!important;}
  .fcta-pulse{animation:none!important;}
  #chat-bubble::before{animation:none!important;}
  .chat-online{animation:none!important;}
  .pulse-dot{animation:none!important;}
  .avatar-ring{animation:none!important;}
  /* Remove backdrop-filter everywhere — very expensive on mobile GPUs */
  nav,nav.sc,.mob-subnav,.hcard,.bout,.prb,.wg-logo-mark,.chat-window,.fcta,.page-section-nav,.section-nav{
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  /* Remove will-change — prevents unnecessary GPU layers */
  .sc,.prc,.morb,.parallax-bg{
    will-change:auto!important;
  }
  /* Remove 3D perspective — not needed without tilt JS */
  .sc,.prc{
    transform-style:flat!important;
  }
  /* Nav: always dark on mobile — logo always visible, no blending with browser chrome */
  nav{background:rgba(5,15,36,0.97)!important;box-shadow:0 2px 16px rgba(0,0,0,.25)!important;border-bottom:none!important;}
  .logo .by{color:rgba(200,216,240,.5)!important;}
  .logo .mtz{color:white!important;}
  .ncta{background:rgba(26,74,143,0.85)!important;}
  .mob-subnav:not(.msn-hero){background:rgba(255,255,255,0.99)!important;}
  /* Disable morphing orbs on mobile — pure decoration, not worth the paint */
  .morb{display:none!important;}
  /* content-visibility removed globally — no override needed */
  /* Simplify .hcard — remove glass effect */
  .hcard{background:rgba(255,255,255,.06)!important;}
  /* Ensure mob-subnav only captures horizontal scroll, not vertical */
  .mob-subnav{touch-action:pan-x!important;}
  /* Reduce transition complexity on mobile */
  .sc,.prc,.tc,.bmag,.bout,.ncta{
    transition:box-shadow .2s,background .2s!important;
  }
}


/* ===== MIGRATED from index.html inline <style> for CSP compliance ===== */
.preis-teaser-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px;text-align:left;max-width:820px;margin-left:auto;margin-right:auto;}
@media(max-width:700px){.preis-teaser-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:480px){.preis-teaser-grid{grid-template-columns:1fr;}}
@keyframes dankeIn{from{opacity:0;transform:translateX(-50%) translateY(20px);}to{opacity:1;transform:translateX(-50%) translateY(0);}}

@keyframes gradShift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
strong,b{font-weight:700;}
