: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;
            --shadow:0 10px 30px rgba(0,0,0,.35);
            --radius:16px;
            --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;border-radius:var(--radius);}
        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));
            border-radius: 0;
        }
        .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-block;
        }
        nav a:hover{
            color:var(--gold);
            background:rgba(255,255,255,.04);
        }

        /* HERO - Speziell für Düsseldorf */
        .hero{
            position:relative;
            overflow:hidden;
            border-bottom:3px solid var(--red);
            background:
                linear-gradient(90deg, rgba(0,0,0,.86) 0%, rgba(0,0,0,.75) 42%, rgba(0,0,0,.5) 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:80px 0;
            text-align:center;
        }
        .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, 54px);
            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:28px;
            max-width:800px;
            margin-left:auto;
            margin-right:auto;
        }
        
        .hero-buttons{
            display:flex;
            gap:14px;
            flex-wrap:wrap;
            justify-content:center;
        }
        .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);
        }
        .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;}

        /* MAIN CONTENT */
        main{padding:60px 0 70px;}
        .city-content{
            display:grid;
            grid-template-columns: 1fr 1fr;
            gap: 40px;
            align-items: center;
            margin-bottom: 60px;
        }
        .city-text h2{
            font-size:32px;
            color:var(--white);
            line-height:1.15;
            margin-bottom:18px;
        }
        .city-text h2 span{color:var(--gold);}
        .city-text p{
            color:var(--muted);
            font-size:17px;
            margin-bottom:16px;
        }
        .city-text ul{
            list-style:none;
            display:grid;
            gap:12px;
            margin-top:20px;
            margin-bottom:24px;
        }
        .city-text li{
            padding-left:28px;
            position:relative;
            color:#ececec;
            font-size:16px;
        }
        .city-text li::before{
            content:'✓';
            position:absolute;
            left:0;
            top:0;
            color:var(--gold);
            font-weight:800;
        }
        
        .city-image img{
            box-shadow: var(--shadow);
            border: 1px solid var(--border);
        }

        .text-link {
            color: var(--gold-soft);
            text-decoration: none;
            font-weight: 700;
            border-bottom: 1px dashed var(--gold-soft);
        }
        .text-link:hover {
            color: var(--gold);
            border-bottom-style: solid;
        }

        /* CTA BOX */
        .contact-box{
            background:linear-gradient(180deg, var(--card), var(--card-2));
            border:1px solid var(--border);
            border-radius:var(--radius);
            box-shadow:var(--shadow);
            padding:40px 30px;
            text-align:center;
        }
        .contact-box h2{font-size:32px;color:var(--white);margin-bottom:10px;}
        .contact-box p{color:var(--muted);margin-bottom:24px; max-width:700px; margin-left:auto; margin-right:auto;}

        footer{
            background:#090909;
            border-top:1px solid rgba(255,255,255,.06);
            padding:32px 0;
            margin-top:18px;
        }
        .footer-inner{width:min(var(--max), calc(100% - 32px));margin:0 auto;text-align:center;}
        .footer-inner p{margin:8px 0;color:#9d9d9d;font-size:14px;}
        .footer-inner a{color:var(--gold);text-decoration:none;font-weight:700;}

        @media (max-width: 1080px){
            .header-inner{flex-direction:column;align-items:flex-start;}
            nav ul{justify-content:flex-start;}
        }
        @media (max-width: 850px){
            .city-content { grid-template-columns: 1fr; }
        }
        @media (max-width: 680px){
            .brand img{width:170px;}
            .brand-title{font-size:24px;}
            .hero-inner{padding:60px 0;}
            .hero h1{font-size:32px;}
            .city-text h2{font-size:28px;}
            nav a{font-size:16px;padding:10px 12px;}
            .btn{width:100%;}
            .topbar-inner{font-size:13px;}
        }
.inline-fix-imbisswagen-mieten-duesseldorf-1{justify-content:center; margin-top:20px;}

@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;}}

.city-image img{width:100%;height:auto;}

.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;}}
