@font-face {
  font-family: "Plus Jakarta Sans";
  src: url("../fonts/plus-jakarta-sans-600.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Source Sans 3";
  src: url("../fonts/source-sans-3-400.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Source Sans 3";
  src: url("../fonts/source-sans-3-600.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

body.site-beratung {
  margin: 0;
  background: #f4f7f4;
  color: #1c241c;
  font-family: "Source Sans 3", "Segoe UI", sans-serif;
  font-size: 1.125rem;
  line-height: 1.5;
}
body.site-beratung h1,
body.site-beratung h2,
body.site-beratung h3,
.apo-hero__title {
  font-family: "Plus Jakarta Sans", "Segoe UI", sans-serif;
  line-height: 1.2;
}
.apo-skip {
  position: absolute;
  left: 0.5rem;
  top: -4rem;
  background: #fff;
  color: #173322;
  padding: 0.5rem 0.75rem;
  z-index: 20;
}
.apo-skip:focus { top: 0.5rem; }
.apo-wrap { width: min(1120px, calc(100% - 2rem)); margin-inline: auto; }
.apo-header {
  background: #fff;
  border-bottom: 3px solid #24562c;
}
.apo-header__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 1.5rem;
  padding: 0.85rem 0;
}
.apo-brand img { display: block; height: 40px; width: auto; }
.apo-nav ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 1rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.apo-nav a {
  color: #173322;
  text-decoration: none;
  font-weight: 600;
}
.apo-nav a:hover,
.apo-nav a:focus { color: #24562c; }
.apo-nav li { position: relative; }
.apo-nav ul ul {
  display: none;
  position: absolute;
  z-index: 5;
  min-width: 15rem;
  flex-direction: column;
  gap: 0.35rem;
  padding: 0.75rem;
  background: #fff;
  border: 1px solid #d5e0d6;
}
.apo-nav li:hover > ul,
.apo-nav li:focus-within > ul { display: flex; }
.apo-hero { background: #fff; }
.apo-hero__grid {
  display: grid;
  gap: 1.5rem;
  align-items: center;
  padding: 1.5rem 0 2rem;
}
.apo-hero__kicker {
  margin: 0 0 0.35rem;
  color: #24562c;
  font-weight: 600;
}
.apo-hero__title { margin: 0 0 0.75rem; font-size: clamp(1.8rem, 4vw, 2.6rem); color: #173322; }
.apo-hero__lead { margin: 0 0 1rem; max-width: 38rem; }
.apo-hero__actions,
.apo-hero__links { display: flex; flex-wrap: wrap; gap: 0.75rem; margin: 0; padding: 0; list-style: none; }
.apo-hero__actions { margin-bottom: 0.75rem; }
.apo-button {
  display: inline-block;
  padding: 0.65rem 1rem;
  background: #24562c;
  color: #fff;
  text-decoration: none;
  font-weight: 600;
}
.apo-button--ghost { background: #fff; color: #24562c; box-shadow: inset 0 0 0 2px #24562c; }
.apo-hero__photo img { display: block; width: 100%; height: auto; }
.apo-main { width: min(1120px, calc(100% - 2rem)); margin: 1.5rem auto 2.5rem; }
.apo-main .mod-articles-category,
.apo-main ul.category-module { padding: 0; }
.apo-footer { background: #24562c; color: #fff; padding: 2rem 0 1.25rem; }
.apo-footer a { color: #fff; }
.apo-footer address { font-style: normal; }
.apo-footer__grid { display: grid; gap: 1.25rem; }
.apo-footer__base { margin-top: 1rem; }
body.site-beratung .astroid-header,
body.site-beratung .astroid-footer,
body.site-beratung .astroid-social-icons,
body.site-beratung .astroid-footer-social { display: none; }
@media (min-width: 800px) {
  .apo-hero__grid { grid-template-columns: 1.1fr 0.9fr; }
  .apo-footer__grid { grid-template-columns: 1.4fr 1fr 1.2fr; }
}
@media (max-width: 799px) {
  .apo-nav ul ul { position: static; display: flex; padding: 0.25rem 0 0.25rem 0.75rem; border: 0; }
}
