
/* BERO V26 – gemeinsames Unterseiten-System */
.site-subpage-v26 {
  --bero-sub-container: min(1180px, calc(100% - 56px));
  --bero-sub-space: clamp(4.8rem, 6.5vw, 6.15rem);
  --bero-sub-shadow: 0 24px 52px rgba(0,0,0,.10), 0 8px 18px rgba(0,0,0,.045);
}
.site-subpage-v26 .local-detail-section__inner,
.site-subpage-v26 .local-visual-story__inner,
.site-subpage-v26 .local-area-section__inner,
.site-subpage-v26 .local-process__inner,
.site-subpage-v26 .faq-section__inner,
.site-subpage-v26 .project-inquiry__inner,
.site-subpage-v26 .contact-data-section__inner,
.site-subpage-v26 .contact-info-dark__inner {
  width: var(--bero-sub-container) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.site-subpage-v26 .local-detail-section,
.site-subpage-v26 .local-visual-story,
.site-subpage-v26 .local-area-section,
.site-subpage-v26 .faq-section,
.site-subpage-v26 .project-inquiry,
.site-subpage-v26 .contact-data-section,
.site-subpage-v26 .contact-info-dark {
  padding-top: var(--bero-sub-space) !important;
  padding-bottom: var(--bero-sub-space) !important;
}
.site-subpage-v26 .local-process {
  padding-top: var(--bero-sub-space) !important;
  padding-bottom: clamp(8.25rem, 9.5vw, 9.8rem) !important;
  overflow: visible !important;
}
.site-subpage-v26 .local-section-title,
.site-subpage-v26 .local-visual-story__head h2,
.site-subpage-v26 .local-area-section h2,
.site-subpage-v26 .local-process__head h2,
.site-subpage-v26 .contact-overlap-section__title,
.site-subpage-v26 .faq-section__title,
.site-subpage-v26 .project-inquiry__title,
.site-subpage-v26 .contact-data-section h2,
.site-subpage-v26 .contact-info-dark h2 {
  font-family: "Montserrat", Arial, sans-serif !important;
  font-size: var(--bero-section-title) !important;
  line-height: 1.08 !important;
  letter-spacing: -.038em !important;
  font-weight: 600 !important;
  overflow: visible !important;
}
.site-subpage-v26 .local-section-lead,
.site-subpage-v26 .local-visual-story__head p,
.site-subpage-v26 .local-area-section p,
.site-subpage-v26 .local-process__head > p,
.site-subpage-v26 .contact-overlap-section__text,
.site-subpage-v26 .faq-section__lead,
.site-subpage-v26 .project-inquiry__text,
.site-subpage-v26 .contact-data-section p,
.site-subpage-v26 .contact-info-dark p {
  font-size: .94rem !important;
  line-height: 1.7 !important;
}
.site-subpage-v26 .local-section-title > span,
.site-subpage-v26 .local-visual-story__head h2 > span,
.site-subpage-v26 .local-process__head h2 > span,
.site-subpage-v26 .contact-overlap-section__title > span {
  display: block !important;
}
.site-subpage-v26 .local-overlap-card,
.site-subpage-v26 .contact-overlap-section__box,
.site-subpage-v26 .local-process__steps article {
  border-radius: 0 !important;
}
.site-subpage-v26 .contact-overlap-section__box {
  box-shadow: var(--bero-sub-shadow) !important;
}
.site-subpage-v26 .local-process__steps {
  gap: clamp(1rem, 1.8vw, 1.4rem) !important;
  margin-top: clamp(2.15rem, 3.5vw, 3rem) !important;
  align-items: stretch !important;
}
.site-subpage-v26 .local-process__steps article {
  min-height: 210px !important;
  padding: clamp(1.55rem, 2.4vw, 2rem) !important;
  box-shadow: 0 18px 38px rgba(0,0,0,.075), 0 6px 15px rgba(0,0,0,.035) !important;
}
.site-subpage-v26 .local-process + .contact-overlap-section {
  padding-top: 0 !important;
}
.site-subpage-v26 .local-process + .contact-overlap-section .contact-overlap-section__box {
  margin-top: -1.25rem !important;
}
.site-subpage-v26 .faq-section,
.site-subpage-v26 .faq-section__inner,
.site-subpage-v26 .faq-section__intro,
.site-subpage-v26 .faq-section__title {
  overflow: visible !important;
}
.site-subpage-v26 .faq-section__title {
  padding-top: .06em !important;
}
.site-subpage-v26 .local-service-card h3,
.site-subpage-v26 .local-process__steps h3 {
  letter-spacing: -.018em !important;
}
.site-subpage-v26 .local-service-card p,
.site-subpage-v26 .local-process__steps p {
  line-height: 1.65 !important;
}
@media (min-width:1024px) {
  .site-subpage-v26 .local-page-demo .demo__h1 {
    width: min(100%, 640px) !important;
    max-width: none !important;
    font-size: clamp(2.08rem, 2.85vw, 3rem) !important;
    line-height: 1.055 !important;
    letter-spacing: -.038em !important;
  }
  .site-subpage-v26 .local-page-demo .demo__text {
    max-width: 540px !important;
    font-size: .9rem !important;
    line-height: 1.66 !important;
  }
}
@media (max-width:1023px) {
  .site-subpage-v26 {
    --bero-sub-container: min(100%, calc(100% - 28px));
    --bero-sub-space: 3.8rem;
  }
  .site-subpage-v26 .local-detail-section,
  .site-subpage-v26 .local-visual-story,
  .site-subpage-v26 .local-area-section,
  .site-subpage-v26 .faq-section,
  .site-subpage-v26 .project-inquiry,
  .site-subpage-v26 .contact-data-section,
  .site-subpage-v26 .contact-info-dark {
    padding-top: 3.8rem !important;
    padding-bottom: 3.8rem !important;
  }
  .site-subpage-v26 .local-process {
    padding-top: 3.8rem !important;
    padding-bottom: 6.8rem !important;
  }
  .site-subpage-v26 .local-section-title,
  .site-subpage-v26 .local-visual-story__head h2,
  .site-subpage-v26 .local-area-section h2,
  .site-subpage-v26 .local-process__head h2,
  .site-subpage-v26 .contact-overlap-section__title,
  .site-subpage-v26 .faq-section__title,
  .site-subpage-v26 .project-inquiry__title,
  .site-subpage-v26 .contact-data-section h2,
  .site-subpage-v26 .contact-info-dark h2 {
    font-size: var(--bero-section-title-mobile) !important;
    line-height: 1.1 !important;
    letter-spacing: -.034em !important;
  }
  .site-subpage-v26 .local-section-lead,
  .site-subpage-v26 .local-visual-story__head p,
  .site-subpage-v26 .local-area-section p,
  .site-subpage-v26 .local-process__head > p,
  .site-subpage-v26 .contact-overlap-section__text,
  .site-subpage-v26 .faq-section__lead,
  .site-subpage-v26 .project-inquiry__text,
  .site-subpage-v26 .contact-data-section p,
  .site-subpage-v26 .contact-info-dark p {
    font-size: .89rem !important;
    line-height: 1.64 !important;
  }
  .site-subpage-v26 .local-page-demo .demo__h1 {
    max-width: none !important;
    font-size: clamp(1.55rem, 7vw, 2.05rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -.034em !important;
  }
  .site-subpage-v26 .local-page-demo .demo__text {
    max-width: 34ch !important;
    font-size: .87rem !important;
    line-height: 1.62 !important;
  }
  .site-subpage-v26 .local-process__steps {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
    margin-top: 1.85rem !important;
  }
  .site-subpage-v26 .local-process__steps article {
    min-height: 0 !important;
    padding: 1.5rem 1.25rem 1.6rem !important;
  }
  .site-subpage-v26 .local-process + .contact-overlap-section .contact-overlap-section__box {
    margin-top: -.75rem !important;
  }
}

/* Impressum / Datenschutz */
.page-legal {
  background: #f7f6f2;
}
.page-legal .legal-hero {
  background: #5b5b58;
  color: #fff;
  padding: clamp(4.8rem, 7vw, 6.5rem) 0 clamp(6.8rem, 9vw, 8.5rem);
}
.page-legal .legal-hero__inner,
.page-legal .legal-main__inner {
  width: var(--bero-sub-container);
  margin: 0 auto;
}
.page-legal .legal-breadcrumb {
  display:flex;
  align-items:center;
  gap:.45rem;
  margin:0 0 1.1rem;
  font-size:.68rem;
  line-height:1.2;
  color:rgba(255,255,255,.62);
}
.page-legal .legal-breadcrumb a {
  color:#fff;
  text-decoration:none;
}
.page-legal .legal-hero h1 {
  max-width:760px;
  margin:0;
  font-family:"Montserrat",Arial,sans-serif;
  font-size:clamp(2.5rem,4.3vw,4.25rem);
  line-height:1.02;
  font-weight:600;
  letter-spacing:-.045em;
}
.page-legal .legal-hero p {
  max-width:650px;
  margin:1.15rem 0 0;
  color:rgba(255,255,255,.78);
  font-size:.94rem;
  line-height:1.7;
}
.page-legal .legal-main {
  position:relative;
  z-index:5;
  margin-top:-3.8rem;
  padding:0 0 clamp(5rem,7vw,6.5rem);
}
.page-legal .legal-card {
  width:min(920px,100%);
  background:#fff;
  padding:clamp(2rem,4vw,3.5rem);
  box-shadow:var(--bero-sub-shadow);
}
.page-legal .legal-grid {
  display:grid;
  grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);
  gap:clamp(2rem,5vw,4.8rem);
}
.page-legal .legal-card h2 {
  margin:0;
  font-family:"Montserrat",Arial,sans-serif;
  font-size:clamp(1.65rem,2.3vw,2.2rem);
  line-height:1.1;
  letter-spacing:-.03em;
  font-weight:600;
  color:#171513;
}
.page-legal .legal-content {
  display:grid;
  gap:1.7rem;
}
.page-legal .legal-block {
  padding-bottom:1.5rem;
  border-bottom:1px solid rgba(23,21,19,.10);
}
.page-legal .legal-block:last-child {
  padding-bottom:0;
  border-bottom:0;
}
.page-legal .legal-block h3 {
  margin:0 0 .5rem;
  font-size:.9rem;
  line-height:1.35;
  font-weight:600;
  color:#171513;
}
.page-legal .legal-block p,
.page-legal .legal-block address {
  margin:0;
  color:rgba(23,21,19,.66);
  font-style:normal;
  font-size:.88rem;
  line-height:1.7;
}
.page-legal .legal-block a {
  color:#171513;
  text-underline-offset:3px;
}
.page-legal .legal-note {
  margin-top:1.5rem;
  padding:1rem 1.1rem;
  background:#f1efe9;
  color:rgba(23,21,19,.68);
  font-size:.78rem;
  line-height:1.6;
}
@media (max-width:1023px) {
  .page-legal .legal-hero {
    padding:3.8rem 0 5.6rem;
  }
  .page-legal .legal-hero h1 {
    font-size:clamp(2rem,9vw,3rem);
  }
  .page-legal .legal-main {
    margin-top:-2.4rem;
    padding-bottom:4.4rem;
  }
  .page-legal .legal-card {
    padding:1.6rem 1.25rem 1.8rem;
  }
  .page-legal .legal-grid {
    grid-template-columns:1fr;
    gap:1.5rem;
  }
  .page-legal .legal-card h2 {
    font-size:clamp(1.55rem,6.5vw,1.9rem);
  }
}
