/* Responsive reading rhythm. Desktop artwork remains in the section sheets.
   Height budgets reserve room for branding and navigation before photos. */
@media (max-width: 999px) {
  :root { --gp-reading-size: clamp(14px, calc(10px + .65svh), 16px); }
  #s-formt .gp-paragraph, #s-formt .gp-bullet-list,
  #s-deckt .gp-paragraph, #s-deckt .gp-bullet-list,
  #s-unsere-partner .gp-our-partner-maxw-container .gp-paragraph {
    font-size: var(--gp-reading-size);
    line-height: 1.45;
  }
  #s-formt .gp-heading, #s-deckt .gp-heading { font-size: clamp(20px, 2.7svh, 26px); line-height: 1.2; }
  #s-formt .gp-overlay-content { margin-top: 12px; max-width: 100%; }
  #s-formt .gp-overlay-content .gp-spacer,
  #s-deckt .gp-deckt-flex-item-container .gp-spacer { --gp-height: 10px; }
  #s-formt .gp-bullet-list, #s-deckt .gp-bullet-list { margin-top: 12px; }
  #s-formt .gp-bullet-list__item + .gp-bullet-list__item,
  #s-deckt .gp-bullet-list__item + .gp-bullet-list__item { margin-top: 6px; }
  #s-formt .gp-image-box { --gp-si-height: clamp(60px, calc(100svh - 720px), 120px) !important; }
  #s-deckt .gp-stackable-image__main { --gp-si-height: clamp(48px, calc(100svh - 580px), 170px) !important; }
  #s-deckt .gp-stackable-image__overlay {
    --gp-si-height: clamp(40px, calc(100svh - 600px), 130px) !important;
    --gp-si-width: clamp(70px, 25vw, 180px) !important;
    top: 10px;
  }
  #s-deckt .gp-deckt-flex-container { gap: 18px; }
  #s-deckt .gp-section-deckt__svg-underlay { opacity: .18; }
  #s-dacht .gp-section__svg-underlay { opacity: .45; }
  #s-deckt .gp-section__inner { --gp-section-pb: 20px !important; }
  #s-dacht .gp-dacht-flex-container { max-width: 560px; transform: none; margin-top: 12px; }
  #s-dacht .gp-dacht-flex-item-container { max-width: 100%; }
  #s-dacht .gp-heading { font-size: clamp(20px, 2.8svh, 28px); line-height: 1.25; }
  #s-dacht .gp-spacer { --gp-height: 16px; }
  #s-dacht .gp-section__inner { --gp-section-pb: 24px; }
  #s-unsere-partner .gp-section__inner .gp-section-contact-info__item { font-size: 14px; }
  #s-unsere-partner .gp-section-contact-info { max-width: 100%; }
  #s-unsere-partner .gp-our-partner-heading.gp-font-30 { font-size: clamp(20px, 2.7svh, 28px); }
  #s-unsere-partner .gp-partner-list { font-size: clamp(20px, 2.8svh, 30px); }
  #s-perfection .-text-color-gray { color: white; }
  #up .gp-branding__subtext { text-shadow: 0 1px 5px #0009; }
  #up .gp-three-points-content { text-shadow: 0 1px 5px #000b; }
}
@media (max-width: 767px) {
  :root, .gp-section__inner { --gp-container-side-gutter: 24px; }
  #s-unsere-partner .gp-section-contact-info__grid {
    grid-template-columns: 80px minmax(0, 1fr);
    grid-template-areas: 'brand person' 'brand location';
    gap: 8px 16px;
  }
  #s-unsere-partner .gp-section-contact-info__item { overflow-wrap: normal; }
  #s-unsere-partner .gp-section-contact-info__item a { overflow-wrap: anywhere; }
  #s-unsere-partner .gp-footer-section-scroller { margin-bottom: 0; }
}
@media (max-width: 767px) and (max-height: 740px) {
  :root, .gp-branding { --gp-branding-font-size: clamp(80px, 16svh, 112px); }
  #s-formt .gp-section__inner .gp-three-points-content { top: calc(100svh - 38px); font-size: 14px; }
  #s-unsere-partner .gp-footer-section-scroller-item { font-size: 22px; }
  #s-unsere-partner .gp-section-legal-links { padding-top: 0; }
  #s-unsere-partner .gp-our-partner-maxw-container .gp-flex-container { gap: 6px; }
}
@media (max-width: 767px) and (max-height: 600px) {
  :root, .gp-branding { --gp-branding-font-size: 80px; }
  #s-formt .gp-heading br { display: none; }
  #s-formt .gp-formt-flex-i-item { display: none; }
  #s-formt .gp-section__inner { --gp-section-pt: calc(var(--gp-branding-font-size) * 1.66 + 2px) !important; }
  #s-unsere-partner .gp-footer-section-scroller { display: none; }
}
#s-unsere-partner .gp-section-contact-info__brand { white-space: nowrap; }
@media (min-width: 768px) and (max-width: 999px) and (min-height: 501px) {
  :root, .gp-branding { --gp-branding-font-size: min(23vmax, 24svh, 256px); }
  #s-formt .gp-image-box { --gp-si-height: clamp(90px, calc(100svh - 720px), 215px) !important; }
}
@media (min-width: 1000px) and (max-width: 1023px) {
  #s-deckt .gp-branding { position: relative; top: auto; left: auto; }
}
/* The fixed 417px lead column left no space for partners at 1024px. */
@media (min-width: 1000px) and (max-width: 1180px) {
  #s-unsere-partner .gp-our-partner-maxw-container .gp-flex-container { gap: 24px; }
  #s-unsere-partner .gp-our-partner-maxw-container .gp-flex-container-item:first-child { flex: 1 1 50%; max-width: none; }
  #s-unsere-partner .gp-our-partner-maxw-container .gp-flex-container-item:last-child { flex: 1 1 50%; min-width: 0; }
}
/* Legal panels scroll: never trade readability for fitting a viewport. */
.gp-legal-modal__block, .gp-legal-modal__body,
.gp-legal-modal__body.-agb-body, .gp-legal-modal__body.-agb-clause, .gp-legal-modal__block.-meta {
  font-size: 16px;
  line-height: 1.6;
  color: var(--gp-color-white);
}
.gp-legal-modal__footer-contact { font-size: 14px; line-height: 1.5; }
.gp-legal-modal__inner { max-width: 880px; }
.gp-legal-link { min-height: 44px; display: inline-flex; align-items: center; }
.gp-legal-modal__footer-links button { min-height: 44px; }
/* Landscape phones use the horizontal space instead of a tall photo stack. */
@media (max-width: 999px) and (max-height: 500px) and (orientation: landscape) {
  :root, .gp-branding { --gp-branding-font-size: 64px; }
  .gp-branding__ln-text { padding-top: calc(var(--gp-g-visible-height)); }
  :root { --gp-reading-size: 14px; }
  :root, .gp-section__inner { --gp-container-side-gutter: 24px; }
  #s-dacht .gp-section__inner, #s-formt .gp-section__inner, #s-deckt .gp-section__inner {
    --gp-section-pt: 28px !important; --gp-section-pb: 16px !important; justify-content: flex-start;
  }
  #s-dacht .gp-dacht-flex-container, #s-formt .gp-formt-maxwidth-container,
  #s-deckt .gp-deckt-flex-container { width: calc(100% - 140px); max-width: none; margin: 0 0 0 140px; }
  #s-dacht .gp-dacht-flex-container { display: block; }
  #s-dacht .gp-paragraph { font-size: 14px; line-height: 1.45; }
  #s-dacht .gp-heading, #s-formt .gp-heading, #s-deckt .gp-heading { font-size: 20px; }
  #s-formt .gp-formt-flex-i-item, #s-deckt .gp-deckt-flex-container > :first-child { display: none; }
  #s-formt .gp-formt-flex-container { display: block; }
  #s-formt .gp-overlay-content { margin: 0; }
  #s-formt .gp-section__inner .gp-three-points-content { top: calc(100svh - 24px); font-size: 14px; }
  #s-deckt .gp-deckt-flex-item-container { width: 100%; }
  #s-deckt .gp-heading br { display: none; }
  #s-formt .gp-heading, #s-deckt .gp-heading, #s-dacht .gp-heading { padding-right: 40px; }
  #s-formt .gp-bullet-list, #s-deckt .gp-bullet-list { margin-top: 8px; }
  #s-formt .gp-bullet-list__item + .gp-bullet-list__item,
  #s-deckt .gp-bullet-list__item + .gp-bullet-list__item { margin-top: 4px; }
  #s-perfection .gp-section__inner { padding-top: 70px; padding-bottom: 12px; }
  #s-perfection .gp-spacer { --gp-height: 12px; }
  #s-perfection .gp-pfc-main-text { font-size: clamp(40px, 9svh, 48px); }
  #s-perfection .gp-pfc-author-name { font-size: 18px; }
  #s-perfection .gp-three-points-content { font-size: 16px; }
  #s-unsere-partner .gp-section__inner { --gp-section-pt: 24px !important; }
  #s-unsere-partner .gp-our-partner-maxw-container { padding-left: 90px; padding-right: 0; }
  #s-unsere-partner .gp-our-partner-heading.gp-font-30 { font-size: 18px; padding-right: 40px; }
  #s-unsere-partner .gp-section-contact-info { padding-top: 4px; }
  #s-unsere-partner .gp-section-bottom-block { margin-top: 8px; }
  #s-unsere-partner .gp-partner-list { font-size: 18px; }
  #s-unsere-partner .gp-branding + .gp-spacer { --gp-height: 0; }
  #s-unsere-partner .gp-footer-section-scroller { display: none; }
  #s-unsere-partner .gp-section-contact-info__grid {
    grid-template-columns: 90px 1fr 1fr; grid-template-areas: 'brand person location';
  }
  #s-unsere-partner .gp-section-contact-info__item { font-size: 14px; }
  #s-unsere-partner .gp-section-legal-links { padding-top: 0; }
  #up .gp-branding__subtext { font-size: 18px; }
}
/* Short laptop windows: reclaim display scale and padding, not body type. */
@media (min-width: 1000px) and (max-height: 650px) {
  :root, .gp-branding { --gp-branding-font-size: min(28svh, 180px); }
  #s-dacht .gp-section__inner { --gp-section-pb: 24px; }
  #s-perfection .gp-section__inner { padding-top: 48px; padding-bottom: 32px; }
  #s-perfection .gp-pfc-main-text { font-size: min(8.5vw, 13svh); }
  #s-deckt .gp-deckt-flex-item-container.-for-content { margin-top: -140px; }
}
