/* Shared design for the editorial pages. The home page uses its own layout. */
html,
body {
  /* The imported stylesheet's viewport width includes the scrollbar. */
  width: 100% !important;
}

.subpage {
  --page-bg: #121212;
  --panel: #1b1b19;
  --paper: #f6f5ed;
  --muted: #c6c5bb;
  --edge: #ffffff21;
  --gold: #fff500;
  --display: Geomanist, sans-serif;
  --body: "RNS Sanz", sans-serif;
  --page-gutter: clamp(1.25rem, 6vw, 6rem);
  --page-width: min(74rem, calc(100% - var(--page-gutter) - var(--page-gutter)));
  --section-gap: clamp(3.5rem, 7vw, 7.5rem);

  display: flow-root;
  padding-top: clamp(5.5rem, 8vw, 7.25rem);
  /* The footer decoration extends above the footer and into this spacing. */
  padding-bottom: max(var(--section-gap), calc(var(--footer-transition-height, 20vh) + 1.5rem));
  background: var(--page-bg);
  color: var(--paper);
  font-family: var(--body);
  font-weight: 400;
}

.subpage :focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 5px;
}

.subpage-shell {
  width: var(--page-width);
  margin-inline: auto;
  margin-block-start: var(--section-gap);
}

.subpage :is(.subpage-collection, .subpage-faq, .subpage-features, .subpage-workflow, #durchlesen, #optoutanchor)[id] {
  scroll-margin-top: 7rem;
}

.subpage-hero {
  position: relative;
  isolation: isolate;
  width: min(86rem, calc(100% - clamp(1.5rem, 4vw, 4rem)));
  margin-inline: auto;
  border: 1px solid #fff50028;
  border-radius: 1.5rem;
  background:
    radial-gradient(ellipse at 90% 5%, #50491f 0, transparent 57%),
    linear-gradient(125deg, #252318, #191814 65%, #252318);
  overflow: hidden;
}

.subpage-hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background-image: radial-gradient(circle, #fff50055 1px, transparent 1.35px);
  background-size: 19px 19px;
  mask-image: radial-gradient(ellipse at right top, #000b, transparent 66%);
  pointer-events: none;
}

.subpage-hero__inner {
  display: grid;
  width: min(100%, 84rem);
  margin-inline: auto;
  padding: clamp(2rem, 5vw, 5rem) clamp(1.4rem, 4.65vw, 4.5rem);
  align-items: center;
  gap: clamp(1.75rem, 4.5vw, 4.5rem);
}

.subpage-hero--split .subpage-hero__inner {
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  min-height: 30rem;
}

.subpage-hero__copy { min-width: 0; }

.subpage-title {
  color: var(--paper);
  font: 900 clamp(2.6rem, 5.15vw, 5.25rem)/.99 var(--display);
  letter-spacing: -.035em;
  overflow-wrap: anywhere;
  hyphens: auto;
  text-wrap: balance;
}

.subpage-hero--long .subpage-title {
  font-size: clamp(2.45rem, 4.25vw, 4.05rem);
  text-wrap: wrap;
}

.subpage-hero--with-subheading .subpage-title { hyphens: manual; }

.subpage-title em,
.subpage-card__title em {
  color: var(--gold);
  font-style: normal;
}

.subpage-back {
  display: inline-flex;
  align-items: center;
  gap: .65em;
  color: var(--muted);
  margin-bottom: 1.45rem;
  font-size: .95rem;
  font-weight: 650;
  line-height: 1.4;
}

.subpage-back::before { content: "←" / ""; color: var(--gold); }
.subpage-back:hover, .subpage-link:hover { color: var(--paper); }

.subpage-hero__subtitle {
  max-width: 27ch;
  margin-top: 1rem;
  color: var(--paper);
  font: 700 clamp(1.35rem, 2.5vw, 2.05rem)/1.12 var(--display);
  text-wrap: pretty;
}

.subpage-hero__subtitle + .subpage-lead { margin-top: .85rem; }

.subpage-lead {
  color: var(--muted);
  font-size: clamp(1.06rem, 1.48vw, 1.27rem);
  line-height: 1.55;
  margin-top: 1.35rem;
  max-width: 58ch;
}

.subpage-hero__media { min-width: 0; margin: 0; }

.subpage-hero__media img {
  display: block;
  width: 100%;
}

.subpage-hero__media--contain img {
  height: clamp(15rem, 32vw, 31rem);
  object-fit: contain;
  filter: drop-shadow(0 18px 32px #08080270);
}

.subpage-hero__media--cover .subpage-hero__frame {
  border: 1px solid #ffffff2c;
  border-radius: 1rem;
  box-shadow: 0 20px 48px #0005;
  overflow: hidden;
  background: #292722;
}

.subpage-hero__media figcaption {
  margin-top: .65rem;
  color: var(--muted);
  font-size: .83rem;
  line-height: 1.4;
}

.subpage-hero__media--cover img {
  aspect-ratio: 5/4;
  height: auto;
  object-fit: cover;
}

.subpage--article .subpage-hero__media--cover img { aspect-ratio: 16/9; }

.subpage-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; margin-top: 1.8rem; }

.subpage-button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: .8rem;
  min-height: 3.1rem;
  max-width: 100%;
  padding: .7rem 1.2rem;
  border: 1px solid transparent;
  border-radius: 2rem;
  background: var(--gold);
  color: #18170d;
  font: 700 1rem/1.35 var(--body);
  text-align: center;
  text-decoration: none;
  transition: background .18s ease, border-color .18s ease;
}

.subpage-button::after,
.subpage-link::after { content: "→" / ""; flex: none; }
.subpage-button--down::after { content: "↓" / ""; }
.subpage :is(.subpage-button, .subpage-link)[href^="http"]::after { content: "↗" / ""; }
.subpage-button:hover { background: #fffc7d; }
.subpage-button:disabled { opacity: .6; cursor: wait; }
.subpage-button--secondary { border-color: #ffffff4d; background: transparent; color: var(--paper); }
.subpage-button--secondary:hover { background: #ffffff16; }

.subpage-link {
  display: inline-flex;
  align-items: baseline;
  gap: .6em;
  color: var(--gold);
  font-weight: 700;
  line-height: 1.35;
}

.subpage-section-title,
.subpage-prose h2 {
  color: var(--paper);
  font: 800 clamp(2rem, 3.6vw, 3.45rem)/1.06 var(--display);
  letter-spacing: -.024em;
  overflow-wrap: anywhere;
  hyphens: auto;
  text-wrap: balance;
}

.subpage-prose > * + * { margin-top: .9em; }
.subpage-prose h3 { color: var(--paper); font: 700 1.4em/1.15 var(--display); }
.subpage-prose :is(ul, ol) { padding-inline-start: 1.2em; }
.subpage-prose ul { list-style: disc; }
.subpage-prose ol { list-style: decimal; }
.subpage-prose li + li { margin-top: .45em; }
.subpage-prose li::marker { color: var(--gold); }
.subpage-prose strong { color: var(--paper); font-weight: 700; }
.subpage-prose a:not(.subpage-link) { color: var(--gold); text-decoration: underline; text-underline-offset: .18em; }
.subpage-prose a:not(.subpage-link):hover { color: var(--paper); }
.subpage-prose blockquote { border-inline-start: 2px solid var(--gold); padding-inline-start: 1em; }
.subpage-prose img { max-width: 100%; height: auto; border-radius: .75rem; }

.subpage-split {
  display: grid;
  grid-template-columns: minmax(0, 1.14fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(2rem, 5vw, 5.5rem);
}

.subpage-split + .subpage-split {
  border-top: 1px solid var(--edge);
  padding-top: var(--section-gap);
}

.subpage-split--image-left { grid-template-columns: minmax(0, 1fr) minmax(0, 1.14fr); }
.subpage-split--image-left .subpage-split__media { grid-area: 1 / 1; }

.subpage-split__copy,
.subpage-reading,
.subpage-cta__copy {
  color: var(--muted);
  font-size: clamp(1.02rem, 1.42vw, 1.15rem);
  line-height: 1.6;
}

.subpage-split__copy h2 { font-size: clamp(1.85rem, 3.2vw, 3rem); text-wrap: pretty; }

.subpage-split__media {
  display: grid;
  place-items: center;
  background: radial-gradient(ellipse at 45% 60%, #3b371f, #1c1b16 70%);
  border: 1px solid #fff50020;
  border-radius: 1.25rem;
  min-width: 0;
  overflow: hidden;
}

.subpage-split__media img {
  width: 100%;
  height: clamp(14rem, 30vw, 28rem);
  object-fit: contain;
}

.subpage-label {
  color: var(--gold);
  font-size: .79rem;
  font-weight: 700;
  letter-spacing: .06em;
  line-height: 1.35;
  text-transform: uppercase;
}

.subpage-label + h2 { margin-top: .3em; }

.subpage-reading { max-width: 48rem; overflow-wrap: break-word; }

.subpage-features__intro {
  max-width: 65ch;
  margin-top: .85rem;
  color: var(--muted);
  font-size: 1.12rem;
  line-height: 1.55;
}

.subpage-features__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2.5vw, 1.6rem);
  margin-top: clamp(1.45rem, 3vw, 2.6rem);
}

.subpage-features--two .subpage-features__list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.subpage-feature {
  display: flex;
  flex-direction: column;
  min-width: 0;
  border: 1px solid var(--edge);
  border-radius: 1rem;
  background: linear-gradient(140deg, #22211b, var(--panel) 55%);
  overflow: hidden;
}

.subpage-feature:focus-within { border-color: var(--gold); }

.subpage-feature__image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  object-fit: cover;
  border-bottom: 1px solid var(--edge);
}

.subpage-feature__content {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  gap: .85rem;
  padding: clamp(1.2rem, 2.75vw, 2rem);
  color: var(--muted);
  font-size: 1.03rem;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.subpage-feature h3 {
  color: var(--paper);
  font: 800 clamp(1.32rem, 2.5vw, 1.9rem)/1.12 var(--display);
  text-wrap: pretty;
}

.subpage-feature__facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .7rem 1rem;
  width: 100%;
  margin-top: auto;
  padding-top: .8rem;
  border-top: 1px solid var(--edge);
}

.subpage-feature__facts dt { font-size: .88rem; }
.subpage-feature__facts dd { color: var(--paper); font-weight: 700; }
.subpage-feature__content > .subpage-link { margin-top: auto; padding-block: .25rem; }
.subpage-feature__facts + .subpage-link { margin-top: 0; }

#kurse .subpage-feature__content > .subpage-link {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  min-height: 3rem;
  padding: .7rem .9rem;
  border-radius: .6rem;
  background: var(--gold);
  color: #18170d;
  font: 800 1rem/1.3 var(--body);
  overflow-wrap: normal;
}

#kurse .subpage-feature__content > .subpage-link:hover { background: #fffc7d; }

.subpage-workflow {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  align-items: start;
  gap: clamp(1.4rem, 4vw, 3.5rem);
  padding: clamp(1.25rem, 4vw, 3.25rem);
  border: 1px solid #fff50037;
  border-radius: 1.35rem;
  background: radial-gradient(ellipse at left top, #35321b, #1b1b17 70%);
}

.subpage-workflow__intro .subpage-prose {
  margin-top: .8rem;
  color: var(--muted);
  font-size: 1.1rem;
  line-height: 1.55;
}

.subpage-workflow__steps { display: grid; gap: .6rem; }

.subpage-workflow details {
  border: 1px solid var(--edge);
  border-radius: .8rem;
  background: #161615;
}

.subpage-workflow details[open] { border-color: #fff50055; }

.subpage-workflow summary {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: .75rem;
  min-height: 3.5rem;
  padding: .65rem .9rem;
  border-radius: .8rem;
  list-style: none;
  color: var(--paper);
  font-weight: 700;
  cursor: pointer;
  overflow-wrap: anywhere;
}

.subpage-workflow summary::-webkit-details-marker { display: none; }
.subpage-workflow summary::after { content: "+" / ""; color: var(--gold); font-size: 1.25rem; }
.subpage-workflow details[open] summary::after { content: "−" / ""; }

.subpage-workflow__index {
  display: grid;
  place-items: center;
  width: 1.8rem;
  aspect-ratio: 1;
  border: 1px solid #fff50055;
  border-radius: 50%;
  color: var(--gold);
  font-size: .9rem;
}

.subpage-workflow details[open] .subpage-workflow__index {
  border-color: var(--gold);
  background: var(--gold);
  color: #161615;
}

.subpage-workflow__body {
  padding: 0 1rem 1rem 3.45rem;
  color: var(--muted);
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.subpage-cta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.75rem;
  padding: clamp(1.5rem, 4vw, 3.6rem);
  border: 1px solid #fff50032;
  border-radius: 1.25rem;
  background: linear-gradient(110deg, #272518, #38341c);
}

.subpage-cta__copy { max-width: 40rem; }
.subpage-cta > a { flex: none; }

.subpage-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.7rem);
}

.subpage-section-title + :is(.subpage-card-grid, .subpage-article-slider, .subpage-faq__items) {
  margin-top: clamp(1.45rem, 3vw, 2.6rem);
}

.subpage-card {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  min-width: 0;
  border: 1px solid var(--edge);
  border-radius: 1rem;
  background: var(--panel);
  overflow: hidden;
  transition: border-color .2s ease, background .2s ease;
}

.subpage-card:hover,
.subpage-card:focus-within { border-color: #fff50075; background: #23221a; }
.subpage-card:has(.subpage-card__target:focus-visible) { outline: 2px solid var(--gold); outline-offset: -3px; }

.subpage-card__image { overflow: hidden; background: #2a2924; }

.subpage-card__image img {
  display: block;
  width: 100%;
  aspect-ratio: 16/9;
  height: auto;
  object-fit: cover;
  transition: transform .24s ease;
}

.subpage-card:hover img { transform: scale(1.035); }
.subpage-card--case_study .subpage-card__image { background: #f5f4ed; }
.subpage-card--case_study .subpage-card__image img { object-fit: contain; padding: 1.75rem; max-height: 12.25rem; }

.subpage-card__copy {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .8rem;
  padding: clamp(1.1rem, 2.2vw, 1.8rem);
}

.subpage-card__title {
  color: var(--paper);
  font: 700 clamp(1.3rem, 2vw, 1.78rem)/1.13 var(--display);
  letter-spacing: -.015em;
  overflow-wrap: anywhere;
  hyphens: auto;
}

.subpage-card__target::after { content: ""; position: absolute; inset: 0; }
.subpage-card .subpage-highlights a { position: relative; z-index: 1; }
.subpage-card__action { margin-top: auto; padding-top: .45rem; }
.subpage-card--featured { height: auto; background: #1a1a16; box-shadow: 0 20px 48px #0005; }
.subpage-card--featured .subpage-card__image img { aspect-ratio: 2/1; }

.subpage-proof {
  border: 1px solid var(--edge);
  border-radius: 1rem;
  padding: clamp(1.25rem, 3.1vw, 2.5rem);
  background: #1c1b16;
  box-shadow: 0 20px 48px #0004;
}

.subpage-proof__logo {
  display: grid;
  place-items: center;
  background: #f5f4ed;
  padding: 1.2rem;
  border-radius: .6rem;
}

.subpage-proof__logo img { width: 100%; height: 5.2rem; object-fit: contain; }
.subpage-proof .subpage-highlights { margin-top: 1.3rem; }

.subpage-proof__person {
  display: flex;
  align-items: center;
  gap: .85rem;
  color: var(--muted);
  font-size: .95rem;
}

.subpage-proof__person img { border-radius: 50%; object-fit: cover; }

.subpage-proof blockquote {
  margin-block: 1.1rem 1.45rem;
  color: var(--paper);
  font: 700 clamp(1.35rem, 2.45vw, 2.05rem)/1.17 var(--display);
}

.subpage-proof blockquote strong { color: var(--gold); }

.subpage-highlights { display: grid; gap: .55rem; color: var(--muted); font-size: .97rem; line-height: 1.4; }
.subpage-highlights li { position: relative; padding-left: 1.1rem; }
.subpage-highlights li::before { content: ""; position: absolute; left: 0; top: .52em; width: .38rem; height: .38rem; border-radius: 50%; background: var(--gold); }
.subpage-highlights strong { color: var(--paper); font-weight: 700; }

.subpage-testimonial {
  max-width: 60rem;
  padding: clamp(1.5rem, 4vw, 3.6rem);
  border: 1px solid var(--edge);
  border-radius: 1.25rem;
  background: var(--panel);
}

.subpage-testimonial blockquote {
  margin-block: 1.2rem;
  padding-inline-start: 1.1rem;
  border-inline-start: 2px solid var(--gold);
  color: var(--muted);
  font-size: 1.12rem;
  line-height: 1.58;
}

.subpage-download {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: 1.5rem;
  padding: clamp(1.4rem, 4vw, 3rem);
  border: 1px solid #fff50032;
  border-radius: 1.25rem;
  background: linear-gradient(110deg, #272518, #34301c);
}

.subpage-download p { color: var(--muted); font-size: 1.12rem; }
.subpage-download__form { min-width: 0; }
.subpage-download .sib-form,
.subpage-download #sib-container { background-color: #171715 !important; border-radius: .85rem !important; }

.subpage-stats dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .9rem;
}

.subpage-stats dl div {
  display: flex;
  flex-direction: column-reverse;
  gap: .5rem;
  padding: clamp(1.1rem, 2.8vw, 2.1rem);
  border: 1px solid var(--edge);
  border-radius: 1rem;
  background: var(--panel);
}

.subpage-stats dd { color: var(--gold); font: 800 clamp(1.9rem, 3.6vw, 3.4rem)/1 var(--display); }
.subpage-stats dt { color: var(--muted); line-height: 1.35; }

.subpage-carousel-controls { display: flex; justify-content: flex-end; gap: .6rem; margin-top: 1rem; }

.subpage-carousel-controls button {
  display: grid;
  place-items: center;
  width: 2.8rem;
  height: 2.8rem;
  border: 1px solid var(--edge);
  border-radius: 50%;
  color: var(--paper);
  background: var(--panel);
  font: 500 1.7rem/1 var(--body);
}

.subpage-carousel-controls button:hover { color: var(--gold); border-color: var(--gold); }
.subpage-collection > .subpage-link { margin-top: 1.15rem; }

.subpage-faq {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr);
  gap: clamp(1.35rem, 5vw, 5rem);
  border-top: 1px solid var(--edge);
  padding-top: clamp(2rem, 5vw, 4.25rem);
}

.subpage-faq .subpage-section-title { text-wrap: wrap; }
.subpage-faq .subpage-link { margin-top: 1rem; }
.subpage-faq .subpage-faq__items { margin-top: 0; }
.subpage-faq__item + .subpage-faq__item { border-top: 1px solid var(--edge); }

.subpage-faq .accordion-question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: 1.2rem;
  padding: .95rem 0;
  color: var(--paper);
  font: 700 1.12rem/1.35 var(--body);
  text-align: left;
}

.subpage-faq .accordion-question::after { content: "+" / ""; color: var(--gold); font-size: 1.45rem; }
.subpage-faq .accordion-question[aria-expanded="true"]::after { content: "−" / ""; }
.subpage-faq__answer { max-height: 0; overflow: hidden; transition: max-height .25s ease; }
.subpage-faq .accordion-question[aria-expanded="false"] + .subpage-faq__answer { visibility: hidden; }
.subpage-faq__answer p { padding: 0 2rem 1.15rem 0; color: var(--muted); font-size: 1.05rem; line-height: 1.55; }

.subpage-contact .subpage-hero__inner { align-items: center; }
.subpage-contact .subpage-title { max-width: 10ch; text-wrap: wrap; }

.subpage-contact__portrait {
  overflow: hidden;
  margin-top: 1.65rem;
  max-width: 25rem;
  aspect-ratio: 2;
  border-bottom: 1px solid #fff50045;
  border-radius: 1rem 1rem 0 0;
  background: radial-gradient(ellipse at bottom, #645a25, transparent 72%);
}

.subpage-contact__portrait img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 4%; }

.subpage-contact__form {
  display: grid;
  gap: 1.1rem;
  padding: clamp(1.15rem, 3vw, 2.2rem);
  border-radius: 1.1rem;
  border: 1px solid #ffffff30;
  background: #171715;
  box-shadow: 0 18px 45px #0004;
  color: var(--paper);
}

.subpage-contact__form .strasse { display: none; }
.subpage-contact__notice { color: var(--muted); font-size: .94rem; line-height: 1.45; }
.subpage-contact__form .input-group-holder > label { display: block; margin-bottom: .4rem; font-weight: 700; }
.subpage-contact__form :is(input[type="email"], textarea) {
  display: block;
  width: 100%;
  padding: .72rem .9rem;
  border: 1px solid #ffffff42;
  border-radius: .55rem;
  background: #22221f;
  color: var(--paper);
  font: 400 1rem/1.45 var(--body);
}

.subpage-contact__form textarea { resize: vertical; }
.subpage-contact__form ::placeholder { color: #adaca0; }
.subpage-contact__form .form-privacy-check { display: grid; align-items: start; grid-template-columns: auto 1fr; gap: .25rem .7rem; font-size: .94rem; line-height: 1.4; }
.subpage-contact__form input[type="checkbox"] { width: 1.15rem; height: 1.15rem; margin-top: .11rem; accent-color: var(--gold); }
.subpage-contact__form .form-privacy-check a { color: var(--gold); text-decoration: underline; }
.subpage-contact__form .invalid-feedback,
.subpage-contact__form [data-contact-error] { color: #ffada4; }
.subpage-contact__form .form-privacy-check .invalid-feedback { grid-column: 2; }
.subpage-contact__form .is-invalid { border-color: #ffada4; }
.subpage-contact__form button { justify-self: start; }

/* Long-form text and embedded forms from the existing editorial content. */
.subpage .artikel-wysiwyg,
.subpage > .wysiwyg {
  width: var(--page-width);
  max-width: 48rem;
  margin: clamp(2rem, 5vw, 4.5rem) auto;
  padding: 0;
  background: transparent;
  box-shadow: none;
  color: var(--muted);
  font: 400 clamp(1.05rem, 1.6vw, 1.2rem)/1.66 var(--body);
  overflow-wrap: break-word;
}

.subpage .artikel-wysiwyg :is(p, li, span),
.subpage > .wysiwyg :is(p, li, span) { color: inherit; font: inherit; }

.subpage .artikel-wysiwyg :is(h2, h3, h4),
.subpage > .wysiwyg :is(h2, h3, h4) {
  margin: 1.5em 0 .55em;
  color: var(--paper);
  font: 800 clamp(1.35rem, 2.9vw, 2.2rem)/1.13 var(--display);
}

.subpage .artikel-wysiwyg > :first-child,
.subpage > .wysiwyg > :first-child { margin-top: 0; }
.subpage > .wysiwyg :is(p, ul, ol) { margin-bottom: 1em; }
.subpage :is(.artikel-wysiwyg, .wysiwyg) :is(ul, ol) { padding-inline-start: 1.3em; }
.subpage :is(.artikel-wysiwyg, .wysiwyg) ul { list-style: disc; }
.subpage :is(.artikel-wysiwyg, .wysiwyg) ol { list-style: decimal; }
.subpage :is(.artikel-wysiwyg, .wysiwyg) li::marker { color: var(--gold); }
.subpage :is(.artikel-wysiwyg, .wysiwyg) a { color: var(--gold); text-underline-offset: .18em; }
.subpage :is(.artikel-wysiwyg, .wysiwyg) img { max-width: 100%; height: auto; border: 1px solid var(--edge); border-radius: .75rem; box-shadow: none; margin-block: 1.5rem; }
.subpage :is(.artikel-wysiwyg, .wysiwyg) table { display: block; max-width: 100%; overflow-x: auto; }
.subpage :is(.artikel-wysiwyg, .wysiwyg, #optoutanchor) iframe { max-width: 100%; }
.subpage #optoutanchor { width: var(--page-width); max-width: 48rem; }

.subpage .main-header-logos { z-index: 0; margin-top: clamp(1.5rem, 4vw, 4rem); background: var(--page-bg); box-shadow: none; }
.subpage .main-header-logos .fade-logos-container { pointer-events: none; background: linear-gradient(90deg, var(--page-bg), transparent 14%, transparent 86%, var(--page-bg)); }

@media (max-width: 920px) {
  .subpage-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .subpage-features__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .subpage { --page-gutter: 1.25rem; }
  .subpage-hero { border-radius: 1rem; }
  .subpage-hero--split .subpage-hero__inner,
  .subpage-split,
  .subpage-split--image-left,
  .subpage-workflow,
  .subpage-download,
  .subpage-faq { grid-template-columns: minmax(0, 1fr); }
  .subpage-hero--split .subpage-hero__inner { min-height: 0; }
  .subpage-split--image-left .subpage-split__media { grid-area: auto; }
  .subpage-title { font-size: clamp(2.45rem, 7.6vw, 3.75rem); }
  .subpage-hero--long .subpage-title { font-size: clamp(2.1rem, 7.1vw, 3.4rem); }
  .subpage-hero__media--cover img { aspect-ratio: 16/10; }
  .subpage-hero__media--contain img { height: clamp(12rem, 47vw, 20rem); }
  .subpage-cta { flex-direction: column; align-items: flex-start; }
  .subpage-contact__portrait { display: none; }
}

@media (max-width: 520px) {
  .subpage-card-grid,
  .subpage-features .subpage-features__list,
  .subpage-stats dl { grid-template-columns: minmax(0, 1fr); }

  #kurse .subpage-feature__content > .subpage-link { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .subpage :is(.subpage-card, .subpage-card img, .subpage-button, .subpage-faq__answer) { transition: none; }
}
