:root{--rubin:#8b1e2d;--rubin-deep:#6f1622;--red-bright:#cf4255;--anthra:#2b2b2b;--ink:#1a1a1a;--white:#ffffff;--paper:#f5f4f2;--concrete:#ecebe7;--text:#232323;--muted:#6a6a6e;--line:#e4e2dd;--line-dark:#3a3a3e;--maxw:1180px;--radius:4px;--shadow:0 24px 60px -28px rgba(20,20,22,.45);--ease:cubic-bezier(.2,.7,.2,1);--ff-display:"Montserrat",-apple-system,Segoe UI,sans-serif;--ff-body:"Montserrat",-apple-system,Segoe UI,sans-serif}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--ff-body);color:var(--text);background:var(--paper);line-height:1.65;font-size:1.0625rem;font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:hidden}img{max-width:100%;display:block;height:auto}a{color:inherit;text-decoration:none}ul{list-style:none}.hazard{height:5px;background:linear-gradient(90deg,var(--rubin) 0 70%,var(--anthra) 70%)}.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:clamp(20px,5vw,40px)}.section{padding:clamp(64px,9vw,120px) 0}.eyebrow{font-family:var(--ff-display);font-weight:700;text-transform:uppercase;letter-spacing:.2em;font-size:.78rem;color:var(--rubin);display:inline-flex;align-items:center;gap:.6rem}.eyebrow::before{content:"";width:34px;height:2px;background:var(--rubin)}.eyebrow.light{color:var(--red-bright)}.eyebrow.light::before{background:var(--red-bright)}h1,h2,h3,h4{font-family:var(--ff-display);font-weight:800;line-height:1.06;letter-spacing:-.01em}h1{font-size:clamp(2.5rem,6vw,4.7rem);text-transform:uppercase}h2{font-size:clamp(1.9rem,4.2vw,3.2rem);text-transform:uppercase}h3{font-size:clamp(1.3rem,2.4vw,1.7rem)}p{max-width:62ch}.btn{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--ff-display);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:.9rem;padding:1rem 1.6rem;border:2px solid transparent;border-radius:var(--radius);cursor:pointer;transition:transform .25s var(--ease),background .25s,color .25s,border-color .25s}.btn svg{width:18px;height:18px}.btn-primary{background:var(--rubin);color:var(--white)}.btn-primary:hover{transform:translateY(-3px);background:var(--rubin-deep)}.btn-ghost{background:transparent;color:var(--white);border-color:rgba(255,255,255,.4)}.btn-ghost:hover{border-color:var(--white);background:var(--white);color:var(--anthra);transform:translateY(-3px)}.btn-dark{background:var(--anthra);color:var(--white)}.btn-dark:hover{transform:translateY(-3px);background:var(--ink)}.site-head{position:sticky;top:0;z-index:50;background:var(--white);color:var(--text);border-bottom:1px solid var(--line);box-shadow:0 1px 0 rgba(0,0,0,.02),0 10px 30px -24px rgba(0,0,0,.3)}.nav{display:flex;align-items:center;justify-content:space-between;gap:2rem;height:76px}.brand{display:flex;align-items:center;gap:.6rem;font-family:var(--ff-display);font-weight:800;text-transform:uppercase;letter-spacing:.03em;font-size:1.15rem;color:var(--text)}.brand .mark{width:36px;height:36px;flex:none;object-fit:contain}.brand span{color:var(--rubin)}.nav-links{display:flex;align-items:center;gap:1.25rem}.nav-links a{font-family:var(--ff-display);font-weight:600;font-size:.86rem;text-transform:uppercase;letter-spacing:.03em;color:#4d4d50;padding:.4rem 0;position:relative}.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--text)}.nav-links a::after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:0;background:var(--rubin);transition:width .25s var(--ease)}.nav-links a:hover::after,.nav-links a[aria-current="page"]::after{width:100%}.nav-cta{padding:.7rem 1.2rem;font-size:.82rem;color:var(--white)}.nav-cta::after{display:none}.nav-toggle{display:none;background:none;border:0;cursor:pointer;flex-direction:column;gap:5px;padding:6px}.nav-toggle span{width:26px;height:2px;background:var(--text);transition:.3s}.hero{position:relative;color:var(--white);overflow:hidden;background:#191919 url("/assets/img/projekte/natursteinpflaster-kassel-herbstlaub.webp") center right/cover no-repeat}.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(18,18,20,.97) 0%,rgba(20,20,22,.9) 34%,rgba(28,28,30,.6) 66%,rgba(40,28,31,.38) 100%),radial-gradient(700px 420px at 92% -12%,rgba(139,30,45,.26),transparent 60%)}.hero::after{content:"";position:absolute;top:0;right:0;width:46%;height:100%;background:var(--rubin);opacity:.1;clip-path:polygon(40% 0,100% 0,100% 100%,6% 100%)}.hero-inner{position:relative;z-index:2;padding:clamp(70px,11vw,140px) 0 clamp(48px,7vw,90px)}.hero h1{margin:1.3rem 0}.hero h1 em{font-style:normal;color:var(--red-bright);display:block}.hero p.lead{font-size:clamp(1.05rem,1.8vw,1.3rem);color:#cdcdd1;max-width:54ch}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2.2rem}.hero-stats{display:flex;flex-wrap:wrap;gap:clamp(1.5rem,5vw,3.5rem);margin-top:clamp(2.5rem,5vw,4rem);padding-top:2rem;border-top:1px solid var(--line-dark)}.stat .num{font-family:var(--ff-display);font-weight:800;font-size:clamp(2.2rem,4vw,3rem);color:var(--red-bright);line-height:1}.stat .lab{font-size:.85rem;color:#a9a9ae;text-transform:uppercase;letter-spacing:.12em;margin-top:.4rem}.reveal{opacity:0;transform:translateY(22px);animation:rise .8s var(--ease) forwards}@keyframes rise{to{opacity:1;transform:none}}.d1{animation-delay:.05s}.d2{animation-delay:.18s}.d3{animation-delay:.31s}.d4{animation-delay:.44s}.d5{animation-delay:.57s}@media (prefers-reduced-motion:reduce){.reveal{animation:none;opacity:1;transform:none}}.head-block{max-width:760px;margin-bottom:clamp(2.4rem,5vw,3.6rem)}.head-block h2{margin-top:1rem}.head-block p{margin-top:1.1rem;color:var(--muted)}.grid{display:grid;gap:1.4rem}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}.svc{position:relative;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:2.2rem 2rem 2rem;overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}.svc::before{content:"";position:absolute;left:0;top:0;height:4px;width:0;background:var(--rubin);transition:width .35s var(--ease)}.svc:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:var(--rubin)}.svc:hover::before{width:100%}.svc .ix{font-family:var(--ff-display);font-weight:800;font-size:.9rem;color:var(--rubin);letter-spacing:.1em}.svc .ic{width:52px;height:52px;margin:1.1rem 0 1.3rem;color:var(--rubin)}.svc h3{margin-bottom:.7rem;color:var(--text)}.svc p{color:var(--muted);font-size:.98rem}.svc ul{margin-top:1.1rem;display:flex;flex-direction:column;gap:.45rem}.svc ul li{position:relative;padding-left:1.4rem;font-size:.94rem;color:var(--text)}.svc ul li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;background:var(--rubin);transform:rotate(45deg)}.svc .more{margin-top:1.5rem;display:inline-flex;align-items:center;gap:.5rem;font-family:var(--ff-display);font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:var(--rubin)}.svc .more svg{width:16px;transition:transform .25s}.svc:hover .more svg{transform:translateX(5px)}.split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}.panel{position:relative;background:var(--ink);color:var(--white);border-radius:var(--radius);padding:clamp(2rem,4vw,3.2rem);overflow:hidden}.panel::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--rubin)}.panel h3{color:var(--white)}.panel p{color:#c4c4c8}.refs{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.6rem}.refs span{border:1px solid var(--line-dark);border-radius:99px;padding:.4rem 1rem;font-size:.85rem;color:#d4d4d8}.feature-list{display:flex;flex-direction:column;gap:1.5rem}.feature{display:flex;gap:1.1rem}.feature .fic{flex:none;width:46px;height:46px;border-radius:var(--radius);background:rgba(255,255,255,.08);display:grid;place-items:center;color:var(--red-bright)}.feature .fic svg{width:24px;height:24px}.feature h4{font-family:var(--ff-display);font-size:1.1rem;margin-bottom:.25rem;color:var(--white)}.feature p{color:#bdbdc2;font-size:.96rem;margin:0}.band-dark{background:var(--anthra);color:var(--white)}.band-dark .head-block p{color:#c2c2c6}.band-amber{background:var(--rubin);color:var(--white)}.cta{background:var(--rubin);color:var(--white);position:relative;overflow:hidden}.cta::after{content:"";position:absolute;top:0;right:0;width:42%;height:100%;background:rgba(0,0,0,.12);clip-path:polygon(30% 0,100% 0,100% 100%,0 100%)}.cta .wrap{position:relative;z-index:2;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:2rem;padding-block:clamp(48px,7vw,80px)}.cta h2{max-width:18ch;color:var(--white)}.cta .eyebrow.light{color:rgba(255,255,255,.92)}.cta .eyebrow.light::before{background:rgba(255,255,255,.92)}.cta .phone{font-family:var(--ff-display);font-weight:800;font-size:clamp(1.4rem,3vw,2rem);color:var(--white);margin-top:.4rem;display:inline-block}.cta .btn-primary{background:var(--white);color:var(--rubin)}.cta .btn-primary:hover{background:var(--ink);color:var(--white)}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;counter-reset:s}.step{border-top:3px solid var(--anthra);padding-top:1.3rem}.step::before{counter-increment:s;content:"0" counter(s);font-family:var(--ff-display);font-weight:800;font-size:2.2rem;color:var(--rubin);display:block;line-height:1}.step h4{font-family:var(--ff-display);font-size:1.15rem;margin:.5rem 0 .4rem}.step p{color:var(--muted);font-size:.94rem;margin:0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem)}.info-row{display:flex;gap:1rem;padding:1.3rem 0;border-bottom:1px solid var(--line)}.info-row:last-child{border-bottom:0}.info-row .ic{flex:none;width:44px;height:44px;border-radius:var(--radius);background:var(--rubin);color:var(--white);display:grid;place-items:center}.info-row .ic svg{width:22px;height:22px}.info-row h4{font-family:var(--ff-display);font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:.2rem}.info-row a,.info-row p{font-size:1.05rem;color:var(--text);font-weight:500;margin:0}.info-row a:hover{color:var(--rubin)}.form{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.6rem,4vw,2.4rem)}.field{margin-bottom:1.1rem}.field label{display:block;font-family:var(--ff-display);font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.4rem}.field input,.field textarea,.field select{width:100%;padding:.85rem 1rem;border:1.5px solid var(--line);border-radius:var(--radius);font-family:var(--ff-body);font-size:1rem;background:var(--paper);transition:border-color .2s}.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--rubin)}.field textarea{min-height:130px;resize:vertical}.checkbox{display:flex;gap:.6rem;align-items:flex-start;font-size:.9rem;color:var(--muted)}.checkbox input{width:auto;margin-top:.25rem}.prose{max-width:760px}.prose h2{font-size:clamp(1.5rem,3vw,2rem);margin:2.4rem 0 1rem;text-transform:none}.prose h3{margin:1.8rem 0 .6rem}.prose p,.prose li{color:#3a3a40;margin-bottom:1rem;max-width:none}.prose ul{list-style:disc;padding-left:1.4rem;margin-bottom:1rem}.prose a{color:var(--rubin);text-decoration:underline}.page-head{background:var(--anthra);color:var(--white);position:relative;overflow:hidden}.page-head::after{content:"";position:absolute;top:0;right:0;width:46%;height:100%;background:var(--rubin);opacity:.16;clip-path:polygon(36% 0,100% 0,100% 100%,4% 100%)}.page-head .wrap{position:relative;z-index:2;padding-block:clamp(48px,8vw,90px)}.page-head h1{font-size:clamp(2.2rem,5vw,3.6rem)}.crumb{font-size:.85rem;color:#aeaeb3;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.1em}.crumb a:hover{color:var(--red-bright)}.site-foot{background:var(--ink);color:#aeaeb4;font-size:.95rem}.foot-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2.5rem;padding-block:clamp(48px,7vw,72px)}.site-foot .brand{margin-bottom:1.1rem;color:var(--white)}.site-foot .brand .mark{background:var(--white);padding:5px;border-radius:7px;width:40px;height:40px}.site-foot h4{font-family:var(--ff-display);color:var(--white);font-size:.9rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:1.1rem}.site-foot a:hover{color:var(--red-bright)}.foot-links{display:flex;flex-direction:column;gap:.6rem}.foot-bot{border-top:1px solid var(--line-dark);padding-block:1.4rem;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;font-size:.85rem;color:#85858b}@media (max-width:900px){.grid-3{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}.split,.contact-grid{grid-template-columns:1fr}.foot-top{grid-template-columns:1fr 1fr}}@media (max-width:1180px){.nav-links{position:fixed;inset:76px 0 auto 0;background:var(--white);flex-direction:column;align-items:flex-start;gap:0;padding:1rem clamp(20px,5vw,40px) 1.6rem;border-top:1px solid var(--line);transform:translateY(-130%);transition:transform .35s var(--ease);box-shadow:var(--shadow)}.nav-links.open{transform:none}.nav-links a{display:block;width:100%;padding:.9rem 0;border-bottom:1px solid var(--line)}.nav-links a::after{display:none}.nav-links .nav-cta{margin-top:.8rem;width:100%;justify-content:center;border:0;color:var(--white)}.nav-toggle{display:flex}.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle.open span:nth-child(2){opacity:0}.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}}@media (max-width:560px){.grid-3,.grid-2,.steps,.foot-top{grid-template-columns:1fr}h1{font-size:clamp(2.2rem,11vw,3rem)}}.gallery{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:232px;gap:1rem}.gallery figure{position:relative;margin:0;border-radius:var(--radius);overflow:hidden;height:100%;background:var(--anthra)}.gallery .span2{grid-column:span 2}.gallery .feat{grid-column:span 2;grid-row:span 2}.gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s var(--ease);cursor:zoom-in}.gallery figure:hover img{transform:scale(1.06)}.gallery figcaption{position:absolute;inset:auto 0 0 0;padding:1.6rem 1rem .85rem;color:#fff;font-family:var(--ff-display);font-weight:600;font-size:.86rem;letter-spacing:.02em;background:linear-gradient(transparent,rgba(18,18,20,.86));opacity:0;transform:translateY(10px);transition:.3s var(--ease)}.gallery figure:hover figcaption{opacity:1;transform:none}@media(max-width:900px){.gallery{grid-template-columns:1fr 1fr;grid-auto-rows:200px}.gallery .span2,.gallery .feat{grid-column:span 2;grid-row:auto}}@media(max-width:560px){.gallery{grid-template-columns:1fr;grid-auto-rows:220px}.gallery .span2,.gallery .feat{grid-column:auto}}.lb{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;background:rgba(14,14,16,.94);padding:4vw}.lb.open{display:flex}.lb img{max-width:94vw;max-height:88vh;border-radius:4px;box-shadow:0 30px 90px -20px #000}.lb .x{position:absolute;top:16px;right:20px;width:46px;height:46px;border:0;border-radius:50%;cursor:pointer;background:rgba(255,255,255,.14);color:#fff;font-size:1.7rem;line-height:1;transition:.2s}.lb .x:hover{background:var(--rubin)}.fig{margin:1.8rem 0 0;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:var(--white)}.fig img{width:100%;display:block}.fig figcaption{font-size:.8rem;color:var(--muted);padding:.6rem .9rem;font-family:var(--ff-display);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.page-head.has-photo{background-size:cover;background-position:center}.page-head.has-photo::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,rgba(20,20,22,.95) 0%,rgba(24,24,26,.8) 48%,rgba(40,28,31,.55) 100%)}.faq{max-width:820px;margin-top:clamp(1.6rem,4vw,2.4rem)}.faq details{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);margin-bottom:.8rem;overflow:hidden}.faq details[open]{border-color:var(--rubin)}.faq summary{list-style:none;cursor:pointer;padding:1.15rem 1.3rem;font-family:var(--ff-display);font-weight:700;font-size:1.02rem;color:var(--text);display:flex;align-items:center;justify-content:space-between;gap:1rem}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";font-size:1.5rem;color:var(--rubin);line-height:1;transition:transform .25s var(--ease)}.faq details[open] summary::after{transform:rotate(45deg)}.faq .a{padding:0 1.3rem 1.2rem;color:var(--muted);font-size:.98rem}.faq .a p{margin:0;max-width:70ch}.clients{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.6rem}.client{display:flex;align-items:center;justify-content:center;text-align:center;min-height:104px;padding:1.2rem;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);font-family:var(--ff-display);font-weight:800;font-size:1.12rem;letter-spacing:.01em;color:var(--anthra)}.band-dark .client{background:rgba(255,255,255,.05);border-color:var(--line-dark);color:#fff}@media(max-width:560px){.clients{grid-template-columns:1fr 1fr}}.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:1.6rem}.quote{position:relative;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:2rem 1.6rem 1.5rem}.quote::before{content:"\201C";position:absolute;top:.4rem;left:1.1rem;font-family:var(--ff-display);font-weight:800;font-size:3.4rem;line-height:1;color:var(--rubin);opacity:.22}.quote .stars{color:var(--rubin);letter-spacing:3px;font-size:.95rem;margin-bottom:.5rem}.quote p{color:var(--text);font-size:1rem;margin:0 0 1.2rem}.quote .who{display:flex;align-items:center;gap:.8rem;border-top:1px solid var(--line);padding-top:1rem}.quote .who .av{flex:none;width:44px;height:44px;border-radius:50%;background:var(--concrete);display:grid;place-items:center;font-family:var(--ff-display);font-weight:800;color:var(--rubin)}.quote .who b{font-family:var(--ff-display);font-size:.95rem;display:block;line-height:1.2}.quote .who span{font-size:.82rem;color:var(--muted)}@media(max-width:900px){.quotes{grid-template-columns:1fr}}
/* Erweiterung Wartung/Pflege und Außenanlagen */
.footer-extra-links{margin-bottom:1.2rem}
.footer-extra-links a{color:#fff;text-decoration:underline;text-underline-offset:4px}
.nav-links{gap:.82rem}
.nav-links a{font-size:.78rem}
@media (min-width:1181px){.brand{font-size:1.05rem}.nav{gap:1rem}.nav-cta{padding:.62rem .95rem}}
.check{margin-top:1rem;display:flex;flex-direction:column;gap:.65rem}
.check li{position:relative;padding-left:1.5rem}
.check li:before{content:"";position:absolute;left:0;top:.65em;width:9px;height:9px;background:var(--rubin);transform:rotate(45deg)}

/* Projektgalerie Ergänzungen */
.project-detail{padding:56px 0;border-top:1px solid rgba(0,0,0,.08)}
.project-detail h2{margin-bottom:12px}
.project-meta{font-weight:600;margin:0 0 16px}
.project-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:24px}
.project-gallery figure{margin:0;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.08)}
.project-gallery img{width:100%;height:230px;object-fit:cover;display:block}
.project-gallery figcaption{padding:10px 12px;font-size:.95rem}
.project-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px 24px;margin:18px 0}
.project-list li{margin-bottom:6px}

/* Poolprojekt Calden */
.project-detail{padding:56px 0;border-top:1px solid rgba(0,0,0,.08)}
.project-detail h2{margin-bottom:12px}
.project-meta{font-weight:600;margin:0 0 16px}
.project-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:24px}
.project-gallery figure{margin:0;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.08)}
.project-gallery img{width:100%;height:230px;object-fit:cover;display:block}
.project-gallery figcaption{padding:10px 12px;font-size:.95rem}
.project-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px 24px;margin:18px 0}
.project-list li{margin-bottom:6px}
.pool-highlight{background:#f5f4f2;border-left:4px solid #8b1e2d;padding:1.2rem 1.4rem;margin:1.4rem 0}

/* Kasselwasser Schachtsanierung */
.project-detail{padding:56px 0;border-top:1px solid rgba(0,0,0,.08)}
.project-detail h2{margin-bottom:12px}
.project-meta{font-weight:600;margin:0 0 16px}
.project-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:24px}
.project-gallery figure{margin:0;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.08)}
.project-gallery img{width:100%;height:230px;object-fit:cover;display:block}
.project-gallery figcaption{padding:10px 12px;font-size:.95rem}
.project-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px 24px;margin:18px 0}
.project-list li{margin-bottom:6px}
.public-client{background:#f5f4f2;border-left:4px solid #8b1e2d;padding:1.2rem 1.4rem;margin:1.4rem 0}

/* Leerrohrverlegung und Noteinsatz Wasserrohrbruch */
.project-detail{padding:56px 0;border-top:1px solid rgba(0,0,0,.08)}
.project-detail h2{margin-bottom:12px}
.project-meta{font-weight:600;margin:0 0 16px}
.project-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:24px}
.project-gallery figure{margin:0;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.08)}
.project-gallery img{width:100%;height:230px;object-fit:cover;display:block}
.project-gallery figcaption{padding:10px 12px;font-size:.95rem}
.project-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px 24px;margin:18px 0}
.project-list li{margin-bottom:6px}
.public-client{background:#f5f4f2;border-left:4px solid #8b1e2d;padding:1.2rem 1.4rem;margin:1.4rem 0}
.emergency-box{background:#1b1b1b;color:#fff;border-left:4px solid #8b1e2d;padding:1.2rem 1.4rem;margin:1.4rem 0}

/* Mobile-Navigation: Links sauber ohne Unterstreichungen/Trennlinien */
@media (max-width: 1180px){
  .nav-links a,
  .nav-links a:visited,
  .nav-links a:hover,
  .nav-links a:focus,
  .nav-links a[aria-current="page"]{
    text-decoration:none !important;
    background-image:none !important;
    box-shadow:none !important;
    border-bottom:0 !important;
  }
  .nav-links a::before,
  .nav-links a::after{
    content:none !important;
    display:none !important;
  }
  .nav-links a[aria-current="page"]{
    color:var(--rubin) !important;
    font-weight:800 !important;
  }
}

/* Finale Korrektur: Systemfonts statt externer Google-Fonts, stabiles Mobile-Menü */
:root{--ff-display:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;--ff-body:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
body.nav-open{overflow:hidden;touch-action:none}
@media (max-width:1180px){
  .site-head{z-index:10000}
  .nav-links{inset:76px 0 0 0;z-index:9999;min-height:calc(100dvh - 76px);max-height:calc(100dvh - 76px);overflow-y:auto;background:rgba(255,255,255,.98);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 24px 80px rgba(0,0,0,.22);transform:translateY(-115%)}
  .nav-links.open{transform:translateY(0)}
  .nav-links li{width:100%}
  .nav-toggle{position:relative;z-index:10001}
}


/* Finaler Fix: mobile Navigation, Referenzen-Galerie und Projektkarten */
body.nav-open{overflow:hidden;position:fixed;width:100%;}
@media (max-width:1180px){
  .site-head{z-index:9999;}
  .nav-links{z-index:9998;inset:76px 0 0 0;min-height:calc(100vh - 76px);overflow:auto;box-shadow:0 28px 70px rgba(0,0,0,.28);}
}
.project-teasers{padding-top:clamp(54px,7vw,88px);padding-bottom:clamp(54px,7vw,88px);}
.project-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.35rem;}
.project-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 12px 34px rgba(20,20,22,.08);}
.project-card img{width:100%;height:245px;object-fit:cover;display:block;}
.project-card-body{padding:clamp(1.25rem,3vw,1.8rem);}
.project-card-body h2{font-size:clamp(1.55rem,3vw,2.15rem);margin:.85rem 0 .8rem;}
.project-card-body p{color:var(--muted);margin-bottom:1.2rem;}
.btn-small{padding:.82rem 1.15rem;font-size:.78rem;}
@media(max-width:560px){
  .section{padding:clamp(48px,12vw,72px) 0;}
  .project-card img{height:210px;}
  .project-card-body h2{font-size:clamp(1.45rem,8vw,2rem);}
  .gallery{grid-auto-rows:230px;}
  .gallery figcaption{opacity:1;transform:none;}
}



/* Final Master Korrektur: mobiles Padding ohne Layout-Verschiebung */
@media (max-width:768px){
  .wrap{padding-left:24px !important;padding-right:24px !important;}
  .page-head .wrap,.hero-inner{padding-left:24px !important;padding-right:24px !important;}
  .panel,.form-card,.project-card-body{padding-left:24px !important;padding-right:24px !important;}
  .project-card,.form-card,.panel{max-width:100%;}
  h1,h2,h3,p,.lead{overflow-wrap:break-word;word-break:normal;}
}
