@font-face {
  font-family: "Futura Lt BT";
  src: url(fonts/futura-lt-bt.ttf) format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
:root {
  --font: "Futura Lt BT";
}
body {
  -webkit-text-stroke: 0.024em;
}
.masthead h1,
.masthead .ghost {
  font-size: max(24px, 4.4vw);
}
:root[data-rand=rand-schnitt] .masthead h1,
:root[data-rand=rand-schnitt] .masthead .ghost {
  padding-block: 16px 0.284em;
}
.masthead h1 span,
.masthead .ghost span {
  letter-spacing: var(--f-ls-eff, var(--f-ls, 0.25em));
}
.masthead h1 span:last-of-type,
.masthead .ghost span:last-of-type {
  margin-right: calc(-1 * var(--f-ls-eff, var(--f-ls, 0.25em)));
}
.masthead nav {
  justify-content: space-between;
}
.masthead nav .item.rechtliches {
  margin-left: 0;
}
.masthead .menu,
.masthead .nav {
  font-size: max(14px, 0.97vw);
}
:root {
  --page-lead: max(15px, 1.55vw);
}
@media (min-width: 701px) and (min-aspect-ratio: 1 / 1) {
  .page-in:has(.page-side) {
    column-gap: calc(var(--gutter) * 6);
  }
  .page-in:has(.page-side) .page-cols > section.lead {
    grid-column: 1 / span 5;
    text-align: justify;
    -webkit-hyphens: auto;
    hyphens: auto;
  }
  #abs-b-leistungen {
    grid-column: 6 / span 3;
    font-size: var(--page-lead);
    line-height: 1.2;
  }
}
#abs-b-leistungen h2 {
  font-size: inherit;
  margin-bottom: 1.2em;
}
#abs-b-leistungen p {
  max-width: none;
  margin-bottom: 1.15em;
}
#abs-b-leistungen p::before {
  content: "";
  display: inline-block;
  width: 0.32em;
  height: 0.32em;
  background: var(--ink);
  margin-right: 0.6em;
  vertical-align: 0.12em;
}
.page-in:has(.page-side) .person-img {
  aspect-ratio: 5 / 6;
  width: 100%;
}
@media (min-width: 1441px) {
  .page-side .person h2,
  .page-side .person p,
  .f-zeichnung figcaption {
    font-size: max(14px, 0.97vw);
  }
}
.f-zeichnung {
  margin: calc(var(--gutter) * 3) 0 0;
}
.f-zeichnung img {
  width: 100%;
  display: block;
}
.f-zeichnung figcaption {
  font-size: 14px;
  margin-top: var(--gutter);
  color: var(--ink-soft);
}
@media (max-width: 700px), (max-aspect-ratio: 1 / 1) {
  .page-in:has(.page-side) .page-side {
    order: 0;
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: calc(var(--gutter) * 2);
    align-items: start;
  }
  .page-in:has(.page-side) .page-cols > section.lead {
    grid-column: 1 / -1;
    font-size: 17px;
    line-height: 1.35;
    -webkit-hyphens: auto;
    hyphens: auto;
  }
  #abs-b-leistungen {
    font-size: 17px;
    line-height: 1.3;
  }
  #abs-b-leistungen h2 {
    margin-bottom: 1em;
  }
  #abs-b-leistungen p {
    margin-bottom: 0.55em;
    padding-left: 0.92em;
    text-indent: -0.92em;
  }
  .page-in:has(.page-side) {
    row-gap: 40px;
  }
  .page-in:has(.page-side) .f-zeichnung {
    margin-top: 40px;
  }
  .v-fuss .rest {
    width: 100%;
    justify-content: space-between;
  }
}
#abs-k-intro {
  font-size: var(--page-lead);
  line-height: 1.3;
  text-align: justify;
  text-align-last: center;
  -webkit-hyphens: auto;
  hyphens: auto;
  border-bottom: 1px solid var(--ink);
  padding-bottom: 0.9em;
}
.page-in:has(#abs-k-intro) {
  row-gap: calc(var(--page-lead) * 0.725);
}
#abs-k-intro p,
#abs-k-adresse p,
#abs-k-tel p,
#abs-k-hinweis p {
  max-width: none;
  font-size: inherit;
}
#abs-k-adresse,
#abs-k-tel {
  font-size: var(--page-lead);
  line-height: 1.65;
}
#abs-k-adresse p,
#abs-k-tel p {
  margin-bottom: 0.4em;
}
#abs-k-hinweis {
  font-size: var(--page-lead);
  text-align: center;
  margin-top: 0;
}
@media (min-width: 701px) and (min-aspect-ratio: 1 / 1) {
  #abs-k-intro {
    grid-column: 3 / span 6;
    margin-top: 12vh;
  }
  #abs-k-adresse {
    grid-column: 3 / span 3;
  }
  #abs-k-tel {
    grid-column: 6 / span 3;
  }
  #abs-k-hinweis {
    grid-column: 3 / span 6;
  }
}
@media (max-width: 700px), (max-aspect-ratio: 1 / 1) {
  #abs-k-intro,
  #abs-k-adresse,
  #abs-k-tel,
  #abs-k-hinweis {
    grid-column: 1 / -1;
  }
  #abs-k-adresse,
  #abs-k-tel {
    text-align: center;
  }
  #abs-k-intro,
  #abs-k-adresse,
  #abs-k-tel,
  #abs-k-hinweis {
    font-size: 17px;
  }
}
@media (min-width: 701px) and (min-aspect-ratio: 1 / 1) {
  .page:has(.page-side) {
    padding-bottom: var(--v-aussen, 16px);
  }
  .page:has(.page-side) .page-in {
    min-height: 100%;
    align-items: stretch;
  }
  .page-in:has(.page-side) .page-cols > section.lead {
    display: flex;
    flex-direction: column;
    min-height: 0;
  }
  .page-in:has(.page-side) .f-zeichnung {
    margin-top: auto;
    padding-top: calc(var(--gutter) * 3);
    flex: 0 0 auto;
    display: grid;
    grid-template-rows: var(--f-bild-h, auto) var(--f-cap-h, auto);
  }
  .page-in:has(.page-side) .f-zeichnung .f-bild {
    position: relative;
    width: 100%;
    height: var(--f-bild-h, 40vh);
    min-height: 0;
    min-width: 0;
    overflow: hidden;
  }
  .page-in:has(.page-side) .f-zeichnung figcaption {
    align-self: start;
  }
  .page-in:has(.page-side) .f-zeichnung .f-bild img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #abs-b-leistungen {
    padding-bottom: var(--f-cap-h, 0px);
  }
  .page-in:has(.page-side) .person-img {
    max-height: var(--f-foto-max, none);
  }
  #abs-b-leistungen {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 0;
  }
  #abs-b-leistungen h2 {
    margin-bottom: 0;
  }
  #abs-b-leistungen p {
    margin-bottom: 0;
  }
  .page-in:has(.page-side) .page-side {
    justify-content: space-between;
    min-height: 0;
  }
}
@media (min-width: 701px) and (min-aspect-ratio: 1 / 1) {
  #abs-b-leistungen p,
  #abs-k-adresse p,
  #abs-k-tel p {
    white-space: nowrap !important;
  }
}
