:root{--blue:#0d7de5;--blue2:#1551a6;--ink:#172231;--muted:#647386;--line:rgba(20,45,75,.12);--surface:rgba(255,255,255,.76);--shadow:0 22px 70px rgba(12,45,85,.12);--radius:24px}*{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(--ink);background:#f6f9fc;line-height:1.65}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 8% 5%,rgba(13,125,229,.10),transparent 28%),radial-gradient(circle at 92% 22%,rgba(21,81,166,.08),transparent 24%);z-index:-1}a{text-decoration:none;color:inherit}.container{width:min(1160px,calc(100% - 40px));margin:auto}.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.78);backdrop-filter:blur(18px);border-bottom:1px solid rgba(20,45,75,.08)}.nav-inner{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand img{display:block;width:170px;height:auto;max-height:60px;object-fit:contain}.nav-links{display:flex;align-items:center;gap:6px}.nav-links a{font-size:.78rem;font-weight:800;letter-spacing:.08em;padding:12px 13px;border-radius:999px;color:#405065;transition:.25s ease}.nav-links a:hover,.nav-links a.active{background:rgba(13,125,229,.10);color:var(--blue2)}.menu-toggle{display:none;border:0;background:transparent;font-size:1.7rem;color:var(--ink);cursor:pointer}.hero{min-height:calc(100vh - 84px);display:grid;place-items:center;position:relative;overflow:hidden;background:linear-gradient(125deg,#07182d 0%,#0b356a 46%,#0a77d4 100%);color:#fff}.hero:before{content:"";position:absolute;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(85,194,255,.28),transparent 68%);right:-230px;top:-240px}.hero:after{content:"";position:absolute;inset:auto -10% -38% -10%;height:55%;background:rgba(255,255,255,.08);filter:blur(60px);transform:rotate(-4deg)}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr;gap:38px;align-items:center;padding:70px 0}.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#bfe5ff}.eyebrow:before{content:"";width:34px;height:2px;background:#6ec8ff}.hero h1{font-size:clamp(2.8rem,6vw,5.6rem);line-height:.98;letter-spacing:-.055em;margin:20px 0}.hero p{max-width:620px;color:rgba(255,255,255,.78);font-size:1.08rem}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:14px 20px;font-weight:800;font-size:.9rem;transition:.25s ease;border:1px solid transparent}.btn-primary{background:#fff;color:#0b4f9d;box-shadow:0 12px 35px rgba(0,0,0,.18)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 42px rgba(0,0,0,.25)}.btn-ghost{border-color:rgba(255,255,255,.3);color:#fff;background:rgba(255,255,255,.08);backdrop-filter:blur(12px)}.btn-ghost:hover{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.55)}.hero-panel{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.2);border-radius:30px;padding:16px;box-shadow:0 35px 100px rgba(0,0,0,.18);backdrop-filter:blur(16px)}.hero-panel img{width:100%;height:auto;aspect-ratio:1672/941;object-fit:cover;border-radius:22px;display:block}.section{padding:110px 0}.section-head{max-width:760px;margin-bottom:45px}.section-kicker{color:var(--blue2);font-size:.75rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.section h2{font-size:clamp(2.2rem,4vw,3.8rem);line-height:1.05;letter-spacing:-.04em;margin:12px 0 18px}.section-head p{color:var(--muted);font-size:1.04rem}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);backdrop-filter:blur(12px);transition:.3s ease}.card:hover{transform:translateY(-7px);box-shadow:0 30px 80px rgba(12,45,85,.16);border-color:rgba(13,125,229,.22)}.card img{width:100%;height:210px;object-fit:cover;border-radius:18px;margin-bottom:22px}.icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,#e9f6ff,#dceaff);color:var(--blue2);font-weight:900;margin-bottom:20px}.card h3{margin:0 0 10px;font-size:1.25rem}.card p{color:var(--muted);margin:0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px}.stat{padding:20px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.08);border-radius:20px}.stat strong{display:block;font-size:1.5rem}.stat span{font-size:.82rem;color:rgba(255,255,255,.68)}.page-hero{padding:90px 0 70px;background:linear-gradient(135deg,#07182d,#0c4c92 60%,#0e8be9);color:#fff}.page-hero h1{font-size:clamp(2.7rem,5vw,4.8rem);line-height:1;margin:12px 0}.page-hero p{max-width:700px;color:rgba(255,255,255,.78);font-size:1.06rem}.service-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:start}.service-image{position:sticky;top:110px}.service-image img{width:100%;height:580px;object-fit:cover;border-radius:28px;box-shadow:var(--shadow)}.service-copy h2{font-size:2.1rem;line-height:1.1}.service-copy p{color:var(--muted)}.service-list{display:grid;gap:14px;margin:28px 0}.service-list div{padding:17px 18px;border:1px solid var(--line);background:#fff;border-radius:18px}.service-list strong{display:block;margin-bottom:3px}.service-list span{color:var(--muted);font-size:.92rem}.band{background:#07182d;color:#fff;padding:80px 0}.band-grid{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}.band p{color:rgba(255,255,255,.7);max-width:700px}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:25px}.contact-card{background:#fff;border:1px solid var(--line);border-radius:26px;padding:30px;box-shadow:var(--shadow)}.contact-item{padding:17px 0;border-bottom:1px solid var(--line)}.contact-item:last-child{border-bottom:0}.contact-item small{display:block;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-weight:800;font-size:.68rem}.contact-item strong{font-size:1.05rem}.form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form .full{grid-column:1/-1}.form label{font-size:.78rem;font-weight:800;color:#4c5c70}.form input,.form textarea{width:100%;margin-top:7px;border:1px solid rgba(20,45,75,.12);background:#f7fafc;border-radius:15px;padding:14px 15px;font:inherit;outline:none;transition:.2s}.form input:focus,.form textarea:focus{border-color:rgba(13,125,229,.55);box-shadow:0 0 0 4px rgba(13,125,229,.08);background:#fff}.form textarea{min-height:150px;resize:vertical}.map{width:100%;height:100%;min-height:470px;border:0;border-radius:26px;box-shadow:var(--shadow)}.legal{max-width:900px}.legal h2{margin-top:42px}.legal p,.legal li{color:var(--muted)}.footer{padding:36px 0;background:#07182d;color:#fff}.footer-inner{display:flex;justify-content:space-between;gap:30px;align-items:center}.footer small{color:rgba(255,255,255,.55)}.footer-links{display:flex;gap:20px;font-size:.82rem;color:rgba(255,255,255,.75)}.footer-links a:hover{color:#fff}.reveal{opacity:0;transform:translateY(18px);transition:.7s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:900px){.nav-links{position:absolute;top:84px;left:20px;right:20px;display:none;flex-direction:column;align-items:stretch;padding:10px;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.nav-links.open{display:flex}.nav-links a{text-align:center}.menu-toggle{display:block}.hero-grid,.service-layout,.contact-grid{grid-template-columns:1fr}.hero{min-height:auto}.hero-panel{display:none}.service-image{position:static;order:-1}.service-image img{height:420px}.cards{grid-template-columns:1fr}.stats{grid-template-columns:1fr}.band-grid{grid-template-columns:1fr}.form{grid-template-columns:1fr}.form .full{grid-column:auto}}@media(max-width:560px){.container{width:min(100% - 28px,1160px)}.nav-inner{min-height:74px}.brand img{width:145px}.nav-links{top:74px;left:14px;right:14px}.hero-grid{padding:70px 0}.section{padding:78px 0}.page-hero{padding:70px 0 55px}.hero h1{font-size:3rem}.footer-inner{flex-direction:column;align-items:flex-start}.footer-links{flex-wrap:wrap}.service-image img{height:300px}}


/* WhatsApp contact button */
.whatsapp-float{position:fixed;right:24px;bottom:24px;z-index:100;display:inline-flex;align-items:center;gap:9px;padding:13px 17px;border-radius:999px;background:#19b968;color:#fff;box-shadow:0 14px 35px rgba(9,72,42,.28),0 0 0 1px rgba(255,255,255,.2) inset;font-weight:800;font-size:.88rem;transition:transform .25s ease,box-shadow .25s ease,filter .25s ease}.whatsapp-float:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 20px 42px rgba(9,72,42,.34);filter:saturate(1.08)}.whatsapp-icon{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.18);color:#fff}.whatsapp-icon svg{width:20px;height:20px;display:block}.contact-single{max-width:820px}.contact-card a{color:inherit}.contact-card a:hover{color:var(--blue2)}.contact-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn-blue{background:var(--blue);color:#fff!important}.btn-outline{border-color:rgba(13,125,229,.22);background:#fff;color:var(--blue2)!important}.map-section{padding-top:0}
@media(max-width:700px){body{overflow-x:hidden}.container{width:min(100% - 24px,1160px)}.nav-inner{min-height:72px}.brand img{width:132px;max-height:50px}.menu-toggle{min-width:44px;min-height:44px}.hero-grid{padding:58px 0 68px}.hero h1{font-size:clamp(2.5rem,12vw,3.6rem)}.hero p,.page-hero p{font-size:.98rem}.actions,.contact-actions{width:100%}.actions .btn,.contact-actions .btn{width:100%}.section{padding:66px 0}.section h2{font-size:clamp(2rem,9vw,3rem)}.page-hero{padding:58px 0 48px}.page-hero h1{font-size:clamp(2.45rem,11vw,3.7rem)}.card,.contact-card{padding:22px;border-radius:20px}.service-image img{height:270px;border-radius:22px}.map{min-height:390px;border-radius:20px}.footer{padding:28px 0 92px}.whatsapp-float{right:15px;bottom:15px;padding:13px;width:54px;height:54px;justify-content:center}.whatsapp-label{display:none}.whatsapp-icon{width:29px;height:29px;background:transparent}.whatsapp-icon svg{width:24px;height:24px}.contact-items{display:grid;gap:0}.contact-item{padding:15px 0}.nav-links{top:72px}}
@media(max-width:380px){.brand img{width:120px}.hero h1{font-size:2.45rem}.section{padding:58px 0}.contact-card{padding:19px}.whatsapp-float{right:12px;bottom:12px}}

.form-intro{color:var(--muted);margin:-4px 0 24px}.form-consent{margin-top:2px}.checkbox-label{display:flex;align-items:flex-start;gap:10px;font-size:.76rem!important;font-weight:500!important;color:var(--muted)!important;line-height:1.5}.checkbox-label input{width:18px!important;min-width:18px;margin:2px 0 0!important;padding:0!important;accent-color:var(--blue)}.checkbox-label a{color:var(--blue2);text-decoration:underline}.form-submit{border:0;cursor:pointer;font:inherit}.form button:focus-visible,.form input:focus-visible,.form textarea:focus-visible{outline:3px solid rgba(13,125,229,.18);outline-offset:2px}@media(max-width:900px){.contact-grid{grid-template-columns:1fr}}


/* Contact form helpers */
.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.form-note{margin-top:1rem;padding:1rem 1.1rem;border-radius:14px;background:rgba(37,99,235,.10);border:1px solid rgba(37,99,235,.18);color:inherit}
.form-note.error{background:rgba(220,38,38,.08);border-color:rgba(220,38,38,.18)}

/* Leistungen hub and service dropdown */
.nav-dropdown{position:relative}.nav-drop-toggle{border:0;background:transparent;color:inherit;font:inherit;font-weight:800;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;padding:10px 12px;cursor:pointer}.nav-drop-toggle span{font-size:1rem;margin-left:4px}.nav-dropdown-menu{position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%) translateY(-6px);min-width:285px;padding:10px;background:rgba(255,255,255,.97);border:1px solid var(--line);border-radius:18px;box-shadow:0 25px 60px rgba(10,40,75,.18);backdrop-filter:blur(18px);opacity:0;visibility:hidden;pointer-events:none;transition:.2s ease;z-index:20}.nav-dropdown-menu a{display:block;padding:10px 12px;border-radius:10px;color:#16283d}.nav-dropdown-menu a:hover{background:#eef7ff;color:var(--blue2)}.nav-dropdown.open .nav-dropdown-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}.service-cards{grid-template-columns:repeat(3,1fr)}.remote-image{height:210px;border-radius:18px;margin-bottom:22px;background-size:cover;background-position:center}.image-placeholder{height:210px;border-radius:18px;margin-bottom:22px;display:grid;place-items:end;padding:20px;background:linear-gradient(135deg,#08192f,#0d7de5);color:#fff;font-weight:800}.gallery-nine{grid-template-columns:repeat(3,1fr)}.gallery-nine .card img{height:220px}.form select{width:100%;margin-top:7px;border:1px solid rgba(20,45,75,.12);background:#f7fafc;border-radius:15px;padding:14px 15px;font:inherit;outline:none;transition:.2s}.form select:focus{border-color:rgba(13,125,229,.55);box-shadow:0 0 0 4px rgba(13,125,229,.08);background:#fff}@media(max-width:900px){.nav-dropdown{width:100%}.nav-drop-toggle{width:100%;text-align:center;padding:13px}.nav-dropdown-menu{position:static;transform:none;display:none;min-width:0;margin:0 6px;padding:6px;box-shadow:none;background:rgba(242,248,253,.92)}.nav-dropdown.open .nav-dropdown-menu{display:block;opacity:1;visibility:visible;pointer-events:auto;transform:none}.service-cards,.gallery-nine{grid-template-columns:1fr}}@media(min-width:901px){.service-cards .card:nth-child(n+4){margin-top:0}}@media(max-width:700px){.remote-image,.image-placeholder{height:190px}.gallery-nine .card img{height:210px}}

.hero-grid > .reveal:first-child{max-width:900px}.hero-panel{width:100%}
@media(max-width:760px){.hero-grid{padding:42px 0;gap:26px}.hero-panel{padding:8px;border-radius:20px}.hero-panel img{border-radius:15px}.hero h1{font-size:clamp(2.25rem,11vw,3.5rem)}}

.service-card-image{height:220px;border-radius:18px 18px 0 0;background-size:cover;background-position:center;background-repeat:no-repeat;}
@media (max-width:700px){.service-card-image{height:190px;}}


/* WSB secure form success message */
.form-success {
  padding: 1.25rem 1.4rem;
  border: 1px solid rgba(60, 180, 255, 0.35);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.06);
  color: inherit;
  line-height: 1.6;
}

/* Keep the all-services hero image visible on mobile */
@media (max-width: 900px){
  .hero-panel{display:block;}
}
