:root{
            --bg:#111214;
            --bg-soft:#18191c;
            --card:#1c1b1d;
            --card-2:#222124;
            --text:#d6d7d6;
            --muted:#adadad;
            --white:#ffffff;
            --gold:#fbb037;
            --gold-soft:#ffd17a;
            --red:#e2341d;
            --border:#35363a;
            --radius:16px;
            --shadow:0 10px 30px rgba(0,0,0,.35);
            --max:1180px;
        }

        *{box-sizing:border-box;margin:0;padding:0;}
        html{scroll-behavior:smooth;}

        body{
            font-family:'Montserrat',sans-serif;
            background:
                radial-gradient(circle at top right, rgba(251,176,55,.08), transparent 20%),
                radial-gradient(circle at top left, rgba(226,52,29,.06), transparent 20%),
                var(--bg);
            color:var(--text);
            line-height:1.65;
        }

        img{max-width:100%;display:block;}
        a{color:inherit;}
        .container{
            width:min(var(--max), calc(100% - 32px));
            margin:0 auto;
        }

        /* TOPBAR */
        .topbar{
            background:#060606;
            border-bottom:1px solid rgba(251,176,55,.18);
            font-size:14px;
        }
        .topbar-inner{
            width:min(var(--max), calc(100% - 32px));
            margin:0 auto;
            display:flex;
            justify-content:space-between;
            align-items:center;
            gap:14px;
            padding:10px 0;
            flex-wrap:wrap;
        }
        .topbar a{
            color:var(--gold-soft);
            text-decoration:none;
            font-weight:600;
        }

        /* HEADER */
        header{
            position:sticky;
            top:0;
            z-index:1000;
            backdrop-filter:blur(8px);
            background:rgba(10,10,10,.92);
            border-bottom:1px solid rgba(255,255,255,.06);
        }
        .header-inner{
            width:min(var(--max), calc(100% - 32px));
            margin:0 auto;
            display:flex;
            justify-content:space-between;
            align-items:center;
            gap:20px;
            padding:14px 0;
        }
        .brand{
            display:flex;
            align-items:center;
            gap:14px;
            text-decoration:none;
            min-width:0;
        }
        .brand img{
            width:220px;
            height:auto;
            object-fit:contain;
            filter:drop-shadow(0 4px 14px rgba(0,0,0,.25));
        }
        .brand-text{
            min-width:0;
        }
        .brand-title{
            color:var(--white);
            font-size:30px;
            font-weight:800;
            letter-spacing:1px;
            text-transform:uppercase;
            line-height:1;
        }
        .brand-subtitle{
            color:var(--gold);
            font-size:13px;
            font-style:italic;
            margin-top:6px;
            letter-spacing:.3px;
        }

        nav ul{
            list-style:none;
            display:flex;
            gap:10px;
            flex-wrap:wrap;
            justify-content:flex-end;
        }
        nav li{
            display:flex;
        }
        nav a{
            text-decoration:none;
            color:var(--text);
            font-weight:700;
            font-size:18px;
            padding:12px 16px;
            border-radius:10px;
            transition:.2s ease;
            display:inline-flex;
            align-items:center;
            justify-content:center;
            min-height:48px;
            text-align:center;
        }
        nav a:hover,
        nav a.active{
            color:var(--gold);
            background:rgba(255,255,255,.04);
        }

        /* HERO */
        .hero{
            position:relative;
            overflow:hidden;
            border-bottom:3px solid var(--red);
            background:
                linear-gradient(90deg, rgba(0,0,0,.84) 0%, rgba(0,0,0,.68) 42%, rgba(0,0,0,.48) 100%),
                image-set(url('../images/hero-ekule-bg.webp') type('image/webp'), url('../images/hero-ekule-bg.jpg') type('image/jpeg')) center/cover no-repeat;
        }
        .hero-inner{
            width:min(var(--max), calc(100% - 32px));
            margin:0 auto;
            padding:86px 0 82px;
            display:grid;
            grid-template-columns:1.12fr .88fr;
            gap:40px;
            align-items:center;
        }
        .hero-copy{
            max-width:760px;
        }
        .eyebrow{
            display:inline-flex;
            align-items:center;
            gap:10px;
            background:rgba(251,176,55,.12);
            border:1px solid rgba(251,176,55,.28);
            color:var(--gold-soft);
            padding:8px 14px;
            border-radius:999px;
            font-size:13px;
            font-weight:700;
            letter-spacing:.4px;
            text-transform:uppercase;
            margin-bottom:18px;
        }
        .hero h1{
            font-size:clamp(34px, 5vw, 58px);
            line-height:1.05;
            color:var(--white);
            margin-bottom:20px;
            font-weight:800;
            text-shadow:0 3px 14px rgba(0,0,0,.45);
        }
        .hero h1 span{
            color:var(--gold);
        }
        .hero-lead{
            font-size:19px;
            color:#f3f3f3;
            margin-bottom:16px;
            max-width:720px;
        }
        .hero-text{
            font-size:17px;
            color:#dddddd;
            max-width:740px;
            margin-bottom:28px;
        }
        .hero-points{
            display:flex;
            flex-wrap:wrap;
            gap:10px;
            margin-bottom:18px;
        }
        .hero-points span{
            padding:9px 13px;
            border-radius:999px;
            background:rgba(255,255,255,.08);
            border:1px solid rgba(255,255,255,.12);
            font-size:14px;
            font-weight:600;
            color:#efefef;
        }
        .phone-line{
            margin-bottom:24px;
            color:#f2f2f2;
            font-size:15px;
            font-weight:600;
        }
        .phone-line a{
            color:var(--gold-soft);
            text-decoration:none;
            cursor: pointer;
        }
        .hero-buttons{
            display:flex;
            gap:14px;
            flex-wrap:wrap;
        }
        .btn{
            display:inline-flex;
            align-items:center;
            justify-content:center;
            gap:10px;
            min-height:56px;
            padding:15px 26px;
            border-radius:12px;
            text-decoration:none;
            font-weight:800;
            font-size:18px;
            letter-spacing:.2px;
            transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
            box-shadow:var(--shadow);
            border: none;
            cursor: pointer;
        }
        .btn:hover{
            transform:translateY(-2px);
        }
        .btn-primary{
            background:var(--gold);
            color:#111;
        }
        .btn-primary:hover{
            background:#ffc04f;
        }
        .btn-secondary{
            background:var(--red);
            color:#fff;
        }
        .btn-secondary:hover{
            background:#f0432d;
        }

        .hero-card{
            background:linear-gradient(180deg, rgba(28,27,29,.92), rgba(22,22,22,.92));
            border:1px solid rgba(255,255,255,.06);
            border-top:4px solid var(--gold);
            border-radius:20px;
            padding:26px;
            box-shadow:var(--shadow);
        }
        .hero-card h2{
            color:var(--white);
            font-size:26px;
            margin-bottom:16px;
        }
        .hero-card ul{
            list-style:none;
            display:grid;
            gap:12px;
            margin-bottom:18px;
        }
        .hero-card li{
            padding-left:28px;
            position:relative;
            color:#ececec;
            font-size:15px;
        }
        .hero-card li::before{
            content:'✓';
            position:absolute;
            left:0;
            top:0;
            color:var(--gold);
            font-weight:800;
        }
        .mini-note{
            background:rgba(251,176,55,.08);
            border:1px dashed rgba(251,176,55,.45);
            color:var(--gold-soft);
            padding:12px 14px;
            border-radius:12px;
            font-size:14px;
            font-weight:700;
        }

        /* MAIN */
        main{
            padding:56px 0 70px;
        }
        section{
            margin-bottom:28px;
        }
        .section-title{
            font-size:34px;
            color:var(--white);
            line-height:1.15;
            margin-bottom:12px;
        }
        .section-title span{
            color:var(--gold);
        }
        .section-intro{
            color:var(--muted);
            font-size:17px;
            max-width:820px;
            margin-bottom:26px;
        }
        .highlight-box,
        .grid-2,
        .contact-grid{
            display:grid;
            gap:24px;
        }
        .highlight-box{
            grid-template-columns:repeat(3,1fr);
        }
        .grid-2{
            grid-template-columns:repeat(2,1fr);
        }
        .contact-grid{
            grid-template-columns:repeat(3,1fr);
            margin-top:22px;
        }

        .feature,
        .card,
        .service-area,
        .contact-box{
            background:linear-gradient(180deg, var(--card), var(--card-2));
            border:1px solid var(--border);
            border-radius:var(--radius);
            box-shadow:var(--shadow);
        }
        .feature,
        .card{
            padding:28px;
        }
        .feature h3{
            color:var(--gold);
            font-size:20px;
            margin-bottom:10px;
        }
        .card h3{
            color:var(--white);
            font-size:24px;
            margin-bottom:12px;
        }
        .card p + p{
            margin-top:12px;
        }
        .badge{
            display:inline-block;
            background:var(--red);
            color:#fff;
            padding:7px 12px;
            border-radius:999px;
            font-size:12px;
            font-weight:800;
            letter-spacing:.5px;
            text-transform:uppercase;
            margin-bottom:14px;
        }

        .contact-box{
            padding:30px;
            text-align:center;
        }
        .contact-box h2{
            font-size:32px;
            color:var(--white);
            margin-bottom:10px;
        }
        .contact-box p{
            color:var(--muted);
            margin-bottom:20px;
        }
        .contact-item{
            background:rgba(255,255,255,.03);
            border:1px solid rgba(255,255,255,.06);
            border-radius:14px;
            padding:18px;
        }
        .contact-item strong{
            display:block;
            color:var(--gold);
            margin-bottom:8px;
            font-size:14px;
            text-transform:uppercase;
            letter-spacing:.5px;
        }
        .contact-item a,
        .contact-item span{
            color:var(--white);
            text-decoration:none;
            font-weight:700;
            word-break:break-word;
        }
        .notice{
            margin-top:22px;
            display:inline-block;
            padding:12px 18px;
            border:2px dashed var(--gold);
            color:var(--gold-soft);
            font-weight:800;
            border-radius:12px;
            background:rgba(251,176,55,.06);
        }

        .service-area{
            padding:30px;
        }
        .service-area h2{
            color:var(--white);
            font-size:30px;
            margin-bottom:12px;
        }
        .service-area p{
            color:#d9d9d9;
            font-size:16px;
        }
        .service-tags{
            display:flex;
            flex-wrap:wrap;
            gap:10px;
            margin-top:20px;
        }
        .service-tags span{
            background:rgba(255,255,255,.04);
            border:1px solid rgba(255,255,255,.07);
            color:#ececec;
            padding:9px 12px;
            border-radius:999px;
            font-size:14px;
            font-weight:600;
        }

        /* FOOTER & SEO LINKS */
        footer{
            background:#090909;
            border-top:1px solid rgba(255,255,255,.06);
            padding:40px 0 32px;
            margin-top:18px;
        }
        .footer-inner{
            width:min(var(--max), calc(100% - 32px));
            margin:0 auto;
            text-align:center;
        }
        
        /* SEO Fix 3: Das neue Link-Menü im Footer */
        .footer-seo-links {
            margin-bottom: 24px;
            padding-bottom: 20px;
            border-bottom: 1px solid rgba(255,255,255,.05);
        }
        .footer-seo-links h4 {
            color: var(--gold);
            font-size: 15px;
            margin-bottom: 10px;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }
        .footer-seo-links ul {
            list-style: none;
            display: flex;
            justify-content: center;
            flex-wrap: wrap;
            gap: 15px;
        }
        .footer-seo-links a {
            color: #adadad;
            text-decoration: none;
            font-size: 14px;
            transition: .2s;
        }
        .footer-seo-links a:hover {
            color: var(--white);
        }

        .footer-inner p{
            margin:8px 0;
            color:#9d9d9d;
            font-size:14px;
        }
        .footer-inner p a{
            color:var(--gold);
            text-decoration:none;
            font-weight:700;
        }

        /* SMART PHONE MODAL CSS */
        #phoneModal{ display:none; position:fixed; z-index:9999; inset:0; background:rgba(0,0,0,0.9); backdrop-filter:blur(5px); align-items:center; justify-content:center; }
        .modal-content-phone{ background:var(--card); border:2px solid var(--gold); padding:30px; border-radius:20px; text-align:center; width:min(400px, 90%); position:relative; }

        @media (max-width:1080px){
            .header-inner{
                flex-direction:column;
                align-items:flex-start;
            }
            nav ul{
                justify-content:flex-start;
            }
            .hero-inner,
            .highlight-box,
            .grid-2,
            .contact-grid{
                grid-template-columns:1fr;
            }
        }

        @media (max-width:680px){
            .brand img{
                width:170px;
            }
            .brand-title{
                font-size:24px;
            }
            .hero-inner{
                padding:68px 0 64px;
            }
            .hero h1{
                font-size:34px;
            }
            .hero-lead{
                font-size:17px;
            }
            .hero-text{
                font-size:16px;
            }
            .section-title{
                font-size:28px;
            }
            nav a{
                font-size:16px;
                padding:10px 12px;
                min-height:44px;
            }
            .btn{
                width:100%;
            }
            .topbar-inner{
                font-size:13px;
            }
            .footer-seo-links ul {
                flex-direction: column;
                gap: 8px;
            }
        }
.inline-fix-index-1{cursor:pointer;}
.inline-fix-index-2{justify-content:center;}
.inline-fix-index-3{cursor:pointer;}
.inline-fix-index-4{cursor:pointer;}

@font-face{font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/montserrat-latin-v31.woff2') format('woff2');}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/montserrat-latin-v31.woff2') format('woff2');}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/montserrat-latin-v31.woff2') format('woff2');}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/montserrat-latin-v31.woff2') format('woff2');}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/montserrat-latin-v31.woff2') format('woff2');}


/* Technische Reparaturen ohne Aenderung der Desktop-Designidentitaet. */
:focus-visible{outline:3px solid #7fb6ff;outline-offset:3px;}
.skip-link{position:fixed;left:12px;top:-100px;z-index:10000;background:#fff;color:#111;padding:10px 14px;border-radius:8px;font-weight:800;text-decoration:none;}
.skip-link:focus{top:12px;}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}
.external-consent{min-height:420px;display:grid;place-items:center;padding:28px;text-align:center;background:#f4f4f4;color:#222;border:1px solid #777;}
.external-consent-inner{max-width:620px;}
.external-consent h3{margin-bottom:10px;color:#111;}
.external-consent p{margin-bottom:18px;color:#444;}
.external-consent .btn{display:inline-flex;width:auto;}
.external-widget-note{display:block;margin:12px 0;color:#adadad;font-size:14px;}
.form-note{margin:0 0 18px;color:#adadad;font-size:13px;line-height:1.55;}
.form-note a{color:#ffd17a;}
.center-buttons{justify-content:center;}
.lightbox-close{border:0;background:transparent;font:inherit;line-height:1;cursor:pointer;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto!important;}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;}}
@media (max-width:680px){header{position:static;}nav{width:100%;}nav ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;}nav li,nav a{width:100%;}.topbar-inner{align-items:flex-start;}.external-consent{min-height:360px;padding:20px;}}


.inline-fix-404-1{padding:80px 0;text-align:center}
.inline-fix-404-2{margin:18px 0 26px}

.service-tags a{
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.07);
    color:#ececec;
    border-radius:999px;
    padding:10px 14px;
    font-weight:700;
    text-decoration:none;
    transition:transform .2s ease,border-color .2s ease,color .2s ease;
}
.service-tags a:hover,.service-tags a:focus-visible{transform:translateY(-2px);border-color:#7dd3fc;color:#fff;}
.service-area-more{margin-top:22px;}
.service-area-more a,.area-nav a{color:var(--gold);font-weight:800;}
.seo-section{margin:34px 0;padding:30px;background:linear-gradient(180deg,var(--card),var(--card-2));border:1px solid var(--border);border-radius:var(--radius);}
.seo-section h2{color:var(--white);font-size:clamp(26px,4vw,36px);margin-bottom:14px;}
.seo-section h3{color:var(--white);font-size:22px;margin-bottom:10px;}
.seo-section p,.seo-section li{color:var(--muted);line-height:1.75;}
.seo-section p+p{margin-top:14px;}
.seo-section ul{padding-left:20px;margin-top:12px;}
.seo-section li+li{margin-top:8px;}
.seo-faq details{background:rgba(255,255,255,.035);border:1px solid var(--border);border-radius:12px;padding:16px 18px;}
.seo-faq details+details{margin-top:10px;}
.seo-faq summary{cursor:pointer;color:var(--white);font-weight:800;}
.seo-faq details p{margin-top:10px;}
.area-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px;}
.area-card{display:block;background:rgba(255,255,255,.035);border:1px solid var(--border);border-radius:14px;padding:20px;color:inherit;text-decoration:none;transition:transform .2s ease,border-color .2s ease;}
.area-card:hover,.area-card:focus-visible{transform:translateY(-3px);border-color:#7dd3fc;}
.area-card strong{display:block;color:var(--white);font-size:19px;margin-bottom:6px;}
.area-card span{color:var(--muted);line-height:1.55;}
.area-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;}
.area-list span{border:1px solid var(--border);border-radius:999px;padding:9px 13px;color:#e8e8e8;background:rgba(255,255,255,.03);}
.city-photo{margin:24px 0;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);}
.city-photo img{display:block;width:100%;height:auto;}
.area-nav{display:flex;flex-wrap:wrap;gap:14px;margin:26px 0;}
@media(max-width:760px){.area-card-grid{grid-template-columns:1fr;}.seo-section{padding:22px;}}
