@font-face { font-family:'Inter'; src:url('font/Inter/Inter-VariableFont_opsz,wght.ttf') format('truetype'); font-weight:100 900; font-style:normal; font-display:swap; }
    @font-face { font-family:'Inter'; src:url('font/Inter/Inter-Italic-VariableFont_opsz,wght.ttf') format('truetype'); font-weight:100 900; font-style:italic; font-display:swap; }
    @font-face { font-family:'Barlow Condensed'; src:url('font/Barlow_Condensed/BarlowCondensed-SemiBold.ttf') format('truetype'); font-weight:600; font-style:normal; font-display:swap; }
    @font-face { font-family:'Barlow Condensed'; src:url('font/Barlow_Condensed/BarlowCondensed-Bold.ttf') format('truetype'); font-weight:700; font-style:normal; font-display:swap; }
    @font-face { font-family:'Barlow Condensed'; src:url('font/Barlow_Condensed/BarlowCondensed-ExtraBold.ttf') format('truetype'); font-weight:800; font-style:normal; font-display:swap; }
    @font-face { font-family:'Barlow Condensed'; src:url('font/Barlow_Condensed/BarlowCondensed-Black.ttf') format('truetype'); font-weight:900; font-style:normal; font-display:swap; }

    /* ── Reset ── */
    *,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
    :root {
      --g:         #0c6430;
      --g2:        #32843b;
      --g-light:   #eaf2ec;
      --ink:       #1a1a1a;
      --ink-mid:   #5c5c5c;
      --ink-light: #a0a0a0;
      --line:      rgba(0,0,0,.07);
      --white:     #ffffff;
      --bg:        #f8f8f6;
      --hh:        80px;
      --max:       1300px;
      --t:         .22s ease;
    }
    html { scroll-behavior:smooth; }
    body { font-family:'Inter',sans-serif; color:var(--ink); background:var(--white); line-height:1.65; overflow-x:hidden; max-width:2560px; margin:0 auto; font-weight:300; }
    a { text-decoration:none; color:inherit; }
    img { display:block; max-width:100%; }

    /* ── Type ── */
    .display { font-family:'Barlow Condensed',sans-serif; font-weight:700; line-height:.96; letter-spacing:-.01em; }
    .label { font-size:10px; font-weight:400; letter-spacing:.2em; text-transform:uppercase; color:var(--g); }
    .label-dark { font-size:10px; font-weight:400; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-light); }
    .rule { width:24px; height:1px; background:var(--g); margin:12px 0 22px; display:block; }
    .rule-white { width:24px; height:1px; background:rgba(255,255,255,.35); margin:12px 0 22px; display:block; }
    h2 { font-family:'Inter',sans-serif; font-weight:300; font-size:clamp(28px,3.2vw,46px); line-height:1.18; letter-spacing:-.03em; color:var(--ink); }
    h3 { font-size:14px; font-weight:500; color:var(--ink); margin-bottom:8px; letter-spacing:-.01em; }
    .body-text { font-size:15px; font-weight:300; color:var(--ink-mid); line-height:1.9; }
    .body-text-sm { font-size:13px; font-weight:300; color:var(--ink-mid); line-height:1.85; }

    /* ── Layout ── */
    .wrap { max-width:var(--max); margin:0 auto; padding:0 52px; }
    .sec { padding:112px 0; }
    .sec-sm { padding:72px 0; }

    /* ── Buttons ── */
    .btn-line {
      display:inline-flex; align-items:center; gap:10px;
      font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
      color:var(--ink); border:none; padding-bottom:0;
      transition:color var(--t);
    }
    .btn-line svg { width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; transition:transform var(--t); }
    .btn-line:hover { color:var(--g); }
    .btn-line:hover svg { transform:translateX(4px); }

    .btn-line-white {
      display:inline-flex; align-items:center; gap:10px;
      font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
      color:#fff; border:none; padding-bottom:0;
      transition:opacity var(--t);
    }
    .btn-line-white svg { width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; transition:transform var(--t); }
    .btn-line-white:hover { opacity:.75; }
    .btn-line-white:hover svg { transform:translateX(4px); }

    .btn-solid {
      display:inline-flex; align-items:center; gap:10px;
      font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
      color:#fff; background:var(--g); padding:13px 24px;
      transition:background var(--t);
    }
    .btn-solid svg { width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; transition:transform var(--t); }
    .btn-solid:hover { background:var(--ink); }
    .btn-solid:hover svg { transform:translateX(3px); }

    /* ── Reveal ── */
    .rv { opacity:0; transform:translateY(24px); transition:opacity .7s cubic-bezier(.22,1,.36,1), transform .7s cubic-bezier(.22,1,.36,1); }
    .rv.on { opacity:1; transform:none; }
    .rv-l { opacity:0; transform:translateX(-28px); transition:opacity .75s cubic-bezier(.22,1,.36,1), transform .75s cubic-bezier(.22,1,.36,1); }
    .rv-l.on { opacity:1; transform:none; }
    .rv-r { opacity:0; transform:translateX(28px); transition:opacity .75s cubic-bezier(.22,1,.36,1), transform .75s cubic-bezier(.22,1,.36,1); }
    .rv-r.on { opacity:1; transform:none; }
    [data-d="1"]{transition-delay:.05s}[data-d="2"]{transition-delay:.11s}[data-d="3"]{transition-delay:.17s}
    [data-d="4"]{transition-delay:.23s}[data-d="5"]{transition-delay:.29s}[data-d="6"]{transition-delay:.35s}

    /* ── GATE ── */
    #gate { position:fixed;inset:0;z-index:9999;background:var(--g);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:28px;transition:opacity .5s; }
    #gate.fade { opacity:0;pointer-events:none; }
    #gate-logo { height:44px;filter:brightness(0) invert(1); }
    #gate-form { display:flex;border:1px solid rgba(255,255,255,.3); }
    #gate-input { background:transparent;border:none;outline:none;color:#fff;font-family:'Inter',sans-serif;font-size:14px;font-weight:300;padding:12px 16px;width:210px; }
    #gate-input::placeholder { color:rgba(255,255,255,.35); }
    #gate-btn { background:rgba(255,255,255,.08);border:none;border-left:1px solid rgba(255,255,255,.3);cursor:pointer;padding:12px 14px;display:flex;align-items:center;transition:background var(--t); }
    #gate-btn:hover { background:rgba(255,255,255,.18); }
    #gate-btn svg { width:16px;height:16px;stroke:#fff;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round; }
    #gate-err { font-size:11px;color:rgba(255,255,255,.45);display:none; }
    #gate-hint { font-size:11px;font-weight:300;color:rgba(255,255,255,.3);letter-spacing:.06em; }

    /* ── HEADER ── */
    header { position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:stretch;height:var(--hh);background:#fff;border-bottom:1px solid var(--line);overflow:visible; }
    .hdr-fahne { height:calc(var(--hh) + 32px);background:#fff;padding:0 24px 0 20px;position:relative;align-self:flex-start;display:flex;align-items:center;flex-shrink:0;z-index:101; }
    .hdr-fahne::after { content:'';position:absolute;right:-18px;top:0;border-top:calc(var(--hh) + 32px) solid #fff;border-right:18px solid transparent; }
    .hdr-fahne img { width:200px;height:auto;position:relative;z-index:1; }
    nav.hdr-nav { display:flex;align-items:center;gap:32px;padding:0 36px;flex:1;align-self:center;justify-content:flex-end; }
    nav.hdr-nav a { font-size:13px;font-weight:400;color:var(--ink-mid);letter-spacing:.01em;transition:color var(--t); }
    nav.hdr-nav a:hover { color:var(--g); }
    .hdr-tel { display:flex;align-items:center;gap:8px;padding:0 28px;align-self:center;font-size:13px;font-weight:500;color:var(--g);border-left:1px solid var(--line);flex-shrink:0;transition:color var(--t); }
    .hdr-tel svg { width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round; }
    .hdr-tel:hover { color:var(--ink); }
    /* ── BURGER → X ── */
    .hdr-burger { display:none;align-items:center;justify-content:center;margin-left:auto;margin-right:20px;width:36px;height:36px;background:none;border:none;cursor:pointer;align-self:center;flex-direction:column;gap:5px;z-index:201; }
    .hdr-burger span { display:block;width:20px;height:1.5px;background:var(--ink);transition:transform .25s ease, opacity .25s ease; }
    .hdr-burger.open span:nth-child(1) { transform:translateY(6.5px) rotate(45deg); }
    .hdr-burger.open span:nth-child(2) { opacity:0; }
    .hdr-burger.open span:nth-child(3) { transform:translateY(-6.5px) rotate(-45deg); }

    /* ── MOBILE NAV ── */
    .mob-nav { display:none;position:fixed;top:var(--hh);left:0;right:0;bottom:0;background:#fff;z-index:200;flex-direction:column;overflow-y:auto;border-top:1px solid var(--line); }
    .mob-nav.open { display:flex; }
    .mob-nav > a { padding:16px 24px;font-size:15px;font-weight:300;color:var(--ink);border-bottom:1px solid var(--line);transition:color var(--t); }
    .mob-nav > a:hover { color:var(--g); }

    /* Leistungen Akkordeon */
    .mob-group { border-bottom:1px solid var(--line); }
    .mob-group-title { display:flex;align-items:center;justify-content:space-between;padding:16px 24px;font-size:15px;font-weight:300;color:var(--ink);cursor:pointer;user-select:none; }
    .mob-group-title::after { content:'';display:block;width:10px;height:10px;border-right:1.5px solid var(--ink-light);border-bottom:1.5px solid var(--ink-light);transform:rotate(45deg);margin-top:-4px;transition:transform .22s ease; }
    .mob-group.open .mob-group-title::after { transform:rotate(-135deg);margin-top:2px; }
    .mob-group-links { display:none;flex-direction:column;background:var(--bg); }
    .mob-group.open .mob-group-links { display:flex; }
    .mob-group-links a { padding:13px 24px 13px 36px;font-size:14px;font-weight:300;color:var(--ink-mid);border-bottom:1px solid var(--line);transition:color var(--t); }
    .mob-group-links a:last-child { border-bottom:none; }
    .mob-group-links a:hover { color:var(--g); }

    /* Tel-Link */
    .mob-tel { padding:20px 24px !important;font-size:15px;font-weight:500;color:var(--g) !important;border-top:1px solid var(--line);margin-top:auto; }

    /* ── HERO ── */
    #hero { padding-top:var(--hh);background:var(--bg);border-bottom:1px solid var(--line);overflow:hidden; }
    .hero-frame { padding:0;position:relative;min-height:calc(100vh - var(--hh)); }
    .hero-pic { position:absolute;inset:0;overflow:hidden; }
    .hero-pic img { width:100%;height:100%;object-fit:cover;object-position:55% center; }
    .hero-pic::before { content:'';position:absolute;left:0;top:0;bottom:0;width:min(900px,58%);background:linear-gradient(to right,var(--bg) 50%,transparent 100%);z-index:1;pointer-events:none; }
    .hero-inner { max-width:1600px;margin:0 auto;position:relative;z-index:2;min-height:calc(100vh - var(--hh));display:flex;align-items:center; }
    .hero-text { max-width:600px;display:flex;flex-direction:column;justify-content:center;padding:72px 0 80px 52px; }
    .hero-label { font-size:10px;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:var(--g);margin-bottom:14px;animation:fu .7s .1s ease-out both; }
    #hero h1 { font-family:'Inter',sans-serif;font-weight:300;font-size:clamp(32px,3.6vw,52px);line-height:1.1;letter-spacing:-.04em;color:var(--ink);margin-bottom:28px;animation:fu .8s .2s ease-out both; }
    .hero-sub { font-size:15px;font-weight:300;color:var(--ink-mid);max-width:380px;line-height:1.9;margin-bottom:40px;animation:fu .8s .35s ease-out both; }
    .hero-actions { display:flex;gap:20px;align-items:center;flex-wrap:wrap;animation:fu .8s .5s ease-out both; }
    .hero-strip { margin-top:56px;display:flex;gap:0;padding-top:24px;border-top:1px solid var(--line);animation:fu .8s .65s ease-out both; }
    .hero-strip-item { font-size:11px;font-weight:300;color:var(--ink-light);padding-right:24px;margin-right:24px;border-right:1px solid var(--line);line-height:1.5; }
    .hero-strip-item:last-child { border-right:none;margin-right:0;padding-right:0; }
    .hero-strip-item strong { display:block;font-weight:500;color:var(--ink);font-size:12px;margin-bottom:2px; }

    /* ── EINLEITUNG ── */
    #einleitung { background:var(--white);border-bottom:1px solid var(--line);padding-top:5em; }
    .intro-grid { display:grid;grid-template-columns:1fr 1fr;max-width:var(--max);margin:0 auto;align-items:stretch; }
    .stats-wrap { max-width:var(--max);margin:0 auto;padding:0 52px; }
    .intro-img { overflow:hidden;position:relative;height:650px; }
    .intro-img img { width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .8s ease; }
    .intro-img:hover img { transform:scale(1.02); }
    .intro-text { padding:0 56px 56px;display:flex;flex-direction:column;justify-content:flex-start;border-left:1px solid var(--line); }
    .intro-num { font-family:'Inter',sans-serif;font-weight:200;font-size:88px;line-height:1;color:rgba(0,0,0,.055);letter-spacing:-.04em;margin-bottom:-12px; }
    .intro-text h2 { margin-bottom:20px; }
    .intro-text .body-text { margin-bottom:36px; }
    .stats-row { display:flex;gap:0; }
    #stats { background:var(--white);border-bottom:1px solid var(--line);padding:52px 0; }
    .stat { flex:1;padding-right:32px;margin-right:32px;border-right:1px solid var(--line); }
    .stat:last-child { border-right:none; }
    .stat-n { font-family:'Inter',sans-serif;font-weight:300;font-size:32px;color:var(--g);line-height:1;margin-bottom:4px;letter-spacing:-.03em; }
    .stat-l { font-size:11px;font-weight:400;color:var(--ink-light);letter-spacing:.04em; }

    /* ── LEISTUNGSBOXEN ── */
    #leistungen { background:var(--bg); }
    .leist-head { display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:48px; }
    .service-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line); }
    .scard { background:var(--white);display:flex;flex-direction:column;overflow:hidden;transition:box-shadow var(--t); }
    .scard:hover { box-shadow:0 8px 40px rgba(0,0,0,.08);z-index:1;position:relative; }
    .scard-img { height:220px;overflow:hidden;position:relative; }
    .scard-img img { width:100%;height:100%;object-fit:cover;transition:transform .6s ease; }
    .scard:hover .scard-img img { transform:scale(1.04); }
    .scard-body { padding:28px 28px 32px;flex:1;display:flex;flex-direction:column; }
    .scard-num { font-family:'Inter',sans-serif;font-weight:400;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-light);margin-bottom:14px; }
    .scard h3 { font-size:15px;font-weight:500;color:var(--ink);margin-bottom:10px;letter-spacing:-.01em; }
    .scard p { font-size:13px;font-weight:300;color:var(--ink-mid);line-height:1.75;flex:1; }
    .scard-link { display:inline-flex;align-items:center;gap:8px;margin-top:20px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--g);transition:color var(--t); }
    .scard-link svg { width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform var(--t); }
    .scard-link:hover { color:var(--ink); }
    .scard-link:hover svg { transform:translateX(3px); }

    /* ── FEATURED LEISTUNGEN ── */
    .feat-section { border-top:1px solid var(--line);background:var(--white); }
    .feat-layout { display:grid;grid-template-columns:1fr 1fr;min-height:580px; }
    .feat-layout.rev { direction:rtl; }
    .feat-layout.rev > * { direction:ltr; }
    .feat-img { overflow:hidden;position:relative; }
    .feat-img img { width:100%;height:100%;object-fit:cover;transition:transform .8s ease; }
    .feat-section:hover .feat-img img { transform:scale(1.02); }
    .feat-inner { display:contents; }
    .feat-text { padding:80px 64px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;max-width:800px; }
    .feat-text h2 { margin-bottom:16px;color:var(--ink); }
    .feat-text .body-text { margin-bottom:32px; }
    .feat-list { display:flex;flex-direction:column;gap:0;margin-bottom:36px; }
    .feat-item { display:flex;align-items:flex-start;gap:14px;padding:14px 0;border-bottom:1px solid var(--line); }
    .feat-item:first-child { border-top:1px solid var(--line); }
    .feat-dot { width:6px;height:6px;background:var(--g);border-radius:50%;flex-shrink:0;margin-top:6px; }
    .feat-item-t strong { display:block;font-size:13px;font-weight:600;color:var(--ink);margin-bottom:2px; }
    .feat-item-t p { font-size:13px;font-weight:300;color:var(--ink-mid);line-height:1.65; }
    /* ── WERKSTATT ── */
    #werkstatt { background:var(--bg);border-top:1px solid var(--line);border-bottom:1px solid var(--line); }
    .werkstatt-grid { display:grid;grid-template-columns:1fr 1fr;max-width:var(--max);margin:0 auto;align-items:stretch; }
    .werkstatt-img { overflow:hidden;height:600px; }
    .werkstatt-img img { width:100%;height:100%;object-fit:cover;object-position:center; }
    .werkstatt-text { padding:72px 56px;display:flex;flex-direction:column;justify-content:flex-start;border-left:1px solid var(--line); }

    /* ── KONTAKTTEASER ── */
    #kt { background:var(--g); }
    .kt-inner { display:grid;grid-template-columns:1fr auto;gap:80px;align-items:center;padding:80px 0; }
    .kt-text h2 { color:#fff;margin-bottom:12px; }
    .kt-text p { font-size:16px;font-weight:300;color:rgba(255,255,255,.6);max-width:520px;line-height:1.85; }
    .kt-right { display:flex;flex-direction:column;gap:16px;align-items:flex-start; }
    .kt-detail { font-size:13px;font-weight:300;color:rgba(255,255,255,.45); }
    .kt-detail a { color:rgba(255,255,255,.65);transition:color var(--t); }
    .kt-detail a:hover { color:#fff; }

    /* ── VERSORGUNGSABLAUF ── */
    #ablauf { background:var(--white); }
    .ablauf-grid { display:grid;grid-template-columns:380px 1fr;gap:80px;align-items:start; }
    .ablauf-left h2 { margin-bottom:16px; }
    .ablauf-left .body-text { margin-bottom:32px; }
    .ablauf-left { position:sticky;top:calc(var(--hh) + 32px); }
    .ablauf-img { margin-top:32px;overflow:hidden; }
    .ablauf-img img { width:100%;height:260px;object-fit:cover; }
    .steps { display:flex;flex-direction:column;gap:0; }
    .step { display:grid;grid-template-columns:80px 1fr;gap:0;border-bottom:1px solid var(--line);padding:36px 0;transition:background var(--t); }
    .step:first-child { border-top:1px solid var(--line); }
    .step-n { font-family:'Inter',sans-serif;font-weight:200;font-size:40px;color:rgba(0,0,0,.1);line-height:1;padding-top:4px;letter-spacing:-.03em;transition:color var(--t); }
    .step:hover .step-n { color:var(--g); }
    .step-t h3 { margin-bottom:8px;font-size:16px; }
    .step-t p { font-size:14px;font-weight:300;color:var(--ink-mid);line-height:1.8; }

    /* ── SCHADENSBILDER ── */
    #schaden { background:var(--bg);border-bottom:1px solid var(--line); }
    .schaden-head { margin-bottom:48px; }
    .schaden-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line); }
    .schaden-card { background:var(--white);padding:32px 28px;display:flex;flex-direction:column;gap:12px; }
    .schaden-card img { width:100%;height:280px;object-fit:cover;transition:transform .6s ease; }
    .schaden-card:hover img { transform:scale(1.05); }
    .schaden-label { font-size:10px;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:var(--g);margin-bottom:8px;display:block; }
    .schaden-title { font-family:'Inter',sans-serif;font-weight:500;font-size:15px;color:var(--ink);line-height:1.35;letter-spacing:-.01em; }
    .schaden-desc { font-size:13px;font-weight:300;color:var(--ink-mid);line-height:1.7;margin-top:4px; }

    /* ── WANN HILFT WAS ── */
    #wann { background:var(--white);border-top:1px solid var(--line); }
    .wann-grid { display:grid;grid-template-columns:340px 1fr;gap:80px;align-items:start; }
    .wann-left { position:sticky;top:calc(var(--hh) + 32px); }
    .wann-left h2 { margin-bottom:16px; }
    .wann-left .body-text { margin-bottom:32px; }
    .wann-list { display:flex;flex-direction:column;gap:0; }
    .wann-item { display:grid;grid-template-columns:1fr 1fr;gap:0;border-bottom:1px solid var(--line);padding:24px 0;transition:background var(--t); }
    .wann-item:first-child { border-top:1px solid var(--line); }
    .wann-item:hover { background:var(--bg);margin:0 -20px;padding:24px 20px; }
    .wann-prob { display:flex;align-items:flex-start;gap:12px; }
    .wann-dot { width:6px;height:6px;border-radius:50%;background:var(--ink-light);flex-shrink:0;margin-top:6px; }
    .wann-prob-t strong { display:block;font-size:14px;font-weight:600;color:var(--ink);margin-bottom:3px; }
    .wann-prob-t p { font-size:13px;font-weight:300;color:var(--ink-mid);line-height:1.65; }
    .wann-sol { padding-left:24px;border-left:1px solid var(--line); }
    .wann-sol-tag { font-size:10px;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:var(--g);display:inline-block;margin-bottom:8px; }
    .wann-sol p { font-size:13px;font-weight:300;color:var(--ink-mid);line-height:1.65; }

    /* ── FAQ ── */
    #faq { background:var(--bg);border-top:1px solid var(--line); }
    .faq-grid { display:grid;grid-template-columns:320px 1fr;gap:80px;align-items:start; }
    .faq-left { position:sticky;top:calc(var(--hh) + 32px); }
    .faq-left h2 { margin-bottom:16px; }
    .faq-left .body-text { margin-bottom:32px; }
    details.fq { border-bottom:1px solid var(--line); }
    details.fq:first-of-type { border-top:1px solid var(--line); }
    details.fq summary { padding:22px 0;font-size:15px;font-weight:500;color:var(--ink);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;transition:color var(--t); }
    details.fq summary::-webkit-details-marker { display:none; }
    details.fq summary:hover { color:var(--g); }
    .fq-icon { width:24px;height:24px;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:transform .22s; }
    details.fq[open] .fq-icon { transform:rotate(45deg); }
    .fq-icon svg { width:12px;height:12px;stroke:var(--ink-mid);fill:none;stroke-width:2;stroke-linecap:round; }
    .fq-body { padding:0 0 22px;font-size:14px;font-weight:300;color:var(--ink-mid);line-height:1.85;max-width:580px; }

    /* ── STANDORT ── */
    #standort { background:var(--ink); }
    .standort-grid { display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.06); }
    .standort-col { padding:80px 60px; }
    .standort-col + .standort-col { border-left:1px solid rgba(255,255,255,.06); }
    .standort-col .label { color:rgba(255,255,255,.35); }
    .standort-col h2 { color:#fff;margin:16px 0 32px; }
    .sinfo-row { display:flex;flex-direction:column;gap:20px; }
    .sinfo { display:flex;gap:14px;align-items:flex-start; }
    .sinfo-icon { width:32px;height:32px;flex-shrink:0;border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center; }
    .sinfo-icon svg { width:14px;height:14px;stroke:rgba(255,255,255,.4);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round; }
    .sinfo-lbl { font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:4px; }
    .sinfo-val { font-size:14px;font-weight:300;color:rgba(255,255,255,.65);line-height:1.65; }
    .sinfo-val a { color:rgba(255,255,255,.65);transition:color var(--t); }
    .sinfo-val a:hover { color:#fff; }
    .oz-title { font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:24px; }
    table.oz { width:100%;border-collapse:collapse; }
    table.oz td { padding:12px 0;font-size:14px;font-weight:300;color:rgba(255,255,255,.55);border-bottom:1px solid rgba(255,255,255,.05); }
    table.oz td:first-child { color:rgba(255,255,255,.3);padding-right:32px;white-space:nowrap; }
    table.oz tr:last-child td { border-bottom:none; }
    table.oz tr.hl td { color:rgba(255,255,255,.75); }
    table.oz tr.hl td:first-child { color:rgba(255,255,255,.4); }
    .map-link { margin-top:36px; }

    /* ── FOOTER ── */
    footer { background:#111; }
    .footer-inner { max-width:var(--max);margin:0 auto;padding:64px 52px 48px;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:64px; }
    .footer-brand { font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:18px;color:#fff;letter-spacing:.02em;margin-bottom:10px; }
    .footer-about { font-size:12px;font-weight:300;color:rgba(255,255,255,.3);line-height:1.7;margin-bottom:20px; }
    .footer-contact { display:flex;flex-direction:column;gap:8px; }
    .footer-contact a { font-size:12px;font-weight:300;color:rgba(255,255,255,.45);transition:color var(--t); }
    .footer-contact a:hover { color:#fff; }
    .footer-heading { font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.25);margin-bottom:16px; }
    .footer-list { list-style:none;display:flex;flex-direction:column;gap:10px; }
    .footer-list li { font-size:12px;font-weight:300;color:rgba(255,255,255,.35); }
    .footer-list a { font-size:12px;font-weight:300;color:rgba(255,255,255,.45);transition:color var(--t); }
    .footer-list a:hover { color:#fff; }
    .footer-bottom { max-width:var(--max);margin:0 auto;padding:20px 52px;border-top:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px; }
    .footer-copy { font-size:11px;font-weight:300;color:rgba(255,255,255,.2); }
    .footer-links { display:flex;gap:24px; }
    .footer-links a { font-size:11px;font-weight:300;color:rgba(255,255,255,.2);transition:color var(--t); }
    .footer-links a:hover { color:rgba(255,255,255,.55); }

    /* ── DROPDOWN NAV ── */
    .hdr-dropdown { position:relative;display:flex;align-items:center; }
    .hdr-dropdown > a::after { content:''; display:inline-block; width:0; height:0; border-left:4px solid transparent; border-right:4px solid transparent; border-top:4px solid var(--ink-light); margin-left:6px; transition:transform var(--t); vertical-align:middle; }
    .hdr-dropdown:hover > a::after { transform:rotate(180deg); }
    .hdr-drop-menu { position:absolute;top:100%;left:-20px;padding-top:12px;background:transparent;min-width:230px;opacity:0;pointer-events:none;transform:translateY(-6px);transition:opacity var(--t),transform var(--t);z-index:200; }
    .hdr-drop-menu::before { content:'';display:block;position:absolute;top:12px;left:0;right:0;bottom:0;background:#fff;border:1px solid var(--line);box-shadow:0 8px 32px rgba(0,0,0,.08);z-index:-1; }
    .hdr-dropdown:hover .hdr-drop-menu { opacity:1;pointer-events:auto;transform:none; }
    .hdr-drop-menu a { display:block;padding:11px 20px;font-size:12px;font-weight:400;color:var(--ink-mid);border-bottom:1px solid var(--line);transition:color var(--t),background var(--t); }
    .hdr-drop-menu a:last-child { border-bottom:none; }
    .hdr-drop-menu a:hover { color:var(--g);background:var(--g-light); }

    /* ── MOBILE NAV LABELS/SUB ── */
    .mob-nav-label { padding:14px 24px 6px;font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-light);display:block; }
    .mob-nav-sub { padding:12px 24px 12px 36px !important;font-size:13px;color:var(--ink-mid); }

    @keyframes fu { from{opacity:0;transform:translateY(18px)} to{opacity:1;transform:none} }

    /* ── RESPONSIVE ── */
    @media(max-width:1024px){
      .wrap{padding:0 36px;}
      .hero-pic{position:relative;left:auto;right:auto;top:auto;bottom:auto;height:52vh;width:100%;}
      .hero-pic::before{width:100%;height:50%;top:auto;bottom:0;background:linear-gradient(to bottom,transparent,var(--bg));}
      .hero-inner{display:block;}
      .hero-text{max-width:100%;min-height:auto;padding:56px 36px 64px;}
      .hero-strip{flex-wrap:wrap;gap:16px;}
      .intro-grid{grid-template-columns:1fr;}
      .intro-text{border-left:none;border-top:1px solid var(--line);padding:60px 36px;}
      .intro-num{font-size:64px;}
      .feat-layout,.feat-layout.rev{grid-template-columns:1fr;direction:ltr;}
      .feat-img{height:360px;}
      .feat-text{padding:56px 36px;}
      .werkstatt-grid{grid-template-columns:1fr;}
      .werkstatt-img{height:340px;}
      .werkstatt-text{border-left:none;border-top:1px solid var(--line);padding:56px 36px;}
      .ablauf-grid,.wann-grid,.faq-grid{grid-template-columns:1fr;gap:48px;}
      .ablauf-left,.wann-left,.faq-left{position:static;}
      .standort-grid{grid-template-columns:1fr;}
      .standort-col+.standort-col{border-left:none;border-top:1px solid rgba(255,255,255,.06);}
      .service-grid{grid-template-columns:1fr 1fr;}
      .schaden-grid{grid-template-columns:1fr 1fr;}
      .kt-inner{grid-template-columns:1fr;gap:40px;padding:72px 0;}
      .leist-head{flex-direction:column;align-items:flex-start;gap:20px;}
    }
    @media(max-width:768px){
      .footer-inner{grid-template-columns:1fr;gap:40px;padding:48px 20px 32px;}
      .footer-bottom{padding:16px 20px;flex-direction:column;align-items:flex-start;gap:8px;}
      :root{--hh:64px;}
      .wrap{padding:0 20px;}
      nav.hdr-nav,.hdr-tel{display:none;}
      .hdr-burger{display:flex;}
      .hdr-fahne img{width:150px;height:auto;}
      .hdr-fahne{height:calc(var(--hh) + 20px);padding:0 20px 0 16px;align-items:center;overflow:visible;}
      .hdr-fahne::after{border-top-width:calc(var(--hh) + 20px);border-right-width:14px;right:-14px;}
      .sec{padding:72px 0;}
      h2{font-size:clamp(24px,6.5vw,32px);}
      .hero-text{padding:32px 20px 40px;}
      #hero h1{font-size:clamp(22px,7vw,34px);}
      .hero-pic{height:350px;}
      .hero-frame,.hero-inner{min-height:0;}
      .feat-img{height:350px;}
      .werkstatt-img{height:350px;}
      .intro-img{height:350px;}
      #einleitung{padding-top:2em;}
      .intro-text{padding:32px 20px;}
      .feat-text{padding:44px 20px;}
      .service-grid{grid-template-columns:1fr;}
      .schaden-grid{grid-template-columns:1fr;}
      .wann-item{grid-template-columns:1fr;gap:16px;}
      .wann-sol{padding-left:0;border-left:none;border-top:1px solid var(--line);padding-top:16px;}
      .standort-col{padding:48px 20px;}
      footer{padding:20px;flex-direction:column;align-items:center;text-align:center;}
      .hero-tags{display:none;}
      .stats-row{flex-wrap:wrap;}
      .stat{width:50%;border-right:none;border-bottom:1px solid var(--line);padding-bottom:20px;}
      .stat:nth-child(odd){padding-right:16px;}
      .stat:nth-last-child(-n+2){border-bottom:none;}
      .schaden-card img{height:220px;}
    }
    @media(prefers-reduced-motion:reduce){
      .rv,.rv-l,.rv-r{transition:none;opacity:1;transform:none;}
    }

    /* ── GALERIE ── */
    #galerie { background:var(--white);border-top:1px solid var(--line);padding:80px 0; }
    .galerie-head { max-width:var(--max);margin:0 auto 48px;padding:0 52px; }
    .galerie-grid { max-width:var(--max);margin:0 auto;padding:0 52px;
      display:grid;grid-template-columns:repeat(4,1fr);gap:6px; }
    .g-item { overflow:hidden;aspect-ratio:4/5;cursor:pointer; }
    .g-item img { width:100%;height:100%;object-fit:cover;transition:transform .6s ease; }
    .g-item:hover img { transform:scale(1.04); }
    @media(max-width:768px){ .galerie-grid{grid-template-columns:repeat(2,1fr);padding:0 16px;gap:4px;} .galerie-head{padding:0 20px;} }
    /* ══ SERVICE SUBPAGES ══ */
    /* Sub-hero (shared with ueber-uns, karriere etc.) */
    .sub-hero { padding-top:var(--hh);background:var(--bg);border-bottom:1px solid var(--line);overflow:hidden; }
    .sub-hero-frame { position:relative;height:480px; }
    .sub-hero-pic { position:absolute;inset:0;overflow:hidden; }
    .sub-hero-pic img { width:100%;height:100%;object-fit:cover;object-position:50% 30%; }
    .sub-hero-pic::before { content:'';position:absolute;left:0;top:0;bottom:0;width:min(800px,55%);background:linear-gradient(to right,var(--bg) 45%,transparent 100%);z-index:1; }
    .sub-hero-inner { position:relative;z-index:2;height:100%;max-width:1600px;margin:0 auto;display:flex;align-items:center;padding-left:52px; }
    .sub-hero-text { max-width:520px; }
    .sub-hero-text .breadcrumb { font-size:11px;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-light);margin-bottom:20px;display:flex;align-items:center;gap:8px; }
    .sub-hero-text .breadcrumb a { color:var(--ink-light);transition:color var(--t); }
    .sub-hero-text .breadcrumb a:hover { color:var(--g); }
    .sub-hero-text h1 { font-family:'Inter',sans-serif;font-weight:300;font-size:clamp(32px,4vw,58px);line-height:1.08;letter-spacing:-.04em;color:var(--ink);margin-bottom:20px; }
    .sub-hero-text p { font-size:15px;font-weight:300;color:var(--ink-mid);line-height:1.9;max-width:440px; }

    /* ── LS-INTRO – matches #einleitung look, Bild links / Text rechts ── */
    #ls-intro { background:var(--white);border-bottom:1px solid var(--line);padding-top:5em; }
    .ls-intro-grid { display:grid;grid-template-columns:1fr 1fr;max-width:var(--max);margin:0 auto;align-items:stretch; }
    .ls-intro-img { overflow:hidden;position:relative;height:650px;order:1; }
    .ls-intro-img img { width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .8s ease; }
    .ls-intro-img:hover img { transform:scale(1.02); }
    .ls-intro-text { padding:56px 56px 56px;display:flex;flex-direction:column;justify-content:flex-start;border-left:1px solid var(--line);order:2; }
    .ls-intro-text h2 { margin-bottom:20px;color:var(--ink); }
    .ls-intro-text .body-text { margin-bottom:36px; }

    /* ── LS-SYM (2×2 symptom grid) ── */
    #ls-sym { background:var(--bg);border-bottom:1px solid var(--line); }
    .ls-sym-head { margin-bottom:56px; }
    .ls-sym-grid { display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line); }
    .ls-sym-card { background:var(--bg);padding:36px 32px;display:flex;gap:20px;align-items:flex-start; }
    .ls-sym-n { font-family:'Inter',sans-serif;font-weight:200;font-size:40px;color:var(--g);opacity:.25;line-height:1;flex-shrink:0;min-width:36px;letter-spacing:-.03em; }
    .ls-sym-t h3 { font-size:15px;font-weight:500;color:var(--ink);margin-bottom:8px;letter-spacing:-.01em; }
    .ls-sym-t p { font-size:13px;font-weight:300;color:var(--ink-mid);line-height:1.75; }

    /* ── LS-TYPES (image left, text+list right) ── */
    #ls-types { background:var(--white);border-bottom:1px solid var(--line); }
    .ls-types-grid { display:grid;grid-template-columns:1fr 1fr;max-width:var(--max);margin:0 auto;align-items:stretch;min-height:520px; }
    .ls-types-img { overflow:hidden;height:100%; }
    .ls-types-img img { width:100%;height:100%;object-fit:cover; }
    .ls-types-text { padding:80px 56px;display:flex;flex-direction:column;justify-content:center;border-left:1px solid var(--line); }
    .ls-types-text h2 { margin-bottom:16px; }
    .ls-types-text .body-text { margin-bottom:28px; }
    .ls-type-list { display:flex;flex-direction:column;gap:0; }
    .ls-type-item { display:flex;align-items:flex-start;gap:14px;padding:14px 0;border-bottom:1px solid var(--line); }
    .ls-type-item:first-child { border-top:1px solid var(--line); }
    .ls-type-dot { width:5px;height:5px;background:var(--g);border-radius:50%;flex-shrink:0;margin-top:7px; }
    .ls-type-t strong { display:block;font-size:13px;font-weight:600;color:var(--ink);margin-bottom:2px; }
    .ls-type-t p { font-size:13px;font-weight:300;color:var(--ink-mid);line-height:1.65; }

    /* ── LS-PROCESS (reuses ablauf-grid) ── */
    #ls-process { background:var(--bg);border-bottom:1px solid var(--line); }

    /* ── LS-FAQ (reuses faq-grid) ── */
    #ls-faq { background:var(--white);border-bottom:1px solid var(--line); }

    /* ── LS-KT (green CTA teaser) ── */
    #ls-kt { background:var(--g);padding:80px 0; }
    .ls-kt-inner { max-width:var(--max);margin:0 auto;padding:0 52px;display:flex;align-items:center;justify-content:space-between;gap:48px; }
    .ls-kt-text h2 { color:#fff;margin-bottom:12px; }
    .ls-kt-text p { font-size:15px;font-weight:300;color:rgba(255,255,255,.7);max-width:480px; }

    /* ── SERVICE RESPONSIVE ── */
    @media(max-width:1024px){
      .sub-hero-pic::before{width:100%;height:50%;top:auto;bottom:0;background:linear-gradient(to bottom,transparent,var(--bg));}
      .sub-hero-inner{align-items:flex-end;padding:0 36px 40px;}
      .ls-intro-grid,.ls-types-grid{grid-template-columns:1fr;}
      .ls-intro-text{border-left:none;border-top:1px solid var(--line);padding:60px 36px;order:2;}
      .ls-intro-img{height:360px;order:1;}
      .ls-types-text{border-left:none;border-top:1px solid var(--line);padding:56px 36px;}
      .ls-types-img{min-height:360px;}
      .ls-kt-inner{flex-direction:column;align-items:flex-start;}
    }
    @media(max-width:768px){
      /* Sub-hero: Bild oben, Text darunter (wie Startseite mobile) */
      .sub-hero-frame{height:auto;}
      .sub-hero-pic{position:relative;top:auto;left:auto;right:auto;bottom:auto;height:260px;width:100%;}
      .sub-hero-pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
      .sub-hero-pic::before{width:100%;height:60%;top:auto;bottom:0;background:linear-gradient(to bottom,transparent,var(--bg));}
      .sub-hero-inner{position:relative;height:auto;padding:28px 20px 32px;background:var(--bg);}
      .sub-hero-text h1{font-size:clamp(26px,7vw,38px);}
      .sub-hero-text p{font-size:14px;}
      .ls-sym-grid{grid-template-columns:1fr;}
      .ls-intro-text,.ls-types-text{padding:32px 20px;}
      .ls-intro-img,.ls-types-img{height:350px;}
      #ls-intro{padding-top:2em;}
      .ls-kt-inner{padding:0 20px;}
    }

    /* ── KI-BILDHINWEIS ── */
    /* Nur Elemente ohne eigenes position-Attribut brauchen relative */
    .werkstatt-img,
    .ls-intro-img,
    .ls-types-img,
    .g-item,
    .ou-intro-img,
    .ablauf-img { position: relative; }
    .hero-pic::after,
    .intro-img::after,
    .feat-img::after,
    .werkstatt-img::after,
    .scard-img::after,
    .ls-intro-img::after,
    .ls-types-img::after,
    .g-item::after,
    .ou-intro-img::after,
    .sub-hero-pic::after,
    .ablauf-img::after {
      content: 'KI-Bild';
      position: absolute;
      bottom: 6px;
      right: 6px;
      background: rgba(0,0,0,.15);
      color: rgba(255,255,255,.3);
      font-family: 'Inter', sans-serif;
      font-size: 8px;
      font-weight: 400;
      letter-spacing: .06em;
      text-transform: uppercase;
      padding: 2px 5px;
      pointer-events: none;
      z-index: 10;
    }
    .no-ki::after { display:none !important; }

    /* ══ MARKEN-SLIDER (Startseite) ══ */
    #marken {
      background: var(--white);
      border-top: 1px solid var(--line);
      border-bottom: 1px solid var(--line);
      padding: 48px 0 44px;
      overflow: hidden;
    }
    .marken-eyebrow {
      text-align: center;
      font-size: .68rem;
      font-weight: 700;
      letter-spacing: .18em;
      text-transform: uppercase;
      color: var(--ink-light);
      margin-bottom: 32px;
    }
    .marken-wrap {
      overflow: hidden;
      width: 100%;
    }
    .marken-track {
      display: flex;
      align-items: center;
      width: max-content;
      animation: marqueeBrand 36s linear infinite;
    }
    .marken-track:hover {
      animation-play-state: paused;
    }
    .marken-item {
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 20px 44px;
      border-right: 1px solid var(--line);
      flex-shrink: 0;
    }
    .marken-item img {
      height: auto;
      width: auto;
      max-width: 200px;
      max-height: 80px;
      object-fit: contain;
      filter: none;
      transition: opacity .3s ease;
    }
    .marken-item img:hover {
      opacity: .75;
    }
    @keyframes marqueeBrand {
      0%   { transform: translateX(0); }
      100% { transform: translateX(-50%); }
    }

    /* ══ MARKEN-GRID (Unterseiten) ══ */
    .marken-grid-section {
      background: var(--white);
      border-top: 1px solid var(--line);
      border-bottom: 1px solid var(--line);
      padding: 48px 0;
    }
    .marken-grid-eyebrow {
      text-align: center;
      font-size: .68rem;
      font-weight: 700;
      letter-spacing: .18em;
      text-transform: uppercase;
      color: var(--ink-light);
      margin-bottom: 32px;
    }
    /* .marken-grid-inner → see definition below (CSS Grid) */
    .marken-grid-item {
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 28px 40px;
      border-right: 1px solid var(--line);
      border-bottom: 1px solid var(--line);
      min-width: 160px;
      flex: 1;
    }
    .marken-grid-item img {
      height: auto;
      width: auto;
      max-width: 200px;
      max-height: 80px;
      object-fit: contain;
      filter: none;
      transition: opacity .3s ease;
    }
    .marken-grid-item img:hover {
      opacity: .75;
    }
    @media(max-width: 768px) {
      .marken-item { padding: 0 24px; }
      .marken-grid-item { min-width: 120px; padding: 20px 24px; }
    }

    /* ══ MARKEN-GRID: CSS-Grid statt Flex ══ */
    .marken-grid-inner {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      max-width: var(--max);
      margin: 0 auto;
      border-top: 1px solid var(--line);
      border-left: 1px solid var(--line);
    }
    @media(max-width: 768px) {
      .marken-grid-inner { grid-template-columns: repeat(3, 1fr) !important; }
    }
    @media(max-width: 480px) {
      .marken-grid-inner { grid-template-columns: repeat(2, 1fr) !important; }
    }


    /* ══ MAP PLACEHOLDER ══ */
    .map-placeholder {
      width: 100%; height: 100%;
      display: flex; flex-direction: column;
      align-items: center; justify-content: center;
      background: var(--bg);
      border: 1px solid var(--line);
      padding: 40px 32px;
      text-align: center;
      gap: 16px;
    }
    .map-placeholder p { font-size: .85rem; color: var(--ink-light); line-height: 1.6; }
    .map-placeholder a { color: var(--g); text-decoration: underline; }
    .map-frame iframe { width: 100%; height: 100%; border: none; display: block; }

    /* ══ COOKIE CONSENT ══ */
    #cookieBanner {
      position: fixed;
      inset: 0;
      background: rgba(0,0,0,.55);
      z-index: 9999;
      align-items: center;
      justify-content: center;
      padding: 20px;
    }
    .cookie-inner {
      background: var(--white);
      max-width: 560px;
      width: 100%;
      max-height: 90vh;
      overflow-y: auto;
      border: 1px solid var(--line);
    }
    .cookie-header {
      display: flex;
      align-items: center;
      gap: 16px;
      padding: 24px 28px 20px;
      border-bottom: 1px solid var(--line);
    }
    .cookie-header img {
      height: 36px;
      width: auto;
    }
    .cookie-header h3 {
      font-family: 'Barlow Condensed', sans-serif;
      font-size: 1.25rem;
      font-weight: 700;
      color: var(--ink);
      margin: 0;
    }
    .cookie-body {
      padding: 24px 28px;
    }
    .cookie-body p {
      font-size: .85rem;
      color: var(--ink-light);
      line-height: 1.6;
      margin-bottom: 12px;
    }
    .cookie-body a {
      color: var(--g);
      text-decoration: underline;
    }
    .cookie-note {
      font-size: .75rem;
      color: var(--ink-light);
      background: var(--bg);
      border: 1px solid var(--line);
      padding: 10px 14px;
      margin: 16px 0;
      line-height: 1.5;
    }
    .cookie-categories {
      display: flex;
      flex-direction: column;
      gap: 0;
      border: 1px solid var(--line);
      margin-top: 16px;
    }
    .cookie-category {
      border-bottom: 1px solid var(--line);
    }
    .cookie-category:last-child { border-bottom: none; }
    .cookie-category-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      padding: 14px 16px;
    }
    .cookie-category-title {
      font-size: .85rem;
      font-weight: 700;
      color: var(--ink);
      margin-bottom: 2px;
    }
    .cookie-category-desc {
      font-size: .75rem;
      color: var(--ink-light);
      line-height: 1.4;
    }
    .cookie-toggle {
      position: relative;
      display: inline-block;
      width: 40px;
      height: 22px;
      flex-shrink: 0;
    }
    .cookie-toggle input { opacity: 0; width: 0; height: 0; }
    .cookie-toggle-slider {
      position: absolute;
      inset: 0;
      background: var(--line);
      border-radius: 22px;
      cursor: pointer;
      transition: background .25s;
    }
    .cookie-toggle-slider::before {
      content: '';
      position: absolute;
      width: 16px; height: 16px;
      left: 3px; bottom: 3px;
      background: #fff;
      border-radius: 50%;
      transition: transform .25s;
    }
    .cookie-toggle input:checked + .cookie-toggle-slider { background: var(--g); }
    .cookie-toggle input:checked + .cookie-toggle-slider::before { transform: translateX(18px); }
    .cookie-toggle input:disabled + .cookie-toggle-slider { opacity: .5; cursor: default; }
    .cookie-footer {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
      padding: 16px 28px 24px;
      border-top: 1px solid var(--line);
    }
    .cookie-btn-accept {
      flex: 1;
      background: var(--g);
      color: #fff;
      border: none;
      padding: 12px 20px;
      font-size: .85rem;
      font-weight: 700;
      cursor: pointer;
      transition: background var(--t);
    }
    .cookie-btn-accept:hover { background: #094e25; }
    .cookie-btn-save {
      flex: 1;
      background: transparent;
      color: var(--ink);
      border: 1.5px solid var(--line);
      padding: 12px 20px;
      font-size: .85rem;
      font-weight: 600;
      cursor: pointer;
      transition: border-color var(--t), color var(--t);
    }
    .cookie-btn-save:hover { border-color: var(--g); color: var(--g); }
    @media(max-width: 540px) {
      .cookie-footer { flex-direction: column; }
      .cookie-header { padding: 18px 20px 16px; }
      .cookie-body { padding: 18px 20px; }
      .cookie-footer { padding: 14px 20px 20px; }
    }
