/* Standard Reinigung — site-wide visual refinement
   Loaded after the page-level styles so every template shares one visual system. */
:root{
  --sr-surface:#fff;
  --sr-surface-soft:#f8f7f3;
  --sr-border:rgba(34,31,32,.10);
  --sr-shadow-sm:0 8px 24px rgba(34,31,32,.06);
  --sr-shadow-md:0 18px 48px rgba(34,31,32,.10);
  --sr-radius:18px;
}

/* Shared inner-page hero language */
.page-hero,.blog-hero,.post-hero,.ref-hero,.bew-hero,.legal-header,.err-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:
    radial-gradient(circle at 82% 18%,rgba(245,194,0,.12),transparent 27%),
    radial-gradient(circle at 12% 90%,rgba(255,255,255,.045),transparent 30%),
    linear-gradient(145deg,#151314 0%,#221f20 58%,#171516 100%)!important;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.page-hero::after,.blog-hero::after,.post-hero::after,.ref-hero::after,.bew-hero::after,.legal-header::after,.err-hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.22;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:linear-gradient(to right,transparent,black 28%,black 72%,transparent);
}
.page-hero .container,.blog-hero .container,.post-hero .container,.ref-hero .container,.bew-hero .container,.legal-header .container,.err-hero .container{
  position:relative;
  z-index:2;
}
.page-hero h1,.blog-hero h1,.post-hero h1,.ref-hero h1,.bew-hero h1,.legal-header h1,.err-hero h1{
  text-wrap:balance;
}

/* Keep the full desktop navigation and the city-hero card inside common
   laptop widths. The page templates load this file last, so these guards are
   shared by the homepage and every city hub. */
.hero__grid{grid-template-columns:minmax(0,1fr) minmax(270px,320px);width:100%;min-width:0}
.hero__grid>*{min-width:0}

@media (max-width:1450px) and (min-width:1281px){
  .nav{padding-left:1.25rem!important;padding-right:1.25rem!important}
  .nav__logo-text{font-size:.95rem}
  .nav__links{gap:.65rem!important}
  .nav__links>a:nth-of-type(7),.nav__links>a:nth-of-type(8){display:none!important}
  .nav__cta{gap:.65rem!important}
  .hero__grid{grid-template-columns:minmax(0,1fr) 285px!important;gap:2rem!important}
  .hero h1{font-size:clamp(2.7rem,5vw,4rem)!important}
}

@media(max-width:1280px){
  .nav__links,.nav__phone,.nav__cta .btn,.nav__city-wrap,.nav__cta{display:none!important}
  .nav__mobile-icons,.nav__mobile-phone{display:flex!important}
  .nav__mobile{
    max-height:calc(100vh - 68px);
    max-height:calc(100dvh - 68px);
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
  }
  .hero__grid{grid-template-columns:minmax(0,1fr) 285px!important;gap:2rem!important}
  .hero h1{font-size:clamp(2.55rem,5.2vw,3.65rem)!important}
}

@media(max-width:860px){
  .hero__grid{grid-template-columns:1fr!important}
}
@media(min-width:861px) and (max-width:1600px){
  .hero__grid h1{font-size:clamp(2.55rem,4.2vw,3.65rem)!important;overflow-wrap:break-word}
  .hero__grid .price-card{width:100%;min-width:0}
}

/* Breadcrumbs: visibly interactive and stable on small screens */
.breadcrumb{
  width:max-content;
  max-width:100%;
  padding:.42rem .62rem;
  border:1px solid rgba(255,255,255,.10);
  border-radius:999px;
  background:rgba(8,8,8,.18);
  backdrop-filter:blur(8px);
}
.breadcrumb a{
  padding:.18rem .1rem;
  color:rgba(255,255,255,.67)!important;
  text-decoration:none;
}
.breadcrumb a:hover{color:var(--y)!important}
.breadcrumb__current{color:#fff!important;font-weight:600}
.breadcrumb__sep{color:rgba(245,194,0,.48)!important}

/* 23-city selector */
.nav__city-dropdown{
  width:min(470px,calc(100vw - 2rem));
  max-height:min(68vh,520px);
  overflow-y:auto;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.28rem;
  padding:.7rem!important;
  border-radius:16px!important;
  background:rgba(23,21,22,.985)!important;
  border-color:rgba(255,255,255,.13)!important;
  box-shadow:0 24px 60px rgba(0,0,0,.48)!important;
  scrollbar-width:thin;
  scrollbar-color:rgba(245,194,0,.5) transparent;
}
.nav__city-dropdown.open{display:grid!important}
.nav__city-dropdown::-webkit-scrollbar{width:6px}
.nav__city-dropdown::-webkit-scrollbar-thumb{background:rgba(245,194,0,.45);border-radius:99px}
.nav__city-item{
  min-height:42px;
  padding:.58rem .72rem!important;
  border:1px solid transparent;
  border-radius:10px!important;
}
.nav__city-item:hover{border-color:rgba(245,194,0,.22);background:rgba(245,194,0,.08)!important}
.nav__city-item.current{background:rgba(245,194,0,.10);border-color:rgba(245,194,0,.26)}

/* Consistent surfaces across public pages */
.blog-card,.ref-card,.bew-card,.city-svc-card,.partner-card,.cert-card,.detail-item,.sb-box,.buyer-view,.price-table,.compare-card,.faq-item,.form-card,.price-sb,.sb-card{
  border-radius:var(--sr-radius)!important;
}
.blog-card,.ref-card,.bew-card,.city-svc-card,.partner-card,.cert-card,.detail-item,.sb-box,.buyer-view,.faq-item,.form-card,.price-sb,.sb-card{
  border-color:var(--sr-border)!important;
  box-shadow:var(--sr-shadow-sm);
}
.blog-card,.ref-card,.bew-card,.city-svc-card,.partner-card,.cert-card,.detail-item,.sb-box{
  transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease,background .24s ease;
}
.blog-card:hover,.ref-card:hover,.bew-card:hover,.city-svc-card:hover,.partner-card:hover,.cert-card:hover,.detail-item:hover,.sb-box:hover{
  transform:translateY(-4px);
  border-color:rgba(245,194,0,.38)!important;
  box-shadow:var(--sr-shadow-md);
}
.section--ow{background:linear-gradient(180deg,#faf9f6 0%,#f6f4ee 100%)}
.section>.container>h2,.section>.container>.tc h2{text-wrap:balance}

/* Service hubs: the four core cities, followed by all remaining locations */
.cities-grid--priority{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.cities-grid--priority .city-svc-card{grid-column:auto}
.cities-grid--priority .city-svc-card{padding:1.35rem;background:linear-gradient(145deg,#fff,#fbfaf6)}
.cities-grid--priority .city-svc-card h3{display:flex;align-items:flex-start;gap:.45rem;line-height:1.35}
.cities-grid--compact{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem!important;margin-top:0!important}
.city-svc-card--compact{
  min-height:68px;
  padding:.82rem .95rem!important;
  display:grid!important;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:.75rem;
  background:rgba(255,255,255,.82)!important;
}
.city-svc-card--compact h3{font-size:.84rem!important;line-height:1.35;margin:0!important;display:flex;align-items:flex-start;gap:.4rem}
.city-svc-card--compact h3 svg{flex:0 0 auto;margin-top:.1rem;color:#9a7b00}
.city-svc-card--compact p{display:none}
.city-svc-card--compact .arr{font-size:1rem!important;margin:0!important;color:#9a7b00}
.city-svc-card--compact .arr::after{content:none}
.service-overview-grid{max-width:980px!important;margin:0 auto}
.service-overview-grid>div:last-child{padding:1rem;border-radius:var(--sr-radius);background:var(--sr-surface-soft);border:1px solid var(--sr-border)}
.service-related-guide .container{
  padding:clamp(1.5rem,3.5vw,2.25rem);
  border:1px solid var(--sr-border);
  border-radius:22px;
  background:linear-gradient(145deg,#fff,#fbfaf6);
  box-shadow:var(--sr-shadow-sm);
}
.service-related-guide .btn{max-width:100%;white-space:normal;text-align:left;line-height:1.35}
.service-hub-form>.container{max-width:980px;text-align:center}
.service-hub-form__notice{margin:0 auto 1.25rem;text-align:left}
.service-hub-form__card{margin:0 auto;text-align:left;box-shadow:0 24px 60px rgba(0,0,0,.24)}

/* Local service pages: clearer reading hierarchy and stronger decision cards */
.content-grid{gap:clamp(2rem,4vw,3.5rem)!important}
.main-content{min-width:0}
.main-content h2{
  display:block!important;
  width:100%;
  border-bottom:0!important;
  padding-bottom:0!important;
  font-size:clamp(1.45rem,2.35vw,1.85rem)!important;
  font-weight:700!important;
  line-height:1.16!important;
  letter-spacing:-.025em;
  text-wrap:balance;
}
.main-content h2::before{
  content:"";
  display:block;
  width:36px;
  height:3px;
  margin-bottom:.75rem;
  border-radius:99px;
  background:var(--y);
}
.main-content>p{max-width:72ch}
.svc-facts-box{
  gap:0!important;
  padding:.55rem!important;
  border-radius:14px!important;
  background:linear-gradient(145deg,#fff9dd,#fbfaf5)!important;
  box-shadow:0 8px 24px rgba(34,31,32,.05);
}
.svc-fact{display:flex;min-height:68px;flex-direction:column;justify-content:center}
.buyer-view{
  padding:1.45rem!important;
  background:linear-gradient(145deg,#fbfaf6,#fff)!important;
  box-shadow:var(--sr-shadow-sm);
}
.buyer-view__grid{counter-reset:buyer-card}
.buyer-view__card{
  counter-increment:buyer-card;
  position:relative;
  padding:2.15rem .95rem .95rem!important;
  min-height:132px;
  box-shadow:0 5px 16px rgba(34,31,32,.045);
}
.buyer-view__card::before{
  content:"0" counter(buyer-card);
  position:absolute;
  top:.72rem;
  left:.9rem;
  font-family:"Syne",sans-serif;
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.08em;
  color:#8a6e00;
}
.content-cta{
  border-radius:18px!important;
  background:linear-gradient(145deg,#fbfaf6,#fff)!important;
  box-shadow:var(--sr-shadow-sm);
}
.other-cities-section{border-radius:18px!important;background:linear-gradient(145deg,#f8f7f3,#fff)!important}
.sidebar .price-sb,.sidebar .sb-kontakt,.sidebar .sb-card{border-radius:18px!important}
.sidebar .price-sb{box-shadow:0 18px 46px rgba(23,21,22,.22)!important}

/* Blog and article reading experience */
.blog-grid{gap:1.25rem!important}
.blog-card{border-width:1px!important;min-height:100%}
.blog-card__icon{
  height:145px!important;
  background:
    radial-gradient(circle at 50% 45%,rgba(245,194,0,.18),transparent 34%),
    linear-gradient(145deg,#fbfaf6,#f2f0e8)!important;
  border-bottom:1px solid rgba(34,31,32,.06);
}
.blog-card__title{font-size:1.08rem!important;line-height:1.4!important;text-wrap:balance}
.blog-card__read{display:inline-flex;align-items:center;gap:.3rem;color:#735d00!important}
.topic-filter{
  padding:.45rem;
  width:max-content;
  max-width:100%;
  border:1px solid var(--sr-border);
  border-radius:999px;
  background:rgba(255,255,255,.72);
  box-shadow:0 8px 24px rgba(0,0,0,.08);
}
.topic-btn{border-color:transparent!important;background:transparent!important;min-height:38px}
.topic-btn:hover,.topic-btn.active{background:var(--y)!important}
.post-layout{gap:clamp(2rem,5vw,4rem)!important}
.post-content{min-width:0}
.post-content h2{font-size:clamp(1.3rem,2.4vw,1.65rem)!important;margin-top:2.5rem!important;text-wrap:balance}
.post-content h2::before{content:"";display:block;width:38px;height:3px;margin-bottom:.65rem;border-radius:99px;background:var(--y)}
.post-content p{font-size:clamp(.94rem,1.25vw,1rem)!important;line-height:1.85!important}
.post-content a{color:#6e5900;text-decoration:underline;text-decoration-color:rgba(245,194,0,.65);text-underline-offset:3px}
.post-sidebar{top:76px!important}
.sb-box{padding:1.25rem!important;background:linear-gradient(145deg,#fff,#fbfaf6)!important}
.tip-box{border-left-width:4px!important;border-radius:0 14px 14px 0!important;box-shadow:var(--sr-shadow-sm)}

/* About, reviews and references */
.founder-wrap{border:1px solid rgba(255,255,255,.08);box-shadow:0 26px 70px rgba(23,21,22,.22)}
.value-card{border-radius:var(--sr-radius)!important}
.values-grid,.cert-grid{gap:1rem!important}
.cert-card{background:linear-gradient(145deg,#fff,#fbfaf6)!important;padding:1.15rem!important}
.timeline{max-width:720px}
.tl-item{padding-bottom:2.2rem!important}
.bew-grid,.ref-grid{gap:1.15rem!important}
.bew-card,.ref-card{border-width:1px!important}
.bew-card{padding:1.35rem!important;background:linear-gradient(145deg,#fff,#fbfaf6)!important}
.bew-guide-card{border-top:3px solid var(--y)!important;background:#fff!important;padding:1.4rem!important}
.bew-guide-card:hover,.ref-card:hover{transform:none!important;box-shadow:var(--sr-shadow-sm)!important}
.ref-card__header{background:linear-gradient(145deg,#191718,#2a2627)!important}
.ref-stats{border-radius:22px!important;background:radial-gradient(circle at 50% 0,rgba(245,194,0,.11),transparent 42%),#171516!important}
.myhammer-box{border-radius:20px!important;box-shadow:0 20px 50px rgba(23,21,22,.18)}

/* Prices */
.price-hero-card{border-radius:22px!important;box-shadow:0 22px 55px rgba(0,0,0,.2)!important}
.price-table{border-width:1px!important;box-shadow:var(--sr-shadow-md)!important}
.price-table th:first-child{border-radius:16px 0 0 0}
.price-table th:last-child{border-radius:0 16px 0 0}
.price-table tr:hover td{background:#fff9dc!important}
.compare-card{box-shadow:var(--sr-shadow-sm)}
@media(max-width:600px){
  .price-table td:nth-child(3),.price-table td:nth-child(4){padding-top:.4rem!important;color:#4e4844!important;font-size:.8rem!important;line-height:1.5!important}
  .price-table td:nth-child(3)::before,.price-table td:nth-child(4)::before{display:block;margin-bottom:.12rem;color:#6d5700;font-size:.64rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
  .price-table td:nth-child(3)::before{content:"Wichtige Angaben"}
  .price-table td:nth-child(4)::before{content:"Vorab klären"}
}

/* Contact and forms */
.kontakt-grid{gap:clamp(2rem,6vw,4.5rem)!important}
.detail-item{background:linear-gradient(145deg,#fff,#fbfaf6)!important}
.detail-item:hover{transform:translateY(-3px)!important}
.form-card{border:1px solid var(--sr-border);box-shadow:var(--sr-shadow-md)!important}
.form-card__head{padding:1.45rem clamp(1.25rem,4vw,2.5rem)!important;background:radial-gradient(circle at 90% 0,rgba(245,194,0,.13),transparent 38%),linear-gradient(145deg,#211e1f,#302b2c)!important}
.form-card__body{padding:1.5rem clamp(1.25rem,4vw,2.5rem) 1.75rem!important}
.fg input,.fg select,.fg textarea{
  border-radius:11px!important;
  background:#fbfaf7!important;
  border-color:rgba(34,31,32,.13)!important;
}
.fg input:focus,.fg select:focus,.fg textarea:focus{background:#fff!important;border-color:var(--y)!important}
.form-trust{border-radius:12px!important}
.inline-form .form-wrap{box-shadow:0 26px 70px rgba(0,0,0,.24)}

/* FAQ and legal pages */
.faq-list,.faq-wrap{max-width:860px;margin-left:auto;margin-right:auto}
.faq-item{overflow:hidden;background:#fff}
.faq-q{min-height:58px}
.legal-body{max-width:860px!important}
.legal-section{
  padding:1.35rem 1.45rem;
  margin-bottom:1rem!important;
  border:1px solid var(--sr-border);
  border-radius:16px;
  background:#fff;
  box-shadow:var(--sr-shadow-sm);
}
.legal-section h2{border-bottom:0!important;display:block!important;position:relative;padding-bottom:.7rem!important}
.legal-section h2::after{content:"";position:absolute;left:0;bottom:0;width:42px;height:3px;border-radius:99px;background:var(--y)}
.toc{border:1px solid var(--sr-border);border-radius:16px!important;box-shadow:var(--sr-shadow-sm)}
.info-box,.warn-box{border-radius:12px!important}

/* Footer: the markup contains five content blocks, so the grid does too */
.footer__grid{
  grid-template-columns:minmax(210px,1.55fr) minmax(230px,1.35fr) repeat(3,minmax(120px,.82fr))!important;
  gap:clamp(1.25rem,2.4vw,2rem)!important;
  align-items:start;
}
.footer__brand p{max-width:360px!important}
#footerLeistungen{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.55rem .9rem!important;
}
#footerLeistungen a{font-size:.77rem!important;line-height:1.35}
.footer__col a{line-height:1.45}
.footer__all-services{display:none!important}
.footer__bottom{margin-top:1.5rem!important}
.footer__bottom-links{align-items:center!important;flex-wrap:wrap!important;gap:.3rem .45rem!important}
.footer__bottom-links a,.footer__bottom-links .footer__cookie-settings{display:inline-flex!important;align-items:center!important;gap:.42rem!important;min-height:36px!important;padding:.42rem .62rem!important;border:1px solid transparent!important;border-radius:9px!important;background:transparent!important;color:rgba(255,255,255,.72)!important;font:600 .78rem/1.3 "DM Sans",sans-serif!important;text-decoration:none!important;white-space:nowrap!important;cursor:pointer!important;transition:color .2s,background .2s,border-color .2s!important}
.footer__bottom-links .footer__cookie-settings{border-color:rgba(245,194,0,.3)!important;background:rgba(245,194,0,.08)!important;color:#f3d66b!important}
.footer__cookie-settings svg{display:block;flex:none}
.footer__bottom-links a:hover,.footer__bottom-links .footer__cookie-settings:hover{color:#fff!important;background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.2)!important}
.footer__bottom-links a:focus-visible,.footer__bottom-links .footer__cookie-settings:focus-visible{outline:2px solid #f5c200!important;outline-offset:2px!important}
@media(max-width:620px){.footer__bottom-links{justify-content:flex-start!important}.footer__bottom-links a,.footer__bottom-links .footer__cookie-settings{font-size:.76rem!important}}

/* 404 */
.err-code{text-shadow:0 12px 40px rgba(245,194,0,.24)}
.err-link-card{border-radius:16px!important;min-height:150px}
.err-link-card:hover{transform:translateY(-3px);box-shadow:0 18px 45px rgba(0,0,0,.18)}

@media(max-width:1100px){
  .footer__grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .footer__brand{grid-column:1/-1!important}
  .footer__brand p{max-width:520px!important}
}

@media(max-width:820px){
  .breadcrumb{flex-wrap:nowrap!important;overflow-x:auto;white-space:nowrap;scrollbar-width:none;width:auto}
  .breadcrumb::-webkit-scrollbar{display:none}
  .post-layout{padding-top:2.25rem!important}
  .footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .footer__brand{grid-column:1/-1!important}
  .cities-grid--priority{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cities-grid--priority .city-svc-card{grid-column:auto}
  .cities-grid--compact{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:620px){
  .page-hero,.blog-hero,.post-hero,.ref-hero,.bew-hero,.legal-header{padding-top:calc(68px + 1.5rem)!important;padding-bottom:1.6rem!important}
  .breadcrumb{
    width:100%!important;
    margin-bottom:.85rem!important;
    padding:.42rem .55rem!important;
    border-radius:12px;
    flex-wrap:wrap!important;
    white-space:normal!important;
    overflow:visible!important;
    row-gap:.22rem!important;
    line-height:1.35;
  }
  .breadcrumb a,.breadcrumb__current{overflow-wrap:normal!important;word-break:normal!important}
  .topic-filter{width:100%;overflow-x:auto;flex-wrap:nowrap;border-radius:14px;scrollbar-width:none;scroll-snap-type:x proximity}
  .topic-filter::-webkit-scrollbar{display:none}
  .topic-btn{white-space:nowrap;flex:0 0 auto;scroll-snap-align:start}
  .cities-grid--priority,.cities-grid--compact{grid-template-columns:1fr}
  .cities-grid--priority .city-svc-card{grid-column:auto}
  .city-svc-card--compact{min-height:60px}
  .service-overview-grid>div:last-child{padding:.75rem}
  .service-related-guide .container{padding:1.2rem;border-radius:16px}
  .service-related-guide .btn{width:100%;justify-content:center;text-align:center}
  .service-hub-form__card{padding:1.25rem!important;border-radius:16px!important}
  .buyer-view{padding:1rem!important}
  .buyer-view__card{min-height:0;padding:2rem .8rem .8rem!important}
  .main-content h2{font-size:clamp(1.25rem,5vw,1.5rem)!important;line-height:1.2!important}
  .blog-card__icon{height:112px!important}
  .stat__num{
    font-size:clamp(.9rem,4vw,1.25rem)!important;
    white-space:nowrap!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }
  .post-content h2{margin-top:2rem!important}
  .legal-section{padding:1.05rem}
  .form-card{padding:0!important}
  .footer__grid{grid-template-columns:1fr!important;gap:1.5rem!important}
  .footer__brand{grid-column:auto!important}
  #footerLeistungen{grid-template-columns:1fr 1fr}
  .footer .footer__all-services{display:inline-flex!important;align-items:center;min-height:40px;margin-top:.75rem;padding:.45rem .7rem!important;border:1px solid rgba(245,194,0,.28);border-radius:9px;background:rgba(245,194,0,.09);color:#f3d66b!important;font-weight:700;line-height:1.35}
}

@media(max-width:420px){
  .nav{padding-left:.85rem!important;padding-right:.85rem!important}
  .nav__logo{gap:.45rem!important;min-width:0}
  .nav__logo img{width:32px!important;height:32px!important;flex:0 0 32px}
  .nav__logo-text{font-size:clamp(.82rem,4.1vw,.95rem)!important;white-space:nowrap}
  .nav__mobile-icons{gap:.4rem!important;flex:0 0 auto}
  .nav__mobile-phone{width:36px!important;height:36px!important}
  #footerLeistungen{grid-template-columns:1fr}
  .city-svc-card--compact h3{font-size:.8rem!important}
  .legal-section{border-radius:13px}
}

/* Shared reading refinements. The navigation remains transparent over each hero. */
.main-content h2,.faq-section-heading,.sidebar .sb-card h3,.sidebar .price-big{
  font-family:"DM Sans",sans-serif!important;
  letter-spacing:-.02em!important;
  text-shadow:none!important;
}
.faq-section-heading{font-size:clamp(1.05rem,1.6vw,1.3rem)!important;line-height:1.35!important}
.sidebar .sb-card h3{font-size:.84rem!important;letter-spacing:.04em!important;opacity:1}
.sidebar .price-big{line-height:1.2!important}
.content-cta .cta-about-link{
  width:auto!important;
  flex-basis:100%;
  justify-self:center;
  justify-content:center;
  padding:.15rem .35rem!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  text-decoration:underline!important;
  text-decoration-color:rgba(154,113,0,.45)!important;
  text-underline-offset:4px;
}
.content-cta .cta-about-link:hover{color:#6f5500!important;text-decoration-color:var(--y)!important}
.inline-form>.container{max-width:980px;text-align:center}
.inline-form .sub{max-width:720px;margin-left:auto;margin-right:auto}
.inline-form .form-wrap{max-width:760px;margin-left:auto;margin-right:auto;text-align:left}

/* The home process and buyer-benefit cards keep their information readable. */
#ablauf{padding-top:4.75rem;padding-bottom:4.75rem}
#ablauf .process-steps{margin-top:2rem}
#ablauf .process-step p{font-size:.84rem;color:rgba(255,255,255,.72);line-height:1.6}
#ablauf .why-card p{font-size:.86rem;color:rgba(255,255,255,.72);line-height:1.65}
#ablauf .process-followup{margin-top:3rem;padding-top:3rem}

/* Blog cards use a compact icon band instead of a large empty image placeholder. */
.blog-card__icon{height:84px!important;justify-content:flex-start!important;padding:1.2rem 1.4rem!important;background:linear-gradient(110deg,#fbfaf6,#f4f0e3)!important}
.blog-card__icon svg{width:36px;height:36px;padding:7px;border-radius:10px;background:#fff8dc;border:1px solid rgba(245,194,0,.35);color:#8a6e00}
.blog-card__cat{color:#795f00!important}
.blog-card{position:relative}
.blog-card__read::after{content:"";position:absolute;inset:0}
.blog-card:focus-within{outline:3px solid var(--y);outline-offset:3px;box-shadow:var(--sr-shadow-md)}
@media(max-width:420px){.blog-card__footer{flex-wrap:wrap;gap:.35rem .75rem}}

/* About page: factual highlights, with numbers no louder than the explanation. */
.about-intro-section{padding-top:3rem}
.about-intro-section .stats-row{gap:.75rem;padding:.8rem;margin:0 0 2.75rem;background:#faf9f4;border-color:rgba(34,31,32,.1);box-shadow:0 10px 30px rgba(34,31,32,.05)}
.about-intro-section .stats-row>div{padding:1rem .65rem;background:#fff;border:1px solid rgba(34,31,32,.08);border-radius:12px}
.about-intro-section .stat-big{font-family:"DM Sans",sans-serif;font-size:clamp(1.35rem,2.4vw,1.8rem);font-weight:800;line-height:1.15;letter-spacing:-.035em;color:var(--dk);text-shadow:none}
.about-intro-section .stat-lbl{font-size:.8rem;line-height:1.4;color:#5f5955}

@media(max-width:620px){
  #ablauf{padding-top:3rem;padding-bottom:3rem}
  #ablauf .process-step p{font-size:.78rem}
  #ablauf .why-card p{font-size:.76rem}
  .blog-card__icon{height:72px!important;padding:1rem 1.2rem!important}
  .about-intro-section{padding-top:2rem}
  .about-intro-section .stats-row{grid-template-columns:repeat(2,minmax(0,1fr));padding:.6rem;gap:.6rem;margin-bottom:2rem}
  .about-intro-section .stats-row>div{padding:.85rem .5rem}
  .content-cta .cta-about-link{width:100%!important}
}

@media(hover:none){
  .blog-card:hover,.ref-card:hover,.bew-card:hover,.city-svc-card:hover,.partner-card:hover,.cert-card:hover,.detail-item:hover,.sb-box:hover{transform:none}
}

@media(prefers-reduced-motion:reduce){
  .blog-card,.ref-card,.bew-card,.city-svc-card,.partner-card,.cert-card,.detail-item,.sb-box{transition:none}
}

/* Keep city/home hero content and its inquiry card inside intermediate viewports. */
@media(min-width:861px) and (max-width:1360px){
  .hero__grid{grid-template-columns:minmax(0,1fr) 290px!important;gap:clamp(1.25rem,2vw,2rem)!important}
  .hero__grid>*{min-width:0}
  .hero__grid h1{font-size:clamp(2.7rem,4.2vw,3.65rem)!important;overflow-wrap:break-word}
  .hero__grid .price-card{width:100%;min-width:0}
}
@media(min-width:861px) and (max-width:1100px){
  .hero__grid{grid-template-columns:minmax(0,1fr)!important}
  .hero__grid .price-card{display:none!important}
}

/* The about-page facts must be legible on their light cards. */
.about-intro-section .stat-big{color:#2b2726!important;font-family:"DM Sans",sans-serif!important;font-size:clamp(1.35rem,2.4vw,1.8rem)!important;text-shadow:none!important}
.about-intro-section .stat-lbl{color:#5f5955!important}

/* Long article headings should follow the calmer service-page typography. */
.post-content h2,.post-content h3,.post-sidebar h3,.post-content .article-summary>strong{
  font-family:"DM Sans",sans-serif!important;
  letter-spacing:-.02em!important;
  text-shadow:none!important;
}
.post-content h2{font-weight:800!important;line-height:1.3!important}
.post-content h3{font-size:1.02rem!important;line-height:1.4!important}
.post-sidebar h3{font-size:.94rem!important;line-height:1.35!important}

@media(max-width:600px){
  .sr-local-service .breadcrumb{flex-wrap:wrap!important;overflow:visible!important;white-space:normal!important;row-gap:.25rem}
  .sr-local-service .breadcrumb__current{white-space:normal;overflow-wrap:break-word!important}
}

/* One readable row per value on small screens, rather than two cramped columns. */
@media(max-width:480px){
  .values-grid{grid-template-columns:minmax(0,1fr)!important;gap:.7rem!important;margin-top:1.5rem!important}
  .value-card{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:.85rem;align-items:start;padding:1rem!important;text-align:left}
  .value-icon{grid-row:1/span 2;width:44px;height:44px;margin:0}
  .value-card h3{margin:0 0 .25rem;font-size:.95rem;line-height:1.35}
  .value-card p{grid-column:2;font-size:.8rem;line-height:1.5;color:rgba(255,255,255,.7)}
}

/* The same calm FAQ on the homepage, city hubs, prices, reviews and references. */
.faq-list{display:block!important;overflow:hidden!important;max-width:800px;margin-left:auto;margin-right:auto;border:1px solid #e8e3d9;border-radius:15px;box-shadow:0 6px 22px rgba(34,31,32,.045)}
.faq-list>.faq-item{margin:0;border:0!important;border-bottom:1px solid #eeeae2!important;border-radius:0!important;background:#fff!important;box-shadow:none!important}
.faq-list>.faq-item:last-child{border-bottom:0!important}
.faq-list>.faq-item:hover{background:#fffefa!important;box-shadow:none!important}
.faq-list>.faq-item.open{background:#fffcf3!important}
.faq-list>.faq-item>.faq-q{min-height:60px;padding:1rem 1.2rem!important;color:#292524!important;font-size:.92rem!important;font-weight:700!important;line-height:1.45!important}
.faq-list>.faq-item>.faq-q:focus-visible{outline:2px solid #9f7700;outline-offset:-4px;border-radius:6px}
.faq-list>.faq-item .faq-icon{width:28px!important;height:28px!important;min-width:28px;border:0!important;border-radius:8px!important;background:#f6f2e8!important;color:#6e570f!important;font-size:.9rem!important}
.faq-list>.faq-item.open .faq-icon{background:#f5c200!important;color:#242122!important}
.faq-list>.faq-item .faq-a p{margin:0 1.2rem 1.15rem!important;padding:0 0 0 1rem!important;border-left:2px solid #e4b600!important;color:#514a47!important;font-size:.87rem!important;line-height:1.7!important}
@media(max-width:600px){
  .faq-list{margin-top:1rem!important;border-radius:12px;box-shadow:none}
  .faq-list>.faq-item:nth-child(n+6){display:block!important}
  .faq-list>.faq-item>.faq-q{min-height:56px;padding:.85rem .9rem!important;font-size:.86rem!important;gap:.6rem!important}
  .faq-list>.faq-item .faq-icon{width:26px!important;height:26px!important;min-width:26px}
  .faq-list>.faq-item .faq-a p{margin:0 .9rem 1rem!important;padding-left:.75rem!important;font-size:.84rem!important}
}

/* City hubs: direct path from the hero into the complete service choice. */
.sr-city-hub .hero--home .hero__grid{display:block}
.sr-city-hub .hero--home .hero__grid>div:first-child{max-width:760px}
.hub-services{padding-top:clamp(3rem,5vw,5rem);background:#fff}
.hub-services__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);align-items:end;gap:clamp(1.4rem,5vw,5rem);margin-bottom:2.2rem;padding-bottom:1.8rem;border-bottom:1px solid #e6e1d7}
.hub-services__head h2{max-width:690px;margin:.8rem 0 0!important;color:#292524!important;font-family:"DM Sans",sans-serif!important;font-size:clamp(1.85rem,3.3vw,2.8rem)!important;font-weight:800!important;line-height:1.15!important;letter-spacing:-.035em!important;text-wrap:balance}
.hub-services__help p{margin:0;color:#5a524c;font-size:.94rem;line-height:1.65}
.hub-services__help a{display:inline-flex;align-items:center;gap:.4rem;margin-top:.75rem;color:#65500b;font-size:.84rem;font-weight:800;text-decoration:underline;text-decoration-color:#c8a73b;text-underline-offset:4px}
.hub-services__help a:hover{color:#292524;text-decoration-color:currentColor}
.hub-services .svc-grid{margin-top:0}
.hub-process .process-steps{gap:0;margin-top:2rem}
.hub-process .process-step{padding:1rem 1.15rem!important;border:0!important;border-right:1px solid rgba(255,255,255,.13)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;transform:none!important}
.hub-process .process-step:last-child{border-right:0!important}
.hub-process .process-step__tag{display:none}
.hub-process .process-step p{color:rgba(255,255,255,.7)!important;font-size:.82rem;line-height:1.55}
.hub-process-links{display:flex;justify-content:center;flex-wrap:wrap;gap:.45rem 1.3rem;margin:1.7rem 0 0;padding-top:1rem;border-top:1px solid rgba(255,255,255,.13);font-size:.81rem}
.hub-process-links a{color:rgba(255,255,255,.76);text-decoration:underline;text-decoration-color:rgba(245,194,0,.55);text-underline-offset:4px}
.hub-process-links a:hover{color:#f5c200}
@media(max-width:760px){
  .sr-city-hub .hero--home{padding-bottom:2.25rem!important}
  .sr-city-hub .hero--home .hero__btns{margin-bottom:0!important;gap:.25rem!important}
  .sr-city-hub .hero--home .hero__btns .btn--outline{min-height:38px!important;padding:.45rem!important;border:0!important;background:transparent!important;box-shadow:none!important;text-decoration:underline;text-decoration-color:rgba(255,255,255,.45);text-underline-offset:4px}
  .sr-city-hub .mobile-cta-bar{padding:.28rem .48rem!important;border-top:1px solid rgba(245,194,0,.22)!important}
  .sr-city-hub .mobile-cta-bar a{min-height:44px!important;padding:.35rem .2rem!important}
  .sr-city-hub .mobile-cta-bar .mcta-sub{display:none!important}
  .hub-services{padding-top:2.5rem}
  .hub-services__head{grid-template-columns:1fr;gap:.75rem;margin-bottom:1.35rem;padding-bottom:1.2rem}
  .hub-services__head h2{margin-top:.55rem!important;font-size:clamp(1.65rem,6vw,2.15rem)!important}
  .hub-services__help p{font-size:.87rem;line-height:1.55}
  .hub-services__help a{margin-top:.5rem;font-size:.82rem}
  .hub-process .process-steps{grid-template-columns:1fr!important;gap:0!important;margin-top:1.25rem}
  .hub-process .process-step{flex-direction:row;align-items:flex-start;gap:.85rem;text-align:left;padding:.85rem 0!important;border-right:0!important;border-bottom:1px solid rgba(255,255,255,.13)!important}
  .hub-process .process-step:last-child{border-bottom:0!important}
  .hub-process .process-num{width:38px;height:38px;min-width:38px;margin:0;box-shadow:none}
  .hub-process .process-num svg{width:18px;height:18px}
  .hub-process .process-step h3{font-size:.9rem!important}
  .hub-process-links{margin-top:1rem;flex-direction:column;align-items:center;gap:.6rem}
}
