/* Korrekturen vom 14. Oktober 2026. Die Geometrie des Wolken-Heros bleibt erhalten. */
body.atelier-design {
  --atelier-body-size: clamp(18px, calc(18px + 4 * ((100vw - 375px) / 1545)), 22px);
  --atelier-link-size: clamp(16px, calc(16px + 4 * ((100vw - 375px) / 1545)), 20px);
  --atelier-heading-size: clamp(28px, calc(28px + 30 * ((100vw - 375px) / 1545)), 58px);
  --atelier-small-heading-size: clamp(24px, calc(24px + 10 * ((100vw - 375px) / 1545)), 34px);
  --atelier-section-gap: clamp(56px, 6vw, 96px);
}
/* Zeilen wechseln an Wortgrenzen; bewusst gesetzte Trennstellen bleiben erlaubt. */
body.atelier-design main :is(h1,h2,h3,h4,h5,h6,p,li,dd,figcaption,a),
body.atelier-design .atelier-contact :is(h2,p,a),
body.atelier-design footer :is(p,a) {
  word-break: normal !important; overflow-wrap: normal !important; hyphens: manual;
}
body.atelier-design main :is(h2,h3,h4,h5,h6,p,li,dd,figcaption) {
  hyphens: auto; hyphenate-limit-chars: 8 4 4;
}
body.atelier-design main :is(p,li,dd,figcaption):not(.front-page__hero *) {
  font-size: var(--atelier-body-size); line-height: 1.5;
}
body.atelier-design main a:not(.front-page__hero *):not(.card-project):not(.card-service__container),
body.atelier-design .atelier-contact a,
body.atelier-design footer a {
  font-size: var(--atelier-link-size) !important; line-height: 1.45;
}
body.atelier-design main :is(h2,h3,h4,h5,h6) a {
  display: inline-block; font-size: var(--atelier-link-size) !important;
}
body.atelier-design main h2:not(.atelier-contact *):not(.block-disruptor-newsletter *) {
  font-size: var(--atelier-heading-size); line-height: 1.2;
}
body.atelier-design main h3:not(.front-page__hero *) {
  font-size: var(--atelier-small-heading-size); line-height: 1.3;
}
body.atelier-level-two :is(.page-distribution,.page-default,.page-imprint) > h1 {
  font-size: clamp(56px, calc(56px + 104 * ((100vw - 375px) / 1545)), 160px);
  line-height: 1.05; margin-top: clamp(64px, 8vw, 128px);
  margin-bottom: clamp(40px, 4vw, 64px); text-wrap: balance;
}
body.atelier-level-two .block-introtext p,
body.atelier-level-three :is(.single-service__introtext,.single-project__introtext) {
  font-size: clamp(24px, calc(24px + 14 * ((100vw - 375px) / 1545)), 38px) !important;
  line-height: 1.4;
}
body.atelier-level-two .block-introtext {
  margin-bottom: var(--atelier-section-gap);
}
body.atelier-design :is(.card-service__container,.card-project) h2 {
  font-size: clamp(24px, calc(24px + 8 * ((100vw - 375px) / 1545)), 32px) !important;
  line-height: 1.3;
}
body.atelier-services .page-distribution :is(.wp-block-heading,.wp-block-paragraph,.wp-block-list),
body.atelier-design .single-service :is(.wp-block-heading,.wp-block-paragraph,.wp-block-list) {
  grid-column: 1 / -1; min-width: 0;
}
body.atelier-design main a[href^="mailto:"] {
  overflow-wrap: anywhere !important;
}
body.atelier-design .block-project-slider__controls__headlines h3 {
  font-size: var(--atelier-link-size) !important; line-height: 1.4;
  overflow-wrap: normal !important; hyphens: manual;
}
/* Der Claim auf der Wolke wächst auf großen Anzeigen mit der Bildschirmbreite. */
@media (min-width: 769px) {
  body.atelier-design.atelier-about .block-divider-image-text p {
    font-size: clamp(2rem, 4vw, 10rem); line-height: 1.15; text-wrap: balance;
  }
}
/* Ansprechpartnerin: mehr Luft davor, ein kompakter Abschluss danach. */
body.atelier-design .block-disruptor-contact.atelier-contact {
  margin-block: var(--atelier-section-gap) 40px;
}
body.atelier-design .atelier-contact h2 {
  font-size: clamp(24px, calc(24px + 4 * ((100vw - 375px) / 1545)), 28px) !important;
  margin-bottom: 24px; line-height: 1.3;
}
body.atelier-design .atelier-contact p {
  font-size: var(--atelier-body-size) !important; line-height: 1.5;
}
body.atelier-design .atelier-contact .block-disruptor-contact__booking p { margin-bottom: 22px; }
body.atelier-design :is(.single-service__contact,.single-project__contact) { margin-bottom: 0; }
body.atelier-design .page-distribution > .wp-block-lazyblock-disruptor-contact,
body.atelier-design .atelier-art-contact-bottom { margin-bottom: 0; }
body.atelier-design :is(.page-distribution,.single-service__dark-background,.single-project__dark-background) {
  padding-bottom: 40px;
}
/* Kunst und Forschung behält den ursprünglichen Verlauf; Listenzeichen bleiben pink. */
body.atelier-art .atelier-art-copy > :is(h2,h3,p,ul,ol) { max-width: 880px; }
body.atelier-art .atelier-art-copy > h2 { margin-top: var(--atelier-section-gap); margin-bottom: 24px; }
body.atelier-art .atelier-art-copy > h3 { margin-top: 28px; margin-bottom: 20px; }
body.atelier-art .atelier-art-copy > p { margin-block: 20px; }
body.atelier-design .block-latest-press-release h2 { margin-bottom: 24px; }
body.atelier-design .block-latest-press-release h3 { margin-top: 28px; margin-bottom: 20px; }
body.atelier-design .block-latest-press-release p { margin-block: 20px; }
body.atelier-art .atelier-art-copy li::marker { color: #e2009f !important; }
body.atelier-design main li::marker { color: #e2009f; }
body.atelier-art #ansprechpartnerin .block-disruptor-contact { margin-top: var(--atelier-section-gap); }
body.atelier-art #ansprechpartnerin-unten { scroll-margin-top: 110px; }
/* Projekte: gleicher Flächenton für Metadaten und eine klare vertikale Folge. */
body.atelier-level-three .single-project__metabox { background: #f7f2ee; }
body.atelier-level-three :is(.single-project__grid,.single-project__content) {
  grid-template-columns: repeat(12,minmax(0,1fr));
}
body.atelier-level-three .single-project__grid > :is(h1,.single-project__single-page-category,
  .single-project__metabox,.single-project__introtext,.single-project__content,
  .single-project__dark-background) {
  grid-column: 1 / -1; grid-row: auto;
}
body.atelier-level-three .single-project__grid > .breadcrumb { grid-column: 1 / -1; }
body.atelier-level-three :is(.single-project__grid,.single-service__grid) > h1 {
  font-size: clamp(30px, 6.5vw, 112px); line-height: 1.1;
  margin: 16px 0 40px; text-wrap: balance;
}
body.atelier-level-three .single-project__single-page-category { margin-top: var(--atelier-section-gap); }
body.atelier-level-three .single-project__metabox {
  margin: 0 0 40px; gap: 28px; max-width: 100%;
}
body.atelier-level-three .single-project__metabox__text { grid-column: 1 / -1; max-width: 880px; }
body.atelier-level-three .single-project__metabox__logo { grid-column: 1 / -1; max-width: 240px; }
body.atelier-level-three .single-project__introtext { max-width: 1080px; margin-bottom: var(--atelier-section-gap); }
body.atelier-level-three .single-project__content { max-width: 1080px; width: 100%; }
body.atelier-level-three .single-project__content > * { grid-column: 1 / -1; min-width: 0; }
body.atelier-level-three .single-project__content .block-text {
  display: block; margin-bottom: var(--atelier-section-gap);
}
body.atelier-level-three .single-project__content .block-text h3 { margin-bottom: 18px; }
body.atelier-level-three .single-project__content .block-text p { margin-bottom: 20px; }
body.atelier-design .single-project .block-disruptor-link { background: #f7f2ee; }
body.atelier-design .single-project__projects__container__flex {
  display: grid; grid-template-columns: minmax(0,1fr); gap: 32px;
  width: 100%; transform: none !important;
}
body.atelier-design .single-project__projects__container__flex .card-project {
  width: 100% !important; box-sizing: border-box;
}
body.atelier-design .single-project__projects__controls { display: none; }
body.atelier-design .block-card-grid__projects__grid {
  display: grid; grid-template-columns: minmax(0,1fr); gap: 32px;
}
body.atelier-design .block-card-grid__projects__grid .card-project {
  width: 100%; min-width: 0; box-sizing: border-box;
}
body.atelier-design .block-card-grid__projects__grid .card-project__project-info { margin-block: 16px; }
/* Footer: engere Außenabstände und kleinere Verweise, entsprechend der Vorlage. */
body.atelier-design > footer {
  padding-top: clamp(48px,5vw,80px) !important;
  padding-bottom: clamp(48px,5vw,80px) !important;
}
body.atelier-design footer :is(p,.footer__text,.footer__address,.footer__contact) {
  font-size: var(--atelier-body-size); line-height: 1.45;
}
body.atelier-design footer .footer__contact-heading { font-size: 24px; margin-bottom: 12px; }
body.atelier-design footer .footer__newsletter { padding-top: 24px; margin-top: 20px; }
body.atelier-design footer .footer__newsletter h2 { font-size: 28px; margin-bottom: 12px; }
body.atelier-design footer .footer__newsletter p { font-size: 18px; margin-bottom: 16px; }
body.atelier-design footer .footer__navigation ul { row-gap: 10px; }
body.atelier-design footer .footer__navigation .atelier-footer-legal { margin-top: 16px; padding-top: 16px; }
/* AGB erhält denselben unteren Inhaltsabstand wie das Impressum. */
body.atelier-utility .page-default:has(.atelier-legal-copy) {
  display: block; min-height: 0; padding-bottom: 250px;
}
body.atelier-utility:has(.atelier-legal-copy) main { min-height: 0; }
body.atelier-utility .atelier-legal-copy p:last-child { margin-bottom: 0; }
body.atelier-utility .atelier-legal-copy p:last-child a { display: block; width: fit-content; }
body.atelier-design main .wp-block-lazyblock-disruptor-contact { margin-block: 0; }
body.atelier-design .page-distribution > :last-child:has(.atelier-contact) { margin-bottom: 0; }
body.atelier-design .card-news__text__categories { white-space: normal; flex-wrap: wrap; }
body.atelier-design .card-news__text__categories span {
  white-space: normal; hyphens: auto; font-size: 14px !important;
}
body.atelier-design .card-news__text__tags span {
  max-width: 100%; white-space: normal; font-size: 14px !important;
}
/* Das originale Brevo-Formular, ohne zusätzliche Skripte oder eine lokale Anmeldung. */
body .b20-newsletter { color: #020325; font-family: "General Sans",Arial,sans-serif; }
body .b20-newsletter__row { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; }
body .b20-newsletter__input {
  font-family: inherit; font-size: var(--atelier-body-size,20px); color: #020325;
  min-width: 0; width: min(100%,360px); max-width: 100%; box-sizing: border-box;
  border: 0; border-bottom: 2px solid #020325; background: transparent; padding: 10px 4px;
}
body .b20-newsletter__input::placeholder { color: #020325; opacity: .7; }
body .b20-newsletter__button {
  font-family: inherit; font-size: var(--atelier-link-size,18px); line-height: 1.4;
  color: #020325; border: 2px solid #020325; border-radius: 50px;
  background: transparent; padding: 7px 20px; cursor: pointer; max-width: 100%;
}
body .b20-newsletter__button:hover { background: #020325; color: #ffffff !important; }
body.atelier-design .block-disruptor-newsletter .b20-newsletter__button:hover { color: #ffffff !important; }
body .b20-newsletter__consent { display: flex; gap: 10px; align-items: flex-start; margin-top: 16px; max-width: 740px; }
body .b20-newsletter__consent input { flex: 0 0 auto; margin-top: 4px; accent-color: #e2009f; }
body .b20-newsletter__consent :is(span,a) { font-size: 14px !important; line-height: 1.45; color: #020325 !important; }
body .b20-newsletter__consent a { text-decoration: underline; text-underline-offset: 3px; }
body .b20-newsletter__honeypot {
  position: absolute; left: -5000px; width: 1px; height: 1px; overflow: hidden;
}
body .b20-newsletter :is(input,button):focus-visible { outline: 2px solid #e2009f; outline-offset: 4px; }
body .b20-newsletter .screen-reader-text {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
@media (max-width: 767px) {
  body.atelier-design :is(.card-service__container,.card-project) h2 { font-size: 24px !important; }
  body.atelier-design .block-card-grid__projects__grid { gap: 24px; }
  body.atelier-design .single-project__metabox { display: block; }
  body.atelier-design .single-project__metabox__logo { margin-bottom: 24px; }
  body.atelier-design .atelier-contact :is(.block-disruptor-contact__person,.block-disruptor-contact__booking) { padding: 20px 16px; }
  body.atelier-design .atelier-contact .block-disruptor-contact__person__flex__facts { gap: 18px; }
  body.atelier-design footer .footer__newsletter h2 { font-size: 24px; }
  body.atelier-utility .page-default:has(.atelier-legal-copy) { padding-bottom: 100px; }
}
@media (max-width: 375px) {
  body.atelier-design main h2:not(.atelier-contact *):not(.block-disruptor-newsletter *) { font-size: 22px; }
  body.atelier-design main h3:not(.front-page__hero *) { font-size: 22px; }
  body.atelier-design :is(.card-service__container,.card-project) h2 { font-size: 22px !important; }
  body.atelier-design .block-team__member__top h3 { font-size: 18px !important; }
  body.atelier-design .block-team__member__top__position { font-size: 16px !important; }
  body.atelier-design .single-service__projects .card-project h2 { font-size: 20px !important; }
  body.atelier-design .card-service__container h2 { font-size: 20px !important; }
}
@media (min-width: 768px) and (max-width: 1023px) {
  body.atelier-design .single-service__projects .card-project h2 {
    font-size: clamp(22px, calc(22px + 4 * ((100vw - 768px) / 255)), 26px) !important;
  }
  body.atelier-design .card-service__container h2 {
    font-size: clamp(22px, calc(22px + 4 * ((100vw - 768px) / 255)), 26px) !important;
  }
}

/* Testseiten-Korrekturen, 16. Oktober 2026. */
/* Keine automatische oder bedingte Silbentrennung. */
body.atelier-design main :is(h1,h2,h3,h4,h5,h6,p,li,dd,figcaption,a,span),
body.atelier-design .atelier-contact :is(h2,p,a),
body.atelier-design footer :is(p,a) {
  -webkit-hyphens: none !important; hyphens: none !important;
  word-break: normal !important; overflow-wrap: normal !important;
}
/* Opt-in-Text und darin enthaltene Links sind typografisch identisch. */
body.atelier-design main .b20-newsletter .b20-newsletter__consent,
body.atelier-design main .b20-newsletter .b20-newsletter__consent :is(span,a),
body.atelier-design .nf-form-cont .checkbox-container :is(label,p,span,a),
body.atelier-design .nf-form-cont .nf-field-description,
body.atelier-design .nf-form-cont .nf-field-description :is(p,span,a) {
  font-family: "General Sans", Arial, sans-serif !important;
  font-size: 14px !important; font-weight: 400 !important; line-height: 1.5 !important;
}
body.atelier-design .nf-form-cont .nf-field-description a { text-decoration: underline; }
/* Neue Gutenberg-Textblöcke folgen derselben Spalte wie Research. */
body.atelier-design .single-service__content > :is(h2,h3,h4,h5,h6,p,ul,ol,blockquote,.wp-block-group) {
  grid-column: 1 / -1; min-width: 0;
}
@media (min-width: 768px) and (max-width: 1199px) {
  body.atelier-design .single-service__content > :is(h2,h3,h4,h5,h6,p,ul,ol,blockquote,.wp-block-group) { grid-column: 1 / -1; }
}
@media (min-width: 1200px) {
  body.atelier-design .single-service__content > :is(h2,h3,h4,h5,h6,p,ul,ol,blockquote,.wp-block-group) { grid-column: 5 / span 8; }
}
/* Ursprünglicher Farbwechsel; eigener Render-Layer für Safari. */
body.atelier-design .page-distribution__background,
body.atelier-design .block-dark-background::after,
body.atelier-level-three :is(.single-service__dark-background,.single-project__dark-background)::after {
  background-color: #020325;
  background-image: var(--atelier-gradient);
  background-size: 4000% 1000%;
  background-position: 100% 100%;
  -webkit-animation: atelier-gradient 20s ease infinite;
  animation: atelier-gradient 20s ease infinite;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
body.atelier-design .block-dark-background,
body.atelier-level-three :is(.single-service__dark-background,.single-project__dark-background) { isolation: isolate; }
@media (prefers-reduced-motion: reduce) {
  body.atelier-design .page-distribution__background,
  body.atelier-design .block-dark-background::after,
  body.atelier-level-three :is(.single-service__dark-background,.single-project__dark-background)::after {
    -webkit-animation: none;
    animation: none;
  }
}
/* Borlabs: Fraunces, General Sans, Midnightblue, Magenta und Chamois. */
body div.brlbs-cmpnt-container,
body div.brlbs-cmpnt-container :is(p,span,a,label,button,input,select,legend,td,th) {
  font-family: "General Sans", Arial, sans-serif !important;
  -webkit-hyphens: none !important; hyphens: none !important;
}
body div.brlbs-cmpnt-container .brlbs-cmpnt-dialog {
  background: #ffffff !important; color: #020325 !important;
  border: 1px solid #020325 !important; border-radius: 0 !important;
  max-height: calc(100dvh - 32px); overflow-y: auto !important;
}
body div.brlbs-cmpnt-container :is(h1,h2,h3) {
  font-family: "Fraunces", Georgia, serif !important; color: #020325 !important;
  font-weight: 700 !important; line-height: 1.2 !important;
}
body div.brlbs-cmpnt-container h2 { font-size: clamp(20px,6vw,32px) !important; }
body div.brlbs-cmpnt-container :is(p,label,legend) { color: #020325 !important; }
body div.brlbs-cmpnt-container p { font-size: 14px !important; line-height: 1.5 !important; }
body div.brlbs-cmpnt-container .brlbs-cmpnt-card { background: #f7f2ee !important; color: #020325 !important; }
body div.brlbs-cmpnt-container a { color: #020325 !important; text-underline-offset: 3px; }
body div.brlbs-cmpnt-container .brlbs-cmpnt-btn {
  font-size: 14px !important; line-height: 1.45 !important; font-weight: 700 !important;
  background: #020325 !important; color: #ffffff !important;
  border: 2px solid #020325 !important; border-radius: 28px !important;
  white-space: normal !important;
}
body div.brlbs-cmpnt-container .brlbs-cmpnt-btn:hover { border-color: #e2009f !important; }
body div.brlbs-cmpnt-container .brlbs-cmpnt-btn-selection { border-radius: 20px !important; }
body div.brlbs-cmpnt-container .brlbs-cmpnt-tab-bar { flex-wrap: wrap; }
body div.brlbs-cmpnt-container .brlbs-cmpnt-tab { flex: 1 1 130px; font-size: 14px !important; }
body div.brlbs-cmpnt-container .brlbs-cmpnt-tab-active { background: #020325 !important; color: #ffffff !important; border-color: #e2009f !important; }
body div.brlbs-cmpnt-container .brlbs-cmpnt-tab-inactive { background: #f7f2ee !important; color: #020325 !important; }
body div.brlbs-cmpnt-container :is(button,a,input):focus-visible { outline: 2px solid #e2009f !important; outline-offset: 3px !important; }
body div.brlbs-cmpnt-container .brlbs-cmpnt-dialog-backdrop { background: rgba(2,3,37,.58) !important; }
body .brlbs-cmpnt-widget { background: transparent !important; }

/* Links in den Einwilligungstexten übersteuern die allgemeinen Linkgrößen. */
body.atelier-design #main-content .b20-newsletter__consent,
body.atelier-design #main-content .b20-newsletter__consent :is(span,a),
body.atelier-design #main-content .nf-form-cont .checkbox-container :is(label,p,span,a),
body.atelier-design #main-content .nf-form-cont .nf-field-description,
body.atelier-design #main-content .nf-form-cont .nf-field-description :is(p,span,a) {
  font-family: "General Sans", Arial, sans-serif !important;
  font-size: 14px !important; font-weight: 400 !important; line-height: 1.5 !important;
}

body div.brlbs-cmpnt-container .brlbs-cmpnt-dialog a :is(span,div,svg) { color: inherit !important; }

/* Datenschutzdialog bleibt vor der festen Kopfzeile und der Adminleiste. */
body #BorlabsCookieBox { position: relative; z-index: 2147483647 !important; }

/* Nachprüfung: auch verschachtelte Borlabs-Flächen und Pfeile im Styleguide. */
body div.brlbs-cmpnt-container .brlbs-cmpnt-card fieldset { background: transparent !important; color: #020325 !important; }
body div.brlbs-cmpnt-container .brlbs-cmpnt-accordion-toggle svg path { color: #020325 !important; stroke: currentColor !important; }
