:root{
  --navy:#0b2238;
  --navy-2:#123a5a;
  --blue:#1578bd;
  --blue-dark:#0e5d94;
  --cyan:#57b9e8;
  --text:#142536;
  --muted:#627485;
  --line:#dce6ee;
  --soft:#f4f8fb;
  --soft-blue:#eaf3f9;
  --white:#ffffff;
  --max:1200px;
  --radius:18px;
  --shadow:0 18px 55px rgba(18,50,78,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:#fff;line-height:1.6;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
button{font:inherit}
.container{width:min(calc(100% - 40px),var(--max));margin-inline:auto}
.section{padding:92px 0}
.section--white{background:#fff}
.eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--blue-dark);font-size:.76rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.eyebrow::before{content:"";width:24px;height:2px;background:var(--blue)}
.section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,520px);align-items:end;gap:50px;margin-bottom:38px}
.section-head h2,.about-copy h2,.contact-card h2{margin:9px 0 0;font-size:clamp(2.1rem,4.2vw,3.75rem);line-height:1.02;letter-spacing:-.05em;color:var(--navy)}
.section-head p{margin:0;color:var(--muted);font-size:1rem}
.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;background:#fff;padding:10px 14px;z-index:9999}

/* Header */
.site-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.96);border-bottom:1px solid rgba(12,50,80,.09);backdrop-filter:blur(14px)}
.nav{height:84px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;min-width:0}
.brand-logo{width:82px;height:auto;filter:drop-shadow(0 4px 8px rgba(8,45,70,.15))}
.brand-text{max-width:230px;color:var(--navy);font-size:.92rem;font-weight:850;line-height:1.04;letter-spacing:-.02em}
.brand-text small{display:block;margin-top:5px;color:#647c91;font-size:.62rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.nav-links{display:flex;align-items:center;gap:29px}
.nav-links a{text-decoration:none;color:#1d2b38;font-size:.91rem;font-weight:750;transition:.18s ease}
.nav-links a:hover{color:var(--blue)}
.nav-links .nav-cta{padding:11px 18px;border-radius:999px;background:var(--blue);color:#fff;box-shadow:0 7px 20px rgba(21,120,189,.2)}
.nav-links .nav-cta:hover{background:var(--blue-dark);color:#fff}
.menu-btn{display:none;border:0;background:transparent;padding:8px;color:var(--navy);font-size:1.5rem;cursor:pointer}

/* Hero V4 */
.hero{background:linear-gradient(180deg,#f8fbfd 0%,#eef5fa 100%);position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;left:-170px;top:-220px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(87,185,232,.14),rgba(87,185,232,0) 70%);pointer-events:none}
.hero-pro-grid{min-height:650px;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);gap:74px;align-items:center;padding:54px 0 62px}
.hero-copy{position:relative;z-index:2;max-width:640px}
.hero-copy .eyebrow{margin-bottom:18px}
.hero h1{margin:0 0 23px;color:var(--navy);font-size:clamp(3.45rem,6.1vw,5.55rem);line-height:.94;letter-spacing:-.067em;font-weight:850}
.hero h1 span{display:block;color:var(--blue)}
.hero-lead{max-width:600px;margin:0 0 30px;color:#516679;font-size:clamp(1.05rem,1.55vw,1.22rem);line-height:1.65}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border:1px solid transparent;border-radius:999px;text-decoration:none;font-weight:800;transition:.18s ease}
.btn-primary{background:var(--blue);color:#fff;box-shadow:0 9px 24px rgba(21,120,189,.2)}
.btn-primary:hover{background:var(--blue-dark);transform:translateY(-1px)}
.btn-secondary{border-color:#bfd0dc;background:#fff;color:var(--navy)}
.btn-secondary:hover{border-color:#8eafc6;background:#f8fbfd}
.hero-facts{display:flex;align-items:center;gap:0;margin-top:36px;padding-top:22px;border-top:1px solid #d5e2eb}
.hero-fact{padding:0 24px;border-right:1px solid #d5e2eb}
.hero-fact:first-child{padding-left:0}
.hero-fact:last-child{border-right:0}
.hero-fact strong{display:block;color:var(--navy);font-size:1rem;font-weight:850}
.hero-fact span{display:block;margin-top:2px;color:#6a7e8f;font-size:.78rem}
.hero-visual{position:relative;justify-self:end;width:min(100%,515px)}
.hero-photo{position:relative;height:545px;border-radius:26px;overflow:hidden;background:#d7e1e7;box-shadow:0 30px 70px rgba(23,58,83,.18)}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center center}
.hero-photo::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.32);border-radius:26px;pointer-events:none}
.hero-badge{position:absolute;left:-34px;bottom:34px;max-width:245px;padding:18px 20px;border-radius:16px;background:#fff;box-shadow:0 18px 45px rgba(13,53,82,.16);border:1px solid #e2edf4}
.hero-badge small{display:block;color:var(--blue);font-size:.7rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase}
.hero-badge strong{display:block;margin-top:4px;color:var(--navy);font-size:1rem;line-height:1.35}
.hero-corner{position:absolute;right:-18px;top:30px;width:92px;height:92px;border-radius:18px;background:var(--navy);display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:19px;box-shadow:0 16px 34px rgba(10,35,56,.22)}
.hero-corner i{display:block;border-radius:3px;background:linear-gradient(135deg,#2e9bd4,#70d4ef);box-shadow:inset 0 0 0 1px rgba(255,255,255,.15)}
.hero-corner i:nth-child(2n){background:linear-gradient(135deg,#0c6faa,#39afd7)}

/* Trust */
.trust{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.trust-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.trust-item{padding:25px 34px;border-right:1px solid var(--line)}
.trust-item:first-child{padding-left:0}.trust-item:last-child{border-right:0}
.trust-item strong{display:block;color:var(--navy);font-size:1.15rem;letter-spacing:-.02em}
.trust-item span{display:block;margin-top:2px;color:var(--muted);font-size:.87rem}

/* Services */
#leistungen{background:var(--soft)}
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.service{min-height:220px;padding:28px;border:1px solid #dce7ef;border-radius:18px;background:#fff;display:flex;flex-direction:column;justify-content:space-between;transition:.18s ease}
.service:hover{transform:translateY(-3px);border-color:#b9d4e7;box-shadow:0 16px 40px rgba(17,69,107,.09)}
.service-no{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#eaf4fb;color:var(--blue-dark);font-size:.76rem;font-weight:900;letter-spacing:.05em}
.service h3{margin:31px 0 8px;color:var(--navy);font-size:1.32rem;line-height:1.15;letter-spacing:-.025em}
.service p{margin:0;color:var(--muted);font-size:.92rem}

/* Gallery */
#projekte{background:#fff}
.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:108px;gap:14px}
.project{position:relative;overflow:hidden;border:0;border-radius:17px;background:#dde5ea;cursor:pointer;padding:0;text-align:left;color:#fff;box-shadow:0 8px 26px rgba(20,50,72,.07)}
.project img{width:100%;height:100%;object-fit:cover;transition:transform .42s ease}
.project::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(5,23,37,.78),rgba(5,23,37,0) 60%)}
.project:hover img{transform:scale(1.025)}
.project span{position:absolute;z-index:2;left:18px;bottom:15px;font-size:.92rem;font-weight:800}
.project:nth-child(1){grid-column:span 7;grid-row:span 4}
.project:nth-child(2){grid-column:span 5;grid-row:span 4}
.project:nth-child(3),.project:nth-child(4),.project:nth-child(5){grid-column:span 4;grid-row:span 4}
.project:nth-child(6){grid-column:span 12;grid-row:span 3}
.gallery-note{margin:20px 0 0;color:var(--muted);font-size:.86rem}

/* About */
#ueber-mich{background:linear-gradient(180deg,#f5f9fc,#edf5fa)}
.about-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:78px;align-items:center}
.about-visual{position:relative;min-height:520px;border-radius:24px;overflow:hidden;background:linear-gradient(145deg,#0c2d48,#124c73);box-shadow:var(--shadow)}
.tile-pattern{position:absolute;inset:0;opacity:.58;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:42px 42px;transform:scale(1.15) rotate(-8deg)}
.about-visual::after{content:"SDS";position:absolute;right:-6px;top:20px;color:rgba(255,255,255,.055);font-size:13rem;font-weight:900;line-height:1;letter-spacing:-.09em}
.about-card{position:absolute;left:28px;right:28px;bottom:28px;z-index:2;padding:26px;border-radius:17px;background:#fff;box-shadow:0 16px 42px rgba(4,24,40,.18)}
.about-card strong{display:block;color:var(--navy);font-size:1.65rem;letter-spacing:-.035em}
.about-card p{margin:5px 0 0;color:var(--muted)}
.about-copy p{color:var(--muted);font-size:1rem}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;margin:26px 0 32px;padding:0;list-style:none}
.checks li{position:relative;padding-left:20px;color:#25394a;font-weight:700}
.checks li::before{content:"";position:absolute;left:0;top:.66em;width:8px;height:8px;border-radius:2px;background:var(--blue)}

/* Process */
#ablauf{background:#fff}
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;counter-reset:steps}
.step{position:relative;counter-increment:steps;padding:27px 23px;border:1px solid #dce7ef;border-radius:17px;background:#fff}
.step::before{content:"0" counter(steps);display:block;color:var(--blue);font-size:.75rem;font-weight:900;letter-spacing:.12em}
.step h3{margin:25px 0 7px;color:var(--navy);font-size:1.14rem}
.step p{margin:0;color:var(--muted);font-size:.9rem}

/* Contact */
#kontakt{background:var(--soft);padding-top:74px}
.contact-wrap{display:grid;grid-template-columns:1.16fr .84fr;overflow:hidden;border-radius:24px;background:var(--navy);color:#fff;box-shadow:0 24px 60px rgba(9,34,56,.14)}
.contact-card{padding:52px}
.contact-card .eyebrow{color:#7acaf0}.contact-card .eyebrow::before{background:#53b7e4}
.contact-card h2{color:#fff}
.contact-card p{max-width:590px;color:rgba(255,255,255,.7)}
.contact-card .btn-secondary{margin-left:8px;background:transparent;color:#fff;border-color:rgba(255,255,255,.28)}
.contact-card .btn-secondary:hover{background:#fff;color:var(--navy)}
.contact-side{padding:52px 42px;background:linear-gradient(145deg,#1478b9,#0d5d93);display:flex;flex-direction:column;justify-content:center}
.contact-side strong{font-size:1.28rem}
.contact-side a{margin:4px 0;text-decoration:none;font-size:1.15rem;font-weight:800}
.contact-side small{margin-top:18px;color:rgba(255,255,255,.75)}

/* Footer */
.footer{padding:30px 0 38px;background:#edf4f8;border-top:1px solid #dce6ee}
.footer-row{display:flex;justify-content:space-between;align-items:center;gap:24px;color:#617789;font-size:.85rem}
.footer-links{display:flex;gap:18px}.footer a{text-decoration:none}.footer a:hover{text-decoration:underline}

/* Legal */
.legal-hero{padding:80px 0 38px;background:linear-gradient(145deg,#0b2238,#123f61);color:#fff}
.legal-hero h1{margin:0;font-size:clamp(2.5rem,5vw,4.6rem);line-height:1;letter-spacing:-.05em}
.legal{max-width:850px;padding:52px 0 82px}.legal h2{margin-top:34px;color:var(--navy)}.legal h3{margin-top:26px}.legal p,.legal li{color:#53697b}.legal a{color:var(--blue-dark)}

/* Lightbox */
.lightbox{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(4,17,28,.94)}
.lightbox.open{display:flex}.lightbox img{max-width:min(1100px,94vw);max-height:86vh;border-radius:12px}.lightbox button{position:absolute;right:22px;top:20px;width:44px;height:44px;border:0;border-radius:50%;background:#fff;font-size:1.35rem;cursor:pointer}

@media(max-width:980px){
  .nav-links{display:none;position:absolute;left:0;right:0;top:84px;padding:18px 20px 24px;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch}.nav-links.open{display:flex}.menu-btn{display:block}.nav-cta{text-align:center}
  .hero-pro-grid{grid-template-columns:1fr;gap:38px;padding:66px 0 72px}.hero-copy{max-width:720px}.hero-visual{justify-self:start;width:min(100%,620px)}.hero-photo{height:480px}.hero-badge{left:22px}
  .services{grid-template-columns:1fr 1fr}.about-grid{grid-template-columns:1fr;gap:42px}.about-visual{min-height:430px}.process{grid-template-columns:1fr 1fr}.contact-wrap{grid-template-columns:1fr}.gallery-grid{grid-auto-rows:95px}.project:nth-child(n){grid-column:span 6;grid-row:span 3}.project:nth-child(1),.project:nth-child(6){grid-column:span 12}
}
@media(max-width:640px){
  .container{width:min(calc(100% - 28px),var(--max))}.nav{height:72px}.nav-links{top:72px}.brand-logo{width:65px}.brand-text{font-size:.78rem;max-width:175px}.brand-text small{font-size:.55rem}
  .section{padding:70px 0}.section-head{grid-template-columns:1fr;gap:16px;margin-bottom:28px}
  .hero-pro-grid{padding:48px 0 58px;gap:32px}.hero h1{font-size:clamp(3rem,14vw,4.25rem)}.hero-lead{font-size:1rem}.hero-actions .btn{width:100%}.hero-facts{display:grid;grid-template-columns:1fr;gap:10px}.hero-fact,.hero-fact:first-child{padding:0;border:0}.hero-fact{display:flex;gap:8px;align-items:baseline}.hero-fact span{margin:0}.hero-photo{height:430px;border-radius:20px}.hero-photo::after{border-radius:20px}.hero-badge{left:14px;right:14px;bottom:14px;max-width:none}.hero-corner{right:12px;top:12px;width:74px;height:74px;padding:15px}
  .trust-grid{grid-template-columns:1fr}.trust-item,.trust-item:first-child{padding:17px 0;border-right:0;border-bottom:1px solid var(--line)}.trust-item:last-child{border-bottom:0}
  .services{grid-template-columns:1fr}.service{min-height:auto}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:280px}.project:nth-child(n){grid-column:auto;grid-row:auto}.checks{grid-template-columns:1fr}.process{grid-template-columns:1fr}.contact-card{padding:36px 24px}.contact-side{padding:32px 24px}.contact-card .btn{width:100%;margin:8px 0 0}.footer-row{flex-direction:column;align-items:flex-start}.footer-links{flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}


/* Cookie-freier Seitenaufrufzaehler */
.visitor-counter{display:flex;align-items:baseline;gap:8px;padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.72);white-space:nowrap}
.visitor-counter span{font-weight:850;color:var(--accent-dark);font-variant-numeric:tabular-nums}
.visitor-counter small{font-size:.76rem;color:var(--muted);letter-spacing:.02em}
@media (max-width:700px){.visitor-counter{order:3}.footer-row{flex-wrap:wrap}}


/* SEO-/Leistungsseiten */
.service-link{display:inline-flex;align-items:center;gap:8px;margin-top:18px;color:var(--blue-dark);font-size:.88rem;font-weight:850;text-decoration:none}.service-link::after{content:"→";transition:transform .18s ease}.service-link:hover::after{transform:translateX(3px)}
.local-seo{background:linear-gradient(180deg,#ffffff,#f3f8fb)}
.local-seo-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:64px;align-items:start}
.local-seo h2{margin:9px 0 18px;color:var(--navy);font-size:clamp(2rem,4vw,3.5rem);line-height:1.04;letter-spacing:-.05em}.local-seo p{color:var(--muted);font-size:1rem}.area-card{padding:30px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 14px 38px rgba(20,61,91,.07)}.area-card h3{margin:0 0 14px;color:var(--navy);font-size:1.25rem}.area-tags{display:flex;flex-wrap:wrap;gap:9px}.area-tags span{padding:8px 12px;border-radius:999px;background:var(--soft-blue);color:var(--blue-dark);font-size:.86rem;font-weight:800}.area-card p{margin:18px 0 0;font-size:.9rem}
.seo-links{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:34px}.seo-link-card{display:block;padding:22px;border:1px solid var(--line);border-radius:17px;background:#fff;text-decoration:none;transition:.18s ease}.seo-link-card:hover{transform:translateY(-3px);border-color:#b9d4e7;box-shadow:0 14px 32px rgba(17,69,107,.08)}.seo-link-card strong{display:block;color:var(--navy);font-size:1rem}.seo-link-card span{display:block;margin-top:5px;color:var(--muted);font-size:.84rem}

/* Unterseiten */
.subhero{padding:74px 0 62px;background:linear-gradient(180deg,#f8fbfd,#eef5fa);border-bottom:1px solid var(--line)}.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:22px;color:#6c8294;font-size:.82rem}.breadcrumbs a{color:var(--blue-dark);text-decoration:none}.breadcrumbs b{font-weight:600;color:#8798a6}.subhero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:64px;align-items:center}.subhero h1{margin:0 0 20px;color:var(--navy);font-size:clamp(2.7rem,5.6vw,5rem);line-height:.97;letter-spacing:-.06em}.subhero h1 span{color:var(--blue)}.subhero p{max-width:690px;margin:0;color:#52697b;font-size:1.1rem;line-height:1.65}.subhero-photo{height:410px;border-radius:24px;overflow:hidden;box-shadow:var(--shadow);background:#dce5eb}.subhero-photo img{width:100%;height:100%;object-fit:cover}.subhero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.content-section{padding:74px 0}.content-section.alt{background:var(--soft)}.content-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);gap:68px;align-items:start}.prose h2{margin:0 0 16px;color:var(--navy);font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.08;letter-spacing:-.04em}.prose h3{margin:32px 0 10px;color:var(--navy);font-size:1.3rem}.prose p{margin:0 0 16px;color:#52697b}.prose ul{padding-left:20px;color:#52697b}.prose li{margin:7px 0}.side-box{padding:28px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 14px 36px rgba(16,54,82,.07)}.side-box h2,.side-box h3{margin:0 0 14px;color:var(--navy);font-size:1.3rem}.side-box p{color:var(--muted);font-size:.93rem}.side-box .btn{width:100%;margin-top:9px}.feature-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}.feature-item{padding:18px;border:1px solid var(--line);border-radius:15px;background:#fff}.feature-item strong{display:block;color:var(--navy);font-size:.96rem}.feature-item span{display:block;margin-top:4px;color:var(--muted);font-size:.84rem}.related{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.related a{display:block;padding:23px;border:1px solid var(--line);border-radius:17px;background:#fff;text-decoration:none}.related a strong{display:block;color:var(--navy)}.related a span{display:block;margin-top:5px;color:var(--muted);font-size:.85rem}.related a:hover{border-color:#b7d3e6;box-shadow:0 12px 28px rgba(17,69,107,.08)}
.footer-seo{display:flex;flex-wrap:wrap;gap:11px 16px;margin-top:14px;font-size:.78rem}.footer-seo a{color:#62798b;text-decoration:none}.footer-seo a:hover{color:var(--blue-dark)}
@media(max-width:980px){.local-seo-grid,.subhero-grid,.content-grid{grid-template-columns:1fr}.seo-links{grid-template-columns:1fr 1fr}.subhero-photo{height:360px}.related{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.seo-links,.feature-list,.related{grid-template-columns:1fr}.subhero{padding:48px 0}.subhero-photo{height:300px}.subhero-actions .btn{width:100%}}
