/* Compatibility only. Layouts belong to the pinned Porto source sections. */
.weichselberger-audience-page .custom-font-secondary,
.weichselberger-audience-page .custom-font-tertiary { font-family: inherit !important; }
.weichselberger-audience-page .custom-page-wrapper { padding-inline: 0; }
.weichselberger-audience-page .custom-square-1 { pointer-events: none; }
.weichselberger-audience-page .custom-square-1 rect { stroke: #6a422b; }
.weichselberger-audience-page .accordion-toggle { font: inherit; line-height: 1.5; }
.weichselberger-audience-page a:focus-visible,
.weichselberger-audience-page button:focus-visible { outline: 3px solid #97141b; outline-offset: 4px; }
.weichselberger-audience-section [id] { scroll-margin-top: 110px; }
.weichselberger-audience-section .timeline img { width: 100%; height: auto; }
.weichselberger-audience-section .timeline-number { display: flex; align-items: center; justify-content: center; }
@media (prefers-reduced-motion: reduce) {
  .weichselberger-audience-section *, .weichselberger-audience-section *::before { animation: none !important; transition: none !important; }
}
/* Keep Porto section widths consistent with the surrounding site shell. */
.weichselberger-audience-section > .container { width: calc(100% - 3rem); max-width: 1320px; }
.weichselberger-audience-section.custom-page-wrapper > .container { width: calc(100% - 3rem); max-width: 1320px; }
.weichselberger-audience-page .custom-square-1 rect { stroke-dashoffset: 0; }
.weichselberger-audience-page .custom-square-1-no-pos rect { fill-opacity: 1; fill: #6a422b; }
.weichselberger-audience-section.bg-primary p,
.weichselberger-audience-section.bg-primary a:not(.btn),
.weichselberger-audience-section.bg-primary .text-color-default { color: #fff !important; }
.weichselberger-audience-section .custom-btn-style-1::before { display: none; }
.weichselberger-audience-section .btn { white-space: normal; }
.weichselberger-audience-section .accordion-toggle { padding: 1rem; }
.weichselberger-audience-section .accordion-toggle[aria-expanded="true"] { color: #97141b !important; }
@media (max-width: 575px) {
  .weichselberger-audience-section > .container,
  .weichselberger-audience-section.custom-page-wrapper > .container { width: 100%; }
}
.weichselberger-audience-page section.timeline .timeline-number { text-align: center; }

/* Porto Creative Agency 2 concept element: only project palette and image fit differ. */
.weichselberger-creative-concept { background-color: #fff; display: flow-root; font-size: 16.8px; }
.weichselberger-creative-concept h2,
.weichselberger-creative-concept .btn { font-family: "Libre Franklin", Arial, sans-serif; }
.weichselberger-creative-concept .custom-font-size-2 { font-size: 1.15em !important; }
.weichselberger-creative-concept h2 { color: #303234; line-height: 1.12; letter-spacing: -.035em; }
.weichselberger-creative-concept .weichselberger-concept-intro { color: #777; line-height: 26px; }
.weichselberger-creative-concept .weichselberger-concept-bg-primary { background-color: #97141b; }
.weichselberger-creative-concept .weichselberger-concept-bg-dark { background-color: #2a2a2a; }
.weichselberger-creative-concept .weichselberger-concept-bg-soft { background-color: #eadbca; }
.weichselberger-creative-concept .custom-el-3-img img {
  width: 220px;
  height: 220px;
  object-fit: cover;
}

/* Planning: Porto image timeline in the site's corporate design. */
.weichselberger-planning-process section.timeline {
  float: none;
  margin: 4rem 0;
  padding-bottom: 0;
}
.weichselberger-planning-process section.timeline::before {
  top: 0;
  left: 50%;
  width: 2px;
  margin-left: -1px;
  background: #97141b;
  opacity: .2;
}
.weichselberger-planning-process .weichselberger-process-step {
  position: relative;
  padding-block: 2rem;
}
.weichselberger-planning-process .weichselberger-process-step + .weichselberger-process-step {
  margin-top: 2rem;
}
.weichselberger-planning-process section.timeline .timeline-number {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: 0;
  background: #97141b;
  box-shadow: 0 0 0 10px #fff;
}
.weichselberger-planning-process section.timeline img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 4px;
}
@media (max-width: 991px) {
  .weichselberger-planning-process section.timeline { margin-block: 3rem; }
  .weichselberger-planning-process section.timeline::before { left: 22px; }
  .weichselberger-planning-process .weichselberger-process-step { padding: 0 0 2rem 65px; }
  .weichselberger-planning-process section.timeline .timeline-number {
    top: 0;
    left: 0;
    transform: none;
    width: 44px;
    height: 44px;
    line-height: 44px;
    box-shadow: 0 0 0 6px #fff;
  }
}

/* Planning contact cards: use the same neutral frame as the homepage. */
.weichselberger-page-planung .weichselberger-about-contact--flow {
  background: #f4f4f4 !important;
  padding: 50px 0 !important;
}
.weichselberger-page-planung .weichselberger-about-contact__wave { display: none; }

/* Match the homepage's enclosing .custom-page-wrapper (6.4vw per side). */
.weichselberger-page-planung .weichselberger-contact-cta {
  margin-inline: 6.4vw !important;
}
.weichselberger-page-planung .weichselberger-contact-cta-heading p {
  color: #777;
  font-size: 1.15rem;
  font-weight: 400;
  line-height: 1.5;
  margin-top: 1.25rem;
}
