:root{
    --nacht:#15130E;--nacht-soft:#211D15;--nacht-line:#332E20;
    --sonne:#C6A24E;--sonne-hell:#E7CE92;--glut:#97742E;
    --papier:#F6F1E6;--sand:#EAE1D0;--sand-line:#DBD0BA;
    --ink:#1A1813;--ink-soft:#5A5346;--paper-on-dark:#F1EADC;--muted-on-dark:#AAA08C;
    --radius:4px;--radius-sm:3px;--maxw:1140px;--ease:cubic-bezier(.2,.7,.2,1);
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth;overflow-x:clip}
  body{font-family:"Inter",system-ui,sans-serif;background:var(--papier);color:var(--ink);line-height:1.72;font-size:1.02rem;-webkit-font-smoothing:antialiased;overflow-x:clip;width:100%;position:relative}
  /* Schutz gegen horizontalen Überlauf auf dem Handy */
  h1,h2,h3,h4,p,a,span,b,li,div{overflow-wrap:break-word}
  h1,h2,h3,h4{hyphens:manual;-webkit-hyphens:manual;word-break:normal}
  .grid2>*,.grid3>*,.grid4>*,.svc-grid>*,.steps>*,.ref-grid>*,.gcards>*,.frow>*,.contact-grid>*,.founder>*,.frow2>*{min-width:0}
  h1,h2,h3,h4{font-family:"Archivo",Inter,sans-serif;line-height:1.06;letter-spacing:-.005em;font-weight:700;text-transform:uppercase}
  a{color:inherit;text-decoration:none}
  img{max-width:100%;display:block}
  ::selection{background:var(--sonne);color:var(--nacht)}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
  .mono{font-family:"Space Mono",monospace}
  .eyebrow{font-family:"Inter",sans-serif;font-size:.68rem;font-weight:600;letter-spacing:.34em;text-transform:uppercase;color:var(--glut);display:inline-flex;gap:.85em;align-items:center}
  .eyebrow::before{content:"";width:34px;height:1px;background:var(--sonne);display:inline-block}
  .on-dark .eyebrow,.dark .eyebrow{color:var(--sonne-hell)}
  .on-dark .eyebrow::before,.dark .eyebrow::before{background:var(--sonne)}

  /* Buttons */
  .btn{display:inline-flex;align-items:center;gap:.55em;cursor:pointer;border:none;font-family:"Inter",sans-serif;font-weight:600;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;padding:1.05em 1.9em;border-radius:2px;transition:transform .18s var(--ease),background .18s,box-shadow .18s,color .18s;text-align:center;line-height:1.1}
  .btn:active{transform:translateY(1px)}
  .btn-sun{background:var(--sonne);color:#231B0B;box-shadow:none}
  .btn-sun:hover{background:var(--sonne-hell)}
  .btn-sun:hover{background:var(--sonne-hell);transform:translateY(-2px)}
  .btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--sonne)}
  .btn-ghost:hover{border-color:var(--sonne);background:var(--sonne);color:#231B0B}
  .on-dark .btn-ghost,.dark .btn-ghost{color:var(--paper-on-dark);border-color:var(--sonne)}
  .on-dark .btn-ghost:hover,.dark .btn-ghost:hover{border-color:var(--paper-on-dark);background:rgba(255,255,255,.05)}
  .btn-wa{background:#25D366;color:#fff}
  .btn-wa:hover{background:#1da851;transform:translateY(-2px)}

  /* Header + nav */
  header{position:sticky;top:0;z-index:60;background:rgba(250,246,238,.85);backdrop-filter:blur(12px);border-bottom:1px solid var(--sand-line)}
  .nav{display:flex;align-items:center;justify-content:space-between;height:74px;gap:16px}
  .brand{display:flex;align-items:center;gap:11px;font-family:"Archivo",Inter,system-ui,sans-serif;font-weight:700;font-size:1.18rem;letter-spacing:-.02em;cursor:pointer}
  .brand .mark{width:46px;height:42px;flex:0 0 auto;display:flex;align-items:center;justify-content:center}
  .brand .mark svg{width:100%;height:100%;display:block}
  .brand small{display:block;font-family:"Space Mono",ui-monospace,monospace;font-weight:400;font-size:.6rem;letter-spacing:.14em;color:var(--ink-soft);text-transform:uppercase;margin-top:1px}
  nav{flex:1 1 auto;display:flex;justify-content:center;min-width:0}
  nav .links{display:flex;align-items:center;justify-content:space-between;gap:4px;width:100%;flex-wrap:nowrap}
  nav .links a,.dropbtn{white-space:nowrap;padding:.5em .45em;border-radius:3px;font-size:.75rem;font-weight:600;letter-spacing:.075em;text-transform:uppercase;color:var(--ink-soft);transition:color .15s,background .15s;cursor:pointer;background:none;border:none;font-family:"Inter",system-ui,sans-serif;display:flex;align-items:center;line-height:1.4}
  nav .links a:hover,.dropbtn:hover{color:var(--glut)}
  nav .links a.active{color:var(--ink);background:rgba(0,0,0,.05)}
  .drop{position:relative;display:flex;align-items:center}
  .dropbtn::after{content:"▾";margin-left:.3em;font-size:.7em;color:var(--glut)}
  .dropmenu{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%,6px);background:#fff;border:1px solid var(--sand-line);border-radius:14px;padding:8px;min-width:288px;box-shadow:0 20px 50px -20px rgba(0,0,0,.3);opacity:0;visibility:hidden;transition:.18s}
  .drop:hover .dropmenu,.drop:focus-within .dropmenu{opacity:1;visibility:visible;transform:translate(-50%,0)}
  nav .links .dropmenu a{display:block;padding:.6em .8em;border-radius:9px;font-size:.92rem;line-height:1.35;color:var(--ink);font-weight:600;text-transform:none;letter-spacing:normal;white-space:normal}
  nav .links .dropmenu a:hover{background:var(--papier);color:var(--ink)}
  nav .links .dropmenu a small{display:block;font-weight:400;color:var(--ink-soft);font-size:.78rem;letter-spacing:normal;text-transform:none;margin-top:2px}
  .nav-cta{display:flex;align-items:center;gap:10px;flex:0 0 auto}
  .nav-cta .btn-sun{padding:1.05em 1.5em}
  .mobcta{display:none}
  nav .links a.mobcta{display:none}
  .hdr-tel{display:flex;align-items:center;gap:7px;font-size:.86rem;font-weight:600;letter-spacing:.01em;color:var(--ink-soft);white-space:nowrap;transition:color .15s}
  .hdr-tel:hover{color:var(--glut)}
  .hdr-tel svg{width:15px;height:15px;color:var(--glut)}
  .icon-link{width:40px;height:40px;border-radius:11px;border:1.5px solid var(--sand-line);display:flex;align-items:center;justify-content:center;color:var(--ink)}
  .icon-link:hover{border-color:var(--ink)}
  .icon-link svg{width:18px;height:18px}
  .burger{display:none;width:42px;height:42px;border:1.5px solid var(--sand-line);border-radius:11px;background:transparent;cursor:pointer;flex-direction:column;gap:4px;align-items:center;justify-content:center}
  .burger span{width:18px;height:2px;background:var(--ink);border-radius:2px;transition:.2s}
  .burger.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
  .burger.open span:nth-child(2){opacity:0}
  .burger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

  /* Pages */
  .page{display:none;animation:fade .4s var(--ease)}
  .page.active{display:block}
  @keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
  section{position:relative}
  .pad{padding:124px 0}.pad-sm{padding:84px 0}
  .dark{background:var(--nacht);color:var(--paper-on-dark)}
  .dark h1,.dark h2,.dark h3{color:#fff}
  .grain{position:absolute;inset:0;pointer-events:none;opacity:.08;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}

  /* Hero */
  .hero{background:var(--nacht);color:var(--paper-on-dark);overflow:hidden;padding:92px 0 80px}
  .sun{position:absolute;width:780px;height:780px;border-radius:50%;left:50%;top:-320px;transform:translateX(-30%);background:radial-gradient(circle,rgba(201,162,74,.30) 0%,rgba(156,116,48,.12) 36%,transparent 66%);filter:blur(12px);z-index:0;animation:breathe 11s ease-in-out infinite}
  @keyframes breathe{0%,100%{opacity:.85;transform:translateX(-30%) scale(1)}50%{opacity:1;transform:translateX(-30%) scale(1.06)}}
  .hero .wrap{position:relative;z-index:2}
  .hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:stretch}
  .hero h1{font-size:clamp(2.2rem,4.7vw,4.2rem);font-weight:800;margin:16px 0 0;letter-spacing:-.015em;line-height:1.05;hyphens:none}
  .hero h1 .hl{color:var(--sonne);font-weight:800}
  .hero p.lead{font-size:1.14rem;color:var(--muted-on-dark);max-width:36ch;margin-bottom:28px}
  .hero-cta{display:flex;flex-wrap:wrap;gap:12px}
  .hero-stats{display:flex;gap:30px;margin-top:38px;flex-wrap:wrap}
  .hero-stats .s b{font-family:"Archivo",serif;font-weight:600;font-size:1.95rem;color:#fff;display:block;letter-spacing:-.01em}
  .hero-stats .s span{font-size:.82rem;color:var(--muted-on-dark)}
  .hero-card{background:linear-gradient(160deg,var(--nacht-soft),#16130E);border:1px solid var(--nacht-line);border-radius:4px;padding:34px}
  .hero-card .tag{font-family:"Space Mono",ui-monospace,monospace;font-size:.7rem;letter-spacing:.12em;color:var(--sonne);text-transform:uppercase}
  .hero-card .face{width:78px;height:78px;border-radius:50%;margin:14px 0 16px;overflow:hidden;background:linear-gradient(135deg,var(--sonne),var(--glut));box-shadow:0 0 0 3px var(--nacht-soft),0 0 0 4.5px var(--sonne)}
  .hero-card .face img{width:100%;height:100%;object-fit:cover;object-position:50% 16%}
  .hero-card blockquote{font-family:"Inter",sans-serif;font-size:1.12rem;color:#ECE6D8;font-style:normal;line-height:1.5}
  .hero-card .who{margin-top:16px;font-weight:600;color:#fff}
  .hero-card .who small{display:block;font-weight:400;color:var(--muted-on-dark);font-style:normal}
  /* subpage hero */
  .subhero{background:var(--nacht);color:var(--paper-on-dark);overflow:hidden;padding:74px 0 60px}
  .subhero .wrap{position:relative;z-index:2}
  .subhero h1{font-size:clamp(2.1rem,4.6vw,3.5rem);margin:18px 0 16px;max-width:100%;line-height:1.06;hyphens:none;-webkit-hyphens:none}
  .subhero p{font-size:1.1rem;color:var(--muted-on-dark);max-width:100%;margin-bottom:24px}
  .subhero .hero-cta{display:flex;gap:12px;flex-wrap:wrap}

  /* Trust strip */
  .trust{background:var(--nacht-soft);border-top:1px solid var(--sonne);border-bottom:1px solid var(--sonne);color:var(--muted-on-dark)}
  .trust .wrap{display:flex;flex-wrap:wrap;gap:16px 44px;align-items:center;justify-content:center;padding:26px 24px}
  .trust b{color:#fff}
  .trust .dot{width:6px;height:6px;border-radius:50%;background:var(--sonne)}
  .trust span{display:inline-flex;align-items:center;gap:10px;font-size:.9rem}

  /* Section heads */
  .shead{max-width:68ch;margin-bottom:60px}
  .shead h2{font-size:clamp(2rem,4.1vw,3.3rem);margin:24px 0 18px;font-weight:700;line-height:1.06;hyphens:none;-webkit-hyphens:none;text-wrap:balance}
  .shead p{font-size:1.12rem;color:var(--ink-soft);max-width:52ch;line-height:1.7}
  .dark .shead p{color:var(--muted-on-dark)}
  .center{text-align:center;margin-left:auto;margin-right:auto}

  /* Generic grids/cards */
  .grid2{display:grid;grid-template-columns:1fr 1fr;gap:22px}
  .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  .grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
  .card{background:#FCFAF4;border:1px solid var(--sand-line);border-radius:var(--radius);padding:34px;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
  .card:hover{transform:translateY(-4px);border-color:var(--sonne);box-shadow:0 24px 48px -26px rgba(28,21,9,.4)}
  .card .ico{width:48px;height:48px;border-radius:13px;background:var(--sand);display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:16px}
  .ico svg{width:24px;height:24px;fill:none;stroke:var(--glut);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  .dark .ico svg,.card.dk .ico svg{stroke:var(--sonne)}
  .ic svg{width:20px;height:20px;fill:none;stroke:var(--glut);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  .dark .ic svg{stroke:var(--sonne)}
  .refsun{width:30px;height:30px;fill:none;stroke:var(--sonne);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.85}
  .oktick{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#1FA855;color:#fff;font-weight:700;font-size:1rem;vertical-align:middle}
  .card h3{font-size:1.25rem;margin-bottom:8px;font-weight:600;hyphens:none;-webkit-hyphens:none;text-wrap:balance}
  .card p{color:var(--ink-soft);font-size:.98rem}
  .card.dk{background:var(--nacht-soft);border-color:var(--nacht-line);color:var(--paper-on-dark)}
  .card.dk h3{color:#fff}.card.dk p{color:var(--muted-on-dark)}.card.dk .ico{background:#2A323D}

  /* Service cards (dark) */
  .svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  .svc{position:relative;border-radius:var(--radius);padding:28px;overflow:hidden;background:var(--nacht-soft);border:1px solid var(--nacht-line);color:var(--paper-on-dark);transition:transform .25s var(--ease),border-color .25s;cursor:pointer}
  .svc:hover{transform:translateY(-5px);border-color:var(--sonne)}
  .svc .num{font-family:"Space Mono",ui-monospace,monospace;color:var(--sonne);font-size:.78rem;letter-spacing:.1em}
  .svc h3{color:#fff;font-size:1.4rem;margin:10px 0 12px;font-weight:600;hyphens:none;-webkit-hyphens:none;text-wrap:balance}
  .svc p{color:var(--muted-on-dark);font-size:.96rem;margin-bottom:16px}
  .svc .arrow{color:var(--sonne);font-weight:600;display:inline-flex;gap:.4em;align-items:center}

  /* feature row (text + box) */
  .frow2{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
  .frow2.rev{grid-template-columns:.9fr 1.1fr}
  .ulist{list-style:none;display:grid;gap:10px;margin:18px 0 24px}
  .ulist li{display:block;position:relative;padding-left:24px;font-size:1.02rem}
  .ulist li::before{content:"→";position:absolute;left:0;top:0;color:var(--glut);font-weight:700}
  .dark .ulist li::before{color:var(--sonne)}
  .dark .ulist li{color:#D7DBE2}

  /* Process steps */
  .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
  .step{border-top:2px solid var(--sand-line);padding-top:16px}
  .step .n{font-family:"Space Mono",ui-monospace,monospace;font-size:.76rem;color:var(--glut);letter-spacing:.1em}
  .step h3{font-size:1.15rem;margin:8px 0 6px;hyphens:none;-webkit-hyphens:none}
  .step p{font-size:.93rem;color:var(--ink-soft)}
  .dark .step{border-top-color:var(--nacht-line)}.dark .step p{color:var(--muted-on-dark)}

  /* Founder photo */
  .founder{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;align-items:center}
  .contact-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:48px;align-items:start}
  .photo{aspect-ratio:4/5;border-radius:var(--radius);overflow:hidden;position:relative;background:linear-gradient(160deg,#221E16,#2A251B);border:1px solid var(--sonne);box-shadow:0 30px 70px -40px rgba(0,0,0,.6)}
  .photo .glowring{position:absolute;inset:-2px;border-radius:var(--radius);z-index:0;background:linear-gradient(135deg,var(--sonne),transparent 55%);opacity:.5}
  .photo .photo-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 28%}
  .photo::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(15,18,22,.8),rgba(15,18,22,.1) 44%,transparent 70%);z-index:1}
  .photo .photo-badge{position:absolute;left:18px;bottom:18px;z-index:2;color:#fff}
  .photo .photo-badge b{font-family:"Archivo",Inter,system-ui,sans-serif;font-size:1.15rem;display:block}
  .photo .photo-badge span{font-family:"Space Mono",ui-monospace,monospace;font-size:.72rem;letter-spacing:.1em;color:var(--sonne-hell);text-transform:uppercase}
  .founder blockquote{font-family:"Archivo",Inter,system-ui,sans-serif;font-size:clamp(1.5rem,2.8vw,2.2rem);line-height:1.18;color:#fff;font-weight:600;letter-spacing:-.02em}
  .founder .sig{margin-top:22px;font-family:"Archivo",Inter,system-ui,sans-serif;font-weight:700;font-size:1.4rem;color:var(--sonne)}
  .founder .sigsub{color:var(--muted-on-dark);font-size:.95rem;margin-top:2px}

  /* Stats count-up */
  .statsband{position:relative;overflow:hidden;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;background:var(--nacht);border:1px solid var(--nacht-line);border-radius:24px;padding:50px 40px}
  .statsband::before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;top:-340px;left:50%;transform:translateX(-50%);background:radial-gradient(circle,rgba(247,168,27,.4),transparent 65%);pointer-events:none}
  .statsband .stat{text-align:center;position:relative;z-index:2}
  .statsband .count{font-family:"Archivo",serif;font-weight:600;color:var(--sonne);display:block;line-height:1;font-size:clamp(2.3rem,5.2vw,3.7rem);letter-spacing:-.01em}
  .statsband .stat span{display:block;margin-top:12px;color:var(--muted-on-dark);font-size:.9rem}

  /* Manufacturers */
  .mcat{margin-bottom:30px}
  .mcat h4{font-family:"Space Mono",ui-monospace,monospace;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--glut);margin-bottom:14px}
  .mchips{display:flex;flex-wrap:wrap;gap:12px}
  .mchip{padding:.75em 1.3em;border:1.5px solid rgba(122,74,30,.3);border-radius:12px;background:linear-gradient(180deg,#fff,#F6F1E6);box-shadow:0 3px 12px -6px rgba(21,19,14,.35);font-weight:700;font-size:1.02rem;letter-spacing:-.01em;color:var(--ink);transition:.2s}
  .mchip:hover{border-color:var(--sonne);transform:translateY(-2px);box-shadow:0 8px 20px -8px rgba(122,74,30,.45)}
  .dark .mchip{background:var(--nacht-soft);border-color:var(--nacht-line);color:#fff}

  /* Google reviews */
  .greviews{background:#fff;border:1px solid var(--sand-line);border-radius:24px;padding:34px;display:grid;grid-template-columns:.7fr 2fr;gap:32px;align-items:center}
  .gscore{text-align:center}
  .gscore .gnum{font-family:"Archivo",Inter,system-ui,sans-serif;font-size:3.4rem;font-weight:800;line-height:1}
  .gscore .gstars{color:var(--sonne);font-size:1.3rem;letter-spacing:2px;margin:6px 0}
  .gscore .glabel{font-size:.85rem;color:var(--ink-soft)}
  .gscore .gbadge{display:inline-flex;gap:7px;align-items:center;margin-top:10px;font-size:.8rem;font-weight:600}
  .gcards{display:grid;grid-template-columns:1fr 1fr;gap:18px}
  .gcard{background:var(--papier);border:1px solid var(--sand-line);border-radius:14px;padding:18px}
  .gcard .gs{color:var(--sonne);letter-spacing:1px;font-size:.9rem}
  .gcard p{font-size:.92rem;color:var(--ink);margin:8px 0}
  .gcard .gwho{font-size:.82rem;font-weight:600;color:var(--ink-soft)}

  /* Reference projects */
  .ref-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  .ref{background:#fff;border:1px solid var(--sand-line);border-radius:var(--radius);overflow:hidden;transition:transform .25s var(--ease),box-shadow .25s}
  .ref:hover{transform:translateY(-4px);box-shadow:0 20px 40px -24px rgba(28,33,39,.4)}
  .ref .img{aspect-ratio:16/10;background:linear-gradient(135deg,#222932,#2C343F);position:relative;display:flex;align-items:center;justify-content:center;color:var(--muted-on-dark);font-size:2rem}
  .ref .img .tag{position:absolute;top:12px;left:12px;background:var(--sonne);color:var(--nacht);font-family:"Space Mono",ui-monospace,monospace;font-size:.72rem;font-weight:700;padding:.3em .7em;border-radius:8px}
  .ref .body{padding:22px}
  .ref h3{font-size:1.2rem;margin-bottom:6px;hyphens:none;-webkit-hyphens:none}
  .ref .loc{font-family:"Space Mono",ui-monospace,monospace;font-size:.78rem;color:var(--glut);text-transform:uppercase;letter-spacing:.08em}
  .ref .specs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0;font-size:.85rem}
  .ref .specs div{background:var(--papier);border:1px solid var(--sand-line);border-radius:9px;padding:8px 10px}
  .ref .specs b{display:block;font-family:"Space Mono",ui-monospace,monospace;font-size:.95rem;color:var(--ink)}
  .ref .specs span{color:var(--ink-soft);font-size:.74rem}
  .ref p.desc{font-size:.92rem;color:var(--ink-soft)}
  .ref .save{margin-top:12px;font-size:.85rem;font-weight:600;color:#1c7a3e}

  /* FAQ */
  .faq{max-width:780px;margin:0 auto}
  .fitem{border-bottom:1px solid var(--sand-line)}
  .dark .fitem{border-bottom-color:var(--nacht-line)}
  .fq{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:22px 40px 22px 0;font-family:"Archivo",Inter,system-ui,sans-serif;font-weight:600;font-size:1.12rem;color:var(--ink);position:relative}
  .dark .fq{color:#fff}
  .fq::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);font-family:"Space Mono",ui-monospace,monospace;color:var(--glut);font-size:1.5rem;transition:transform .2s}
  .fitem.open .fq::after{transform:translateY(-50%) rotate(45deg)}
  .fa{max-height:0;overflow:hidden;transition:max-height .3s var(--ease)}
  .fa p{padding:0 0 22px;color:var(--ink-soft)}
  .dark .fa p{color:var(--muted-on-dark)}

  /* CTA band */
  .ctaband{background:linear-gradient(120deg,var(--glut),var(--sonne));color:var(--nacht);border-radius:24px;padding:46px;text-align:center;overflow:hidden}
  .ctaband h2{font-size:clamp(1.7rem,3.2vw,2.5rem);margin-bottom:12px;color:var(--nacht)}
  .ctaband p{font-size:1.08rem;margin-bottom:24px;color:#3a2a08;max-width:52ch;margin-inline:auto}
  .ctaband .btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
  .ctaband .btn-dark{background:var(--nacht);color:#fff}
  .ctaband .btn-dark:hover{background:#000;transform:translateY(-2px)}

  /* WhatsApp CTA slot */
  .wacta{background:var(--nacht-soft);border:1px solid var(--nacht-line);border-radius:20px;padding:26px 30px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
  .wacta .t b{color:#fff;font-family:"Archivo",Inter,system-ui,sans-serif;font-size:1.25rem;display:block}
  .wacta .t span{color:var(--muted-on-dark);font-size:.95rem}

  /* Forms */
  .formcard{background:#fff;border-radius:22px;padding:30px;border:1px solid var(--sand-line)}
  .miniform h3{font-size:1.35rem;margin-bottom:4px}
  .miniform p.sub{color:var(--ink-soft);font-size:.95rem;margin-bottom:16px}
  .frow{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .field{margin-bottom:13px}
  .field label{display:block;font-size:.82rem;font-weight:600;margin-bottom:6px}
  .field input,.field select,.field textarea{width:100%;font-family:"Inter",system-ui,sans-serif;font-size:1rem;padding:.78em .9em;border-radius:11px;border:1.5px solid var(--sand-line);background:var(--papier);color:var(--ink);transition:border-color .15s,box-shadow .15s}
  .field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--sonne);box-shadow:0 0 0 3px rgba(247,168,27,.2)}
  .field input.err,.field textarea.err{border-color:#d9534f}
  .field textarea{min-height:120px;resize:vertical}
  .check{display:flex;gap:10px;align-items:flex-start;font-size:.83rem;color:var(--ink-soft);margin:6px 0 16px}
  .check input{margin-top:3px;width:17px;height:17px;flex:0 0 auto;accent-color:var(--glut)}
  .check.err span{color:#d9534f}
  .check a{color:var(--glut);text-decoration:underline;cursor:pointer}
  .js-form .btn-sun{width:100%;justify-content:center}
  .form-note{font-size:.77rem;color:var(--ink-soft);text-align:center;margin-top:12px}
  .form-success{background:#F0F8F1;border:1px solid #BFE3C6;color:#1c5a30;border-radius:18px;padding:26px;text-align:center;font-weight:500}

  /* Contact info (dark) */
  .cinfo-row{display:flex;gap:14px;align-items:center;padding:14px 0;border-top:1px solid var(--nacht-line)}
  .cinfo-row .ic{width:40px;height:40px;border-radius:11px;background:var(--nacht-soft);display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex:0 0 auto}
  .cinfo-row b{color:#fff;display:block;font-size:.98rem}
  .cinfo-row span{color:var(--muted-on-dark);font-size:.9rem}
  .social-row{display:flex;gap:10px;margin-top:20px}
  .social-row a{width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:var(--nacht-soft);border:1px solid var(--nacht-line);transition:.2s}
  .social-row a:hover{transform:translateY(-3px);border-color:var(--sonne)}
  .social-row svg{width:22px;height:22px}

  /* Instagram feed */
  .igfeed{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
  .igtile{aspect-ratio:1;border-radius:12px;background:linear-gradient(135deg,#222932,#2C343F);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--muted-on-dark)}
  .igtile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 62%,rgba(0,0,0,.28));transition:background .25s}
  .igfeed:hover .igtile::after{background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.32))}

  /* Footer */
  footer{background:#10141A;color:var(--muted-on-dark);padding:54px 0 28px}
  .fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:32px}
  footer h4{color:#fff;font-size:1rem;margin-bottom:14px;font-family:"Inter",system-ui,sans-serif;font-weight:600}
  footer a{color:var(--muted-on-dark);font-size:.9rem;display:block;padding:4px 0;transition:color .15s;cursor:pointer}
  footer a:hover{color:var(--sonne)}
  .fbottom{border-top:1px solid var(--nacht-line);margin-top:38px;padding-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.8rem}
  .fbrand{display:flex;align-items:center;gap:11px;color:#fff;font-family:"Archivo",Inter,system-ui,sans-serif;font-weight:700;font-size:1.15rem;margin-bottom:12px}

  /* Floating buttons */
  .float{position:fixed;right:18px;bottom:18px;z-index:80;display:flex;flex-direction:column;gap:12px}
  .float a{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 28px -8px rgba(0,0,0,.45);transition:transform .2s;color:#fff;position:relative}
  .float a:hover{transform:scale(1.08)}
  .float .wa{background:#25D366}
  .float .tel{background:var(--sonne);color:#231B0B}
  .float svg{width:28px;height:28px}
  .float .pulse::before{content:"";position:absolute;inset:0;border-radius:50%;background:#25D366;animation:pulse 2.4s ease-out infinite;z-index:-1}
  @keyframes pulse{0%{transform:scale(1);opacity:.55}100%{transform:scale(1.55);opacity:0}}

  /* Termin Popup */
  .modal-bg{position:fixed;inset:0;background:rgba(15,18,22,.6);backdrop-filter:blur(4px);z-index:100;display:none;align-items:center;justify-content:center;padding:20px;animation:fade .3s}
  .modal-bg.show{display:flex}
  .modal{background:var(--papier);border-radius:22px;max-width:440px;width:100%;padding:34px;position:relative;border:1px solid var(--sand-line);box-shadow:0 30px 80px -20px rgba(0,0,0,.5)}
  .modal .close{position:absolute;top:14px;right:16px;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--ink-soft);line-height:1}
  .modal .msun{width:60px;height:52px;margin-bottom:14px;display:flex;align-items:center;justify-content:center}
  .modal .msun svg{width:100%;height:100%;display:block}
  .modal h3{font-size:1.55rem;margin-bottom:8px}
  .modal p{color:var(--ink-soft);font-size:.98rem;margin-bottom:20px}
  .modal .mbtns{display:flex;flex-direction:column;gap:10px}
  .modal .btn{width:100%;justify-content:center}

  /* Legal */
  .legal{max-width:800px;margin:0 auto}
  .legal h1{font-size:clamp(2rem,4vw,3rem);margin-bottom:10px}
  .legal h2{font-size:1.4rem;margin:34px 0 10px}
  .legal p,.legal li{color:var(--ink-soft);margin-bottom:10px}
  .legal ul{padding-left:20px;margin-bottom:10px}
  .legal a{color:var(--glut);text-decoration:underline}
  .legal .meta{font-family:"Space Mono",ui-monospace,monospace;font-size:.8rem;color:var(--ink-soft)}
  .reviewnote{background:#FFF4E0;border:1px solid #F3D699;border-radius:14px;padding:16px 18px;font-size:.9rem;color:#7a5a14;margin:18px 0 28px}
  .reviewnote b{color:#6a4d0f}

  /* Reveal */
  .reveal{opacity:0;transform:translateY(26px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
  .reveal.in{opacity:1;transform:none}

  /* Responsive */
  @media (max-width:980px){
    .hero-grid,.founder,.frow2,.frow2.rev,.contact-grid{grid-template-columns:1fr}
    .grid3,.grid4,.svc-grid,.steps,.ref-grid{grid-template-columns:1fr 1fr}
    .statsband{grid-template-columns:1fr 1fr;row-gap:32px}
    .greviews{grid-template-columns:1fr}
    .igfeed{grid-template-columns:repeat(4,1fr)}
    .hero-card{order:-1}
    .photo{aspect-ratio:16/11}.photo .photo-img{object-position:50% 24%}
  }
  @media (max-width:1180px){
    .nav-cta .hdr-tel{display:none}
  }
  /* Navigation klappt ins Burger-Menue, bevor die Reiter zu eng werden */
  @media (max-width:1010px){
    nav .links,.nav-cta .icon-link,.nav-cta .hdr-tel,.nav-cta .btn-sun{display:none}
    .burger{display:flex}
    nav{flex:0 0 auto}
    .links.mobile-open{display:flex;flex-direction:column;align-items:stretch;position:absolute;top:74px;left:0;right:0;background:var(--papier);border-bottom:1px solid var(--sand-line);padding:12px 24px;gap:0;max-height:80vh;overflow:auto}
    .links.mobile-open a,.links.mobile-open .dropbtn{padding:.85em 0;border-bottom:1px solid var(--sand-line);text-align:left;white-space:normal}
    .links.mobile-open a.mobcta,nav .links.mobile-open a.mobcta{display:inline-flex;justify-content:center;text-align:center;border-bottom:none;margin-top:14px;color:var(--nacht)}
    .links.mobile-open .drop{position:static;display:block;width:100%}
    .links.mobile-open .dropbtn{width:100%}
    .links.mobile-open .dropmenu,nav .links.mobile-open .dropmenu{position:static;opacity:1;visibility:visible;transform:none;left:auto;box-shadow:none;border:none;background:transparent;padding:0 0 8px 14px;min-width:0}
  }
  @media (max-width:680px){
    .grid2,.grid3,.grid4,.svc-grid,.steps,.ref-grid{grid-template-columns:1fr}
    .frow,.gcards{grid-template-columns:1fr}
    .pad{padding:60px 0}.ctaband{padding:32px 22px}.hero{padding:60px 0 52px}
    .igfeed{grid-template-columns:repeat(3,1fr)}
    .greviews{padding:24px}
    .wacta{flex-direction:column;align-items:flex-start}
  }
  @media (max-width:430px){
    .hero h1{font-size:1.9rem}
    .subhero h1{font-size:1.85rem}
    .shead h2{font-size:1.8rem}
  }
  @media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

  /* ===== Farbige Zertifikate / Siegel ===== */
  .shead.center{text-align:center;margin-left:auto;margin-right:auto}
  .shead.center p{margin-left:auto;margin-right:auto}
  .certs-sec{position:relative;overflow:hidden}
  .certgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
  .certgrid>*{min-width:0}
  .cert{position:relative;overflow:hidden;border-radius:6px;padding:26px 22px 24px;
    background:linear-gradient(170deg,rgba(255,255,255,.06),rgba(255,255,255,.015));
    border:1px solid rgba(255,255,255,.12);transition:transform .25s var(--ease),box-shadow .35s,border-color .35s;will-change:transform}
  .cert::before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:linear-gradient(90deg,var(--c),var(--c2))}
  .cert:hover{border-color:var(--c);box-shadow:0 26px 60px -28px var(--c)}
  .cert .seal{width:60px;height:60px;border-radius:15px;display:flex;align-items:center;justify-content:center;
    background:linear-gradient(150deg,var(--c),var(--c2));box-shadow:0 12px 26px -10px var(--c);margin-bottom:16px}
  .cert .seal svg{width:30px;height:30px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  .cert .ck{font-family:"Space Mono",monospace;font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:var(--c2)}
  .cert h3{color:#fff;font-size:1.4rem;margin:3px 0 8px;text-transform:uppercase;letter-spacing:-.005em;hyphens:none;-webkit-hyphens:none}
  .cert p{color:var(--muted-on-dark);font-size:.9rem;line-height:1.5}
  .cert .shine{position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 32%,rgba(255,255,255,.16) 47%,transparent 60%);transform:translateX(-130%);animation:cshine 6s ease-in-out infinite}
  .cert:nth-child(2) .shine{animation-delay:.6s}.cert:nth-child(3) .shine{animation-delay:1.2s}.cert:nth-child(4) .shine{animation-delay:1.8s}
  .cert:hover .shine{animation-duration:1.5s}
  @keyframes cshine{0%,55%{transform:translateX(-130%)}100%{transform:translateX(130%)}}
  @media(max-width:880px){.certgrid{grid-template-columns:1fr 1fr}}
  @media(max-width:520px){.certgrid{grid-template-columns:1fr}}

  /* ===== Cursor-Spotlight auf dunklen Sektionen ===== */
  .glowsec{position:relative}
  .glowsec>.wrap{position:relative;z-index:1}
  .glowsec::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:0;transition:opacity .45s;
    background:radial-gradient(460px circle at var(--mx,50%) var(--my,50%),rgba(201,162,74,.18),transparent 62%)}
  .glowsec:hover::after{opacity:1}

  /* ===== Glanz-Sweep über Primär-Button ===== */
  .btn-sun{position:relative;overflow:hidden}
  .btn-sun::after{content:"";position:absolute;top:0;left:0;width:55%;height:100%;
    background:linear-gradient(110deg,transparent,rgba(255,255,255,.55),transparent);transform:translateX(-200%) skewX(-18deg)}
  .btn-sun:hover::after{transition:transform .75s var(--ease);transform:translateX(320%) skewX(-18deg)}

  /* ===== Gold-Shimmer im Hero-Akzent ===== */
  .hero h1 .hl{background:linear-gradient(100deg,var(--sonne) 18%,var(--sonne-hell) 46%,var(--sonne) 72%);
    -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--sonne);background-size:230% auto;animation:shimmer 5s linear infinite}
  @keyframes shimmer{to{background-position:230% center}}

  /* ===== Trust-Lauflinie ===== */
  .trust{overflow:hidden;padding:16px 0}
  .trust .track{display:flex;width:max-content;align-items:center;animation:marq 32s linear infinite}
  .trust:hover .track{animation-play-state:paused}
  .trust .track span{padding:0 30px;white-space:nowrap;font-size:.9rem;display:inline-flex;align-items:center;gap:10px}
  @keyframes marq{to{transform:translateX(-50%)}}

  @media(prefers-reduced-motion:reduce){
    .cert .shine,.trust .track{animation:none!important}
    .hero h1 .hl{animation:none!important;-webkit-text-fill-color:var(--sonne)}
  }


  /* ===== Echte Zertifikate (Logo + Dokument) ===== */
  .certlist{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  .certlist>*{min-width:0}
  .certcard{position:relative;overflow:hidden;display:flex;gap:18px;align-items:center;padding:18px 20px;border-radius:6px;
    background:linear-gradient(170deg,rgba(255,255,255,.06),rgba(255,255,255,.015));border:1px solid rgba(255,255,255,.12);
    transition:transform .25s var(--ease),box-shadow .35s,border-color .35s;will-change:transform;color:var(--paper-on-dark);text-decoration:none}
  .certcard::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--sonne),var(--sonne-hell))}
  .certcard:hover{border-color:var(--sonne);box-shadow:0 24px 56px -30px var(--sonne);transform:translateY(-3px)}
  .certcard .logo{flex:0 0 auto;width:96px;height:74px;background:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:10px;box-shadow:0 8px 20px -12px rgba(0,0,0,.6)}
  .certcard .logo img{max-width:100%;max-height:100%;object-fit:contain;display:block}
  .certcard .cb{flex:1}
  .certcard .cb .ck{font-family:"Space Mono",monospace;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--sonne-hell)}
  .certcard .cb p{font-size:.9rem;line-height:1.45;margin:3px 0 7px;color:var(--paper-on-dark)}
  .certcard .cb .doc{font-family:"Space Mono",monospace;font-size:.7rem;letter-spacing:.04em;color:var(--sonne);display:inline-flex;align-items:center;gap:7px}
  .certcard .cb .doc svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}
  .certcard .shine{position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 32%,rgba(255,255,255,.14) 47%,transparent 60%);transform:translateX(-130%);animation:cshine 6s ease-in-out infinite}
  .certcard:nth-child(2) .shine{animation-delay:.5s}.certcard:nth-child(3) .shine{animation-delay:1s}.certcard:nth-child(4) .shine{animation-delay:1.5s}.certcard:nth-child(5) .shine{animation-delay:2s}.certcard:nth-child(6) .shine{animation-delay:2.5s}
  .certcard:hover .shine{animation-duration:1.5s}
  @media(max-width:760px){.certlist{grid-template-columns:1fr}}
  @media(prefers-reduced-motion:reduce){.certcard .shine{animation:none!important}}


  /* ===== Zertifikat-Overlay ===== */
  .certlb{position:fixed;inset:0;z-index:2000;background:rgba(12,10,7,.94);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:none;overflow-y:auto;padding:64px 14px 44px;-webkit-overflow-scrolling:touch}
  .certlb.open{display:block}
  .certlb-inner{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:14px}
  .certlb-inner img{width:100%;height:auto;border-radius:6px;background:#fff;box-shadow:0 30px 80px -30px rgba(0,0,0,.85)}
  .certlb-close{position:fixed;top:14px;right:14px;z-index:2002;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.28);background:rgba(0,0,0,.55);color:#fff;font-size:26px;line-height:42px;text-align:center;cursor:pointer;font-family:inherit;padding:0}
  .certlb-close:hover{background:rgba(0,0,0,.85)}
  .certlb-hint{position:fixed;top:22px;left:0;right:0;text-align:center;color:rgba(255,255,255,.55);font-family:"Space Mono",monospace;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;pointer-events:auto}
  body.lb-open{overflow:hidden}

  .certcard{cursor:pointer}
  .fbrand .flogo{height:62px;width:auto;display:block}
  .igtile svg{width:40%;height:40%;color:var(--sonne);opacity:.5;fill:none;stroke:currentColor;stroke-width:1.4}

  /* ===== Instagram-CTA ===== */
  .igcta{display:flex;align-items:center;gap:26px;background:#FCFAF4;border:1px solid var(--sand-line);border-radius:var(--radius);padding:30px 34px;text-decoration:none;color:var(--ink);transition:transform .25s var(--ease),box-shadow .3s,border-color .3s}
  .igcta:hover{transform:translateY(-4px);border-color:var(--sonne);box-shadow:0 28px 58px -30px rgba(28,21,9,.42)}
  .igcta-ic{flex:0 0 auto;width:76px;height:76px;border-radius:20px;background:linear-gradient(45deg,#F58529,#DD2A7B,#8134AF);display:flex;align-items:center;justify-content:center;box-shadow:0 16px 34px -14px rgba(221,42,123,.55)}
  .igcta-ic svg{width:40px;height:40px;fill:none;stroke:#fff;stroke-width:2}
  .igcta-tx{flex:1;min-width:0}
  .igcta-tx h3{font-size:1.55rem;margin:10px 0 7px;hyphens:none;-webkit-hyphens:none}
  .igcta-tx p{color:var(--ink-soft);font-size:1rem;max-width:50ch;line-height:1.55}
  .igcta-btn{flex:0 0 auto;white-space:nowrap}
  @media(max-width:760px){.igcta{flex-direction:column;text-align:center;align-items:center;padding:30px 24px}.igcta-tx .eyebrow{justify-content:center}.igcta-btn{width:100%;justify-content:center}}


  .ref .img{border:0;padding:0;width:100%;cursor:zoom-in;font:inherit;overflow:hidden}
  .ref .img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s var(--ease)}
  .ref .img:hover img{transform:scale(1.045)}


  .hero-top{margin-bottom:26px}
  .hero-intro{max-width:780px;margin-bottom:40px}
  .hero-right{display:flex}
  .hero-media{height:100%;min-height:300px;border-radius:10px;overflow:hidden;border:1px solid rgba(231,206,146,.14);box-shadow:0 38px 80px -34px rgba(0,0,0,.75);margin:0}
  .hero-media img{width:100%;height:100%;object-fit:cover;display:block}
  .hero-card{padding:26px 28px;margin-top:0}


/* ===== Anpassungen fuer die Mehrseiten-Struktur ===== */
a.svc{display:block;text-decoration:none}
a.brand{text-decoration:none;color:inherit}
.page{display:block;animation:fade .4s var(--ease)}


/* ===== Einzeilige Ueberschriften auf grossen Fenstern =====
   Ab 1011 px Fensterbreite wird die Schriftgroesse an die Textlaenge gekoppelt,
   damit die Ueberschrift nicht umbricht. Darunter greift wieder die normale
   responsive Groesse, damit auf Handy und Tablet nichts aus dem Bild laeuft. */
@media (min-width:1011px){
  #home .hero h1 .nb{white-space:nowrap}
  #home .hero h1{font-size:max(2.2rem, min(calc((100vw - 48px) * 0.051997), 56.78px))}
  #privat .subhero h1{font-size:max(2.1rem, min(calc((100vw - 48px) * 0.044555), 48.66px))}
  #gewerblich .subhero h1{font-size:max(2.1rem, min(calc((100vw - 48px) * 0.034692), 37.88px))}
  #mieterstrom .subhero h1{font-size:max(2.1rem, min(calc((100vw - 48px) * 0.050511), 55.16px))}
  #speicher .subhero h1{font-size:max(2.1rem, min(calc((100vw - 48px) * 0.042079), 45.95px))}
  #wallbox .subhero h1{font-size:max(2.1rem, min(calc((100vw - 48px) * 0.039883), 43.55px))}
  #intelligent .subhero h1{font-size:max(2.1rem, min(calc((100vw - 48px) * 0.037804), 41.28px))}
  #referenzen .subhero h1{font-size:max(2.1rem, min(calc((100vw - 48px) * 0.049033), 53.55px))}
  #ueber .subhero h1{font-size:max(2.1rem, min(calc((100vw - 48px) * 0.032968), 36.0px))}
  #kontakt .subhero h1{font-size:max(2.1rem, min(calc((100vw - 48px) * 0.050511), 55.16px))}
}

/* ===== Leistungs-Unterseiten: einheitlicher Blockabstand =====
   Vorher stiessen unterschiedliche Innenabstaende aufeinander (124 + 84 px),
   dadurch entstanden Luecken zwischen 161 und 238 px. Jetzt hat jeder Block
   denselben Abstand; zwei Bloecke auf gleichem Hintergrund teilen sich einen. */
body.leistung section.pad,
body.leistung section.pad-sm{padding:64px 0}
body.leistung section.pad:not(.dark) + section.pad:not(.dark),
body.leistung section.pad:not(.dark) + section.pad-sm:not(.dark),
body.leistung section.pad-sm:not(.dark) + section.pad:not(.dark),
body.leistung section.pad-sm:not(.dark) + section.pad-sm:not(.dark){padding-top:0}
/* letzter Abstandhalter innerhalb eines Blocks erzeugt sonst zusaetzliche Luft */
body.leistung .mcat:last-child{margin-bottom:0}

@media (max-width:680px){
  body.leistung section.pad,
  body.leistung section.pad-sm{padding:44px 0}
}

/* ===== Fusszeile: vier Spalten passen auf schmalen Displays nicht nebeneinander =====
   Vorher liefen "Unternehmen" und "Kontakt" aus dem Bild heraus und wurden abgeschnitten. */
@media (max-width:860px){
  .fgrid{grid-template-columns:1fr 1fr;gap:28px 32px}
}
@media (max-width:520px){
  .fgrid{grid-template-columns:1fr;gap:26px}
}
/* Impressum / Datenschutz in der Fusszeile nebeneinander statt untereinander */
.fbottom .mono a{display:inline;padding:0}

/* ===== Leistungs-Unterseiten: Kaesten am gleichen Raster ausrichten =====
   Die Reihe "Text + Kasten" lief vorher auf 1.1fr / .9fr mit 48 px Abstand,
   die Kartenreihen darunter auf 1fr / 1fr mit 22 px. Dadurch standen die
   Kaesten versetzt und unterschiedlich breit. Jetzt gleiches Raster. */
body.leistung .frow2{grid-template-columns:1fr 1fr;gap:22px}
body.leistung .frow2.rev{grid-template-columns:1fr 1fr}
@media (max-width:980px){
  body.leistung .frow2,body.leistung .frow2.rev{grid-template-columns:1fr}
}
