  :root{
    --bg-dark:#0f1624;
    --bg-dark-2:#151f33;
    --bg-dark-3:#1b2740;
    --accent:#f0932b;
    --accent-2:#ffb35c;
    --accent-dark:#c9701a;
    --text-light:#f5f6fa;
    --text-muted:#a9b2c8;
    --text-dark:#1a2233;
    --white:#ffffff;
    --radius:14px;
    --transition:.35s cubic-bezier(.4,0,.2,1);
    --max-width:1160px;
  }

  *{box-sizing:border-box;margin:0;padding:0;}

  html{scroll-behavior:smooth;background:var(--bg-dark);}

  body{
    font-family:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
    background:var(--white);
    color:var(--text-dark);
    line-height:1.6;
    overflow-x:hidden;
    overflow-wrap:break-word;
  }

  img,svg{display:block;max-width:100%;}

  a{color:inherit;text-decoration:none;}

  ul{list-style:none;}

  .container{
    max-width:var(--max-width);
    margin:0 auto;
    padding:0 24px;
  }

  h1,h2,h3{
    font-weight:700;
    line-height:1.2;
  }

  .eyebrow{
    display:inline-block;
    font-size:.8rem;
    font-weight:600;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--accent);
    margin-bottom:14px;
  }

  .section-heading{
    font-size:clamp(1.8rem,4vw,2.6rem);
    margin-bottom:16px;
  }

  .section-sub{
    color:var(--text-muted);
    max-width:620px;
    margin-bottom:48px;
    font-size:1.05rem;
  }

  .btn{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:14px 28px;
    border-radius:999px;
    font-weight:600;
    font-size:.95rem;
    border:2px solid transparent;
    transition:transform var(--transition), box-shadow var(--transition), background var(--transition);
    cursor:pointer;
  }

  .btn svg{width:18px;height:18px;flex-shrink:0;}

  .btn-primary{
    background:var(--accent);
    color:var(--text-dark);
    box-shadow:0 8px 24px rgba(240,147,43,.35);
  }
  .btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(240,147,43,.45);}

  .btn-outline{
    border-color:rgba(255,255,255,.4);
    color:var(--text-light);
  }
  .btn-outline:hover{background:rgba(255,255,255,.1);transform:translateY(-2px);}

  .btn-dark-outline{
    border-color:rgba(26,34,51,.25);
    color:var(--text-dark);
  }
  .btn-dark-outline:hover{background:rgba(26,34,51,.06);transform:translateY(-2px);}

  /* ---------- HERKUNFTS-STREIFEN (schwarz-rot-gold) ---------- */
  .origin-bar{
    position:fixed;
    top:0;left:0;right:0;
    height:4px;
    z-index:1001;
    background:linear-gradient(90deg,
      #1a1a1a 0%, #1a1a1a 33.33%,
      #dd0000 33.33%, #dd0000 66.66%,
      #ffce00 66.66%, #ffce00 100%);
  }

  .flag-icon{
    width:22px;height:15px;
    border-radius:3px;
    overflow:hidden;
    flex-shrink:0;
    display:inline-block;
    box-shadow:0 0 0 1px rgba(0,0,0,.2) inset;
  }
  .flag-icon svg{width:100%;height:100%;display:block;}

  .origin-badge{
    display:flex;
    width:fit-content;
    align-items:center;
    gap:8px;
    padding:7px 14px 7px 8px;
    border-radius:999px;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.12);
    font-size:.8rem;
    font-weight:600;
    color:var(--text-light);
    margin-bottom:18px;
  }
  .origin-badge.light{
    background:rgba(26,34,51,.05);
    border-color:rgba(26,34,51,.12);
    color:var(--text-dark);
  }

  /* ---------- HEADER ---------- */
  header.site-header{
    position:fixed;
    top:4px;left:0;right:0;
    z-index:1000;
    padding:18px 0;
    transition:background var(--transition), padding var(--transition), box-shadow var(--transition);
  }
  header.site-header.scrolled{
    background:rgba(15,22,36,.92);
    backdrop-filter:blur(8px);
    padding:12px 0;
    box-shadow:0 4px 24px rgba(0,0,0,.25);
  }
  /* Legal pages (Impressum/Datenschutz) have no dark hero behind the header,
     so the header must always look "scrolled" (solid dark bg) for the light
     nav text to stay readable, even before the user scrolls. */
  header.site-header.legal-header{
    background:rgba(15,22,36,.92);
    backdrop-filter:blur(8px);
    padding:12px 0;
    box-shadow:0 4px 24px rgba(0,0,0,.25);
  }

  .header-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
  }

  .logo{
    font-size:1.3rem;
    font-weight:700;
    color:var(--text-light);
    display:flex;
    align-items:center;
    gap:10px;
  }
  .logo-accent{color:var(--accent);}
  .logo-mark{
    height:48px;
    width:auto;
    display:block;
    flex-shrink:0;
  }

  nav.main-nav ul{
    display:flex;
    gap:32px;
  }
  nav.main-nav a{
    color:var(--text-light);
    font-weight:500;
    font-size:.95rem;
    opacity:.85;
    transition:opacity var(--transition);
  }
  nav.main-nav a:hover{opacity:1;}

  .header-contacts{
    display:flex;
    align-items:center;
    gap:12px;
  }

  .icon-btn{
    width:40px;height:40px;
    border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    background:rgba(255,255,255,.08);
    color:var(--text-light);
    transition:background var(--transition), transform var(--transition);
  }
  .icon-btn:hover{background:var(--accent);color:var(--text-dark);transform:translateY(-2px);}
  .icon-btn svg{width:18px;height:18px;}

  .menu-toggle{
    display:none;
    width:40px;height:40px;
    border-radius:50%;
    background:rgba(255,255,255,.08);
    align-items:center;justify-content:center;
    color:var(--text-light);
    cursor:pointer;
  }
  .menu-toggle svg{width:20px;height:20px;}

  .mobile-nav{
    position:fixed;
    inset:0;
    background:var(--bg-dark);
    z-index:1100;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:28px;
    transform:translateY(-100%);
    transition:transform var(--transition);
  }
  .mobile-nav.open{transform:translateY(0);}
  .mobile-nav a{
    font-size:1.4rem;
    color:var(--text-light);
    font-weight:600;
  }
  .mobile-nav .close-btn{
    position:absolute;
    top:20px;right:24px;
    width:44px;height:44px;
    border-radius:50%;
    background:rgba(255,255,255,.08);
    display:flex;align-items:center;justify-content:center;
    color:var(--text-light);
  }
  .mobile-nav .mobile-contacts{
    display:flex;gap:16px;margin-top:20px;
  }

  /* ---------- HERO ---------- */
  .hero{
    min-height:100vh;
    min-height:100dvh;
    display:flex;
    align-items:center;
    background:
      radial-gradient(circle at 15% 20%, rgba(240,147,43,.18), transparent 45%),
      radial-gradient(circle at 85% 80%, rgba(240,147,43,.12), transparent 40%),
      linear-gradient(160deg,var(--bg-dark),var(--bg-dark-3));
    color:var(--text-light);
    position:relative;
    padding-top:110px;
    padding-bottom:60px;
  }

  .hero-grid{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:48px;
    align-items:center;
  }
  .hero-grid > div{min-width:0;}

  .hero h1{
    font-size:clamp(2.2rem,5vw,3.4rem);
    margin-bottom:20px;
  }
  .hero h1 em{
    font-style:normal;
    color:var(--accent);
  }

  .hero p.lead{
    font-size:1.1rem;
    color:var(--text-muted);
    max-width:520px;
    margin-bottom:32px;
  }

  .hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:16px;
    margin-bottom:36px;
  }

  .hero-reassurance{
    font-size:.85rem;
    color:var(--accent-2);
    margin:-18px 0 30px;
    display:flex;
    align-items:center;
    gap:6px;
  }
  .hero-quickfacts{
    display:flex;
    gap:28px;
    flex-wrap:wrap;
  }
  .hero-quickfacts div{
    display:flex;
    flex-direction:column;
  }
  .hero-quickfacts strong{
    font-size:1.5rem;
    color:var(--accent);
  }
  .hero-quickfacts span{
    font-size:.8rem;
    color:var(--text-muted);
  }

  .hero-price-box{
    margin-top:28px;
    max-width:560px;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.08);
    border-left:3px solid var(--accent);
    border-radius:var(--radius);
    padding:18px 22px 22px;
    backdrop-filter:blur(6px);
  }
  .hero-price-value{
    font-size:1.3rem;
    font-weight:700;
    color:var(--accent);
    margin-right:10px;
  }
  .hero-price-label{
    font-size:.8rem;
    color:var(--text-muted);
    text-transform:uppercase;
    letter-spacing:.02em;
  }
  .hero-price-box p{
    margin-top:8px;
    font-size:.85rem;
    line-height:1.55;
    color:var(--text-muted);
  }
  .price-box-cta{
    color:var(--accent);
    font-weight:700;
    text-decoration:underline;
    text-underline-offset:2px;
    white-space:nowrap;
  }
  .price-box-cta:hover{
    color:var(--text-light);
  }

  .hero-visual{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .hero-visual .card{
    min-width:0;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.08);
    border-radius:var(--radius);
    padding:28px;
    backdrop-filter:blur(6px);
  }
  .hero-visual .card h3{color:var(--text-light);font-size:1.1rem;margin-bottom:10px;}
  .hero-visual .card p{color:var(--text-muted);font-size:.9rem;margin-bottom:18px;}
  .hero-visual .contact-line{
    display:flex;align-items:center;gap:12px;
    padding:12px 14px;
    border-radius:10px;
    background:rgba(255,255,255,.04);
    margin-bottom:10px;
    font-size:.95rem;
    color:var(--text-light);
    transition:background var(--transition), transform var(--transition);
  }
  .hero-visual .contact-line > div{min-width:0;}
  .hero-visual .contact-line:hover{background:rgba(240,147,43,.15);transform:translateX(4px);}
  .hero-visual .contact-line svg{width:20px;height:20px;color:var(--accent);flex-shrink:0;}
  .hero-visual .contact-line small{display:block;color:var(--text-muted);font-size:.72rem;}

  /* ---------- SCROLL STORY SECTION ---------- */
  .story-section{
    position:relative;
    height:380vh;
    background:var(--bg-dark-2);
  }
  .story-sticky{
    position:sticky;
    top:0;
    height:100vh;
    height:100dvh;
    display:flex;
    flex-direction:column;
    overflow:hidden;
  }
  .story-progress-track{
    height:4px;
    width:100%;
    background:rgba(255,255,255,.08);
  }
  .story-progress-fill{
    height:100%;
    width:0%;
    background:linear-gradient(90deg,var(--accent),var(--accent-2));
  }

  .story-skip{
    position:absolute; top:96px; right:20px; z-index:5;
    display:flex; align-items:center; gap:6px;
    padding:8px 14px; border-radius:999px;
    background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14);
    color:var(--text-muted); font-size:.82rem; text-decoration:none;
    transition:background var(--transition), color var(--transition);
  }
  .story-skip svg{ width:14px; height:14px; }
  .story-skip:hover{ background:rgba(255,255,255,.12); color:var(--text-light); }
  @media (max-width:600px){
    .story-skip{ top:78px; right:12px; padding:7px 11px; font-size:.76rem; }
  }

  .story-header{
    text-align:center;
    padding:28px 24px 0;
  }
  .story-header .eyebrow{margin-bottom:6px;}
  .story-header h2{
    color:var(--text-light);
    font-size:clamp(1.4rem,3vw,2rem);
  }

  .story-body{
    flex:1;
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:center;
    max-width:var(--max-width);
    margin:0 auto;
    width:100%;
    padding:20px 24px 40px;
    gap:20px;
  }

  .story-visual{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .story-visual svg{
    width:100%;
    max-width:480px;
    height:auto;
  }
  .furniture-item{
    transition:opacity .25s linear, transform .25s linear;
    transform-origin:center bottom;
  }

  .story-captions{
    position:relative;
    height:220px;
  }
  .story-caption{
    position:absolute;
    inset:0;
    display:flex;
    flex-direction:column;
    justify-content:center;
    opacity:0;
    transition:opacity .25s linear;
    pointer-events:none;
  }
  .story-caption .num{
    color:var(--accent);
    font-weight:700;
    font-size:.85rem;
    letter-spacing:.1em;
    text-transform:uppercase;
    margin-bottom:10px;
  }
  .story-caption h3{
    color:var(--text-light);
    font-size:clamp(1.3rem,3vw,1.9rem);
    margin-bottom:12px;
  }
  .story-caption p{
    color:var(--text-muted);
    max-width:420px;
  }
  .story-caption.final h3{color:var(--accent);}
  .story-caption .btn{margin-top:20px;align-self:flex-start;}

  @media (max-width:860px){
    .story-body{grid-template-columns:1fr;text-align:center;}
    .story-visual svg{max-width:300px;}
    .story-captions{height:180px;}
    .story-caption{align-items:center;text-align:center;}
    .story-caption p{max-width:340px;}
    .story-caption .btn{align-self:center;}
    .story-section{height:340vh;}
  }

  /* ---------- LEISTUNGEN ---------- */
  .leistungen{
    padding:110px 0;
    background:var(--white);
  }
  .leistungen-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
  }
  .leistung-card{
    background:#fbfbfc;
    border:1px solid #eef0f4;
    border-radius:var(--radius);
    padding:32px 26px;
    transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition);
  }
  .leistung-card:hover{
    transform:translateY(-6px);
    box-shadow:0 18px 40px rgba(15,22,36,.08);
    border-color:transparent;
  }
  .leistung-icon{
    width:52px;height:52px;
    border-radius:14px;
    background:rgba(240,147,43,.12);
    color:var(--accent-dark);
    display:flex;align-items:center;justify-content:center;
    margin-bottom:18px;
  }
  .leistung-icon svg{width:26px;height:26px;}
  .leistung-card h3{font-size:1.1rem;margin-bottom:10px;}
  .leistung-card p{color:var(--text-muted);font-size:.92rem;}

  @media (max-width:860px){
    .leistungen-grid{grid-template-columns:1fr 1fr;}
  }
  @media (max-width:560px){
    .leistungen-grid{grid-template-columns:1fr;}
  }

  /* ---------- PREISSKALA ---------- */
  .preisskala{
    padding:110px 0;
    background:var(--bg-dark);
    color:var(--text-light);
  }
  .preisskala .section-sub{color:var(--text-muted);}

  .ps-bar-wrap{
    position:relative;
    margin-top:8px;
  }
  .ps-bar{
    display:flex;
    height:52px;
    border-radius:var(--radius);
    overflow:hidden;
    border:1px solid rgba(255,255,255,.08);
  }
  .ps-seg{height:100%;}
  .ps-bar-edge{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    font-family:'Space Mono','SF Mono','Roboto Mono',Consolas,monospace;
    font-size:.82rem;
    font-weight:700;
    color:#fff;
    text-shadow:0 1px 3px rgba(0,0,0,.45);
  }
  .ps-bar-edge.left{left:16px;}
  .ps-bar-edge.right{right:16px;}

  .ps-w-1{background:#6FA87A;flex:30 1 0%;}
  .ps-w-2{background:#9CBB63;flex:25 1 0%;}
  .ps-w-3{background:#E3C24A;flex:25 1 0%;}
  .ps-w-4{background:#E38B4A;flex:12 1 0%;}
  .ps-w-5{background:#D9503F;flex:8 1 0%;}

  .ps-zones{
    display:flex;
    gap:10px;
    margin-top:22px;
  }
  .ps-zone{
    background:var(--bg-dark-2);
    border:1px solid rgba(255,255,255,.08);
    border-radius:var(--radius);
    padding:16px 14px;
    display:flex;
    flex-direction:column;
  }
  .ps-zone.ps-w-1,.ps-zone.ps-w-2,.ps-zone.ps-w-3,.ps-zone.ps-w-4,.ps-zone.ps-w-5{background:var(--bg-dark-2);}
  .ps-icon{
    margin-bottom:8px;
    color:var(--accent);
    line-height:0;
  }
  .ps-icon svg{ width:26px; height:26px; }
  .ps-zone strong{
    font-size:.86rem;
    color:var(--text-light);
    margin-bottom:5px;
    line-height:1.3;
  }
  .ps-desc{
    font-size:.76rem;
    color:var(--text-muted);
    line-height:1.45;
    margin-bottom:10px;
    flex-grow:1;
  }
  .ps-price{
    font-family:'Space Mono','SF Mono','Roboto Mono',Consolas,monospace;
    font-size:.82rem;
    font-weight:700;
    color:var(--accent);
  }

  .ps-footnote{
    margin-top:24px;
    font-size:.78rem;
    color:var(--text-muted);
    max-width:680px;
    line-height:1.6;
  }

  @media (max-width:860px){
    .ps-bar-edge{font-size:.72rem;}
  }
  @media (max-width:640px){
    .ps-zones{flex-direction:column;}
    .ps-zone{flex:none !important;}
  }

  /* ---------- EINSATZGEBIET ---------- */
  .einsatzgebiet{
    padding:130px 0;
    background:#fbfbfc;
    border-top:1px solid #eef0f4;
    border-bottom:1px solid #eef0f4;
  }
  .einsatzgebiet-inner{
    max-width:720px;
    margin:0 auto;
    text-align:center;
  }
  .einsatzgebiet-content .section-sub{
    margin-left:auto;
    margin-right:auto;
  }
  .ort-chips{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:10px;
    margin-top:8px;
  }
  .ort-chip{
    padding:9px 18px;
    border-radius:999px;
    background:#fff;
    border:1px solid #eef0f4;
    font-size:.9rem;
    font-weight:600;
    color:var(--text-dark);
    transition:transform var(--transition), box-shadow var(--transition);
  }
  .ort-chip:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(15,22,36,.08);}
  .ort-chip.center{
    background:var(--accent);
    color:var(--text-dark);
    border-color:transparent;
  }
  .ort-chip.muted{
    background:#fbfbfc;
    border-style:dashed;
    color:var(--text-muted);
    font-weight:500;
  }

  @media (max-width:640px){
    .einsatzgebiet{padding:100px 0;}
  }

  /* ---------- FAQ ---------- */
  .faq{
    padding:110px 0;
    background:var(--white);
  }
  .faq-list{
    max-width:780px;
    margin:0 auto;
    display:flex;
    flex-direction:column;
    gap:12px;
  }
  .faq-item{
    background:#fbfbfc;
    border:1px solid #eef0f4;
    border-radius:var(--radius);
    padding:4px 24px;
  }
  .faq-item summary{
    cursor:pointer;
    list-style:none;
    padding:18px 0;
    font-weight:700;
    font-size:1.02rem;
    color:var(--text-dark);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
  }
  .faq-item summary::-webkit-details-marker{display:none;}
  .faq-item summary::after{
    content:"+";
    flex-shrink:0;
    font-size:1.4rem;
    font-weight:400;
    color:var(--accent-dark);
    transition:transform var(--transition);
  }
  .faq-item[open] summary::after{transform:rotate(45deg);}
  .faq-item p{
    color:var(--text-muted);
    padding-bottom:20px;
    font-size:.98rem;
  }

  /* ---------- ÜBER UNS ---------- */
  .ueber-uns{
    padding:110px 0;
    background:var(--bg-dark-3);
    color:var(--text-light);
  }
  .ueber-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:56px;
    align-items:center;
  }
  .ueber-uns .section-sub{color:var(--text-muted);}
  .ueber-uns p.body-text{
    color:var(--text-muted);
    margin-bottom:20px;
  }
  .stats-row{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
    margin-top:32px;
  }
  .stat{
    min-width:0;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.08);
    border-radius:var(--radius);
    padding:20px;
    text-align:center;
  }
  .stat strong{
    display:block;
    font-size:1.8rem;
    color:var(--accent);
  }
  a.stat.stat-google{
    cursor:pointer;
    transition:transform var(--transition), background var(--transition);
  }
  a.stat.stat-google:hover{
    transform:translateY(-3px);
    background:rgba(240,147,43,.14);
  }
  a.stat.stat-google strong{font-size:1.3rem;}
  .stat span{
    font-size:.8rem;
    color:var(--text-muted);
  }
  .werte-list{
    display:flex;
    flex-direction:column;
    gap:18px;
  }
  .werte-list li{
    display:flex;
    gap:16px;
    align-items:flex-start;
    background:rgba(255,255,255,.04);
    padding:18px;
    border-radius:12px;
    min-width:0;
  }
  .werte-list li > div{min-width:0;}
  .werte-list .icon{
    width:38px;height:38px;
    border-radius:10px;
    background:rgba(240,147,43,.16);
    display:flex;align-items:center;justify-content:center;
    flex-shrink:0;
  }
  .werte-list svg{width:20px;height:20px;color:var(--accent);}
  .werte-list h4{font-size:1rem;margin-bottom:4px;color:var(--text-light);}
  .werte-list p{font-size:.88rem;color:var(--text-muted);}

  @media (max-width:860px){
    .ueber-grid{grid-template-columns:1fr;}
    .stats-row{grid-template-columns:1fr 1fr 1fr;}
  }

  @media (max-width:480px){
    .stats-row{grid-template-columns:1fr;}
  }

  /* ---------- KONTAKT ---------- */
  .kontakt{
    padding:110px 0 90px;
    background:var(--white);
    text-align:center;
  }
  .kontakt .section-sub{margin-left:auto;margin-right:auto;}
  .kontakt-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
    margin-top:20px;
  }
  .kontakt-card{
    min-width:0;
    border:1px solid #eef0f4;
    border-radius:var(--radius);
    padding:36px 24px;
    transition:transform var(--transition), box-shadow var(--transition);
  }
  .kontakt-card:hover{
    transform:translateY(-6px);
    box-shadow:0 18px 40px rgba(15,22,36,.08);
  }
  .kontakt-card .icon{
    width:60px;height:60px;
    border-radius:50%;
    background:rgba(240,147,43,.12);
    color:var(--accent-dark);
    display:flex;align-items:center;justify-content:center;
    margin:0 auto 18px;
  }
  .kontakt-card .icon svg{width:28px;height:28px;}
  .kontakt-card h3{font-size:1.1rem;margin-bottom:8px;}
  .kontakt-card p{color:var(--text-muted);font-size:.92rem;margin-bottom:18px;}
  .kontakt-card strong{
    display:block;
    font-size:1.15rem;
    margin-bottom:18px;
  }

  .kontakt-note{
    margin-top:48px;
    color:var(--text-muted);
    font-size:.9rem;
  }

  @media (max-width:860px){
    .kontakt-grid{grid-template-columns:1fr;}
  }

  /* ---------- FOOTER ---------- */
  footer{
    background:var(--bg-dark);
    color:var(--text-muted);
    padding:48px 0 28px;
  }
  .footer-inner{
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:24px;
    margin-bottom:28px;
  }
  .footer-logo{
    color:var(--text-light);
    font-weight:700;
    font-size:1.2rem;
    margin-bottom:12px;
    display:flex;
    align-items:center;
    gap:10px;
  }
  .footer-logo .logo-accent{color:var(--accent);}
  .footer-logo .logo-mark{height:42px;}
  .footer-col{min-width:0;}
  .footer-col h4{
    color:var(--text-light);
    font-size:.9rem;
    margin-bottom:14px;
    text-transform:uppercase;
    letter-spacing:.08em;
  }
  .footer-col ul li{margin-bottom:8px;font-size:.9rem;}
  .footer-col ul a:hover{color:var(--accent);}
  .footer-bottom{
    border-top:1px solid rgba(255,255,255,.08);
    padding-top:22px;
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:10px;
    font-size:.82rem;
  }

  /* ---------- FLOATING WHATSAPP ---------- */
  .float-whatsapp{
    position:fixed;
    right:24px;
    bottom:24px;
    z-index:900;
    width:60px;height:60px;
    border-radius:50%;
    background:#25D366;
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 10px 30px rgba(37,211,102,.45);
    animation:pulse 2.4s infinite;
    transition:transform var(--transition), opacity .25s ease, visibility .25s ease;
  }
  .float-whatsapp:hover{transform:scale(1.08);}
  .float-whatsapp.is-hidden{
    opacity:0; visibility:hidden; transform:scale(.7);
    pointer-events:none;
  }
  .float-whatsapp svg{width:30px;height:30px;color:#fff;}
  @keyframes pulse{
    0%{box-shadow:0 0 0 0 rgba(37,211,102,.55);}
    70%{box-shadow:0 0 0 16px rgba(37,211,102,0);}
    100%{box-shadow:0 0 0 0 rgba(37,211,102,0);}
  }

  /* reveal on scroll (leistungen / ueber uns) */
  .reveal{
    opacity:0;
    transform:translateY(24px);
    transition:opacity .6s ease, transform .6s ease;
  }
  .reveal.visible{
    opacity:1;
    transform:translateY(0);
  }

  @media (max-width:860px){
    nav.main-nav, .header-contacts .icon-btn.desktop-only{display:none;}
    .menu-toggle{display:flex;}
    .hero-grid{grid-template-columns:1fr;}
  }

  /* ---------- LEGAL PAGES (Impressum / Datenschutz) ---------- */
  .legal-page{
    padding:150px 0 100px;
    max-width:800px;
    margin:0 auto;
  }
  .back-link{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-bottom:28px;
    font-weight:600;
    font-size:.9rem;
    color:var(--accent-dark);
  }
  .back-link svg{width:16px;height:16px;}
  .legal-page h1{
    font-size:clamp(1.7rem,4vw,2.6rem);
    margin-bottom:6px;
    hyphens:auto;
  }
  .legal-page .page-sub{
    color:var(--text-muted);
    margin-bottom:36px;
  }
  .legal-page h2{
    font-size:1.25rem;
    margin-top:42px;
    margin-bottom:14px;
    color:var(--text-dark);
  }
  .legal-page h2:first-of-type{margin-top:0;}
  .legal-page p{
    color:#4a5468;
    margin-bottom:14px;
    font-size:1rem;
  }
  .legal-page ul{
    padding-left:20px;
    list-style:disc;
    margin-bottom:14px;
    color:#4a5468;
  }
  .legal-page ul li{margin-bottom:6px;}
  .legal-page a{color:var(--accent-dark);text-decoration:underline;}
  .legal-page strong{color:var(--text-dark);}
  .address-block{
    background:#fbfbfc;
    border:1px solid #eef0f4;
    border-radius:var(--radius);
    padding:22px 26px;
    margin:8px 0 30px;
  }
  .address-block p{margin-bottom:2px;}
  .legal-note{
    font-size:.9rem;
    color:#8a6a2a;
    background:#fff8ec;
    border:1px dashed var(--accent);
    border-radius:10px;
    padding:14px 18px;
    margin:16px 0 26px;
  }
  .legal-note strong{color:#8a6a2a;}

  /* ===== UNSER VERSPRECHEN (Garantie-Band) ===== */
  .versprechen{ padding:100px 0; background:var(--bg-dark-2); color:var(--text-light); }
  .versprechen .section-sub{ color:var(--text-muted); }
  .versprechen-grid{
    display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:36px;
  }
  .versprechen-card{
    background:rgba(240,147,43,.06);
    border:1px solid rgba(240,147,43,.18);
    border-radius:var(--radius);
    padding:26px 22px;
  }
  .vp-icon{ color:var(--accent); margin-bottom:14px; line-height:0; }
  .vp-icon svg{ width:30px; height:30px; }
  .versprechen-card h3{ font-size:1.05rem; color:var(--text-light); margin-bottom:8px; }
  .versprechen-card p{ font-size:.9rem; color:var(--text-muted); line-height:1.5; }
  .verfuegbarkeit{
    display:flex; align-items:center; gap:16px;
    max-width:600px; margin:40px auto 0;
    background:rgba(37,211,102,.09);
    border:1px solid rgba(37,211,102,.32);
    border-radius:16px;
    padding:18px 26px;
    text-align:left;
  }
  .verfuegbarkeit .verf-text{ display:flex; flex-direction:column; }
  .verfuegbarkeit .verf-text strong{
    font-size:1.05rem; color:var(--text-light); line-height:1.3; letter-spacing:.1px;
  }
  .verfuegbarkeit .verf-text span{
    font-size:.85rem; color:var(--text-muted); margin-top:3px; line-height:1.4;
  }
  @media (max-width:520px){
    .verfuegbarkeit{ align-items:flex-start; padding:16px 20px; }
  }
  .pulse-dot{
    width:12px; height:12px; border-radius:50%; background:#25D366; flex-shrink:0;
    box-shadow:0 0 0 0 rgba(37,211,102,.6); animation:pulse 2s infinite;
  }
  @media (max-width:520px){ .verfuegbarkeit .pulse-dot{ margin-top:4px; } }
  @keyframes pulse{
    0%{ box-shadow:0 0 0 0 rgba(37,211,102,.6); }
    70%{ box-shadow:0 0 0 12px rgba(37,211,102,0); }
    100%{ box-shadow:0 0 0 0 rgba(37,211,102,0); }
  }
  @media (max-width:900px){ .versprechen-grid{ grid-template-columns:1fr 1fr; } }
  @media (max-width:560px){ .versprechen-grid{ grid-template-columns:1fr; } }

  /* ===== KUNDENSTIMMEN (bereit für später) ===== */
  .kundenstimmen{ padding:110px 0; background:var(--white); }
  .stimmen-grid{
    display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:40px;
  }
  .stimme{
    background:var(--bg-dark-2); color:var(--text-light);
    border-radius:var(--radius); padding:28px 26px; text-align:left;
  }
  .stimme .sterne{ color:#ffb35c; font-size:1.1rem; letter-spacing:2px; margin-bottom:12px; }
  .stimme blockquote{ font-size:1rem; line-height:1.55; margin-bottom:14px; }
  .stimme figcaption{ font-size:.85rem; color:var(--text-muted); }
  @media (max-width:820px){ .stimmen-grid{ grid-template-columns:1fr; } }

  /* ===== ERSTKONTAKT-ANLEITUNG (was WhatsApp-Anfrage enthalten sollte) ===== */
  .erstkontakt-box{
    max-width:720px; margin:52px auto 0; text-align:left;
    background:var(--bg-dark-2); color:var(--text-light);
    border-radius:var(--radius); padding:36px 34px;
    border:1px solid rgba(240,147,43,.18);
  }
  .ek-head{ display:flex; gap:16px; align-items:flex-start; margin-bottom:26px; }
  .ek-icon{
    flex:none; width:44px; height:44px; border-radius:50%;
    background:rgba(240,147,43,.14); color:var(--accent);
    display:flex; align-items:center; justify-content:center;
  }
  .ek-icon svg{ width:22px; height:22px; }
  .ek-head h3{ font-size:1.25rem; margin-bottom:6px; color:var(--text-light); }
  .ek-sub{ font-size:.92rem; color:var(--text-muted); line-height:1.55; }
  .ek-steps{
    list-style:none; margin:0 0 24px; padding:0;
    display:grid; grid-template-columns:1fr 1fr; gap:16px 24px;
  }
  .ek-steps li{ display:flex; gap:12px; align-items:flex-start; }
  .ek-num{
    flex:none; width:28px; height:28px; border-radius:50%;
    background:var(--accent); color:var(--text-dark); font-weight:700; font-size:.85rem;
    display:flex; align-items:center; justify-content:center;
  }
  .ek-steps strong{ display:block; font-size:.95rem; color:var(--text-light); margin-bottom:2px; }
  .ek-steps span{ font-size:.84rem; color:var(--text-muted); line-height:1.4; }
  .ek-note{
    font-size:.88rem; line-height:1.55; color:var(--text-muted);
    background:rgba(240,147,43,.08); border-radius:10px; padding:14px 16px; margin-bottom:22px;
  }
  .ek-note strong{ color:var(--accent-2); }
  .ek-cta{ display:block; width:fit-content; margin:0 auto; }
  @media (max-width:600px){
    .erstkontakt-box{ padding:28px 22px; }
    .ek-steps{ grid-template-columns:1fr; }
  }

  /* ===== RÜCKRUF-FORMULAR (passive Kontaktoption, als Akkordeon) ===== */
  .rueckruf-wrap{
    max-width:560px; margin:52px auto 0; text-align:left;
    background:var(--bg-dark-2); color:var(--text-light);
    border-radius:var(--radius); padding:26px 32px;
  }
  .rueckruf-wrap[open]{ padding:34px 32px; }
  .rueckruf-wrap summary{
    font-size:1.15rem; font-weight:700; text-align:center; color:var(--text-light);
    cursor:pointer; list-style:none; padding:8px 0; position:relative;
  }
  .rueckruf-wrap summary::-webkit-details-marker{ display:none; }
  .rueckruf-wrap summary::after{
    content:"+"; position:absolute; right:0; top:50%; transform:translateY(-50%);
    font-size:1.4rem; color:var(--accent); font-weight:400;
  }
  .rueckruf-wrap[open] summary::after{ content:"–"; }
  .rueckruf-wrap summary:hover{ color:var(--accent-2); }
  .rueckruf-wrap .rf-sub{ font-size:.9rem; color:var(--text-muted); text-align:center; margin:14px 0 24px; }
  .rueckruf-form{ display:flex; flex-direction:column; gap:14px; }
  .rueckruf-form label{ font-size:.82rem; color:var(--text-muted); margin-bottom:5px; display:block; }
  .rueckruf-form input, .rueckruf-form textarea{
    width:100%; padding:13px 15px; border-radius:10px;
    border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.05);
    color:var(--text-light); font-family:inherit; font-size:1rem;
  }
  .rueckruf-form input::placeholder, .rueckruf-form textarea::placeholder{ color:rgba(245,246,250,.4); }
  .rueckruf-form input:focus, .rueckruf-form textarea:focus{ outline:none; border-color:var(--accent); }
  .rueckruf-form textarea{ resize:vertical; min-height:82px; }
  .rueckruf-form button{
    margin-top:6px; border:none; cursor:pointer; font-size:1rem; font-weight:700;
    padding:15px; border-radius:10px; background:var(--accent); color:var(--text-dark);
    box-shadow:0 8px 24px rgba(240,147,43,.35); transition:transform var(--transition);
  }
  .rueckruf-form button:hover{ transform:translateY(-2px); }
  .rf-note{ font-size:.78rem; color:var(--text-muted); text-align:center; margin-top:14px; }

  /* ===== VORHER / NACHHER ===== */
  .vorher-nachher{ padding:100px 0; background:var(--white); }
  .vn-grid{
    display:grid; grid-template-columns:1fr auto 1fr; align-items:center;
    gap:22px; margin-top:40px;
  }
  .vn-item{ position:relative; margin:0; }
  .vn-item img{
    width:100%; aspect-ratio:3/4; object-fit:cover;
    border-radius:var(--radius); display:block;
    box-shadow:0 12px 34px rgba(0,0,0,.14);
  }
  .vn-badge{
    position:absolute; top:14px; left:14px; z-index:2;
    font-size:.82rem; font-weight:800; letter-spacing:.3px; color:#fff;
    padding:7px 16px; border-radius:999px;
    box-shadow:0 4px 12px rgba(0,0,0,.2);
  }
  .vn-vorher{ background:rgba(26,34,51,.9); }
  .vn-nachher{ background:var(--accent); color:var(--text-dark); }
  .vn-arrow{ display:flex; justify-content:center; color:var(--accent); }
  .vn-arrow svg{ width:42px; height:42px; }
  .vn-facts{
    display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:34px;
  }
  .vn-facts span{
    display:inline-flex; align-items:center; gap:8px;
    background:var(--bg-dark-2); color:var(--text-light);
    font-size:.86rem; font-weight:600; padding:10px 17px; border-radius:999px;
  }
  .vn-facts svg{ width:15px; height:15px; color:#4caf7d; flex-shrink:0; }
  .vn-cta{ text-align:center; margin-top:40px; }
  .vn-cta-note{ font-size:.86rem; color:var(--text-muted); margin-top:14px; }
  @media (max-width:760px){
    .vn-grid{ grid-template-columns:1fr; gap:10px; }
    .vn-arrow{ transform:rotate(90deg); margin:2px 0; }
    .vn-item img{ aspect-ratio:4/3; }
  }

  /* Barrierefreiheit: Nutzer mit "Bewegung reduzieren" (System-Einstellung, oft
     bei Vestibularstörungen) bekommen keine Animationen aufgezwungen (WCAG 2.3.3).
     Die Scroll-Story bleibt bedienbar, nur ohne bewegte Übergänge. */
  @media (prefers-reduced-motion: reduce){
    *, *::before, *::after{
      animation-duration:.001ms !important;
      animation-iteration-count:1 !important;
      transition-duration:.001ms !important;
      scroll-behavior:auto !important;
    }
    .reveal{ opacity:1 !important; transform:none !important; }
    .furniture-item{ opacity:1 !important; }
  }
