/* ========================================================================== Julian Illek - Technik-Einrichtung Premium Corporate Design CSS ========================================================================== *//* -------------------------------------------------------------------------- LOCAL FONT - INTER -------------------------------------------------------------------------- */@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/inter-regular.woff2') format('woff2');}@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/inter-medium.woff2') format('woff2');}@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/inter-semibold.woff2') format('woff2');}@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/inter-bold.woff2') format('woff2');}@font-face{font-family:'Inter';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/inter-extrabold.woff2') format('woff2');}/* -------------------------------------------------------------------------- CSS CUSTOM PROPERTIES -------------------------------------------------------------------------- */:root{/* Primärfarben - Professionelles Blau */ --color-primary:#2563eb;--color-primary-dark:#1d4ed8;--color-primary-light:#3b82f6;--color-primary-ultra-light:#eff6ff;--color-primary-glow:rgba(37,99,235,0.3);/* Akzentfarbe - Warmes Orange für Vertrauen */ --color-accent:#f59e0b;--color-accent-light:#fbbf24;/* Neutrale Farben */ --color-dark:#1e293b;--color-gray-900:#1e293b;--color-gray-800:#334155;--color-gray-700:#475569;--color-gray-600:#64748b;--color-gray-500:#94a3b8;--color-gray-400:#cbd5e1;--color-gray-300:#e2e8f0;--color-gray-200:#f1f5f9;--color-gray-100:#f8fafc;--color-light:#f8fafc;--color-white:#ffffff;/* Semantische Farben */ --color-success:#10b981;--color-warning:#f59e0b;--color-danger:#ef4444;/* Gradienten */ --gradient-primary:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);--gradient-hero:linear-gradient(160deg,#1e293b 0%,#334155 50%,#475569 100%);--gradient-light:linear-gradient(180deg,#f8fafc 0%,#f1f5f9 100%);--gradient-card:linear-gradient(145deg,#ffffff 0%,#f8fafc 100%);/* Typografie */ --font-primary:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;/* Schriftgrößen - größer für bessere Lesbarkeit */ --text-xs:0.8rem;--text-sm:0.9rem;--text-base:1.05rem;--text-lg:1.15rem;--text-xl:1.3rem;--text-2xl:1.6rem;--text-3xl:2rem;--text-4xl:2.5rem;--text-5xl:3rem;--text-6xl:3.75rem;/* Abstände */ --space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;/* Schatten */ --shadow-sm:0 1px 2px rgba(0,0,0,0.05);--shadow-md:0 4px 6px rgba(0,0,0,0.07);--shadow-lg:0 10px 15px rgba(0,0,0,0.1);--shadow-xl:0 20px 25px rgba(0,0,0,0.1);--shadow-2xl:0 25px 50px rgba(0,0,0,0.15);--shadow-glow:0 0 30px var(--color-primary-glow);/* Border Radius */ --radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:24px;--radius-full:9999px;/* Transitions */ --ease-smooth:cubic-bezier(0.4,0,0.2,1);--transition-fast:150ms var(--ease-smooth);--transition-normal:300ms var(--ease-smooth);--transition-slow:500ms var(--ease-smooth);/* Layout */ --container-max:1200px;--container-narrow:800px;--header-height:72px;}/* ========================================================================== RESET & BASE ========================================================================== */*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;}body{font-family:var(--font-primary);font-size:var(--text-base);font-weight:400;line-height:1.7;color:var(--color-dark);background:var(--color-white);padding-top:var(--header-height);overflow-x:hidden;}img{max-width:100%;height:auto;display:block;}a{color:var(--color-primary);text-decoration:none;transition:all var(--transition-fast);}a:hover{color:var(--color-primary-dark);}/* ========================================================================== ACCESSIBILITY / BARRIEREFREIHEIT (BFSG) ========================================================================== *//* Skip Link */.skip-link{position:absolute;top:-100%;left:50%;transform:translateX(-50%);background:var(--color-primary);color:var(--color-white);padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);font-weight:600;z-index:10000;transition:top var(--transition-fast);}.skip-link:focus{top:var(--space-3);color:var(--color-white);outline:3px solid var(--color-accent);outline-offset:2px;}/* Screen Reader Only */.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}/* Focus Styles für Tastaturnavigation */a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px;}/* Reduzierte Bewegung */@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important;}.hero-canvas{display:none;}}::selection{background:var(--color-primary);color:var(--color-white);}/* Focus Indicators - Accessibility */a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--color-primary-light);outline-offset:2px;}/* ========================================================================== TYPOGRAPHY ========================================================================== */h1,h2,h3,h4,h5,h6{font-family:var(--font-primary);font-weight:700;line-height:1.25;color:var(--color-dark);margin-bottom:var(--space-4);letter-spacing:-0.02em;}h1{font-size:var(--text-5xl);font-weight:800;}h2{font-size:var(--text-4xl);}h3{font-size:var(--text-2xl);}h4{font-size:var(--text-xl);}p{margin-bottom:var(--space-4);}.text-gradient{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}/* ========================================================================== LAYOUT ========================================================================== */.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--space-6);}.container-narrow{max-width:var(--container-narrow);}.section{padding:var(--space-20) 0;position:relative;}.section[id]{scroll-margin-top:calc(var(--header-height) + var(--space-4));}.section-sm{padding:var(--space-12) 0;}.section-lg{padding:var(--space-24) 0;}.bg-white{background:var(--color-white);}.bg-light{background:var(--color-light);}.bg-dark{background:var(--color-dark);color:var(--color-white);}.bg-dark h2,.bg-dark h3,.bg-dark h4{color:var(--color-white);}.bg-dark p{color:var(--color-gray-300);}.bg-primary{background:var(--gradient-primary);color:var(--color-white);}.bg-primary h2,.bg-primary h3,.bg-primary h4,.bg-primary p{color:var(--color-white);}/* ========================================================================== SECTION HEADER ========================================================================== */.section-header{text-align:center;max-width:700px;margin:0 auto var(--space-12);}.section-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-primary-ultra-light);color:var(--color-primary);font-size:var(--text-sm);font-weight:600;border-radius:var(--radius-full);margin-bottom:var(--space-4);}.section-badge-light{background:rgba(255,255,255,0.15);color:var(--color-white);}.section-subtitle{font-size:var(--text-lg);color:var(--color-gray-600);max-width:600px;margin:0 auto;}.bg-dark .section-subtitle,.bg-primary .section-subtitle{color:var(--color-gray-300);}/* ========================================================================== URGENCY BANNER ========================================================================== */.urgency-banner{position:fixed;top:0;left:0;right:0;z-index:1001;background:var(--gradient-primary);color:var(--color-white);padding:var(--space-2) var(--space-4);text-align:center;font-size:var(--text-sm);font-weight:500;display:flex;align-items:center;justify-content:center;gap:var(--space-3);}.urgency-banner a{color:var(--color-white);text-decoration:underline;font-weight:600;}.urgency-banner a:hover{color:var(--color-accent-light);}.urgency-banner-icon{display:flex;align-items:center;animation:urgency-pulse 1.5s ease-in-out infinite;}.urgency-banner-icon svg{width:18px;height:18px;}@keyframes urgency-pulse{0%,100%{transform:scale(1);}50%{transform:scale(1.2);}}.urgency-banner-close{position:absolute;right:var(--space-4);background:none;border:none;color:var(--color-white);cursor:pointer;padding:var(--space-1);opacity:0.7;transition:opacity var(--transition-fast);}.urgency-banner-close:hover{opacity:1;}.urgency-banner-close svg{width:16px;height:16px;}/* Body padding when banner is visible - uses dynamic height from JS */body.has-urgency-banner{padding-top:calc(var(--header-height) + var(--urgency-banner-height,40px));}body.has-urgency-banner .header{top:var(--urgency-banner-height,40px);}@media (max-width:768px){.urgency-banner{padding:var(--space-2) var(--space-8) var(--space-2) var(--space-3);font-size:var(--text-xs);}.urgency-banner-icon{display:none;}}/* ========================================================================== HEADER ========================================================================== */.header{position:fixed;top:0;left:0;right:0;z-index:1000;height:var(--header-height);background:rgba(255,255,255,0.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--color-gray-200);transition:all var(--transition-normal);}.header.scrolled{box-shadow:var(--shadow-md);}.header-inner{display:flex;align-items:center;justify-content:space-between;height:100%;}/* Logo */.logo{display:flex;align-items:center;gap:var(--space-3);text-decoration:none;}.logo:hover{opacity:0.9;}.logo-icon{width:44px;height:44px;background:var(--gradient-primary);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:var(--color-white);flex-shrink:0;}.logo-icon svg{width:24px;height:24px;}.logo-text{display:flex;flex-direction:column;line-height:1.2;}.logo-name{color:var(--color-dark);font-size:var(--text-lg);font-weight:700;}.logo-tagline{color:var(--color-gray-600);font-size:var(--text-xs);font-weight:500;}/* Navigation */.nav-main{display:flex;align-items:center;gap:var(--space-8);}.nav-list{display:flex;list-style:none;gap:var(--space-2);}.nav-link{display:flex;align-items:center;padding:var(--space-3) var(--space-4);font-size:var(--text-sm);font-weight:500;color:var(--color-gray-700);border-radius:var(--radius-md);transition:all var(--transition-fast);}.nav-link:hover{color:var(--color-primary);background:var(--color-primary-ultra-light);}/* Nav Dropdown */.nav-dropdown{position:relative;}.nav-dropdown-toggle{display:flex;align-items:center;gap:4px;}.nav-dropdown-toggle svg{transition:transform var(--transition-fast);}.nav-dropdown:hover .nav-dropdown-toggle svg,.nav-dropdown.is-open .nav-dropdown-toggle svg{transform:rotate(180deg);}.nav-dropdown-menu{position:absolute;top:100%;left:0;background:white;border-radius:var(--radius-lg);box-shadow:0 10px 40px rgba(0,0,0,0.15);padding:var(--space-4);min-width:600px;display:none;grid-template-columns:repeat(3,1fr);gap:var(--space-4);z-index:1000;}.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown.is-open .nav-dropdown-menu{display:grid;}.nav-dropdown-section{display:flex;flex-direction:column;}.nav-dropdown-title{font-size:var(--text-xs);font-weight:600;color:var(--color-gray-500);text-transform:uppercase;letter-spacing:0.05em;padding:var(--space-2) var(--space-3);margin-bottom:var(--space-1);}.nav-dropdown-menu a{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--color-gray-700);border-radius:var(--radius-md);transition:all var(--transition-fast);}.nav-dropdown-menu a:hover{background:var(--color-primary-ultra-light);color:var(--color-primary);}/* Nav Toggle (Mobile) */.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:var(--space-2);z-index:1001;}.nav-toggle span{width:24px;height:2px;background:var(--color-dark);border-radius:2px;transition:all var(--transition-fast);}/* Nav Close Button (Mobile) */.nav-close{display:none;position:absolute;top:var(--space-4);right:var(--space-4);width:44px;height:44px;background:var(--color-gray-100);border:none;border-radius:var(--radius-md);cursor:pointer;align-items:center;justify-content:center;transition:all var(--transition-fast);}.nav-close svg{width:24px;height:24px;color:var(--color-dark);}.nav-close:hover{background:var(--color-gray-200);}/* ========================================================================== BUTTONS ========================================================================== */.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-4) var(--space-6);font-family:var(--font-primary);font-size:var(--text-sm);font-weight:600;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-normal);border:2px solid transparent;text-decoration:none;}.btn svg{width:18px;height:18px;}.btn-lg{padding:var(--space-5) var(--space-8);font-size:var(--text-base);}.btn-lg svg{width:20px;height:20px;}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);}.btn-primary{background:var(--gradient-primary);color:var(--color-white);border-color:var(--color-primary);box-shadow:0 4px 14px var(--color-primary-glow);}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px var(--color-primary-glow);color:var(--color-white);}.btn-outline{background:transparent;color:var(--color-dark);border-color:var(--color-gray-300);}.btn-outline:hover{background:var(--color-gray-100);border-color:var(--color-gray-400);color:var(--color-dark);}.btn-white{background:var(--color-white);color:var(--color-primary);border-color:var(--color-white);}.btn-white:hover{background:var(--color-gray-100);color:var(--color-primary-dark);transform:translateY(-2px);}/* ========================================================================== HERO SECTION ========================================================================== */.hero{position:relative;background:var(--gradient-hero);padding:var(--space-24) 0;overflow:hidden;color:var(--color-white);min-height:85vh;display:flex;align-items:center;}.hero-canvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;opacity:0.6;pointer-events:none;}.hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse at 20% 50%,rgba(37,99,235,0.15) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(37,99,235,0.1) 0%,transparent 50%),radial-gradient(ellipse at 60% 80%,rgba(59,130,246,0.1) 0%,transparent 50%);pointer-events:none;}.hero-content{position:relative;z-index:2;text-align:center;max-width:800px;margin:0 auto;}.hero-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);background:rgba(255,255,255,0.1);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.2);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:500;margin-bottom:var(--space-6);}.hero-badge svg{width:18px;height:18px;color:var(--color-success);}.hero h1{font-size:clamp(2.5rem,5vw,var(--text-6xl));font-weight:800;line-height:1.15;margin-bottom:var(--space-6);color:var(--color-white);}.hero-subtitle{font-size:var(--text-xl);color:rgba(255,255,255,0.85);margin-bottom:var(--space-10);line-height:1.7;max-width:650px;margin-left:auto;margin-right:auto;}.hero-buttons{display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:center;margin-bottom:var(--space-12);}.hero .btn-outline{color:var(--color-white);border-color:rgba(255,255,255,0.4);}.hero .btn-outline:hover{background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.6);color:var(--color-white);}/* Hero Trust Items */.hero-trust{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-8);}.hero-trust-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:rgba(255,255,255,0.8);}.hero-trust-item svg{width:20px;height:20px;color:var(--color-success);}/* ========================================================================== SERVICES SECTION ========================================================================== */.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6);}.service-card{display:block;background:var(--color-white);border-radius:var(--radius-xl);padding:var(--space-8);box-shadow:var(--shadow-md);border:1px solid var(--color-gray-200);transition:all var(--transition-normal);text-decoration:none;color:inherit;}a.service-card{cursor:pointer;}.service-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-xl);border-color:var(--color-primary-light);}a.service-card:hover{color:inherit;}.service-icon{width:64px;height:64px;background:var(--color-primary-ultra-light);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-5);transition:all var(--transition-normal);}.service-icon svg{width:32px;height:32px;color:var(--color-primary);}.service-card:hover .service-icon{background:var(--gradient-primary);}.service-card:hover .service-icon svg{color:var(--color-white);}.service-card h3{font-size:var(--text-xl);margin-bottom:var(--space-3);}.service-card p{color:var(--color-gray-600);margin-bottom:var(--space-5);}.service-features{list-style:none;}.service-features li{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-gray-700);padding:var(--space-2) 0;}.service-features li::before{content:'';width:6px;height:6px;background:var(--color-primary);border-radius:50%;flex-shrink:0;}.services-note{display:flex;align-items:center;gap:var(--space-4);margin-top:var(--space-10);padding:var(--space-6);background:var(--color-primary-ultra-light);border-radius:var(--radius-xl);border-left:4px solid var(--color-primary);}.services-note svg{width:24px;height:24px;color:var(--color-primary);flex-shrink:0;}.services-note p{margin:0;color:var(--color-gray-700);}/* ========================================================================== BENEFITS SECTION ========================================================================== */.benefits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6);}.benefit-card{text-align:center;padding:var(--space-8);}.benefit-icon{width:72px;height:72px;background:var(--color-primary-ultra-light);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-5);transition:all var(--transition-normal);}.benefit-icon svg{width:32px;height:32px;color:var(--color-primary);}.benefit-card:hover .benefit-icon{transform:scale(1.1);background:var(--gradient-primary);}.benefit-card:hover .benefit-icon svg{color:var(--color-white);}.benefit-card h3{font-size:var(--text-lg);margin-bottom:var(--space-3);}.benefit-card p{color:var(--color-gray-600);margin:0;}/* ========================================================================== PROCESS SECTION ========================================================================== */.process-timeline{position:relative;max-width:800px;margin:0 auto;}.process-line{position:absolute;left:28px;top:0;bottom:0;width:4px;background:var(--color-gray-700);border-radius:2px;}.process-step{display:flex;gap:var(--space-6);padding:var(--space-6) 0;position:relative;}.process-number{width:60px;height:60px;background:var(--gradient-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--text-2xl);font-weight:700;color:var(--color-white);flex-shrink:0;position:relative;z-index:2;box-shadow:0 4px 20px rgba(37,99,235,0.4);}.process-content h3{font-size:var(--text-xl);color:var(--color-white);margin-bottom:var(--space-2);}.process-content p{color:var(--color-gray-400);margin:0;}/* ========================================================================== AREA SECTION ========================================================================== */.area-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);align-items:center;}.area-text h2{margin-bottom:var(--space-4);}.area-list{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2);margin:var(--space-6) 0;}.area-list li{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;color:var(--color-gray-700);}.area-list li::before{content:'';width:8px;height:8px;background:var(--color-primary);border-radius:50%;}.area-note{font-size:var(--text-sm);color:var(--color-gray-600);font-style:italic;}.area-map{display:flex;justify-content:center;}.map-placeholder{width:100%;max-width:400px;aspect-ratio:1;background:var(--color-white);border-radius:var(--radius-2xl);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);box-shadow:var(--shadow-lg);border:1px solid var(--color-gray-200);}.map-placeholder svg{width:80px;height:80px;color:var(--color-primary);}.map-placeholder span{font-size:var(--text-lg);font-weight:600;color:var(--color-dark);}/* ========================================================================== FAQ SECTION ========================================================================== */.faq-list{display:flex;flex-direction:column;gap:var(--space-4);}.faq-item{background:var(--color-white);border-radius:var(--radius-lg);border:1px solid var(--color-gray-200);overflow:hidden;transition:all var(--transition-normal);}.faq-item:hover{border-color:var(--color-primary-light);}.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-6);background:none;border:none;cursor:pointer;text-align:left;font-family:var(--font-primary);font-size:var(--text-base);font-weight:600;color:var(--color-dark);transition:all var(--transition-fast);}.faq-question:hover{background:var(--color-gray-100);}.faq-question svg{width:24px;height:24px;color:var(--color-gray-500);transition:transform var(--transition-normal);flex-shrink:0;}.faq-item.is-open .faq-question svg{transform:rotate(180deg);}.faq-answer{max-height:0;overflow:hidden;transition:max-height var(--transition-normal);}.faq-item.is-open .faq-answer{max-height:500px;}.faq-answer p{padding:0 var(--space-6) var(--space-6);color:var(--color-gray-600);margin:0;line-height:1.8;}/* ========================================================================== CONTACT SECTION ========================================================================== */.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:var(--space-12);align-items:start;}.contact-info h2{margin-bottom:var(--space-4);}.contact-info > p{color:rgba(255,255,255,0.85);margin-bottom:var(--space-8);}.contact-methods{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-8);}.contact-method{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background:rgba(255,255,255,0.1);border-radius:var(--radius-lg);transition:all var(--transition-normal);}.contact-method:hover{background:rgba(255,255,255,0.15);color:var(--color-white);transform:translateX(4px);}.contact-method-icon{width:48px;height:48px;background:rgba(255,255,255,0.15);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;}.contact-method-icon svg{width:24px;height:24px;color:var(--color-white);}.contact-method-text{display:flex;flex-direction:column;}.contact-method-text strong{font-size:var(--text-sm);color:rgba(255,255,255,0.7);}.contact-method-text span{font-size:var(--text-base);color:var(--color-white);font-weight:500;}.contact-hours h3{font-size:var(--text-base);margin-bottom:var(--space-2);}.contact-hours p{color:rgba(255,255,255,0.85);margin:0;}/* Contact Form */.contact-form-wrapper{background:var(--color-white);border-radius:var(--radius-xl);padding:var(--space-8);box-shadow:var(--shadow-xl);}.contact-form{display:flex;flex-direction:column;gap:var(--space-5);}.form-group{display:flex;flex-direction:column;gap:var(--space-2);}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);}.form-group label{font-size:var(--text-sm);font-weight:500;color:var(--color-gray-700);}.form-group input,.form-group select,.form-group textarea{padding:var(--space-4);font-family:var(--font-primary);font-size:var(--text-base);border:2px solid var(--color-gray-200);border-radius:var(--radius-md);transition:all var(--transition-fast);background:var(--color-white);}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-primary);outline:none;}.form-group textarea{resize:vertical;min-height:120px;}.form-group select{cursor:pointer;}.form-checkbox{flex-direction:row;align-items:flex-start;gap:var(--space-3);}.form-checkbox input[type="checkbox"]{width:20px;height:20px;cursor:pointer;flex-shrink:0;margin-top:2px;}.form-checkbox label{font-size:var(--text-sm);color:var(--color-gray-600);cursor:pointer;}.form-checkbox label a{color:var(--color-primary);text-decoration:underline;}/* Honeypot */.hp-field{position:absolute;left:-9999px;opacity:0;pointer-events:none;}/* ========================================================================== FOOTER ========================================================================== */.footer{background:var(--color-dark);color:var(--color-gray-400);padding:var(--space-16) 0 var(--space-8);}.footer-main{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.5fr;gap:var(--space-8);padding-bottom:var(--space-10);border-bottom:1px solid var(--color-gray-800);}.footer-brand .logo{margin-bottom:var(--space-4);}.footer-brand .logo-icon{background:var(--color-primary);}.footer-brand .logo-name{color:var(--color-white);}.footer-brand .logo-tagline{color:var(--color-gray-400);}.footer-desc{color:var(--color-gray-400);max-width:280px;margin:0 0 var(--space-4) 0;}.footer-contact-info{margin-top:var(--space-4);}.footer-contact-item{display:flex;align-items:center;gap:var(--space-2);color:var(--color-gray-400);font-size:var(--text-sm);margin-bottom:var(--space-2);}.footer-contact-item svg{width:16px;height:16px;color:var(--color-primary);flex-shrink:0;}.footer-contact-item a{color:var(--color-gray-400);transition:color var(--transition-fast);}.footer-contact-item a:hover{color:var(--color-white);}.footer-trust{display:flex;gap:var(--space-4);margin-top:var(--space-6);flex-wrap:wrap;}.footer-trust-badge{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-gray-500);}.footer-trust-badge svg{width:14px;height:14px;color:var(--color-primary);}/* Footer Quick Contact Form */.footer-form{background:rgba(255,255,255,0.05);border-radius:var(--radius-lg);padding:var(--space-5);}.footer-form h4{color:var(--color-white);font-size:var(--text-base);margin-bottom:var(--space-4);}.footer-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);}.footer-form .form-group{margin-bottom:var(--space-3);}.footer-form input,.footer-form textarea{width:100%;padding:var(--space-2) var(--space-3);background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);border-radius:var(--radius-md);color:var(--color-white);font-size:var(--text-sm);transition:all var(--transition-fast);}.footer-form input::placeholder,.footer-form textarea::placeholder{color:var(--color-gray-500);}.footer-form input:focus,.footer-form textarea:focus{outline:none;border-color:var(--color-primary);background:rgba(255,255,255,0.15);}.footer-form textarea{resize:vertical;min-height:60px;}.footer-form .btn{width:100%;padding:var(--space-2) var(--space-4);font-size:var(--text-sm);}.footer-form-message{font-size:var(--text-sm);padding:var(--space-2);border-radius:var(--radius-md);margin-top:var(--space-3);display:none;}.footer-form-message.success{display:block;background:rgba(34,197,94,0.2);color:#22c55e;}.footer-form-message.error{display:block;background:rgba(239,68,68,0.2);color:#ef4444;}.form-checkbox-footer{display:flex;flex-direction:row;align-items:flex-start;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-gray-200);}.form-checkbox-footer input[type="checkbox"]{width:auto;margin-top:2px;flex-shrink:0;}.form-checkbox-footer label{line-height:1.4;color:#ffffff;}.form-checkbox-footer a{color:#60a5fa;text-decoration:underline;}.form-checkbox-footer a:hover{color:var(--color-white);}.footer-links{display:contents;}.footer-col h4{color:var(--color-white);font-size:var(--text-base);margin-bottom:var(--space-4);}.footer-col ul{list-style:none;}.footer-col li{margin-bottom:var(--space-2);}.footer-col a{color:var(--color-gray-400);font-size:var(--text-sm);transition:all var(--transition-fast);}.footer-col a:hover{color:var(--color-white);}.footer-bottom{padding-top:var(--space-8);text-align:center;}.footer-bottom p{font-size:var(--text-sm);color:var(--color-gray-500);margin:0;}.footer-credit{margin-top:var(--space-2) !important;font-size:var(--text-xs);color:var(--color-gray-600);}.footer-credit a{color:var(--color-gray-400);transition:color var(--transition-fast);}.footer-credit a:hover{color:var(--color-white);}/* ========================================================================== SCROLL TO TOP BUTTON ========================================================================== */.scroll-top{position:fixed;bottom:var(--space-6);right:var(--space-6);width:50px;height:50px;background:var(--gradient-primary);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transform:translateY(20px);transition:all var(--transition-normal);box-shadow:var(--shadow-lg);z-index:900;}.scroll-top svg{width:24px;height:24px;color:var(--color-white);}.scroll-top.visible{opacity:1;visibility:visible;transform:translateY(0);}.scroll-top:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl);}/* ========================================================================== WHATSAPP FLOATING BUTTON ========================================================================== */.whatsapp-float{position:fixed;bottom:var(--space-6);left:var(--space-6);width:60px;height:60px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(37,211,102,0.4);z-index:900;transition:all var(--transition-normal);text-decoration:none;}.whatsapp-float svg{width:32px;height:32px;color:#ffffff;}.whatsapp-float:hover{transform:scale(1.1);box-shadow:0 6px 30px rgba(37,211,102,0.5);}.whatsapp-float::before{content:'';position:absolute;width:100%;height:100%;border-radius:50%;background:#25D366;z-index:-1;animation:whatsapp-pulse 2s ease-out infinite;}@keyframes whatsapp-pulse{0%{transform:scale(1);opacity:0.5;}100%{transform:scale(1.5);opacity:0;}}.whatsapp-tooltip{position:absolute;left:70px;background:var(--color-dark);color:var(--color-white);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;white-space:nowrap;opacity:0;visibility:hidden;transform:translateX(-10px);transition:all var(--transition-fast);}.whatsapp-tooltip::before{content:'';position:absolute;left:-6px;top:50%;transform:translateY(-50%);border:6px solid transparent;border-right-color:var(--color-dark);}.whatsapp-float:hover .whatsapp-tooltip{opacity:1;visibility:visible;transform:translateX(0);}@media (max-width:768px){.whatsapp-float{width:54px;height:54px;bottom:var(--space-4);left:var(--space-4);}.whatsapp-float svg{width:28px;height:28px;}.whatsapp-tooltip{display:none;}}/* ========================================================================== COOKIE BANNER ========================================================================== */.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--color-white);padding:var(--space-5) var(--space-6);box-shadow:0 -4px 20px rgba(0,0,0,0.1);z-index:1000;transform:translateY(100%);transition:transform var(--transition-normal);}.cookie-banner.active{transform:translateY(0);}.cookie-content{max-width:var(--container-max);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);}.cookie-content p{margin:0;font-size:var(--text-sm);color:var(--color-gray-600);}.cookie-buttons{display:flex;gap:var(--space-3);flex-shrink:0;}/* ========================================================================== REVEAL ANIMATIONS ========================================================================== */.reveal{opacity:0;transform:translateY(30px);transition:all 0.6s var(--ease-smooth);}.reveal.active{opacity:1;transform:translateY(0);}/* ========================================================================== CITY LANDING PAGES ========================================================================== */.hero-city{min-height:50vh;padding-top:calc(var(--header-height) + var(--space-12));padding-bottom:var(--space-12);}.hero-city h1{font-size:var(--text-4xl);}.breadcrumb{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:rgba(255,255,255,0.7);margin-bottom:var(--space-4);}.breadcrumb a{color:rgba(255,255,255,0.7);transition:color var(--transition-fast);}.breadcrumb a:hover{color:var(--color-white);}.breadcrumb span{color:rgba(255,255,255,0.5);}.city-intro{max-width:800px;margin:0 auto var(--space-12);text-align:center;}.city-intro h2{margin-bottom:var(--space-4);}.city-intro p{color:var(--color-gray-600);font-size:var(--text-lg);line-height:1.8;}.city-services h3,.city-benefits h3,.city-details h3{text-align:center;margin-bottom:var(--space-8);}.city-details{max-width:800px;margin:var(--space-12) auto 0;padding-top:var(--space-10);border-top:1px solid var(--color-gray-200);}.city-details p{color:var(--color-gray-600);margin-bottom:var(--space-4);line-height:1.8;}.services-grid-3{grid-template-columns:repeat(3,1fr);}.city-benefits{max-width:700px;margin:0 auto;}.benefits-list{display:flex;flex-direction:column;gap:var(--space-6);}.benefit-item{display:flex;gap:var(--space-4);align-items:flex-start;}.benefit-item svg{flex-shrink:0;width:24px;height:24px;color:var(--color-primary);}.benefit-item strong{display:block;font-weight:600;margin-bottom:var(--space-1);}.benefit-item p{margin:0;color:var(--color-gray-600);font-size:var(--text-sm);}.cta-box{text-align:center;color:var(--color-white);}.cta-box h2{color:var(--color-white);margin-bottom:var(--space-3);}.cta-box p{opacity:0.9;margin-bottom:var(--space-6);}.cta-section{background:var(--gradient-primary);color:var(--color-white);padding:var(--space-16) 0;}.cta-content{text-align:center;max-width:700px;margin:0 auto;}.cta-content h2{color:var(--color-white);margin-bottom:var(--space-4);}.cta-content p{color:rgba(255,255,255,0.9);margin-bottom:var(--space-6);font-size:var(--text-lg);}.btn-outline-white{background:transparent;color:var(--color-white);border:2px solid var(--color-white);}.btn-outline-white:hover{background:var(--color-white);color:var(--color-primary);}.cta-buttons{display:flex;justify-content:center;gap:var(--space-4);flex-wrap:wrap;}.btn-white{background:var(--color-white);color:var(--color-primary);}.btn-white:hover{background:var(--color-gray-100);color:var(--color-primary-dark);transform:translateY(-2px);}/* Region Links */.region-links{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center;}.region-links-main{justify-content:flex-start;margin:var(--space-4) 0;}.region-link{display:inline-block;padding:var(--space-2) var(--space-4);background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-full);color:var(--color-gray-700);font-size:var(--text-sm);font-weight:500;transition:all var(--transition-fast);}.region-link:hover{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white);transform:translateY(-2px);box-shadow:var(--shadow-md);}/* ========================================================================== RESPONSIVE DESIGN ========================================================================== */@media (max-width:1024px){.services-grid{grid-template-columns:repeat(2,1fr);}.services-grid-3{grid-template-columns:repeat(2,1fr);}.benefits-grid{grid-template-columns:repeat(2,1fr);}.contact-grid{grid-template-columns:1fr;gap:var(--space-8);}.footer-main{grid-template-columns:1fr 1fr;gap:var(--space-6);}.footer-brand{grid-column:1 / -1;}.footer-form{grid-column:1 / -1;}}@media (max-width:768px){:root{--header-height:64px;}.nav-main{position:fixed;top:0;right:0;bottom:0;left:auto;width:300px;max-width:85vw;height:100vh;background:#ffffff;flex-direction:column;align-items:stretch;padding:calc(var(--header-height) + var(--space-6)) var(--space-6) var(--space-6);gap:var(--space-4);box-shadow:-5px 0 30px rgba(0,0,0,0.15);transform:translateX(100%);transition:transform var(--transition-normal);z-index:9999;overflow-y:auto;-webkit-overflow-scrolling:touch;}.nav-main.active{transform:translateX(0);}.nav-list{flex-direction:column;gap:0;}.nav-link{padding:var(--space-4);border-bottom:1px solid var(--color-gray-200);}.nav-main .btn{margin-top:var(--space-4);}.nav-toggle{display:flex;}.nav-close{display:flex;}/* Mobile Dropdown */ .nav-dropdown-menu{position:static;min-width:100%;box-shadow:none;padding:0;padding-left:var(--space-4);grid-template-columns:1fr;background:var(--color-gray-50);border-radius:0;}.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown.is-open .nav-dropdown-menu{display:flex;flex-direction:column;}.nav-dropdown-section{padding:var(--space-2) 0;border-bottom:1px solid var(--color-gray-200);}.nav-dropdown-section:last-child{border-bottom:none;}.nav-dropdown-title{padding:var(--space-2) var(--space-4);}.nav-dropdown-menu a{padding:var(--space-2) var(--space-4);}.hero{padding:var(--space-16) 0;min-height:auto;}.hero h1{font-size:var(--text-4xl);}.hero-buttons{flex-direction:column;}.hero-trust{flex-direction:column;gap:var(--space-4);}.services-grid{grid-template-columns:1fr;}.services-grid-3{grid-template-columns:1fr;}.benefits-grid{grid-template-columns:1fr;}.hero-city h1{font-size:var(--text-3xl);}.cta-buttons{flex-direction:column;align-items:center;}.region-links-main{justify-content:center;}.process-line{left:18px;}.process-number{width:40px;height:40px;font-size:var(--text-lg);}.area-content{grid-template-columns:1fr;gap:var(--space-8);}.area-map{order:-1;}.map-placeholder{max-width:250px;aspect-ratio:auto;height:250px;}.form-row{grid-template-columns:1fr;}.footer-main{grid-template-columns:1fr 1fr;gap:var(--space-6);}.footer-brand{grid-column:1 / -1;}.footer-form{grid-column:1 / -1;}.footer-form .form-row{grid-template-columns:1fr;}.footer-trust{flex-direction:column;gap:var(--space-2);}.cookie-content{flex-direction:column;text-align:center;}.section-header h2{font-size:var(--text-3xl);}}@media (max-width:480px){.container{padding:0 var(--space-4);}.section{padding:var(--space-12) 0;}.logo-text{display:flex;}.logo-name{font-size:var(--text-base);}.logo-tagline{font-size:0.7rem;}.hero h1{font-size:var(--text-3xl);}.hero-subtitle{font-size:var(--text-base);}.service-card,.contact-form-wrapper{padding:var(--space-6);}.footer-links{grid-template-columns:1fr 1fr;}}/* ========================================================================== CITY LANDING PAGES - EXTENDED SECTIONS ========================================================================== *//* Typische Anfragen / Examples */.city-examples{max-width:900px;margin:0 auto;}.city-examples > p{text-align:center;color:var(--color-gray-600);margin-bottom:var(--space-8);}.city-examples h3{text-align:center;margin-bottom:var(--space-4);}.examples-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6);}.example-card{background:var(--color-white);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm);border:1px solid var(--color-gray-200);transition:all var(--transition-normal);}.example-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-primary-light);}.example-card h4{font-size:var(--text-lg);color:var(--color-primary);margin-bottom:var(--space-3);}.example-card p{color:var(--color-gray-600);font-size:var(--text-sm);line-height:1.7;margin:0;}/* City Process Steps */.city-process{max-width:800px;margin:0 auto;}.city-process h3{text-align:center;margin-bottom:var(--space-10);}.city-process .process-steps{display:flex;flex-direction:column;gap:var(--space-6);}.city-process .process-step{display:flex;gap:var(--space-5);align-items:flex-start;padding:0;}.city-process .step-number{width:48px;height:48px;background:var(--gradient-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--text-xl);font-weight:700;color:var(--color-white);flex-shrink:0;box-shadow:0 4px 15px var(--color-primary-glow);}.city-process .step-content h4{font-size:var(--text-lg);margin-bottom:var(--space-2);}.city-process .step-content p{color:var(--color-gray-600);margin:0;line-height:1.7;}/* City FAQ (Static without JS) */.city-faq{max-width:800px;margin:0 auto;}.city-faq h3{text-align:center;margin-bottom:var(--space-8);}.city-faq .faq-list{display:flex;flex-direction:column;gap:var(--space-5);}.city-faq .faq-item{background:var(--color-white);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm);border:1px solid var(--color-gray-200);}.city-faq .faq-item h4{font-size:var(--text-base);color:var(--color-dark);margin-bottom:var(--space-3);}.city-faq .faq-item p{color:var(--color-gray-600);margin:0;line-height:1.8;}/* Responsive for new sections */@media (max-width:768px){.examples-grid{grid-template-columns:1fr;}.city-process .step-number{width:40px;height:40px;font-size:var(--text-lg);}}/* ========================================================================== LEGAL PAGES (Impressum,Datenschutz) ========================================================================== */.legal-page h1{font-size:var(--text-3xl);margin-bottom:var(--space-8);}.legal-page h2{font-size:var(--text-xl);margin-top:var(--space-8);margin-bottom:var(--space-4);color:var(--color-primary);}.legal-page h3{font-size:var(--text-lg);margin-top:var(--space-6);margin-bottom:var(--space-3);}.legal-page p{color:var(--color-gray-700);margin-bottom:var(--space-4);}.legal-page a{color:var(--color-primary);text-decoration:underline;}.legal-page a:hover{color:var(--color-primary-dark);}/* Print Styles */@media print{.header,.scroll-top,.cookie-banner,.nav-toggle{display:none !important;}body{padding-top:0;}.hero{background:none;color:var(--color-dark);padding:var(--space-8) 0;}.hero h1,.hero-subtitle{color:var(--color-dark);}.section{padding:var(--space-8) 0;}}