:root{--primary:#0d6e8a;--primary-dark:#094f65;--primary-light:#1a8fad;--accent:#00c4e0;--dark:#0a1628;--dark-2:#0f2040;--mid:#1a3a5c;--light:#e8f4f8;--white:#ffffff;--text:#2c3e50;--text-light:#5a7a8a;--border:rgba(13,110,138,0.15);--font-main:'Sora',sans-serif;--font-mono:'Space Mono',monospace;}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--font-main);color:var(--text);background:var(--white);line-height:1.7;overflow-x:hidden;}

.circuit-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;}
.circuit-bg svg{width:100%;height:100%;opacity:0.07;}

.sticky-cta{position:fixed;bottom:0;left:0;right:0;z-index:99;background:rgba(10,22,40,0.97);backdrop-filter:blur(10px);border-top:1px solid rgba(0,196,224,0.2);padding:0.7rem 4%;display:none;align-items:center;justify-content:center;}
.sticky-cta a{width:100%;text-align:center;}

nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1rem 4%;background:rgba(10,22,40,0.95);backdrop-filter:blur(12px);border-bottom:1px solid rgba(0,196,224,0.1);transition:padding 0.3s;}
nav ul{list-style:none;display:flex;gap:1.6rem;align-items:center;}
nav ul a{color:rgba(255,255,255,0.8);text-decoration:none;font-size:0.85rem;letter-spacing:0.05em;text-transform:uppercase;font-weight:600;transition:color 0.2s;}
nav ul a:hover{color:var(--accent);}
.nav-cta{background:var(--accent);color:var(--dark)!important;padding:0.45rem 1.2rem;border-radius:4px;font-weight:700!important;}
.nav-cta:hover{background:var(--primary-light)!important;color:white!important;}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;}
.hamburger span{display:block;width:24px;height:2px;background:white;border-radius:2px;transition:0.3s;}

.lang-switch{display:flex;gap:0.3rem;align-items:center;}
.lang-btn{font-family:var(--font-mono);font-size:0.72rem;font-weight:700;color:rgba(255,255,255,0.45);background:transparent;border:1px solid transparent;padding:0.25rem 0.5rem;border-radius:4px;cursor:pointer;letter-spacing:0.05em;transition:all 0.2s;text-transform:uppercase;}
.lang-btn:hover{color:rgba(255,255,255,0.8);}
.lang-btn.active{color:var(--accent);border-color:rgba(0,196,224,0.35);background:rgba(0,196,224,0.08);}
.lang-switch-mobile{display:flex;gap:0.4rem;margin-top:1rem;justify-content:center;}

#hero{min-height:100vh;background:linear-gradient(135deg,var(--dark) 0%,var(--dark-2) 40%,var(--mid) 100%);display:flex;align-items:center;padding:8rem 4% 5rem;position:relative;overflow:hidden;}
#hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:100px;background:linear-gradient(to bottom,transparent,var(--white));pointer-events:none;z-index:2;}
.hero-glow{position:absolute;top:-20%;right:-10%;width:65vw;height:130vh;background:radial-gradient(ellipse,rgba(0,196,224,0.09) 0%,rgba(13,110,138,0.04) 40%,transparent 70%);pointer-events:none;z-index:1;}
.hero-deco{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:1;overflow:hidden;}
.deco-char{position:absolute;font-family:var(--font-mono);color:rgba(0,196,224,0.12);font-size:0.75rem;animation:floatUp linear infinite;white-space:nowrap;}
@keyframes floatUp{0%{transform:translateY(100vh);opacity:0;}10%{opacity:1;}90%{opacity:0.5;}100%{transform:translateY(-10vh);opacity:0;}}

.hero-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;position:relative;z-index:3;}
.hero-text .tag{display:block;font-family:var(--font-mono);font-size:0.75rem;color:var(--accent);letter-spacing:0.12em;text-transform:uppercase;margin-bottom:1rem;padding:0.3rem 0;border-bottom:1px solid rgba(0,196,224,0.2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.hero-text h1{font-size:clamp(1.6rem,3vw,2.8rem);font-weight:700;color:var(--white);line-height:1.15;margin-bottom:1.5rem;white-space:nowrap;}
@media(max-width:600px){
  .hero-text .tag{white-space:normal;overflow:visible;text-overflow:unset;font-size:0.68rem;letter-spacing:0.08em;}
  .hero-text h1{white-space:normal;font-size:clamp(1.4rem,7vw,2rem);}
}
.hero-text h1 span{color:var(--accent);}
.hero-text p.hero-desc{color:rgba(255,255,255,0.7);font-size:1.1rem;margin-bottom:2rem;line-height:1.8;}
.hero-trust-line{display:flex;align-items:center;gap:0.6rem;font-size:1.15rem;color:rgba(255,255,255,0.7);margin-bottom:2rem;flex-wrap:wrap;}
.hero-trust-line strong{color:var(--accent);font-weight:700;}
.hero-slogan{display:inline-block;margin-bottom:1.2rem;font-size:clamp(1rem,1.8vw,1.25rem);font-weight:600;color:rgba(255,255,255,0.92);line-height:1.4;opacity:0;transform:translateY(12px);animation:sloganIn 0.8s ease 1.1s forwards;}
.hero-slogan .slogan-part1{color:rgba(255,255,255,0.7);font-weight:400;}
.hero-slogan .slogan-wings{color:var(--accent);font-weight:700;}
@keyframes sloganIn{to{opacity:1;transform:translateY(0);}}
.hero-btns{display:flex;gap:1rem;flex-wrap:wrap;}
.btn-primary{background:var(--accent);color:var(--dark);padding:0.85rem 2rem;border-radius:4px;text-decoration:none;font-weight:700;font-size:0.95rem;transition:all 0.2s;display:inline-block;}
.btn-primary:hover{background:var(--primary-light);color:white;transform:translateY(-2px);}
.btn-outline{border:1px solid rgba(255,255,255,0.3);color:white;padding:0.85rem 2rem;border-radius:4px;text-decoration:none;font-weight:600;font-size:0.95rem;transition:all 0.2s;display:inline-block;}
.btn-outline:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px);}
.btn-ghost-light{border:1px solid var(--border);color:var(--primary-dark);padding:0.8rem 1.8rem;border-radius:4px;text-decoration:none;font-weight:600;font-size:0.9rem;transition:all 0.2s;display:inline-block;background:white;}
.btn-ghost-light:hover{border-color:var(--primary);background:var(--light);}
.btn-light{background:white;color:var(--primary-dark);padding:0.9rem 1.8rem;border-radius:4px;text-decoration:none;font-weight:700;font-size:0.92rem;transition:all 0.2s;display:inline-block;white-space:nowrap;border:none;cursor:pointer;}
.btn-light:hover{background:var(--dark);color:white;transform:translateY(-2px);}

.hero-visual{display:flex;flex-direction:column;align-items:center;gap:2rem;}
.hero-photo-wrap-large{width:360px;height:360px;border-radius:50%;border:3px solid rgba(0,196,224,0.4);background:rgba(255,255,255,0.07);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.hero-photo-wrap-large img{width:100%;height:100%;object-fit:cover;object-position:center top;}
.hero-logo-wrap{background:rgba(255,255,255,0.05);border:1px solid rgba(0,196,224,0.2);border-radius:16px;padding:2.5rem;backdrop-filter:blur(8px);text-align:center;box-shadow:0 0 60px rgba(0,196,224,0.06);}
.hero-logo-wrap img{width:220px;max-width:100%;height:auto;aspect-ratio:420/336;}

.cert-badges-row{display:flex;gap:1.1rem;flex-wrap:wrap;margin:0.5rem 0 1.5rem;}
.cert-badge-wrap{opacity:0;transform:scale(0.82) rotate(-5deg);transition:opacity 0.55s ease,transform 0.55s cubic-bezier(0.34,1.56,0.64,1);}
.cert-badge-wrap.visible{opacity:1;transform:scale(1) rotate(0deg);}
.cert-badge-wrap:nth-child(2){transition-delay:0.18s;transform:scale(0.82) rotate(5deg);}
.cert-badge-wrap:nth-child(2).visible{transform:scale(1) rotate(0deg);}
.cert-stamp{display:flex;flex-direction:column;align-items:center;justify-content:center;width:112px;height:112px;border-radius:50%;border:2.5px solid rgba(0,196,224,0.55);outline:1.5px dashed rgba(0,196,224,0.25);outline-offset:4px;background:rgba(0,196,224,0.06);padding:0.6rem;text-align:center;cursor:default;transition:transform 0.28s cubic-bezier(0.34,1.56,0.64,1),border-color 0.28s,background 0.28s,box-shadow 0.28s;}
.cert-stamp:hover{transform:scale(1.08) rotate(-3deg);border-color:var(--accent);background:rgba(0,196,224,0.12);box-shadow:0 0 22px rgba(0,196,224,0.22);}
.cert-stamp.green{border-color:rgba(39,174,96,0.55);outline-color:rgba(39,174,96,0.2);background:rgba(39,174,96,0.06);}
.cert-stamp.green:hover{border-color:#27ae60;background:rgba(39,174,96,0.12);box-shadow:0 0 22px rgba(39,174,96,0.22);}
.stamp-norm{font-family:var(--font-mono);font-size:1.05rem;font-weight:700;color:var(--accent);letter-spacing:0.04em;line-height:1.1;}
.cert-stamp.green .stamp-norm{color:#2ecc71;}
.stamp-sub{font-family:var(--font-mono);font-size:0.52rem;color:rgba(255,255,255,0.5);letter-spacing:0.09em;text-transform:uppercase;margin-top:0.3rem;line-height:1.5;}
.stamp-line{width:50%;height:1px;background:rgba(0,196,224,0.35);margin:0.3rem auto;}
.cert-stamp.green .stamp-line{background:rgba(39,174,96,0.35);}
.stamp-issuer{font-family:var(--font-mono);font-size:0.48rem;color:rgba(255,255,255,0.3);letter-spacing:0.07em;text-transform:uppercase;line-height:1.4;}

#usp{background:var(--dark);padding:3.5rem 4%;position:relative;overflow:hidden;}
.usp-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);background:rgba(255,255,255,0.06);border-radius:8px;overflow:hidden;border:1px solid rgba(0,196,224,0.1);position:relative;z-index:1;}
.usp-item{background:var(--dark-2);padding:2rem 1.5rem;text-align:center;transition:background 0.2s;}
.usp-item:hover{background:var(--mid);}
.usp-num{font-family:var(--font-mono);font-size:2.2rem;font-weight:700;color:var(--accent);display:block;margin-bottom:0.4rem;}
.usp-label{font-size:0.85rem;color:rgba(255,255,255,0.6);line-height:1.4;}

section{padding:6rem 4%;}
.section-inner{max-width:1100px;margin:0 auto;}
.section-label{font-family:var(--font-mono);font-size:0.72rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--primary);margin-bottom:0.75rem;display:block;}
h2.section-title{font-size:clamp(1.8rem,3vw,2.6rem);font-weight:700;color:var(--dark);line-height:1.2;margin-bottom:1rem;}
.section-lead{font-size:1.08rem;color:var(--text-light);max-width:680px;margin-bottom:3.5rem;line-height:1.8;}

#leistungen{background:var(--light);position:relative;overflow:hidden;}
#leistungen::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(13,110,138,0.04) 1px,transparent 1px),linear-gradient(90deg,rgba(13,110,138,0.04) 1px,transparent 1px);background-size:40px 40px;pointer-events:none;}
.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;position:relative;z-index:1;}
.service-card{background:white;border-radius:10px;padding:2rem;border:1px solid var(--border);position:relative;overflow:hidden;transition:transform 0.25s,box-shadow 0.25s;}
.service-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary),var(--accent));}
.service-card:hover{transform:translateY(-4px);box-shadow:0 12px 36px rgba(13,110,138,0.12);}
.service-icon{width:48px;height:48px;background:linear-gradient(135deg,var(--primary-dark),var(--primary));border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:1.2rem;font-size:1.4rem;}
.service-card h3{font-size:1.05rem;font-weight:700;color:var(--dark);margin-bottom:0.6rem;}
.service-card p{font-size:0.9rem;color:var(--text-light);line-height:1.65;}
.leistungen-cta-row{text-align:center;margin-top:2.5rem;position:relative;z-index:1;}
.price-note{text-align:center;margin-top:1.2rem;font-family:var(--font-mono);font-size:0.82rem;color:var(--text-light);position:relative;z-index:1;}

#fokusthemen{background:white;}
.fokus-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem;}
.fokus-card{background:linear-gradient(160deg,var(--dark) 0%,var(--dark-2) 100%);border-radius:12px;padding:2.2rem 1.8rem;color:white;border:1px solid rgba(0,196,224,0.15);transition:transform 0.25s,border-color 0.25s;}
.fokus-card:hover{transform:translateY(-4px);border-color:rgba(0,196,224,0.4);}
.fokus-badge{font-family:var(--font-mono);font-size:0.7rem;letter-spacing:0.08em;color:var(--accent);text-transform:uppercase;border:1px solid rgba(0,196,224,0.3);border-radius:3px;padding:0.25rem 0.6rem;display:inline-block;margin-bottom:1.2rem;}
.fokus-card h3{font-size:1.2rem;font-weight:700;margin-bottom:0.8rem;color:white;}
.fokus-card p{font-size:0.9rem;color:rgba(255,255,255,0.65);line-height:1.7;margin-bottom:1.4rem;}
.fokus-card a{color:var(--accent);font-size:0.85rem;font-weight:700;text-decoration:none;}
.fokus-card a:hover{text-decoration:underline;}

#leadmagnet{background:linear-gradient(135deg,var(--primary-dark) 0%,var(--primary) 100%);position:relative;overflow:hidden;padding:5rem 4%;}
#leadmagnet::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,0.08) 1.5px,transparent 1.5px);background-size:24px 24px;pointer-events:none;}
.leadmagnet-box{max-width:950px;margin:0 auto;position:relative;z-index:1;display:grid;grid-template-columns:auto 1fr auto;gap:2.2rem;align-items:center;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.18);border-radius:16px;padding:2.5rem;backdrop-filter:blur(6px);}
.leadmagnet-icon{width:78px;height:78px;border-radius:14px;flex-shrink:0;background:rgba(255,255,255,0.15);display:flex;align-items:center;justify-content:center;font-size:2.2rem;border:1px solid rgba(255,255,255,0.25);}
.leadmagnet-text .tag-sm{font-family:var(--font-mono);font-size:0.7rem;letter-spacing:0.1em;color:rgba(255,255,255,0.75);text-transform:uppercase;margin-bottom:0.5rem;display:block;}
.leadmagnet-text h3{font-size:1.4rem;color:white;margin-bottom:0.6rem;font-weight:700;}
.leadmagnet-text p{color:rgba(255,255,255,0.85);font-size:0.95rem;line-height:1.6;}
.leadmagnet-cta{flex-shrink:0;}

#ueber{background:white;}
.about-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:4rem;align-items:start;}
.about-photo-col{display:flex;flex-direction:column;align-items:center;gap:1.5rem;}
.about-photo{width:100%;max-width:280px;aspect-ratio:3/4;border-radius:12px;overflow:hidden;border:1px solid var(--border);}
.about-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;}
.credentials{width:100%;max-width:280px;display:flex;flex-direction:column;gap:0.6rem;}
.cred-item{display:flex;gap:0.7rem;align-items:flex-start;background:var(--light);border-radius:6px;padding:0.7rem 1rem;font-size:0.82rem;border-left:3px solid var(--primary);transition:border-color 0.2s,background 0.2s;}
.cred-item:hover{border-color:var(--accent);background:#d8eff5;}
.cred-year{font-family:var(--font-mono);font-size:0.72rem;color:var(--primary);font-weight:700;white-space:nowrap;line-height:1.4;}
.cred-text{color:var(--text);line-height:1.4;}
.about-content p{color:var(--text-light);margin-bottom:1.2rem;line-height:1.8;font-size:1rem;}
.tags{display:flex;flex-wrap:wrap;gap:0.5rem;margin-top:1.5rem;}
.tag-pill{background:var(--light);border:1px solid var(--border);border-radius:50px;padding:0.3rem 0.9rem;font-size:0.78rem;font-weight:600;color:var(--primary-dark);}

#ablauf{background:var(--light);position:relative;overflow:hidden;}
#ablauf::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(13,110,138,0.04) 1px,transparent 1px),linear-gradient(90deg,rgba(13,110,138,0.04) 1px,transparent 1px);background-size:40px 40px;pointer-events:none;}
.ablauf-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;position:relative;z-index:1;}
.ablauf-step{position:relative;background:white;border-radius:12px;padding:2.2rem 1.8rem 1.8rem;border:1px solid var(--border);}
.ablauf-num{position:absolute;top:-18px;left:1.8rem;width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--accent));color:white;font-family:var(--font-mono);font-weight:700;font-size:1rem;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(13,110,138,0.3);}
.ablauf-step h3{font-size:1.05rem;font-weight:700;color:var(--dark);margin:0.8rem 0 0.7rem;}
.ablauf-step p{font-size:0.9rem;color:var(--text-light);line-height:1.65;}
.ablauf-cta-row{text-align:center;margin-top:3rem;position:relative;z-index:1;}

#testimonials{background:linear-gradient(135deg,var(--dark) 0%,var(--dark-2) 100%);padding:5rem 0;overflow:hidden;position:relative;}
.testimonials-header{text-align:center;margin-bottom:1rem;padding:0 4%;position:relative;z-index:2;}
#testimonials .section-label{color:var(--accent);display:block;text-align:center;margin-bottom:0.75rem;}
#testimonials h2.section-title{color:white;text-align:center;margin-bottom:0;}
.testimonials-sub-label{text-align:center;font-family:var(--font-mono);font-size:0.75rem;color:rgba(255,255,255,0.35);letter-spacing:0.06em;margin-bottom:2rem;position:relative;z-index:2;padding:0 4%;}
.marquee-wrapper{position:relative;z-index:2;-webkit-mask-image:linear-gradient(to right,transparent 0%,black 8%,black 92%,transparent 100%);mask-image:linear-gradient(to right,transparent 0%,black 8%,black 92%,transparent 100%);}
.marquee-track{display:flex;align-items:flex-start;gap:1.5rem;width:max-content;animation:marquee 50s linear infinite;}
.marquee-track:hover{animation-play-state:paused;}
@keyframes marquee{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
.testimonial-card{background:rgba(255,255,255,0.05);border:1px solid rgba(0,196,224,0.15);border-radius:12px;padding:1.8rem 2rem;width:340px;flex-shrink:0;backdrop-filter:blur(4px);transition:border-color 0.3s,background 0.3s;}
.testimonial-card:hover{border-color:rgba(0,196,224,0.4);background:rgba(255,255,255,0.08);}
.testimonial-quote{font-size:0.92rem;color:rgba(255,255,255,0.75);line-height:1.7;margin-bottom:1.4rem;font-style:italic;}
.testimonial-author{display:flex;align-items:center;gap:0.9rem;}
.testimonial-avatar{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--accent));display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;color:white;flex-shrink:0;font-family:var(--font-mono);}
.testimonial-name{font-weight:700;font-size:0.9rem;color:white;}
.testimonial-role{font-size:0.78rem;color:rgba(255,255,255,0.45);margin-top:0.1rem;}

#erfahrung{background:white;}
.timeline{position:relative;padding-left:2rem;}
.timeline::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--primary),var(--accent),transparent);}
.tl-item{position:relative;padding-bottom:2.5rem;}
.tl-dot{position:absolute;left:-2.4rem;top:0.3rem;width:12px;height:12px;border-radius:50%;background:var(--accent);border:2px solid var(--primary);box-shadow:0 0 0 4px rgba(0,196,224,0.12);}
.tl-date{font-family:var(--font-mono);font-size:0.75rem;color:var(--primary);font-weight:700;margin-bottom:0.3rem;}
.tl-title{font-size:1rem;font-weight:700;color:var(--dark);}
.tl-org{font-size:0.88rem;color:var(--text-light);margin-bottom:0.5rem;}
.tl-desc{font-size:0.88rem;color:var(--text-light);line-height:1.65;}

/* KONTAKT */
#kontakt{background:linear-gradient(135deg,var(--dark) 0%,var(--dark-2) 60%,var(--mid) 100%);color:white;position:relative;overflow:hidden;}
#kontakt .circuit-bg svg{opacity:0.06;}
#kontakt .section-label{color:var(--accent);}
#kontakt h2.section-title{color:white;}
#kontakt .section-lead{color:rgba(255,255,255,0.65);}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start;position:relative;z-index:1;}
.contact-info{display:flex;flex-direction:column;gap:1.2rem;}
.contact-item{display:flex;align-items:flex-start;gap:1rem;}
.contact-icon{width:42px;height:42px;flex-shrink:0;background:rgba(0,196,224,0.12);border:1px solid rgba(0,196,224,0.25);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;}
.contact-label{display:block;font-size:0.75rem;color:rgba(255,255,255,0.45);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:0.2rem;}
.contact-detail a,.contact-detail p{color:rgba(255,255,255,0.9);text-decoration:none;font-size:0.95rem;transition:color 0.2s;}
.contact-detail a:hover{color:var(--accent);}
.contact-cta-box{background:rgba(255,255,255,0.04);border:1px solid rgba(0,196,224,0.2);border-radius:12px;padding:2.5rem;text-align:center;}
.contact-cta-box h3{font-size:1.3rem;margin-bottom:0.8rem;color:white;}
.contact-cta-box p{color:rgba(255,255,255,0.6);font-size:0.92rem;margin-bottom:1.8rem;line-height:1.7;}

#impressum{background:#f9f9f9;padding:5rem 4%;}
#datenschutz{background:white;padding:5rem 4%;}
.legal-content{max-width:800px;margin:0 auto;font-size:0.88rem;color:var(--text-light);line-height:1.8;}
.legal-content h3{font-size:1rem;color:var(--dark);margin:1.5rem 0 0.5rem;font-weight:700;}
.legal-content p{margin-bottom:0.8rem;}

footer{background:var(--dark);color:rgba(255,255,255,0.4);text-align:center;padding:1.8rem 4%;font-size:0.8rem;}
footer a{color:rgba(255,255,255,0.5);text-decoration:none;margin:0 0.5rem;}
footer a:hover{color:var(--accent);}

/* MODAL */
.modal-overlay{display:none;position:fixed;inset:0;z-index:200;background:rgba(10,22,40,0.85);backdrop-filter:blur(6px);align-items:center;justify-content:center;padding:1rem;}
.modal-overlay.open{display:flex;}
.modal-box{background:white;border-radius:16px;max-width:700px;width:100%;max-height:92vh;overflow-y:auto;box-shadow:0 24px 80px rgba(0,0,0,0.4);animation:modalIn 0.3s cubic-bezier(0.34,1.56,0.64,1);}
@keyframes modalIn{from{opacity:0;transform:scale(0.93) translateY(16px);}to{opacity:1;transform:scale(1) translateY(0);}}
.modal-header{background:linear-gradient(135deg,var(--dark) 0%,#0d3a5c 100%);padding:2rem 2.5rem 2.5rem;border-radius:16px 16px 0 0;position:relative;}
.modal-header::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:32px;background:white;clip-path:ellipse(55% 100% at 50% 100%);}
.modal-header-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;}
.modal-brand{font-family:var(--font-mono);font-size:0.7rem;color:var(--accent);letter-spacing:0.1em;}
.modal-close{background:rgba(255,255,255,0.12);border:none;color:white;cursor:pointer;width:30px;height:30px;border-radius:50%;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:background 0.2s;flex-shrink:0;}
.modal-close:hover{background:rgba(255,255,255,0.25);}
.modal-header h3{color:white;font-size:1.5rem;font-weight:700;margin-bottom:0.4rem;}
.modal-header p{color:rgba(255,255,255,0.6);font-size:0.85rem;line-height:1.5;}
.modal-body{padding:1rem 2.5rem 0.5rem;}
.modal-section-title{font-family:var(--font-mono);font-size:0.68rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--primary);margin:1.4rem 0 0.8rem;display:flex;align-items:center;gap:0.6rem;}
.modal-section-title::after{content:'';flex:1;height:1px;background:var(--light);}
.modal-q{display:grid;grid-template-columns:24px 1fr;gap:0.7rem;align-items:start;padding:0.85rem 1rem;margin-bottom:0.5rem;border:1px solid #e0edf2;border-radius:8px;transition:border-color 0.2s;}
.modal-q:hover{border-color:var(--accent);background:rgba(0,196,224,0.02);}
.modal-q-num{font-family:var(--font-mono);font-size:0.7rem;font-weight:700;color:var(--accent);width:24px;height:24px;background:rgba(0,196,224,0.1);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;}
.modal-q-text{font-size:0.88rem;font-weight:600;color:var(--dark);margin-bottom:0.5rem;line-height:1.4;}
.modal-q-options{display:flex;gap:0.5rem;flex-wrap:wrap;}
.modal-q-options label{display:flex;align-items:center;gap:0.35rem;cursor:pointer;padding:0.28rem 0.75rem;border:1.5px solid #d0e4ec;border-radius:20px;font-size:0.8rem;color:var(--text-light);font-family:var(--font-mono);transition:all 0.15s;user-select:none;}
.modal-q-options input[type="radio"]{display:none;}
.modal-q-options label:has(input:checked){border-color:var(--accent);background:rgba(0,196,224,0.1);color:var(--primary-dark);font-weight:700;}
.modal-contact{margin-top:1.2rem;padding-top:0.5rem;}
.modal-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.7rem;margin-top:0.8rem;}
.modal-input{width:100%;padding:0.65rem 1rem;border:1px solid #d0e4ec;border-radius:6px;font-family:var(--font-main);font-size:0.88rem;color:var(--text);transition:border-color 0.2s;outline:none;background:#fafcfd;}
.modal-input:focus{border-color:var(--accent);background:white;}
.modal-input::placeholder{color:#aac4d0;}
.modal-erstgespraech{display:flex;align-items:center;gap:0.6rem;margin-top:0.9rem;font-size:0.84rem;color:var(--text-light);cursor:pointer;padding:0.7rem 1rem;border:1px solid #e0edf2;border-radius:8px;transition:border-color 0.2s;}
.modal-erstgespraech:hover{border-color:var(--accent);}
.modal-erstgespraech input{accent-color:var(--primary);width:16px;height:16px;flex-shrink:0;}
.modal-footer{padding:1.2rem 2.5rem 2rem;display:flex;gap:0.8rem;justify-content:flex-end;align-items:center;}
.modal-submit{background:var(--accent);color:var(--dark);padding:0.8rem 2rem;border:none;border-radius:6px;font-family:var(--font-main);font-weight:700;font-size:0.92rem;cursor:pointer;transition:all 0.2s;}
.modal-submit:hover{background:var(--primary-light);color:white;transform:translateY(-1px);}
.modal-cancel{background:transparent;color:var(--text-light);padding:0.8rem 1.2rem;border:1px solid #d0e4ec;border-radius:6px;font-family:var(--font-main);font-size:0.85rem;cursor:pointer;transition:all 0.2s;}
.modal-cancel:hover{border-color:var(--primary);color:var(--primary);}

@media(max-width:900px){
  .hero-inner{grid-template-columns:1fr;text-align:center;}
  .hero-btns{justify-content:center;}
  .hero-trust-line{justify-content:center;}
  .hero-visual{display:none;}
  .usp-grid{grid-template-columns:repeat(2,1fr);}
  .about-grid{grid-template-columns:1fr;}
  .about-photo-col{flex-direction:row;flex-wrap:wrap;justify-content:center;}
  .contact-grid{grid-template-columns:1fr;}
  .fokus-grid{grid-template-columns:1fr;}
  .ablauf-grid{grid-template-columns:1fr;gap:2.8rem;}
  .leadmagnet-box{grid-template-columns:1fr;text-align:center;}
  .leadmagnet-icon{margin:0 auto;}
  nav ul{display:none;}
  .hamburger{display:flex;}
  .sticky-cta{display:flex;}
  body{padding-bottom:64px;}
}
@media(max-width:480px){
  .usp-grid{grid-template-columns:1fr 1fr;}
  section{padding:4rem 5%;}
  .testimonial-card{width:280px;}
}

/* Ehemalige inline styles (24.07.2026 wegen CSP-Härtung in Klassen überführt) */
.svg-defs{display:none;}
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}
.nav-brand-text{font-family:'Space Mono',monospace;font-size:1.05rem;font-weight:700;color:var(--accent);letter-spacing:0.06em;white-space:nowrap;}
.nav-brand-sub{color:rgba(255,255,255,0.6);font-weight:400;font-size:0.8rem;letter-spacing:0.12em;display:block;margin-top:1px;}
.fokus-link-block{display:block;margin-bottom:0.5rem;}
.legal-title{font-size:1.6rem;margin-bottom:1rem;}
.legal-link{color:var(--primary);}
.legal-date{margin-top:2rem;font-size:0.8rem;color:#aaa;}

/* ARTIKEL / INSIGHTS (compact teaser band, hinzugefügt 02.09.2026) */
#artikel{background:var(--light);padding:2.4rem 4%;}
.artikel-row{max-width:1100px;margin:0 auto;display:flex;align-items:center;gap:1.4rem;background:white;border:1px solid var(--border);border-radius:12px;padding:1.3rem 1.6rem;flex-wrap:wrap;}
.artikel-icon{width:44px;height:44px;border-radius:10px;background:linear-gradient(135deg,var(--primary-dark),var(--primary));display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0;}
.artikel-text{flex:1 1 340px;min-width:0;}
.artikel-text .tag-sm{font-family:var(--font-mono);font-size:0.68rem;letter-spacing:0.1em;color:var(--primary);text-transform:uppercase;display:block;margin-bottom:0.2rem;}
.artikel-text h3{font-size:1rem;font-weight:700;color:var(--dark);margin-bottom:0.2rem;line-height:1.35;}
.artikel-text p{font-size:0.86rem;color:var(--text-light);line-height:1.5;}
.artikel-actions{display:flex;gap:0.6rem;flex-shrink:0;flex-wrap:wrap;}
.btn-sm-primary{background:var(--accent);color:var(--dark);padding:0.55rem 1.1rem;border-radius:6px;text-decoration:none;font-weight:700;font-size:0.82rem;white-space:nowrap;transition:all 0.2s;}
.btn-sm-primary:hover{background:var(--primary-light);color:white;}
.btn-sm-ghost{border:1px solid var(--border);color:var(--primary-dark);padding:0.55rem 1.1rem;border-radius:6px;font-weight:600;font-size:0.82rem;white-space:nowrap;background:white;cursor:pointer;transition:all 0.2s;}
.btn-sm-ghost:hover{border-color:var(--primary);background:var(--light);}
.modal-link{color:var(--primary);}
.modal-msg{margin-top:1rem;font-size:0.85rem;padding:0.6rem 0.9rem;border-radius:6px;display:none;}
.modal-msg.show{display:block;}
.modal-msg.ok{background:#e3f7ec;color:#1e7a49;}
.modal-msg.err{background:#fdecec;color:#b3261e;}
@media(max-width:700px){
  .artikel-row{justify-content:center;text-align:center;}
  .artikel-actions{width:100%;justify-content:center;}
}

/* CV-Download in "Über mich" (hinzugefügt 14.09.2026) */
.cv-download-row{margin-top:1.6rem;}
.cv-download-row .btn-ghost-light{font-size:0.85rem;padding:0.7rem 1.4rem;}
